Heartbeat Control - Version 2.0

Version Description

  • 2019/11/04 =
  • Revamp the settings page.
Download this release

Release Info

Developer wp_rocket
Plugin Icon 128x128 Heartbeat Control
Version 2.0
Comparing to
See all releases

Code changes from version 1.2.5 to 2.0

Files changed (144) hide show
  1. .gitignore +2 -0
  2. heartbeat.php → Heartbeat.php +38 -45
  3. Imagify_Partner.php +875 -0
  4. LICENSE +340 -340
  5. Notices.php +155 -0
  6. Plugin_Card_Helper.php +662 -0
  7. Settings.php +251 -0
  8. assets/css/style.css +573 -0
  9. assets/css/style.min.css +1 -0
  10. assets/css/style.scss +3 -0
  11. assets/img/80.svg +11 -0
  12. assets/img/equipe.jpg +0 -0
  13. assets/img/fusee.png +0 -0
  14. assets/img/heartbeat-icon.png +0 -0
  15. assets/img/laptop.png +0 -0
  16. assets/img/logo-heartbeat.svg +21 -0
  17. assets/img/logo-imagify.jpg +0 -0
  18. assets/img/logo-lazyload.jpg +0 -0
  19. assets/img/logo-rocket.jpg +0 -0
  20. assets/img/logo-wprocket.svg +47 -0
  21. assets/img/mini imagify.svg +22 -0
  22. assets/img/mini-imagify.svg +22 -0
  23. assets/img/mini-lazy.svg +22 -0
  24. assets/img/mini-rocket.svg +14 -0
  25. assets/img/noun_SEO_737036.png +0 -0
  26. assets/img/noun_SEO_737036.svg +14 -0
  27. assets/img/noun_performance_1221123.png +0 -0
  28. assets/img/noun_performance_1221123.svg +18 -0
  29. assets/img/noun_revenue_949180.png +0 -0
  30. assets/img/noun_revenue_949180.svg +15 -0
  31. assets/img/team-2.jpg +0 -0
  32. assets/img/team.jpg +0 -0
  33. assets/js/bundle.js +0 -111
  34. assets/js/bundle.min.js +0 -1
  35. assets/js/notices.js +0 -7
  36. assets/js/script.js +121 -0
  37. assets/js/src/settings.js +0 -84
  38. autoloader.php +0 -28
  39. composer.json +23 -8
  40. composer.lock +11 -15
  41. heartbeat-control.php +89 -64
  42. js/donate-notice.js +0 -10
  43. languages/heartbeat-control.pot +0 -82
  44. phpcs.xml +28 -0
  45. readme.txt +25 -7
  46. settings.php +0 -128
  47. style.css +0 -5
  48. style.css.map +0 -1
  49. style.min.css +0 -1
  50. vendor/cmb2/cmb2/.github/ISSUE_TEMPLATE.md +55 -0
  51. vendor/cmb2/cmb2/.github/PULL_REQUEST_TEMPLATE.md +34 -0
  52. vendor/{webdevstudios → cmb2}/cmb2/CHANGELOG.md +49 -3
  53. vendor/{webdevstudios → cmb2}/cmb2/CONTRIBUTING.md +11 -3
  54. vendor/cmb2/cmb2/apigen/apigen.neon +75 -0
  55. vendor/cmb2/cmb2/apigen/hook-docs.php +279 -0
  56. vendor/cmb2/cmb2/apigen/theme-bootstrap/LICENSE +26 -0
  57. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/404.latte +13 -0
  58. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/@elementlist.latte +60 -0
  59. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/@layout.latte +193 -0
  60. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/annotation-group.latte +149 -0
  61. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/class.latte +462 -0
  62. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/combined.js.latte +10 -0
  63. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/config.neon +1 -0
  64. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/constant.latte +60 -0
  65. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/elementlist.js.latte +4 -0
  66. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/function.latte +94 -0
  67. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/js/jquery.autocomplete.js +841 -0
  68. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/js/jquery.cookie.js +114 -0
  69. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/js/jquery.min.js +5 -0
  70. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/js/jquery.sortElements.js +69 -0
  71. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/js/jquery.sprintf.js +8 -0
  72. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/js/main.js +308 -0
  73. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/namespace.latte +23 -0
  74. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/opensearch.xml.latte +11 -0
  75. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/overview.latte +48 -0
  76. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/package.latte +23 -0
  77. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/bootstrap.min.css +5 -0
  78. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/collapsed.png +0 -0
  79. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/inherit.png +0 -0
  80. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/resize.png +0 -0
  81. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/sort.png +0 -0
  82. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/style.css +568 -0
  83. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/tree-cleaner.png +0 -0
  84. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/tree-hasnext.png +0 -0
  85. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/tree-last.png +0 -0
  86. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/tree-vertical.png +0 -0
  87. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/robots.txt.latte +4 -0
  88. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/sitemap.xml.latte +26 -0
  89. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/source.latte +12 -0
  90. vendor/cmb2/cmb2/apigen/theme-bootstrap/src/tree.latte +67 -0
  91. vendor/{webdevstudios → cmb2}/cmb2/bootstrap.php +0 -0
  92. vendor/cmb2/cmb2/composer.lock +3627 -0
  93. vendor/{webdevstudios → cmb2}/cmb2/css/cmb2-display-rtl.css +2 -2
  94. vendor/{webdevstudios → cmb2}/cmb2/css/cmb2-display-rtl.min.css +1 -1
  95. vendor/{webdevstudios → cmb2}/cmb2/css/cmb2-display.css +2 -2
  96. vendor/{webdevstudios → cmb2}/cmb2/css/cmb2-display.css.map +0 -0
  97. vendor/{webdevstudios → cmb2}/cmb2/css/cmb2-display.min.css +1 -1
  98. vendor/{webdevstudios → cmb2}/cmb2/css/cmb2-front-rtl.css +58 -52
  99. vendor/cmb2/cmb2/css/cmb2-front-rtl.min.css +2 -0
  100. vendor/{webdevstudios → cmb2}/cmb2/css/cmb2-front.css +58 -52
  101. vendor/cmb2/cmb2/css/cmb2-front.css.map +7 -0
  102. vendor/cmb2/cmb2/css/cmb2-front.min.css +2 -0
  103. vendor/{webdevstudios → cmb2}/cmb2/css/cmb2-rtl.css +60 -52
  104. vendor/cmb2/cmb2/css/cmb2-rtl.min.css +2 -0
  105. vendor/{webdevstudios → cmb2}/cmb2/css/cmb2.css +60 -52
  106. vendor/cmb2/cmb2/css/cmb2.css.map +7 -0
  107. vendor/cmb2/cmb2/css/cmb2.min.css +2 -0
  108. vendor/{webdevstudios → cmb2}/cmb2/css/index.php +0 -0
  109. vendor/{webdevstudios → cmb2}/cmb2/css/sass/cmb2-display.scss +0 -0
  110. vendor/{webdevstudios → cmb2}/cmb2/css/sass/cmb2-front.scss +0 -0
  111. vendor/{webdevstudios → cmb2}/cmb2/css/sass/cmb2.scss +0 -0
  112. vendor/{webdevstudios → cmb2}/cmb2/css/sass/index.php +0 -0
  113. vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_collapsible_ui.scss +0 -0
  114. vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_context_metaboxes.scss +0 -0
  115. vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_display.scss +0 -0
  116. vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_front.scss +0 -0
  117. vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_jquery_ui.scss +0 -0
  118. vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_main_wrap.scss +5 -1
  119. vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_misc.scss +0 -0
  120. vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_mixins.scss +0 -0
  121. vendor/cmb2/cmb2/css/sass/partials/_new_term.scss +31 -0
  122. vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_options-page.scss +0 -0
  123. vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_post_metaboxes.scss +1 -0
  124. vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_sidebar_placements.scss +0 -0
  125. vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_variables.scss +1 -1
  126. vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/index.php +0 -0
  127. vendor/{webdevstudios → cmb2}/cmb2/example-functions.php +26 -5
  128. vendor/{webdevstudios → cmb2}/cmb2/images/ico-delete.png +0 -0
  129. vendor/{webdevstudios → cmb2}/cmb2/images/index.php +0 -0
  130. vendor/{webdevstudios → cmb2}/cmb2/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  131. vendor/{webdevstudios → cmb2}/cmb2/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  132. vendor/{webdevstudios → cmb2}/cmb2/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  133. vendor/{webdevstudios → cmb2}/cmb2/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  134. vendor/{webdevstudios → cmb2}/cmb2/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  135. vendor/{webdevstudios → cmb2}/cmb2/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  136. vendor/{webdevstudios → cmb2}/cmb2/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  137. vendor/{webdevstudios → cmb2}/cmb2/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  138. vendor/{webdevstudios → cmb2}/cmb2/images/ui-icons_222222_256x240.png +0 -0
  139. vendor/{webdevstudios → cmb2}/cmb2/images/ui-icons_2e83ff_256x240.png +0 -0
  140. vendor/{webdevstudios → cmb2}/cmb2/images/ui-icons_454545_256x240.png +0 -0
  141. vendor/{webdevstudios → cmb2}/cmb2/images/ui-icons_888888_256x240.png +0 -0
  142. vendor/{webdevstudios → cmb2}/cmb2/images/ui-icons_cd0a0a_256x240.png +0 -0
  143. vendor/{webdevstudios → cmb2}/cmb2/includes/CMB2.php +100 -73
  144. vendor/{webdevstudios → cmb2}/cmb2/includes/CMB2_Ajax.php +42 -40
.gitignore ADDED
@@ -0,0 +1,2 @@
 
 
1
+
2
+ \.idea/
heartbeat.php → Heartbeat.php RENAMED
@@ -11,7 +11,6 @@ namespace Heartbeat_Control;
11
  * Primary Hearbeat class.
12
  */
13
  class Heartbeat {
14
-
15
  /**
16
  * The current screen being accessed.
17
  *
@@ -34,30 +33,31 @@ class Heartbeat {
34
  public $settings = array();
35
 
36
  /**
37
- * Just a regular ole constructor.
38
  */
39
  public function __construct() {
 
 
40
 
41
- if ( ! empty( $_SERVER['QUERY_STRING'] ) ) {
42
- $current_url = $_SERVER['REQUEST_URI'] . '?' . $_SERVER['QUERY_STRING'];
 
 
43
  } else {
44
- $current_url = $_SERVER['REQUEST_URI'];
45
  }
46
 
47
  $this->current_screen = wp_parse_url( $current_url );
48
-
49
- if ( $this->current_screen === '/wp-admin/admin-ajax.php' ) {
50
  return;
51
  }
52
 
53
  $settings = get_option( 'heartbeat_control_settings' );
54
-
55
- if ( ( ! is_array( $settings['rules'] ) ) || ( empty( $settings['rules'] ) ) ) {
56
  return;
57
  }
58
 
59
- array_reverse( $settings['rules'] );
60
- $this->settings = $settings['rules'];
61
 
62
  add_action( 'admin_enqueue_scripts', array( $this, 'maybe_disable' ), 99 );
63
  add_action( 'wp_enqueue_scripts', array( $this, 'maybe_disable' ), 99 );
@@ -67,21 +67,24 @@ class Heartbeat {
67
  /**
68
  * Checks if the current location has a rule.
69
  *
70
- * @param array $locations Locations that have rules.
71
- *
72
  * @return bool
73
  */
74
- public function check_location( $locations ) {
75
- if ( ! isset( $locations ) || ! is_array( $locations ) ) {
76
- return false;
77
- }
78
-
79
- if ( in_array( $this->current_screen['path'], $locations ) ) {
80
- return true;
81
- } elseif ( ( ! is_admin() ) && ( in_array( 'frontend', $locations ) ) ) {
82
- return true;
83
- } elseif ( ( is_admin() ) && ( in_array( 'admin', $locations ) ) ) {
84
- return true;
 
 
 
 
85
  }
86
 
87
  return false;
@@ -93,40 +96,31 @@ class Heartbeat {
93
  * @return void
94
  */
95
  public function maybe_disable() {
96
- foreach ( $this->settings as $rule ) {
97
- if ( array_key_exists( 'heartbeat_control_behavior', $rule ) && $rule['heartbeat_control_behavior'] === 'disable' ) {
98
-
99
- if ( ! array_key_exists( 'heartbeat_control_location', $rule ) ) {
100
- return;
101
- }
102
-
103
- if ( $this->check_location( $rule['heartbeat_control_location'] ) ) {
104
  wp_deregister_script( 'heartbeat' );
105
  return;
106
  }
107
  }
108
  }
109
-
110
  }
111
 
112
  /**
113
  * Modify the heartbeat, if needed.
114
  *
115
- * @param array $settings The settings.
116
- *
117
- * @return array
118
  */
119
  public function maybe_modify( $settings ) {
 
 
120
 
121
- foreach ( $this->settings as $rule ) {
122
- if ( array_key_exists( 'heartbeat_control_behavior', $rule ) && $rule['heartbeat_control_behavior'] === 'modify' ) {
123
-
124
- if ( ! array_key_exists( 'heartbeat_control_location', $rule ) ) {
125
- return;
126
- }
127
-
128
- if ( $this->check_location( $rule['heartbeat_control_location'] ) ) {
129
  $settings['interval'] = intval( $rule['heartbeat_control_frequency'] );
 
130
  return $settings;
131
  }
132
  }
@@ -134,5 +128,4 @@ class Heartbeat {
134
 
135
  return $settings;
136
  }
137
-
138
  }
11
  * Primary Hearbeat class.
12
  */
13
  class Heartbeat {
 
14
  /**
15
  * The current screen being accessed.
16
  *
33
  public $settings = array();
34
 
35
  /**
36
+ * Constructor.
37
  */
38
  public function __construct() {
39
+ $_query_string = filter_input( INPUT_SERVER, 'QUERY_STRING', FILTER_SANITIZE_URL );
40
+ $_request_uri = filter_input( INPUT_SERVER, 'REQUEST_URI', FILTER_SANITIZE_URL );
41
 
42
+ if ( $_query_string && $_request_uri ) {
43
+ $current_url = wp_unslash( $_query_string . '?' . $_request_uri );
44
+ } elseif ( $_query_string ) {
45
+ $current_url = wp_unslash( $_request_uri );
46
  } else {
47
+ $current_url = admin_url();
48
  }
49
 
50
  $this->current_screen = wp_parse_url( $current_url );
51
+ if ( '/wp-admin/admin-ajax.php' === $this->current_screen ) {
 
52
  return;
53
  }
54
 
55
  $settings = get_option( 'heartbeat_control_settings' );
56
+ if ( false === $settings ) {
 
57
  return;
58
  }
59
 
60
+ $this->settings = $settings;
 
61
 
62
  add_action( 'admin_enqueue_scripts', array( $this, 'maybe_disable' ), 99 );
63
  add_action( 'wp_enqueue_scripts', array( $this, 'maybe_disable' ), 99 );
67
  /**
68
  * Checks if the current location has a rule.
69
  *
70
+ * @param array $location Locations that have rules.
 
71
  * @return bool
72
  */
73
+ public function check_location( $location ) {
74
+ $location_test = array(
75
+ 'rules_dash' => function() {
76
+ return is_admin();
77
+ },
78
+ 'rules_front' => function() {
79
+ return ! is_admin();
80
+ },
81
+ 'rules_editor' => function() {
82
+ return ( '/wp-admin/post.php' === $this->current_screen['path'] );
83
+ },
84
+ );
85
+
86
+ if ( isset( $location_test[ $location ] ) ) {
87
+ return $location_test[ $location ]();
88
  }
89
 
90
  return false;
96
  * @return void
97
  */
98
  public function maybe_disable() {
99
+ foreach ( $this->settings as $location => $r ) {
100
+ $rule = reset( $r );
101
+ if ( array_key_exists( 'heartbeat_control_behavior', $rule ) && 'disable' === $rule['heartbeat_control_behavior'] ) {
102
+ if ( $this->check_location( $location ) ) {
 
 
 
 
103
  wp_deregister_script( 'heartbeat' );
104
  return;
105
  }
106
  }
107
  }
 
108
  }
109
 
110
  /**
111
  * Modify the heartbeat, if needed.
112
  *
113
+ * @param array $settings The settings.
114
+ * @return array $settings Maybe an updated settings.
 
115
  */
116
  public function maybe_modify( $settings ) {
117
+ foreach ( $this->settings as $location => $r ) {
118
+ $rule = reset( $r );
119
 
120
+ if ( array_key_exists( 'heartbeat_control_behavior', $rule ) && 'modify' === $rule['heartbeat_control_behavior'] ) {
121
+ if ( $this->check_location( $location ) ) {
 
 
 
 
 
 
122
  $settings['interval'] = intval( $rule['heartbeat_control_frequency'] );
123
+
124
  return $settings;
125
  }
126
  }
128
 
129
  return $settings;
130
  }
 
131
  }
Imagify_Partner.php ADDED
@@ -0,0 +1,875 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Tool allowing 3rd party WordPress plugins to handle partnership with Imagify.
4
+ *
5
+ * @package wp-media/wp-imagify-partner
6
+ */
7
+
8
+ namespace Heartbeat_Control;
9
+
10
+ defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
11
+
12
+ /**
13
+ * Class allowing to download, install, and activate Imagify plugin.
14
+ *
15
+ * @author Grégory Viguier
16
+ */
17
+ class Imagify_Partner {
18
+
19
+ /**
20
+ * Class version.
21
+ *
22
+ * @var string
23
+ */
24
+ const VERSION = '1.0';
25
+
26
+ /**
27
+ * Name of the option that stores the partner identifier.
28
+ *
29
+ * @var string
30
+ */
31
+ const OPTION_NAME = 'imagifyp_id';
32
+
33
+ /**
34
+ * Name of the transient that stores the error messages.
35
+ *
36
+ * @var string
37
+ */
38
+ const ERROR_TRANSIENT_NAME = 'imagifyp_error';
39
+
40
+ /**
41
+ * Name of the URL argument used on success.
42
+ *
43
+ * @var string
44
+ */
45
+ const SUCCESS_ARG = 'imp-success';
46
+
47
+ /**
48
+ * Name of the URL argument used to display an error notice.
49
+ *
50
+ * @var string
51
+ */
52
+ const ERROR_ARG = 'imp-error';
53
+
54
+ /**
55
+ * ID of the nonce used to install Imagify.
56
+ *
57
+ * @var string
58
+ */
59
+ const NONCE_NAME = 'install_imagify_from_partner';
60
+
61
+ /**
62
+ * Message used as fallback in get_message().
63
+ *
64
+ * @var string
65
+ */
66
+ const FALLBACK_MESSAGE = 'Unknown message';
67
+
68
+ /**
69
+ * Partner identifier.
70
+ *
71
+ * @var string
72
+ * @access protected
73
+ */
74
+ protected $partner;
75
+
76
+
77
+ /** ----------------------------------------------------------------------------------------- */
78
+ /** INSTANCE, INIT ========================================================================== */
79
+ /** ----------------------------------------------------------------------------------------- */
80
+
81
+ /**
82
+ * Class constructor: sanitize and set the partner identifier.
83
+ *
84
+ * @since 1.0
85
+ * @access public
86
+ * @author Grégory Viguier
87
+ *
88
+ * @param string $partner Partner identifier.
89
+ */
90
+ public function __construct( $partner ) {
91
+ $this->partner = self::sanitize_partner( $partner );
92
+ }
93
+
94
+ /**
95
+ * Class init.
96
+ *
97
+ * @since 1.0
98
+ * @access public
99
+ * @author Grégory Viguier
100
+ */
101
+ public function init() {
102
+ if ( ! $this->get_partner() ) {
103
+ return;
104
+ }
105
+
106
+ if ( ! is_admin() ) {
107
+ return;
108
+ }
109
+
110
+ if ( ! self::has_imagify_api_key() ) {
111
+ add_action( 'wp_ajax_' . $this->get_post_action(), array( $this, 'post_callback' ) );
112
+ add_action( 'admin_post_' . $this->get_post_action(), array( $this, 'post_callback' ) );
113
+ }
114
+
115
+ if ( self::is_success() || self::is_error() ) {
116
+ add_action( 'all_admin_notices', array( __CLASS__, 'error_notice' ) );
117
+ add_filter( 'removable_query_args', array( __CLASS__, 'add_query_args' ) );
118
+ }
119
+ }
120
+
121
+
122
+ /** ----------------------------------------------------------------------------------------- */
123
+ /** MAIN PUBLIC TOOLS ======================================================================= */
124
+ /** ----------------------------------------------------------------------------------------- */
125
+
126
+ /**
127
+ * Tell if Imagify's API key is set.
128
+ *
129
+ * @since 1.0
130
+ * @access public
131
+ * @author Grégory Viguier
132
+ *
133
+ * @return bool
134
+ */
135
+ public static function has_imagify_api_key() {
136
+ static $has;
137
+
138
+ if ( isset( $has ) ) {
139
+ return $has;
140
+ }
141
+
142
+ if ( function_exists( 'get_imagify_option' ) ) {
143
+ // Imagify is already installed and activated.
144
+ $has = (bool) get_imagify_option( 'api_key' );
145
+ return $has;
146
+ }
147
+
148
+ if ( defined( 'IMAGIFY_API_KEY' ) && IMAGIFY_API_KEY ) {
149
+ // It's defined in wp-config.php.
150
+ $has = true;
151
+ return $has;
152
+ }
153
+
154
+ if ( ! is_multisite() ) {
155
+ // Monosite: grab the value from the options table.
156
+ $options = get_option( 'imagify_settings' );
157
+ $has = ! empty( $options['api_key'] );
158
+ return $has;
159
+ }
160
+
161
+ $options = get_site_option( 'imagify_settings' );
162
+
163
+ if ( ! empty( $options['api_key'] ) ) {
164
+ // Multisite: Imagify was activated in the network.
165
+ $has = true;
166
+ return $has;
167
+ }
168
+
169
+ // Multisite: Imagify was activated for this site.
170
+ $options = get_option( 'imagify_settings' );
171
+ $has = ! empty( $options['api_key'] );
172
+ return $has;
173
+ }
174
+
175
+ /**
176
+ * Tell if Imagify is activated.
177
+ *
178
+ * @since 1.0
179
+ * @access public
180
+ * @author Grégory Viguier
181
+ *
182
+ * @return bool
183
+ */
184
+ public static function is_imagify_activated() {
185
+ return defined( 'IMAGIFY_VERSION' );
186
+ }
187
+
188
+ /**
189
+ * Tell if Imagify is installed.
190
+ *
191
+ * @since 1.0
192
+ * @access public
193
+ * @author Grégory Viguier
194
+ *
195
+ * @return bool
196
+ */
197
+ public static function is_imagify_installed() {
198
+ if ( self::is_imagify_activated() ) {
199
+ return true;
200
+ }
201
+
202
+ return file_exists( self::get_imagify_path() );
203
+ }
204
+
205
+ /**
206
+ * Tell if Imagify has been successfully installed.
207
+ *
208
+ * @since 1.0
209
+ * @access public
210
+ * @author Grégory Viguier
211
+ *
212
+ * @return bool
213
+ */
214
+ public static function is_success() {
215
+ return ! empty( $_GET[ self::SUCCESS_ARG ] ); // WPCS: CSRF ok.
216
+ }
217
+
218
+ /**
219
+ * Tell if Imagify install failed.
220
+ *
221
+ * @since 1.0
222
+ * @access public
223
+ * @author Grégory Viguier
224
+ *
225
+ * @return bool
226
+ */
227
+ public static function is_error() {
228
+ return ! empty( $_GET[ self::ERROR_ARG ] ); // WPCS: CSRF ok.
229
+ }
230
+
231
+ /**
232
+ * Get the URL to install and activate Imagify.
233
+ *
234
+ * @since 1.0
235
+ * @access public
236
+ * @author Grégory Viguier
237
+ *
238
+ * @return string The URL.
239
+ */
240
+ public function get_post_install_url() {
241
+ if ( ! $this->get_partner() || ! self::current_user_can() ) {
242
+ return '';
243
+ }
244
+
245
+ $install_url = admin_url( 'admin-post.php' );
246
+ $args = array(
247
+ 'action' => $this->get_post_action(),
248
+ '_wpnonce' => wp_create_nonce( self::NONCE_NAME ),
249
+ // To make sure we have a referrer.
250
+ '_wp_http_referer' => rawurlencode( self::get_current_url() ),
251
+ );
252
+
253
+ return add_query_arg( $args, $install_url );
254
+ }
255
+
256
+ /**
257
+ * Get the partner identifier.
258
+ *
259
+ * @since 1.0
260
+ * @access public
261
+ * @author Grégory Viguier
262
+ *
263
+ * @return string Partner identifier.
264
+ */
265
+ public function get_partner() {
266
+ return $this->partner;
267
+ }
268
+
269
+
270
+ /** ----------------------------------------------------------------------------------------- */
271
+ /** HOOKS =================================================================================== */
272
+ /** ----------------------------------------------------------------------------------------- */
273
+
274
+ /**
275
+ * Post callback to install and activate Imagify.
276
+ *
277
+ * @since 1.0
278
+ * @access public
279
+ * @author Grégory Viguier
280
+ */
281
+ public function post_callback() {
282
+ if ( ! check_ajax_referer( self::NONCE_NAME, '_wpnonce', false ) ) {
283
+ $this->error_die();
284
+ }
285
+
286
+ if ( ! self::current_user_can() ) {
287
+ $this->error_die( 'cant_install' );
288
+ }
289
+
290
+ /**
291
+ * Store the partner ID before doing anything.
292
+ * If something goes wrong during the plugin installation, the partner ID will still be saved.
293
+ */
294
+ self::store_partner( $this->get_partner() );
295
+
296
+ // Install Imagify.
297
+ $result = $this->install_imagify();
298
+
299
+ if ( is_wp_error( $result ) ) {
300
+ // Install failed.
301
+ if ( self::doing_ajax() ) {
302
+ $this->send_json_error( $result );
303
+ }
304
+ // Redirect to the plugins search page.
305
+ $this->error_redirect( $result );
306
+ }
307
+
308
+ // Activate Imagify.
309
+ $result = $this->activate_imagify();
310
+
311
+ if ( is_wp_error( $result ) ) {
312
+ // Activation failed.
313
+ if ( self::doing_ajax() ) {
314
+ $this->send_json_error( $result );
315
+ }
316
+ // Redirect to the plugins search page.
317
+ $this->error_redirect( $result );
318
+ }
319
+
320
+ if ( self::doing_ajax() ) {
321
+ $this->send_json_success();
322
+ }
323
+ // Redirect to the partner's page.
324
+ $this->success_redirect();
325
+ }
326
+
327
+ /**
328
+ * Maybe print an error notice on the plugins install page.
329
+ * We add the query argument we use to display an error message.
330
+ *
331
+ * @since 1.0
332
+ * @access public
333
+ * @author Grégory Viguier
334
+ */
335
+ public static function error_notice() {
336
+ if ( ! self::is_error() ) {
337
+ // No URL argument.
338
+ return;
339
+ }
340
+
341
+ $screen = get_current_screen();
342
+
343
+ if ( ! $screen || 'plugin-install' !== $screen->id ) {
344
+ // Not the good page.
345
+ return;
346
+ }
347
+
348
+ $partner = self::get_stored_partner();
349
+
350
+ if ( ! $partner ) {
351
+ // No partner stored in the database.
352
+ return;
353
+ }
354
+
355
+ $errors = get_transient( self::ERROR_TRANSIENT_NAME );
356
+
357
+ if ( ! $errors ) {
358
+ // No error messages.
359
+ return;
360
+ }
361
+
362
+ if ( ! is_wp_error( $errors ) ) {
363
+ // Invalid value.
364
+ delete_transient( self::ERROR_TRANSIENT_NAME );
365
+ return;
366
+ }
367
+
368
+ $errors = $errors->get_error_messages();
369
+
370
+ if ( $errors ) {
371
+ foreach ( $errors as $i => $error ) {
372
+ if ( self::FALLBACK_MESSAGE === $error ) {
373
+ unset( $errors[ $i ] );
374
+ }
375
+ }
376
+ }
377
+
378
+ if ( ! $errors ) {
379
+ // Add a generic message.
380
+ $instance = new self( $partner );
381
+ $errors[] = $instance->get_message( 'process_failed' );
382
+ }
383
+
384
+ echo '<div class="error notice is-dismissible"><p>' . implode( '<br/>', $errors ) . '</p></div>';
385
+ }
386
+
387
+ /**
388
+ * Filter the list of query variables to remove from admin area URLs.
389
+ * We add the query arguments we use on success or error.
390
+ *
391
+ * @since 1.0
392
+ * @access public
393
+ * @see wp_removable_query_args()
394
+ * @author Grégory Viguier
395
+ *
396
+ * @param array $removable_query_args An array of query variables to remove from a URL.
397
+ * @return array
398
+ */
399
+ public static function add_query_args( $removable_query_args ) {
400
+ $removable_query_args[] = self::SUCCESS_ARG;
401
+ $removable_query_args[] = self::ERROR_ARG;
402
+ return $removable_query_args;
403
+ }
404
+
405
+
406
+ /** ----------------------------------------------------------------------------------------- */
407
+ /** INFOS, INSTALL, ACTIVATE ================================================================ */
408
+ /** ----------------------------------------------------------------------------------------- */
409
+
410
+ /**
411
+ * Get Imagify infos from the repository.
412
+ *
413
+ * @since 1.0
414
+ * @access protected
415
+ * @author Grégory Viguier
416
+ *
417
+ * @return object The plugin infos on success. A WP_Error object on failure.
418
+ */
419
+ protected function get_imagify_infos() {
420
+ static $infos;
421
+
422
+ if ( isset( $infos ) ) {
423
+ return $infos;
424
+ }
425
+
426
+ require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
427
+
428
+ // Get Plugin Infos.
429
+ $infos = plugins_api( 'plugin_information', array(
430
+ 'slug' => 'imagify',
431
+ 'fields' => array(
432
+ 'short_description' => false,
433
+ 'sections' => false,
434
+ 'rating' => false,
435
+ 'ratings' => false,
436
+ 'downloaded' => false,
437
+ 'last_updated' => false,
438
+ 'added' => false,
439
+ 'tags' => false,
440
+ 'homepage' => false,
441
+ 'donate_link' => false,
442
+ ),
443
+ ) );
444
+
445
+ return $infos;
446
+ }
447
+
448
+ /**
449
+ * Get the URL to download Imagify.
450
+ *
451
+ * @since 1.0
452
+ * @access protected
453
+ * @author Grégory Viguier
454
+ *
455
+ * @return string The URL. An empty string on error.
456
+ */
457
+ protected function get_download_url() {
458
+ $infos = $this->get_imagify_infos();
459
+ return ! empty( $infos->download_link ) ? $infos->download_link : '';
460
+ }
461
+
462
+ /**
463
+ * Install Imagify.
464
+ *
465
+ * @since 1.0
466
+ * @access protected
467
+ * @author Grégory Viguier
468
+ *
469
+ * @return object|null A WP_Object on failure, null on success.
470
+ */
471
+ protected function install_imagify() {
472
+ if ( self::is_imagify_installed() ) {
473
+ // Imagify is already installed.
474
+ return null;
475
+ }
476
+
477
+ $infos = $this->get_imagify_infos();
478
+
479
+ if ( is_wp_error( $infos ) ) {
480
+ return $infos;
481
+ }
482
+
483
+ ob_start();
484
+ @set_time_limit( 0 );
485
+
486
+ require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
487
+
488
+ $upgrader = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
489
+ $result = $upgrader->install( $this->get_download_url() );
490
+
491
+ ob_end_clean();
492
+
493
+ if ( is_wp_error( $result ) ) {
494
+ return $result;
495
+ }
496
+
497
+ clearstatcache();
498
+
499
+ if ( ! self::is_imagify_installed() ) {
500
+ return new WP_Error( 'process_failed', $this->get_message( 'process_failed' ) );
501
+ }
502
+
503
+ return null;
504
+ }
505
+
506
+ /**
507
+ * Activate Imagify.
508
+ *
509
+ * @since 1.0
510
+ * @access protected
511
+ * @author Grégory Viguier
512
+ *
513
+ * @return object|null A WP_Object on failure, null on success.
514
+ */
515
+ protected function activate_imagify() {
516
+ return activate_plugin( self::get_imagify_path(), false, is_multisite() );
517
+ }
518
+
519
+ /**
520
+ * Get a message used by the class.
521
+ *
522
+ * @since 1.0
523
+ * @access protected
524
+ * @author Grégory Viguier
525
+ *
526
+ * @param string $message_id A message ID.
527
+ * @return string A message.
528
+ */
529
+ protected function get_message( $message_id ) {
530
+ $messages = array(
531
+ 'success' => __( 'Plugin installed successfully.' ),
532
+ 'cant_install' => __( 'Sorry, you are not allowed to install plugins on this site.' ),
533
+ 'not_allowed' => __( 'Sorry, you are not allowed to do that.' ),
534
+ 'process_failed' => __( 'Plugin install failed.' ),
535
+ 'go_back' => __( 'Go back' ),
536
+ );
537
+
538
+ /**
539
+ * Filter messages used everywhere in the class.
540
+ * Default messages are already translated by WordPress.
541
+ *
542
+ * @since 1.0
543
+ * @author Grégory Viguier
544
+ *
545
+ * @param array $messages Messages.
546
+ */
547
+ $messages = apply_filters( 'imagify_partner_messages_' . $this->get_partner(), $messages );
548
+
549
+ return ! empty( $messages[ $message_id ] ) ? $messages[ $message_id ] : self::FALLBACK_MESSAGE;
550
+ }
551
+
552
+
553
+ /** ----------------------------------------------------------------------------------------- */
554
+ /** HANDLE SUCCESS ========================================================================== */
555
+ /** ----------------------------------------------------------------------------------------- */
556
+
557
+ /**
558
+ * Send a JSON response back to an Ajax request, indicating success.
559
+ *
560
+ * @since 1.0
561
+ * @access protected
562
+ * @author Grégory Viguier
563
+ */
564
+ protected function send_json_success() {
565
+ delete_transient( self::ERROR_TRANSIENT_NAME );
566
+
567
+ wp_send_json_success( $this->get_message( 'success' ) );
568
+ }
569
+
570
+ /**
571
+ * Redirect the user after Imagify is successfully installed and activated.
572
+ *
573
+ * @since 1.0
574
+ * @access protected
575
+ * @author Grégory Viguier
576
+ */
577
+ protected function success_redirect() {
578
+ delete_transient( self::ERROR_TRANSIENT_NAME );
579
+
580
+ wp_safe_redirect( esc_url_raw( $this->get_success_redirection_url() ) );
581
+ die();
582
+ }
583
+
584
+ /**
585
+ * Get the URL to redirect the user to after Imagify is successfully installed and activated: the referrer (partner's page URL).
586
+ * A "success" argument is added.
587
+ *
588
+ * @since 1.0
589
+ * @access public
590
+ * @author Grégory Viguier
591
+ *
592
+ * @return string
593
+ */
594
+ public function get_success_redirection_url() {
595
+ $success_url = add_query_arg( array(
596
+ self::SUCCESS_ARG => 1,
597
+ self::ERROR_ARG => false,
598
+ ), wp_get_referer() );
599
+
600
+ /**
601
+ * Filter the URL to redirect the user to after Imagify is successfully installed and activated.
602
+ * Default is the partner's page URL.
603
+ *
604
+ * @since 1.0
605
+ * @author Grégory Viguier
606
+ *
607
+ * @param string $success_url The URL.
608
+ */
609
+ return apply_filters( 'imagify_partner_success_url_' . $this->get_partner(), $success_url );
610
+ }
611
+
612
+
613
+ /** ----------------------------------------------------------------------------------------- */
614
+ /** HANDLE ERROR ============================================================================ */
615
+ /** ----------------------------------------------------------------------------------------- */
616
+
617
+ /**
618
+ * Die on error.
619
+ *
620
+ * @since 1.0
621
+ * @access protected
622
+ * @author Grégory Viguier
623
+ *
624
+ * @param string $message_id An error message ID.
625
+ */
626
+ protected function error_die( $message_id = 'not_allowed' ) {
627
+ $message = $this->get_message( $message_id );
628
+
629
+ if ( self::doing_ajax() ) {
630
+ $message = new WP_Error( $message_id, $message );
631
+ $this->send_json_error( $message );
632
+ }
633
+
634
+ if ( wp_get_referer() ) {
635
+ $message .= '</p><p>';
636
+ $message .= sprintf( '<a href="%s">%s</a>',
637
+ esc_url( remove_query_arg( 'updated', wp_get_referer() ) ),
638
+ $this->get_message( 'go_back' )
639
+ );
640
+ }
641
+
642
+ wp_die( $message, '', 403 );
643
+ }
644
+
645
+ /**
646
+ * Send a JSON response back to an Ajax request, indicating failure.
647
+ * This is a backward compatible version of wp_send_json_error(): WP_Error object handling was introduced in WP 4.1.
648
+ *
649
+ * @since 1.0
650
+ * @access protected
651
+ * @author Grégory Viguier
652
+ *
653
+ * @param mixed $data Data to encode as JSON, then print and die.
654
+ */
655
+ protected function send_json_error( $data ) {
656
+ if ( is_wp_error( $data ) ) {
657
+ $result = array();
658
+ foreach ( $data->errors as $code => $messages ) {
659
+ foreach ( $messages as $message ) {
660
+ $result[] = array(
661
+ 'code' => $code,
662
+ 'message' => $message,
663
+ );
664
+ }
665
+ }
666
+ } else {
667
+ $result = $data;
668
+ }
669
+
670
+ wp_send_json_error( $result );
671
+ }
672
+
673
+ /**
674
+ * Store an error message in a transient then redirect the user.
675
+ *
676
+ * @since 1.0
677
+ * @access protected
678
+ * @author Grégory Viguier
679
+ *
680
+ * @param object $error A WP_Error object.
681
+ */
682
+ protected function error_redirect( $error ) {
683
+ set_transient( self::ERROR_TRANSIENT_NAME, $error, 30 );
684
+
685
+ wp_safe_redirect( esc_url_raw( $this->get_error_redirection_url() ) );
686
+ die();
687
+ }
688
+
689
+ /**
690
+ * Get the URL to redirect the user to after Imagify installation failure: the plugins search page URL, searching for Imagify.
691
+ * An "error" argument is added, to display an error notice.
692
+ *
693
+ * @since 1.0
694
+ * @access public
695
+ * @author Grégory Viguier
696
+ *
697
+ * @return string
698
+ */
699
+ public function get_error_redirection_url() {
700
+ $error_url = 'plugin-install.php?s=imagify&tab=search&type=term&' . self::ERROR_ARG . '=1';
701
+ $error_url = is_multisite() ? network_admin_url( $error_url ) : admin_url( $error_url );
702
+
703
+ /**
704
+ * Filter the URL to redirect the user to after Imagify installation failure.
705
+ * Default is the plugins search page URL.
706
+ *
707
+ * @since 1.0
708
+ * @author Grégory Viguier
709
+ *
710
+ * @param string $error_url The URL.
711
+ */
712
+ return apply_filters( 'imagify_partner_error_url_' . $this->get_partner(), $error_url );
713
+ }
714
+
715
+
716
+ /** ----------------------------------------------------------------------------------------- */
717
+ /** STORING THE PARTNER ID IN DATABASE ====================================================== */
718
+ /** ----------------------------------------------------------------------------------------- */
719
+
720
+ /**
721
+ * Get the partner identifier stored in the Database.
722
+ *
723
+ * @since 1.0
724
+ * @access public
725
+ * @author Grégory Viguier
726
+ *
727
+ * @return string|bool The partner identifier, or false if none is stored.
728
+ */
729
+ public static function get_stored_partner() {
730
+ $partner = get_option( self::OPTION_NAME );
731
+
732
+ if ( $partner && is_string( $partner ) ) {
733
+ $partner = self::sanitize_partner( $partner );
734
+ }
735
+
736
+ return $partner ? $partner : false;
737
+ }
738
+
739
+ /**
740
+ * Delete the partner identifier stored in the Database.
741
+ *
742
+ * @since 1.0
743
+ * @access public
744
+ * @author Grégory Viguier
745
+ */
746
+ public static function delete_stored_partner() {
747
+ if ( false !== get_option( self::OPTION_NAME ) ) {
748
+ delete_option( self::OPTION_NAME );
749
+ }
750
+ }
751
+
752
+ /**
753
+ * Store the partner identifier in Database.
754
+ *
755
+ * @since 1.0
756
+ * @access protected
757
+ * @author Grégory Viguier
758
+ *
759
+ * @param string $partner The partner identifier to store.
760
+ */
761
+ protected static function store_partner( $partner ) {
762
+ if ( false === get_option( self::OPTION_NAME ) ) {
763
+ add_option( self::OPTION_NAME, $partner );
764
+ } else {
765
+ update_option( self::OPTION_NAME, $partner );
766
+ }
767
+ }
768
+
769
+ /**
770
+ * Sanitize a partner ID.
771
+ *
772
+ * @since 1.0
773
+ * @access protected
774
+ * @author Grégory Viguier
775
+ *
776
+ * @param string $partner Partner identifier.
777
+ * @return string
778
+ */
779
+ protected static function sanitize_partner( $partner ) {
780
+ return preg_replace( '@[^a-z0-9_-]@', '', strtolower( (string) $partner ) );
781
+ }
782
+
783
+
784
+ /** ----------------------------------------------------------------------------------------- */
785
+ /** VARIOUS TOOLS =========================================================================== */
786
+ /** ----------------------------------------------------------------------------------------- */
787
+
788
+ /**
789
+ * Get the action.
790
+ *
791
+ * @since 1.0
792
+ * @access public
793
+ * @author Grégory Viguier
794
+ *
795
+ * @return string Partner identifier.
796
+ */
797
+ public function get_post_action() {
798
+ return 'install_imagify_from_partner_' . $this->get_partner();
799
+ }
800
+
801
+ /**
802
+ * Determines whether the current request is a WordPress Ajax request.
803
+ * This is a clone of wp_doing_ajax(), intriduced in WP 4.7.
804
+ *
805
+ * @since 1.0
806
+ * @access public
807
+ * @author Grégory Viguier
808
+ *
809
+ * @return bool True if it's a WordPress Ajax request, false otherwise.
810
+ */
811
+ public static function doing_ajax() {
812
+ /**
813
+ * Filters whether the current request is a WordPress Ajax request.
814
+ *
815
+ * @since 1.0
816
+ *
817
+ * @param bool $wp_doing_ajax Whether the current request is a WordPress Ajax request.
818
+ */
819
+ return apply_filters( 'wp_doing_ajax', defined( 'DOING_AJAX' ) && DOING_AJAX );
820
+ }
821
+
822
+ /**
823
+ * Get Imagify's file path.
824
+ *
825
+ * @since 1.0
826
+ * @access public
827
+ * @author Grégory Viguier
828
+ *
829
+ * @return string The file path.
830
+ */
831
+ public static function get_imagify_path() {
832
+ if ( defined( 'IMAGIFY_FILE' ) ) {
833
+ return IMAGIFY_FILE;
834
+ }
835
+
836
+ return WP_PLUGIN_DIR . '/imagify/imagify.php';
837
+ }
838
+
839
+ /**
840
+ * Tell if the current user can install and activate Imagify.
841
+ *
842
+ * @since 1.0
843
+ * @access public
844
+ * @author Grégory Viguier
845
+ *
846
+ * @return bool
847
+ */
848
+ public static function current_user_can() {
849
+ static $can;
850
+
851
+ if ( ! isset( $can ) ) {
852
+ $can = is_multisite() ? 'manage_network_plugins' : 'install_plugins';
853
+ $can = current_user_can( $can );
854
+ }
855
+
856
+ return $can;
857
+ }
858
+
859
+ /**
860
+ * Get the current URL.
861
+ *
862
+ * @since 1.0
863
+ * @access public
864
+ * @author Grégory Viguier
865
+ *
866
+ * @return string
867
+ */
868
+ public static function get_current_url() {
869
+ $port = (int) $_SERVER['SERVER_PORT'];
870
+ $port = 80 !== $port && 443 !== $port ? ( ':' . $port ) : '';
871
+ $url = ! empty( $GLOBALS['HTTP_SERVER_VARS']['REQUEST_URI'] ) ? $GLOBALS['HTTP_SERVER_VARS']['REQUEST_URI'] : ( ! empty( $_SERVER['REQUEST_URI'] ) ? $_SERVER['REQUEST_URI'] : '' );
872
+
873
+ return 'http' . ( is_ssl() ? 's' : '' ) . '://' . $_SERVER['HTTP_HOST'] . $port . $url;
874
+ }
875
+ }
LICENSE CHANGED
@@ -1,340 +1,340 @@
1
- GNU GENERAL PUBLIC LICENSE
2
- Version 2, June 1991
3
-
4
- Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/>
5
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6
- Everyone is permitted to copy and distribute verbatim copies
7
- of this license document, but changing it is not allowed.
8
-
9
- Preamble
10
-
11
- The licenses for most software are designed to take away your
12
- freedom to share and change it. By contrast, the GNU General Public
13
- License is intended to guarantee your freedom to share and change free
14
- software--to make sure the software is free for all its users. This
15
- General Public License applies to most of the Free Software
16
- Foundation's software and to any other program whose authors commit to
17
- using it. (Some other Free Software Foundation software is covered by
18
- the GNU Lesser General Public License instead.) You can apply it to
19
- your programs, too.
20
-
21
- When we speak of free software, we are referring to freedom, not
22
- price. Our General Public Licenses are designed to make sure that you
23
- have the freedom to distribute copies of free software (and charge for
24
- this service if you wish), that you receive source code or can get it
25
- if you want it, that you can change the software or use pieces of it
26
- in new free programs; and that you know you can do these things.
27
-
28
- To protect your rights, we need to make restrictions that forbid
29
- anyone to deny you these rights or to ask you to surrender the rights.
30
- These restrictions translate to certain responsibilities for you if you
31
- distribute copies of the software, or if you modify it.
32
-
33
- For example, if you distribute copies of such a program, whether
34
- gratis or for a fee, you must give the recipients all the rights that
35
- you have. You must make sure that they, too, receive or can get the
36
- source code. And you must show them these terms so they know their
37
- rights.
38
-
39
- We protect your rights with two steps: (1) copyright the software, and
40
- (2) offer you this license which gives you legal permission to copy,
41
- distribute and/or modify the software.
42
-
43
- Also, for each author's protection and ours, we want to make certain
44
- that everyone understands that there is no warranty for this free
45
- software. If the software is modified by someone else and passed on, we
46
- want its recipients to know that what they have is not the original, so
47
- that any problems introduced by others will not reflect on the original
48
- authors' reputations.
49
-
50
- Finally, any free program is threatened constantly by software
51
- patents. We wish to avoid the danger that redistributors of a free
52
- program will individually obtain patent licenses, in effect making the
53
- program proprietary. To prevent this, we have made it clear that any
54
- patent must be licensed for everyone's free use or not licensed at all.
55
-
56
- The precise terms and conditions for copying, distribution and
57
- modification follow.
58
-
59
- GNU GENERAL PUBLIC LICENSE
60
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61
-
62
- 0. This License applies to any program or other work which contains
63
- a notice placed by the copyright holder saying it may be distributed
64
- under the terms of this General Public License. The "Program", below,
65
- refers to any such program or work, and a "work based on the Program"
66
- means either the Program or any derivative work under copyright law:
67
- that is to say, a work containing the Program or a portion of it,
68
- either verbatim or with modifications and/or translated into another
69
- language. (Hereinafter, translation is included without limitation in
70
- the term "modification".) Each licensee is addressed as "you".
71
-
72
- Activities other than copying, distribution and modification are not
73
- covered by this License; they are outside its scope. The act of
74
- running the Program is not restricted, and the output from the Program
75
- is covered only if its contents constitute a work based on the
76
- Program (independent of having been made by running the Program).
77
- Whether that is true depends on what the Program does.
78
-
79
- 1. You may copy and distribute verbatim copies of the Program's
80
- source code as you receive it, in any medium, provided that you
81
- conspicuously and appropriately publish on each copy an appropriate
82
- copyright notice and disclaimer of warranty; keep intact all the
83
- notices that refer to this License and to the absence of any warranty;
84
- and give any other recipients of the Program a copy of this License
85
- along with the Program.
86
-
87
- You may charge a fee for the physical act of transferring a copy, and
88
- you may at your option offer warranty protection in exchange for a fee.
89
-
90
- 2. You may modify your copy or copies of the Program or any portion
91
- of it, thus forming a work based on the Program, and copy and
92
- distribute such modifications or work under the terms of Section 1
93
- above, provided that you also meet all of these conditions:
94
-
95
- a) You must cause the modified files to carry prominent notices
96
- stating that you changed the files and the date of any change.
97
-
98
- b) You must cause any work that you distribute or publish, that in
99
- whole or in part contains or is derived from the Program or any
100
- part thereof, to be licensed as a whole at no charge to all third
101
- parties under the terms of this License.
102
-
103
- c) If the modified program normally reads commands interactively
104
- when run, you must cause it, when started running for such
105
- interactive use in the most ordinary way, to print or display an
106
- announcement including an appropriate copyright notice and a
107
- notice that there is no warranty (or else, saying that you provide
108
- a warranty) and that users may redistribute the program under
109
- these conditions, and telling the user how to view a copy of this
110
- License. (Exception: if the Program itself is interactive but
111
- does not normally print such an announcement, your work based on
112
- the Program is not required to print an announcement.)
113
-
114
- These requirements apply to the modified work as a whole. If
115
- identifiable sections of that work are not derived from the Program,
116
- and can be reasonably considered independent and separate works in
117
- themselves, then this License, and its terms, do not apply to those
118
- sections when you distribute them as separate works. But when you
119
- distribute the same sections as part of a whole which is a work based
120
- on the Program, the distribution of the whole must be on the terms of
121
- this License, whose permissions for other licensees extend to the
122
- entire whole, and thus to each and every part regardless of who wrote it.
123
-
124
- Thus, it is not the intent of this section to claim rights or contest
125
- your rights to work written entirely by you; rather, the intent is to
126
- exercise the right to control the distribution of derivative or
127
- collective works based on the Program.
128
-
129
- In addition, mere aggregation of another work not based on the Program
130
- with the Program (or with a work based on the Program) on a volume of
131
- a storage or distribution medium does not bring the other work under
132
- the scope of this License.
133
-
134
- 3. You may copy and distribute the Program (or a work based on it,
135
- under Section 2) in object code or executable form under the terms of
136
- Sections 1 and 2 above provided that you also do one of the following:
137
-
138
- a) Accompany it with the complete corresponding machine-readable
139
- source code, which must be distributed under the terms of Sections
140
- 1 and 2 above on a medium customarily used for software interchange; or,
141
-
142
- b) Accompany it with a written offer, valid for at least three
143
- years, to give any third party, for a charge no more than your
144
- cost of physically performing source distribution, a complete
145
- machine-readable copy of the corresponding source code, to be
146
- distributed under the terms of Sections 1 and 2 above on a medium
147
- customarily used for software interchange; or,
148
-
149
- c) Accompany it with the information you received as to the offer
150
- to distribute corresponding source code. (This alternative is
151
- allowed only for noncommercial distribution and only if you
152
- received the program in object code or executable form with such
153
- an offer, in accord with Subsection b above.)
154
-
155
- The source code for a work means the preferred form of the work for
156
- making modifications to it. For an executable work, complete source
157
- code means all the source code for all modules it contains, plus any
158
- associated interface definition files, plus the scripts used to
159
- control compilation and installation of the executable. However, as a
160
- special exception, the source code distributed need not include
161
- anything that is normally distributed (in either source or binary
162
- form) with the major components (compiler, kernel, and so on) of the
163
- operating system on which the executable runs, unless that component
164
- itself accompanies the executable.
165
-
166
- If distribution of executable or object code is made by offering
167
- access to copy from a designated place, then offering equivalent
168
- access to copy the source code from the same place counts as
169
- distribution of the source code, even though third parties are not
170
- compelled to copy the source along with the object code.
171
-
172
- 4. You may not copy, modify, sublicense, or distribute the Program
173
- except as expressly provided under this License. Any attempt
174
- otherwise to copy, modify, sublicense or distribute the Program is
175
- void, and will automatically terminate your rights under this License.
176
- However, parties who have received copies, or rights, from you under
177
- this License will not have their licenses terminated so long as such
178
- parties remain in full compliance.
179
-
180
- 5. You are not required to accept this License, since you have not
181
- signed it. However, nothing else grants you permission to modify or
182
- distribute the Program or its derivative works. These actions are
183
- prohibited by law if you do not accept this License. Therefore, by
184
- modifying or distributing the Program (or any work based on the
185
- Program), you indicate your acceptance of this License to do so, and
186
- all its terms and conditions for copying, distributing or modifying
187
- the Program or works based on it.
188
-
189
- 6. Each time you redistribute the Program (or any work based on the
190
- Program), the recipient automatically receives a license from the
191
- original licensor to copy, distribute or modify the Program subject to
192
- these terms and conditions. You may not impose any further
193
- restrictions on the recipients' exercise of the rights granted herein.
194
- You are not responsible for enforcing compliance by third parties to
195
- this License.
196
-
197
- 7. If, as a consequence of a court judgment or allegation of patent
198
- infringement or for any other reason (not limited to patent issues),
199
- conditions are imposed on you (whether by court order, agreement or
200
- otherwise) that contradict the conditions of this License, they do not
201
- excuse you from the conditions of this License. If you cannot
202
- distribute so as to satisfy simultaneously your obligations under this
203
- License and any other pertinent obligations, then as a consequence you
204
- may not distribute the Program at all. For example, if a patent
205
- license would not permit royalty-free redistribution of the Program by
206
- all those who receive copies directly or indirectly through you, then
207
- the only way you could satisfy both it and this License would be to
208
- refrain entirely from distribution of the Program.
209
-
210
- If any portion of this section is held invalid or unenforceable under
211
- any particular circumstance, the balance of the section is intended to
212
- apply and the section as a whole is intended to apply in other
213
- circumstances.
214
-
215
- It is not the purpose of this section to induce you to infringe any
216
- patents or other property right claims or to contest validity of any
217
- such claims; this section has the sole purpose of protecting the
218
- integrity of the free software distribution system, which is
219
- implemented by public license practices. Many people have made
220
- generous contributions to the wide range of software distributed
221
- through that system in reliance on consistent application of that
222
- system; it is up to the author/donor to decide if he or she is willing
223
- to distribute software through any other system and a licensee cannot
224
- impose that choice.
225
-
226
- This section is intended to make thoroughly clear what is believed to
227
- be a consequence of the rest of this License.
228
-
229
- 8. If the distribution and/or use of the Program is restricted in
230
- certain countries either by patents or by copyrighted interfaces, the
231
- original copyright holder who places the Program under this License
232
- may add an explicit geographical distribution limitation excluding
233
- those countries, so that distribution is permitted only in or among
234
- countries not thus excluded. In such case, this License incorporates
235
- the limitation as if written in the body of this License.
236
-
237
- 9. The Free Software Foundation may publish revised and/or new versions
238
- of the General Public License from time to time. Such new versions will
239
- be similar in spirit to the present version, but may differ in detail to
240
- address new problems or concerns.
241
-
242
- Each version is given a distinguishing version number. If the Program
243
- specifies a version number of this License which applies to it and "any
244
- later version", you have the option of following the terms and conditions
245
- either of that version or of any later version published by the Free
246
- Software Foundation. If the Program does not specify a version number of
247
- this License, you may choose any version ever published by the Free Software
248
- Foundation.
249
-
250
- 10. If you wish to incorporate parts of the Program into other free
251
- programs whose distribution conditions are different, write to the author
252
- to ask for permission. For software which is copyrighted by the Free
253
- Software Foundation, write to the Free Software Foundation; we sometimes
254
- make exceptions for this. Our decision will be guided by the two goals
255
- of preserving the free status of all derivatives of our free software and
256
- of promoting the sharing and reuse of software generally.
257
-
258
- NO WARRANTY
259
-
260
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261
- FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262
- OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263
- PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264
- OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266
- TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267
- PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268
- REPAIR OR CORRECTION.
269
-
270
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271
- WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272
- REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273
- INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274
- OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275
- TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276
- YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277
- PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278
- POSSIBILITY OF SUCH DAMAGES.
279
-
280
- END OF TERMS AND CONDITIONS
281
-
282
- How to Apply These Terms to Your New Programs
283
-
284
- If you develop a new program, and you want it to be of the greatest
285
- possible use to the public, the best way to achieve this is to make it
286
- free software which everyone can redistribute and change under these terms.
287
-
288
- To do so, attach the following notices to the program. It is safest
289
- to attach them to the start of each source file to most effectively
290
- convey the exclusion of warranty; and each file should have at least
291
- the "copyright" line and a pointer to where the full notice is found.
292
-
293
- {description}
294
- Copyright (C) {year} {fullname}
295
-
296
- This program is free software; you can redistribute it and/or modify
297
- it under the terms of the GNU General Public License as published by
298
- the Free Software Foundation; either version 2 of the License, or
299
- (at your option) any later version.
300
-
301
- This program is distributed in the hope that it will be useful,
302
- but WITHOUT ANY WARRANTY; without even the implied warranty of
303
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
304
- GNU General Public License for more details.
305
-
306
- You should have received a copy of the GNU General Public License along
307
- with this program; if not, write to the Free Software Foundation, Inc.,
308
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
309
-
310
- Also add information on how to contact you by electronic and paper mail.
311
-
312
- If the program is interactive, make it output a short notice like this
313
- when it starts in an interactive mode:
314
-
315
- Gnomovision version 69, Copyright (C) year name of author
316
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
317
- This is free software, and you are welcome to redistribute it
318
- under certain conditions; type `show c' for details.
319
-
320
- The hypothetical commands `show w' and `show c' should show the appropriate
321
- parts of the General Public License. Of course, the commands you use may
322
- be called something other than `show w' and `show c'; they could even be
323
- mouse-clicks or menu items--whatever suits your program.
324
-
325
- You should also get your employer (if you work as a programmer) or your
326
- school, if any, to sign a "copyright disclaimer" for the program, if
327
- necessary. Here is a sample; alter the names:
328
-
329
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
330
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
331
-
332
- {signature of Ty Coon}, 1 April 1989
333
- Ty Coon, President of Vice
334
-
335
- This General Public License does not permit incorporating your program into
336
- proprietary programs. If your program is a subroutine library, you may
337
- consider it more useful to permit linking proprietary applications with the
338
- library. If this is what you want to do, use the GNU Lesser General
339
- Public License instead of this License.
340
-
1
+ GNU GENERAL PUBLIC LICENSE
2
+ Version 2, June 1991
3
+
4
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/>
5
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6
+ Everyone is permitted to copy and distribute verbatim copies
7
+ of this license document, but changing it is not allowed.
8
+
9
+ Preamble
10
+
11
+ The licenses for most software are designed to take away your
12
+ freedom to share and change it. By contrast, the GNU General Public
13
+ License is intended to guarantee your freedom to share and change free
14
+ software--to make sure the software is free for all its users. This
15
+ General Public License applies to most of the Free Software
16
+ Foundation's software and to any other program whose authors commit to
17
+ using it. (Some other Free Software Foundation software is covered by
18
+ the GNU Lesser General Public License instead.) You can apply it to
19
+ your programs, too.
20
+
21
+ When we speak of free software, we are referring to freedom, not
22
+ price. Our General Public Licenses are designed to make sure that you
23
+ have the freedom to distribute copies of free software (and charge for
24
+ this service if you wish), that you receive source code or can get it
25
+ if you want it, that you can change the software or use pieces of it
26
+ in new free programs; and that you know you can do these things.
27
+
28
+ To protect your rights, we need to make restrictions that forbid
29
+ anyone to deny you these rights or to ask you to surrender the rights.
30
+ These restrictions translate to certain responsibilities for you if you
31
+ distribute copies of the software, or if you modify it.
32
+
33
+ For example, if you distribute copies of such a program, whether
34
+ gratis or for a fee, you must give the recipients all the rights that
35
+ you have. You must make sure that they, too, receive or can get the
36
+ source code. And you must show them these terms so they know their
37
+ rights.
38
+
39
+ We protect your rights with two steps: (1) copyright the software, and
40
+ (2) offer you this license which gives you legal permission to copy,
41
+ distribute and/or modify the software.
42
+
43
+ Also, for each author's protection and ours, we want to make certain
44
+ that everyone understands that there is no warranty for this free
45
+ software. If the software is modified by someone else and passed on, we
46
+ want its recipients to know that what they have is not the original, so
47
+ that any problems introduced by others will not reflect on the original
48
+ authors' reputations.
49
+
50
+ Finally, any free program is threatened constantly by software
51
+ patents. We wish to avoid the danger that redistributors of a free
52
+ program will individually obtain patent licenses, in effect making the
53
+ program proprietary. To prevent this, we have made it clear that any
54
+ patent must be licensed for everyone's free use or not licensed at all.
55
+
56
+ The precise terms and conditions for copying, distribution and
57
+ modification follow.
58
+
59
+ GNU GENERAL PUBLIC LICENSE
60
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61
+
62
+ 0. This License applies to any program or other work which contains
63
+ a notice placed by the copyright holder saying it may be distributed
64
+ under the terms of this General Public License. The "Program", below,
65
+ refers to any such program or work, and a "work based on the Program"
66
+ means either the Program or any derivative work under copyright law:
67
+ that is to say, a work containing the Program or a portion of it,
68
+ either verbatim or with modifications and/or translated into another
69
+ language. (Hereinafter, translation is included without limitation in
70
+ the term "modification".) Each licensee is addressed as "you".
71
+
72
+ Activities other than copying, distribution and modification are not
73
+ covered by this License; they are outside its scope. The act of
74
+ running the Program is not restricted, and the output from the Program
75
+ is covered only if its contents constitute a work based on the
76
+ Program (independent of having been made by running the Program).
77
+ Whether that is true depends on what the Program does.
78
+
79
+ 1. You may copy and distribute verbatim copies of the Program's
80
+ source code as you receive it, in any medium, provided that you
81
+ conspicuously and appropriately publish on each copy an appropriate
82
+ copyright notice and disclaimer of warranty; keep intact all the
83
+ notices that refer to this License and to the absence of any warranty;
84
+ and give any other recipients of the Program a copy of this License
85
+ along with the Program.
86
+
87
+ You may charge a fee for the physical act of transferring a copy, and
88
+ you may at your option offer warranty protection in exchange for a fee.
89
+
90
+ 2. You may modify your copy or copies of the Program or any portion
91
+ of it, thus forming a work based on the Program, and copy and
92
+ distribute such modifications or work under the terms of Section 1
93
+ above, provided that you also meet all of these conditions:
94
+
95
+ a) You must cause the modified files to carry prominent notices
96
+ stating that you changed the files and the date of any change.
97
+
98
+ b) You must cause any work that you distribute or publish, that in
99
+ whole or in part contains or is derived from the Program or any
100
+ part thereof, to be licensed as a whole at no charge to all third
101
+ parties under the terms of this License.
102
+
103
+ c) If the modified program normally reads commands interactively
104
+ when run, you must cause it, when started running for such
105
+ interactive use in the most ordinary way, to print or display an
106
+ announcement including an appropriate copyright notice and a
107
+ notice that there is no warranty (or else, saying that you provide
108
+ a warranty) and that users may redistribute the program under
109
+ these conditions, and telling the user how to view a copy of this
110
+ License. (Exception: if the Program itself is interactive but
111
+ does not normally print such an announcement, your work based on
112
+ the Program is not required to print an announcement.)
113
+
114
+ These requirements apply to the modified work as a whole. If
115
+ identifiable sections of that work are not derived from the Program,
116
+ and can be reasonably considered independent and separate works in
117
+ themselves, then this License, and its terms, do not apply to those
118
+ sections when you distribute them as separate works. But when you
119
+ distribute the same sections as part of a whole which is a work based
120
+ on the Program, the distribution of the whole must be on the terms of
121
+ this License, whose permissions for other licensees extend to the
122
+ entire whole, and thus to each and every part regardless of who wrote it.
123
+
124
+ Thus, it is not the intent of this section to claim rights or contest
125
+ your rights to work written entirely by you; rather, the intent is to
126
+ exercise the right to control the distribution of derivative or
127
+ collective works based on the Program.
128
+
129
+ In addition, mere aggregation of another work not based on the Program
130
+ with the Program (or with a work based on the Program) on a volume of
131
+ a storage or distribution medium does not bring the other work under
132
+ the scope of this License.
133
+
134
+ 3. You may copy and distribute the Program (or a work based on it,
135
+ under Section 2) in object code or executable form under the terms of
136
+ Sections 1 and 2 above provided that you also do one of the following:
137
+
138
+ a) Accompany it with the complete corresponding machine-readable
139
+ source code, which must be distributed under the terms of Sections
140
+ 1 and 2 above on a medium customarily used for software interchange; or,
141
+
142
+ b) Accompany it with a written offer, valid for at least three
143
+ years, to give any third party, for a charge no more than your
144
+ cost of physically performing source distribution, a complete
145
+ machine-readable copy of the corresponding source code, to be
146
+ distributed under the terms of Sections 1 and 2 above on a medium
147
+ customarily used for software interchange; or,
148
+
149
+ c) Accompany it with the information you received as to the offer
150
+ to distribute corresponding source code. (This alternative is
151
+ allowed only for noncommercial distribution and only if you
152
+ received the program in object code or executable form with such
153
+ an offer, in accord with Subsection b above.)
154
+
155
+ The source code for a work means the preferred form of the work for
156
+ making modifications to it. For an executable work, complete source
157
+ code means all the source code for all modules it contains, plus any
158
+ associated interface definition files, plus the scripts used to
159
+ control compilation and installation of the executable. However, as a
160
+ special exception, the source code distributed need not include
161
+ anything that is normally distributed (in either source or binary
162
+ form) with the major components (compiler, kernel, and so on) of the
163
+ operating system on which the executable runs, unless that component
164
+ itself accompanies the executable.
165
+
166
+ If distribution of executable or object code is made by offering
167
+ access to copy from a designated place, then offering equivalent
168
+ access to copy the source code from the same place counts as
169
+ distribution of the source code, even though third parties are not
170
+ compelled to copy the source along with the object code.
171
+
172
+ 4. You may not copy, modify, sublicense, or distribute the Program
173
+ except as expressly provided under this License. Any attempt
174
+ otherwise to copy, modify, sublicense or distribute the Program is
175
+ void, and will automatically terminate your rights under this License.
176
+ However, parties who have received copies, or rights, from you under
177
+ this License will not have their licenses terminated so long as such
178
+ parties remain in full compliance.
179
+
180
+ 5. You are not required to accept this License, since you have not
181
+ signed it. However, nothing else grants you permission to modify or
182
+ distribute the Program or its derivative works. These actions are
183
+ prohibited by law if you do not accept this License. Therefore, by
184
+ modifying or distributing the Program (or any work based on the
185
+ Program), you indicate your acceptance of this License to do so, and
186
+ all its terms and conditions for copying, distributing or modifying
187
+ the Program or works based on it.
188
+
189
+ 6. Each time you redistribute the Program (or any work based on the
190
+ Program), the recipient automatically receives a license from the
191
+ original licensor to copy, distribute or modify the Program subject to
192
+ these terms and conditions. You may not impose any further
193
+ restrictions on the recipients' exercise of the rights granted herein.
194
+ You are not responsible for enforcing compliance by third parties to
195
+ this License.
196
+
197
+ 7. If, as a consequence of a court judgment or allegation of patent
198
+ infringement or for any other reason (not limited to patent issues),
199
+ conditions are imposed on you (whether by court order, agreement or
200
+ otherwise) that contradict the conditions of this License, they do not
201
+ excuse you from the conditions of this License. If you cannot
202
+ distribute so as to satisfy simultaneously your obligations under this
203
+ License and any other pertinent obligations, then as a consequence you
204
+ may not distribute the Program at all. For example, if a patent
205
+ license would not permit royalty-free redistribution of the Program by
206
+ all those who receive copies directly or indirectly through you, then
207
+ the only way you could satisfy both it and this License would be to
208
+ refrain entirely from distribution of the Program.
209
+
210
+ If any portion of this section is held invalid or unenforceable under
211
+ any particular circumstance, the balance of the section is intended to
212
+ apply and the section as a whole is intended to apply in other
213
+ circumstances.
214
+
215
+ It is not the purpose of this section to induce you to infringe any
216
+ patents or other property right claims or to contest validity of any
217
+ such claims; this section has the sole purpose of protecting the
218
+ integrity of the free software distribution system, which is
219
+ implemented by public license practices. Many people have made
220
+ generous contributions to the wide range of software distributed
221
+ through that system in reliance on consistent application of that
222
+ system; it is up to the author/donor to decide if he or she is willing
223
+ to distribute software through any other system and a licensee cannot
224
+ impose that choice.
225
+
226
+ This section is intended to make thoroughly clear what is believed to
227
+ be a consequence of the rest of this License.
228
+
229
+ 8. If the distribution and/or use of the Program is restricted in
230
+ certain countries either by patents or by copyrighted interfaces, the
231
+ original copyright holder who places the Program under this License
232
+ may add an explicit geographical distribution limitation excluding
233
+ those countries, so that distribution is permitted only in or among
234
+ countries not thus excluded. In such case, this License incorporates
235
+ the limitation as if written in the body of this License.
236
+
237
+ 9. The Free Software Foundation may publish revised and/or new versions
238
+ of the General Public License from time to time. Such new versions will
239
+ be similar in spirit to the present version, but may differ in detail to
240
+ address new problems or concerns.
241
+
242
+ Each version is given a distinguishing version number. If the Program
243
+ specifies a version number of this License which applies to it and "any
244
+ later version", you have the option of following the terms and conditions
245
+ either of that version or of any later version published by the Free
246
+ Software Foundation. If the Program does not specify a version number of
247
+ this License, you may choose any version ever published by the Free Software
248
+ Foundation.
249
+
250
+ 10. If you wish to incorporate parts of the Program into other free
251
+ programs whose distribution conditions are different, write to the author
252
+ to ask for permission. For software which is copyrighted by the Free
253
+ Software Foundation, write to the Free Software Foundation; we sometimes
254
+ make exceptions for this. Our decision will be guided by the two goals
255
+ of preserving the free status of all derivatives of our free software and
256
+ of promoting the sharing and reuse of software generally.
257
+
258
+ NO WARRANTY
259
+
260
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268
+ REPAIR OR CORRECTION.
269
+
270
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278
+ POSSIBILITY OF SUCH DAMAGES.
279
+
280
+ END OF TERMS AND CONDITIONS
281
+
282
+ How to Apply These Terms to Your New Programs
283
+
284
+ If you develop a new program, and you want it to be of the greatest
285
+ possible use to the public, the best way to achieve this is to make it
286
+ free software which everyone can redistribute and change under these terms.
287
+
288
+ To do so, attach the following notices to the program. It is safest
289
+ to attach them to the start of each source file to most effectively
290
+ convey the exclusion of warranty; and each file should have at least
291
+ the "copyright" line and a pointer to where the full notice is found.
292
+
293
+ {description}
294
+ Copyright (C) {year} {fullname}
295
+
296
+ This program is free software; you can redistribute it and/or modify
297
+ it under the terms of the GNU General Public License as published by
298
+ the Free Software Foundation; either version 2 of the License, or
299
+ (at your option) any later version.
300
+
301
+ This program is distributed in the hope that it will be useful,
302
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
303
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
304
+ GNU General Public License for more details.
305
+
306
+ You should have received a copy of the GNU General Public License along
307
+ with this program; if not, write to the Free Software Foundation, Inc.,
308
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
309
+
310
+ Also add information on how to contact you by electronic and paper mail.
311
+
312
+ If the program is interactive, make it output a short notice like this
313
+ when it starts in an interactive mode:
314
+
315
+ Gnomovision version 69, Copyright (C) year name of author
316
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
317
+ This is free software, and you are welcome to redistribute it
318
+ under certain conditions; type `show c' for details.
319
+
320
+ The hypothetical commands `show w' and `show c' should show the appropriate
321
+ parts of the General Public License. Of course, the commands you use may
322
+ be called something other than `show w' and `show c'; they could even be
323
+ mouse-clicks or menu items--whatever suits your program.
324
+
325
+ You should also get your employer (if you work as a programmer) or your
326
+ school, if any, to sign a "copyright disclaimer" for the program, if
327
+ necessary. Here is a sample; alter the names:
328
+
329
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
330
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
331
+
332
+ {signature of Ty Coon}, 1 April 1989
333
+ Ty Coon, President of Vice
334
+
335
+ This General Public License does not permit incorporating your program into
336
+ proprietary programs. If your program is a subroutine library, you may
337
+ consider it more useful to permit linking proprietary applications with the
338
+ library. If this is what you want to do, use the GNU Lesser General
339
+ Public License instead of this License.
340
+
Notices.php ADDED
@@ -0,0 +1,155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Contains the Heartbeat_Control\Notices class.
4
+ *
5
+ * Simple to use message flashbag for admin base on user_id.
6
+ *
7
+ * @package Heartbeat_Control
8
+ */
9
+
10
+ namespace Heartbeat_Control;
11
+
12
+ defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
13
+
14
+ /**
15
+ * Simple notification flashbag
16
+ */
17
+ class Notices {
18
+ /**
19
+ * The single instance of the class.
20
+ *
21
+ * @var Notices
22
+ * @access protected
23
+ */
24
+ protected static $instance;
25
+
26
+ /**
27
+ * The transient name.
28
+ *
29
+ * @var string
30
+ * @access protected
31
+ */
32
+ protected $transient;
33
+
34
+ /**
35
+ * Store notices.
36
+ *
37
+ * @var int
38
+ * @access protected
39
+ */
40
+ protected $notices = false;
41
+
42
+ /**
43
+ * The user ID.
44
+ *
45
+ * @var int
46
+ * @access protected
47
+ */
48
+ protected $user_id;
49
+
50
+ /**
51
+ * Main Plugin Instance.
52
+ *
53
+ * Ensures only one instance of the class is loaded or can be loaded.
54
+ *
55
+ * @return Notices - Main instance.
56
+ */
57
+ public static function get_instance() {
58
+ if ( ! self::$instance ) {
59
+ self::$instance = new Notices();
60
+ }
61
+
62
+ return self::$instance;
63
+ }
64
+
65
+ /**
66
+ * Constructor.
67
+ */
68
+ public function __construct() {
69
+ $this->transient = basename( plugin_dir_path( __FILE__ ) ) . '_notices';
70
+ $this->notices = get_transient( $this->transient );
71
+ $this->user_id = get_current_user_id();
72
+ }
73
+
74
+ /**
75
+ * Append a new notice for the current user.
76
+ *
77
+ * @param string $class The class of the message use for styling and typing.
78
+ * @param string $notice The message of the notice.
79
+ */
80
+ public function append( $class, $notice ) {
81
+ $new_notices = array();
82
+
83
+ if ( $this->notices ) {
84
+ $new_notices = json_decode( $this->notices, true );
85
+ }
86
+
87
+ $new_notices[ $this->user_id ][] = array(
88
+ 'class' => $class,
89
+ 'notice' => $notice,
90
+ );
91
+ $this->notices = json_encode( $new_notices ); // phpcs:ignore WordPress.WP.AlternativeFunctions
92
+
93
+ set_transient( $this->transient, $this->notices, 30 );
94
+ }
95
+
96
+ /**
97
+ * Echo notices for the current user.
98
+ *
99
+ * @param boolean $trash [optional] If true the notices will be trash after the echo.
100
+ */
101
+ public function echo_notices( $trash = true ) {
102
+ if ( $this->notices ) {
103
+ $notices = json_decode( $this->notices, true );
104
+
105
+ if ( isset( $notices[ $this->user_id ] ) ) {
106
+ foreach ( $notices[ $this->user_id ] as $n ) {
107
+ echo '<div class="notice notice-' . esc_attr( $n['class'] ) . ' is-dismissible"><p><strong>' . esc_html( $n['notice'] ) . '</strong></p></div>'; // phpcs:ignore WordPress.Security.EscapeOutput
108
+ }
109
+
110
+ if ( $trash ) {
111
+ $this->trash( $notices, $this->user_id );
112
+ }
113
+ }
114
+ }
115
+ }
116
+
117
+ /**
118
+ * Return the notices for the current user.
119
+ *
120
+ * @param boolean $trash [optional] If true the notices will be trash after get returned.
121
+ * @return mixed Output a array if a notice or more exist, a false if not.
122
+ */
123
+ public function get( $trash = true ) {
124
+ if ( $this->notices ) {
125
+ $notices = json_decode( $this->notices, true );
126
+ if ( isset( $notices[ $this->user_id ] ) ) {
127
+ if ( $trash ) {
128
+ $this->trash( $notices, $this->user_id );
129
+ }
130
+
131
+ return $notices[ $this->user_id ];
132
+ }
133
+ }
134
+
135
+ return false;
136
+ }
137
+
138
+ /**
139
+ * Unset notice for a given user and save the new notices as a transient.
140
+ *
141
+ * @param array $notices An array of $notices to clean.
142
+ * @param int $user_id [optional] A user id, if null it's will find the current user id.
143
+ */
144
+ private function trash( $notices, $user_id = null ) {
145
+ if ( is_null( $user_id ) ) {
146
+ $user_id = $this->user_id;
147
+ }
148
+
149
+ if ( isset( $notices[ $user_id ] ) ) {
150
+ unset( $notices[ $user_id ] );
151
+ }
152
+
153
+ set_transient( $this->transient, json_encode( $notices ), 30 ); // phpcs:ignore WordPress.WP.AlternativeFunctions
154
+ }
155
+ }
Plugin_Card_Helper.php ADDED
@@ -0,0 +1,662 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Heartbeat_Control;
3
+
4
+ defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
5
+
6
+ /**
7
+ * Class Plugin_Card_Helper
8
+ * This check plugin info from plugins_api and help to build a functional installation plugin card.
9
+ *
10
+ * @package Heartbeat_Control
11
+ */
12
+ class Plugin_Card_Helper {
13
+
14
+ /**
15
+ * Store nonce action.
16
+ *
17
+ * @var string
18
+ * @access protected
19
+ */
20
+ protected $nonce = 'plugin_card_helper_wpnonce';
21
+
22
+ /**
23
+ * Store plugin slug.
24
+ *
25
+ * @var string
26
+ * @access protected
27
+ */
28
+ protected $plugin_slug;
29
+
30
+ /**
31
+ * Store plugin's main file path.
32
+ *
33
+ * @var string
34
+ * @access protected
35
+ */
36
+ protected $plugin_file_path;
37
+
38
+ /**
39
+ * Store plugins_api result, all plugin information from WordPress plugin repository.
40
+ *
41
+ * @var array
42
+ * @access protected
43
+ */
44
+ protected $plugin_information;
45
+
46
+ /**
47
+ * Boolean is plugin is activated.
48
+ *
49
+ * @var boolean
50
+ * @access protected
51
+ */
52
+ protected $activated;
53
+
54
+ /**
55
+ * Boolean is plugin is installed.
56
+ *
57
+ * @var boolean
58
+ * @access protected
59
+ */
60
+ protected $installed;
61
+
62
+ /**
63
+ * Boolean is plugin is compatible with installed WordPress version.
64
+ *
65
+ * @var boolean
66
+ * @access protected
67
+ */
68
+ protected $wp_compatibility;
69
+
70
+ /**
71
+ * Boolean is plugin is compatible with installed php version.
72
+ *
73
+ * @var boolean
74
+ * @access protected
75
+ */
76
+ protected $php_compatibility;
77
+
78
+ /**
79
+ * Boolean is plugin can be install.
80
+ *
81
+ * @var boolean
82
+ * @access protected
83
+ */
84
+ protected $can_install;
85
+
86
+ /**
87
+ * Store setup arguments.
88
+ *
89
+ * @var array
90
+ * @access protected
91
+ */
92
+ protected $args;
93
+
94
+ /**
95
+ * Store overwrite variables.
96
+ *
97
+ * @var array
98
+ * @access protected
99
+ */
100
+ protected $params = array(
101
+ 'title' => null,
102
+ 'description' => null,
103
+ 'icon' => null,
104
+ 'status_text' => null,
105
+ 'button_text' => null,
106
+ 'install_url' => null,
107
+ );
108
+
109
+ /**
110
+ * Is this card have been initialised.
111
+ *
112
+ * @var boolean
113
+ * @access protected
114
+ */
115
+ protected $init = false;
116
+
117
+ /**
118
+ * Constructor method, it's construct things.
119
+ * Set some basic parameters and register controller soon as possible.
120
+ * Else in some context install and activation route will not be register.
121
+ *
122
+ * @param array $args Required index plugin_slug. Use this array to pass param (force_activation active and install).
123
+ * @return void
124
+ */
125
+ public function __construct( $args = null ) {
126
+ $this->args = wp_parse_args(
127
+ $args,
128
+ array(
129
+ 'plugin_slug' => null,
130
+ 'force_activation' => true,
131
+ )
132
+ );
133
+
134
+ if ( is_null( $this->args['plugin_slug'] ) ) {
135
+ return;
136
+ }
137
+
138
+ $this->plugin_slug = preg_replace( '@[^a-z0-9_-]@', '', strtolower( (string) $this->args['plugin_slug'] ) );
139
+
140
+ if ( isset( $this->args['params'] ) ) {
141
+ $this->params = wp_parse_args( $this->args['params'], $this->params );
142
+ }
143
+
144
+ if ( ! $this->is_installed() ) {
145
+ add_action( 'admin_post_install_plugin_' . $this->plugin_slug, array( $this, 'install_callback' ) );
146
+ }
147
+
148
+ if ( ! $this->is_activated() ) {
149
+ add_action( 'admin_post_activate_plugin_' . $this->plugin_slug, array( $this, 'activate_callback' ) );
150
+ }
151
+ }
152
+
153
+ /**
154
+ * Init method, initialise things.
155
+ * Separate init form constructor, because route registering need to be early and this do not.
156
+ * This is execute only if install or activation route are reached or helper method is call.
157
+ *
158
+ * @return void
159
+ */
160
+ protected function init() {
161
+ if ( $this->init ) {
162
+ return;
163
+ }
164
+
165
+ require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
166
+ require_once ABSPATH . 'wp-admin/includes/plugin.php';
167
+
168
+ $this->is_installed();
169
+ $this->is_activated();
170
+
171
+ $this->plugin_information = plugins_api(
172
+ 'plugin_information',
173
+ array(
174
+ 'slug' => $this->plugin_slug,
175
+ 'fields' => array(
176
+ 'short_description' => true,
177
+ 'icons' => true,
178
+ 'sections' => false,
179
+ 'rating' => false,
180
+ 'ratings' => false,
181
+ 'downloaded' => false,
182
+ 'last_updated' => false,
183
+ 'added' => false,
184
+ 'tags' => false,
185
+ 'homepage' => false,
186
+ 'donate_link' => false,
187
+ ),
188
+ )
189
+ );
190
+
191
+ if ( is_wp_error( $this->plugin_information ) ) {
192
+ $this->can_install = false;
193
+ } elseif ( isset( $this->plugin_information->requires ) ) {
194
+ $this->wp_compatibility = ( $this->plugin_information->requires <= get_bloginfo( 'version' ) );
195
+ } elseif ( isset( $this->plugin_information->requires_php ) ) {
196
+ $this->php_compatibility = ( $this->plugin_information->requires_php <= phpversion() );
197
+ }
198
+
199
+ $this->init = true;
200
+ }
201
+
202
+ // -- GETTER
203
+
204
+ /**
205
+ * Get plugin information return by WordPress function plugins_api().
206
+ * Check https://developer.wordpress.org/reference/functions/plugins_api/ form more information
207
+ *
208
+ * @return array if the instance has reach information from WordPress plugin repository, null if not.
209
+ */
210
+ public function get_plugin_information() {
211
+ if ( is_wp_error( $this->plugin_information ) ) {
212
+ return null;
213
+ }
214
+
215
+ return $this->plugin_information;
216
+ }
217
+
218
+ /**
219
+ * Get the plugin title.
220
+ *
221
+ * @return string The plugin title.
222
+ */
223
+ public function get_title() {
224
+ $pi = ( ! is_wp_error( $this->plugin_information ) && isset( $this->plugin_information->name ) ) ? $this->plugin_information->name : '';
225
+ return ( ! is_null( $this->params['title'] ) ) ? $this->params['title'] : $pi;
226
+ }
227
+
228
+ /**
229
+ * Get the plugin description.
230
+ *
231
+ * @return string The plugin short description.
232
+ */
233
+ public function get_description() {
234
+ $pi = ( ! is_wp_error( $this->plugin_information ) && isset( $this->plugin_information->short_description ) ) ? $this->plugin_information->short_description : '';
235
+ return ( ! is_null( $this->params['description'] ) ) ? $this->params['description'] : $pi;
236
+ }
237
+
238
+ /**
239
+ * Get the plugin icon.
240
+ *
241
+ * @return string The plugin icon as a img tag.
242
+ */
243
+ public function get_icon() {
244
+ $pi = ( ! is_wp_error( $this->plugin_information ) && isset( $this->plugin_information->icons ) ) ? '<img src="' . $this->plugin_information->icons['2x'] . '"/>' : '';
245
+ return ( ! is_null( $this->params['icon'] ) ) ? $this->params['icon'] : $pi;
246
+ }
247
+
248
+ /**
249
+ * Get the plugin activation ans installation status.
250
+ *
251
+ * @return string The plugin status as a one of this string ['activated', 'installed', 'not_installed'].
252
+ */
253
+ public function get_status() {
254
+ return $this->is_installed() ? ( $this->is_activated() ? 'activated' : 'installed' ) : 'not_installed';
255
+ }
256
+
257
+ /**
258
+ * Get the plugin status text.
259
+ *
260
+ * @param string $status Override the current status by this param.
261
+ * @return string The plugin status text based on the current or given one.
262
+ */
263
+ public function get_status_text( $status = null ) {
264
+ $s = ( is_string( $status ) && ! empty( $status ) ) ? $status : $this->get_status();
265
+ $st = array(
266
+ 'activated' => __( 'activated' ),
267
+ 'installed' => __( 'installed' ),
268
+ 'not_installed' => __( 'not installed' ),
269
+ );
270
+ if ( isset( $this->params['status_text'][ $s ] ) ) {
271
+ return $this->params['status_text'][ $s ];
272
+ }
273
+ return ( isset( $st[ $s ] ) ) ? $st[ $s ] : $st;
274
+ }
275
+
276
+ /**
277
+ * Get the plugin button text.
278
+ *
279
+ * @param string $status Override the current status by this param.
280
+ * @return string The plugin button text based on the current or given one.
281
+ */
282
+ public function get_button_text( $status = null ) {
283
+ $s = ( is_string( $status ) && ! empty( $status ) ) ? $status : $this->get_status();
284
+ $bt = array(
285
+ 'activated' => __( 'Already activated' ),
286
+ 'installed' => __( 'Activate plugin' ),
287
+ 'not_installed' => __( 'Install plugin' ),
288
+ );
289
+
290
+ if ( isset( $this->params['button_text'][ $s ] ) ) {
291
+ return $this->params['button_text'][ $s ];
292
+ }
293
+
294
+ return ( isset( $bt[ $s ] ) ) ? $bt[ $s ] : $bt;
295
+ }
296
+
297
+ /**
298
+ * Get the plugin activation or installation url.
299
+ *
300
+ * @param string $status Override the current status by this param.
301
+ * @return string The appropriate activation/installation url based on the current or given one.
302
+ */
303
+ public function get_install_url( $status = null ) {
304
+ $s = ( is_string( $status ) && ! empty( $status ) ) ? $status : $this->get_status();
305
+ $bl = array(
306
+ 'activated' => '#',
307
+ 'installed' => add_query_arg(
308
+ array(
309
+ 'action' => 'activate_plugin_' . $this->plugin_slug,
310
+ '_wpnonce' => wp_create_nonce( $this->nonce ),
311
+ '_wp_http_referer' => rawurlencode( $this->get_current_url() ),
312
+ ),
313
+ admin_url( 'admin-post.php' )
314
+ ),
315
+ 'not_installed' => add_query_arg(
316
+ array(
317
+ 'action' => 'install_plugin_' . $this->plugin_slug,
318
+ '_wpnonce' => wp_create_nonce( $this->nonce ),
319
+ '_wp_http_referer' => rawurlencode( $this->get_current_url() ),
320
+ ),
321
+ admin_url( 'admin-post.php' )
322
+ ),
323
+ );
324
+
325
+ if ( isset( $this->params['install_url'][ $s ] ) ) {
326
+ return $this->params['install_url'][ $s ];
327
+ }
328
+
329
+ return ( isset( $bl[ $s ] ) ) ? $bl[ $s ] : $bl;
330
+ }
331
+
332
+ /**
333
+ * Get the plugin activation status as a boolean.
334
+ *
335
+ * @return boolean True if plugin is activated false if not.
336
+ */
337
+ public function is_activated() {
338
+ if ( is_null( $this->activated ) ) {
339
+ require_once ABSPATH . 'wp-admin/includes/plugin.php';
340
+
341
+ if ( is_null( $this->installed ) ) {
342
+ $this->is_installed();
343
+ }
344
+
345
+ $this->activated = is_plugin_active( $this->plugin_file_path );
346
+ }
347
+
348
+ return $this->activated;
349
+ }
350
+
351
+ /**
352
+ * Get the plugin installation status as a boolean.
353
+ *
354
+ * @return boolean True if plugin is installed false if not.
355
+ */
356
+ public function is_installed() {
357
+ if ( is_null( $this->installed ) ) {
358
+ require_once ABSPATH . 'wp-admin/includes/plugin.php';
359
+
360
+ $installed_plugins = get_plugins();
361
+ $m = array();
362
+
363
+ foreach ( $installed_plugins as $k => $p ) {
364
+ preg_match( '/([a-zA-Z0-9-_\s]+)\/([a-zA-Z0-9-_]+)\.php/', $k, $m );
365
+
366
+ if ( isset( $m[2] ) && $this->plugin_slug === $m[2] ) {
367
+ $this->plugin_file_path = $k;
368
+ $this->installed = true;
369
+ break;
370
+ }
371
+ }
372
+ }
373
+
374
+ return $this->installed;
375
+ }
376
+
377
+
378
+ // -- SETTER
379
+
380
+ /**
381
+ * Set a title override.
382
+ *
383
+ * @param string $title Whatever you want, a appropriate title preferably.
384
+ * @return void
385
+ */
386
+ public function set_title( $title ) {
387
+ if ( is_string( $title ) ) {
388
+ $this->params['title'] = $title;
389
+ }
390
+ }
391
+
392
+ /**
393
+ * Set a description override.
394
+ *
395
+ * @param string $desc The description.
396
+ * @return void
397
+ */
398
+ public function set_description( $desc ) {
399
+ if ( is_string( $desc ) ) {
400
+ $this->params['description'] = $desc;
401
+ }
402
+ }
403
+
404
+ /**
405
+ * Set a icon override.
406
+ *
407
+ * @param string $string The icon, has a tag... no ? whatever.
408
+ * @return void
409
+ */
410
+ public function set_icon( $string ) {
411
+ if ( is_string( $string ) ) {
412
+ $this->params['icon'] = $string;
413
+ }
414
+ }
415
+
416
+ /**
417
+ * Set status text override.
418
+ *
419
+ * @param array $array An array of strings key must be valid status ['activated', 'installed', 'not_installed'].
420
+ * @return void
421
+ */
422
+ public function set_status_text( $array ) {
423
+ if ( is_array( $array ) && ! empty( $array ) ) {
424
+ $this->params['status_text'] = $array;
425
+ }
426
+ }
427
+
428
+ /**
429
+ * Set button text override.
430
+ *
431
+ * @param array $array An array of strings key must be valid status ['activated', 'installed', 'not_installed'].
432
+ * @return void
433
+ */
434
+ public function set_button_text( $array ) {
435
+ if ( is_array( $array ) && ! empty( $array ) ) {
436
+ $this->params['button_text'] = $array;
437
+ }
438
+ }
439
+
440
+ // -- Install and activation route and logic
441
+
442
+ /**
443
+ * Install plugin controller.
444
+ *
445
+ * @return mixed
446
+ */
447
+ public function install_callback() {
448
+ if ( ! check_admin_referer( $this->nonce ) ) {
449
+ return false;
450
+ }
451
+
452
+ if ( ! current_user_can( is_multisite() ? 'manage_network_plugins' : 'install_plugins' ) ) {
453
+ return false;
454
+ }
455
+
456
+ $notices = Notices::get_instance();
457
+ $result = $this->install();
458
+
459
+ if ( is_wp_error( $result ) ) {
460
+ $notices->append( 'error', $result->get_error_code() . ' : ' . $result->get_error_message() );
461
+ wp_safe_redirect( wp_get_referer() );
462
+ }
463
+
464
+ if ( $this->args['force_activation'] ) {
465
+ $result = $this->activate();
466
+
467
+ if ( is_wp_error( $result ) ) {
468
+ $notices->append( 'error', $result->get_error_code() . ' : ' . $result->get_error_message() );
469
+ wp_safe_redirect( wp_get_referer() );
470
+ }
471
+
472
+ $notices->append(
473
+ 'success',
474
+ sprintf(
475
+ // translators: %1$s: plugin title.
476
+ esc_html__( '%1$s has been successfully installed and activated.' ),
477
+ $this->get_title()
478
+ )
479
+ );
480
+ } else {
481
+ $notices->append(
482
+ 'success',
483
+ sprintf(
484
+ // translators: %1$s: plugin title.
485
+ esc_html__( '%1$s has been successfully installed.' ),
486
+ $this->get_title()
487
+ )
488
+ );
489
+ }
490
+
491
+ wp_safe_redirect( wp_get_referer() );
492
+ }
493
+
494
+ /**
495
+ * Activate plugin controller.
496
+ *
497
+ * @return mixed
498
+ */
499
+ public function activate_callback() {
500
+ if ( ! check_admin_referer( $this->nonce ) ) {
501
+ return false;
502
+ }
503
+
504
+ if ( ! current_user_can( is_multisite() ? 'manage_network_plugins' : 'install_plugins' ) ) {
505
+ return false;
506
+ }
507
+
508
+ $notices = Notices::get_instance();
509
+ $result = $this->activate();
510
+
511
+ if ( is_wp_error( $result ) ) {
512
+ $notices->append( 'error', $result->get_error_code() . ' : ' . $result->get_error_message() );
513
+
514
+ wp_safe_redirect( wp_get_referer() );
515
+ }
516
+
517
+ $notices->append(
518
+ 'success',
519
+ sprintf(
520
+ // translators: %1$s: plugin title.
521
+ esc_html__( '%1$s has been successfully activated.' ),
522
+ $this->get_title()
523
+ )
524
+ );
525
+
526
+ wp_safe_redirect( wp_get_referer() );
527
+ }
528
+
529
+ /**
530
+ * Install plugin.
531
+ *
532
+ * @return mixed
533
+ */
534
+ protected function install() {
535
+ $this->init();
536
+
537
+ if ( $this->installed ) {
538
+ return null;
539
+ }
540
+
541
+ require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
542
+
543
+ ob_start();
544
+ @set_time_limit( 0 ); // phpcs:ignore WordPress.PHP.NoSilencedErrors
545
+ $upgrader = new \Plugin_Upgrader( new \Automatic_Upgrader_Skin() );
546
+ $result = $upgrader->install( $this->plugin_information->download_link );
547
+ ob_end_clean();
548
+
549
+ if ( is_wp_error( $result ) ) {
550
+ return $result;
551
+ }
552
+
553
+ clearstatcache();
554
+
555
+ $this->plugin_file_path = $upgrader->plugin_info();
556
+ $this->installed = true;
557
+
558
+ return null;
559
+ }
560
+
561
+ /**
562
+ * Activate plugin.
563
+ *
564
+ * @return mixed
565
+ */
566
+ protected function activate() {
567
+ $this->init();
568
+
569
+ if ( $this->is_activated() ) {
570
+ return null;
571
+ }
572
+
573
+ require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
574
+
575
+ $result = activate_plugin( $this->plugin_file_path, false, is_multisite() );
576
+
577
+ if ( is_wp_error( $result ) ) {
578
+ return $result;
579
+ }
580
+
581
+ $this->activated = true;
582
+
583
+ return null;
584
+ }
585
+
586
+ // -- Helper
587
+
588
+ /**
589
+ * Card helper, construct a functional card.
590
+ *
591
+ * @param boolean $echo Print the result if true.
592
+ * @return mixed If echo is false, else it's return the card as a sting.
593
+ */
594
+ public function helper( $echo = true ) {
595
+ $this->init();
596
+
597
+ if ( false === $echo ) {
598
+ ob_start();
599
+ }
600
+
601
+ $this->render_helper();
602
+
603
+ if ( false === $echo ) {
604
+ $r = ob_get_contents();
605
+ ob_end_clean();
606
+ return $r;
607
+ }
608
+ }
609
+
610
+ /**
611
+ * Card helper, the real one.
612
+ *
613
+ * @return void
614
+ */
615
+ protected function render_helper() { ?>
616
+ <div class="card single-link">
617
+ <div class="link-infos">
618
+ <div class="link-infos-logo"><?php echo $this->get_icon(); // phpcs:ignore WordPress.Security.EscapeOutput ?></div>
619
+ <span class="link-infos-txt">
620
+ <h3><?php echo esc_html( $this->get_title() ); ?></h3>
621
+ <p>
622
+ <?php
623
+ printf(
624
+ // translators: %1$s: status (not installed, installed or activated).
625
+ esc_html__( 'Status : %1$s' ),
626
+ esc_html( $this->get_status_text() )
627
+ );
628
+ ?>
629
+ </p>
630
+ </span>
631
+ </div>
632
+ <div class="link-content"><?php echo $this->get_description(); // phpcs:ignore WordPress.Security.EscapeOutput ?></div>
633
+ <?php if ( 'activated' === $this->get_status() ) : ?>
634
+ <span class="wrapper-infos-active"><span class="dashicons dashicons-yes"></span><span class="info-active"><?php echo esc_html( $this->get_button_text() ); ?></span></span>
635
+ <?php else : ?>
636
+ <a class="link-btn button-primary referer-link <?php echo esc_attr( $this->get_status() ); ?>" href="<?php echo esc_url( $this->get_install_url() ); ?>"><?php echo esc_html( $this->get_button_text() ); ?></a>
637
+ <?php endif; ?>
638
+ </div>
639
+ <?php
640
+ }
641
+
642
+ // -- tools
643
+
644
+ /**
645
+ * Rebuilt current url.
646
+ *
647
+ * @return string The current url.
648
+ */
649
+ public function get_current_url() {
650
+ $_server_port = filter_input( INPUT_SERVER, 'SERVER_PORT', FILTER_SANITIZE_NUMBER_INT );
651
+ $_request_uri = ( ! empty( $GLOBALS['HTTP_SERVER_VARS']['REQUEST_URI'] ) )
652
+ ? $GLOBALS['HTTP_SERVER_VARS']['REQUEST_URI']
653
+ : filter_input( INPUT_SERVER, 'REQUEST_URI', FILTER_SANITIZE_URL );
654
+ $_http_host = filter_input( INPUT_SERVER, 'HTTP_HOST', FILTER_SANITIZE_URL );
655
+
656
+ $port = (int) $_server_port;
657
+ $port = 80 !== $port && 443 !== $port ? ( ':' . $port ) : '';
658
+ $url = $_request_uri ? $_request_uri : '';
659
+
660
+ return 'http' . ( is_ssl() ? 's' : '' ) . '://' . $_http_host . $port . $url;
661
+ }
662
+ }
Settings.php ADDED
@@ -0,0 +1,251 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Contains the Heartbeat_Control\Settings class.
4
+ *
5
+ * @package Heartbeat_Control
6
+ */
7
+
8
+ namespace Heartbeat_Control;
9
+
10
+ defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
11
+
12
+ /**
13
+ * Admin page handler class
14
+ */
15
+ class Settings {
16
+ /**
17
+ * A array of plugin card.
18
+ *
19
+ * @var array of Plugin_Card_Helper Object
20
+ */
21
+ protected $plugins_block = array();
22
+
23
+ /**
24
+ * Constructor.
25
+ *
26
+ * @return void
27
+ */
28
+ public function __construct() {
29
+ add_action( 'cmb2_render_slider', array( $this, 'render_slider_field' ), 10, 5 );
30
+
31
+ // we need this objects to declare there controller right now.
32
+ $imagify_partner = new Imagify_Partner( 'heartbeat-control' );
33
+ $imagify_partner->init();
34
+ $this->plugins_block = array(
35
+ 'rocket-lazy-load' => new Plugin_Card_Helper(
36
+ array(
37
+ 'plugin_slug' => 'rocket-lazy-load',
38
+ 'params' => array(
39
+ 'title' => 'LazyLoad',
40
+ ),
41
+ )
42
+ ),
43
+ 'wp-rocket' => new Plugin_Card_Helper(
44
+ array(
45
+ 'plugin_slug' => 'wp-rocket',
46
+ 'params' => array(
47
+ 'icon' => '<img src="' . HBC_PLUGIN_URL . 'assets/img/logo-rocket.jpg" alt="">',
48
+ 'title' => 'WP Rocket',
49
+ 'description' => sprintf(
50
+ // translators: %1$s %2$s: link markup.
51
+ esc_html__( 'Integrate more than 80&#x25; of web performance good practices automatically to %1$sreduce your website\'s loading time.%2$s', 'heartbeat-control' ),
52
+ '<strong>',
53
+ '</strong>'
54
+ ),
55
+ 'install_url' => array(
56
+ 'not_installed' => 'https://wp-rocket.me/?utm_source=wp_plugin&utm_medium=heartbeat_control',
57
+ ),
58
+ 'button_text' => array(
59
+ 'not_installed' => __( 'Get WP Rocket', 'heartbeat-control' ),
60
+ ),
61
+ ),
62
+ )
63
+ ),
64
+ 'imagify' => new Plugin_Card_Helper(
65
+ array(
66
+ 'plugin_slug' => 'imagify',
67
+ 'params' => array(
68
+ 'title' => 'Imagify',
69
+ 'description' => sprintf(
70
+ // translators: %1$s: line break, %2$s %3$s: bold markup.
71
+ esc_html__( '%2$sReduces image file sizes%3$s without losing quality.%1$sBy compressing your images you speed up your website and boost your SEO.', 'heartbeat-control' ),
72
+ '<br>',
73
+ '<strong>',
74
+ '</strong>'
75
+ ),
76
+ ),
77
+ )
78
+ ),
79
+ );
80
+ }
81
+
82
+ /**
83
+ * HOOKED, Slider field render.
84
+ *
85
+ * Refer to the links for documentation on cmb2 cmb2_render_<field_type> hook
86
+ * https://github.com/CMB2/CMB2/wiki
87
+ * http://hookr.io/plugins/cmb2/2.2.3.beta/actions/cmb2_render_fieldtype/
88
+ *
89
+ * @param obj CMB2_Field $field see CMB2 wiki.
90
+ * @param mixed $field_escaped_value unused.
91
+ * @param integer $field_object_id unused.
92
+ * @param string $field_object_type unused.
93
+ * @param obj CMB2_Types $field_type_object see CMB2 wiki.
94
+ * @return void
95
+ */
96
+ public function render_slider_field( $field, $field_escaped_value, $field_object_id, $field_object_type, $field_type_object ) {
97
+ echo '<div class="slider-field"></div>';
98
+ echo $field_type_object->input( // phpcs:ignore WordPress.Security.EscapeOutput
99
+ array(
100
+ 'type' => 'hidden',
101
+ 'class' => 'slider-field-value',
102
+ 'readonly' => 'readonly',
103
+ 'data-start' => absint( $field_escaped_value ),
104
+ 'data-min' => intval( $field->min() ),
105
+ 'data-max' => intval( $field->max() ),
106
+ 'data-step' => intval( $field->step() ),
107
+ 'desc' => '',
108
+ )
109
+ );
110
+ echo '<span class="slider-field-value-display">' . esc_html( $field->value_label() ) . ' <span class="slider-field-value-text"></span></span>';
111
+ $field_type_object->_desc( true, true );
112
+ }
113
+
114
+ /**
115
+ * Option admin page controller.
116
+ *
117
+ * @param obj $hookup CMB2_hookup.
118
+ * @return void
119
+ */
120
+ public function admin_controller_options( $hookup ) {
121
+ $cmb_form = cmb2_metabox_form(
122
+ $hookup->cmb,
123
+ $hookup->cmb->cmb_id,
124
+ array(
125
+ 'echo' => false,
126
+ 'save_button' => __( 'Save changes', 'heartbeat-control' ),
127
+ )
128
+ );
129
+ $plugins_block = $this->plugins_block;
130
+ $asset_image_url = HBC_PLUGIN_URL . 'assets/img/';
131
+ $notices = Notices::get_instance();
132
+ include HBC_PLUGIN_PATH . 'views/admin-page.php';
133
+ }
134
+
135
+ /**
136
+ * Option admin page enqueue script and style.
137
+ *
138
+ * @param string $hook Use for context validation.
139
+ * @return void
140
+ */
141
+ public function enqueue_scripts( $hook ) {
142
+ if ( 'settings_page_heartbeat_control_settings' !== $hook ) {
143
+ return;
144
+ }
145
+
146
+ wp_register_script( 'hbc_admin_script', HBC_PLUGIN_URL . 'assets/js/script.js', array( 'jquery', 'jquery-ui-slider' ), HBC_VERSION, false );
147
+ wp_enqueue_script( 'hbc_admin_script' );
148
+ wp_register_style( 'slider_ui', '//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.min.css', array(), '1.12.1' );
149
+ wp_enqueue_style( 'slider_ui' );
150
+ wp_register_style( 'hbc_admin_style', HBC_PLUGIN_URL . 'assets/css/style.min.css', array(), HBC_VERSION );
151
+ wp_enqueue_style( 'hbc_admin_style' );
152
+
153
+ }
154
+
155
+ /**
156
+ * Declare cmb2 metaboxes.
157
+ *
158
+ * @return void
159
+ */
160
+ public function init_metaboxes() {
161
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
162
+ add_action(
163
+ 'cmb2_save_options-page_fields',
164
+ function( $object_id, $cmb_id, $updated, $t ) {
165
+ if ( 'heartbeat_control_settings' === $object_id && $updated ) {
166
+ $notices = Notices::get_instance();
167
+ $notices->append( 'success', __( 'Your changes have been saved successfully!', 'heartbeat-control' ) );
168
+ }
169
+ },
170
+ 10,
171
+ 4
172
+ );
173
+
174
+ $behavior = array(
175
+ 'name' => __( 'Heartbeat Behavior', 'heartbeat-control' ),
176
+ 'id' => 'heartbeat_control_behavior',
177
+ 'type' => 'radio_inline',
178
+ 'default' => 'allow',
179
+ 'classes' => 'heartbeat_behavior',
180
+ 'options' => array(
181
+ 'allow' => __( 'Allow Heartbeat', 'heartbeat-control' ),
182
+ 'disable' => __( 'Disable Heartbeat', 'heartbeat-control' ),
183
+ 'modify' => __( 'Modify Heartbeat', 'heartbeat-control' ),
184
+ ),
185
+ );
186
+
187
+ $frequency = array(
188
+ 'name' => __( 'Override Heartbeat frequency', 'heartbeat-control' ),
189
+ 'id' => 'heartbeat_control_frequency',
190
+ 'type' => 'slider',
191
+ 'min' => '15',
192
+ 'step' => '1',
193
+ 'max' => '300',
194
+ 'default' => '15',
195
+ 'classes' => 'heartbeat_frequency',
196
+ );
197
+
198
+ $cmb_options = new_cmb2_box(
199
+ array(
200
+ 'id' => 'heartbeat_control_settings',
201
+ 'title' => __( 'Heartbeat Control', 'heartbeat-control' ),
202
+ 'object_types' => array( 'options-page' ),
203
+ 'option_key' => 'heartbeat_control_settings',
204
+ 'capability' => 'manage_options',
205
+ 'parent_slug' => 'options-general.php',
206
+ 'display_cb' => array( $this, 'admin_controller_options' ),
207
+ )
208
+ );
209
+
210
+ $dash_group = $cmb_options->add_field(
211
+ array(
212
+ 'id' => 'rules_dash',
213
+ 'type' => 'group',
214
+ 'repeatable' => false,
215
+ 'options' => array(
216
+ 'group_title' => '<span class="dashicons dashicons-dashboard"></span> ' . __( 'WordPress Dashboard', 'heartbeat-control' ),
217
+ ),
218
+ )
219
+ );
220
+ $cmb_options->add_group_field( $dash_group, $behavior );
221
+ $cmb_options->add_group_field( $dash_group, $frequency );
222
+
223
+ $front_group = $cmb_options->add_field(
224
+ array(
225
+ 'id' => 'rules_front',
226
+ 'type' => 'group',
227
+ 'repeatable' => false,
228
+ 'options' => array(
229
+ 'group_title' => '<span class="dashicons dashicons-admin-appearance"></span> ' . __( 'Frontend', 'heartbeat-control' ),
230
+ ),
231
+ )
232
+ );
233
+ $cmb_options->add_group_field( $front_group, $behavior );
234
+ $cmb_options->add_group_field( $front_group, $frequency );
235
+
236
+ $editor_group = $cmb_options->add_field(
237
+ array(
238
+ 'id' => 'rules_editor',
239
+ 'type' => 'group',
240
+ 'repeatable' => false,
241
+ 'options' => array(
242
+ 'group_title' => '<span class="dashicons dashicons-admin-post"></span> ' . __( 'Post editor', 'heartbeat-control' ),
243
+ ),
244
+ )
245
+ );
246
+ $cmb_options->add_group_field( $editor_group, $behavior );
247
+ $cmb_options->add_group_field( $editor_group, $frequency );
248
+
249
+ }
250
+
251
+ }
assets/css/style.css ADDED
@@ -0,0 +1,573 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+
3
+ COLORS
4
+
5
+ */
6
+ #tab_about-us {
7
+ background: #fff; }
8
+
9
+ .wrapper-top {
10
+ width: 100%;
11
+ display: -ms-flexbox;
12
+ display: flex;
13
+ -ms-flex-direction: row;
14
+ flex-direction: row;
15
+ padding: 20px 20px 0 20px;
16
+ box-sizing: border-box; }
17
+ @media only screen and (max-width: 860px) {
18
+ .wrapper-top {
19
+ -ms-flex-direction: column;
20
+ flex-direction: column; } }
21
+ .wrapper-top .top-img {
22
+ display: -ms-flexbox;
23
+ display: flex;
24
+ width: 50%; }
25
+ .wrapper-top .top-img img {
26
+ width: 380px;
27
+ height: 250px; }
28
+ .wrapper-top .top-txt {
29
+ display: -ms-flexbox;
30
+ display: flex;
31
+ width: 50%;
32
+ -ms-flex-direction: column;
33
+ flex-direction: column;
34
+ font-weight: 400; }
35
+ @media only screen and (max-width: 860px) {
36
+ .wrapper-top .top-txt {
37
+ margin-top: 20px;
38
+ width: 100%; } }
39
+ .wrapper-top .top-txt h2 {
40
+ font-size: 22px;
41
+ font-weight: 700;
42
+ margin-top: 0; }
43
+ .wrapper-top .top-txt p {
44
+ font-size: 15px;
45
+ line-height: 24px;
46
+ margin: 5px 0; }
47
+
48
+ .wrapper-bottom {
49
+ display: -ms-flexbox;
50
+ display: flex;
51
+ -ms-flex-pack: justify;
52
+ justify-content: space-between;
53
+ padding: 20px; }
54
+ @media only screen and (max-width: 860px) {
55
+ .wrapper-bottom {
56
+ -ms-flex-direction: column;
57
+ flex-direction: column; } }
58
+ .wrapper-bottom .single-link {
59
+ display: -ms-flexbox;
60
+ display: flex;
61
+ width: 32%;
62
+ -ms-flex-direction: column;
63
+ flex-direction: column;
64
+ padding: 20px;
65
+ background: #f6f6f6;
66
+ box-sizing: border-box;
67
+ text-decoration: none;
68
+ color: #494949;
69
+ position: relative;
70
+ height: 270px;
71
+ margin-top: 0 !important;
72
+ border: none !important; }
73
+ @media only screen and (max-width: 860px) {
74
+ .wrapper-bottom .single-link {
75
+ width: 100%;
76
+ margin-bottom: 20px; } }
77
+ .wrapper-bottom .single-link .link-infos {
78
+ display: -ms-flexbox;
79
+ display: flex;
80
+ margin-bottom: 20px;
81
+ -ms-flex-align: center;
82
+ align-items: center; }
83
+ .wrapper-bottom .single-link .link-infos .link-infos-logo {
84
+ width: 64px;
85
+ height: 64px;
86
+ margin-right: 10px; }
87
+ .wrapper-bottom .single-link .link-infos .link-infos-logo img {
88
+ width: 100%; }
89
+ .wrapper-bottom .single-link .link-infos .link-infos-txt {
90
+ display: -ms-flexbox;
91
+ display: flex;
92
+ -ms-flex-direction: column;
93
+ flex-direction: column; }
94
+ .wrapper-bottom .single-link .link-infos .link-infos-txt h3 {
95
+ color: #f56640;
96
+ margin-bottom: 0;
97
+ margin-top: 0; }
98
+ .wrapper-bottom .single-link .link-infos .link-infos-txt p {
99
+ margin-top: 0;
100
+ margin-bottom: 0; }
101
+ .wrapper-bottom .single-link .link-content {
102
+ font-size: 14px;
103
+ line-height: 20px;
104
+ margin-bottom: 20px;
105
+ font-weight: 400; }
106
+ .wrapper-bottom .single-link .link-btn {
107
+ padding: 10px 20px;
108
+ background: #494949;
109
+ color: #fff;
110
+ width: -webkit-max-content;
111
+ width: -moz-max-content;
112
+ width: max-content;
113
+ text-transform: uppercase;
114
+ font-size: 15px;
115
+ border-radius: 5px;
116
+ margin-left: 0;
117
+ position: absolute;
118
+ bottom: 20px;
119
+ margin-bottom: 0; }
120
+ .wrapper-bottom .single-link .link-btn:hover {
121
+ background: #23282d; }
122
+ .wrapper-bottom .single-link .wrapper-infos-active {
123
+ display: -ms-flexbox;
124
+ display: flex;
125
+ position: absolute;
126
+ bottom: 20px;
127
+ height: 40px;
128
+ -ms-flex-align: center;
129
+ align-items: center; }
130
+ .wrapper-bottom .single-link .wrapper-infos-active .dashicons-yes {
131
+ width: 18px;
132
+ height: 18px;
133
+ background: #494949;
134
+ color: #fff;
135
+ display: -ms-flexbox;
136
+ display: flex;
137
+ -ms-flex-pack: center;
138
+ justify-content: center;
139
+ -ms-flex-align: center;
140
+ align-items: center;
141
+ margin-right: 5px; }
142
+ .wrapper-bottom .single-link .wrapper-infos-active .info-active {
143
+ font-size: 15px;
144
+ color: #494949;
145
+ text-transform: uppercase;
146
+ font-weight: 700; }
147
+ .wrapper-bottom .single-link.imagify .link-infos .link-infos-logo {
148
+ background: url(../img/mini-imagify.svg); }
149
+ .wrapper-bottom .single-link.imagify .link-infos .link-infos-txt h3 {
150
+ color: #00B3D4; }
151
+
152
+ .imagify-welcome .button-primary.button-primary {
153
+ width: -webkit-max-content;
154
+ width: -moz-max-content;
155
+ width: max-content; }
156
+ .imagify-welcome .button-primary.button-primary:hover {
157
+ background: #338ea6 !important; }
158
+
159
+ .wrapper-settings {
160
+ width: 860px;
161
+ overflow: hidden;
162
+ margin-top: 20px; }
163
+ @media only screen and (max-width: 860px) {
164
+ .wrapper-settings {
165
+ width: 100%; } }
166
+
167
+ .wrapper-nav {
168
+ background: #fff; }
169
+
170
+ .nav-tab-wrapper {
171
+ background: #fff;
172
+ padding-top: 0 !important;
173
+ margin-top: 9px !important;
174
+ margin-left: 20px !important;
175
+ margin-right: 20px !important; }
176
+ .nav-tab-wrapper:before {
177
+ content: ""; }
178
+ .nav-tab-wrapper:after {
179
+ content: ""; }
180
+ .nav-tab-wrapper .nav-tab {
181
+ cursor: pointer;
182
+ background: #fff;
183
+ border: none;
184
+ color: #494949;
185
+ font-size: 16px;
186
+ font-weight: 400;
187
+ padding: 10px 10px;
188
+ margin-left: 0;
189
+ margin-right: 2px; }
190
+ .nav-tab-wrapper .nav-tab:hover {
191
+ color: #f56640; }
192
+ .nav-tab-wrapper .nav-tab-active {
193
+ color: #f56640;
194
+ border-bottom: 2px solid #f56640; }
195
+
196
+ .btn {
197
+ padding: 10px 20px;
198
+ width: -webkit-max-content;
199
+ width: -moz-max-content;
200
+ width: max-content;
201
+ text-transform: uppercase;
202
+ font-size: 15px;
203
+ border-radius: 4px;
204
+ text-decoration: none;
205
+ font-weight: 600; }
206
+
207
+ .header {
208
+ background: #f56640;
209
+ color: #fff;
210
+ display: -ms-flexbox;
211
+ display: flex;
212
+ -ms-flex-pack: justify;
213
+ justify-content: space-between;
214
+ -ms-flex-align: center;
215
+ align-items: center;
216
+ padding: 30px 20px;
217
+ margin-bottom: 20px; }
218
+ @media only screen and (max-width: 860px) {
219
+ .header {
220
+ -ms-flex-direction: column;
221
+ flex-direction: column; } }
222
+ .header .header-right {
223
+ text-align: right; }
224
+ @media only screen and (max-width: 860px) {
225
+ .header .header-right {
226
+ text-align: center; } }
227
+ .header .txt-1 {
228
+ font-size: 15px;
229
+ line-height: 24px;
230
+ font-weight: 600; }
231
+ .header .txt-2 {
232
+ font-size: 15px;
233
+ line-height: 24px; }
234
+ .header .txt-2 a {
235
+ color: #fff; }
236
+ .header .txt-2 a:hover {
237
+ text-decoration: none; }
238
+ .header .txt-3 {
239
+ margin-top: 5px; }
240
+ .header .txt-3 a {
241
+ color: #fff;
242
+ text-decoration: none; }
243
+ .header .txt-3 span {
244
+ margin-left: 5px; }
245
+
246
+ .wrapper-intro {
247
+ display: -ms-flexbox;
248
+ display: flex;
249
+ margin-top: -26px;
250
+ background: #fff;
251
+ width: 100%;
252
+ padding-top: 20px;
253
+ overflow: hidden; }
254
+ @media only screen and (max-width: 860px) {
255
+ .wrapper-intro {
256
+ margin-bottom: 60px; } }
257
+ .wrapper-intro .wrapper-left {
258
+ display: -ms-flexbox;
259
+ display: flex;
260
+ -ms-flex-direction: column;
261
+ flex-direction: column;
262
+ width: 335px;
263
+ -ms-flex-pack: center;
264
+ justify-content: center;
265
+ padding-left: 40px; }
266
+ @media only screen and (max-width: 860px) {
267
+ .wrapper-intro .wrapper-left {
268
+ width: 100%; } }
269
+ .wrapper-intro .wrapper-left .wrapper-txt p {
270
+ font-size: 16px !important; }
271
+ .wrapper-intro .wrapper-left .btn {
272
+ background: #f56640;
273
+ color: #fff;
274
+ transition: all .275s; }
275
+ .wrapper-intro .wrapper-left .btn:hover {
276
+ background: #FC8665;
277
+ -ms-transform: translateY(-2px);
278
+ transform: translateY(-2px); }
279
+ .wrapper-intro .wrapper-right {
280
+ display: -ms-flexbox;
281
+ display: flex;
282
+ width: 485px;
283
+ height: 370px;
284
+ position: relative; }
285
+ @media only screen and (max-width: 860px) {
286
+ .wrapper-intro .wrapper-right {
287
+ display: none; } }
288
+ .wrapper-intro .wrapper-right .wrapper-right-img {
289
+ background-image: url(../img/laptop.png);
290
+ background-repeat: no-repeat;
291
+ height: 100%;
292
+ width: 100%;
293
+ position: absolute;
294
+ top: 0; }
295
+
296
+ .wrapper-numbers {
297
+ background: #372954;
298
+ color: #fff;
299
+ padding-top: 60px;
300
+ margin-top: -26px; }
301
+ .wrapper-numbers .top-part {
302
+ font-size: 20px;
303
+ padding: 0 260px;
304
+ text-align: center;
305
+ line-height: 28px;
306
+ margin-bottom: 60px; }
307
+ @media only screen and (max-width: 860px) {
308
+ .wrapper-numbers .top-part {
309
+ padding: 0 20px; } }
310
+ .wrapper-numbers .bottom-part {
311
+ padding: 0 10px 80px 10px; }
312
+ .wrapper-numbers .bottom-part ul {
313
+ display: -ms-flexbox;
314
+ display: flex;
315
+ -ms-flex-pack: justify;
316
+ justify-content: space-between; }
317
+ @media only screen and (max-width: 860px) {
318
+ .wrapper-numbers .bottom-part ul {
319
+ -ms-flex-direction: column;
320
+ flex-direction: column;
321
+ -ms-flex-pack: center;
322
+ justify-content: center;
323
+ -ms-flex-align: center;
324
+ align-items: center; } }
325
+ .wrapper-numbers .bottom-part ul li {
326
+ display: -ms-flexbox;
327
+ display: flex;
328
+ -ms-flex-direction: column;
329
+ flex-direction: column;
330
+ width: 23%;
331
+ padding: 0 20px; }
332
+ @media only screen and (max-width: 860px) {
333
+ .wrapper-numbers .bottom-part ul li {
334
+ width: 50%;
335
+ margin-bottom: 20px; } }
336
+ .wrapper-numbers .bottom-part ul li .visuel {
337
+ text-align: center;
338
+ margin-bottom: 20px;
339
+ height: 60px; }
340
+ .wrapper-numbers .bottom-part ul li .visuel-chiffre {
341
+ background-image: url(../img/80.svg);
342
+ background-repeat: no-repeat;
343
+ background-position: center; }
344
+ .wrapper-numbers .bottom-part ul li .txt {
345
+ font-size: 14px;
346
+ text-align: center; }
347
+ .wrapper-numbers .bottom-part ul li:first-child .visuel {
348
+ font-size: 40px;
349
+ font-weight: 700; }
350
+
351
+ .wrapper-video {
352
+ padding: 0 60px; }
353
+ .wrapper-video .wrapper-iframe {
354
+ display: -ms-flexbox;
355
+ display: flex;
356
+ -ms-flex-pack: center;
357
+ justify-content: center;
358
+ margin-top: -54px;
359
+ padding-bottom: 40px; }
360
+ .wrapper-video .wrapper-iframe .wistia_responsive_padding {
361
+ width: 100%; }
362
+ .wrapper-video .wrapper-iframe .w-big-play-button.w-css-reset-button-important.w-vulcan-v2-button {
363
+ background: #0e1c23 !important; }
364
+
365
+ .ytp-chrome-top {
366
+ display: none !important; }
367
+
368
+ .wrapper-contact {
369
+ background-color: #f56640;
370
+ background-image: url(../img/fusee.png) !important;
371
+ background-repeat: no-repeat !important;
372
+ padding: 44px 70px;
373
+ color: #fff;
374
+ display: -ms-flexbox;
375
+ display: flex;
376
+ -ms-flex-align: center;
377
+ align-items: center; }
378
+ @media only screen and (max-width: 860px) {
379
+ .wrapper-contact {
380
+ -ms-flex-direction: column;
381
+ flex-direction: column; } }
382
+ .wrapper-contact .txt {
383
+ width: 70%;
384
+ font-size: 20px;
385
+ line-height: 28px;
386
+ padding-right: 40px; }
387
+ @media only screen and (max-width: 860px) {
388
+ .wrapper-contact .txt {
389
+ width: 100%;
390
+ padding-right: 0; } }
391
+ @media only screen and (max-width: 860px) {
392
+ .wrapper-contact .contact-btn {
393
+ margin-top: 20px; } }
394
+ .wrapper-contact .contact-btn a {
395
+ padding: 10px 10px; }
396
+ .wrapper-contact a {
397
+ width: 30%;
398
+ background: #0E1C23;
399
+ color: #fff;
400
+ transition: all .275s; }
401
+ .wrapper-contact a:hover {
402
+ background: #3D474E;
403
+ -ms-transform: translateY(-2px);
404
+ transform: translateY(-2px); }
405
+
406
+ /*
407
+
408
+ CMB PART...
409
+
410
+ */
411
+ #cmb2-metabox-settings_page_heartbeat_control_settings {
412
+ padding: 20px;
413
+ margin-top: -30px; }
414
+
415
+ .cmb-type-group .cmb-th + .cmb-td {
416
+ float: left !important;
417
+ padding-left: 70px; }
418
+
419
+ .cmb-row h3 span:first-of-type {
420
+ display: -ms-flexbox;
421
+ display: flex;
422
+ -ms-flex-align: center;
423
+ align-items: center; }
424
+ .cmb-row h3 span:first-of-type .dashicons {
425
+ font-size: 30px !important;
426
+ margin-right: 20px; }
427
+
428
+ .js .closed .inside {
429
+ display: block !important; }
430
+
431
+ .ui-state-default, .ui-widget-content .ui-state-default {
432
+ background: #494949;
433
+ border: 1px solid #979797; }
434
+
435
+ .ui-widget.ui-widget-content {
436
+ background: #D8D8D8; }
437
+
438
+ .ui-slider-horizontal .ui-slider-range {
439
+ background: #494949; }
440
+
441
+ .wrapper-settings .button-primary {
442
+ background: #f56640;
443
+ border: none;
444
+ text-shadow: none;
445
+ box-shadow: none;
446
+ text-transform: uppercase;
447
+ font-weight: 600;
448
+ border-radius: 4px;
449
+ padding: 0 20px;
450
+ font-size: 15px;
451
+ margin-bottom: 20px;
452
+ height: 40px;
453
+ display: -ms-flexbox;
454
+ display: flex;
455
+ -ms-flex-align: center;
456
+ align-items: center;
457
+ transition: all .275s; }
458
+ .wrapper-settings .button-primary:hover {
459
+ background: #FC8665 !important;
460
+ -ms-transform: translateY(-2px);
461
+ transform: translateY(-2px); }
462
+
463
+ input[type=radio]:checked:before {
464
+ background: #494949 !important; }
465
+
466
+ .cmb-type-group .cmb-repeat-group-field {
467
+ padding-top: 10px !important; }
468
+
469
+ .cmb-type-group .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type), .cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb2-postbox .cmb-row:not(:last-of-type) {
470
+ border: none;
471
+ background: #f7f7f7; }
472
+
473
+ .cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-td {
474
+ margin-top: 0 !important; }
475
+
476
+ .cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-td {
477
+ padding: 0 !important; }
478
+
479
+ .cmb-repeatable-group:last-of-type {
480
+ background: #f7f7f7; }
481
+
482
+ .cmb-type-radio-inline .cmb-th {
483
+ display: none; }
484
+
485
+ .cmb-row.cmb-type-slider.cmb2-id-rules-dash-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency {
486
+ display: -ms-flexbox;
487
+ display: flex;
488
+ padding-left: 60px !important; }
489
+ @media only screen and (max-width: 860px) {
490
+ .cmb-row.cmb-type-slider.cmb2-id-rules-dash-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency {
491
+ -ms-flex-direction: column;
492
+ flex-direction: column; } }
493
+
494
+ .cmb-row.cmb-type-slider.cmb2-id-rules-front-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency {
495
+ display: -ms-flexbox;
496
+ display: flex;
497
+ padding-left: 60px !important; }
498
+ @media only screen and (max-width: 860px) {
499
+ .cmb-row.cmb-type-slider.cmb2-id-rules-front-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency {
500
+ -ms-flex-direction: column;
501
+ flex-direction: column; } }
502
+
503
+ .cmb-row.cmb-type-slider.cmb2-id-rules-editor-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency {
504
+ display: -ms-flexbox;
505
+ display: flex;
506
+ padding-left: 60px !important; }
507
+ @media only screen and (max-width: 860px) {
508
+ .cmb-row.cmb-type-slider.cmb2-id-rules-editor-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency {
509
+ -ms-flex-direction: column;
510
+ flex-direction: column; } }
511
+
512
+ .cmb-type-group .cmb-row:not(:last-of-type) {
513
+ border-bottom: none !important;
514
+ margin-bottom: 0 !important; }
515
+
516
+ .cmb-inline ul {
517
+ padding-left: 60px !important; }
518
+
519
+ .cmb-row:last-of-type, .cmb2-wrap .cmb-row:last-of-type {
520
+ padding: 0 !important;
521
+ background: #f7f7f7; }
522
+
523
+ .cmb-type-group .cmb-th {
524
+ width: 220px !important;
525
+ padding: 0 !important; }
526
+
527
+ .cmb2-wrap .cmb-row:after {
528
+ width: 1px !important; }
529
+
530
+ .cmb-row.cmb-type-slider.cmb2-id-rules-dash-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency .cmb-td {
531
+ padding-left: 5px !important;
532
+ width: 65% !important;
533
+ padding-top: 7px !important; }
534
+
535
+ .cmb-row.cmb-type-slider.cmb2-id-rules-front-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency .cmb-td {
536
+ padding-left: 5px !important;
537
+ width: 65% !important;
538
+ padding-top: 7px !important; }
539
+
540
+ .cmb-row.cmb-type-slider.cmb2-id-rules-editor-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency .cmb-td {
541
+ padding-left: 5px !important;
542
+ width: 65% !important;
543
+ padding-top: 7px !important; }
544
+
545
+ .cmb2-wrap {
546
+ padding: 20px;
547
+ box-sizing: border-box;
548
+ background: #fff;
549
+ margin-bottom: 20px !important; }
550
+ .cmb2-wrap .cmb-row {
551
+ margin-bottom: 20px !important; }
552
+ .cmb2-wrap .cmb-row .cmb-repeatable-group .postbox {
553
+ box-shadow: none; }
554
+ .cmb2-wrap .cmb-row .cmb-repeatable-group .postbox .cmbhandle {
555
+ display: none; }
556
+ .cmb2-wrap .cmb-row .cmb-repeatable-group .cmb-repeatable-grouping {
557
+ border: none;
558
+ padding: 0 !important;
559
+ overflow: hidden; }
560
+ .cmb2-wrap .cmb-row .cmb-repeatable-group .cmb-group-title {
561
+ background: #f7f7f7;
562
+ padding-top: 15px; }
563
+ .cmb2-wrap .cmb-row .cmb-repeatable-group .cmb-group-title span {
564
+ font-size: 16px;
565
+ font-weight: bold;
566
+ color: #494949; }
567
+ .cmb2-wrap .inside {
568
+ padding: 0 40px; }
569
+ .cmb2-wrap .cmb-type-radio-inline {
570
+ margin-bottom: 0; }
571
+
572
+ .cmb-type-group .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type), .cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb2-postbox .cmb-row:not(:last-of-type) {
573
+ border: none; }
assets/css/style.min.css ADDED
@@ -0,0 +1 @@
 
1
+ #tab_about-us{background:#fff}.wrapper-top{width:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;padding:20px 20px 0;box-sizing:border-box}@media only screen and (max-width:860px){.wrapper-top{-ms-flex-direction:column;flex-direction:column}}.wrapper-top .top-img,.wrapper-top .top-txt{display:-ms-flexbox;display:flex;width:50%}.wrapper-top .top-img img{width:380px;height:250px}.wrapper-top .top-txt{-ms-flex-direction:column;flex-direction:column;font-weight:400}@media only screen and (max-width:860px){.wrapper-top .top-txt{margin-top:20px;width:100%}}.wrapper-top .top-txt h2{font-size:22px;font-weight:700;margin-top:0}.wrapper-top .top-txt p{font-size:15px;line-height:24px;margin:5px 0}.wrapper-bottom{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:20px}@media only screen and (max-width:860px){.wrapper-bottom{-ms-flex-direction:column;flex-direction:column}}.wrapper-bottom .single-link{width:32%;padding:20px;background:#f6f6f6;box-sizing:border-box;text-decoration:none;color:#494949;position:relative;height:270px;margin-top:0!important;border:none!important}@media only screen and (max-width:860px){.wrapper-bottom .single-link{width:100%;margin-bottom:20px}}.wrapper-bottom .single-link .link-infos{display:-ms-flexbox;display:flex;margin-bottom:20px;-ms-flex-align:center;align-items:center}.wrapper-bottom .single-link .link-infos .link-infos-logo{width:64px;height:64px;margin-right:10px}.wrapper-bottom .single-link .link-infos .link-infos-logo img{width:100%}.wrapper-bottom .single-link,.wrapper-bottom .single-link .link-infos .link-infos-txt,.wrapper-numbers .bottom-part ul li{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.wrapper-bottom .single-link .link-infos .link-infos-txt h3{color:#f56640;margin-bottom:0;margin-top:0}.wrapper-bottom .single-link .link-infos .link-infos-txt p{margin-top:0;margin-bottom:0}.wrapper-bottom .single-link .link-content{font-size:14px;line-height:20px;margin-bottom:20px;font-weight:400}.wrapper-bottom .single-link .link-btn{padding:10px 20px;background:#494949;color:#fff;width:-webkit-max-content;width:-moz-max-content;width:max-content;text-transform:uppercase;font-size:15px;border-radius:5px;margin-left:0;position:absolute;bottom:20px;margin-bottom:0}.wrapper-bottom .single-link .link-btn:hover{background:#23282d}.wrapper-bottom .single-link .wrapper-infos-active{display:-ms-flexbox;display:flex;position:absolute;bottom:20px;height:40px;-ms-flex-align:center;align-items:center}.wrapper-bottom .single-link .wrapper-infos-active .dashicons-yes{width:18px;height:18px;background:#494949;color:#fff;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;margin-right:5px}.wrapper-bottom .single-link .wrapper-infos-active .info-active{font-size:15px;color:#494949;text-transform:uppercase;font-weight:700}.wrapper-bottom .single-link.imagify .link-infos .link-infos-logo{background:url(../img/mini-imagify.svg)}.wrapper-bottom .single-link.imagify .link-infos .link-infos-txt h3{color:#00b3d4}.imagify-welcome .button-primary.button-primary{width:-webkit-max-content;width:-moz-max-content;width:max-content}.imagify-welcome .button-primary.button-primary:hover{background:#338ea6!important}.wrapper-settings{width:860px;overflow:hidden;margin-top:20px}@media only screen and (max-width:860px){.wrapper-settings{width:100%}}.wrapper-nav{background:#fff}.nav-tab-wrapper{background:#fff;padding-top:0!important;margin-top:9px!important;margin-left:20px!important;margin-right:20px!important}.nav-tab-wrapper:after,.nav-tab-wrapper:before{content:""}.nav-tab-wrapper .nav-tab{cursor:pointer;background:#fff;border:none;color:#494949;font-size:16px;font-weight:400;padding:10px;margin-left:0;margin-right:2px}.nav-tab-wrapper .nav-tab:hover{color:#f56640}.nav-tab-wrapper .nav-tab-active{color:#f56640;border-bottom:2px solid #f56640}.btn{padding:10px 20px;width:-webkit-max-content;width:-moz-max-content;width:max-content;text-transform:uppercase;font-size:15px;border-radius:4px;text-decoration:none;font-weight:600}.header{background:#f56640;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;padding:30px 20px;margin-bottom:20px}@media only screen and (max-width:860px){.header{-ms-flex-direction:column;flex-direction:column}}.header .header-right{text-align:right}@media only screen and (max-width:860px){.header .header-right{text-align:center}}.header .txt-1{font-weight:600}.header .txt-1,.header .txt-2{font-size:15px;line-height:24px}.header,.header .txt-2 a{color:#fff}.header .txt-2 a:hover,.header .txt-3 a{text-decoration:none}.header .txt-3{margin-top:5px}.header .txt-3 a{color:#fff}.header .txt-3 span{margin-left:5px}.wrapper-intro{display:-ms-flexbox;display:flex;margin-top:-26px;background:#fff;width:100%;padding-top:20px;overflow:hidden}@media only screen and (max-width:860px){.wrapper-intro{margin-bottom:60px}}.wrapper-intro .wrapper-left{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:335px;-ms-flex-pack:center;justify-content:center;padding-left:40px}@media only screen and (max-width:860px){.wrapper-intro .wrapper-left{width:100%}}.wrapper-intro .wrapper-left .wrapper-txt p{font-size:16px!important}.wrapper-intro .wrapper-left .btn{background:#f56640;color:#fff;transition:all .275s}.wrapper-intro .wrapper-left .btn:hover{background:#fc8665;-ms-transform:translateY(-2px);transform:translateY(-2px)}.wrapper-intro .wrapper-right{display:-ms-flexbox;display:flex;width:485px;height:370px;position:relative}@media only screen and (max-width:860px){.wrapper-intro .wrapper-right{display:none}}.wrapper-intro .wrapper-right .wrapper-right-img{background-image:url(../img/laptop.png);background-repeat:no-repeat;height:100%;width:100%;position:absolute;top:0}.wrapper-numbers{background:#372954;color:#fff;padding-top:60px;margin-top:-26px}.wrapper-numbers .top-part{font-size:20px;padding:0 260px;text-align:center;line-height:28px;margin-bottom:60px}@media only screen and (max-width:860px){.wrapper-numbers .top-part{padding:0 20px}}.wrapper-numbers .bottom-part{padding:0 10px 80px}.wrapper-numbers .bottom-part ul{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}@media only screen and (max-width:860px){.wrapper-numbers .bottom-part ul{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}}.wrapper-numbers .bottom-part ul li{width:23%;padding:0 20px}@media only screen and (max-width:860px){.wrapper-numbers .bottom-part ul li{width:50%;margin-bottom:20px}}.wrapper-numbers .bottom-part ul li .visuel{text-align:center;margin-bottom:20px;height:60px}.wrapper-numbers .bottom-part ul li .visuel-chiffre{background-image:url(../img/80.svg);background-repeat:no-repeat;background-position:center}.wrapper-numbers .bottom-part ul li .txt{font-size:14px;text-align:center}.wrapper-numbers .bottom-part ul li:first-child .visuel{font-size:40px;font-weight:700}.wrapper-video{padding:0 60px}.wrapper-video .wrapper-iframe{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;margin-top:-54px;padding-bottom:40px}.wrapper-video .wrapper-iframe .wistia_responsive_padding{width:100%}.wrapper-video .wrapper-iframe .w-big-play-button.w-css-reset-button-important.w-vulcan-v2-button{background:#0e1c23!important}.ytp-chrome-top{display:none!important}.wrapper-contact{background-color:#f56640;background-image:url(../img/fusee.png)!important;background-repeat:no-repeat!important;padding:44px 70px;color:#fff;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}@media only screen and (max-width:860px){.wrapper-contact{-ms-flex-direction:column;flex-direction:column}}.wrapper-contact .txt{width:70%;font-size:20px;line-height:28px;padding-right:40px}@media only screen and (max-width:860px){.wrapper-contact .txt{width:100%;padding-right:0}.wrapper-contact .contact-btn{margin-top:20px}}.wrapper-contact .contact-btn a{padding:10px}.wrapper-contact a{width:30%;background:#0e1c23;color:#fff;transition:all .275s}.wrapper-contact a:hover{background:#3d474e;-ms-transform:translateY(-2px);transform:translateY(-2px)}#cmb2-metabox-settings_page_heartbeat_control_settings{padding:20px;margin-top:-30px}.cmb-type-group .cmb-th+.cmb-td{float:left!important;padding-left:70px}.cmb-row h3 span:first-of-type{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.cmb-row h3 span:first-of-type .dashicons{font-size:30px!important;margin-right:20px}.js .closed .inside{display:block!important}.ui-state-default,.ui-widget-content .ui-state-default{background:#494949;border:1px solid #979797}.ui-widget.ui-widget-content{background:#d8d8d8}.ui-slider-horizontal .ui-slider-range{background:#494949}.wrapper-settings .button-primary{background:#f56640;border:none;text-shadow:none;box-shadow:none;text-transform:uppercase;font-weight:600;border-radius:4px;padding:0 20px;font-size:15px;margin-bottom:20px;height:40px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;transition:all .275s}.wrapper-settings .button-primary:hover{background:#fc8665!important;-ms-transform:translateY(-2px);transform:translateY(-2px)}input[type=radio]:checked:before{background:#494949!important}.cmb-type-group .cmb-repeat-group-field{padding-top:10px!important}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){background:#f7f7f7}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td{margin-top:0!important;padding:0!important}.cmb-repeatable-group:last-of-type{background:#f7f7f7}.cmb-type-radio-inline .cmb-th{display:none}.cmb-row.cmb-type-slider.cmb2-id-rules-dash-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency{display:-ms-flexbox;display:flex;padding-left:60px!important}@media only screen and (max-width:860px){.cmb-row.cmb-type-slider.cmb2-id-rules-dash-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency{-ms-flex-direction:column;flex-direction:column}}.cmb-row.cmb-type-slider.cmb2-id-rules-front-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency{display:-ms-flexbox;display:flex;padding-left:60px!important}@media only screen and (max-width:860px){.cmb-row.cmb-type-slider.cmb2-id-rules-front-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency{-ms-flex-direction:column;flex-direction:column}}.cmb-row.cmb-type-slider.cmb2-id-rules-editor-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency{display:-ms-flexbox;display:flex;padding-left:60px!important}@media only screen and (max-width:860px){.cmb-row.cmb-type-slider.cmb2-id-rules-editor-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency{-ms-flex-direction:column;flex-direction:column}}.cmb-type-group .cmb-row:not(:last-of-type){border-bottom:none!important;margin-bottom:0!important}.cmb-inline ul{padding-left:60px!important}.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{padding:0!important;background:#f7f7f7}.cmb-type-group .cmb-th{width:220px!important;padding:0!important}.cmb2-wrap .cmb-row:after{width:1px!important}.cmb-row.cmb-type-slider.cmb2-id-rules-dash-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency .cmb-td,.cmb-row.cmb-type-slider.cmb2-id-rules-editor-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency .cmb-td,.cmb-row.cmb-type-slider.cmb2-id-rules-front-0-heartbeat-control-frequency.cmb-repeat-group-field.heartbeat_frequency .cmb-td{padding-left:5px!important;width:65%!important;padding-top:7px!important}.cmb2-wrap{padding:20px;box-sizing:border-box;background:#fff}.cmb2-wrap,.cmb2-wrap .cmb-row{margin-bottom:20px!important}.cmb2-wrap .cmb-row .cmb-repeatable-group .postbox{box-shadow:none}.cmb2-wrap .cmb-row .cmb-repeatable-group .postbox .cmbhandle{display:none}.cmb2-wrap .cmb-row .cmb-repeatable-group .cmb-repeatable-grouping{border:none;padding:0!important;overflow:hidden}.cmb2-wrap .cmb-row .cmb-repeatable-group .cmb-group-title{background:#f7f7f7;padding-top:15px}.cmb2-wrap .cmb-row .cmb-repeatable-group .cmb-group-title span{font-size:16px;font-weight:700;color:#494949}.cmb2-wrap .inside{padding:0 40px}.cmb2-wrap .cmb-type-radio-inline{margin-bottom:0}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border:none}
assets/css/style.scss CHANGED
@@ -4,4 +4,7 @@
4
  font-size: 12px;
5
  color: #888;
6
  padding-top: .5em;
 
 
 
7
  }
4
  font-size: 12px;
5
  color: #888;
6
  padding-top: .5em;
7
+ }
8
+ h3 {
9
+ color: red;
10
  }
assets/img/80.svg ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="78px" height="30px" viewBox="0 0 78 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
4
+ <title>80%</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <g id="Plugin-HeartBeat" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
+ <g id="More-Optimization-V2" transform="translate(-218.000000, -784.000000)" fill="#FFFFFF" fill-rule="nonzero">
8
+ <path d="M223.835938,804.777344 C223.835938,806.17058 224.197262,807.251298 224.919922,808.019531 C225.642582,808.787764 226.641921,809.171875 227.917969,809.171875 C229.194017,809.171875 230.193356,808.787764 230.916016,808.019531 C231.638675,807.251298 232,806.17058 232,804.777344 C232,803.332024 231.632165,802.23503 230.896484,801.486328 C230.160804,800.737626 229.167975,800.363281 227.917969,800.363281 C226.667962,800.363281 225.675134,800.737626 224.939453,801.486328 C224.203772,802.23503 223.835938,803.332024 223.835938,804.777344 Z M218.054688,805.148438 C218.054688,803.559888 218.416012,802.1211 219.138672,800.832031 C219.861332,799.542962 220.919264,798.57292 222.3125,797.921875 C220.945306,797.010412 220.056643,796.024094 219.646484,794.962891 C219.236326,793.901687 219.03125,792.908859 219.03125,791.984375 C219.03125,789.927073 219.805982,788.172533 221.355469,786.720703 C222.904956,785.268873 225.092434,784.542969 227.917969,784.542969 C230.743504,784.542969 232.930982,785.268873 234.480469,786.720703 C236.029956,788.172533 236.804688,789.927073 236.804688,791.984375 C236.804688,792.908859 236.599611,793.901687 236.189453,794.962891 C235.779295,796.024094 234.890632,796.945309 233.523438,797.726562 C234.916674,798.507816 235.96484,799.542962 236.667969,800.832031 C237.371097,802.1211 237.722656,803.559888 237.722656,805.148438 C237.722656,807.531262 236.840504,809.559236 235.076172,811.232422 C233.31184,812.905607 230.847672,813.742188 227.683594,813.742188 C224.519515,813.742188 222.123706,812.905607 220.496094,811.232422 C218.868481,809.559236 218.054688,807.531262 218.054688,805.148438 Z M224.34375,792.609375 C224.34375,793.638026 224.659502,794.477861 225.291016,795.128906 C225.922529,795.779951 226.798171,796.105469 227.917969,796.105469 C229.050787,796.105469 229.926429,795.779951 230.544922,795.128906 C231.163415,794.477861 231.472656,793.638026 231.472656,792.609375 C231.472656,791.489578 231.163415,790.613935 230.544922,789.982422 C229.926429,789.350908 229.050787,789.035156 227.917969,789.035156 C226.798171,789.035156 225.922529,789.350908 225.291016,789.982422 C224.659502,790.613935 224.34375,791.489578 224.34375,792.609375 Z M246.179688,799.113281 C246.179688,802.368506 246.446612,804.858715 246.980469,806.583984 C247.514326,808.309253 248.608065,809.171875 250.261719,809.171875 C251.915373,809.171875 252.999346,808.309253 253.513672,806.583984 C254.027997,804.858715 254.285156,802.368506 254.285156,799.113281 C254.285156,795.701806 254.027997,793.175789 253.513672,791.535156 C252.999346,789.894523 251.915373,789.074219 250.261719,789.074219 C248.608065,789.074219 247.514326,789.894523 246.980469,791.535156 C246.446612,793.175789 246.179688,795.701806 246.179688,799.113281 Z M250.261719,784.484375 C253.868508,784.484375 256.397779,785.753894 257.849609,788.292969 C259.30144,790.832044 260.027344,794.438779 260.027344,799.113281 C260.027344,803.787784 259.30144,807.388008 257.849609,809.914062 C256.397779,812.440117 253.868508,813.703125 250.261719,813.703125 C246.65493,813.703125 244.125658,812.440117 242.673828,809.914062 C241.221998,807.388008 240.496094,803.787784 240.496094,799.113281 C240.496094,794.438779 241.221998,790.832044 242.673828,788.292969 C244.125658,785.753894 246.65493,784.484375 250.261719,784.484375 Z M269.675781,795.1875 C270.535161,795.1875 271.267575,794.884769 271.873047,794.279297 C272.478519,793.673825 272.78125,792.941411 272.78125,792.082031 C272.78125,791.222652 272.478519,790.490237 271.873047,789.884766 C271.267575,789.279294 270.535161,788.976562 269.675781,788.976562 C268.816402,788.976562 268.083987,789.279294 267.478516,789.884766 C266.873044,790.490237 266.570312,791.222652 266.570312,792.082031 C266.570312,792.941411 266.873044,793.673825 267.478516,794.279297 C268.083987,794.884769 268.816402,795.1875 269.675781,795.1875 Z M276.941406,792.082031 C276.941406,794.08725 276.235033,795.799472 274.822266,797.21875 C273.409498,798.638028 271.694021,799.347656 269.675781,799.347656 C267.670563,799.347656 265.95834,798.638028 264.539062,797.21875 C263.119785,795.799472 262.410156,794.08725 262.410156,792.082031 C262.410156,790.076813 263.119785,788.36459 264.539062,786.945312 C265.95834,785.526035 267.670563,784.816406 269.675781,784.816406 C271.681,784.816406 273.393222,785.526035 274.8125,786.945312 C276.231778,788.36459 276.941406,790.076813 276.941406,792.082031 Z M291.765625,806.300781 C291.765625,805.441402 291.462894,804.708987 290.857422,804.103516 C290.25195,803.498044 289.519536,803.195312 288.660156,803.195312 C287.800777,803.195312 287.068362,803.498044 286.462891,804.103516 C285.857419,804.708987 285.554688,805.441402 285.554688,806.300781 C285.554688,807.160161 285.857419,807.892575 286.462891,808.498047 C287.068362,809.103519 287.800777,809.40625 288.660156,809.40625 C289.519536,809.40625 290.25195,809.103519 290.857422,808.498047 C291.462894,807.892575 291.765625,807.160161 291.765625,806.300781 Z M295.925781,806.300781 C295.925781,808.306 295.216153,810.018222 293.796875,811.4375 C292.377597,812.856778 290.665375,813.566406 288.660156,813.566406 C286.654938,813.566406 284.942715,812.856778 283.523438,811.4375 C282.10416,810.018222 281.394531,808.306 281.394531,806.300781 C281.394531,804.282542 282.10416,802.567064 283.523438,801.154297 C284.942715,799.741529 286.654938,799.035156 288.660156,799.035156 C290.665375,799.035156 292.377597,799.744785 293.796875,801.164062 C295.216153,802.58334 295.925781,804.295563 295.925781,806.300781 Z M285.554688,784.679688 L288.523438,784.679688 L272.742188,813.742188 L269.714844,813.742188 L285.554688,784.679688 Z" id="80%"></path>
9
+ </g>
10
+ </g>
11
+ </svg>
assets/img/equipe.jpg ADDED
Binary file
assets/img/fusee.png ADDED
Binary file
assets/img/heartbeat-icon.png ADDED
Binary file
assets/img/laptop.png ADDED
Binary file
assets/img/logo-heartbeat.svg ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="239px" height="56px" viewBox="0 0 239 56" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
4
+ <title>Group 4</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <g id="Plugin-HeartBeat" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
+ <g id="More-Optimization-V2" transform="translate(-155.000000, -85.000000)" fill="#FFFFFF" fill-rule="nonzero">
8
+ <g id="Group-2" transform="translate(131.000000, 43.000000)">
9
+ <g id="Group-4" transform="translate(24.000000, 42.000000)">
10
+ <g id="heartbeat-icon">
11
+ <path d="M42.454434,31.1030468 C41.7638252,31.1030468 41.1403176,30.6769677 40.8653805,30.0202757 L39.1344047,25.8772579 L32.6861489,38.2686979 C32.3827086,38.8513964 31.7966115,39.2121146 31.1618214,39.2121146 C31.1428192,39.2121146 31.1238171,39.2121146 31.104815,39.211498 C30.4480537,39.1893 29.8607689,38.7835691 29.5876132,38.1638738 L22.4404351,22 L18.8751595,30.068988 C18.5936904,30.7084149 17.9779024,31.1178455 17.3009514,31.1178455 L8,31.1178455 L31.4789195,55.9691694 L31.4789195,56 L31.4931711,55.9845847 L31.5074227,56 L31.5074227,55.9691694 L55,31.1030468 L42.454434,31.1030468 Z" id="Path"></path>
12
+ <path d="M4.40303686,28.9971415 L4.5239536,29.1249801 L16.1480424,29.1249801 L20.8393733,18.5254883 C21.1217109,17.8850599 21.7393989,17.4749881 22.4184386,17.4749881 C23.0974784,17.4749881 23.7151664,17.8850599 23.9975039,18.5248707 L31.293012,35 L37.806433,22.5033085 C38.1215313,21.8968468 38.7475583,21.5300055 39.4099199,21.5596492 C40.0752598,21.5899105 40.6643566,22.0098636 40.9294203,22.6428811 L43.6354534,29.1101583 L58.4891507,29.1101583 L58.5957718,28.9971415 L58.578498,28.9928184 C61.3149092,25.9123392 63,21.8122386 63,17.2946553 C63,7.74319341 55.5305625,0 46.3158736,0 C39.8620175,0 34.2748305,3.80551585 31.5002978,9.36371817 C28.7251695,3.80551585 23.1385782,4.38815587e-15 16.6841264,4.38815587e-15 C7.47003319,4.38815587e-15 0,7.74319341 0,17.2946553 C0,21.8122386 1.68509081,25.9123392 4.42150198,28.9928184 L4.40303686,28.9971415 Z" id="Path"></path>
13
+ </g>
14
+ <g id="Group-2" transform="translate(74.000000, 2.000000)">
15
+ <path d="M18.8616104,0 L18.8616104,20.2738928 L14.117279,20.2738928 L14.117279,11.9644522 L5.93041432,11.9644522 L5.93041432,20.2738928 L1.18608286,20.2738928 L1.18608286,0 L5.93041432,0 L5.93041432,7.8525641 L14.117279,7.8525641 L14.117279,0 L18.8616104,0 Z M37.3170256,16.1620047 L37.3170256,20.2738928 L22.8815293,20.2738928 L22.8815293,0 L37.056666,0 L37.056666,4.11188811 L27.6258607,4.11188811 L27.6258607,8.05244755 L35.7259388,8.05244755 L35.7259388,11.8502331 L27.6258607,11.8502331 L27.6258607,16.1620047 L37.3170256,16.1620047 Z M45.878774,0 L50.1602438,0 L57.6528161,20.2738928 L52.7927692,20.2738928 L51.2016824,15.733683 L44.8084065,15.733683 L43.2462486,20.2738928 L38.3862017,20.2738928 L45.878774,0 Z M50.4206035,12.506993 L48.0195089,5.33974359 L45.5605566,12.506993 L50.4206035,12.506993 Z M59.7634308,20.2738928 L59.7634308,0 L69.0206629,0 C69.9849628,0 70.8769267,0.199881451 71.6965816,0.59965035 C72.5162364,0.999419248 73.2249862,1.52291829 73.8228521,2.17016317 C74.420718,2.81740805 74.8883964,3.55030671 75.2259013,4.36888112 C75.5634063,5.18745553 75.7321562,6.01553583 75.7321562,6.85314685 C75.7321562,7.48135512 75.6550134,8.08575856 75.5007254,8.66637529 C75.3464374,9.24699203 75.1246518,9.79428647 74.8353618,10.3082751 C74.5460719,10.8222636 74.1941077,11.2838946 73.7794588,11.6931818 C73.3648099,12.102469 72.8971315,12.449882 72.3764096,12.7354312 L76.8893102,20.2738928 L71.5374729,20.2738928 L67.6031493,13.7348485 L64.5077623,13.7348485 L64.5077623,20.2738928 L59.7634308,20.2738928 Z M64.5077623,9.65151515 L68.8470898,9.65151515 C69.4063837,9.65151515 69.8885264,9.38976563 70.2935323,8.86625874 C70.6985383,8.34275185 70.9010382,7.67172126 70.9010382,6.85314685 C70.9010382,6.01553583 70.6696097,5.34926432 70.2067458,4.85431235 C69.7438819,4.35936038 69.2424535,4.11188811 68.7024456,4.11188811 L64.5077623,4.11188811 L64.5077623,9.65151515 Z M94.2453433,4.11188811 L87.9967116,4.11188811 L87.9967116,20.2738928 L83.2523802,20.2738928 L83.2523802,4.11188811 L76.9748196,4.11188811 L76.9748196,0 L94.2453433,0 L94.2453433,4.11188811 Z M113.626482,15.0769231 C113.626482,15.9526073 113.443267,16.7140605 113.076834,17.3613054 C112.7104,18.0085502 112.208971,18.5463265 111.572533,18.9746503 C110.936095,19.4029742 110.193596,19.7265918 109.345012,19.9455128 C108.496428,20.1644339 107.599643,20.2738928 106.654629,20.2738928 L96.6452465,20.2738928 L96.6452465,0 L108.072142,0 C108.785724,0 109.431796,0.152290629 110.010375,0.456876457 C110.588955,0.761462284 111.080741,1.1564661 111.485747,1.64189977 C111.890753,2.12733343 112.204145,2.67938696 112.425934,3.29807692 C112.647723,3.91676689 112.758616,4.54972481 112.758616,5.1969697 C112.758616,6.16783702 112.512723,7.0815808 112.020931,7.93822844 C111.529138,8.79487608 110.791459,9.44211125 109.807873,9.87995338 C110.984319,10.2226124 111.914855,10.831775 112.599508,11.7074592 C113.28416,12.5831435 113.626482,13.7062869 113.626482,15.0769231 Z M108.795364,14.1346154 C108.795364,13.5064071 108.612149,12.9733899 108.245716,12.5355478 C107.879282,12.0977057 107.416425,11.8787879 106.857131,11.8787879 L101.389578,11.8787879 L101.389578,16.3047786 L106.654629,16.3047786 C107.271781,16.3047786 107.782852,16.1048971 108.187858,15.7051282 C108.592864,15.3053593 108.795364,14.7818603 108.795364,14.1346154 Z M101.389578,3.997669 L101.389578,8.19522145 L106.047123,8.19522145 C106.567845,8.19522145 107.030702,8.02389449 107.435708,7.68123543 C107.840714,7.33857638 108.043214,6.80555917 108.043214,6.08216783 C108.043214,5.41588633 107.864821,4.90190546 107.50803,4.54020979 C107.151239,4.17851412 106.722132,3.997669 106.220696,3.997669 L101.389578,3.997669 Z M130.953672,16.1620047 L130.953672,20.2738928 L116.518175,20.2738928 L116.518175,0 L130.693312,0 L130.693312,4.11188811 L121.262507,4.11188811 L121.262507,8.05244755 L129.362585,8.05244755 L129.362585,11.8502331 L121.262507,11.8502331 L121.262507,16.1620047 L130.953672,16.1620047 Z M139.51542,0 L143.79689,0 L151.289462,20.2738928 L146.429415,20.2738928 L144.838329,15.733683 L138.445053,15.733683 L136.882895,20.2738928 L132.022848,20.2738928 L139.51542,0 Z M144.05725,12.506993 L141.656155,5.33974359 L139.197203,12.506993 L144.05725,12.506993 Z M165,4.11188811 L158.751368,4.11188811 L158.751368,20.2738928 L154.007037,20.2738928 L154.007037,4.11188811 L147.729476,4.11188811 L147.729476,0 L165,0 L165,4.11188811 Z M0,38.5203963 C0,37.302053 0.231428489,36.088487 0.694292409,34.879662 C1.15715633,33.670837 1.83215609,32.5905253 2.71931193,31.6386946 C3.60646778,30.6868639 4.68646739,29.9158926 5.95934317,29.3257576 C7.23221895,28.7356225 8.67864701,28.4405594 10.2986707,28.4405594 C12.2272704,28.4405594 13.9003055,28.8498405 15.3178263,29.6684149 C16.735347,30.4869893 17.7912395,31.5530237 18.4855354,32.8665501 L14.8405002,35.3793706 C14.6090683,34.8463454 14.3149612,34.4037508 13.9581703,34.0515734 C13.6013794,33.6993961 13.2108438,33.4138511 12.7865519,33.1949301 C12.3622599,32.976009 11.9283315,32.8237184 11.4847536,32.7380536 C11.0411757,32.6523888 10.6072473,32.6095571 10.1829553,32.6095571 C9.27651348,32.6095571 8.48579948,32.7904022 7.8107896,33.1520979 C7.13577971,33.5137936 6.5764942,33.9801836 6.13291628,34.5512821 C5.68933835,35.1223805 5.36148133,35.7696157 5.14933536,36.493007 C4.9371894,37.2163983 4.83111801,37.949297 4.83111801,38.6917249 C4.83111801,39.4912627 4.95647511,40.2622341 5.20719306,41.004662 C5.45791102,41.74709 5.81951803,42.4038433 6.29202495,42.9749417 C6.76453187,43.5460402 7.33346024,43.998153 7.99882712,44.3312937 C8.66419401,44.6644345 9.41151517,44.8310023 10.240813,44.8310023 C10.665105,44.8310023 11.1038548,44.7786524 11.5570757,44.673951 C12.0102966,44.5692497 12.4442251,44.4074409 12.858874,44.1885198 C13.2735229,43.9695988 13.6544156,43.6840538 14.0015636,43.3318765 C14.3487115,42.9796991 14.6283543,42.5466226 14.8405002,42.032634 L18.7169662,44.2884615 C18.4083902,45.0308895 17.9503547,45.697161 17.3428458,46.287296 C16.7353369,46.8774311 16.03623,47.3723756 15.2455041,47.7721445 C14.4547783,48.1719134 13.61585,48.4764947 12.7286942,48.6858974 C11.8415383,48.8953002 10.9736815,49 10.1250976,49 C8.64007588,49 7.27561208,48.7001778 6.0316653,48.1005245 C4.78771851,47.5008711 3.71736175,46.7061044 2.82056291,45.7162005 C1.92376406,44.7262965 1.2294786,43.6031531 0.737685684,42.3467366 C0.245892769,41.0903201 0,39.814886 0,38.5203963 Z M29.7665411,49 C28.2429473,49 26.8543764,48.7049369 25.6007866,48.1148019 C24.3471968,47.5246668 23.2768401,46.7489364 22.3896842,45.7875874 C21.5025284,44.8262384 20.8130644,43.7268904 20.3212714,42.4895105 C19.8294785,41.2521306 19.5835858,39.9766965 19.5835858,38.6631702 C19.5835858,37.3306072 19.8391214,36.045655 20.3502003,34.8082751 C20.8612792,33.5708951 21.5748504,32.4810653 22.4909352,31.5387529 C23.4070201,30.5964405 24.4918411,29.8445055 25.7454309,29.2829254 C26.9990207,28.7213453 28.3683059,28.4405594 29.8533276,28.4405594 C31.3769214,28.4405594 32.7654923,28.7356225 34.0190821,29.3257576 C35.2726719,29.9158926 36.3430286,30.6963821 37.2301845,31.6672494 C38.1173403,32.6381167 38.8019829,33.7422238 39.2841329,34.9796037 C39.7662828,36.2169837 40.0073541,37.4733813 40.0073541,38.7488345 C40.0073541,40.0813975 39.7518185,41.3663497 39.2407396,42.6037296 C38.7296607,43.8411095 38.0209109,44.9309393 37.1144691,45.8732517 C36.2080272,46.8155642 35.1280276,47.5722582 33.8744378,48.1433566 C32.6208481,48.7144551 31.2515628,49 29.7665411,49 Z M24.4147038,38.7202797 C24.4147038,39.5007809 24.530418,40.257475 24.76185,40.9903846 C24.9932819,41.7232943 25.3356032,42.3752885 25.7888242,42.9463869 C26.2420451,43.5174854 26.806152,43.9743573 27.4811619,44.3170163 C28.1561718,44.6596754 28.9276001,44.8310023 29.7954699,44.8310023 C30.7019118,44.8310023 31.4926258,44.6501572 32.1676357,44.2884615 C32.8426455,43.9267659 33.4019311,43.4556167 33.845509,42.875 C34.2890869,42.2943833 34.6217654,41.6376299 34.8435543,40.9047203 C35.0653433,40.1718106 35.1762361,39.4246347 35.1762361,38.6631702 C35.1762361,37.882669 35.0605219,37.1259749 34.8290899,36.3930653 C34.5976579,35.6601556 34.2505152,35.0129204 33.7876513,34.4513403 C33.3247874,33.8897602 32.7606804,33.4424065 32.0953135,33.1092657 C31.4299467,32.776125 30.6633398,32.6095571 29.7954699,32.6095571 C28.8890281,32.6095571 28.1031355,32.7856431 27.4377686,33.1378205 C26.7724017,33.4899979 26.2131162,33.9516288 25.7598953,34.5227273 C25.3066744,35.0938257 24.9691745,35.74582 24.7473855,36.4787296 C24.5255966,37.2116393 24.4147038,37.9588152 24.4147038,38.7202797 Z M47.5855216,37.2354312 L47.5855216,48.8286713 L42.8411901,48.8286713 L42.8411901,28.5547786 L46.5440829,28.5547786 L56.1195324,40.4621212 L56.1195324,28.5547786 L60.8638639,28.5547786 L60.8638639,48.8286713 L57.0452556,48.8286713 L47.5855216,37.2354312 Z M80.5342908,32.6666667 L74.2856591,32.6666667 L74.2856591,48.8286713 L69.5413276,48.8286713 L69.5413276,32.6666667 L63.2637671,32.6666667 L63.2637671,28.5547786 L80.5342908,28.5547786 L80.5342908,32.6666667 Z M82.934194,48.8286713 L82.934194,28.5547786 L92.1914261,28.5547786 C93.155726,28.5547786 94.0476899,28.75466 94.8673448,29.1544289 C95.6869996,29.5541978 96.3957494,30.0776968 96.9936153,30.7249417 C97.5914812,31.3721866 98.0591596,32.1050853 98.3966645,32.9236597 C98.7341695,33.7422341 98.9029194,34.5703144 98.9029194,35.4079254 C98.9029194,36.0361337 98.8257766,36.6405371 98.6714886,37.2211538 C98.5172006,37.8017706 98.295415,38.349065 98.006125,38.8630536 C97.7168351,39.3770422 97.3648709,39.8386732 96.950222,40.2479604 C96.5355731,40.6572476 96.0678947,41.0046606 95.5471728,41.2902098 L100.060073,48.8286713 L94.7082361,48.8286713 L90.7739125,42.289627 L87.6785255,42.289627 L87.6785255,48.8286713 L82.934194,48.8286713 Z M87.6785255,38.2062937 L92.017853,38.2062937 C92.5771469,38.2062937 93.0592896,37.9445442 93.4642955,37.4210373 C93.8693015,36.8975304 94.0718014,36.2264998 94.0718014,35.4079254 C94.0718014,34.5703144 93.8403729,33.9040429 93.377509,33.4090909 C92.9146451,32.9141389 92.4132167,32.6666667 91.8732088,32.6666667 L87.6785255,32.6666667 L87.6785255,38.2062937 Z M111.398991,49 C109.875398,49 108.486827,48.7049369 107.233237,48.1148019 C105.979647,47.5246668 104.90929,46.7489364 104.022135,45.7875874 C103.134979,44.8262384 102.445515,43.7268904 101.953722,42.4895105 C101.461929,41.2521306 101.216036,39.9766965 101.216036,38.6631702 C101.216036,37.3306072 101.471572,36.045655 101.982651,34.8082751 C102.49373,33.5708951 103.207301,32.4810653 104.123386,31.5387529 C105.03947,30.5964405 106.124291,29.8445055 107.377881,29.2829254 C108.631471,28.7213453 110.000756,28.4405594 111.485778,28.4405594 C113.009372,28.4405594 114.397943,28.7356225 115.651532,29.3257576 C116.905122,29.9158926 117.975479,30.6963821 118.862635,31.6672494 C119.749791,32.6381167 120.434433,33.7422238 120.916583,34.9796037 C121.398733,36.2169837 121.639804,37.4733813 121.639804,38.7488345 C121.639804,40.0813975 121.384269,41.3663497 120.87319,42.6037296 C120.362111,43.8411095 119.653361,44.9309393 118.746919,45.8732517 C117.840478,46.8155642 116.760478,47.5722582 115.506888,48.1433566 C114.253298,48.7144551 112.884013,49 111.398991,49 Z M106.047154,38.7202797 C106.047154,39.5007809 106.162868,40.257475 106.3943,40.9903846 C106.625732,41.7232943 106.968054,42.3752885 107.421274,42.9463869 C107.874495,43.5174854 108.438602,43.9743573 109.113612,44.3170163 C109.788622,44.6596754 110.56005,44.8310023 111.42792,44.8310023 C112.334362,44.8310023 113.125076,44.6501572 113.800086,44.2884615 C114.475096,43.9267659 115.034381,43.4556167 115.477959,42.875 C115.921537,42.2943833 116.254216,41.6376299 116.476005,40.9047203 C116.697794,40.1718106 116.808686,39.4246347 116.808686,38.6631702 C116.808686,37.882669 116.692972,37.1259749 116.46154,36.3930653 C116.230108,35.6601556 115.882966,35.0129204 115.420102,34.4513403 C114.957238,33.8897602 114.393131,33.4424065 113.727764,33.1092657 C113.062397,32.776125 112.29579,32.6095571 111.42792,32.6095571 C110.521478,32.6095571 109.735586,32.7856431 109.070219,33.1378205 C108.404852,33.4899979 107.845567,33.9516288 107.392346,34.5227273 C106.939125,35.0938257 106.601625,35.74582 106.379836,36.4787296 C106.158047,37.2116393 106.047154,37.9588152 106.047154,38.7202797 Z M124.47364,48.8286713 L124.47364,28.5547786 L129.217972,28.5547786 L129.217972,44.7167832 L139.169496,44.7167832 L139.169496,48.8286713 L124.47364,48.8286713 Z" id="HEARTBEATCONTROL"></path>
16
+ </g>
17
+ </g>
18
+ </g>
19
+ </g>
20
+ </g>
21
+ </svg>
assets/img/logo-imagify.jpg ADDED
Binary file
assets/img/logo-lazyload.jpg ADDED
Binary file
assets/img/logo-rocket.jpg ADDED
Binary file
assets/img/logo-wprocket.svg ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="191px" height="52px" viewBox="0 0 191 52" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
4
+ <title>Group 5</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <defs>
7
+ <linearGradient x1="50.1383841%" y1="100%" x2="50.1383841%" y2="32.5347067%" id="linearGradient-1">
8
+ <stop stop-color="#F56640" offset="0%"></stop>
9
+ <stop stop-color="#F57840" offset="24.3858064%"></stop>
10
+ <stop stop-color="#FFBE54" offset="100%"></stop>
11
+ </linearGradient>
12
+ <linearGradient x1="50.0029445%" y1="98.3205782%" x2="50.0029445%" y2="18.9773025%" id="linearGradient-2">
13
+ <stop stop-color="#F56640" offset="0%"></stop>
14
+ <stop stop-color="#F57840" offset="18.1093204%"></stop>
15
+ <stop stop-color="#FFBE54" offset="100%"></stop>
16
+ </linearGradient>
17
+ <linearGradient x1="50.000006%" y1="110.433207%" x2="50%" y2="-25.4443577%" id="linearGradient-3">
18
+ <stop stop-color="#F56640" offset="0%"></stop>
19
+ <stop stop-color="#F57840" offset="8.37881088%"></stop>
20
+ <stop stop-color="#FFBE54" offset="100%"></stop>
21
+ </linearGradient>
22
+ <linearGradient x1="50.000006%" y1="84.3779533%" x2="50.000006%" y2="0%" id="linearGradient-4">
23
+ <stop stop-color="#F56640" offset="0%"></stop>
24
+ <stop stop-color="#F57840" offset="39.1082657%"></stop>
25
+ <stop stop-color="#FFBE54" offset="100%"></stop>
26
+ </linearGradient>
27
+ </defs>
28
+ <g id="Plugin-HeartBeat" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
29
+ <g id="More-Optimization-V2" transform="translate(-171.000000, -323.000000)">
30
+ <g id="Group-5" transform="translate(171.144666, 323.080620)">
31
+ <path d="M21.4684922,26.7457364 C20.5034395,26.7457364 19.5987027,26.1813953 19.1563869,25.2945736 L18.3923869,23.5813953 L10.8127027,23.5813953 L10.0487027,25.2945736 C9.60638692,26.1813953 8.70165008,26.7457364 7.73659744,26.7457364 L7.33449218,26.7457364 L10.5714395,51.475969 C10.7322817,51.9395349 11.0338606,51.9395349 11.214808,51.475969 L14.4316501,43.5751938 L17.2262817,51.455814 C17.3871238,51.9193798 17.6887027,51.9193798 17.8696501,51.455814 L21.609229,26.7658915 L21.4684922,26.7457364 L21.4684922,26.7457364 Z" id="Shape" fill="url(#linearGradient-1)"></path>
32
+ <path d="M18.090808,22.896124 L11.1343869,22.896124 L10.068808,25.2945736 C9.70691323,26.020155 9.00322902,26.544186 8.23922902,26.6852713 L10.6920711,41.9426357 C10.8529132,42.2248062 11.1544922,42.2248062 11.3354395,41.9426357 L14.4718606,37.1658915 L17.3469132,41.9224806 C17.5278606,42.2046512 17.8093343,42.2046512 17.9902817,41.9224806 L20.764808,26.6449612 C20.081229,26.4434109 19.4780711,25.9596899 19.1563869,25.2945736 L18.090808,22.896124 Z" id="Shape" fill="url(#linearGradient-2)"></path>
33
+ <path d="M19.1563869,25.2945736 L14.5924922,15.075969 L10.0487027,25.2945736 C9.8878606,25.5968992 9.68680797,25.8589147 9.44554481,26.0806202 L11.3354395,36.2186047 C11.4359659,36.3596899 11.6973343,36.4 11.8782817,36.2186047 L14.4115448,32.8527132 L16.944808,36.1984496 C17.1056501,36.4 17.3871238,36.3596899 17.4876501,36.1984496 L19.5785974,25.9395349 C19.4177553,25.7379845 19.2770185,25.5364341 19.1563869,25.2945736" id="Shape" fill="url(#linearGradient-3)"></path>
34
+ <path d="M19.1563869,25.2945736 L14.5924922,15.075969 L10.0487027,25.2945736 C9.8878606,25.5968992 9.68680797,25.8589147 9.44554481,26.0806202 L11.3354395,36.2186047 C11.4359659,36.3596899 11.6973343,36.4 11.8782817,36.2186047 L14.4115448,32.8527132 L16.944808,36.1984496 C17.1056501,36.4 17.3871238,36.3596899 17.4876501,36.1984496 L19.5785974,25.9395349 C19.4177553,25.7379845 19.2770185,25.5364341 19.1563869,25.2945736" id="Shape" fill="url(#linearGradient-4)" opacity="0.5"></path>
35
+ <path d="M0.0362816543,1.16899225 C-0.104455188,0.685271318 0.177018496,0.342635659 0.659544812,0.342635659 L4.66049218,0.342635659 C4.94196586,0.342635659 5.20333429,0.584496124 5.28375534,0.826356589 L8.21912376,12.4155039 L8.3598606,12.4155039 L13.6475448,0.382945736 C13.7480711,0.181395349 13.9491238,-6.41691695e-15 14.2305974,-6.41691695e-15 L14.8538606,-6.41691695e-15 C15.1554395,-6.41691695e-15 15.3564922,0.16124031 15.4369132,0.382945736 L20.7245974,12.4155039 L20.8653343,12.4155039 L23.8007027,0.826356589 C23.8610185,0.584496124 24.1424922,0.342635659 24.4239659,0.342635659 L28.4249132,0.342635659 C28.9074395,0.342635659 29.168808,0.685271318 29.0481764,1.16899225 L22.5943869,24.1457364 C22.5340711,24.427907 22.2525974,24.6294574 21.9711238,24.6294574 L21.4282817,24.6294574 C21.1870185,24.6294574 20.9457553,24.4682171 20.845229,24.2465116 L14.5924922,10.2589147 L14.4919659,10.2589147 L8.27943955,24.2465116 C8.17891323,24.448062 7.93765008,24.6294574 7.69638692,24.6294574 L7.15354481,24.6294574 C6.87207113,24.6294574 6.61070271,24.427907 6.53028165,24.1457364 L0.0362816543,1.16899225" id="Shape" fill="#F56640"></path>
36
+ <path d="M32.606808,0.987596899 C32.606808,0.64496124 32.8882817,0.342635659 33.2501764,0.342635659 L41.473229,0.342635659 C45.675229,0.342635659 49.113229,3.76899225 49.113229,7.90077519 C49.113229,12.1333333 45.675229,15.6 41.5134395,15.6 L37.9347027,15.6 L37.9347027,23.6418605 C37.9347027,23.9844961 37.6331238,24.2868217 37.2913343,24.2868217 L33.2702817,24.2868217 C32.8882817,24.2868217 32.6269132,23.9844961 32.6269132,23.6418605 L32.6269132,0.987596899 L32.606808,0.987596899 L32.606808,0.987596899 Z M41.1716501,10.6015504 C42.6393343,10.6015504 43.8657553,9.43255814 43.8657553,7.90077519 C43.8657553,6.46976744 42.6393343,5.36124031 41.1716501,5.36124031 L37.9347027,5.36124031 L37.9347027,10.6015504 L41.1716501,10.6015504 L41.1716501,10.6015504 Z" id="Shape" fill="#F56640"></path>
37
+ <path d="M60.2314395,0.987596899 C60.2314395,0.64496124 60.5129132,0.342635659 60.874808,0.342635659 L71.0681764,0.342635659 C75.1696501,0.342635659 78.5071238,3.66821705 78.5071238,7.73953488 C78.5071238,10.8837209 76.4362817,13.4232558 73.4607027,14.6124031 L78.1251238,23.2992248 C78.3663869,23.7426357 78.1251238,24.2868217 77.5420711,24.2868217 L72.9982817,24.2868217 C72.716808,24.2868217 72.5157553,24.1255814 72.4554395,23.9844961 L67.9116501,14.9147287 L65.5593343,14.9147287 L65.5593343,23.6418605 C65.5593343,23.9844961 65.2577553,24.2868217 64.9159659,24.2868217 L60.8547027,24.2868217 C60.4727027,24.2868217 60.2113343,23.9844961 60.2113343,23.6418605 L60.2314395,0.987596899 L60.2314395,0.987596899 Z M70.6459659,10.5612403 C72.0533343,10.5612403 73.2395448,9.27131783 73.2395448,7.82015504 C73.2395448,6.38914729 72.0533343,5.22015504 70.6459659,5.22015504 L65.5995448,5.22015504 L65.5995448,10.5612403 L70.6459659,10.5612403 L70.6459659,10.5612403 Z" id="Shape" fill="#0E1B23"></path>
38
+ <path d="M93.6061764,-3.55271368e-15 C100.421861,-3.55271368e-15 105.890492,5.50232558 105.890492,12.3550388 C105.890492,19.2077519 100.441966,24.6294574 93.6061764,24.6294574 C86.7904922,24.6294574 81.3620711,19.1875969 81.3620711,12.3550388 C81.3620711,5.52248062 86.7904922,-3.55271368e-15 93.6061764,-3.55271368e-15 M93.6061764,19.1472868 C97.3658606,19.1472868 100.421861,16.0635659 100.421861,12.3348837 C100.421861,8.56589147 97.3457553,5.4620155 93.6061764,5.4620155 C89.8867027,5.4620155 86.8105974,8.56589147 86.8105974,12.3348837 C86.8105974,16.0635659 89.8867027,19.1472868 93.6061764,19.1472868" id="Shape" fill="#0E1B23"></path>
39
+ <path d="M120.58744,-2.66453526e-14 C124.005334,-2.66453526e-14 126.518492,1.06821705 128.850703,3.18449612 C129.152282,3.46666667 129.152282,3.86976744 128.890913,4.13178295 L126.237018,6.89302326 C125.995755,7.13488372 125.613755,7.13488372 125.392597,6.89302326 C124.125966,5.76434109 122.457229,5.13953488 120.788492,5.13953488 C116.928282,5.13953488 114.09344,8.36434109 114.09344,12.1937984 C114.09344,15.9829457 116.968492,19.1472868 120.808597,19.1472868 C122.417018,19.1472868 124.146071,18.5627907 125.372492,17.5147287 C125.613755,17.3131783 126.056071,17.3131783 126.257124,17.5550388 L128.911018,20.3968992 C129.152282,20.6387597 129.112071,21.0821705 128.870808,21.324031 C126.558703,23.5813953 123.623334,24.6496124 120.58744,24.6496124 C113.771755,24.6496124 108.262913,19.2077519 108.262913,12.3751938 C108.262913,5.54263566 113.771755,-2.66453526e-14 120.58744,-2.66453526e-14" id="Shape" fill="#0E1B23"></path>
40
+ <path d="M132.972282,1.16899225 C132.972282,0.725581395 133.314071,0.342635659 133.796597,0.342635659 L137.797545,0.342635659 C138.239861,0.342635659 138.621861,0.725581395 138.621861,1.16899225 L138.621861,10.1581395 L146.201545,0.685271318 C146.342282,0.524031008 146.643861,0.342635659 146.844913,0.342635659 L151.14744,0.342635659 C151.790808,0.342635659 152.132597,1.08837209 151.770703,1.6124031 L143.788913,11.6294574 L152.494492,22.9767442 C152.876492,23.4806202 152.494492,24.2465116 151.851124,24.2465116 L147.146492,24.2465116 C146.905229,24.2465116 146.60365,24.1054264 146.523229,24.0046512 L138.601755,13.2620155 L138.601755,23.4604651 C138.601755,23.903876 138.219755,24.2868217 137.77744,24.2868217 L133.776492,24.2868217 C133.293966,24.2868217 132.952176,23.903876 132.952176,23.4604651 L132.972282,1.16899225 L132.972282,1.16899225 Z" id="Shape" fill="#0E1B23"></path>
41
+ <path d="M155.932492,0.987596899 C155.932492,0.64496124 156.213966,0.342635659 156.575861,0.342635659 L170.709861,0.342635659 C171.091861,0.342635659 171.353229,0.64496124 171.353229,0.987596899 L171.353229,4.71627907 C171.353229,5.05891473 171.071755,5.36124031 170.709861,5.36124031 L161.260387,5.36124031 L161.260387,9.59379845 L169.041124,9.59379845 C169.382913,9.59379845 169.684492,9.89612403 169.684492,10.2387597 L169.684492,13.9674419 C169.684492,14.3503876 169.382913,14.6124031 169.041124,14.6124031 L161.260387,14.6124031 L161.260387,19.248062 L170.709861,19.248062 C171.091861,19.248062 171.353229,19.5503876 171.353229,19.8930233 L171.353229,23.6217054 C171.353229,23.9643411 171.071755,24.2666667 170.709861,24.2666667 L156.575861,24.2666667 C156.193861,24.2666667 155.932492,23.9643411 155.932492,23.6217054 L155.932492,0.987596899" id="Shape" fill="#0E1B23"></path>
42
+ <path d="M178.993229,5.36124031 L174.10765,5.36124031 C173.72565,5.36124031 173.464282,5.05891473 173.464282,4.71627907 L173.464282,0.987596899 C173.464282,0.64496124 173.745755,0.342635659 174.10765,0.342635659 L189.246913,0.342635659 C189.628913,0.342635659 189.890282,0.64496124 189.890282,0.987596899 L189.890282,4.71627907 C189.890282,5.05891473 189.608808,5.36124031 189.246913,5.36124031 L184.361334,5.36124031 L184.361334,23.6217054 C184.361334,23.9643411 184.059755,24.2666667 183.717966,24.2666667 L179.616492,24.2666667 C179.274703,24.2666667 178.973124,23.9643411 178.973124,23.6217054 L178.993229,5.36124031 L178.993229,5.36124031 Z" id="Shape" fill="#0E1B23"></path>
43
+ <path d="M28.2368669,41.8630393 C29.695521,41.8630393 30.7175711,41.0871434 30.7175711,39.7840363 L30.7175711,39.7641415 C30.7175711,38.610245 29.963437,38.0830337 28.4948601,37.7249279 C27.1552799,37.4066117 26.8377497,37.1678745 26.8377497,36.6307158 L26.8377497,36.610821 C26.8377497,36.1532414 27.254508,35.7851882 27.9689508,35.7851882 C28.5147058,35.7851882 29.0306922,35.9642411 29.5665243,36.3123995 C29.6657525,36.3720838 29.7649807,36.401926 29.8840545,36.401926 C30.2015846,36.401926 30.4595779,36.1532414 30.4595779,35.8349251 C30.4595779,35.5961879 30.3305812,35.4270824 30.1916618,35.3475034 C29.5665243,34.9297133 28.8620044,34.7009235 27.9887965,34.7009235 C26.609525,34.7009235 25.6172433,35.5265563 25.6172433,36.7202422 L25.6172433,36.740137 C25.6172433,38.0233494 26.4507599,38.4610343 27.9292596,38.8191401 C29.2192258,39.1175616 29.4970646,39.3861409 29.4970646,39.8835101 L29.4970646,39.9034049 C29.4970646,40.4206688 29.0207694,40.7787746 28.2666354,40.7787746 C27.5125013,40.7787746 26.8972866,40.5201426 26.3217633,40.062563 C26.2423807,40.0028787 26.1332298,39.9531418 25.9645419,39.9531418 C25.6470117,39.9531418 25.3890185,40.2018263 25.3890185,40.5201426 C25.3890185,40.7190903 25.4882467,40.8881958 25.6271661,40.9876696 C26.4011458,41.5646178 27.2941993,41.8630393 28.2368669,41.8630393 Z M36.6712611,37.0584533 C36.6712611,36.7202422 36.3934223,36.4516629 36.0659693,36.4516629 C35.7285935,36.4516629 35.4606775,36.7202422 35.4606775,37.0584533 L35.4606775,39.4756674 C35.4606775,40.2913528 34.9744595,40.7688272 34.2798623,40.7688272 C33.5654195,40.7688272 33.158584,40.3112476 33.158584,39.4955621 L33.158584,37.0584533 C33.158584,36.7202422 32.890668,36.4516629 32.5532922,36.4516629 C32.2258392,36.4516629 31.9579232,36.7202422 31.9579232,37.0584533 L31.9579232,39.8536679 C31.9579232,41.0771961 32.6425975,41.8729867 33.8234127,41.8729867 C34.6370837,41.8729867 35.1233017,41.4452492 35.4606775,40.9478801 L35.4606775,41.2164594 C35.4606775,41.5546705 35.7385164,41.8133024 36.0659693,41.8133024 C36.4033451,41.8133024 36.6712611,41.5447231 36.6712611,41.2164594 L36.6712611,37.0584533 Z M38.1696065,42.8080407 L38.1696065,37.0584533 C38.1696065,36.7202422 38.4275997,36.4516629 38.7649755,36.4516629 C39.1023512,36.4516629 39.3702673,36.7202422 39.3702673,37.0584533 L39.3702673,37.3867169 C39.7572571,36.8396108 40.3030121,36.401926 41.1563743,36.401926 C42.3868036,36.401926 43.5874644,37.3767695 43.5874644,39.127509 L43.5874644,39.1474037 C43.5874644,40.8881958 42.3967264,41.8729867 41.1563743,41.8729867 C40.2831664,41.8729867 39.7374115,41.4353019 39.3702673,40.9478801 L39.3702673,42.8080407 C39.3702673,43.1462518 39.1023512,43.4048837 38.7649755,43.4048837 C38.4375225,43.4048837 38.1696065,43.1462518 38.1696065,42.8080407 Z M40.8686126,40.8285115 C41.6922064,40.8285115 42.3669579,40.1819316 42.3669579,39.1474037 L42.3669579,39.127509 C42.3669579,38.1128759 41.6822836,37.4464012 40.8686126,37.4464012 C40.0549416,37.4464012 39.3404988,38.1228233 39.3404988,39.127509 L39.3404988,39.1474037 C39.3404988,40.1520894 40.0549416,40.8285115 40.8686126,40.8285115 Z M45.7307928,38.7694032 L48.4198761,38.7694032 C48.3404936,37.9935073 47.884044,37.3867169 47.0902187,37.3867169 C46.3559303,37.3867169 45.8399438,37.9537178 45.7307928,38.7694032 Z M49.1144733,41.1866173 C48.6381781,41.6143548 48.0428091,41.8829341 47.2291381,41.8829341 C45.7109472,41.8829341 44.5400548,40.7787746 44.5400548,39.1573511 L44.5400548,39.1374563 C44.5400548,37.6354015 45.6017962,36.401926 47.1001415,36.401926 C48.7671747,36.401926 49.5907685,37.7746649 49.5907685,38.9882456 C49.5907685,39.3264566 49.3327753,39.5651938 49.025168,39.5651938 L45.7407156,39.5651938 C45.8697122,40.4206688 46.4750041,40.8981432 47.2489838,40.8981432 C47.7550474,40.8981432 48.1519601,40.7190903 48.4893359,40.4405635 C48.5786412,40.3709319 48.6580238,40.3311423 48.7969432,40.3311423 C49.0648592,40.3311423 49.2732384,40.5400374 49.2732384,40.8185641 C49.2732384,40.9677748 49.2037787,41.0970908 49.1144733,41.1866173 Z M50.8211978,41.2164594 C50.8211978,41.5546705 51.0891139,41.8133024 51.4165668,41.8133024 C51.7539426,41.8133024 52.0218586,41.5447231 52.0218586,41.2164594 L52.0218586,39.6646677 C52.0218586,38.4212448 52.6073048,37.7647175 53.4606671,37.6155067 C53.7285831,37.5657698 53.9369623,37.3568748 53.9369623,37.0385585 C53.9369623,36.6904001 53.7186603,36.4417155 53.3415933,36.4417155 C52.815684,36.4417155 52.2996975,36.9390847 52.0218586,37.595612 L52.0218586,37.0584533 C52.0218586,36.7202422 51.7539426,36.4516629 51.4165668,36.4516629 C51.079191,36.4516629 50.8211978,36.7202422 50.8211978,37.0584533 L50.8211978,41.2164594 Z M54.8994755,35.1585031 C54.8994755,35.5166089 55.19716,35.7553461 55.5841498,35.7553461 C55.9711397,35.7553461 56.2688242,35.5166089 56.2688242,35.1585031 L56.2688242,35.0988188 C56.2688242,34.740713 55.9711397,34.5119232 55.5841498,34.5119232 C55.19716,34.5119232 54.8994755,34.740713 54.8994755,35.0988188 L54.8994755,35.1585031 Z M54.9887808,41.2164594 C54.9887808,41.5546705 55.2566969,41.8133024 55.5841498,41.8133024 C55.9215256,41.8133024 56.1894417,41.5546705 56.1894417,41.2164594 L56.1894417,37.0584533 C56.1894417,36.7202422 55.9215256,36.4516629 55.5841498,36.4516629 C55.2467741,36.4516629 54.9887808,36.7202422 54.9887808,37.0584533 L54.9887808,41.2164594 Z M60.2478737,41.8829341 C58.6503002,41.8829341 57.469485,40.659406 57.469485,39.1672985 L57.469485,39.1474037 C57.469485,37.6453489 58.660223,36.401926 60.2677193,36.401926 C61.8752156,36.401926 63.0560308,37.6254541 63.0560308,39.127509 L63.0560308,39.1474037 C63.0560308,40.6395112 61.8652928,41.8829341 60.2478737,41.8829341 Z M60.2677193,40.8285115 C61.2401554,40.8285115 61.85537,40.0725104 61.85537,39.1672985 L61.85537,39.1474037 C61.85537,38.2222971 61.1905413,37.4563486 60.2478737,37.4563486 C59.2853605,37.4563486 58.6701458,38.2123497 58.6701458,39.127509 L58.6701458,39.1474037 C58.6701458,40.062563 59.3349746,40.8285115 60.2677193,40.8285115 Z M64.2765373,41.2164594 C64.2765373,41.5546705 64.5444534,41.8133024 64.8719063,41.8133024 C65.2092821,41.8133024 65.4771981,41.5447231 65.4771981,41.2164594 L65.4771981,39.6646677 C65.4771981,38.4212448 66.0626443,37.7647175 66.9160066,37.6155067 C67.1839226,37.5657698 67.3923018,37.3568748 67.3923018,37.0385585 C67.3923018,36.6904001 67.1739998,36.4417155 66.7969328,36.4417155 C66.2710235,36.4417155 65.755037,36.9390847 65.4771981,37.595612 L65.4771981,37.0584533 C65.4771981,36.7202422 65.2092821,36.4516629 64.8719063,36.4516629 C64.5345305,36.4516629 64.2765373,36.7202422 64.2765373,37.0584533 L64.2765373,41.2164594 Z M73.117767,41.3557228 C73.2368408,41.6740391 73.4551428,41.8630393 73.7528273,41.8630393 L73.8719011,41.8630393 C74.1695856,41.8630393 74.3978104,41.6740391 74.5069614,41.3557228 L76.0549208,36.8097687 L77.6028802,41.3557228 C77.7120312,41.6740391 77.9303331,41.8630393 78.2280176,41.8630393 L78.3470914,41.8630393 C78.6447759,41.8630393 78.8730007,41.6640917 78.9821517,41.3557228 L81.0361748,35.5862406 C81.0659432,35.5166089 81.0957117,35.4171351 81.0957117,35.337556 C81.0957117,35.0092923 80.8178728,34.7506604 80.4904199,34.7506604 C80.1927353,34.7506604 79.9843562,34.9396607 79.8950508,35.1883452 L78.2974774,39.9829839 L76.7296723,35.2181874 C76.640367,34.9297133 76.422065,34.7307656 76.1144577,34.7307656 L76.0251523,34.7307656 C75.717545,34.7307656 75.5091658,34.9297133 75.4099377,35.2181874 L73.8421326,39.9829839 L72.2445591,35.1982926 C72.1651766,34.9396607 71.9369518,34.7506604 71.6392673,34.7506604 C71.3018916,34.7506604 71.0141299,35.0092923 71.0141299,35.3475034 C71.0141299,35.4270824 71.0339755,35.5166089 71.0637439,35.5862406 L73.117767,41.3557228 Z M84.2412446,41.8829341 C82.6436711,41.8829341 81.4628559,40.659406 81.4628559,39.1672985 L81.4628559,39.1474037 C81.4628559,37.6453489 82.6535939,36.401926 84.2610902,36.401926 C85.8685865,36.401926 87.0494017,37.6254541 87.0494017,39.127509 L87.0494017,39.1474037 C87.0494017,40.6395112 85.8586637,41.8829341 84.2412446,41.8829341 Z M84.2610902,40.8285115 C85.2335263,40.8285115 85.8487409,40.0725104 85.8487409,39.1672985 L85.8487409,39.1474037 C85.8487409,38.2222971 85.1839122,37.4563486 84.2412446,37.4563486 C83.2787314,37.4563486 82.6635167,38.2123497 82.6635167,39.127509 L82.6635167,39.1474037 C82.6635167,40.062563 83.3283454,40.8285115 84.2610902,40.8285115 Z M88.2699082,41.2164594 C88.2699082,41.5546705 88.5378242,41.8133024 88.8652772,41.8133024 C89.2026529,41.8133024 89.470569,41.5447231 89.470569,41.2164594 L89.470569,39.6646677 C89.470569,38.4212448 90.0560152,37.7647175 90.9093774,37.6155067 C91.1772935,37.5657698 91.3856726,37.3568748 91.3856726,37.0385585 C91.3856726,36.6904001 91.1673707,36.4417155 90.7903036,36.4417155 C90.2643943,36.4417155 89.7484079,36.9390847 89.470569,37.595612 L89.470569,37.0584533 C89.470569,36.7202422 89.2026529,36.4516629 88.8652772,36.4516629 C88.5279014,36.4516629 88.2699082,36.7202422 88.2699082,37.0584533 L88.2699082,41.2164594 Z M97.3691311,35.0490819 L97.3691311,41.2164594 C97.3691311,41.5546705 97.1012151,41.8133024 96.7737621,41.8133024 C96.4363864,41.8133024 96.1684703,41.5546705 96.1684703,41.2164594 L96.1684703,40.8881958 C95.7814804,41.4353019 95.2357255,41.8729867 94.3823633,41.8729867 C93.151934,41.8729867 91.9512732,40.8881958 91.9512732,39.1474037 L91.9512732,39.127509 C91.9512732,37.3867169 93.1320884,36.401926 94.3823633,36.401926 C95.2456483,36.401926 95.7914033,36.8296635 96.1684703,37.3270326 L96.1684703,35.0490819 C96.1684703,34.7108708 96.4363864,34.4522389 96.7638393,34.4522389 C97.1012151,34.4522389 97.3691311,34.7108708 97.3691311,35.0490819 Z M94.670125,37.4464012 C93.8465312,37.4464012 93.1618568,38.0830337 93.1618568,39.127509 L93.1618568,39.1474037 C93.1618568,40.1620368 93.856454,40.8285115 94.670125,40.8285115 C95.4738731,40.8285115 96.1883159,40.1520894 96.1883159,39.1474037 L96.1883159,39.127509 C96.1883159,38.1128759 95.4738731,37.4464012 94.670125,37.4464012 Z M99.0163187,41.206512 L99.0163187,35.4171351 C99.0163187,35.0689766 99.2842348,34.8003973 99.6315333,34.8003973 L101.755016,34.8003973 C103.382358,34.8003973 104.394485,35.7255039 104.394485,37.128085 L104.394485,37.1479797 C104.394485,38.7097189 103.14421,39.5254043 101.616097,39.5254043 L100.236825,39.5254043 L100.236825,41.206512 C100.236825,41.5447231 99.9689091,41.8133024 99.6315333,41.8133024 C99.2842348,41.8133024 99.0163187,41.5447231 99.0163187,41.206512 Z M100.236825,38.4212448 L101.655788,38.4212448 C102.57861,38.4212448 103.154133,37.9039808 103.154133,37.1778219 L103.154133,37.1579271 C103.154133,36.3422417 102.568687,35.9145042 101.655788,35.9145042 L100.236825,35.9145042 L100.236825,38.4212448 Z M105.505841,41.2164594 C105.505841,41.5546705 105.773757,41.8133024 106.10121,41.8133024 C106.438586,41.8133024 106.706502,41.5447231 106.706502,41.2164594 L106.706502,39.6646677 C106.706502,38.4212448 107.291948,37.7647175 108.14531,37.6155067 C108.413226,37.5657698 108.621605,37.3568748 108.621605,37.0385585 C108.621605,36.6904001 108.403303,36.4417155 108.026236,36.4417155 C107.500327,36.4417155 106.984341,36.9390847 106.706502,37.595612 L106.706502,37.0584533 C106.706502,36.7202422 106.438586,36.4516629 106.10121,36.4516629 C105.763834,36.4516629 105.505841,36.7202422 105.505841,37.0584533 L105.505841,41.2164594 Z M110.32833,38.7694032 L113.017413,38.7694032 C112.938031,37.9935073 112.481581,37.3867169 111.687756,37.3867169 C110.953467,37.3867169 110.437481,37.9537178 110.32833,38.7694032 Z M113.71201,41.1866173 C113.235715,41.6143548 112.640346,41.8829341 111.826675,41.8829341 C110.308484,41.8829341 109.137592,40.7787746 109.137592,39.1573511 L109.137592,39.1374563 C109.137592,37.6354015 110.199333,36.401926 111.697678,36.401926 C113.364712,36.401926 114.188305,37.7746649 114.188305,38.9882456 C114.188305,39.3264566 113.930312,39.5651938 113.622705,39.5651938 L110.338253,39.5651938 C110.467249,40.4206688 111.072541,40.8981432 111.846521,40.8981432 C112.352584,40.8981432 112.749497,40.7190903 113.086873,40.4405635 C113.176178,40.3709319 113.255561,40.3311423 113.39448,40.3311423 C113.662396,40.3311423 113.870775,40.5400374 113.870775,40.8185641 C113.870775,40.9677748 113.801316,41.0970908 113.71201,41.1866173 Z M117.214765,41.8630393 C118.306274,41.8630393 119.159637,41.3159333 119.159637,40.2117737 L119.159637,40.191879 C119.159637,39.2468776 118.296352,38.8987192 117.532295,38.659982 C116.91708,38.4610343 116.35148,38.3018762 116.35148,37.9139282 L116.35148,37.8940335 C116.35148,37.595612 116.619396,37.3767695 117.085768,37.3767695 C117.452912,37.3767695 117.889516,37.5160329 118.316197,37.7348753 C118.39558,37.7746649 118.455117,37.7945596 118.554345,37.7945596 C118.832184,37.7945596 119.050486,37.5856646 119.050486,37.3071378 C119.050486,37.0982428 118.931412,36.9390847 118.762724,36.8495582 C118.25666,36.5809789 117.671214,36.4218207 117.115536,36.4218207 C116.073641,36.4218207 115.250047,37.0286111 115.250047,38.0233494 L115.250047,38.0432442 C115.250047,39.0479299 116.113332,39.3662462 116.887312,39.5850886 C117.502526,39.7740889 118.058204,39.9133522 118.058204,40.3211949 L118.058204,40.3410897 C118.058204,40.6892481 117.76052,40.9080905 117.244533,40.9080905 C116.768238,40.9080905 116.242329,40.738985 115.736265,40.400774 C115.666805,40.3609845 115.5775,40.3311423 115.478272,40.3311423 C115.200433,40.3311423 114.992054,40.5499848 114.992054,40.8185641 C114.992054,41.0175118 115.091282,41.1667225 115.220278,41.2363542 C115.82557,41.6541443 116.549936,41.8630393 117.214765,41.8630393 Z M122.086868,41.8630393 C123.178377,41.8630393 124.03174,41.3159333 124.03174,40.2117737 L124.03174,40.191879 C124.03174,39.2468776 123.168455,38.8987192 122.404398,38.659982 C121.789183,38.4610343 121.223583,38.3018762 121.223583,37.9139282 L121.223583,37.8940335 C121.223583,37.595612 121.491499,37.3767695 121.957871,37.3767695 C122.325015,37.3767695 122.761619,37.5160329 123.1883,37.7348753 C123.267683,37.7746649 123.32722,37.7945596 123.426448,37.7945596 C123.704287,37.7945596 123.922589,37.5856646 123.922589,37.3071378 C123.922589,37.0982428 123.803515,36.9390847 123.634827,36.8495582 C123.128763,36.5809789 122.543317,36.4218207 121.987639,36.4218207 C120.945744,36.4218207 120.12215,37.0286111 120.12215,38.0233494 L120.12215,38.0432442 C120.12215,39.0479299 120.985435,39.3662462 121.759415,39.5850886 C122.374629,39.7740889 122.930307,39.9133522 122.930307,40.3211949 L122.930307,40.3410897 C122.930307,40.6892481 122.632623,40.9080905 122.116636,40.9080905 C121.640341,40.9080905 121.114432,40.738985 120.608368,40.400774 C120.538908,40.3609845 120.449603,40.3311423 120.350375,40.3311423 C120.072536,40.3311423 119.864157,40.5499848 119.864157,40.8185641 C119.864157,41.0175118 119.963385,41.1667225 120.092381,41.2363542 C120.697673,41.6541443 121.422039,41.8630393 122.086868,41.8630393 Z M128.377933,41.206512 L128.377933,35.4171351 C128.377933,35.0689766 128.645849,34.8003973 128.993148,34.8003973 L131.116631,34.8003973 C132.743973,34.8003973 133.7561,35.7255039 133.7561,37.128085 L133.7561,37.1479797 C133.7561,38.7097189 132.505825,39.5254043 130.977711,39.5254043 L129.59844,39.5254043 L129.59844,41.206512 C129.59844,41.5447231 129.330524,41.8133024 128.993148,41.8133024 C128.645849,41.8133024 128.377933,41.5447231 128.377933,41.206512 Z M129.59844,38.4212448 L131.017403,38.4212448 C131.940225,38.4212448 132.515748,37.9039808 132.515748,37.1778219 L132.515748,37.1579271 C132.515748,36.3422417 131.930302,35.9145042 131.017403,35.9145042 L129.59844,35.9145042 L129.59844,38.4212448 Z M135.720818,38.7694032 L138.409901,38.7694032 C138.330519,37.9935073 137.874069,37.3867169 137.080244,37.3867169 C136.345955,37.3867169 135.829969,37.9537178 135.720818,38.7694032 Z M139.104498,41.1866173 C138.628203,41.6143548 138.032834,41.8829341 137.219163,41.8829341 C135.700972,41.8829341 134.53008,40.7787746 134.53008,39.1573511 L134.53008,39.1374563 C134.53008,37.6354015 135.591821,36.401926 137.090167,36.401926 C138.7572,36.401926 139.580794,37.7746649 139.580794,38.9882456 C139.580794,39.3264566 139.3228,39.5651938 139.015193,39.5651938 L135.730741,39.5651938 C135.859737,40.4206688 136.465029,40.8981432 137.239009,40.8981432 C137.745072,40.8981432 138.141985,40.7190903 138.479361,40.4405635 C138.568666,40.3709319 138.648049,40.3311423 138.786968,40.3311423 C139.054884,40.3311423 139.263263,40.5400374 139.263263,40.8185641 C139.263263,40.9677748 139.193804,41.0970908 139.104498,41.1866173 Z M140.811223,41.2164594 C140.811223,41.5546705 141.079139,41.8133024 141.406592,41.8133024 C141.743968,41.8133024 142.011884,41.5447231 142.011884,41.2164594 L142.011884,39.6646677 C142.011884,38.4212448 142.59733,37.7647175 143.450692,37.6155067 C143.718608,37.5657698 143.926987,37.3568748 143.926987,37.0385585 C143.926987,36.6904001 143.708685,36.4417155 143.331618,36.4417155 C142.805709,36.4417155 142.289723,36.9390847 142.011884,37.595612 L142.011884,37.0584533 C142.011884,36.7202422 141.743968,36.4516629 141.406592,36.4516629 C141.069216,36.4516629 140.811223,36.7202422 140.811223,37.0584533 L140.811223,41.2164594 Z M145.177262,41.2164594 C145.177262,41.5447231 145.445178,41.8133024 145.772631,41.8133024 C146.110007,41.8133024 146.377923,41.5447231 146.377923,41.2164594 L146.377923,37.545875 L147.290822,37.545875 C147.568661,37.545875 147.796886,37.3270326 147.796886,37.0485059 C147.796886,36.7699792 147.578584,36.5511367 147.290822,36.5511367 L146.358077,36.5511367 L146.358077,36.2626626 C146.358077,35.7155565 146.596225,35.466872 147.052675,35.466872 C147.132057,35.466872 147.231285,35.4768193 147.300745,35.4867667 C147.578584,35.4967141 147.806809,35.2679243 147.806809,34.9893976 C147.806809,34.7208182 147.608352,34.5218706 147.39005,34.4920284 C147.221362,34.4621863 147.022906,34.4422915 146.784758,34.4422915 C146.268772,34.4422915 145.881782,34.5815549 145.603943,34.8600816 C145.326104,35.1386083 145.177262,35.5762932 145.177262,36.1532414 L145.177262,36.5411893 L144.968883,36.5411893 C144.691044,36.5411893 144.462819,36.7699792 144.462819,37.0485059 C144.462819,37.3270326 144.691044,37.545875 144.968883,37.545875 L145.177262,37.545875 L145.177262,41.2164594 Z M151.031724,41.8829341 C149.434151,41.8829341 148.253335,40.659406 148.253335,39.1672985 L148.253335,39.1474037 C148.253335,37.6453489 149.444073,36.401926 151.05157,36.401926 C152.659066,36.401926 153.839881,37.6254541 153.839881,39.127509 L153.839881,39.1474037 C153.839881,40.6395112 152.649143,41.8829341 151.031724,41.8829341 Z M151.05157,40.8285115 C152.024006,40.8285115 152.63922,40.0725104 152.63922,39.1672985 L152.63922,39.1474037 C152.63922,38.2222971 151.974392,37.4563486 151.031724,37.4563486 C150.069211,37.4563486 149.453996,38.2123497 149.453996,39.127509 L149.453996,39.1474037 C149.453996,40.062563 150.118825,40.8285115 151.05157,40.8285115 Z M155.060388,41.2164594 C155.060388,41.5546705 155.328304,41.8133024 155.655757,41.8133024 C155.993132,41.8133024 156.261048,41.5447231 156.261048,41.2164594 L156.261048,39.6646677 C156.261048,38.4212448 156.846495,37.7647175 157.699857,37.6155067 C157.967773,37.5657698 158.176152,37.3568748 158.176152,37.0385585 C158.176152,36.6904001 157.95785,36.4417155 157.580783,36.4417155 C157.054874,36.4417155 156.538887,36.9390847 156.261048,37.595612 L156.261048,37.0584533 C156.261048,36.7202422 155.993132,36.4516629 155.655757,36.4516629 C155.318381,36.4516629 155.060388,36.7202422 155.060388,37.0584533 L155.060388,41.2164594 Z M159.158511,41.2164594 C159.158511,41.5546705 159.426427,41.8133024 159.75388,41.8133024 C160.091256,41.8133024 160.359172,41.5546705 160.359172,41.2164594 L160.359172,38.7992453 C160.359172,37.9935073 160.815621,37.4961381 161.48045,37.4961381 C162.145279,37.4961381 162.542191,37.9537178 162.542191,38.7694032 L162.542191,41.2164594 C162.542191,41.5546705 162.810108,41.8133024 163.147483,41.8133024 C163.474936,41.8133024 163.742852,41.5546705 163.742852,41.2164594 L163.742852,38.7992453 C163.742852,37.9537178 164.209225,37.4961381 164.864131,37.4961381 C165.538882,37.4961381 165.925872,37.9437704 165.925872,38.7793506 L165.925872,41.2164594 C165.925872,41.5546705 166.193788,41.8133024 166.531164,41.8133024 C166.86854,41.8133024 167.126533,41.5546705 167.126533,41.2164594 L167.126533,38.4112974 C167.126533,37.128085 166.431936,36.401926 165.290812,36.401926 C164.496986,36.401926 163.941309,36.7699792 163.52455,37.3270326 C163.246711,36.7699792 162.710879,36.401926 161.956745,36.401926 C161.152997,36.401926 160.696548,36.8396108 160.359172,37.3071378 L160.359172,37.0584533 C160.359172,36.7202422 160.091256,36.4516629 159.75388,36.4516629 C159.416504,36.4516629 159.158511,36.7202422 159.158511,37.0584533 L159.158511,41.2164594 Z M170.093455,41.8729867 C169.111096,41.8729867 168.237888,41.3059859 168.237888,40.2515633 L168.237888,40.2316685 C168.237888,39.0976668 169.121019,38.5406134 170.401062,38.5406134 C170.986509,38.5406134 171.403267,38.6301398 171.810102,38.7594558 L171.810102,38.6301398 C171.810102,37.8840861 171.353653,37.4861907 170.510213,37.4861907 C170.053764,37.4861907 169.676697,37.5657698 169.349244,37.6950858 C169.279784,37.7149806 169.220247,37.7249279 169.16071,37.7249279 C168.882871,37.7249279 168.654647,37.5060855 168.654647,37.2275588 C168.654647,37.0087164 168.803489,36.8197161 168.9821,36.7500844 C169.47824,36.5610841 169.984304,36.4417155 170.668978,36.4417155 C171.452881,36.4417155 172.038327,36.6506106 172.405471,37.0286111 C172.792461,37.4066117 172.971072,37.9636651 172.971072,38.6500346 L172.971072,41.2363542 C172.971072,41.5646178 172.713079,41.8133024 172.385626,41.8133024 C172.038327,41.8133024 171.800179,41.5745652 171.800179,41.3059859 L171.800179,41.1070382 C171.442958,41.5347757 170.897203,41.8729867 170.093455,41.8729867 Z M170.430831,40.997617 C171.224656,40.997617 171.829948,40.5400374 171.829948,39.8735627 L171.829948,39.5154569 C171.522341,39.3960883 171.115505,39.3065619 170.63921,39.3065619 C169.86523,39.3065619 169.408781,39.6348255 169.408781,40.1819316 L169.408781,40.2018263 C169.408781,40.7091429 169.855307,40.997617 170.430831,40.997617 Z M174.40988,41.2164594 C174.40988,41.5546705 174.677796,41.8133024 175.005249,41.8133024 C175.342625,41.8133024 175.610541,41.5546705 175.610541,41.2164594 L175.610541,38.7992453 C175.610541,37.9835599 176.096759,37.4961381 176.791356,37.4961381 C177.505799,37.4961381 177.912635,37.9636651 177.912635,38.7793506 L177.912635,41.2164594 C177.912635,41.5546705 178.180551,41.8133024 178.517926,41.8133024 C178.855302,41.8133024 179.113295,41.5546705 179.113295,41.2164594 L179.113295,38.4112974 C179.113295,37.1977166 178.428621,36.401926 177.247806,36.401926 C176.434135,36.401926 175.947917,36.8296635 175.610541,37.3170852 L175.610541,37.0584533 C175.610541,36.7202422 175.342625,36.4516629 175.005249,36.4516629 C174.667874,36.4516629 174.40988,36.7202422 174.40988,37.0584533 L174.40988,41.2164594 Z M182.983194,41.8829341 C183.856402,41.8829341 184.422002,41.5845126 184.888375,41.1368804 C184.997526,41.0473539 185.057063,40.9180379 185.057063,40.7588798 C185.057063,40.4704057 184.828838,40.2316685 184.541076,40.2316685 C184.402157,40.2316685 184.283083,40.3013002 184.213623,40.3609845 C183.88617,40.6395112 183.519026,40.8285115 183.042731,40.8285115 C182.119909,40.8285115 181.474926,40.0824577 181.474926,39.1474037 L181.474926,39.127509 C181.474926,38.2123497 182.119909,37.4563486 182.993117,37.4563486 C183.469412,37.4563486 183.806788,37.6453489 184.114395,37.9039808 C184.193778,37.9636651 184.322774,38.0233494 184.471616,38.0233494 C184.779224,38.0233494 185.027294,37.7846122 185.027294,37.4762434 C185.027294,37.2772957 184.918143,37.128085 184.838761,37.0584533 C184.392234,36.6705053 183.826633,36.401926 183.00304,36.401926 C181.425312,36.401926 180.274265,37.6552963 180.274265,39.1474037 L180.274265,39.1672985 C180.274265,40.659406 181.425312,41.8829341 182.983194,41.8829341 Z M186.982089,38.7694032 L189.671172,38.7694032 C189.59179,37.9935073 189.13534,37.3867169 188.341515,37.3867169 C187.607227,37.3867169 187.09124,37.9537178 186.982089,38.7694032 Z M190.36577,41.1866173 C189.889474,41.6143548 189.294105,41.8829341 188.480434,41.8829341 C186.962243,41.8829341 185.791351,40.7787746 185.791351,39.1573511 L185.791351,39.1374563 C185.791351,37.6354015 186.853092,36.401926 188.351438,36.401926 C190.018471,36.401926 190.842065,37.7746649 190.842065,38.9882456 C190.842065,39.3264566 190.584072,39.5651938 190.276464,39.5651938 L186.992012,39.5651938 C187.121009,40.4206688 187.7263,40.8981432 188.50028,40.8981432 C189.006344,40.8981432 189.403256,40.7190903 189.740632,40.4405635 C189.829938,40.3709319 189.90932,40.3311423 190.048239,40.3311423 C190.316156,40.3311423 190.524535,40.5400374 190.524535,40.8185641 C190.524535,40.9677748 190.455075,41.0970908 190.36577,41.1866173 Z" id="Superior-WordPress-P" fill="#757575"></path>
44
+ </g>
45
+ </g>
46
+ </g>
47
+ </svg>
assets/img/mini imagify.svg ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="65px" height="65px" viewBox="0 0 65 65" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
4
+ <title>Group 3 Copy</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <defs>
7
+ <rect id="path-1" x="0" y="0" width="65" height="65"></rect>
8
+ </defs>
9
+ <g id="Plugin-HeartBeat" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
10
+ <g id="About-Us-VS" transform="translate(-450.000000, -549.000000)">
11
+ <g id="Group-3-Copy" transform="translate(450.000000, 549.000000)">
12
+ <g id="Bitmap">
13
+ <mask id="mask-2" fill="white">
14
+ <use xlink:href="#path-1"></use>
15
+ </mask>
16
+ <use id="Mask" fill="#000000" xlink:href="#path-1"></use>
17
+ <image mask="url(#mask-2)" x="-8" y="-6" width="78" height="76" xlink:href="data:image/png;base64,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"></image>
18
+ </g>
19
+ </g>
20
+ </g>
21
+ </g>
22
+ </svg>
assets/img/mini-imagify.svg ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="65px" height="65px" viewBox="0 0 65 65" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
4
+ <title>Group 3 Copy</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <defs>
7
+ <rect id="path-1" x="0" y="0" width="65" height="65"></rect>
8
+ </defs>
9
+ <g id="Plugin-HeartBeat" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
10
+ <g id="About-Us-VS" transform="translate(-450.000000, -549.000000)">
11
+ <g id="Group-3-Copy" transform="translate(450.000000, 549.000000)">
12
+ <g id="Bitmap">
13
+ <mask id="mask-2" fill="white">
14
+ <use xlink:href="#path-1"></use>
15
+ </mask>
16
+ <use id="Mask" fill="#000000" xlink:href="#path-1"></use>
17
+ <image mask="url(#mask-2)" x="-8" y="-6" width="78" height="76" xlink:href="data:image/png;base64,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"></image>
18
+ </g>
19
+ </g>
20
+ </g>
21
+ </g>
22
+ </svg>
assets/img/mini-lazy.svg ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="65px" height="66px" viewBox="0 0 65 66" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
4
+ <title>Group 3 Copy</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <defs>
7
+ <rect id="path-1" x="0" y="0.580078125" width="65" height="65"></rect>
8
+ </defs>
9
+ <g id="Plugin-HeartBeat" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
10
+ <g id="About-Us-VS" transform="translate(-728.000000, -550.000000)">
11
+ <g id="Group-3-Copy" transform="translate(728.000000, 549.580078)">
12
+ <g id="Bitmap" transform="translate(0.000000, 0.419922)">
13
+ <mask id="mask-2" fill="white">
14
+ <use xlink:href="#path-1"></use>
15
+ </mask>
16
+ <use id="Mask" fill="#000000" xlink:href="#path-1"></use>
17
+ <image mask="url(#mask-2)" x="0" y="-1" width="67" height="68" xlink:href="data:image/png;base64,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"></image>
18
+ </g>
19
+ </g>
20
+ </g>
21
+ </g>
22
+ </svg>
assets/img/mini-rocket.svg ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="65px" height="65px" viewBox="0 0 65 65" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
4
+ <title>Group 3</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <g id="Plugin-HeartBeat" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
+ <g id="About-Us-VS" transform="translate(-165.000000, -549.000000)">
8
+ <g id="Group-3" transform="translate(165.000000, 549.000000)">
9
+ <rect id="Rectangle" fill="#000000" x="0" y="0" width="65" height="65"></rect>
10
+ <image id="Bitmap" x="2" y="3" width="60" height="60" xlink:href="data:image/png;base64,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"></image>
11
+ </g>
12
+ </g>
13
+ </g>
14
+ </svg>
assets/img/noun_SEO_737036.png ADDED
Binary file
assets/img/noun_SEO_737036.svg ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="62px" height="60px" viewBox="0 0 62 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
4
+ <title>noun_SEO_737036 (1)</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <g id="Plugin-HeartBeat" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
+ <g id="More-Optimization-V2" transform="translate(-628.000000, -773.000000)" fill="#FFFFFF" fill-rule="nonzero">
8
+ <g id="noun_SEO_737036-(1)" transform="translate(628.000000, 773.000000)">
9
+ <path d="M45.3543478,43.2134831 L45.623913,42.8764045 C49.6673913,38.1573034 51.8913043,32.2247191 51.8913043,26.0224719 C51.8913043,11.7977528 40.3,0.202247191 26.0804348,0.202247191 C11.8608696,0.134831461 0.336956522,11.7303371 0.336956522,26.0224719 C0.336956522,40.3146067 11.9282609,51.8426966 26.1478261,51.8426966 C31.9434783,51.8426966 37.4695652,49.9550562 42.0521739,46.3820225 L42.3217391,46.1797753 L59.3043478,59.8651685 L61.9326087,56.6292135 L45.3543478,43.2134831 Z M26.1478261,47.6629213 C14.2195652,47.6629213 4.51521739,37.9550562 4.51521739,26.0224719 C4.51521739,14.0898876 14.2195652,4.38202247 26.1478261,4.38202247 C38.076087,4.38202247 47.7804348,14.0898876 47.7804348,26.0224719 C47.7804348,37.9550562 38.076087,47.6629213 26.1478261,47.6629213 Z" id="Shape"></path>
10
+ <polygon id="Path" points="11.9282609 33.2359551 15.1630435 36.0674157 21.7673913 28.5168539 27.6304348 32.4269663 35.1782609 24.5393258 38.75 26.7640449 38.076087 16.6516854 28.0347826 20.0898876 31.4717391 22.1797753 27.023913 26.8988764 21.026087 22.8539326"></polygon>
11
+ </g>
12
+ </g>
13
+ </g>
14
+ </svg>
assets/img/noun_performance_1221123.png ADDED
Binary file
assets/img/noun_performance_1221123.svg ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="63px" height="43px" viewBox="0 0 63 43" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
4
+ <title>noun_performance_1221123 (2)</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <g id="Plugin-HeartBeat" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
+ <g id="More-Optimization-V2" transform="translate(-427.000000, -782.000000)" fill="#FFFFFF" fill-rule="nonzero">
8
+ <g id="noun_performance_1221123-(2)" transform="translate(427.000000, 782.000000)">
9
+ <g id="Group">
10
+ <path d="M2.13387097,42.0785714 L2.13387097,42.0785714 L2.84516129,41.8738095 C2.03225806,37.1642857 2.33709677,32.4547619 3.65806452,28.2571429 C4.26774194,26.1071429 5.18225806,24.1619048 6.3,22.2166667 C7.41774194,20.3738095 8.73870968,18.7357143 10.1612903,17.2 C10.6693548,16.6880952 11.0758065,16.2785714 11.583871,15.8690476 L8.53548387,10.9547619 C4.06451613,15.8690476 1.01612903,22.2166667 0.406451613,29.3833333 C6.10622664e-16,33.4785714 0.406451613,37.3690476 1.52419355,41.0547619 C1.62580645,41.4642857 1.82903226,41.7714286 2.03225806,42.1809524 L2.13387097,42.1809524 L2.13387097,42.0785714 Z" id="Path"></path>
11
+ <path d="M52.4322581,8.90714286 C51.1112903,7.67857143 49.6887097,6.55238095 48.1645161,5.63095238 C44.1,3.07142857 39.4258065,1.43333333 34.4467742,0.921428571 C27.1306452,0.204761905 20.1193548,2.15 14.3274194,6.04047619 L17.883871,11.8761905 C18.6967742,11.5690476 19.5096774,11.1595238 20.3225806,10.9547619 C22.1516129,10.3404762 23.9806452,10.0333333 25.9112903,9.82857143 C27.7403226,9.72619048 29.5693548,9.72619048 31.3983871,10.0333333 C34.9548387,10.647619 38.2064516,12.0809524 40.8483871,14.1285714 C41.1532258,14.4357143 41.5596774,14.6404762 41.8645161,14.947619 L52.4322581,8.90714286 L52.4322581,8.90714286 Z" id="Path"></path>
12
+ <path d="M62.5935484,35.1166667 C62.3903226,37.5738095 61.8822581,40.0309524 61.0693548,42.2833333 L60.7645161,42.1809524 L45.9290323,37.4714286 C46.5387097,36.447619 47.1483871,35.2190476 47.4532258,33.9904762 C47.8596774,32.7619048 48.0629032,31.3285714 48.1645161,29.997619 C48.1645161,29.4857143 48.1645161,28.8714286 48.1645161,28.3595238 L58.6306452,16.7904762 C61.6790323,22.1142857 63.2032258,28.4619048 62.5935484,35.1166667 Z" id="Path"></path>
13
+ <path d="M55.5822581,12.9 C55.4806452,12.5928571 55.0741935,12.5928571 54.8709677,12.6952381 L27.5370968,27.95 C27.0290323,28.2571429 26.5209677,28.6666667 26.1145161,29.0761905 C23.9806452,31.4309524 24.183871,35.0142857 26.5209677,37.1642857 C28.8580645,39.3142857 32.4145161,39.1095238 34.5483871,36.7547619 L55.5822581,13.5142857 C55.683871,13.3095238 55.7854839,13.1047619 55.5822581,12.9 Z M29.9758065,36.1404762 C28.35,36.0380952 27.2322581,34.6047619 27.333871,32.9666667 C27.4354839,31.3285714 28.8580645,30.202381 30.483871,30.3047619 C32.1096774,30.4071429 33.2274194,31.8404762 33.1258065,33.4785714 C33.0241935,35.1166667 31.6016129,36.3452381 29.9758065,36.1404762 Z" id="Shape"></path>
14
+ </g>
15
+ </g>
16
+ </g>
17
+ </g>
18
+ </svg>
assets/img/noun_revenue_949180.png ADDED
Binary file
assets/img/noun_revenue_949180.svg ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="63px" height="60px" viewBox="0 0 63 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 55 (78076) - https://sketchapp.com -->
4
+ <title>noun_revenue_949180</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <g id="Plugin-HeartBeat" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
+ <g id="More-Optimization-V2" transform="translate(-829.000000, -773.000000)" fill="#FFF7F7" fill-rule="nonzero">
8
+ <g id="noun_revenue_949180" transform="translate(829.000000, 773.000000)">
9
+ <path d="M41.8633406,33.3637713 C41.7631477,32.5200576 41.4737513,31.7087654 41.0160521,30.9884877 C40.4393657,30.0893504 39.683084,29.3148017 38.7930586,28.7118008 C37.4894158,27.8454352 36.0348099,27.2225622 34.5019523,26.8743172 L33.4997831,26.6143805 L32.5887202,26.3902972 L32.5887202,19.8291364 C33.4407748,19.8287711 34.2462176,20.2117746 34.7752711,20.8688832 C35.3704802,21.5769684 35.6930548,22.4687483 35.6863341,23.3875802 L41.0342733,23.3875802 C40.9960349,22.2315757 40.7136937,21.09605 40.2052061,20.0532198 C39.7664835,19.1540695 39.1465563,18.352045 38.3830803,17.6958629 C37.6061552,17.0492059 36.7174013,16.5452201 35.7592191,16.2079494 C34.7336642,15.840164 33.665597,15.5992931 32.5796095,15.4908826 L32.5796095,12.6315789 L30.3475054,12.6315789 L30.3475054,15.4908826 C29.232595,15.5593134 28.1322985,15.776418 27.0767896,16.1362427 C26.0593575,16.4755374 25.1120358,16.991632 24.2798265,17.6600095 C22.5347513,19.0737412 21.5498439,21.2002148 21.6104121,23.4234335 C21.5733161,24.492066 21.7917587,25.5543403 22.2481562,26.5247472 C22.6625998,27.3245796 23.2466827,28.0275964 23.9609544,28.5863141 C24.6968546,29.1523781 25.517426,29.6028966 26.3934924,29.9218509 C27.3045553,30.2534943 28.2156182,30.5492843 29.1266811,30.8181844 C29.3817787,30.8719644 29.6095445,30.9257444 29.8281996,30.9884877 C29.9985747,31.0352335 30.1659103,31.0921058 30.3292842,31.1587911 L30.3292842,38.903112 C29.2196996,38.7047744 28.2041442,38.1612189 27.4321041,37.3524551 C26.6086439,36.4188064 26.2073047,35.1954168 26.3206074,33.9643147 L21,33.9643147 C21.2550976,36.8863617 22.1661605,39.1003053 23.7331887,40.6061455 C25.5513649,42.2051403 27.8910988,43.1112776 30.3292842,43.1606958 L30.3292842,46.3157895 L32.5613883,46.3157895 L32.5613883,43.1875858 C34.1745567,43.1207591 35.7563512,42.7271267 37.2078091,42.0313156 C38.2941166,41.5062662 39.2730725,40.7892365 40.0958785,39.9159687 C41.2379749,38.6834791 41.9108314,37.0997994 42,35.4343016 C41.9928458,34.7421899 41.9472245,34.0509811 41.8633406,33.3637713 L41.8633406,33.3637713 Z M30.3475054,25.8973138 C29.4086814,25.7425588 28.5195628,25.3742456 27.7509761,24.8217137 C27.1968427,24.3385465 26.9008876,23.6304733 26.9492408,22.9035601 C26.9364919,22.437054 27.0331333,21.9739275 27.2316703,21.5500966 C27.4113741,21.1760503 27.6763831,20.8478441 28.0060738,20.5910199 C28.3303887,20.3314501 28.7011889,20.1338472 29.0993492,20.0084031 C29.5015106,19.8905936 29.918786,19.8302217 30.3383948,19.8291364 L30.3475054,25.8973138 Z M36.2694143,36.8236184 C36.0349976,37.2390358 35.7263735,37.6094698 35.3583514,37.9171452 C34.9600422,38.2156374 34.5134378,38.4459352 34.0373102,38.5983586 C33.5796393,38.7533106 33.1061034,38.8585094 32.6251627,38.9120753 L32.6251627,31.7682978 C33.7308193,32.0083882 34.7812988,32.4491439 35.7227766,33.0679813 C36.3610796,33.6064306 36.6996078,34.412424 36.6338395,35.2371082 C36.6557498,35.779638 36.5299369,36.318076 36.2694143,36.7967284 L36.2694143,36.8236184 Z" id="Shape"></path>
10
+ <path d="M61.4656325,44.8693851 L55.2436559,46.3023778 C55.1079893,46.32026 54.9705795,46.32026 54.8349129,46.3023778 C54.494793,46.3034746 54.1611977,46.2086018 53.8720961,46.0285576 C53.4658221,45.7696135 53.178359,45.3592999 53.0727765,44.8876397 L51.6467176,38.6354101 C51.5006878,37.9995374 51.7033432,37.3336821 52.1783456,36.8886653 C52.6533479,36.4436486 53.328533,36.287079 53.9495652,36.4779349 C54.5705974,36.6687908 55.043127,37.1780766 55.1891568,37.8139493 L55.5524839,39.3929795 C59.5142223,28.9094913 56.4442095,17.0549377 47.8995306,9.84185038 C39.3548516,2.62876307 27.2049083,1.63521861 17.6120514,7.36513455 L15.75,4.23445606 C26.8597598,-2.42191695 40.9709766,-1.1352787 50.7069916,7.42177882 C60.4430066,15.9788363 63.5906621,29.8611519 58.5045166,41.8117253 L60.6572297,41.3188488 C61.3070568,41.1212806 62.0122869,41.3043126 62.4856278,41.7933822 C62.9589687,42.2824519 63.1214169,42.9959306 62.9067953,43.6431658 C62.6921736,44.2904009 62.1363037,44.7633651 61.4656325,44.8693851 L61.4656325,44.8693851 Z" id="Path"></path>
11
+ <path d="M47.25,55.9132169 C36.0455351,62.4356658 21.9081849,61.0501379 12.1915228,52.4773187 C2.47486063,43.9044994 -0.626296859,30.0808322 4.50112409,18.1967273 L2.23483054,18.7161378 C1.25067864,18.9400918 0.270800945,18.3260835 0.0462124354,17.3447119 C-0.178376075,16.3633403 0.437371692,15.3862308 1.42152358,15.1622767 L7.68124569,13.7316198 C8.15330301,13.6221097 8.64965163,13.7040545 9.06112603,13.9594314 C9.4698834,14.2198084 9.76143149,14.6281293 9.87443299,15.0984895 L11.309143,21.34964 C11.5306835,22.3309213 10.9131076,23.3056476 9.92926267,23.5275189 C9.79277308,23.5453719 9.65452965,23.5453719 9.51804005,23.5275189 C8.67006064,23.5238313 7.93600277,22.9389987 7.74521365,22.115087 L7.38882071,20.7391049 C3.42724111,31.1713763 6.49184944,42.9608526 15.0367422,50.1604792 C23.5816349,57.3601057 35.7501644,58.4055364 45.4040674,52.7694167 L47.25,55.9132169 Z" id="Path"></path>
12
+ </g>
13
+ </g>
14
+ </g>
15
+ </svg>
assets/img/team-2.jpg ADDED
Binary file
assets/img/team.jpg ADDED
Binary file
assets/js/bundle.js DELETED
@@ -1,111 +0,0 @@
1
- jQuery(document).on('click', '#heartbeat_control_update_notice .notice-dismiss', function() {
2
-
3
- jQuery.ajax({
4
- url: ajaxurl,
5
- data: {
6
- action: 'dismiss_heartbeat_control_update_notice'
7
- }
8
- })
9
-
10
- });
11
- (function($) {
12
-
13
- 'use strict';
14
-
15
- function maybeHideFrequency() {
16
- $('.heartbeat_behavior select').each(function() {
17
- if (this.value !== 'modify') {
18
- $(this).closest('.cmb-repeatable-grouping').find('.heartbeat_frequency').hide();
19
- } else {
20
- $(this).closest('.cmb-repeatable-grouping').find('.heartbeat_frequency').show();
21
- }
22
- });
23
- }
24
-
25
- function bindChangeEvent() {
26
- $('.heartbeat_behavior select').change(function() {
27
- maybeHideFrequency();
28
- });
29
- }
30
-
31
- $(document).ready(function() {
32
- maybeHideFrequency();
33
- bindChangeEvent();
34
- });
35
-
36
- // Init slider at start
37
- $('.cmb-type-slider').each(function() {
38
- initRow($(this));
39
- });
40
-
41
-
42
- // When a group row is shifted, reinitialise slider value
43
- $('.cmb-repeatable-group').on('cmb2_shift_rows_complete', function(event, instance) {
44
-
45
- var shiftedGroup = $(instance).closest('.cmb-repeatable-group');
46
-
47
- shiftedGroup.find('.cmb-type-slider').each(function() {
48
-
49
- $(this).find('.slider-field').slider('value', $(this).find('.slider-field-value').val());
50
- $(this).find('.slider-field-value-text').text($(this).find('.slider-field-value').val());
51
-
52
- });
53
- maybeHideFrequency();
54
- bindChangeEvent();
55
-
56
- return false;
57
- });
58
-
59
-
60
- // When a group row is added, reset slider
61
- $('.cmb-repeatable-group').on('cmb2_add_row', function(event, newRow) {
62
-
63
- $(newRow).find('.cmb-type-slider').each(function() {
64
-
65
- initRow($(this));
66
-
67
- $(this).find('.ui-slider-range').css('width', 0);
68
- $(this).find('.slider-field').slider('value', 0);
69
- $(this).find('.slider-field-value-text').text('0');
70
- });
71
-
72
- maybeHideFrequency();
73
- bindChangeEvent();
74
- return false;
75
- });
76
-
77
-
78
- // Init slider
79
- function initRow(row) {
80
-
81
- // Loop through all cmb-type-slider-field instances and instantiate the slider UI
82
- row.each(function() {
83
- var $this = $(this);
84
- var $value = $this.find('.slider-field-value');
85
- var $slider = $this.find('.slider-field');
86
- var $text = $this.find('.slider-field-value-text');
87
- var slider_data = $value.data();
88
-
89
- $slider.slider({
90
- range: 'min',
91
- value: slider_data.start,
92
- min: slider_data.min,
93
- max: slider_data.max,
94
- step: slider_data.step,
95
- slide: function(event, ui) {
96
- $value.val(ui.value);
97
- $text.text(ui.value);
98
- }
99
- });
100
-
101
- // Initiate the display
102
- $value.val($slider.slider('value'));
103
- $text.text($slider.slider('value'));
104
- });
105
-
106
- maybeHideFrequency();
107
- bindChangeEvent();
108
- }
109
-
110
-
111
- })(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/bundle.min.js DELETED
@@ -1 +0,0 @@
1
- jQuery(document).on("click","#heartbeat_control_update_notice .notice-dismiss",function(){jQuery.ajax({url:ajaxurl,data:{action:"dismiss_heartbeat_control_update_notice"}})}),function(e){"use strict";function i(){e(".heartbeat_behavior select").each(function(){"modify"!==this.value?e(this).closest(".cmb-repeatable-grouping").find(".heartbeat_frequency").hide():e(this).closest(".cmb-repeatable-grouping").find(".heartbeat_frequency").show()})}function t(){e(".heartbeat_behavior select").change(function(){i()})}function a(a){a.each(function(){var i=e(this),t=i.find(".slider-field-value"),a=i.find(".slider-field"),n=i.find(".slider-field-value-text"),l=t.data();a.slider({range:"min",value:l.start,min:l.min,max:l.max,step:l.step,slide:function(e,i){t.val(i.value),n.text(i.value)}}),t.val(a.slider("value")),n.text(a.slider("value"))}),i(),t()}e(document).ready(function(){i(),t()}),e(".cmb-type-slider").each(function(){a(e(this))}),e(".cmb-repeatable-group").on("cmb2_shift_rows_complete",function(a,n){var l=e(n).closest(".cmb-repeatable-group");return l.find(".cmb-type-slider").each(function(){e(this).find(".slider-field").slider("value",e(this).find(".slider-field-value").val()),e(this).find(".slider-field-value-text").text(e(this).find(".slider-field-value").val())}),i(),t(),!1}),e(".cmb-repeatable-group").on("cmb2_add_row",function(n,l){return e(l).find(".cmb-type-slider").each(function(){a(e(this)),e(this).find(".ui-slider-range").css("width",0),e(this).find(".slider-field").slider("value",0),e(this).find(".slider-field-value-text").text("0")}),i(),t(),!1})}(jQuery);
 
assets/js/notices.js DELETED
@@ -1,7 +0,0 @@
1
- jQuery(document).ready(function() {
2
- jQuery('#heartbeat_control_update_notice > button').click(function() {
3
- jQuery.post(ajaxurl, {
4
- action: 'dismiss_heartbeat_control_update_notice'
5
- });
6
- });
7
- });
 
 
 
 
 
 
 
assets/js/script.js ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $ ){
2
+ 'use strict';
3
+ function switch_tab( tab ){
4
+ var tabs = $( 'span[data-tab]' ).map( function( i ,e ){ return $( e ).attr( 'data-tab' ); }).get();
5
+ var previous_tab = tabs.includes( getUrlParam( "tab" ) )?getUrlParam( "tab" ):tabs[0];
6
+ var active_tab = ( tabs.includes( tab ) )?tab:previous_tab;
7
+ setUrlParam( 'tab', active_tab );
8
+
9
+ $( '.nav-tab' ).removeClass( 'nav-tab-active' );
10
+ $( 'span[data-tab="'+active_tab+'"]' ).addClass( 'nav-tab-active' );
11
+ $( '.tab' ).hide();
12
+ $( '.tab' ).removeClass( 'tab-active' );
13
+ $( '#tab_'+active_tab ).show();
14
+ $( '#tab_'+active_tab ).addClass( 'tab-active' );
15
+
16
+ update_referer( previous_tab, active_tab, getUrlParam("page") );
17
+
18
+ }
19
+
20
+ function getUrlParam( param_name ){
21
+ var regex = RegExp(param_name+'=([^&]+)','g');
22
+ var r = regex.exec( location.href );
23
+ if( null !== r ){
24
+ return r[1];
25
+ }
26
+ return false;
27
+ }
28
+
29
+ function setUrlParam( param_name, param_value ){
30
+ var tr = getUrlParam( param_name );
31
+ var url = window.location.href;
32
+ if( tr ){
33
+ url = url.replace( param_name+'='+tr, param_name+'='+param_value );
34
+ }else{
35
+ var s = ( -1 === url.indexOf('?') )?'?':'&';
36
+ url += s+param_name+'='+param_value;
37
+ }
38
+ history.replaceState( null, null, url );
39
+ }
40
+
41
+ function update_referer( previous_tab, active_tab, page_settings ){
42
+ $( '.referer-link' ).each(function( i, e ) {
43
+ var href = $(e).attr('href');
44
+ if( -1 !== href.search( '%26tab%3D'+previous_tab ) ){
45
+ $(e).attr( 'href', href.replace( previous_tab, active_tab ) );
46
+ }else{
47
+ $(e).attr( 'href', href.replace( page_settings, page_settings+'%26tab%3D'+active_tab ) );
48
+ }
49
+ });
50
+ }
51
+
52
+ function maybeHideFrequency() {
53
+ $('.heartbeat_behavior input[type=radio]:checked').each(function() {
54
+ if (this.value !== 'modify') {
55
+ $(this).closest('.cmb-repeatable-grouping').find('.heartbeat_frequency').hide();
56
+ } else {
57
+ $(this).closest('.cmb-repeatable-grouping').find('.heartbeat_frequency').show();
58
+ }
59
+ });
60
+ }
61
+
62
+ function bindChangeEvent() {
63
+ $('.heartbeat_behavior input[type=radio]').change(function() {
64
+ maybeHideFrequency();
65
+ });
66
+ }
67
+
68
+ //slider
69
+ function initRow(row) {
70
+
71
+ // Loop through all cmb-type-slider-field instances and instantiate the slider UI
72
+ row.each(function() {
73
+ var $this = $(this);
74
+ var $value = $this.find('.slider-field-value');
75
+ var $slider = $this.find('.slider-field');
76
+ var $text = $this.find('.slider-field-value-text');
77
+ var slider_data = $value.data();
78
+
79
+ $slider.slider({
80
+ range: 'min',
81
+ value: slider_data.start,
82
+ min: slider_data.min,
83
+ max: slider_data.max,
84
+ step: slider_data.step,
85
+ slide: function(event, ui) {
86
+ $value.val(ui.value);
87
+ $text.text(ui.value);
88
+ }
89
+ });
90
+
91
+ // Initiate the display
92
+ $value.val($slider.slider('value'));
93
+ $text.text($slider.slider('value'));
94
+ });
95
+
96
+ maybeHideFrequency();
97
+ bindChangeEvent();
98
+ }
99
+
100
+ //initialisation
101
+ $(document).ready(function() {
102
+ $( '.cmb-type-slider' ).each(function(){ initRow( $(this) ); });
103
+ $( '.nav-tab' ).click(function(){ switch_tab( $( this ).attr('data-tab') ); });
104
+ maybeHideFrequency();
105
+ bindChangeEvent();
106
+ switch_tab();
107
+
108
+ //video subtitles
109
+ window._wq = window._wq || [];
110
+ _wq.push({
111
+ id: "s3jveyzr5h",
112
+ options: {
113
+ plugin: {
114
+ "captions-v1": { onByDefault: true, }
115
+ }
116
+ }
117
+ });
118
+
119
+ });
120
+
121
+ })( jQuery );
assets/js/src/settings.js DELETED
@@ -1,84 +0,0 @@
1
- (function($) {
2
-
3
- 'use strict';
4
-
5
- $('#heartbeat_control_behavior').change(function() {
6
- console.log('changed');
7
- if (this.value === 'modify') {
8
- $('.cmb2-id-heartbeat-control-frequency').show();
9
- } else {
10
- $('.cmb2-id-heartbeat-control-frequency').hide();
11
- }
12
- });
13
-
14
- // Init slider at start
15
- $('.cmb-type-slider').each(function() {
16
-
17
- initRow($(this));
18
-
19
- });
20
-
21
-
22
- // When a group row is shifted, reinitialise slider value
23
- $('.cmb-repeatable-group').on('cmb2_shift_rows_complete', function(event, instance) {
24
-
25
- var shiftedGroup = $(instance).closest('.cmb-repeatable-group');
26
-
27
- shiftedGroup.find('.cmb-type-slider').each(function() {
28
-
29
- $(this).find('.slider-field').slider('value', $(this).find('.slider-field-value').val());
30
- $(this).find('.slider-field-value-text').text($(this).find('.slider-field-value').val());
31
-
32
- });
33
-
34
- return false;
35
- });
36
-
37
-
38
- // When a group row is added, reset slider
39
- $('.cmb-repeatable-group').on('cmb2_add_row', function(event, newRow) {
40
-
41
- $(newRow).find('.cmb-type-slider').each(function() {
42
-
43
- initRow($(this));
44
-
45
- $(this).find('.ui-slider-range').css('width', 0);
46
- $(this).find('.slider-field').slider('value', 0);
47
- $(this).find('.slider-field-value-text').text('0');
48
- });
49
-
50
- return false;
51
- });
52
-
53
-
54
- // Init slider
55
- function initRow(row) {
56
-
57
- // Loop through all cmb-type-slider-field instances and instantiate the slider UI
58
- row.each(function() {
59
- var $this = $(this);
60
- var $value = $this.find('.slider-field-value');
61
- var $slider = $this.find('.slider-field');
62
- var $text = $this.find('.slider-field-value-text');
63
- var slider_data = $value.data();
64
-
65
- $slider.slider({
66
- range: 'min',
67
- value: slider_data.start,
68
- min: slider_data.min,
69
- max: slider_data.max,
70
- step: slider_data.step,
71
- slide: function(event, ui) {
72
- $value.val(ui.value);
73
- $text.text(ui.value);
74
- }
75
- });
76
-
77
- // Initiate the display
78
- $value.val($slider.slider('value'));
79
- $text.text($slider.slider('value'));
80
- });
81
- }
82
-
83
-
84
- })(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
autoloader.php DELETED
@@ -1,28 +0,0 @@
1
- <?php
2
- /**
3
- * Contains the autoloader.
4
- *
5
- * @package Heartbeat_Control
6
- */
7
-
8
- if ( ! defined( 'ABSPATH' ) ) {
9
- exit;
10
- }
11
-
12
- /**
13
- * Autoloads files based on class names.
14
- *
15
- * @param string $classname The class name.
16
- *
17
- * @return void
18
- */
19
- function heartbeat_control_autoload( $classname ) {
20
- $class = str_replace( '\\', DIRECTORY_SEPARATOR, str_replace( '_', '-', strtolower( $classname ) ) );
21
- $file_path = WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . $class . '.php';
22
- if ( file_exists( $file_path ) ) {
23
- require_once $file_path;
24
- }
25
- }
26
-
27
- // Register the autoloader.
28
- spl_autoload_register( 'heartbeat_control_autoload' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
composer.json CHANGED
@@ -1,15 +1,30 @@
1
  {
2
- "name": "jeffmatson/heartbeat-control",
3
  "description": "WordPress plugin to control the WordPress heartbeat.",
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  "type": "wordpress-plugin",
 
 
 
 
5
  "require": {
6
- "webdevstudios/cmb2": "^2.3"
7
  },
8
- "license": "GPLv3",
9
- "authors": [
10
- {
11
- "name": "Jeff Matson",
12
- "email": "jeff@jeffmatson.net"
13
  }
14
- ]
15
  }
1
  {
2
+ "name": "wp-media/heartbeat-control",
3
  "description": "WordPress plugin to control the WordPress heartbeat.",
4
+ "keywords": [
5
+ "wordpress",
6
+ "heartbeat"
7
+ ],
8
+ "homepage": "https://github.com/wp-media/heartbeat-control",
9
+ "license": "GPL-2.0+",
10
+ "authors": [
11
+ {
12
+ "name": "WP Media",
13
+ "email": "contact@wp-media.me",
14
+ "homepage": "https://wp-media.me"
15
+ }
16
+ ],
17
  "type": "wordpress-plugin",
18
+ "support": {
19
+ "issues": "https://github.com/wp-media/heartbeat-control/issues",
20
+ "source": "https://github.com/wp-media/heartbeat-control"
21
+ },
22
  "require": {
23
+ "cmb2/cmb2": "^2.6"
24
  },
25
+ "autoload" : {
26
+ "psr-4" : {
27
+ "Heartbeat_Control\\" : ""
 
 
28
  }
29
+ }
30
  }
composer.lock CHANGED
@@ -1,30 +1,32 @@
1
  {
2
  "_readme": [
3
  "This file locks the dependencies of your project to a known state",
4
- "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5
  "This file is @generated automatically"
6
  ],
7
- "content-hash": "ae70281166205196febfc905a448c904",
8
  "packages": [
9
  {
10
- "name": "webdevstudios/cmb2",
11
- "version": "v2.4.2",
12
  "source": {
13
  "type": "git",
14
  "url": "https://github.com/CMB2/CMB2.git",
15
- "reference": "fdcb80985e4b4a4c7118b2ecce090af4a3309958"
16
  },
17
  "dist": {
18
  "type": "zip",
19
- "url": "https://api.github.com/repos/CMB2/CMB2/zipball/fdcb80985e4b4a4c7118b2ecce090af4a3309958",
20
- "reference": "fdcb80985e4b4a4c7118b2ecce090af4a3309958",
21
  "shasum": ""
22
  },
23
  "require": {
24
  "php": ">5.2.4"
25
  },
26
  "require-dev": {
27
- "phpunit/phpunit": "3.7.*"
 
 
28
  },
29
  "suggest": {
30
  "composer/installers": "~1.0"
@@ -46,12 +48,6 @@
46
  "email": "justin@dsgnwrks.pro",
47
  "homepage": "https://dsgnwrks.pro",
48
  "role": "Developer"
49
- },
50
- {
51
- "name": "Zao",
52
- "email": "office@zao.com",
53
- "homepage": "http://zao.is",
54
- "role": "Developer"
55
  }
56
  ],
57
  "description": "CMB2 is a metabox, custom fields, and forms library for WordPress that will blow your mind.",
@@ -61,7 +57,7 @@
61
  "plugin",
62
  "wordpress"
63
  ],
64
- "time": "2018-05-29T14:23:29+00:00"
65
  }
66
  ],
67
  "packages-dev": [],
1
  {
2
  "_readme": [
3
  "This file locks the dependencies of your project to a known state",
4
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
  "This file is @generated automatically"
6
  ],
7
+ "content-hash": "2c395ac792987c1eb6acb88ed07340e2",
8
  "packages": [
9
  {
10
+ "name": "cmb2/cmb2",
11
+ "version": "v2.6.0",
12
  "source": {
13
  "type": "git",
14
  "url": "https://github.com/CMB2/CMB2.git",
15
+ "reference": "008d9b83263d971d6bd41c27e31113db852d5ef3"
16
  },
17
  "dist": {
18
  "type": "zip",
19
+ "url": "https://api.github.com/repos/CMB2/CMB2/zipball/008d9b83263d971d6bd41c27e31113db852d5ef3",
20
+ "reference": "008d9b83263d971d6bd41c27e31113db852d5ef3",
21
  "shasum": ""
22
  },
23
  "require": {
24
  "php": ">5.2.4"
25
  },
26
  "require-dev": {
27
+ "apigen/apigen": "4.1.2",
28
+ "nette/utils": "2.5.3",
29
+ "phpunit/phpunit": "6.5.13"
30
  },
31
  "suggest": {
32
  "composer/installers": "~1.0"
48
  "email": "justin@dsgnwrks.pro",
49
  "homepage": "https://dsgnwrks.pro",
50
  "role": "Developer"
 
 
 
 
 
 
51
  }
52
  ],
53
  "description": "CMB2 is a metabox, custom fields, and forms library for WordPress that will blow your mind.",
57
  "plugin",
58
  "wordpress"
59
  ],
60
+ "time": "2019-01-21T04:30:08+00:00"
61
  }
62
  ],
63
  "packages-dev": [],
heartbeat-control.php CHANGED
@@ -1,67 +1,53 @@
1
  <?php
2
  /**
3
- * Plugin Name: Heartbeat Control
4
- * Plugin URI: https://jeffmatson.net/heartbeat-control
5
  * Description: Completely controls the WordPress heartbeat.
6
- * Version: 1.2.5
7
- * Author: Jeff Matson
8
- * Author URI: http://jeffmatson.net
9
  * License: GPL2
10
  * Text Domain: heartbeat-control
11
- * Domain Path: /languages
12
  *
13
  * @package Heartbeat_Control
14
  */
15
 
16
  namespace Heartbeat_Control;
17
 
 
 
 
 
 
 
18
  /**
19
  * The primary Heartbeat Control class.
20
  */
21
  class Heartbeat_Control {
22
-
23
  /**
24
  * The current version.
25
  *
26
  * @var string
27
  */
28
- public $version = '1.2.5';
29
 
30
  /**
31
- * Heartbeat_Control Constructor.
32
  */
33
  public function __construct() {
34
- $this->maybe_upgrade();
35
  $this->register_dependencies();
36
- add_action( 'wp_ajax_dismiss_heartbeat_control_update_notice', array( $this, 'dismiss_update_notice' ) );
37
- add_action( 'admin_enqueue_scripts', array( $this, 'maybe_enqueue_scripts' ) );
38
-
39
  new Heartbeat();
40
  }
41
 
42
- /**
43
- * Enqueue additional scrips if needed.
44
- *
45
- * @return void
46
- */
47
- public function maybe_enqueue_scripts() {
48
- if ( get_option( 'heartbeat_control_update_notice' ) ) {
49
- wp_enqueue_script( 'heartbeat-control-notices', plugins_url( '/assets/js/bundle.js', __FILE__ ), array( 'jquery' ), '1.0.0', true );
50
- wp_localize_script( 'heartbeat-control-notices', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
51
- }
52
- }
53
-
54
  /**
55
  * Register additional plugin dependencies.
56
  *
57
  * @return void
58
  */
59
  public function register_dependencies() {
60
- // Main plugin autoloader.
61
- require_once dirname( __FILE__ ) . '/autoloader.php';
62
-
63
- // Initialize CMB2 for settings pages.
64
- require_once dirname( __FILE__ ) . '/vendor/webdevstudios/cmb2/init.php';
65
  add_action( 'cmb2_admin_init', array( new Settings(), 'init_metaboxes' ) );
66
  }
67
 
@@ -71,10 +57,6 @@ class Heartbeat_Control {
71
  * @return void
72
  */
73
  public function maybe_upgrade() {
74
- if ( ! apply_filters( 'hbc_disable_notice', false ) ) {
75
- add_action( 'admin_notices', array( $this, 'heartbeat_control_updated' ) );
76
- }
77
-
78
  $db_version = get_option( 'heartbeat_control_version', '1.0' );
79
  if ( version_compare( $db_version, $this->version, '<' ) ) {
80
  $this->upgrade_db( $db_version );
@@ -84,7 +66,7 @@ class Heartbeat_Control {
84
  /**
85
  * Upgrades the database from older versions.
86
  *
87
- * @param string $version The current DB version.
88
  * @return void
89
  */
90
  public function upgrade_db( $version ) {
@@ -92,18 +74,18 @@ class Heartbeat_Control {
92
 
93
  $updated_options = array();
94
 
95
- if ( $old_location === get_option( 'heartbeat_location' ) ) {
96
- if ( $old_location === 'disable-heartbeat-everywhere' ) {
97
  $updated_options['heartbeat_control_behavior'] = 'disable';
98
  $updated_options['heartbeat_control_location'] = array( 'frontend', 'admin', '/wp-admin/post.php' );
99
- } elseif ( $old_location === 'disable-heartbeat-dashboard' ) {
100
  $updated_options['heartbeat_control_behavior'] = 'disable';
101
  $updated_options['heartbeat_control_location'] = array( 'admin' );
102
- } elseif ( $old_location === 'allow-heartbeat-post-edit' ) {
103
  $updated_options['heartbeat_control_behavior'] = 'allow';
104
  $updated_options['heartbeat_control_location'] = array( '/wp-admin/post.php' );
105
  } else {
106
- if ( $old_frequency === get_option( 'heartbeat_frequency' ) ) {
107
  $updated_options['heartbeat_control_behavior'] = 'modify';
108
  $updated_options['heartbeat_control_location'] = array( 'frontend', 'admin', '/wp-admin/post.php' );
109
  $updated_options['heartbeat_control_frequency'] = $old_frequency;
@@ -119,33 +101,76 @@ class Heartbeat_Control {
119
  update_option( 'heartbeat_control_settings', array( 'rules' => array( $original_settings ) ) );
120
  }
121
 
122
- update_option( 'heartbeat_control_version', $this->version );
123
- update_option( 'heartbeat_control_update_notice', true );
124
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
125
 
126
- /**
127
- * Displays the update notice.
128
- *
129
- * @return void
130
- */
131
- public function heartbeat_control_updated() {
132
- if ( get_option( 'heartbeat_control_update_notice' ) ) {
133
- ?>
134
- <div id="heartbeat_control_update_notice" class="notice notice-success is-dismissible">
135
- <p><?php esc_html_e( 'Heartbeat Control has updated to a new version!', 'heartbeat-control' ); ?></p>
136
- <p><?php esc_html_e( 'Love it? Does it save you money and valuable server resources? Consider <a href="https://paypal.me/JeffMatson">sending me a donation</a>. The plugin is entirely developed in my spare time and every little bit helps to motivate me to add more features and bug fixes.', 'heartbeat-control' ); ?></p>
137
- </div>
138
- <?php
139
  }
140
- }
141
 
142
- /**
143
- * Dismisses the update notice.
144
- *
145
- * @return void
146
- */
147
- public function dismiss_update_notice() {
148
- delete_option( 'heartbeat_control_update_notice' );
149
  }
150
 
151
  }
1
  <?php
2
  /**
3
+ * Plugin Name: Heartbeat Control by WP Rocket
4
+ * Plugin URI: https://wordpress.org/plugins/heartbeat-control/
5
  * Description: Completely controls the WordPress heartbeat.
6
+ * Version: 2.0
7
+ * Author: WP Rocket
8
+ * Author URI: https://wp-rocket.me
9
  * License: GPL2
10
  * Text Domain: heartbeat-control
 
11
  *
12
  * @package Heartbeat_Control
13
  */
14
 
15
  namespace Heartbeat_Control;
16
 
17
+ define( 'HBC_VERSION', '2.0' );
18
+ define( 'HBC_PLUGIN_PATH', plugin_dir_path( __FILE__ ) );
19
+ define( 'HBC_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
20
+
21
+ require_once dirname( __FILE__ ) . '/vendor/autoload.php';
22
+
23
  /**
24
  * The primary Heartbeat Control class.
25
  */
26
  class Heartbeat_Control {
 
27
  /**
28
  * The current version.
29
  *
30
  * @var string
31
  */
32
+ public $version = HBC_VERSION;
33
 
34
  /**
35
+ * Constructor.
36
  */
37
  public function __construct() {
 
38
  $this->register_dependencies();
39
+ $this->maybe_upgrade();
 
 
40
  new Heartbeat();
41
  }
42
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  /**
44
  * Register additional plugin dependencies.
45
  *
46
  * @return void
47
  */
48
  public function register_dependencies() {
49
+ // Initialize CMB2 for the new settings page.
50
+ require_once dirname( __FILE__ ) . '/vendor/cmb2/cmb2/init.php';
 
 
 
51
  add_action( 'cmb2_admin_init', array( new Settings(), 'init_metaboxes' ) );
52
  }
53
 
57
  * @return void
58
  */
59
  public function maybe_upgrade() {
 
 
 
 
60
  $db_version = get_option( 'heartbeat_control_version', '1.0' );
61
  if ( version_compare( $db_version, $this->version, '<' ) ) {
62
  $this->upgrade_db( $db_version );
66
  /**
67
  * Upgrades the database from older versions.
68
  *
69
+ * @param string $version The current DB version.
70
  * @return void
71
  */
72
  public function upgrade_db( $version ) {
74
 
75
  $updated_options = array();
76
 
77
+ if ( get_option( 'heartbeat_location' ) === $old_location ) {
78
+ if ( 'disable-heartbeat-everywhere' === $old_location ) {
79
  $updated_options['heartbeat_control_behavior'] = 'disable';
80
  $updated_options['heartbeat_control_location'] = array( 'frontend', 'admin', '/wp-admin/post.php' );
81
+ } elseif ( 'disable-heartbeat-dashboard' === $old_location ) {
82
  $updated_options['heartbeat_control_behavior'] = 'disable';
83
  $updated_options['heartbeat_control_location'] = array( 'admin' );
84
+ } elseif ( 'allow-heartbeat-post-edit' === $old_location ) {
85
  $updated_options['heartbeat_control_behavior'] = 'allow';
86
  $updated_options['heartbeat_control_location'] = array( '/wp-admin/post.php' );
87
  } else {
88
+ if ( get_option( 'heartbeat_frequency' ) === $old_frequency ) {
89
  $updated_options['heartbeat_control_behavior'] = 'modify';
90
  $updated_options['heartbeat_control_location'] = array( 'frontend', 'admin', '/wp-admin/post.php' );
91
  $updated_options['heartbeat_control_frequency'] = $old_frequency;
101
  update_option( 'heartbeat_control_settings', array( 'rules' => array( $original_settings ) ) );
102
  }
103
 
104
+ /*
105
+ * In version 1.3.0 we remove the ordering and overwriting of rules,
106
+ * you can have only one behavior for each location now, it simpler and less misleading.
107
+ * So this code check for rules by location and take one for each based on there order.
108
+ */
109
+ if ( version_compare( $version, '2.0', '<' ) ) {
110
+ $os = get_option( 'heartbeat_control_settings', array() );
111
+ $new_mapping = array(
112
+ array(
113
+ 'heartbeat_control_behavior' => 'allow',
114
+ 'heartbeat_control_frequency' => 0,
115
+ ),
116
+ );
117
+ $ns = array(
118
+ 'rules_dash' => $new_mapping,
119
+ 'rules_front' => $new_mapping,
120
+ 'rules_editor' => $new_mapping,
121
+ );
122
+
123
+ if ( ! isset( $os['rules'] ) || empty( $os['rules'] ) ) {
124
+ update_option( 'heartbeat_control_settings', $ns );
125
+ } else {
126
+ $v = array( false, false, false );
127
+
128
+ foreach ( $os['rules'] as $rules ) {
129
+ foreach ( $rules['heartbeat_control_location'] as $location ) {
130
+ if ( 'frontend' === $location && false === $v[0] ) {
131
+ $ns['rules_front'] = array(
132
+ array(
133
+ 'heartbeat_control_behavior' => $rules['heartbeat_control_behavior'],
134
+ 'heartbeat_control_frequency' => $rules['heartbeat_control_frequency'],
135
+ ),
136
+ );
137
+ $v[0] = true;
138
+ }
139
+
140
+ if ( 'admin' === $location && false === $v[1] ) {
141
+ $ns['rules_dash'] = array(
142
+ array(
143
+ 'heartbeat_control_behavior' => $rules['heartbeat_control_behavior'],
144
+ 'heartbeat_control_frequency' => $rules['heartbeat_control_frequency'],
145
+ ),
146
+ );
147
+ $v[1] = true;
148
+ }
149
+
150
+ if ( '/wp-admin/post.php' === $location && false === $v[2] ) {
151
+ $ns['rules_editor'] = array(
152
+ array(
153
+ 'heartbeat_control_behavior' => $rules['heartbeat_control_behavior'],
154
+ 'heartbeat_control_frequency' => $rules['heartbeat_control_frequency'],
155
+ ),
156
+ );
157
+ $v[2] = true;
158
+ }
159
+
160
+ if ( ! in_array( false, $v ) ) { // phpcs:ignore WordPress.PHP.StrictInArray
161
+ break 2;
162
+ }
163
+ }
164
+ }
165
+ }
166
 
167
+ update_option( 'heartbeat_control_settings', $ns );
 
 
 
 
 
 
 
 
 
 
 
 
168
  }
 
169
 
170
+ update_option( 'heartbeat_control_version', $this->version );
171
+
172
+ $notices = Notices::get_instance();
173
+ $notices->append( 'success', __( 'Heartbeat Control data have been migrated successfully!', 'heartbeat-control' ) );
 
 
 
174
  }
175
 
176
  }
js/donate-notice.js DELETED
@@ -1,10 +0,0 @@
1
- jQuery(document).on('click', '.heartbeat-control-donate .notice-dismiss', function() {
2
-
3
- jQuery.ajax({
4
- url: ajaxurl,
5
- data: {
6
- action: 'heartbeat_control_dismiss_donate'
7
- }
8
- });
9
-
10
- });
 
 
 
 
 
 
 
 
 
 
languages/heartbeat-control.pot DELETED
@@ -1,82 +0,0 @@
1
- # Copyright (C) 2018 heartbeat-control
2
- # This file is distributed under the same license as the heartbeat-control package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: heartbeat-control\n"
6
- "MIME-Version: 1.0\n"
7
- "Content-Type: text/plain; charset=UTF-8\n"
8
- "Content-Transfer-Encoding: 8bit\n"
9
- "X-Poedit-Basepath: ..\n"
10
- "X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
11
- "X-Poedit-SearchPath-0: .\n"
12
- "X-Poedit-SearchPathExcluded-0: *.js\n"
13
- "X-Poedit-SourceCharset: UTF-8\n"
14
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
-
16
- #: ../heartbeat-control.php:104
17
- msgid "Heartbeat Control has updated to a new version!"
18
- msgstr ""
19
-
20
- #: ../heartbeat-control.php:105
21
- msgid "Multiple rules can now be specified. Go to the settings to add the new features!"
22
- msgstr ""
23
-
24
- #: ../heartbeat-control.php:106
25
- msgid "Want more? <a href=\"https://www.patreon.com/JeffMatson\">Support me on Patreon</a> to further my projects and get early access to the upcoming Heartbeat Control Pro!"
26
- msgstr ""
27
-
28
- #: ../settings.php:41
29
- msgid "Heartbeat Control Settings"
30
- msgstr ""
31
-
32
- #: ../settings.php:51
33
- msgid "Set WordPress heartbeat rules. Duplicate locations are ordered based on priority (higher list position wins)."
34
- msgstr ""
35
-
36
- #: ../settings.php:53
37
- msgid "Rule {#}"
38
- msgstr ""
39
-
40
- #: ../settings.php:54
41
- msgid "Add Another Rule"
42
- msgstr ""
43
-
44
- #: ../settings.php:55
45
- msgid "Remove Rule"
46
- msgstr ""
47
-
48
- #: ../settings.php:61
49
- msgid "Heartbeat Behavior"
50
- msgstr ""
51
-
52
- #: ../settings.php:67
53
- msgid "Allow Heartbeat"
54
- msgstr ""
55
-
56
- #: ../settings.php:68
57
- msgid "Disable Heartbeat"
58
- msgstr ""
59
-
60
- #: ../settings.php:69
61
- msgid "Modify Heartbeat"
62
- msgstr ""
63
-
64
- #: ../settings.php:74
65
- msgid "Locations"
66
- msgstr ""
67
-
68
- #: ../settings.php:78
69
- msgid "WordPress Dashboard"
70
- msgstr ""
71
-
72
- #: ../settings.php:79
73
- msgid "Frontend"
74
- msgstr ""
75
-
76
- #: ../settings.php:80
77
- msgid "Post Editor"
78
- msgstr ""
79
-
80
- #: ../settings.php:85
81
- msgid "Frequency"
82
- msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
phpcs.xml ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <ruleset name="WordPress Coding Standards">
3
+ <description>Heartbeat Control dev PHP_CodeSniffer ruleset.</description>
4
+
5
+ <arg name="extensions" value="php"/>
6
+
7
+ <file>.</file>
8
+
9
+ <!-- Exclude Composer vendor directory. -->
10
+ <exclude-pattern>*/vendor/*</exclude-pattern>
11
+
12
+ <!-- Exclude Imagify Partner API. -->
13
+ <exclude-pattern>Imagify_Partner.php</exclude-pattern>
14
+
15
+ <rule ref="WordPress">
16
+ <!-- https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/ -->
17
+ <exclude name="Squiz.Commenting.FileComment.Missing"/>
18
+ <exclude name="Squiz.Commenting.FileComment.MissingPackageTag"/>
19
+ <exclude name="Squiz.Commenting.FunctionCommentThrowTag"/>
20
+ <exclude name="WordPress.Files.FileName.NotHyphenatedLowercase" />
21
+ </rule>
22
+
23
+ <rule ref="WordPress.Files.FileName">
24
+ <properties>
25
+ <property name="strict_class_file_names" value="false" />
26
+ </properties>
27
+ </rule>
28
+ </ruleset>
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === Heartbeat Control ===
2
- Contributors: JeffMatson
3
- Donate link: https://paypal.me/JeffMatson
4
  Tags: heartbeat, admin-ajax, server resources, heartbeat control, heartbeat api, performance, debugging, javascript
5
  Requires at least: 3.6
6
- Tested up to: 4.9.7
7
- Stable tag: 1.2.5
 
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -12,11 +12,21 @@ Allows you to easily manage the frequency of the WordPress heartbeat API.
12
 
13
  == Description ==
14
 
15
- Allows you to easily manage the frequency of the WordPress heartbeat API with just a few clicks.
16
 
17
- The heartbeat API can be disabled entirely and allowed for only specific locations.
18
 
19
- Heartbeat intervals can be modified between 15 and 300 seconds between requests, saving on server resources.
 
 
 
 
 
 
 
 
 
 
20
 
21
  == Installation ==
22
 
@@ -24,6 +34,11 @@ Heartbeat intervals can be modified between 15 and 300 seconds between requests,
24
  1. Activate Heartbeat Control on the Plugins page.
25
  1. Adjust any settings within Settings > Heartbeat Control.
26
 
 
 
 
 
 
27
  == Frequently Asked Questions ==
28
 
29
  = How do I change my settings? =
@@ -35,6 +50,9 @@ All options are located within Settings > Heartbeat Control.
35
  If you commonly leave your WordPress admin up for long periods of time, especially while writing or editing a post, the repeated POST requests can cause high resource usage. To avoid this, the heartbeat can be modified or even disabled to lower your server resource usage.
36
 
37
  == Changelog ==
 
 
 
38
  = 1.2.5 =
39
  * Fixed issue caused by previous version deployment.
40
  * Added hbc_disable_notice hook to force dismissal of update notices.
1
  === Heartbeat Control ===
2
+ Contributors: wp_rocket, wp_media
 
3
  Tags: heartbeat, admin-ajax, server resources, heartbeat control, heartbeat api, performance, debugging, javascript
4
  Requires at least: 3.6
5
+ Requires PHP: 5.3
6
+ Tested up to: 5.4
7
+ Stable tag: 2.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
12
 
13
  == Description ==
14
 
15
+ Heartbeat Control by WP Rocket allows you to manage the frequency of the WordPress heartbeat API in a few clicks.
16
 
17
+ The WordPress Heartbeat API is a great feature that provides real-time communication between the server and the browser when you are logged into your WordPress admin panel. It uses the file /wp-admin/admin-ajax.php to run AJAX calls from the browser. By default, AJAX requests are sent every 15 seconds on post edit pages, and every 60 seconds on the dashboard.
18
 
19
+ This is indeed helpful; but if you usually leave your WordPress admin open for long periods (for example when you write or edit posts), the AJAX requests from the API can pile up and generate high CPU usage, leading to server performance issues and even hosting account suspensions.
20
+
21
+ With Heartbeat Control by WP Rocket, you can easily choose to limit or completely stop the activity of the WordPress Heartbeat API. You can also add rules for specific locations only (Dashboard, Frontend or Post Editor).
22
+
23
+ To learn more about WordPress performance optimization and make your website faster, join our [WP Rocket Facebook Community](https://www.facebook.com/groups/WPRocketUsers/)!
24
+
25
+ = Related Plugins =
26
+
27
+ * [WP Rocket](https://wp-rocket.me/?utm_source=wordpress.org&utm_medium=referral&utm_campaign=HeartBeatPlugin): Best caching plugin to speed-up your WordPress website.
28
+ * [Lazy Load by WP Rocket](https://wordpress.org/plugins/rocket-lazy-load/): Best Lazy Load script to reduce the number of HTTP requests and improves the websites loading time.
29
+ * [Imagify](https://wordpress.org/plugins/imagify/): Best Image Optimizer to speed up your website with lighter images.
30
 
31
  == Installation ==
32
 
34
  1. Activate Heartbeat Control on the Plugins page.
35
  1. Adjust any settings within Settings > Heartbeat Control.
36
 
37
+ == Screenshots ==
38
+
39
+ 1. Heartbeat Settings
40
+ 2. Modify Heartbeat frequency precisely
41
+
42
  == Frequently Asked Questions ==
43
 
44
  = How do I change my settings? =
50
  If you commonly leave your WordPress admin up for long periods of time, especially while writing or editing a post, the repeated POST requests can cause high resource usage. To avoid this, the heartbeat can be modified or even disabled to lower your server resource usage.
51
 
52
  == Changelog ==
53
+ = 2.0 - 2019/11/04 =
54
+ * Revamp the settings page.
55
+
56
  = 1.2.5 =
57
  * Fixed issue caused by previous version deployment.
58
  * Added hbc_disable_notice hook to force dismissal of update notices.
settings.php DELETED
@@ -1,128 +0,0 @@
1
- <?php
2
- /**
3
- * Contains the Heartbeat_Control\Settings class.
4
- *
5
- * @package Heartbeat_Control
6
- */
7
-
8
- namespace Heartbeat_Control;
9
-
10
- /**
11
- * Primary settings page class.
12
- */
13
- class Settings {
14
-
15
- /**
16
- * Renders the slider field.
17
- *
18
- * @param [type] $field
19
- * @param [type] $field_escaped_value
20
- * @param [type] $field_object_id
21
- * @param [type] $field_object_type
22
- * @param [type] $field_type_object
23
- *
24
- * @return void
25
- */
26
- public function render_slider_field( $field, $field_escaped_value, $field_object_id, $field_object_type, $field_type_object ) {
27
- echo '<div class="slider-field"></div>';
28
- // phpcs:ignore
29
- echo $field_type_object->input( array(
30
- 'type' => 'hidden',
31
- 'class' => 'slider-field-value',
32
- 'readonly' => 'readonly',
33
- 'data-start' => absint( $field_escaped_value ),
34
- 'data-min' => intval( $field->min() ),
35
- 'data-max' => intval( $field->max() ),
36
- 'data-step' => intval( $field->step() ),
37
- 'desc' => '',
38
- ) );
39
- echo '<span class="slider-field-value-display">' . esc_html( $field->value_label() ) . ' <span class="slider-field-value-text"></span></span>';
40
- $field_type_object->_desc( true, true );
41
- }
42
-
43
- /**
44
- * Enqueue scripts on settings pages.
45
- *
46
- * @param string $hook The settings page slug.
47
- *
48
- * @return void
49
- */
50
- public function enqueue_scripts( $hook ) {
51
- if ( $hook !== 'settings_page_heartbeat_control_settings' ) {
52
- return;
53
- }
54
-
55
- wp_enqueue_script( 'heartbeat-control-settings', plugins_url( '/assets/js/bundle.js', __FILE__ ), array( 'jquery', 'jquery-ui-slider' ), '1.0.0', true );
56
- wp_localize_script( 'heartbeat-control-settings', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
57
- wp_register_style( 'slider_ui', '//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.min.css', array(), '1.0' );
58
- wp_enqueue_style( 'slider_ui' );
59
- }
60
-
61
- /**
62
- * Initialize the meta boxes in CMB2.
63
- *
64
- * @return void
65
- */
66
- public function init_metaboxes() {
67
- add_action( 'cmb2_render_slider', array( $this, 'render_slider_field' ), 10, 5 );
68
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
69
- $prefix = 'heartbeat_control_';
70
-
71
- $cmb = new_cmb2_box( array(
72
- 'id' => 'heartbeat_control_settings',
73
- 'title' => __( 'Heartbeat Control Settings', 'heartbeat-control' ),
74
- 'object_types' => array( 'options-page' ),
75
- 'option_key' => 'heartbeat_control_settings',
76
- 'capability' => 'manage_options',
77
- 'parent_slug' => 'options-general.php',
78
- ) );
79
-
80
- $rule_group = $cmb->add_field( array(
81
- 'id' => 'rules',
82
- 'type' => 'group',
83
- 'description' => __( 'Set WordPress heartbeat rules. Duplicate locations are ordered based on priority (higher list position wins).', 'heartbeat-control' ),
84
- 'options' => array(
85
- 'group_title' => __( 'Rule {#}', 'heartbeat-control' ),
86
- 'add_button' => __( 'Add Another Rule', 'heartbeat-control' ),
87
- 'remove_button' => __( 'Remove Rule', 'heartbeat-control' ),
88
- 'sortable' => true,
89
- ),
90
- ) );
91
-
92
- $cmb->add_group_field( $rule_group, array(
93
- 'name' => __( 'Heartbeat Behavior', 'heartbeat-control' ),
94
- 'id' => $prefix . 'behavior',
95
- 'type' => 'select',
96
- 'default' => 'allow',
97
- 'classes' => 'heartbeat_behavior',
98
- 'options' => array(
99
- 'allow' => __( 'Allow Heartbeat', 'heartbeat-control' ),
100
- 'disable' => __( 'Disable Heartbeat', 'heartbeat-control' ),
101
- 'modify' => __( 'Modify Heartbeat', 'heartbeat-control' ),
102
- ),
103
- ) );
104
-
105
- $cmb->add_group_field( $rule_group, array(
106
- 'name' => __( 'Locations', 'heartbeat-control' ),
107
- 'id' => $prefix . 'location',
108
- 'type' => 'multicheck',
109
- 'options' => array(
110
- 'admin' => __( 'WordPress Dashboard', 'heartbeat-control' ),
111
- 'frontend' => __( 'Frontend', 'heartbeat-control' ),
112
- '/wp-admin/post.php' => __( 'Post Editor', 'heartbeat-control' ),
113
- ),
114
- ) );
115
-
116
- $cmb->add_group_field( $rule_group, array(
117
- 'name' => __( 'Frequency', 'heartbeat-control' ),
118
- 'id' => $prefix . 'frequency',
119
- 'type' => 'slider',
120
- 'min' => '15',
121
- 'step' => '1',
122
- 'max' => '300',
123
- 'default' => '15',
124
- 'classes' => 'heartbeat_frequency',
125
- ) );
126
- }
127
-
128
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
style.css DELETED
@@ -1,5 +0,0 @@
1
- .slider-field-value-display { float: right; font-weight: 400; font-size: 12px; color: #888; padding-top: .5em; }
2
-
3
- /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIl0sIm1hcHBpbmdzIjoiQUFBQSxBQUFBLDJCQUEyQixDQUFDLEVBQ3hCLEtBQUssRUFBRSxLQUFNLEVBQ2IsV0FBVyxFQUFFLEdBQUksRUFDakIsU0FBUyxFQUFFLElBQUssRUFDaEIsS0FBSyxFQUFFLElBQUssRUFDWixXQUFXLEVBQUUsSUFBSyxHQUNyQiIsIm5hbWVzIjpbXX0= */
4
-
5
- /*# sourceMappingURL=style.css.map */
 
 
 
 
 
style.css.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["style.scss","style.css"],"names":[],"mappings":"AAAA,8BACI,aAAa,CACb,iBAAiB,CACjB,gBAAgB,CAChB,YAAY,CACZ,kBAAkB,EACrB;;ACJD,8VAA8V","file":"style.css","sourcesContent":[".slider-field-value-display {\n float: right;\n font-weight: 400;\n font-size: 12px;\n color: #888;\n padding-top: .5em;\n}"]}
 
style.min.css DELETED
@@ -1 +0,0 @@
1
- .slider-field-value-display{float:right;font-weight:400;font-size:12px;color:#888;padding-top:.5em}
 
vendor/cmb2/cmb2/.github/ISSUE_TEMPLATE.md ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!--
2
+ Before posting a new issue:
3
+ - Please post general support and questions at https://www.wordpress.org/support/plugin/cmb2/. We will move to GitHub once a confirmed bug.
4
+ - Please check if your issue is addressed in the CMB2 Wiki Troubleshooting page: https://github.com/CMB2/CMB2/wiki/Troubleshooting
5
+ - Please review the contributing guidelines: https://github.com/CMB2/CMB2/blob/develop/CONTRIBUTING.md.
6
+ -->
7
+ ## Expected Behavior:
8
+ <!--- If you're describing a bug, tell us what should happen -->
9
+ <!--- If you're suggesting a change/improvement, tell us how it should work -->
10
+
11
+ ## Actual Behavior:
12
+ <!--- If describing a bug, tell us what happens instead of the expected behavior -->
13
+ <!--- If suggesting a change/improvement, explain the difference from current behavior -->
14
+
15
+ ## Possible Solution
16
+ <!--- Not required, but suggest a fix/reason for the bug, -->
17
+ <!--- or ideas how to implement the addition or change -->
18
+
19
+ ### Possible Solution's Risk Level
20
+ <!--- Document the potential risks for your proposed fix, -->
21
+ <!--- E.g. admin-only = minimal risk, or major user feature = high risk -->
22
+
23
+ ## Steps to reproduce (I have confirmed I can reproduce this issue on the [`develop`](https://github.com/CMB2/CMB2/tree/develop) branch):
24
+ <!--- Provide a link to a live example, or an unambiguous set of steps to -->
25
+ <!--- reproduce this bug. Include code to reproduce, if relevant -->
26
+ 1.
27
+ 2.
28
+ 3.
29
+ 4.
30
+
31
+ ## CMB2 Field Registration Code:
32
+
33
+ ```php
34
+ add_action( 'cmb2_admin_init', 'yourprefix_register_demo_metabox' );
35
+ function yourprefix_register_demo_metabox() {
36
+
37
+ $cmb = new_cmb2_box( array(
38
+ // Box Config...
39
+ ) );
40
+
41
+ $cmb->add_field( array(
42
+ // Field Config...
43
+ ) );
44
+
45
+ // Additional fields...
46
+ }
47
+ ```
48
+
49
+ ## Your Environment
50
+ <!--- Include as many relevant details about the environment you experienced the bug in -->
51
+ Browser name and version:
52
+ Operating System and version (desktop or mobile):
53
+
54
+ ## Screenshots (if appropriate)
55
+ <!--- Include screenshots of the console if errors are present -->
vendor/cmb2/cmb2/.github/PULL_REQUEST_TEMPLATE.md ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!--- Provide a general summary of your changes in the Title above -->
2
+
3
+ ## Description
4
+ <!--- Describe your changes in detail -->
5
+
6
+ ## Motivation and Context
7
+ <!--- Why is this change required? What problem does it solve? -->
8
+ <!--- If it fixes an open issue, please link to the issue here. -->
9
+ Fixes #{issue-number}.
10
+
11
+ ## Risk Level
12
+ <!--- Document the potential risks for this PR, -->
13
+ <!--- E.g. admin-only = minimal risk, or major user feature = high risk -->
14
+
15
+ ## Testing procedure
16
+ <!--- Please describe in detail how you tested your changes. -->
17
+ <!--- Include details of your testing environment, and the tests you ran to -->
18
+ <!--- see how your change affects other areas of the code, etc. -->
19
+
20
+ ## Types of changes
21
+ <!--- What types of changes does your code introduce? Remove those that don't apply: -->
22
+ - **Bug fix (non-breaking change which fixes an issue)**
23
+ - **New feature (non-breaking change which adds functionality)**
24
+ - **Breaking change (fix or feature that would cause existing functionality to change)**
25
+
26
+ ## Checklist:
27
+ <!--- Go over all the following points, and put an x in all the boxes that apply. -->
28
+ <!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
29
+ - [ ] My code follows the code style of this project.
30
+ - [ ] My code and pull requests meets the [Contributing guidelines](https://github.com/CMB2/CMB2/blob/develop/CONTRIBUTING.md).
31
+
32
+ ## Screenshots
33
+ <!--- Provide screenshots if possible -->
34
+
vendor/{webdevstudios → cmb2}/cmb2/CHANGELOG.md RENAMED
@@ -5,6 +5,52 @@ All notable changes to this project will be documented in this file.
5
  ### Enhancements
6
  ### Bug Fixes
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  ## [2.4.2 - 2018-05-25](https://github.com/CMB2/CMB2/releases/tag/v2.4.2)
9
 
10
  ### Bug Fixes
@@ -23,8 +69,8 @@ All notable changes to this project will be documented in this file.
23
  ### Enhancements
24
 
25
  * Enable linking options pages via tabbed-navigation. Will output tabbed navigation for options-pages which share the same `'tab_group'` CMB2 box property. [This snippet](https://github.com/CMB2/CMB2-Snippet-Library/blob/master/options-and-settings-pages/options-pages-with-tabs-and-submenus.php) demonstrates how to create a top-level menu options page with multiple submenu pages, each with the tabbed navigation. To specify a different tab title than the options-page title, set the `'tab_title'` CMB2 box property. See [#301](https://github.com/CMB2/CMB2/issues/301), [#627](https://github.com/CMB2/CMB2/issues/627).
26
- * Complete the `zh-CN` translation. Props [@uicestone](https://github.com/uicestone) ([#1089](https://github.com/CMB2/CMB2/issues/1089)).
27
- * Update the `nl_NL` translation. Props [@tammohaannl](https://github.com/tammohaannl) ([#1101](https://github.com/CMB2/CMB2/issues/1101)).
28
  * Better display for white over transparent images (e.g. logos) by using a checkered background for images. ([#1103](https://github.com/CMB2/CMB2/issues/1103))
29
  * Ability to disable the options [autoload parameter](https://codex.wordpress.org/Function_Reference/add_option#Parameters) via filter (`"cmb2_should_autoload_{$options_key}"`) or via a box parameter for `'options-page'` box registrations (`'autoload' => false,`). ([#1093](https://github.com/CMB2/CMB2/issues/1093))
30
  * `'textarea_code'` field type now uses CodeMirror that is [used by WordPress](https://make.wordpress.org/core/2017/10/22/code-editing-improvements-in-wordpress-4-9/) ([#1096](https://github.com/CMB2/CMB2/issues/1096)). A field can opt-out to return to the previous behavior by specifying an `'options'` parameter:
@@ -42,7 +88,7 @@ All notable changes to this project will be documented in this file.
42
  ```
43
  * Improve/add comment info banners at top of CMB2 CSS files.
44
  * Added `resetBoxes`/`resetBox` Javascript methods for resetting CMB2 box forms.
45
- * Improved styles for fiels in the new-term form.
46
  * New `CMB2_Boxes` methods for filtering instances of `CMB2`, `CMB2_Boxes::get_by( $property, $optional_compare )` and `CMB2_Boxes::filter_by( $property, $to_ignore = null )`.
47
 
48
  ### Bug Fixes
5
  ### Enhancements
6
  ### Bug Fixes
7
 
8
+ ## [2.6.0 - 2019-01-18](https://github.com/CMB2/CMB2/releases/tag/v2.6.0)
9
+
10
+ ### Enhancements
11
+
12
+ * Updated PHPUnit version in composer.json. Props [@slaFFik](https://github.com/slaFFik) ([#1204](https://github.com/CMB2/CMB2/pull/1204)).
13
+ * Package.json: fix the need of global (old) grunt. Props [@slaFFik](https://github.com/slaFFik) ([#1206](https://github.com/CMB2/CMB2/pull/1206)).
14
+ * Add optional confirmation dialog to group field's Remove button. Example [documented in the example functions file](https://github.com/CMB2/CMB2/blob/12036e2dcdeb5b019e844b814eca154bb0eee791/example-functions.php#L525). Props [@slaFFik](https://github.com/slaFFik) ([#1208](https://github.com/CMB2/CMB2/pull/1208)).
15
+ * Add 'id' attribute on group field `.postbox` divs to ensure compatibility with scripts which expect ids there. Props [@amans2k](https://github.com/amans2k) ([#1108](https://github.com/CMB2/CMB2/pull/1108)).
16
+ * Make `CMB2_Option` properties accessible. ([#1052](https://github.com/CMB2/CMB2/issues/1052))
17
+ * New Before/After row hooks: `'cmb2_before_field_row'`, `"cmb2_before_{$field_type}_field_row"`, `"cmb2_after_{$field_type}_field_row"`, `'cmb2_after_field_row'`. Props [@rubengc](https://github.com/rubengc) ([#953](https://github.com/CMB2/CMB2/pull/953)).
18
+ * Introduce three new filters to filter field arguments: `'cmb2_field_defaults'`, `'cmb2_field_arguments_raw'`, `'cmb2_field_arguments'`. Props [@jrfnl](https://github.com/jrfnl) ([#588](https://github.com/CMB2/CMB2/pull/588)).
19
+
20
+
21
+ ### Bug Fixes
22
+ * Remove superfluous method definitions. Props [@tnorthcutt](https://github.com/tnorthcutt) ([#1200](https://github.com/CMB2/CMB2/pull/1200)).
23
+ * Fix `rest_value_cb` registering of filter. Props [@lipemat](https://github.com/lipemat) ([#1212](https://github.com/CMB2/CMB2/pull/1212)).
24
+ * Do not trigger tinyMCE editor save for the activeEditor. Prevents cursor jump in Gutenberg. Fixes [#1202](https://github.com/CMB2/CMB2/issues/1202)
25
+ * Fix issue where making a field repeatable would generate a Javascript error because of missing sortable library. Props [@slaFFik](https://github.com/slaFFik) ([#1216](https://github.com/CMB2/CMB2/pull/1216)).
26
+ * Ensure value passed to `CMB2_Utils::filter_empty` from `CMB2::save_group_field` is always an array. ([#1026](https://github.com/CMB2/CMB2/issues/1026))
27
+ * Fix potential issue with test path location. Props [@quasel](https://github.com/quasel) ([#463](https://github.com/CMB2/CMB2/pull/463)).
28
+
29
+ ## [2.5.1 - 2018-12-10](https://github.com/CMB2/CMB2/releases/tag/v2.5.1)
30
+
31
+ ### Bug Fixes
32
+ * Fix issue when the `core/editor` object does not exist (is undefined), causing incompatibility issues with Yoast and likely others. Fixes [#1197](https://github.com/CMB2/CMB2/issues/1197)
33
+
34
+ ## [2.5.0 - 2018-12-08](https://github.com/CMB2/CMB2/releases/tag/v2.5.0)
35
+
36
+ ### Enhancements
37
+
38
+ * Repeatable fields are now drag-sortable. Props [@lipemat](https://github.com/lipemat) ([#1142](https://github.com/CMB2/CMB2/pull/1142)).
39
+ * Update the `sv_SE` translation. Props [@edvind](https://github.com/edvind) ([#370](https://github.com/CMB2/CMB2/pull/370)).
40
+ * QA/PHPCS cleanup. Props [@tw2113](https://github.com/tw2113) ([#1179](https://github.com/CMB2/CMB2/pull/1179)).
41
+ * Add optional `'mb_callback_args'` CMB2 box property which allows defining the `$callback_args` passed into `add_meta_box()`. This allows using defining the new [Gutenberg/block-editor compatibility parameters](https://wordpress.org/gutenberg/handbook/extensibility/meta-box/). Fixes [#1191](https://github.com/CMB2/CMB2/issues/1191)
42
+ * Support any type of markup when customizing repeating group row. Props [@lipemat](https://github.com/lipemat) ([#1187](https://github.com/CMB2/CMB2/pull/1187)).
43
+ * Add `cmb_init_pickers` and `cmb_init_code_editors` Javascript events for allowing just-in-time configuration for pickers/editors.
44
+ * Fix field descriptions color contrast ratio for better accessibility. h/t [@rianrietveld](https://github.com/rianrietveld). Fixes [#1193](https://github.com/CMB2/CMB2/issues/1193).
45
+ * Add `CMB2_Field::get_rest_value()` method for sending value through several filters (`'cmb2_get_rest_value'`, `"cmb2_get_rest_value_{$field_type}"`, `"cmb2_get_rest_value_for_{$field_id}"` ) before sending to REST request.
46
+
47
+ ### Bug Fixes
48
+
49
+ * Fix the options page errors when using CMB2 in WordPress prior to 4.7. Props [@manzoorwanijk](https://github.com/manzoorwanijk) ([#1166](https://github.com/CMB2/CMB2/pull/1166)).
50
+ * Fix occasonal fatal errors that can occur by using callback functions directly vs `call_user_func`. Props [@manzoorwanijk](https://github.com/manzoorwanijk) ([#1177](https://github.com/CMB2/CMB2/pull/1177)).
51
+ * Fix issue where `wysiwyg` fields' visual tab wouldn't save content on Gutenberg/block-editor posts. Props [@staurand](https://github.com/staurand) ([#1190](https://github.com/CMB2/CMB2/pull/1190) fixes [#1156](https://github.com/CMB2/CMB2/issues/1156)).
52
+ * Fix issue when `remove_default` wouldn't actually remove the default taxonomy metabox when box registration used an alternate box context. Props [@lipemat](https://github.com/lipemat) ([#1147](https://github.com/CMB2/CMB2/pull/1147)).
53
+
54
  ## [2.4.2 - 2018-05-25](https://github.com/CMB2/CMB2/releases/tag/v2.4.2)
55
 
56
  ### Bug Fixes
69
  ### Enhancements
70
 
71
  * Enable linking options pages via tabbed-navigation. Will output tabbed navigation for options-pages which share the same `'tab_group'` CMB2 box property. [This snippet](https://github.com/CMB2/CMB2-Snippet-Library/blob/master/options-and-settings-pages/options-pages-with-tabs-and-submenus.php) demonstrates how to create a top-level menu options page with multiple submenu pages, each with the tabbed navigation. To specify a different tab title than the options-page title, set the `'tab_title'` CMB2 box property. See [#301](https://github.com/CMB2/CMB2/issues/301), [#627](https://github.com/CMB2/CMB2/issues/627).
72
+ * Complete the `zh-CN` translation. Props [@uicestone](https://github.com/uicestone) ([#1089](https://github.com/CMB2/CMB2/pull/1089)).
73
+ * Update the `nl_NL` translation. Props [@tammohaannl](https://github.com/tammohaannl) ([#1101](https://github.com/CMB2/CMB2/pull/1101)).
74
  * Better display for white over transparent images (e.g. logos) by using a checkered background for images. ([#1103](https://github.com/CMB2/CMB2/issues/1103))
75
  * Ability to disable the options [autoload parameter](https://codex.wordpress.org/Function_Reference/add_option#Parameters) via filter (`"cmb2_should_autoload_{$options_key}"`) or via a box parameter for `'options-page'` box registrations (`'autoload' => false,`). ([#1093](https://github.com/CMB2/CMB2/issues/1093))
76
  * `'textarea_code'` field type now uses CodeMirror that is [used by WordPress](https://make.wordpress.org/core/2017/10/22/code-editing-improvements-in-wordpress-4-9/) ([#1096](https://github.com/CMB2/CMB2/issues/1096)). A field can opt-out to return to the previous behavior by specifying an `'options'` parameter:
88
  ```
89
  * Improve/add comment info banners at top of CMB2 CSS files.
90
  * Added `resetBoxes`/`resetBox` Javascript methods for resetting CMB2 box forms.
91
+ * Improved styles for fields in the new-term form.
92
  * New `CMB2_Boxes` methods for filtering instances of `CMB2`, `CMB2_Boxes::get_by( $property, $optional_compare )` and `CMB2_Boxes::filter_by( $property, $to_ignore = null )`.
93
 
94
  ### Bug Fixes
vendor/{webdevstudios → cmb2}/cmb2/CONTRIBUTING.md RENAMED
@@ -9,7 +9,7 @@ Before reporting a bug
9
  ---
10
  1. Please review the [documentation](https://github.com/CMB2/CMB2/wiki). Most questions revolve around the [field types](https://github.com/CMB2/CMB2/wiki/Field-Types), [field parameters](https://github.com/CMB2/CMB2/wiki/Field-Parameters), or are addressed in the [troubleshooting](https://github.com/CMB2/CMB2/wiki/Troubleshooting) section.
11
  2. Search [issues](https://github.com/CMB2/CMB2/issues) to see if the issue has been previously reported.
12
- 3. Install the trunk version of CMB2 and test there.
13
 
14
 
15
  How to report a bug
@@ -26,8 +26,8 @@ All contributions welcome. If you would like to submit a pull request, please fo
26
 
27
  1. Make sure you have a GitHub account.
28
  2. Fork the repository on GitHub.
29
- 3. **Check out the trunk version of CMB2.** If you submit to the master branch, the PR will be closed with a link back to this document.
30
- 4. **Verify your issue still exists in the trunk branch.**
31
  5. Make changes to your clone of the repository.
32
  1. Please follow the [WordPress code standards](https://make.wordpress.org/core/handbook/coding-standards).
33
  2. If possible, and if applicable, please also add/update unit tests for your changes.
@@ -41,6 +41,14 @@ Translations
41
  ---
42
  If you are looking to provide language translation files, Please do so via [WordPress Plugin Translations](https://translate.wordpress.org/projects/wp-plugins/cmb2).
43
 
 
 
 
 
 
 
 
 
44
  Additional Resources
45
  ---
46
 
9
  ---
10
  1. Please review the [documentation](https://github.com/CMB2/CMB2/wiki). Most questions revolve around the [field types](https://github.com/CMB2/CMB2/wiki/Field-Types), [field parameters](https://github.com/CMB2/CMB2/wiki/Field-Parameters), or are addressed in the [troubleshooting](https://github.com/CMB2/CMB2/wiki/Troubleshooting) section.
11
  2. Search [issues](https://github.com/CMB2/CMB2/issues) to see if the issue has been previously reported.
12
+ 3. Install the [`develop`](https://github.com/CMB2/CMB2/tree/develop) version of CMB2 and test there.
13
 
14
 
15
  How to report a bug
26
 
27
  1. Make sure you have a GitHub account.
28
  2. Fork the repository on GitHub.
29
+ 3. **Check out the [`develop`](https://github.com/CMB2/CMB2/tree/develop) version of CMB2.** If you submit to the master branch, the PR will be closed with a link back to this document.
30
+ 4. **Verify your issue still exists in the [`develop`](https://github.com/CMB2/CMB2/tree/develop) branch.**
31
  5. Make changes to your clone of the repository.
32
  1. Please follow the [WordPress code standards](https://make.wordpress.org/core/handbook/coding-standards).
33
  2. If possible, and if applicable, please also add/update unit tests for your changes.
41
  ---
42
  If you are looking to provide language translation files, Please do so via [WordPress Plugin Translations](https://translate.wordpress.org/projects/wp-plugins/cmb2).
43
 
44
+ Creating/Running Tests
45
+ ---
46
+ We use PHPUnit and the WordPress test suite for our unit/integration tests.
47
+
48
+ 1. You can install the WordPress test suite [using the installer](https://github.com/CMB2/CMB2/blob/develop/tests/bin/install-wp-tests.sh#L3): `bash tests/bin/install-wp-tests.sh wordpress_test root ''`. (this will install the test suite in the temp folder on your computer, using a test database with those given credentials)
49
+ 1. Install PHPUnit via composer, `composer install`.
50
+ 1. Once Composer and the WordPress test sutie are installed, you can run phpunit via `./vendor/bin/phpunit` in the CMB2 directory.
51
+
52
  Additional Resources
53
  ---
54
 
vendor/cmb2/cmb2/apigen/apigen.neon ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # source:
2
+ # - bootstrap.php
3
+ # - example-functions.php
4
+ # - init.php
5
+ # - includes
6
+ # - tests
7
+ source: ./
8
+
9
+ destination: ../../../../wpengine/api
10
+ # list of scanned file extensions (e.g. php5, phpt...)
11
+ extensions: [php]
12
+
13
+ # directories and files matching this file mask will not be parsed
14
+ exclude:
15
+ - node_modules/
16
+ - tmp/
17
+ - apigen/
18
+ - css/
19
+ - images/
20
+ - js/
21
+ - languages/
22
+ - vendor/
23
+
24
+ # # similar to above, but this files will be included in class tree
25
+ # skipDocPath:
26
+ # - *Component\Console
27
+
28
+ # character set of source files; if you use only one across your files, we recommend you name it
29
+ charset: [UTF-8]
30
+
31
+ # title of generated documentation
32
+ main: CMB2
33
+
34
+ # title of generated documentation
35
+ title: CMB2 Documentation
36
+
37
+ # base url used for sitemap (useful for public doc)
38
+ baseUrl: https://cmb2.io/api
39
+
40
+ # custom search engine id, will be used by search box
41
+ googleCseId: 001227520415713999821:rbrooe8zpyi
42
+
43
+ # Google Analytics tracking code
44
+ googleAnalytics: UA-61730501-1
45
+
46
+ # choose ApiGen template theme
47
+ templateTheme: bootstrap # or: default
48
+ templateConfig: apigen/theme-bootstrap/src/config.neon
49
+
50
+ # the way elements are grouped in menu
51
+ groups: packages # also: namespace, packages, none; auto will detect namespace first, than packages
52
+
53
+ # access levels of included method and properties
54
+ accessLevels: [public, protected, private] # also [private]
55
+
56
+ # include elements marked as @internal/{@internal}
57
+ internal: true
58
+
59
+ # generate documentation for PHP internal classes
60
+ php: false
61
+
62
+ # generate highlighted source code for elements
63
+ sourceCode: true
64
+
65
+ # generate tree view of classes, interfaces, traits and exceptions
66
+ tree: true
67
+
68
+ # generate documentation for deprecated elements
69
+ deprecated: true
70
+
71
+ # generate list of tasks with @todo annotation
72
+ todo: true
73
+
74
+ # add link to ZIP archive of documentation
75
+ download: true
vendor/cmb2/cmb2/apigen/hook-docs.php ADDED
@@ -0,0 +1,279 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Generate documentation for hooks in CMB2
4
+ * Credit: https://github.com/woothemes/woocommerce/blob/master/apigen/hook-docs.php
5
+ */
6
+ class CMB2_Hook_Finder {
7
+ private static $current_file = '';
8
+ private static $files_to_scan = array();
9
+ private static $pattern_custom_actions = '/do_action(.*?);/i';
10
+ private static $pattern_custom_filters = '/apply_filters(.*?);/i';
11
+ private static $found_files = array();
12
+ private static $custom_hooks_found = '';
13
+
14
+ private static function get_files( $pattern, $flags = 0, $path = '' ) {
15
+
16
+ if ( ! $path && ( $dir = dirname( $pattern ) ) != '.' ) {
17
+
18
+ if ($dir == '\\' || $dir == '/') { $dir = ''; } // End IF Statement
19
+
20
+ return self::get_files(basename( $pattern ), $flags, $dir . '/' );
21
+
22
+ } // End IF Statement
23
+ $paths = glob( $path . '*', GLOB_ONLYDIR | GLOB_NOSORT );
24
+ $files = glob( $path . $pattern, $flags );
25
+
26
+ if ( is_array( $paths ) ) {
27
+ foreach ( $paths as $p ) {
28
+ $found_files = array();
29
+ $retrieved_files = (array) self::get_files( $pattern, $flags, $p . '/' );
30
+ foreach ( $retrieved_files as $file ) {
31
+ if ( ! in_array( $file, self::$found_files ) )
32
+ $found_files[] = $file;
33
+ }
34
+
35
+ self::$found_files = array_merge( self::$found_files, $found_files );
36
+
37
+ if ( is_array( $files ) && is_array( $found_files ) ) {
38
+ $files = array_merge( $files, $found_files );
39
+ }
40
+
41
+ } // End FOREACH Loop
42
+ }
43
+ return $files;
44
+ }
45
+
46
+ private static function get_hook_link( $hook, $details = array() ) {
47
+ if ( ! empty( $details['class'] ) ) {
48
+ $link = 'https://cmb2.io/api//source-class-' . $details['class'] . '.html#' . $details['line'];
49
+ } elseif ( ! empty( $details['function'] ) ) {
50
+ $link = 'https://cmb2.io/api//source-function-' . $details['function'] . '.html#' . $details['line'];
51
+ } else {
52
+ $link = 'https://github.com/CMB2/CMB2/search?utf8=%E2%9C%93&q=' . $hook;
53
+ }
54
+
55
+ if ( false !== strpos( $hook, '{' ) || false !== strpos( $hook, '$' ) ) {
56
+ $hook = '"'. $hook .'"';
57
+ } else {
58
+ $hook = "'$hook'";
59
+ }
60
+
61
+ return '<a href="' . $link . '">' . $hook . '</a>';
62
+ }
63
+
64
+ public static function process_hooks() {
65
+ // If we have one, get the PHP files from it.
66
+ $class_files = self::get_files( '*.php', GLOB_MARK, dirname( __FILE__ ) . '/../includes/' );
67
+ $class_files[] = dirname( __FILE__ ) . '/../init.php';
68
+
69
+ self::$files_to_scan = array(
70
+ 'Hooks' => $class_files,
71
+ );
72
+
73
+ $scanned = array();
74
+
75
+ ob_start();
76
+
77
+ echo '<div id="content">';
78
+ echo '<h1>WordPress Action and Filter Hook Reference</h1>';
79
+
80
+ foreach ( self::$files_to_scan as $heading => $files ) {
81
+ self::$custom_hooks_found = array();
82
+
83
+ foreach ( $files as $f ) {
84
+ self::$current_file = basename( $f );
85
+ $tokens = token_get_all( file_get_contents( $f ) );
86
+ $token_type = false;
87
+ $current_class = '';
88
+ $current_function = '';
89
+
90
+ if ( in_array( self::$current_file, $scanned ) ) {
91
+ continue;
92
+ }
93
+
94
+ $scanned[] = self::$current_file;
95
+
96
+ foreach ( $tokens as $index => $token ) {
97
+ if ( is_array( $token ) ) {
98
+ if ( $token[0] == T_CLASS ) {
99
+ $token_type = 'class';
100
+ } elseif ( $token[0] == T_FUNCTION ) {
101
+ $token_type = 'function';
102
+ } elseif ( $token[1] === 'do_action' ) {
103
+ $token_type = 'action';
104
+ } elseif ( $token[1] === 'apply_filters' ) {
105
+ $token_type = 'filter';
106
+ } elseif ( $token_type && ! empty( trim( $token[1] ) ) ) {
107
+ switch ( $token_type ) {
108
+ case 'class' :
109
+ $current_class = $token[1];
110
+ break;
111
+ case 'function' :
112
+ $current_function = $token[1];
113
+ break;
114
+ case 'filter' :
115
+ case 'action' :
116
+ $hook = trim( $token[1], "'" );
117
+ $loop = 0;
118
+
119
+ if ( '_' === substr( $hook, '-1', 1 ) ) {
120
+ $hook .= '{';
121
+ $open = true;
122
+ // Keep adding to hook until we find a comma or colon
123
+ while ( 1 ) {
124
+ $loop ++;
125
+ $next_hook = trim( trim( is_string( $tokens[ $index + $loop ] ) ? $tokens[ $index + $loop ] : $tokens[ $index + $loop ][1], '"' ), "'" );
126
+
127
+ if ( in_array( $next_hook, array( '.', '{', '}', '"', "'", ' ' ) ) ) {
128
+ continue;
129
+ }
130
+
131
+ $hook_first = substr( $next_hook, 0, 1 );
132
+ $hook_last = substr( $next_hook, -1, 1 );
133
+
134
+ if ( in_array( $next_hook, array( ',', ';' ), true ) ) {
135
+ if ( $open ) {
136
+ $hook .= '}';
137
+ $open = false;
138
+ }
139
+ break;
140
+ }
141
+
142
+ if ( '_' === $hook_first ) {
143
+ // Because CMB2 uses an _id() method
144
+ if ( '_id' !== $next_hook ) {
145
+ $next_hook = '}' . $next_hook;
146
+ $open = false;
147
+ }
148
+ }
149
+
150
+ if ( '_' === $hook_last ) {
151
+ $next_hook .= '{';
152
+ $open = true;
153
+ }
154
+
155
+ $hook .= $next_hook;
156
+ // echo '<xmp>$hook: '. print_r( $hook, true ) .'</xmp>';
157
+ }
158
+ }
159
+
160
+ if ( isset( self::$custom_hooks_found[ $hook ] ) ) {
161
+ self::$custom_hooks_found[ $hook ]['file'][] = self::$current_file;
162
+ } else {
163
+ self::$custom_hooks_found[ $hook ] = array(
164
+ 'line' => $token[2],
165
+ 'class' => $current_class,
166
+ 'function' => $current_function,
167
+ 'file' => array( self::$current_file ),
168
+ 'type' => $token_type
169
+ );
170
+ }
171
+ break;
172
+ }
173
+ $token_type = false;
174
+ }
175
+ }
176
+ }
177
+ }
178
+ // die( '<xmp>self::$custom_hooks_found: '. print_r( self::$custom_hooks_found, true ) .'</xmp>' );
179
+
180
+ foreach ( self::$custom_hooks_found as $hook => $details ) {
181
+ if ( ! strstr( $hook, 'cmb2' ) ) {
182
+ unset( self::$custom_hooks_found[ $hook ] );
183
+ }
184
+ }
185
+
186
+ ksort( self::$custom_hooks_found );
187
+
188
+ if ( ! empty( self::$custom_hooks_found ) ) {
189
+ $actions = self::wp_list_filter( self::$custom_hooks_found, array( 'type' => 'action' ) );
190
+ $filters = self::wp_list_filter( self::$custom_hooks_found, array( 'type' => 'filter' ) );
191
+
192
+ echo '<div class="panel panel-default"><div class="panel-heading"><h2>Action Hooks</h2></div>';
193
+
194
+ echo '<table class="summary table table-bordered table-striped"><thead><tr><th>Hook</th><th>File(s)</th></tr></thead><tbody>';
195
+
196
+ foreach ( $actions as $hook => $details ) {
197
+ echo '<tr>
198
+ <td>' . self::get_hook_link( $hook, $details ) . '</td>
199
+ <td>' . implode( ', ', array_unique( $details['file'] ) ) . '</td>
200
+ </tr>' . "\n";
201
+ }
202
+
203
+ echo '</tbody></table></div>';
204
+ echo '<div class="panel panel-default"><div class="panel-heading"><h2>Filter Hooks</h2></div>';
205
+
206
+ echo '<table class="summary table table-bordered table-striped"><thead><tr><th>Hook</th><th>File(s)</th></tr></thead><tbody>';
207
+
208
+ foreach ( $filters as $hook => $details ) {
209
+ echo '<tr>
210
+ <td>' . self::get_hook_link( $hook, $details ) . '</td>
211
+ <td>' . implode( ', ', array_unique( $details['file'] ) ) . '</td>
212
+ </tr>' . "\n";
213
+ }
214
+
215
+ echo '</tbody></table></div>';
216
+ }
217
+ }
218
+
219
+ echo '</div><div id="footer">';
220
+
221
+ $html = file_get_contents( '/Users/JT/Sites/wpengine/api/tree.html' );
222
+ $header = explode( '<div id="content">', $html );
223
+ $header = str_replace( '<li class="active">', '<li>', current( $header ) );
224
+ $header = str_replace( '<li class="hooks">', '<li class="active">', $header );
225
+ $header = str_replace( '<li class="hooks">', '<li class="active">', $header );
226
+ $header = str_replace( 'Tree | ', 'Hook Reference | ', $header );
227
+ $footer = explode( '<div id="footer">', $html );
228
+
229
+ file_put_contents( '/Users/JT/Sites/wpengine/api/hook-docs.html', $header . ob_get_clean() . end( $footer ) );
230
+ echo "Hook docs generated :)\n";
231
+ }
232
+
233
+ /**
234
+ * Filters a list of objects, based on a set of key => value arguments.
235
+ *
236
+ * @since 3.1.0
237
+ *
238
+ * @param array $list An array of objects to filter.
239
+ * @param array $args Optional. An array of key => value arguments to match
240
+ * against each object. Default empty array.
241
+ * @param string $operator Optional. The logical operation to perform. 'AND' means
242
+ * all elements from the array must match. 'OR' means only
243
+ * one element needs to match. 'NOT' means no elements may
244
+ * match. Default 'AND'.
245
+ * @return array Array of found values.
246
+ */
247
+ protected static function wp_list_filter( $list, $args = array(), $operator = 'AND' ) {
248
+ if ( ! is_array( $list ) )
249
+ return array();
250
+
251
+ if ( empty( $args ) )
252
+ return $list;
253
+
254
+ $operator = strtoupper( $operator );
255
+ $count = count( $args );
256
+ $filtered = array();
257
+
258
+ foreach ( $list as $key => $obj ) {
259
+ $to_match = (array) $obj;
260
+
261
+ $matched = 0;
262
+ foreach ( $args as $m_key => $m_value ) {
263
+ if ( array_key_exists( $m_key, $to_match ) && $m_value == $to_match[ $m_key ] )
264
+ $matched++;
265
+ }
266
+
267
+ if ( ( 'AND' == $operator && $matched == $count )
268
+ || ( 'OR' == $operator && $matched > 0 )
269
+ || ( 'NOT' == $operator && 0 == $matched ) ) {
270
+ $filtered[$key] = $obj;
271
+ }
272
+ }
273
+
274
+ return $filtered;
275
+ }
276
+ }
277
+
278
+ CMB2_Hook_Finder::process_hooks();
279
+
vendor/cmb2/cmb2/apigen/theme-bootstrap/LICENSE ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ The MIT License
2
+ ---------------
3
+
4
+ - Copyright (c) 2012 [Olivier Laviale](https://github.com/olvlvl)
5
+ - Copyright (c) 2014 [Tomáš Votruba](http://tomasvotruba.cz)
6
+
7
+ Permission is hereby granted, free of charge, to any person
8
+ obtaining a copy of this software and associated documentation
9
+ files (the "Software"), to deal in the Software without
10
+ restriction, including without limitation the rights to use,
11
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ copies of the Software, and to permit persons to whom the
13
+ Software is furnished to do so, subject to the following
14
+ conditions:
15
+
16
+ The above copyright notice and this permission notice shall be
17
+ included in all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26
+ OTHER DEALINGS IN THE SOFTWARE.
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/404.latte ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {layout '@layout.latte'}
2
+ {var $robots = false}
3
+
4
+ {block title}Page not found{/block}
5
+
6
+ {block content}
7
+ <div id="content">
8
+ <h1>{include title}</h1>
9
+ <p>The requested page could not be found.</p>
10
+ <p>You have probably clicked on a link that is outdated and points to a page that does not exist any more or you have made an typing error in the address.</p>
11
+ <p>To continue please try to find requested page in the menu,{if $config->tree} take a look at <a href="tree.html">the tree view</a> of the whole project{/if} or use search field on the top.</p>
12
+ </div>
13
+ {/block}
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/@elementlist.latte ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {define elements}
2
+ <tr n:foreach="$elements as $element">
3
+ <td class="name"><a href="{$element|elementUrl}" n:class="$element->deprecated ? deprecated, !$element->valid ? invalid">{if $namespace}{$element->shortName}{else}{$element->name}{/if}</a></td>
4
+ <td>{$element|shortDescription|noescape}</td>
5
+ </tr>
6
+ {/define}
7
+
8
+ {if $classes}
9
+ <div class="panel panel-default">
10
+ <div class="panel-heading"><h2>Classes summary</h2></div>
11
+ <table class="summary table table-bordered table-striped" id="classes">
12
+ {include elements, elements => $classes}
13
+ </table>
14
+ </div>
15
+ {/if}
16
+
17
+ {if $interfaces}
18
+ <div class="panel panel-default">
19
+ <div class="panel-heading"><h2>Interfaces summary</h2></div>
20
+ <table class="summary table table-bordered table-striped" id="interfaces">
21
+ {include elements, elements => $interfaces}
22
+ </table>
23
+ </div>
24
+ {/if}
25
+
26
+ {if $traits}
27
+ <div class="panel panel-default">
28
+ <div class="panel-heading"><h2>Traits summary</h2></div>
29
+ <table class="summary table table-bordered table-striped" id="traits">
30
+ {include elements, elements => $traits}
31
+ </table>
32
+ </div>
33
+ {/if}
34
+
35
+ {if $exceptions}
36
+ <div class="panel panel-default">
37
+ <div class="panel-heading"><h2>Exceptions summary</h2></div>
38
+ <table class="summary table table-bordered table-striped" id="exceptions">
39
+ {include elements, elements => $exceptions}
40
+ </table>
41
+ </div>
42
+ {/if}
43
+
44
+ {if $constants}
45
+ <div class="panel panel-default">
46
+ <div class="panel-heading"><h2>Constants summary</h2></div>
47
+ <table class="summary table table-bordered table-striped" id="constants">
48
+ {include elements, elements => $constants}
49
+ </table>
50
+ </div>
51
+ {/if}
52
+
53
+ {if $functions}
54
+ <div class="panel panel-default">
55
+ <div class="panel-heading"><h2>Functions summary</h2></div>
56
+ <table class="summary table table-bordered table-striped" id="functions">
57
+ {include elements, elements => $functions}
58
+ </table>
59
+ </div>
60
+ {/if}
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/@layout.latte ADDED
@@ -0,0 +1,193 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {default $robots = true}
2
+ {default $active = ''}
3
+ <!DOCTYPE html>
4
+ <html>
5
+ <head>
6
+ <meta charset="utf-8">
7
+ <meta name="robots" content="noindex" n:if="!$robots">
8
+
9
+ <title>{include title}{if 'overview' !== $active && $config->title} | {$config->title}{/if}</title>
10
+
11
+ <link rel="stylesheet" href="{='resources/bootstrap.min.css'|staticFile}">
12
+ <link rel="stylesheet" href="{='resources/style.css'|staticFile}">
13
+ <link n:if="$config->googleCseId" rel="search" type="application/opensearchdescription+xml" title="{$config->title}" href="{$config->baseUrl}/opensearch.xml">
14
+
15
+ <script n:if="$config->googleAnalytics">
16
+ (function(i,s,o,g,r,a,m){ i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
17
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
18
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
19
+ })(window,document,'script','//www.google-analytics.com/analytics.js','__gaTracker');
20
+
21
+ __gaTracker('create', {$config->googleAnalytics}, 'auto');
22
+ __gaTracker('set', 'forceSSL', true);
23
+ __gaTracker('send','pageview');
24
+ </script>
25
+ </head>
26
+
27
+ <body>
28
+ <nav id="navigation" class="navbar navbar-default navbar-fixed-top">
29
+ <div class="container-fluid">
30
+ <div class="navbar-header">
31
+ <a href="index.html" class="navbar-brand">{if $config->title}{$config->title}{else}Overview{/if}</a>
32
+ </div>
33
+ <div class="collapse navbar-collapse">
34
+
35
+ <form{if $config->googleCseId} action="https://www.google.com/cse"{/if} id="search" class="navbar-form navbar-left" role="search">
36
+ <input type="hidden" name="cx" value="{$config->googleCseId}">
37
+ <input type="hidden" name="ie" value="UTF-8">
38
+ <div class="form-group">
39
+ <input type="text" name="q" class="search-query form-control" placeholder="Search"{if 'overview' === $active} autofocus{/if}>
40
+ </div>
41
+ </form>
42
+
43
+ <ul class="nav navbar-nav">
44
+ <li n:class="'package' === $active ? active" n:if="$packages">
45
+ <a n:tag-if="'package' !== $active && $package" href="{$package|packageUrl}" title="Summary of {$package}"><span>Package</span></a>
46
+ </li>
47
+ <li n:class="'namespace' === $active ? active" n:if="$namespaces">
48
+ <a n:tag-if="'namespace' !== $active && $namespace" href="{$namespace|namespaceUrl}" title="Summary of {$namespace}"><span>Namespace</span></a>
49
+ </li>
50
+ <li n:class="'class' === $active ? active" n:if="!$function && !$constant">
51
+ <a n:tag-if="'class' !== $active && $class" href="{$class|classUrl}" title="Summary of {$class->name}"><span>Class</span></a>
52
+ </li>
53
+ <li n:class="'function' === $active ? active" n:if="$function">
54
+ <a n:tag-if="'function' !== $active" href="{$function|functionUrl}" title="Summary of {$function->name}"><span>Function</span></a>
55
+ </li>
56
+ <li n:class="'constant' === $active ? active" n:if="$constant">
57
+ <a n:tag-if="'constant' !== $active" href="{$constant|constantUrl}" title="Summary of {$constant->name}"><span>Constant</span></a>
58
+ </li>
59
+
60
+ <li class="divider-vertical" n:if="$config->tree || $config->deprecated || $config->todo"></li>
61
+
62
+ <li n:class="'tree' === $active ? active" n:if="$config->tree">
63
+ <a n:tag-if="'tree' !== $active" href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
64
+ </li>
65
+
66
+ {foreach $annotationGroups as $annotation}
67
+ <li n:class="$active === 'annotation-group-' . $annotation ? active">
68
+ <a n:tag-if="$active !== 'annotation-group-' . $annotation" href="annotation-group-{$annotation}.html" title="List of elements with {$annotation} annotation">
69
+ <span>{$annotation|firstUpper}</span>
70
+ </a>
71
+ </li>
72
+ {/foreach}
73
+
74
+ <li class="divider-vertical"></li>
75
+
76
+ <li class="hooks">
77
+ <a href="hook-docs.html" title="Hooks"><span>Hooks</span></a>
78
+ </li>
79
+
80
+ <li class="divider-vertical" n:if="$config->download"></li>
81
+
82
+ <li n:if="$config->download">
83
+ <a href="{$archive}" title="Download documentation as ZIP archive"><span>Download Docs</span></a>
84
+ </li>
85
+
86
+ <li n:if="$config->download">
87
+ <a href="https://github.com/CMB2/CMB2" title="View repository in Github"><span>Github</span></a>
88
+ </li>
89
+ </ul>
90
+ </div>
91
+ </div>
92
+ </nav>
93
+
94
+ <div id="left">
95
+ <div id="menu">
96
+ <a id="logo" href="index.html"></a>
97
+ {define group}
98
+ <ul>
99
+ {foreach $groups as $group}
100
+ {var $nextLevel = substr_count($iterator->nextValue, '\\') > substr_count($group, '\\')}
101
+ <li n:class="$actualGroup === $group || 0 === strpos($actualGroup, $group . '\\') ? active, $config->main && 0 === strpos($group, $config->main) ? main">
102
+ <a href="{if $groupBy === 'package'}{$group|packageUrl}{else}{$group|namespaceUrl}{/if}">
103
+ {$group|subgroupName}<span n:tag-if="$nextLevel"></span>
104
+ </a>
105
+ {if $nextLevel}
106
+ <ul>
107
+ {else}
108
+ </li>
109
+ {if substr_count($iterator->nextValue, '\\') < substr_count($group, '\\')}
110
+ {='</ul></li>'|repeat:substr_count($group, '\\') - substr_count($iterator->nextValue, '\\')|noescape}
111
+ {/if}
112
+ {/if}
113
+ {/foreach}
114
+ </ul>
115
+ {/define}
116
+
117
+ <div id="groups">
118
+ {if $namespaces}
119
+ <h3>Namespaces</h3>
120
+ {include group, groups => $namespaces, actualGroup => $namespace, groupBy => 'namespace'}
121
+ {elseif $packages}
122
+ <h3>Packages</h3>
123
+ {include group, groups => $packages, actualGroup => $package, groupBy => 'package'}
124
+ {/if}
125
+ </div>
126
+
127
+ {define elements}
128
+ <ul>
129
+ <li n:foreach="$elements as $element" n:class="$activeElement === $element ? active"><a n:class="$element->deprecated ? deprecated, !$element->valid ? invalid" href="{$element|elementUrl}">{if $namespace}{$element->shortName}{else}{$element->name}{/if}</a></li>
130
+ </ul>
131
+ {/define}
132
+
133
+ <div id="elements">
134
+ {if $classes}
135
+ <h3>Classes</h3>
136
+ {include elements, elements => $classes, activeElement => $class}
137
+ {/if}
138
+
139
+ {if $interfaces}
140
+ <h3>Interfaces</h3>
141
+ {include elements, elements => $interfaces, activeElement => $class}
142
+ {/if}
143
+
144
+ {if $traits}
145
+ <h3>Traits</h3>
146
+ {include elements, elements => $traits, activeElement => $class}
147
+ {/if}
148
+
149
+ {if $exceptions}
150
+ <h3>Exceptions</h3>
151
+ {include elements, elements => $exceptions, activeElement => $class}
152
+ {/if}
153
+
154
+ {if $constants}
155
+ <h3>Constants</h3>
156
+ {include elements, elements => $constants, activeElement => $constant}
157
+ {/if}
158
+
159
+ {if $functions}
160
+ <h3>Functions</h3>
161
+ {include elements, elements => $functions, activeElement => $function}
162
+ {/if}
163
+
164
+ <h3>Hooks</h3>
165
+ <ul>
166
+ <li class="hooks"><a href="hook-docs.html">Hook Reference</a></li>
167
+ </ul>
168
+ </div>
169
+ </div>
170
+ </div>
171
+
172
+ <div id="splitter"></div>
173
+
174
+ <div id="right">
175
+ <div id="rightInner">
176
+ {include content}
177
+ </div>
178
+
179
+ <div id="footer">
180
+ {$config->title} API documentation generated by <a href="http://apigen.org">ApiGen</a>
181
+ </div>
182
+ </div>
183
+ <script src="{='resources/combined.js'|staticFile}"></script>
184
+ <script src="{='elementlist.js'|staticFile}"></script>
185
+ <script type="text/javascript">
186
+ // Lazy load logo banner since it's oversized.
187
+ var img = document.createElement( 'img' );
188
+ img.src = 'https://plugins.trac.wordpress.org/export/1363053/cmb2/assets/banner-772x250.png';
189
+ img.alt = 'CMB2 Logo';
190
+ document.getElementById( 'logo' ).appendChild( img );
191
+ </script>
192
+ </body>
193
+ </html>
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/annotation-group.latte ADDED
@@ -0,0 +1,149 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {layout '@layout.latte'}
2
+ {var $active = 'annotation-group-' . $annotation}
3
+
4
+ {block title}{$annotation|firstUpper}{/block}
5
+
6
+ {block content}
7
+ <div id="content">
8
+ <h1>{include title}</h1>
9
+
10
+ {if $hasElements}
11
+ {if $annotationClasses}
12
+ <div class="panel panel-default">
13
+ <div class="panel-heading"><h2>Classes summary</h2></div>
14
+ <table class="summary table table-bordered table-striped" id="classes">
15
+ {include classes, items => $annotationClasses}
16
+ </table>
17
+ </div>
18
+ {/if}
19
+
20
+ {if $annotationInterfaces}
21
+ <div class="panel panel-default">
22
+ <div class="panel-heading"><h2>Interfaces summary</h2></div>
23
+ <table class="summary table table-bordered table-striped" id="interfaces">
24
+ {include classes, items => $annotationInterfaces}
25
+ </table>
26
+ </div>
27
+ {/if}
28
+
29
+ {if $annotationTraits}
30
+ <div class="panel panel-default">
31
+ <div class="panel-heading"><h2>Traits summary</h2></div>
32
+ <table class="summary table table-bordered table-striped" id="traits">
33
+ {include classes, items => $annotationTraits}
34
+ </table>
35
+ </div>
36
+ {/if}
37
+
38
+ {if $annotationExceptions}
39
+ <div class="panel panel-default">
40
+ <div class="panel-heading"><h2>Exceptions summary</h2></div>
41
+ <table class="summary table table-bordered table-striped" id="exceptions">
42
+ {include classes, items => $annotationExceptions}
43
+ </table>
44
+ </div>
45
+ {/if}
46
+
47
+ {if $annotationMethods}
48
+ <div class="panel panel-default">
49
+ <div class="panel-heading"><h2>Methods summary</h2></div>
50
+ <table class="summary table table-bordered table-striped" id="methods">
51
+ <tr n:foreach="$annotationMethods as $method">
52
+ <td class="name"><a href="{$method->declaringClassName|classUrl}">{$method->declaringClassName}</a></td>
53
+ <td class="name"><code><a href="{$method|methodUrl}">{$method->name}()</a></code></td>
54
+ <td>
55
+ {if $method->hasAnnotation($annotation)}
56
+ {foreach $method->annotations[$annotation] as $description}
57
+ {if $description}
58
+ {$description|annotation:$annotation:$method|noescape}<br>
59
+ {/if}
60
+ {/foreach}
61
+ {/if}
62
+ </td>
63
+ </tr>
64
+ </table>
65
+ </div>
66
+ {/if}
67
+
68
+ {if $annotationConstants}
69
+ <div class="panel panel-default">
70
+ <div class="panel-heading"><h2>Constants summary</h2></div>
71
+ <table class="summary table table-bordered table-striped" id="constants">
72
+ <tr n:foreach="$annotationConstants as $constant">
73
+ {if $constant->declaringClassName}
74
+ <td class="name"><a href="{$constant->declaringClassName|classUrl}">{$constant->declaringClassName}</a></td>
75
+ <td class="name"><code><a href="{$constant|constantUrl}"><b>{$constant->name}</b></a></code></td>
76
+
77
+ {else}
78
+ <td class="name" n:if="$namespaces || $classes || $interfaces || $traits || $exceptions"><a n:if="$constant->namespaceName" href="{$constant->namespaceName|namespaceUrl}">{$constant->namespaceName}</a></td>
79
+ <td n:class="name"><code><a href="{$constant|constantUrl}"><b>{$constant->shortName}</b></a></code></td>
80
+ {/if}
81
+ <td>
82
+ {foreach $constant->annotations[$annotation] as $description}
83
+ {if $description}
84
+ {$description|annotation:$annotation:$constant|noescape}<br>
85
+ {/if}
86
+ {/foreach}
87
+ </td>
88
+ </tr>
89
+ </table>
90
+ </div>
91
+ {/if}
92
+
93
+ {if $annotationProperties}
94
+ <div class="panel panel-default">
95
+ <div class="panel-heading"><h2>Properties summary</h2></div>
96
+ <table class="summary table table-bordered table-striped" id="properties">
97
+ <tr n:foreach="$annotationProperties as $property">
98
+ <td class="name"><a href="{$property->declaringClassName|classUrl}">{$property->declaringClassName}</a></td>
99
+ <td class="name"><a href="{$property|propertyUrl}"><var>${$property->name}</var></a></td>
100
+ <td>
101
+ {foreach $property->annotations[$annotation] as $description}
102
+ {if $description}
103
+ {$description|annotation:$annotation:$property|noescape}<br>
104
+ {/if}
105
+ {/foreach}
106
+ </td>
107
+ </tr>
108
+ </table>
109
+ </div>
110
+ {/if}
111
+
112
+ {if $annotationFunctions}
113
+ <div class="panel panel-default">
114
+ <div class="panel-heading"><h2>Functions summary</h2></div>
115
+ <table class="summary table table-bordered table-striped" id="functions">
116
+ <tr n:foreach="$annotationFunctions as $function">
117
+ <td class="name" n:if="$namespaces"><a n:if="$function->namespaceName" href="{$function->namespaceName|namespaceUrl}">{$function->namespaceName}</a></td>
118
+ <td class="name"><code><a href="{$function|functionUrl}">{$function->shortName}</a></code></td>
119
+ <td>
120
+ {foreach $function->annotations[$annotation] as $description}
121
+ {if $description}
122
+ {$description|annotation:$annotation:$function|noescape}<br>
123
+ {/if}
124
+ {/foreach}
125
+ </td>
126
+ </tr>
127
+ </table>
128
+ </div>
129
+ {/if}
130
+
131
+ {else}
132
+ <p>No elements with <code>@{$annotation}</code> annotation found.</p>
133
+ {/if}
134
+ </div>
135
+ {/block}
136
+
137
+
138
+ {define classes}
139
+ <tr n:foreach="$items as $class">
140
+ <td class="name"><a href="{$class|classUrl}">{$class->name}</a></td>
141
+ <td>
142
+ {foreach $class->annotations[$annotation] as $description}
143
+ {if $description}
144
+ {$description|annotation:$annotation:$class|noescape}<br>
145
+ {/if}
146
+ {/foreach}
147
+ </td>
148
+ </tr>
149
+ {/define}
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/class.latte ADDED
@@ -0,0 +1,462 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {layout '@layout.latte'}
2
+ {var $active = 'class'}
3
+
4
+ {block title}{if $class->deprecated}Deprecated {/if}{if $class->interface}Interface{elseif $class->trait}Trait{else}Class{/if} {$class->name}{/block}
5
+
6
+ {block content}
7
+ <div id="content" class="class">
8
+ <h1 n:class="$class->deprecated ? deprecated">{if $class->interface}Interface{elseif $class->trait}Trait{else}Class{/if} {$class->shortName}</h1>
9
+
10
+ {if $class->valid}
11
+
12
+ <div class="description" n:if="$template->longDescription($class)">
13
+ {$class|longDescription|noescape}
14
+ </div>
15
+
16
+ <dl class="tree well" n:if="$class->parentClass || $class->ownInterfaces || $class->ownTraits">
17
+ <dd n:foreach="$tree as $item" style="padding-left:{($iterator->counter - 1) * 30}px">
18
+ <img src="resources/inherit.png" alt="Extended by" n:if="$iterator->counter > 1">
19
+ {if $item->documented}
20
+ <a href="{$item|classUrl}" n:tag-if="!$iterator->last">{last}<b>{/last}<span n:class="$item->deprecated ? deprecated, !$item->valid ? invalid">{$item->name}</span>{last}</b>{/last}</a>
21
+ {else}{$item->name}{/if}
22
+ {var $itemOwnInterfaces = $item->ownInterfaces}
23
+ {if $itemOwnInterfaces} implements {foreach $itemOwnInterfaces as $interface}
24
+ <a href="{$interface|classUrl}" n:tag-if="$interface->documented"><span n:class="$interface->deprecated ? deprecated, !$interface->valid ? invalid">{$interface->name}</span></a>{sep}, {/sep}
25
+ {/foreach}{/if}
26
+ {var $itemOwnTraits = $item->ownTraits}
27
+ {if $itemOwnTraits} uses {foreach $itemOwnTraits as $trait}
28
+ {if is_string($trait)}
29
+ {$trait} (not available)
30
+
31
+ {else}
32
+ <a href="{$trait|classUrl}" n:tag-if="$trait->documented"><span n:class="$trait->deprecated ? deprecated, !$trait->valid ? invalid">{$trait->name}</span></a>{sep}, {/sep}
33
+ {/}
34
+ {/foreach}{/if}
35
+ </dd>
36
+ </dl>
37
+
38
+ {define children}
39
+ <p class="elementList">
40
+ {foreach $children as $child}
41
+ <code><a href="{$child|classUrl}" n:tag-if="$child->documented"><span n:tag-if="$child->deprecated" class="deprecated">{$child->name}</span></a></code>{sep}, {/sep}
42
+ {/foreach}
43
+ </p>
44
+ {/define}
45
+
46
+ <div n:if="$directSubClasses">
47
+ <h3>Direct known subclasses</h3>
48
+ {include children, children => $directSubClasses}
49
+ </div>
50
+
51
+ <div n:if="$indirectSubClasses">
52
+ <h3>Indirect known subclasses</h3>
53
+ {include children, children => $indirectSubClasses}
54
+ </div>
55
+
56
+ <div n:if="$directImplementers">
57
+ <h3>Direct known implementers</h3>
58
+ {include children, children => $directImplementers}
59
+ </div>
60
+
61
+ <div n:if="$indirectImplementers">
62
+ <h3>Indirect known implementers</h3>
63
+ {include children, children => $indirectImplementers}
64
+ </div>
65
+
66
+ <div n:if="$directUsers">
67
+ <h3>Direct Known Users</h3>
68
+ {include children, children => $directUsers}
69
+ </div>
70
+
71
+ <div n:if="$indirectUsers">
72
+ <h3>Indirect Known Users</h3>
73
+ {include children, children => $indirectUsers}
74
+ </div>
75
+
76
+ <div class="alert alert-info">
77
+ {if !$class->interface && !$class->trait && ($class->abstract || $class->final)}<b>{if $class->abstract}Abstract{else}Final{/if}</b><br>{/if}
78
+ {if $class->internal}<b>PHP Extension:</b> <a href="{$class->extension|manualUrl}" title="Go to PHP documentation">{$class->extension->name|firstUpper}</a><br>{/if}
79
+ {if $class->inNamespace()}<b>Namespace:</b> {$class->namespaceName|namespaceLinks|noescape}<br>{/if}
80
+ {if $class->inPackage()}<b>Package:</b> {$class->packageName|packageLinks|noescape}<br>{/if}
81
+
82
+ {foreach $template->annotationSort($template->annotationFilter($class->annotations)) as $annotation => $values}
83
+ {foreach $values as $value}
84
+ <b>{$annotation|annotationBeautify}{if $value}:{/if}</b>
85
+ {$value|annotation:$annotation:$class|noescape}<br>
86
+ {/foreach}
87
+ {/foreach}
88
+ {if $class->internal}
89
+ <b>Documented at</b> <a href="{$class|manualUrl}" title="Go to PHP documentation">php.net</a>
90
+ {else}
91
+ <b>Located at</b> <a n:tag-if="$config->sourceCode" href="{$class|sourceUrl}" title="Go to source code">{$class->fileName|relativePath}</a>
92
+ {/if}
93
+ <br>
94
+ </div>
95
+
96
+ {var $ownMethods = $class->ownMethods}
97
+ {var $inheritedMethods = $class->inheritedMethods}
98
+ {var $usedMethods = $class->usedMethods}
99
+ {var $ownMagicMethods = $class->ownMagicMethods}
100
+ {var $inheritedMagicMethods = $class->inheritedMagicMethods}
101
+ {var $usedMagicMethods = $class->usedMagicMethods}
102
+
103
+ {if $ownMethods || $inheritedMethods || $usedMethods || $ownMagicMethods || $usedMagicMethods}
104
+ {define method}
105
+ <tr data-order="{$method->name}" id="{if $method->magic}m{/if}_{$method->name}">
106
+ {var $annotations = $method->annotations}
107
+
108
+ <td class="attributes"><code>
109
+ {if !$class->interface && $method->abstract}abstract{elseif $method->final}final{/if} {if $method->protected}protected{elseif $method->private}private{else}public{/if} {if $method->static}static{/if}
110
+ {ifset $annotations['return']}{$annotations['return'][0]|typeLinks:$method|noescape}{/ifset}
111
+ {if $method->returnsReference()}&amp;{/if}
112
+ </code>
113
+ </td>
114
+
115
+ <td class="name"><div>
116
+ <a class="anchor" href="#{if $method->magic}m{/if}_{$method->name}">#</a>
117
+ <code n:class="$method->deprecated ? deprecated">{block|strip}
118
+ {if $class->internal}
119
+ <a href="{$method|manualUrl}" title="Go to PHP documentation">{$method->name}</a>(
120
+ {else}
121
+ <a n:tag-if="$config->sourceCode" href="{$method|sourceUrl}" title="Go to source code">{$method->name}</a>(
122
+ {/if}
123
+ {foreach $method->parameters as $parameter}
124
+ <span>{$parameter->typeHint|typeLinks:$method|noescape}
125
+ <var>{if $parameter->passedByReference}&amp; {/if}${$parameter->name}</var>{if $parameter->defaultValueAvailable} = {$parameter->defaultValueDefinition|highlightPHP:$class|noescape}{elseif $parameter->unlimited},…{/if}</span>{sep}, {/sep}
126
+ {/foreach}
127
+ ){/block}</code>
128
+
129
+ {if $config->template['options']['elementDetailsCollapsed']}
130
+ <div class="description short">
131
+ {$method|shortDescription:true|noescape}
132
+ </div>
133
+ {/if}
134
+
135
+ <div n:class="description, detailed, $config->template['options']['elementDetailsCollapsed'] ? hidden">
136
+ {$method|longDescription|noescape}
137
+
138
+ {if !$class->deprecated && $method->deprecated}
139
+ <h4>Deprecated</h4>
140
+ {ifset $annotations['deprecated']}
141
+ <div class="list">
142
+ {foreach $annotations['deprecated'] as $description}
143
+ {if $description}
144
+ {$description|annotation:'deprecated':$method|noescape}<br>
145
+ {/if}
146
+ {/foreach}
147
+ </div>
148
+ {/ifset}
149
+ {/if}
150
+
151
+ {if $method->parameters && isset($annotations['param'])}
152
+ <h4>Parameters</h4>
153
+ <div class="list"><dl>
154
+ {foreach $method->parameters as $parameter}
155
+ <dt><var>${$parameter->name}</var>{if $parameter->unlimited},…{/if}</dt>
156
+ <dd>{$parameter->description|description:$method|noescape}</dd>
157
+ {/foreach}
158
+ </dl></div>
159
+ {/if}
160
+
161
+ {if isset($annotations['return']) && 'void' !== $annotations['return'][0]}
162
+ <h4>Returns</h4>
163
+ <div class="list">
164
+ {foreach $annotations['return'] as $description}
165
+ {$description|annotation:'return':$method|noescape}{sep}<br>{/}
166
+ {/foreach}
167
+ </div>
168
+ {/if}
169
+
170
+ {ifset $annotations['throws']}
171
+ <h4>Throws</h4>
172
+ <div class="list">
173
+ {foreach $annotations['throws'] as $description}
174
+ {$description|annotation:'throws':$method|noescape}{sep}<br>{/}
175
+ {/foreach}
176
+ </div>
177
+ {/ifset}
178
+
179
+ {foreach $template->annotationSort($template->annotationFilter($annotations, array('deprecated', 'param', 'return', 'throws'))) as $annotation => $descriptions}
180
+ <h4>{$annotation|annotationBeautify}</h4>
181
+ <div class="list">
182
+ {foreach $descriptions as $description}
183
+ {if $description}
184
+ {$description|annotation:$annotation:$method|noescape}<br>
185
+ {/if}
186
+ {/foreach}
187
+ </div>
188
+ {/foreach}
189
+
190
+ {var $overriddenMethod = $method->overriddenMethod}
191
+ {if $overriddenMethod}
192
+ <h4>Overrides</h4>
193
+ <div class="list"><code><a n:tag-if="$template->getClass($overriddenMethod->declaringClassName)" href="{$overriddenMethod|methodUrl}">{$overriddenMethod->declaringClassName}::{$overriddenMethod->name}</a></code></div>
194
+ {/if}
195
+
196
+ {var $implementedMethod = $method->implementedMethod}
197
+ {if $implementedMethod}
198
+ <h4>Implementation of</h4>
199
+ <div class="list"><code><a n:tag-if="$template->getClass($implementedMethod->declaringClassName)" href="{$implementedMethod|methodUrl}">{$implementedMethod->prettyName}</a></code></div>
200
+ {/if}
201
+ </div>
202
+ </div></td>
203
+ </tr>
204
+ {/define}
205
+
206
+ <div class="panel panel-default">
207
+ <div class="panel-heading"><h2>Methods summary</h2></div>
208
+ <table class="summary table table-bordered table-striped methods" id="methods" n:if="$ownMethods">
209
+ {foreach $ownMethods as $method}
210
+ {include method, method => $method}
211
+ {/foreach}
212
+ </table>
213
+ </div>
214
+
215
+ {foreach $inheritedMethods as $parentName => $methods}
216
+ <div class="panel panel-default">
217
+ <div class="panel-heading"><h3>Methods inherited from <a href="{$parentName|classUrl}#methods" n:tag-if="$template->getClass($parentName)">{$parentName}</a></h3></div>
218
+ <p class="elementList">
219
+ {foreach $methods as $method}
220
+ <code><a href="{$method|methodUrl}" n:tag-if="$template->getClass($parentName)"><span n:tag-if="$method->deprecated" class="deprecated">{$method->name}()</span></a></code>{sep}, {/sep}
221
+ {/foreach}
222
+ </p>
223
+ </div>
224
+ {/foreach}
225
+
226
+ {foreach $usedMethods as $traitName => $methods}
227
+ <div class="panel panel-default">
228
+ <div class="panel-heading"><h3>Methods used from <a href="{$traitName|classUrl}#methods" n:tag-if="$template->getClass($traitName)">{$traitName}</a></h3></div>
229
+ <p class="elementList">
230
+ {foreach $methods as $data}
231
+ <code><a href="{$data['method']|methodUrl:$data['method']->declaringTrait}" n:tag-if="$template->getClass($traitName)"><span n:tag-if="$data['method']->deprecated" class="deprecated">{$data['method']->name}()</span></a>{if $data['aliases']}(as {foreach $data['aliases'] as $alias}<span n:tag-if="$data['method']->deprecated" class="deprecated">{$alias->name}()</span>{sep}, {/sep}{/foreach}){/if}</code>{sep}, {/sep}
232
+ {/foreach}
233
+ </p>
234
+ </div>
235
+ {/foreach}
236
+
237
+ {if $ownMagicMethods}
238
+ <div class="panel panel-default">
239
+ <div class="panel-heading"><h3>Magic methods summary</h3></div>
240
+ <table class="summary table table-bordered table-striped methods" id="magicMethods" n:if="$ownMagicMethods">
241
+ {foreach $ownMagicMethods as $method}
242
+ {include method, method => $method}
243
+ {/foreach}
244
+ </table>
245
+ </div>
246
+ {/if}
247
+
248
+ {foreach $inheritedMagicMethods as $parentName => $methods}
249
+ <div class="panel panel-default">
250
+ <div class="panel-heading"><h3>Magic methods inherited from <a href="{$parentName|classUrl}#methods" n:tag-if="$template->getClass($parentName)">{$parentName}</a></h3></div>
251
+ <p class="elementList">
252
+ {foreach $methods as $method}
253
+ <code><a href="{$method|methodUrl}" n:tag-if="$template->getClass($parentName)"><span n:tag-if="$method->deprecated" class="deprecated">{$method->name}()</span></a></code>{sep}, {/sep}
254
+ {/foreach}
255
+ </p>
256
+ </div>
257
+ {/foreach}
258
+
259
+ {foreach $usedMagicMethods as $traitName => $methods}
260
+ <div class="panel panel-default">
261
+ <div class="panel-heading"><h3>Magic methods used from <a href="{$traitName|classUrl}#methods" n:tag-if="$template->getClass($traitName)">{$traitName}</a></h3></div>
262
+ <p class="elementList">
263
+ {foreach $methods as $data}
264
+ <code><a href="{$data['method']|methodUrl:$data['method']->declaringTrait}" n:tag-if="$template->getClass($traitName)"><span n:tag-if="$data['method']->deprecated" class="deprecated">{$data['method']->name}()</span></a>{if $data['aliases']}(as {foreach $data['aliases'] as $alias}<span n:tag-if="$data['method']->deprecated" class="deprecated">{$alias->name}()</span>{sep}, {/sep}{/foreach}){/if}</code>{sep}, {/sep}
265
+ {/foreach}
266
+ </p>
267
+ </div>
268
+ {/foreach}
269
+ {/if}
270
+
271
+
272
+ {var $ownConstants = $class->ownConstants}
273
+ {var $inheritedConstants = $class->inheritedConstants}
274
+
275
+ {if $ownConstants || $inheritedConstants}
276
+ <div class="panel panel-default">
277
+ <div class="panel-heading"><h2>Constants summary</h2></div>
278
+ <table class="summary table table-bordered table-striped constants" id="constants" n:if="$ownConstants">
279
+ <tr n:foreach="$ownConstants as $constant" data-order="{$constant->name}" id="{$constant->name}">
280
+ {var $annotations = $constant->annotations}
281
+
282
+ <td class="attributes"><code>{$constant->typeHint|typeLinks:$constant|noescape}</code></td>
283
+ <td class="name">
284
+ <code>
285
+ {if $class->internal}
286
+ <a href="{$constant|manualUrl}" title="Go to PHP documentation"><b>{$constant->name}</b></a>
287
+ {else}
288
+ <a n:tag-if="$config->sourceCode" href="{$constant|sourceUrl}" title="Go to source code"><b>{$constant->name}</b></a>
289
+ {/if}
290
+ </code>
291
+
292
+ <div n:if="$config->template['options']['elementDetailsCollapsed']" class="description short">
293
+ {$constant|shortDescription:true|noescape}
294
+ </div>
295
+
296
+ <div n:class="description, detailed, $config->template['options']['elementDetailsCollapsed'] ? hidden">
297
+ {$constant|longDescription|noescape}
298
+
299
+ {foreach $template->annotationSort($template->annotationFilter($annotations, array('var'))) as $annotation => $descriptions}
300
+ <h4>{$annotation|annotationBeautify}</h4>
301
+ <div class="list">
302
+ {foreach $descriptions as $description}
303
+ {if $description}
304
+ {$description|annotation:$annotation:$constant|noescape}<br>
305
+ {/if}
306
+ {/foreach}
307
+ </div>
308
+ {/foreach}
309
+ </div>
310
+ </td>
311
+ <td class="value">
312
+ <div>
313
+ <a href="#{$constant->name}" class="anchor">#</a>
314
+ <code>{$constant->valueDefinition|highlightValue:$class|noescape}</code>
315
+ </div>
316
+ </td>
317
+ </tr>
318
+ </table>
319
+ </div>
320
+
321
+ {foreach $inheritedConstants as $parentName => $constants}
322
+ <div class="panel panel-default">
323
+ <div class="panel-heading"><h3>Constants inherited from <a href="{$parentName|classUrl}#constants" n:tag-if="$template->getClass($parentName)">{$parentName}</a></h3></div>
324
+ <p class="elementList">
325
+ {foreach $constants as $constant}
326
+ <code><a href="{$constant|constantUrl}" n:tag-if="$template->getClass($parentName)"><b><span n:tag-if="$constant->deprecated" class"deprecated">{$constant->name}</span></b></a></code>{sep}, {/sep}
327
+ {/foreach}
328
+ </p>
329
+ </div>
330
+ {/foreach}
331
+ {/if}
332
+
333
+ {var $ownProperties = $class->ownProperties}
334
+ {var $inheritedProperties = $class->inheritedProperties}
335
+ {var $usedProperties = $class->usedProperties}
336
+ {var $ownMagicProperties = $class->ownMagicProperties}
337
+ {var $inheritedMagicProperties = $class->inheritedMagicProperties}
338
+ {var $usedMagicProperties = $class->usedMagicProperties}
339
+
340
+ {if $ownProperties || $inheritedProperties || $usedProperties || $ownMagicProperties || $inheritedMagicProperties || $usedMagicProperties}
341
+ {define property}
342
+ <tr data-order="{$property->name}" id="{if $property->magic}m{/if}${$property->name}">
343
+ <td class="attributes"><code>
344
+ {if $property->protected}protected{elseif $property->private}private{else}public{/if} {if $property->static}static{/if} {if $property->readOnly}read-only{elseif $property->writeOnly}write-only{/if}
345
+ {$property->typeHint|typeLinks:$property|noescape}
346
+ </code></td>
347
+
348
+ <td class="name">
349
+ {if $class->internal}
350
+ <a href="{$property|manualUrl}" title="Go to PHP documentation"><var>${$property->name}</var></a>
351
+ {else}
352
+ <a n:tag-if="$config->sourceCode" href="{$property|sourceUrl}" title="Go to source code"><var>${$property->name}</var></a>
353
+ {/if}
354
+
355
+ <div n:if="$config->template['options']['elementDetailsCollapsed']" class="description short">
356
+ {$property|shortDescription:true|noescape}
357
+ </div>
358
+
359
+ <div n:class="description, detailed, $config->template['options']['elementDetailsCollapsed'] ? hidden">
360
+ {$property|longDescription|noescape}
361
+
362
+ {foreach $template->annotationSort($template->annotationFilter($property->annotations, array('var'))) as $annotation => $descriptions}
363
+ <h4>{$annotation|annotationBeautify}</h4>
364
+ <div class="list">
365
+ {foreach $descriptions as $description}
366
+ {if $description}
367
+ {$description|annotation:$annotation:$property|noescape}<br>
368
+ {/if}
369
+ {/foreach}
370
+ </div>
371
+ {/foreach}
372
+ </div>
373
+ </td>
374
+ <td n:if="!$property->magic" class="value">
375
+ <div>
376
+ <a href="#{if $property->magic}m{/if}${$property->name}" class="anchor">#</a>
377
+ <code>{$property->defaultValueDefinition|highlightValue:$class|noescape}</code>
378
+ </div>
379
+ </td>
380
+ </tr>
381
+ {/define}
382
+
383
+ <div class="panel panel-default">
384
+ <div class="panel-heading"><h2>Properties summary</h2></div>
385
+ <table class="summary table table-bordered table-striped properties" id="properties" n:if="$ownProperties">
386
+ {foreach $ownProperties as $property}
387
+ {include property, property => $property}
388
+ {/foreach}
389
+ </table>
390
+ </div>
391
+
392
+ {foreach $inheritedProperties as $parentName => $properties}
393
+ <div class="panel panel-default">
394
+ <div class="panel-heading"><h3>Properties inherited from <a href="{$parentName|classUrl}#properties" n:tag-if="$template->getClass($parentName)">{$parentName}</a></h3></div>
395
+ <p class="elementList">
396
+ {foreach $properties as $property}
397
+ <code><a href="{$property|propertyUrl}" n:tag-if="$template->getClass($parentName)"><var><span n:tag-if="$property->deprecated" class="deprecated">${$property->name}</span></var></a></code>{sep}, {/sep}
398
+ {/foreach}
399
+ </p>
400
+ </div>
401
+ {/foreach}
402
+
403
+ {foreach $usedProperties as $traitName => $properties}
404
+ <div class="panel panel-default">
405
+ <div class="panel-heading"><h3>Properties used from <a href="{$traitName|classUrl}#properties" n:tag-if="$template->getClass($traitName)">{$traitName}</a></h3></div>
406
+ <p class="elementList">
407
+ {foreach $properties as $property}
408
+ <code><a href="{$property|propertyUrl:$property->declaringTrait}" n:tag-if="$template->getClass($traitName)"><var><span n:tag-if="$property->deprecated" class="deprecated">${$property->name}</span></var></a></code>{sep}, {/sep}
409
+ {/foreach}
410
+ </p>
411
+ </div>
412
+ {/foreach}
413
+
414
+ {if $ownMagicProperties}
415
+ <div class="panel panel-default">
416
+ <div class="panel-heading"><h3>Magic properties</h3></div>
417
+ <table class="summary table table-bordered table-striped properties" id="magicProperties">
418
+ {foreach $ownMagicProperties as $property}
419
+ {include property, property => $property}
420
+ {/foreach}
421
+ </table>
422
+ </div>
423
+ {/if}
424
+
425
+ {foreach $inheritedMagicProperties as $parentName => $properties}
426
+ <div class="panel panel-default">
427
+ <div class="panel-heading"><h3>Magic properties inherited from <a href="{$parentName|classUrl}#properties" n:tag-if="$template->getClass($parentName)">{$parentName}</a></h3></div>
428
+ <p class="elementList">
429
+ {foreach $properties as $property}
430
+ <code><a href="{$property|propertyUrl}" n:tag-if="$template->getClass($parentName)"><var><span n:tag-if="$property->deprecated" class="deprecated">${$property->name}</span></var></a></code>{sep}, {/sep}
431
+ {/foreach}
432
+ </p>
433
+ </div>
434
+ {/foreach}
435
+
436
+ {foreach $usedMagicProperties as $traitName => $properties}
437
+ <div class="panel panel-default">
438
+ <div class="panel-heading"><h3>Magic properties used from <a href="{$traitName|classUrl}#properties" n:tag-if="$template->getClass($traitName)">{$traitName}</a></h3></div>
439
+ <p class="elementList">
440
+ {foreach $properties as $property}
441
+ <code><a href="{$property|propertyUrl:$property->declaringTrait}" n:tag-if="$template->getClass($traitName)"><var><span n:tag-if="$property->deprecated" class="deprecated">${$property->name}</span></var></a></code>{sep}, {/sep}
442
+ {/foreach}
443
+ </p>
444
+ </div>
445
+ {/foreach}
446
+ {/if}
447
+
448
+ {else}
449
+ <div class="alert alert-error">
450
+ <p>
451
+ Documentation of this class could not be generated.
452
+ </p>
453
+ <p>
454
+ Class was originally declared in {$class->fileName|relativePath} and is invalid because of:
455
+ </p>
456
+ <ul>
457
+ <li n:foreach="$class->reasons as $reason">Class was redeclared in {$reason->getSender()->getFileName()|relativePath}.</li>
458
+ </ul>
459
+ </div>
460
+ {/if}
461
+ </div>
462
+ {/block}
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/combined.js.latte ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ {contentType javascript}
2
+
3
+ var ApiGen = ApiGen || {};
4
+ ApiGen.config = {$config->template};
5
+
6
+ {var $scripts = ['jquery.min.js', 'jquery.cookie.js', 'jquery.sprintf.js', 'jquery.autocomplete.js', 'jquery.sortElements.js', 'main.js']}
7
+
8
+ {foreach $scripts as $script}
9
+ {file_get_contents("$basePath/js/$script")|noescape}
10
+ {/foreach}
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/config.neon ADDED
@@ -0,0 +1 @@
 
1
+ name: "Twitter Bootstrap theme"
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/constant.latte ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {layout '@layout.latte'}
2
+ {var $active = 'constant'}
3
+
4
+ {block title}{if $constant->deprecated}Deprecated {/if}Constant {$constant->name}{/block}
5
+
6
+ {block content}
7
+ <div id="content" class="constant">
8
+ <h1 n:class="$constant->deprecated ? deprecated">Constant {$constant->shortName}</h1>
9
+
10
+ {if $constant->valid}
11
+
12
+ <div class="description" n:if="$template->longDescription($constant)">
13
+ {$constant|longDescription|noescape}
14
+ </div>
15
+
16
+ <div class="alert alert-info">
17
+ {if $constant->inNamespace()}<b>Namespace:</b> {$constant->namespaceName|namespaceLinks|noescape}<br>{/if}
18
+ {if $constant->inPackage()}<b>Package:</b> {$constant->packageName|packageLinks|noescape}<br>{/if}
19
+ {foreach $template->annotationSort($template->annotationFilter($constant->annotations, array('var'))) as $annotation => $values}
20
+ {foreach $values as $value}
21
+ <b>{$annotation|annotationBeautify}{if $value}:{/if}</b>
22
+ {$value|annotation:$annotation:$constant|noescape}<br>
23
+ {/foreach}
24
+ {/foreach}
25
+ <b>Located at</b>
26
+ <a n:tag-if="$config->sourceCode" href="{$constant|sourceUrl}" title="Go to source code">
27
+ {$constant->fileName|relativePath}
28
+ </a><br>
29
+ </div>
30
+
31
+ {var $annotations = $constant->annotations}
32
+
33
+ <div class="panel panel-default">
34
+ <div class="panel-heading"><h2>Value summary</h2></div>
35
+ <table class="summary table table-bordered table-striped" id="vars">
36
+ <tr>
37
+ <td class="name"><code>{$constant->typeHint|typeLinks:$constant|noescape}</code></td>
38
+ <td class="value">{block|strip}
39
+ {var $element = $template->resolveElement($constant->valueDefinition, $constant)}
40
+ {if $element}<a href="{$element|constantUrl}">{$constant->valueDefinition}</a>{else}<code>{$constant->valueDefinition|highlightValue:$constant|noescape}</code>{/if}
41
+ {/block}</td>
42
+ </tr>
43
+ </table>
44
+ </div>
45
+
46
+ {else}
47
+ <div class="alert alert-error">
48
+ <p>
49
+ Documentation of this constant could not be generated.
50
+ </p>
51
+ <p>
52
+ Constant was originally declared in {$constant->fileName|relativePath} and is invalid because of:
53
+ </p>
54
+ <ul>
55
+ <li n:foreach="$constant->reasons as $reason">Constant was redeclared in {$reason->getSender()->getFileName()|relativePath}.</li>
56
+ </ul>
57
+ </div>
58
+ {/if}
59
+ </div>
60
+ {/block}
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/elementlist.js.latte ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ {contentType javascript}
2
+
3
+ var ApiGen = ApiGen || {};
4
+ ApiGen.elements = {$elements};
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/function.latte ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {layout '@layout.latte'}
2
+ {var $active = 'function'}
3
+
4
+ {block title}{if $function->deprecated}Deprecated {/if}Function {$function->name}{/block}
5
+
6
+ {block content}
7
+ <div id="content" class="function">
8
+ <h1 n:class="$function->deprecated ? deprecated">Function {$function->shortName}</h1>
9
+
10
+ {if $function->valid}
11
+
12
+ <div class="description" n:if="$template->longDescription($function)">
13
+ {$function|longDescription|noescape}
14
+ </div>
15
+
16
+ <div class="alert alert-info">
17
+ {if $function->inNamespace()}<b>Namespace:</b> {$function->namespaceName|namespaceLinks|noescape}<br>{/if}
18
+ {if $function->inPackage()}<b>Package:</b> {$function->packageName|packageLinks|noescape}<br>{/if}
19
+ {foreach $template->annotationSort($template->annotationFilter($function->annotations, array('param', 'return', 'throws'))) as $annotation => $values}
20
+ {foreach $values as $value}
21
+ <b>{$annotation|annotationBeautify}{if $value}:{/if}</b>
22
+ {$value|annotation:$annotation:$function|noescape}<br>
23
+ {/foreach}
24
+ {/foreach}
25
+ <b>Located at</b>
26
+ <a n:tag-if="$config->sourceCode" href="{$function|sourceUrl}" title="Go to source code">
27
+ {$function->fileName|relativePath}
28
+ </a><br>
29
+ </div>
30
+
31
+ {var $annotations = $function->annotations}
32
+
33
+ {if count($function->parameters)}
34
+ <div class="panel panel-default">
35
+ <div class="panel-heading"><h2>Parameters summary</h2></div>
36
+ <table class="summary table table-bordered table-striped" id="parameters">
37
+ <tr n:foreach="$function->parameters as $parameter" id="${$parameter->name}">
38
+ <td class="name"><code>{$parameter->typeHint|typeLinks:$function|noescape}</code></td>
39
+ <td class="value"><code>{block|strip}
40
+ <var>{if $parameter->passedByReference}&amp; {/if}${$parameter->name}</var>{if $parameter->defaultValueAvailable} = {$parameter->defaultValueDefinition|highlightPHP:$function|noescape}{elseif $parameter->unlimited},…{/if}
41
+ {/block}</code></td>
42
+ <td>{$parameter->description|description:$function}</td>
43
+ </tr>
44
+ </table>
45
+ </div>
46
+ {/if}
47
+
48
+ {if isset($annotations['return']) && 'void' !== $annotations['return'][0]}
49
+ <div class="panel panel-default">
50
+ <div class="panel-heading"><h2>Return value summary</h2></div>
51
+ <table class="summary table table-bordered table-striped" id="returns">
52
+ <tr>
53
+ <td class="name"><code>
54
+ {$annotations['return'][0]|typeLinks:$function|noescape}
55
+ </code></td>
56
+ <td>
57
+ {$annotations['return'][0]|description:$function|noescape}
58
+ </td>
59
+ </tr>
60
+ </table>
61
+ </div>
62
+ {/if}
63
+
64
+ {if isset($annotations['throws'])}
65
+ <div class="panel panel-default">
66
+ <div class="panel-heading"><h2>Thrown exceptions summary</h2></div>
67
+ <table class="summary table table-bordered table-striped" id="throws">
68
+ <tr n:foreach="$annotations['throws'] as $throws">
69
+ <td class="name"><code>
70
+ {$throws|typeLinks:$function|noescape}
71
+ </code></td>
72
+ <td>
73
+ {$throws|description:$function|noescape}
74
+ </td>
75
+ </tr>
76
+ </table>
77
+ </div>
78
+ {/if}
79
+
80
+ {else}
81
+ <div class="alert alert-error">
82
+ <p>
83
+ Documentation of this function could not be generated.
84
+ </p>
85
+ <p>
86
+ Function was originally declared in {$function->fileName|relativePath} and is invalid because of:
87
+ </p>
88
+ <ul>
89
+ <li n:foreach="$function->reasons as $reason">Function was redeclared in {$reason->getSender()->getFileName()|relativePath}.</li>
90
+ </ul>
91
+ </div>
92
+ {/if}
93
+ </div>
94
+ {/block}
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/js/jquery.autocomplete.js ADDED
@@ -0,0 +1,841 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery Autocomplete plugin 1.2.3
3
+ *
4
+ * Copyright (c) 2009 Jörn Zaefferer
5
+ *
6
+ * Dual licensed under the MIT and GPL licenses:
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ * http://www.gnu.org/licenses/gpl.html
9
+ *
10
+ * With small modifications by Alfonso Gómez-Arzola.
11
+ * See changelog for details.
12
+ *
13
+ */
14
+
15
+ ;(function($) {
16
+
17
+ $.fn.extend({
18
+ autocomplete: function(urlOrData, options) {
19
+ var isUrl = typeof urlOrData == "string";
20
+ options = $.extend({}, $.Autocompleter.defaults, {
21
+ url: isUrl ? urlOrData : null,
22
+ data: isUrl ? null : urlOrData,
23
+ delay: isUrl ? $.Autocompleter.defaults.delay : 10,
24
+ max: options && !options.scroll ? 10 : 150,
25
+ noRecord: "No Records."
26
+ }, options);
27
+
28
+ // if highlight is set to false, replace it with a do-nothing function
29
+ options.highlight = options.highlight || function(value) { return value; };
30
+
31
+ // if the formatMatch option is not specified, then use formatItem for backwards compatibility
32
+ options.formatMatch = options.formatMatch || options.formatItem;
33
+
34
+ return this.each(function() {
35
+ new $.Autocompleter(this, options);
36
+ });
37
+ },
38
+ result: function(handler) {
39
+ return this.bind("result", handler);
40
+ },
41
+ search: function(handler) {
42
+ return this.trigger("search", [handler]);
43
+ },
44
+ flushCache: function() {
45
+ return this.trigger("flushCache");
46
+ },
47
+ setOptions: function(options){
48
+ return this.trigger("setOptions", [options]);
49
+ },
50
+ unautocomplete: function() {
51
+ return this.trigger("unautocomplete");
52
+ }
53
+ });
54
+
55
+ $.Autocompleter = function(input, options) {
56
+
57
+ var KEY = {
58
+ UP: 38,
59
+ DOWN: 40,
60
+ DEL: 46,
61
+ TAB: 9,
62
+ RETURN: 13,
63
+ ESC: 27,
64
+ COMMA: 188,
65
+ PAGEUP: 33,
66
+ PAGEDOWN: 34,
67
+ BACKSPACE: 8
68
+ };
69
+
70
+ var globalFailure = null;
71
+ if(options.failure != null && typeof options.failure == "function") {
72
+ globalFailure = options.failure;
73
+ }
74
+
75
+ // Create $ object for input element
76
+ var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass);
77
+
78
+ var timeout;
79
+ var previousValue = "";
80
+ var cache = $.Autocompleter.Cache(options);
81
+ var hasFocus = 0;
82
+ var lastKeyPressCode;
83
+ var config = {
84
+ mouseDownOnSelect: false
85
+ };
86
+ var select = $.Autocompleter.Select(options, input, selectCurrent, config);
87
+
88
+ var blockSubmit;
89
+
90
+ // prevent form submit in opera when selecting with return key
91
+ navigator.userAgent.indexOf("Opera") != -1 && $(input.form).bind("submit.autocomplete", function() {
92
+ if (blockSubmit) {
93
+ blockSubmit = false;
94
+ return false;
95
+ }
96
+ });
97
+
98
+ // older versions of opera don't trigger keydown multiple times while pressed, others don't work with keypress at all
99
+ $input.bind((navigator.userAgent.indexOf("Opera") != -1 && !'KeyboardEvent' in window ? "keypress" : "keydown") + ".autocomplete", function(event) {
100
+ // a keypress means the input has focus
101
+ // avoids issue where input had focus before the autocomplete was applied
102
+ hasFocus = 1;
103
+ // track last key pressed
104
+ lastKeyPressCode = event.keyCode;
105
+ switch(event.keyCode) {
106
+
107
+ case KEY.UP:
108
+ if ( select.visible() ) {
109
+ event.preventDefault();
110
+ select.prev();
111
+ } else {
112
+ onChange(0, true);
113
+ }
114
+ break;
115
+
116
+ case KEY.DOWN:
117
+ if ( select.visible() ) {
118
+ event.preventDefault();
119
+ select.next();
120
+ } else {
121
+ onChange(0, true);
122
+ }
123
+ break;
124
+
125
+ case KEY.PAGEUP:
126
+ if ( select.visible() ) {
127
+ event.preventDefault();
128
+ select.pageUp();
129
+ } else {
130
+ onChange(0, true);
131
+ }
132
+ break;
133
+
134
+ case KEY.PAGEDOWN:
135
+ if ( select.visible() ) {
136
+ event.preventDefault();
137
+ select.pageDown();
138
+ } else {
139
+ onChange(0, true);
140
+ }
141
+ break;
142
+
143
+ // matches also semicolon
144
+ case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA:
145
+ case KEY.TAB:
146
+ case KEY.RETURN:
147
+ if( selectCurrent() ) {
148
+ // stop default to prevent a form submit, Opera needs special handling
149
+ event.preventDefault();
150
+ blockSubmit = true;
151
+ return false;
152
+ }
153
+ break;
154
+
155
+ case KEY.ESC:
156
+ select.hide();
157
+ break;
158
+
159
+ default:
160
+ clearTimeout(timeout);
161
+ timeout = setTimeout(onChange, options.delay);
162
+ break;
163
+ }
164
+ }).focus(function(){
165
+ // track whether the field has focus, we shouldn't process any
166
+ // results if the field no longer has focus
167
+ hasFocus++;
168
+ }).blur(function() {
169
+ hasFocus = 0;
170
+ if (!config.mouseDownOnSelect) {
171
+ hideResults();
172
+ }
173
+ }).click(function() {
174
+ // show select when clicking in a focused field
175
+ // but if clickFire is true, don't require field
176
+ // to be focused to begin with; just show select
177
+ if( options.clickFire ) {
178
+ if ( !select.visible() ) {
179
+ onChange(0, true);
180
+ }
181
+ } else {
182
+ if ( hasFocus++ > 1 && !select.visible() ) {
183
+ onChange(0, true);
184
+ }
185
+ }
186
+ }).bind("search", function() {
187
+ var fn = (arguments.length > 1) ? arguments[1] : null;
188
+ function findValueCallback(q, data) {
189
+ var result;
190
+ if( data && data.length ) {
191
+ for (var i=0; i < data.length; i++) {
192
+ if( data[i].result.toLowerCase() == q.toLowerCase() ) {
193
+ result = data[i];
194
+ break;
195
+ }
196
+ }
197
+ }
198
+ if( typeof fn == "function" ) fn(result);
199
+ else $input.trigger("result", result && [result.data, result.value]);
200
+ }
201
+ $.each(trimWords($input.val()), function(i, value) {
202
+ request(value, findValueCallback, findValueCallback);
203
+ });
204
+ }).bind("flushCache", function() {
205
+ cache.flush();
206
+ }).bind("setOptions", function() {
207
+ $.extend(true, options, arguments[1]);
208
+ // if we've updated the data, repopulate
209
+ if ( "data" in arguments[1] )
210
+ cache.populate();
211
+ }).bind("unautocomplete", function() {
212
+ select.unbind();
213
+ $input.unbind();
214
+ $(input.form).unbind(".autocomplete");
215
+ });
216
+
217
+
218
+ function selectCurrent() {
219
+ var selected = select.selected();
220
+ if( !selected )
221
+ return false;
222
+
223
+ var v = selected.result;
224
+ previousValue = v;
225
+
226
+ if ( options.multiple ) {
227
+ var words = trimWords($input.val());
228
+ if ( words.length > 1 ) {
229
+ var seperator = options.multipleSeparator.length;
230
+ var cursorAt = $(input).selection().start;
231
+ var wordAt, progress = 0;
232
+ $.each(words, function(i, word) {
233
+ progress += word.length;
234
+ if (cursorAt <= progress) {
235
+ wordAt = i;
236
+ return false;
237
+ }
238
+ progress += seperator;
239
+ });
240
+ words[wordAt] = v;
241
+ //$.Autocompleter.Selection(input, progress + seperator, progress + seperator);
242
+ v = words.join( options.multipleSeparator );
243
+ }
244
+ v += options.multipleSeparator;
245
+ }
246
+
247
+ $input.val(v);
248
+ hideResultsNow();
249
+ $input.trigger("result", [selected.data, selected.value]);
250
+ return true;
251
+ }
252
+
253
+ function onChange(crap, skipPrevCheck) {
254
+ if( lastKeyPressCode == KEY.DEL ) {
255
+ select.hide();
256
+ return;
257
+ }
258
+
259
+ var currentValue = $input.val();
260
+
261
+ if ( !skipPrevCheck && currentValue == previousValue )
262
+ return;
263
+
264
+ previousValue = currentValue;
265
+
266
+ currentValue = lastWord(currentValue);
267
+ if ( currentValue.length >= options.minChars) {
268
+ $input.addClass(options.loadingClass);
269
+ if (!options.matchCase)
270
+ currentValue = currentValue.toLowerCase();
271
+ request(currentValue, receiveData, hideResultsNow);
272
+ } else {
273
+ stopLoading();
274
+ select.hide();
275
+ }
276
+ };
277
+
278
+ function trimWords(value) {
279
+ if (!value)
280
+ return [""];
281
+ if (!options.multiple)
282
+ return [$.trim(value)];
283
+ return $.map(value.split(options.multipleSeparator), function(word) {
284
+ return $.trim(value).length ? $.trim(word) : null;
285
+ });
286
+ }
287
+
288
+ function lastWord(value) {
289
+ if ( !options.multiple )
290
+ return value;
291
+ var words = trimWords(value);
292
+ if (words.length == 1)
293
+ return words[0];
294
+ var cursorAt = $(input).selection().start;
295
+ if (cursorAt == value.length) {
296
+ words = trimWords(value)
297
+ } else {
298
+ words = trimWords(value.replace(value.substring(cursorAt), ""));
299
+ }
300
+ return words[words.length - 1];
301
+ }
302
+
303
+ // fills in the input box w/the first match (assumed to be the best match)
304
+ // q: the term entered
305
+ // sValue: the first matching result
306
+ function autoFill(q, sValue){
307
+ // autofill in the complete box w/the first match as long as the user hasn't entered in more data
308
+ // if the last user key pressed was backspace, don't autofill
309
+ if( options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE ) {
310
+ // fill in the value (keep the case the user has typed)
311
+ $input.val($input.val() + sValue.substring(lastWord(previousValue).length));
312
+ // select the portion of the value not typed by the user (so the next character will erase)
313
+ $(input).selection(previousValue.length, previousValue.length + sValue.length);
314
+ }
315
+ };
316
+
317
+ function hideResults() {
318
+ clearTimeout(timeout);
319
+ timeout = setTimeout(hideResultsNow, 200);
320
+ };
321
+
322
+ function hideResultsNow() {
323
+ var wasVisible = select.visible();
324
+ select.hide();
325
+ clearTimeout(timeout);
326
+ stopLoading();
327
+ if (options.mustMatch) {
328
+ // call search and run callback
329
+ $input.search(
330
+ function (result){
331
+ // if no value found, clear the input box
332
+ if( !result ) {
333
+ if (options.multiple) {
334
+ var words = trimWords($input.val()).slice(0, -1);
335
+ $input.val( words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : "") );
336
+ }
337
+ else {
338
+ $input.val( "" );
339
+ $input.trigger("result", null);
340
+ }
341
+ }
342
+ }
343
+ );
344
+ }
345
+ };
346
+
347
+ function receiveData(q, data) {
348
+ if ( data && data.length && hasFocus ) {
349
+ stopLoading();
350
+ select.display(data, q);
351
+ autoFill(q, data[0].value);
352
+ select.show();
353
+ } else {
354
+ hideResultsNow();
355
+ }
356
+ };
357
+
358
+ function request(term, success, failure) {
359
+ if (!options.matchCase)
360
+ term = term.toLowerCase();
361
+ var data = cache.load(term);
362
+ // recieve the cached data
363
+ if (data) {
364
+ if(data.length) {
365
+ success(term, data);
366
+ }
367
+ else{
368
+ var parsed = options.parse && options.parse(options.noRecord) || parse(options.noRecord);
369
+ success(term,parsed);
370
+ }
371
+ // if an AJAX url has been supplied, try loading the data now
372
+ } else if( (typeof options.url == "string") && (options.url.length > 0) ){
373
+
374
+ var extraParams = {
375
+ timestamp: +new Date()
376
+ };
377
+ $.each(options.extraParams, function(key, param) {
378
+ extraParams[key] = typeof param == "function" ? param() : param;
379
+ });
380
+
381
+ $.ajax({
382
+ // try to leverage ajaxQueue plugin to abort previous requests
383
+ mode: "abort",
384
+ // limit abortion to this input
385
+ port: "autocomplete" + input.name,
386
+ dataType: options.dataType,
387
+ url: options.url,
388
+ data: $.extend({
389
+ q: lastWord(term),
390
+ limit: options.max
391
+ }, extraParams),
392
+ success: function(data) {
393
+ var parsed = options.parse && options.parse(data) || parse(data);
394
+ cache.add(term, parsed);
395
+ success(term, parsed);
396
+ }
397
+ });
398
+ } else {
399
+ // if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match
400
+ select.emptyList();
401
+ if(globalFailure != null) {
402
+ globalFailure();
403
+ }
404
+ else {
405
+ failure(term);
406
+ }
407
+ }
408
+ };
409
+
410
+ function parse(data) {
411
+ var parsed = [];
412
+ var rows = data.split("\n");
413
+ for (var i=0; i < rows.length; i++) {
414
+ var row = $.trim(rows[i]);
415
+ if (row) {
416
+ row = row.split("|");
417
+ parsed[parsed.length] = {
418
+ data: row,
419
+ value: row[0],
420
+ result: options.formatResult && options.formatResult(row, row[0]) || row[0]
421
+ };
422
+ }
423
+ }
424
+ return parsed;
425
+ };
426
+
427
+ function stopLoading() {
428
+ $input.removeClass(options.loadingClass);
429
+ };
430
+
431
+ };
432
+
433
+ $.Autocompleter.defaults = {
434
+ inputClass: "ac_input",
435
+ resultsClass: "ac_results",
436
+ loadingClass: "ac_loading",
437
+ minChars: 1,
438
+ delay: 400,
439
+ matchCase: false,
440
+ matchSubset: true,
441
+ matchContains: false,
442
+ cacheLength: 100,
443
+ max: 1000,
444
+ mustMatch: false,
445
+ extraParams: {},
446
+ selectFirst: true,
447
+ formatItem: function(row) { return row[0]; },
448
+ formatMatch: null,
449
+ autoFill: false,
450
+ width: 0,
451
+ multiple: false,
452
+ multipleSeparator: " ",
453
+ inputFocus: true,
454
+ clickFire: false,
455
+ highlight: function(value, term) {
456
+ return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
457
+ },
458
+ scroll: true,
459
+ scrollHeight: 180,
460
+ scrollJumpPosition: true
461
+ };
462
+
463
+ $.Autocompleter.Cache = function(options) {
464
+
465
+ var data = {};
466
+ var length = 0;
467
+
468
+ function matchSubset(s, sub) {
469
+ return (new RegExp(sub.toUpperCase().replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1").replace(/[A-Z0-9]/g, function(m, offset) {
470
+ return offset === 0 ? '(?:' + m + '|^' + m.toLowerCase() + ')' : '(?:.*' + m + '|' + m.toLowerCase() + ')';
471
+ }))).test(s); // find by initials
472
+ };
473
+
474
+ function add(q, value) {
475
+ if (length > options.cacheLength){
476
+ flush();
477
+ }
478
+ if (!data[q]){
479
+ length++;
480
+ }
481
+ data[q] = value;
482
+ }
483
+
484
+ function populate(){
485
+ if( !options.data ) return false;
486
+ // track the matches
487
+ var stMatchSets = {},
488
+ nullData = 0;
489
+
490
+ // no url was specified, we need to adjust the cache length to make sure it fits the local data store
491
+ if( !options.url ) options.cacheLength = 1;
492
+
493
+ // track all options for minChars = 0
494
+ stMatchSets[""] = [];
495
+
496
+ // loop through the array and create a lookup structure
497
+ for ( var i = 0, ol = options.data.length; i < ol; i++ ) {
498
+ var rawValue = options.data[i];
499
+ // if rawValue is a string, make an array otherwise just reference the array
500
+ rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue;
501
+
502
+ var value = options.formatMatch(rawValue, i+1, options.data.length);
503
+ if ( typeof(value) === 'undefined' || value === false )
504
+ continue;
505
+
506
+ var firstChar = value.charAt(0).toLowerCase();
507
+ // if no lookup array for this character exists, look it up now
508
+ if( !stMatchSets[firstChar] )
509
+ stMatchSets[firstChar] = [];
510
+
511
+ // if the match is a string
512
+ var row = {
513
+ value: value,
514
+ data: rawValue,
515
+ result: options.formatResult && options.formatResult(rawValue) || value
516
+ };
517
+
518
+ // push the current match into the set list
519
+ stMatchSets[firstChar].push(row);
520
+
521
+ // keep track of minChars zero items
522
+ if ( nullData++ < options.max ) {
523
+ stMatchSets[""].push(row);
524
+ }
525
+ };
526
+
527
+ // add the data items to the cache
528
+ $.each(stMatchSets, function(i, value) {
529
+ // increase the cache size
530
+ options.cacheLength++;
531
+ // add to the cache
532
+ add(i, value);
533
+ });
534
+ }
535
+
536
+ // populate any existing data
537
+ setTimeout(populate, 25);
538
+
539
+ function flush(){
540
+ data = {};
541
+ length = 0;
542
+ }
543
+
544
+ return {
545
+ flush: flush,
546
+ add: add,
547
+ populate: populate,
548
+ load: function(q) {
549
+ if (!options.cacheLength || !length)
550
+ return null;
551
+ /*
552
+ * if dealing w/local data and matchContains than we must make sure
553
+ * to loop through all the data collections looking for matches
554
+ */
555
+ if( !options.url && options.matchContains ){
556
+ // track all matches
557
+ var csub = [];
558
+ // loop through all the data grids for matches
559
+ for( var k in data ){
560
+ // don't search through the stMatchSets[""] (minChars: 0) cache
561
+ // this prevents duplicates
562
+ if( k.length > 0 ){
563
+ var c = data[k];
564
+ $.each(c, function(i, x) {
565
+ // if we've got a match, add it to the array
566
+ if (matchSubset(x.value, q)) {
567
+ csub.push(x);
568
+ }
569
+ });
570
+ }
571
+ }
572
+ return csub;
573
+ } else
574
+ // if the exact item exists, use it
575
+ if (data[q]){
576
+ return data[q];
577
+ } else
578
+ if (options.matchSubset) {
579
+ for (var i = q.length - 1; i >= options.minChars; i--) {
580
+ var c = data[q.substr(0, i)];
581
+ if (c) {
582
+ var csub = [];
583
+ $.each(c, function(i, x) {
584
+ if (matchSubset(x.value, q)) {
585
+ csub[csub.length] = x;
586
+ }
587
+ });
588
+ return csub;
589
+ }
590
+ }
591
+ }
592
+ return null;
593
+ }
594
+ };
595
+ };
596
+
597
+ $.Autocompleter.Select = function (options, input, select, config) {
598
+ var CLASSES = {
599
+ ACTIVE: "ac_over"
600
+ };
601
+
602
+ var listItems,
603
+ active = -1,
604
+ data,
605
+ term = "",
606
+ needsInit = true,
607
+ element,
608
+ list;
609
+
610
+ // Create results
611
+ function init() {
612
+ if (!needsInit)
613
+ return;
614
+ element = $("<div/>")
615
+ .hide()
616
+ .addClass(options.resultsClass)
617
+ .css("position", "absolute")
618
+ .appendTo(document.body)
619
+ .hover(function(event) {
620
+ // Browsers except FF do not fire mouseup event on scrollbars, resulting in mouseDownOnSelect remaining true, and results list not always hiding.
621
+ if($(this).is(":visible")) {
622
+ input.focus();
623
+ }
624
+ config.mouseDownOnSelect = false;
625
+ });
626
+
627
+ list = $("<ul/>").appendTo(element).mouseover( function(event) {
628
+ if(target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') {
629
+ active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event));
630
+ $(target(event)).addClass(CLASSES.ACTIVE);
631
+ }
632
+ }).click(function(event) {
633
+ $(target(event)).addClass(CLASSES.ACTIVE);
634
+ select();
635
+ if( options.inputFocus )
636
+ input.focus();
637
+ return false;
638
+ }).mousedown(function() {
639
+ config.mouseDownOnSelect = true;
640
+ }).mouseup(function() {
641
+ config.mouseDownOnSelect = false;
642
+ });
643
+
644
+ if( options.width > 0 )
645
+ element.css("width", options.width);
646
+
647
+ needsInit = false;
648
+ }
649
+
650
+ function target(event) {
651
+ var element = event.target;
652
+ while(element && element.tagName != "LI")
653
+ element = element.parentNode;
654
+ // more fun with IE, sometimes event.target is empty, just ignore it then
655
+ if(!element)
656
+ return [];
657
+ return element;
658
+ }
659
+
660
+ function moveSelect(step) {
661
+ listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE);
662
+ movePosition(step);
663
+ var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE);
664
+ if(options.scroll) {
665
+ var offset = 0;
666
+ listItems.slice(0, active).each(function() {
667
+ offset += this.offsetHeight;
668
+ });
669
+ if((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) {
670
+ list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight());
671
+ } else if(offset < list.scrollTop()) {
672
+ list.scrollTop(offset);
673
+ }
674
+ }
675
+ };
676
+
677
+ function movePosition(step) {
678
+ if (options.scrollJumpPosition || (!options.scrollJumpPosition && !((step < 0 && active == 0) || (step > 0 && active == listItems.size() - 1)) )) {
679
+ active += step;
680
+ if (active < 0) {
681
+ active = listItems.size() - 1;
682
+ } else if (active >= listItems.size()) {
683
+ active = 0;
684
+ }
685
+ }
686
+ }
687
+
688
+
689
+ function limitNumberOfItems(available) {
690
+ return options.max && options.max < available
691
+ ? options.max
692
+ : available;
693
+ }
694
+
695
+ function fillList() {
696
+ list.empty();
697
+ var max = limitNumberOfItems(data.length);
698
+ for (var i=0; i < max; i++) {
699
+ if (!data[i])
700
+ continue;
701
+ var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term);
702
+ if ( formatted === false )
703
+ continue;
704
+ var li = $("<li/>").html( options.highlight(formatted, term) ).addClass(i%2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0];
705
+ $.data(li, "ac_data", data[i]);
706
+ }
707
+ listItems = list.find("li");
708
+ if ( options.selectFirst ) {
709
+ listItems.slice(0, 1).addClass(CLASSES.ACTIVE);
710
+ active = 0;
711
+ }
712
+ // apply bgiframe if available
713
+ if ( $.fn.bgiframe )
714
+ list.bgiframe();
715
+ }
716
+
717
+ return {
718
+ display: function(d, q) {
719
+ init();
720
+ data = d;
721
+ term = q;
722
+ fillList();
723
+ },
724
+ next: function() {
725
+ moveSelect(1);
726
+ },
727
+ prev: function() {
728
+ moveSelect(-1);
729
+ },
730
+ pageUp: function() {
731
+ if (active != 0 && active - 8 < 0) {
732
+ moveSelect( -active );
733
+ } else {
734
+ moveSelect(-8);
735
+ }
736
+ },
737
+ pageDown: function() {
738
+ if (active != listItems.size() - 1 && active + 8 > listItems.size()) {
739
+ moveSelect( listItems.size() - 1 - active );
740
+ } else {
741
+ moveSelect(8);
742
+ }
743
+ },
744
+ hide: function() {
745
+ element && element.hide();
746
+ listItems && listItems.removeClass(CLASSES.ACTIVE);
747
+ active = -1;
748
+ },
749
+ visible : function() {
750
+ return element && element.is(":visible");
751
+ },
752
+ current: function() {
753
+ return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]);
754
+ },
755
+ show: function() {
756
+ var offset = $(input).offset();
757
+ element.css({
758
+ width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(),
759
+ top: offset.top + input.offsetHeight,
760
+ left: offset.left
761
+ }).show();
762
+ if(options.scroll) {
763
+ list.scrollTop(0);
764
+ list.css({
765
+ maxHeight: options.scrollHeight,
766
+ overflow: 'auto'
767
+ });
768
+
769
+ if(navigator.userAgent.indexOf("MSIE") != -1 && typeof document.body.style.maxHeight === "undefined") {
770
+ var listHeight = 0;
771
+ listItems.each(function() {
772
+ listHeight += this.offsetHeight;
773
+ });
774
+ var scrollbarsVisible = listHeight > options.scrollHeight;
775
+ list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight );
776
+ if (!scrollbarsVisible) {
777
+ // IE doesn't recalculate width when scrollbar disappears
778
+ listItems.width( list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")) );
779
+ }
780
+ }
781
+
782
+ }
783
+ },
784
+ selected: function() {
785
+ var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);
786
+ return selected && selected.length && $.data(selected[0], "ac_data");
787
+ },
788
+ emptyList: function (){
789
+ list && list.empty();
790
+ },
791
+ unbind: function() {
792
+ element && element.remove();
793
+ }
794
+ };
795
+ };
796
+
797
+ $.fn.selection = function(start, end) {
798
+ if (start !== undefined) {
799
+ return this.each(function() {
800
+ if( this.createTextRange ){
801
+ var selRange = this.createTextRange();
802
+ if (end === undefined || start == end) {
803
+ selRange.move("character", start);
804
+ selRange.select();
805
+ } else {
806
+ selRange.collapse(true);
807
+ selRange.moveStart("character", start);
808
+ selRange.moveEnd("character", end);
809
+ selRange.select();
810
+ }
811
+ } else if( this.setSelectionRange ){
812
+ this.setSelectionRange(start, end);
813
+ } else if( this.selectionStart ){
814
+ this.selectionStart = start;
815
+ this.selectionEnd = end;
816
+ }
817
+ });
818
+ }
819
+ var field = this[0];
820
+ if ( field.createTextRange ) {
821
+ var range = document.selection.createRange(),
822
+ orig = field.value,
823
+ teststring = "<->",
824
+ textLength = range.text.length;
825
+ range.text = teststring;
826
+ var caretAt = field.value.indexOf(teststring);
827
+ field.value = orig;
828
+ this.selection(caretAt, caretAt + textLength);
829
+ return {
830
+ start: caretAt,
831
+ end: caretAt + textLength
832
+ }
833
+ } else if( field.selectionStart !== undefined ){
834
+ return {
835
+ start: field.selectionStart,
836
+ end: field.selectionEnd
837
+ }
838
+ }
839
+ };
840
+
841
+ })(jQuery);
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/js/jquery.cookie.js ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery Cookie Plugin v1.4.1
3
+ * https://github.com/carhartl/jquery-cookie
4
+ *
5
+ * Copyright 2006, 2014 Klaus Hartl
6
+ * Released under the MIT license
7
+ */
8
+ (function (factory) {
9
+ if (typeof define === 'function' && define.amd) {
10
+ // AMD (Register as an anonymous module)
11
+ define(['jquery'], factory);
12
+ } else if (typeof exports === 'object') {
13
+ // Node/CommonJS
14
+ module.exports = factory(require('jquery'));
15
+ } else {
16
+ // Browser globals
17
+ factory(jQuery);
18
+ }
19
+ }(function ($) {
20
+
21
+ var pluses = /\+/g;
22
+
23
+ function encode(s) {
24
+ return config.raw ? s : encodeURIComponent(s);
25
+ }
26
+
27
+ function decode(s) {
28
+ return config.raw ? s : decodeURIComponent(s);
29
+ }
30
+
31
+ function stringifyCookieValue(value) {
32
+ return encode(config.json ? JSON.stringify(value) : String(value));
33
+ }
34
+
35
+ function parseCookieValue(s) {
36
+ if (s.indexOf('"') === 0) {
37
+ // This is a quoted cookie as according to RFC2068, unescape...
38
+ s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
39
+ }
40
+
41
+ try {
42
+ // Replace server-side written pluses with spaces.
43
+ // If we can't decode the cookie, ignore it, it's unusable.
44
+ // If we can't parse the cookie, ignore it, it's unusable.
45
+ s = decodeURIComponent(s.replace(pluses, ' '));
46
+ return config.json ? JSON.parse(s) : s;
47
+ } catch(e) {}
48
+ }
49
+
50
+ function read(s, converter) {
51
+ var value = config.raw ? s : parseCookieValue(s);
52
+ return $.isFunction(converter) ? converter(value) : value;
53
+ }
54
+
55
+ var config = $.cookie = function (key, value, options) {
56
+
57
+ // Write
58
+
59
+ if (arguments.length > 1 && !$.isFunction(value)) {
60
+ options = $.extend({}, config.defaults, options);
61
+
62
+ if (typeof options.expires === 'number') {
63
+ var days = options.expires, t = options.expires = new Date();
64
+ t.setMilliseconds(t.getMilliseconds() + days * 864e+5);
65
+ }
66
+
67
+ return (document.cookie = [
68
+ encode(key), '=', stringifyCookieValue(value),
69
+ options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
70
+ options.path ? '; path=' + options.path : '',
71
+ options.domain ? '; domain=' + options.domain : '',
72
+ options.secure ? '; secure' : ''
73
+ ].join(''));
74
+ }
75
+
76
+ // Read
77
+
78
+ var result = key ? undefined : {},
79
+ // To prevent the for loop in the first place assign an empty array
80
+ // in case there are no cookies at all. Also prevents odd result when
81
+ // calling $.cookie().
82
+ cookies = document.cookie ? document.cookie.split('; ') : [],
83
+ i = 0,
84
+ l = cookies.length;
85
+
86
+ for (; i < l; i++) {
87
+ var parts = cookies[i].split('='),
88
+ name = decode(parts.shift()),
89
+ cookie = parts.join('=');
90
+
91
+ if (key === name) {
92
+ // If second argument (value) is a function it's a converter...
93
+ result = read(cookie, value);
94
+ break;
95
+ }
96
+
97
+ // Prevent storing a cookie that we couldn't decode.
98
+ if (!key && (cookie = read(cookie)) !== undefined) {
99
+ result[name] = cookie;
100
+ }
101
+ }
102
+
103
+ return result;
104
+ };
105
+
106
+ config.defaults = {};
107
+
108
+ $.removeCookie = function (key, options) {
109
+ // Must not alter options, thus extending a fresh object...
110
+ $.cookie(key, '', $.extend({}, options, { expires: -1 }));
111
+ return !$.cookie(key);
112
+ };
113
+
114
+ }));
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/js/jquery.min.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ /*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
2
+ */
3
+ (function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav></:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t
4
+ }({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Ct=/^(?:checkbox|radio)$/i,Nt=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle);
5
+ u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=un(e,t),Pt.detach()),Gt[e]=n),n}function un(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,n){x.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(x.css(e,"display"))?x.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x.support.opacity||(x.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=x.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===x.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,n){return n?x.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,n){x.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?x(e).position()[n]+"px":r):t}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!x.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||x.css(e,"display"))},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(x.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Ct.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),x.param=function(e,n){var r,i=[],o=function(e,t){t=x.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var mn,yn,vn=x.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Nn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=x.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=o.href}catch(Ln){yn=a.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(T)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(l){var u;return o[l]=!0,x.each(e[l]||[],function(e,l){var c=l(n,r,i);return"string"!=typeof c||a||o[c]?a?!(u=c):t:(n.dataTypes.unshift(c),s(c),!1)}),u}return s(n.dataTypes[0])||!o["*"]&&s("*")}function _n(e,n){var r,i,o=x.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),x.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&x.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?x("<div>").append(x.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Cn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?_n(_n(e,x.ajaxSettings),t):_n(x.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,l,u,c,p=x.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?x(f):x.event,h=x.Deferred(),g=x.Callbacks("once memory"),m=p.statusCode||{},y={},v={},b=0,w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),k(0,t),this}};if(h.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=x.trim(p.dataType||"*").toLowerCase().match(T)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(mn[3]||("http:"===mn[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=x.param(p.data,p.traditional)),qn(An,p,n,C),2===b)return C;l=p.global,l&&0===x.active++&&x.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(x.lastModified[o]&&C.setRequestHeader("If-Modified-Since",x.lastModified[o]),x.etag[o]&&C.setRequestHeader("If-None-Match",x.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)C.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,C,p)===!1||2===b))return C.abort();w="abort";for(i in{success:1,error:1,complete:1})C[i](p[i]);if(u=qn(jn,p,n,C)){C.readyState=1,l&&d.trigger("ajaxSend",[C,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){C.abort("timeout")},p.timeout));try{b=1,u.send(y,k)}catch(N){if(!(2>b))throw N;k(-1,N)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,N=n;2!==b&&(b=2,s&&clearTimeout(s),u=t,a=i||"",C.readyState=e>0?4:0,c=e>=200&&300>e||304===e,r&&(w=Mn(p,C,r)),w=On(p,w,C,c),c?(p.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(x.lastModified[o]=T),T=C.getResponseHeader("etag"),T&&(x.etag[o]=T)),204===e||"HEAD"===p.type?N="nocontent":304===e?N="notmodified":(N=w.state,y=w.data,v=w.error,c=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),C.status=e,C.statusText=(n||N)+"",c?h.resolveWith(f,[y,N,C]):h.rejectWith(f,[C,N,v]),C.statusCode(m),m=t,l&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,p,c?y:v]),g.fireWith(f,[C,N]),l&&(d.trigger("ajaxComplete",[C,p]),--x.active||x.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,n){return x.get(e,t,n,"script")}}),x.each(["get","post"],function(e,n){x[n]=function(e,r,i,o){return x.isFunction(r)&&(o=o||i,i=r,r=t),x.ajax({url:e,type:n,dataType:o,data:r,success:i})}});function Mn(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in l)if(l[s]&&l[s].test(o)){u.unshift(s);break}if(u[0]in r)a=u[0];else{for(s in r){if(!u[0]||e.converters[s+" "+u[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==u[0]&&u.unshift(a),r[a]):t}function On(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),x.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=a.head||x("head")[0]||a.documentElement;return{send:function(t,i){n=a.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Fn=[],Bn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Fn.pop()||x.expando+"_"+vn++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=x.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Fn.push(o)),s&&x.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}x.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=x.ajaxSettings.xhr(),x.support.cors=!!Rn&&"withCredentials"in Rn,Rn=x.support.ajax=!!Rn,Rn&&x.ajaxTransport(function(n){if(!n.crossDomain||x.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=x.noop,$n&&delete Pn[a]),i)4!==l.readyState&&l.abort();else{p={},s=l.status,u=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(p.text=l.responseText);try{c=l.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,u)},n.async?4===l.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},x(e).unload($n)),Pn[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+w+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Yn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),a=(x.cssNumber[e]||"px"!==o&&+r)&&Yn.exec(x.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,x.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--l)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=x.now()}function Zn(e,t,n){var r,i=(Qn[t]||[]).concat(Qn["*"]),o=0,a=i.length;for(;a>o;o++)if(r=i[o].call(n,t,e))return r}function er(e,t,n){var r,i,o=0,a=Gn.length,s=x.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;for(;l>a;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),1>o&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)u.tweens[n].run(1);return t?s.resolveWith(e,[u,t]):s.rejectWith(e,[u,t]),this}}),c=u.props;for(tr(c,u.opts.specialEasing);a>o;o++)if(r=Gn[o].call(u,e,c,u.opts))return r;return x.map(c,Zn,u),x.isFunction(u.opts.start)&&u.opts.start.call(e,u),x.fx.timer(x.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function tr(e,t){var n,r,i,o,a;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=x.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(er,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,l,u=this,c={},p=e.style,f=e.nodeType&&nn(e),d=x._data(e,"fxshow");n.queue||(s=x._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,x.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(x.support.inlineBlockNeedsLayout&&"inline"!==ln(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",x.support.shrinkWrapBlocks||u.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Vn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show"))continue;c[r]=d&&d[r]||x.style(e,r)}if(!x.isEmptyObject(c)){d?"hidden"in d&&(f=d.hidden):d=x._data(e,"fxshow",{}),o&&(d.hidden=!f),f?x(e).show():u.done(function(){x(e).hide()}),u.done(function(){var t;x._removeData(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)a=Zn(f?d[r]:0,r,u),r in d||(d[r]=a.start,f&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}x.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),a=function(){var t=er(this,x.extend({},e),o);(i||x._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=x.timers,a=x._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=x._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,a=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=rr.prototype.init,x.fx.tick=function(){var e,n=x.timers,r=0;for(Xn=x.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||x.fx.stop(),Xn=t},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){Un||(Un=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(Un),Un=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){x.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,x.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},x.offset={setOffset:function(e,t,n){var r=x.css(e,"position");"static"===r&&(e.style.position="relative");var i=x(e),o=i.offset(),a=x.css(e,"top"),s=x.css(e,"left"),l=("absolute"===r||"fixed"===r)&&x.inArray("auto",[a,s])>-1,u={},c={},p,f;l?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),x.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(u.top=t.top-o.top+p),null!=t.left&&(u.left=t.left-o.left+f),"using"in t?t.using.call(e,u):i.css(u)}},x.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===x.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(n=e.offset()),n.top+=x.css(e[0],"borderTopWidth",!0),n.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-x.css(r,"marginTop",!0),left:t.left-n.left-x.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);x.fn[e]=function(i){return x.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?x(a).scrollLeft():o,r?o:x(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return x.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}x.each({Height:"height",Width:"width"},function(e,n){x.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){x.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return x.access(this,function(n,r,i){var o;return x.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?x.css(n,r,s):x.style(n,r,i,s)},n,a?i:t,a,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:(e.jQuery=e.$=x,"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}))})(window);
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/js/jquery.sortElements.js ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * jQuery.fn.sortElements
3
+ * --------------
4
+ * @author James Padolsey (http://james.padolsey.com)
5
+ * @version 0.11
6
+ * @updated 18-MAR-2010
7
+ * --------------
8
+ * @param Function comparator:
9
+ * Exactly the same behaviour as [1,2,3].sort(comparator)
10
+ *
11
+ * @param Function getSortable
12
+ * A function that should return the element that is
13
+ * to be sorted. The comparator will run on the
14
+ * current collection, but you may want the actual
15
+ * resulting sort to occur on a parent or another
16
+ * associated element.
17
+ *
18
+ * E.g. $('td').sortElements(comparator, function(){
19
+ * return this.parentNode;
20
+ * })
21
+ *
22
+ * The <td>'s parent (<tr>) will be sorted instead
23
+ * of the <td> itself.
24
+ */
25
+ jQuery.fn.sortElements = (function(){
26
+
27
+ var sort = [].sort;
28
+
29
+ return function(comparator, getSortable) {
30
+
31
+ getSortable = getSortable || function(){return this;};
32
+
33
+ var placements = this.map(function(){
34
+
35
+ var sortElement = getSortable.call(this),
36
+ parentNode = sortElement.parentNode,
37
+
38
+ // Since the element itself will change position, we have
39
+ // to have some way of storing it's original position in
40
+ // the DOM. The easiest way is to have a 'flag' node:
41
+ nextSibling = parentNode.insertBefore(
42
+ document.createTextNode(''),
43
+ sortElement.nextSibling
44
+ );
45
+
46
+ return function() {
47
+
48
+ if (parentNode === this) {
49
+ throw new Error(
50
+ "You can't sort elements if any one is a descendant of another."
51
+ );
52
+ }
53
+
54
+ // Insert before flag:
55
+ parentNode.insertBefore(this, nextSibling);
56
+ // Remove flag:
57
+ parentNode.removeChild(nextSibling);
58
+
59
+ };
60
+
61
+ });
62
+
63
+ return sort.call(this, comparator).each(function(i){
64
+ placements[i].call(getSortable.call(this));
65
+ });
66
+
67
+ };
68
+
69
+ })();
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/js/jquery.sprintf.js ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * sprintf and vsprintf for jQuery
3
+ * somewhat based on http://jan.moesen.nu/code/javascript/sprintf-and-printf-in-javascript/
4
+ * Copyright (c) 2008 Sabin Iacob (m0n5t3r) <iacobs@m0n5t3r.info>
5
+ * @license http://www.gnu.org/licenses/gpl.html
6
+ * @project jquery.sprintf
7
+ */
8
+ (function(d){var a={b:function(e){return parseInt(e,10).toString(2)},c:function(e){return String.fromCharCode(parseInt(e,10))},d:function(e){return parseInt(e,10)},u:function(e){return Math.abs(e)},f:function(f,e){e=parseInt(e,10);f=parseFloat(f);if(isNaN(e&&f)){return NaN}return e&&f.toFixed(e)||f},o:function(e){return parseInt(e,10).toString(8)},s:function(e){return e},x:function(e){return(""+parseInt(e,10).toString(16)).toLowerCase()},X:function(e){return(""+parseInt(e,10).toString(16)).toUpperCase()}};var c=/%(?:(\d+)?(?:\.(\d+))?|\(([^)]+)\))([%bcdufosxX])/g;var b=function(f){if(f.length==1&&typeof f[0]=="object"){f=f[0];return function(i,h,k,j,g,m,l){return a[g](f[j])}}else{var e=0;return function(i,h,k,j,g,m,l){if(g=="%"){return"%"}return a[g](f[e++],k)}}};d.extend({sprintf:function(f){var e=Array.apply(null,arguments).slice(1);return f.replace(c,b(e))},vsprintf:function(f,e){return f.replace(c,b(e))}})})(jQuery);
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/js/main.js ADDED
@@ -0,0 +1,308 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ $(window).load(function() {
2
+ var $document = $(document);
3
+ var $navigation = $('#navigation');
4
+ var navigationHeight = $navigation.height();
5
+ var $left = $('#left');
6
+ var $right = $('#right');
7
+ var $rightInner = $('#rightInner');
8
+ var $splitter = $('#splitter');
9
+ var $groups = $('#groups');
10
+ var $content = $('#content');
11
+
12
+ // Menu
13
+
14
+ // Hide deep packages and namespaces
15
+ $('ul span', $groups).click(function(event) {
16
+ event.preventDefault();
17
+ event.stopPropagation();
18
+ $(this)
19
+ .toggleClass('collapsed')
20
+ .parent()
21
+ .next('ul')
22
+ .toggleClass('collapsed');
23
+ }).click();
24
+
25
+ $active = $('ul li.active', $groups);
26
+ if ($active.length > 0) {
27
+ // Open active
28
+ $('> a > span', $active).click();
29
+ } else {
30
+ $main = $('> ul > li.main', $groups);
31
+ if ($main.length > 0) {
32
+ // Open first level of the main project
33
+ $('> a > span', $main).click();
34
+ } else {
35
+ // Open first level of all
36
+ $('> ul > li > a > span', $groups).click();
37
+ }
38
+ }
39
+
40
+ // Content
41
+
42
+ // Search autocompletion
43
+ var autocompleteFound = false;
44
+ var autocompleteFiles = {'c': 'class', 'co': 'constant', 'f': 'function', 'm': 'class', 'mm': 'class', 'p': 'class', 'mp': 'class', 'cc': 'class'};
45
+ var $search = $('#search input[name=q]');
46
+ $search
47
+ .autocomplete(ApiGen.elements, {
48
+ matchContains: true,
49
+ scrollHeight: 200,
50
+ max: 20,
51
+ width: 300,
52
+ noRecord: '',
53
+ highlight: function(value, term) {
54
+ var term = term.toUpperCase().replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1").replace(/[A-Z0-9]/g, function(m, offset) {
55
+ return offset === 0 ? '(?:' + m + '|^' + m.toLowerCase() + ')' : '(?:(?:[^<>]|<[^<>]*>)*' + m + '|' + m.toLowerCase() + ')';
56
+ });
57
+ return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term + ")(?![^<>]*>)(?![^&;]+;)"), "<strong>$1</strong>");
58
+ },
59
+ formatItem: function(data) {
60
+ return data.length > 1 ? data[1].replace(/^(.+\\)(.+)$/, '<span><small>$1</small>$2</span>') : data[0];
61
+ },
62
+ formatMatch: function(data) {
63
+ return data[1];
64
+ },
65
+ formatResult: function(data) {
66
+ return data[1];
67
+ },
68
+ show: function($list) {
69
+ var $items = $('li span', $list);
70
+ var maxWidth = Math.max.apply(null, $items.map(function() {
71
+ return $(this).width();
72
+ }));
73
+ // 10px padding
74
+ $list.width(Math.max(maxWidth + 10, $search.innerWidth()));
75
+ }
76
+ }).result(function(event, data) {
77
+ autocompleteFound = true;
78
+ var location = window.location.href.split('/');
79
+ location.pop();
80
+ var parts = data[1].split(/::|$/);
81
+ var file = $.sprintf(ApiGen.config.templates[autocompleteFiles[data[0]]].filename, parts[0].replace(/\(\)/, '').replace(/[^\w]/g, '.'));
82
+ if (parts[1]) {
83
+ file += '#' + ('mm' === data[0] || 'mp' === data[0] ? 'm' : '') + parts[1].replace(/([\w]+)\(\)/, '_$1');
84
+ }
85
+ location.push(file);
86
+ window.location = location.join('/');
87
+
88
+ // Workaround for Opera bug
89
+ $(this).closest('form').attr('action', location.join('/'));
90
+ }).closest('form')
91
+ .submit(function() {
92
+ var query = $search.val();
93
+ if ('' === query) {
94
+ return false;
95
+ }
96
+ return !autocompleteFound && '' !== $('#search input[name=cx]').val();
97
+ });
98
+
99
+ // Save natural order
100
+ $('table.summary tr[data-order]', $content).each(function(index) {
101
+ do {
102
+ index = '0' + index;
103
+ } while (index.length < 3);
104
+ $(this).attr('data-order-natural', index);
105
+ });
106
+
107
+ // Switch between natural and alphabetical order
108
+ var $caption = $('table.summary', $content)
109
+ .filter(':has(tr[data-order])')
110
+ .prev('h2');
111
+ $caption
112
+ .click(function() {
113
+ var $this = $(this);
114
+ var order = $this.data('order') || 'natural';
115
+ order = 'natural' === order ? 'alphabetical' : 'natural';
116
+ $this.data('order', order);
117
+ $.cookie('order', order, {expires: 365});
118
+ var attr = 'alphabetical' === order ? 'data-order' : 'data-order-natural';
119
+ $this
120
+ .next('table')
121
+ .find('tr').sortElements(function(a, b) {
122
+ return $(a).attr(attr) > $(b).attr(attr) ? 1 : -1;
123
+ });
124
+ return false;
125
+ })
126
+ .addClass('switchable')
127
+ .attr('title', 'Switch between natural and alphabetical order');
128
+ if ((null === $.cookie('order') && 'alphabetical' === ApiGen.config.options.elementsOrder) || 'alphabetical' === $.cookie('order')) {
129
+ $caption.click();
130
+ }
131
+
132
+ // Open details
133
+ if (ApiGen.config.options.elementDetailsCollapsed) {
134
+ $(document.body).on('click', 'tr', function(ev) {
135
+
136
+ var short = this.querySelector('.short')
137
+ , detailed = this.querySelector('.detailed')
138
+
139
+ if (!short || !detailed) return
140
+
141
+ $(short).toggleClass('hidden')
142
+ $(detailed).toggleClass('hidden')
143
+
144
+ })
145
+ }
146
+
147
+ // Splitter
148
+ var splitterWidth = $splitter.width();
149
+ var splitterPosition = $.cookie('splitter') ? parseInt($.cookie('splitter')) : null;
150
+ var splitterPositionBackup = $.cookie('splitterBackup') ? parseInt($.cookie('splitterBackup')) : null;
151
+ function setSplitterPosition(position)
152
+ {
153
+ splitterPosition = position;
154
+
155
+ $left.width(position);
156
+ $right.css('margin-left', position + splitterWidth);
157
+ $splitter.css('left', position);
158
+ }
159
+ function setNavigationPosition()
160
+ {
161
+ var height = $(window).height() - navigationHeight;
162
+ $left.height(height);
163
+ $splitter.height(height);
164
+ $right.height(height);
165
+ }
166
+ function setContentWidth()
167
+ {
168
+ var width = $rightInner.width();
169
+ $rightInner
170
+ .toggleClass('medium', width <= 960)
171
+ .toggleClass('small', width <= 650);
172
+ }
173
+ $splitter.mousedown(function() {
174
+ $splitter.addClass('active');
175
+
176
+ $document.mousemove(function(event) {
177
+ if (event.pageX >= 230 && $document.width() - event.pageX >= 600 + splitterWidth) {
178
+ setSplitterPosition(event.pageX);
179
+ setContentWidth();
180
+ }
181
+ });
182
+
183
+ $()
184
+ .add($splitter)
185
+ .add($document)
186
+ .mouseup(function() {
187
+ $splitter
188
+ .removeClass('active')
189
+ .unbind('mouseup');
190
+ $document
191
+ .unbind('mousemove')
192
+ .unbind('mouseup');
193
+
194
+ $.cookie('splitter', splitterPosition, {expires: 365});
195
+ });
196
+
197
+ return false;
198
+ });
199
+ $splitter.dblclick(function() {
200
+ if (splitterPosition) {
201
+ splitterPositionBackup = $left.width();
202
+ setSplitterPosition(0);
203
+ } else {
204
+ setSplitterPosition(splitterPositionBackup);
205
+ splitterPositionBackup = null;
206
+ }
207
+
208
+ setContentWidth();
209
+
210
+ $.cookie('splitter', splitterPosition, {expires: 365});
211
+ $.cookie('splitterBackup', splitterPositionBackup, {expires: 365});
212
+ });
213
+ if (null !== splitterPosition) {
214
+ setSplitterPosition(splitterPosition);
215
+ }
216
+ setNavigationPosition();
217
+ setContentWidth();
218
+ $(window)
219
+ .resize(setNavigationPosition)
220
+ .resize(setContentWidth);
221
+
222
+ // Select selected lines
223
+ var matches = window.location.hash.substr(1).match(/^\d+(?:-\d+)?(?:,\d+(?:-\d+)?)*$/);
224
+ if (null !== matches) {
225
+ var lists = matches[0].split(',');
226
+ for (var i = 0; i < lists.length; i++) {
227
+ var lines = lists[i].split('-');
228
+ lines[0] = parseInt(lines[0]);
229
+ lines[1] = parseInt(lines[1] || lines[0]);
230
+ for (var j = lines[0]; j <= lines[1]; j++) {
231
+ $('#' + j).addClass('selected');
232
+ }
233
+ }
234
+
235
+ var $firstLine = $('#' + parseInt(matches[0]));
236
+ if ($firstLine.length > 0) {
237
+ $right.scrollTop($firstLine.position().top);
238
+ }
239
+ }
240
+
241
+ // Save selected lines
242
+ var lastLine;
243
+ $('.l a').click(function(event) {
244
+ event.preventDefault();
245
+
246
+ var selectedLine = $(this).parent().index() + 1;
247
+ var $selectedLine = $('pre.code .l').eq(selectedLine - 1);
248
+
249
+ if (event.shiftKey) {
250
+ if (lastLine) {
251
+ for (var i = Math.min(selectedLine, lastLine); i <= Math.max(selectedLine, lastLine); i++) {
252
+ $('#' + i).addClass('selected');
253
+ }
254
+ } else {
255
+ $selectedLine.addClass('selected');
256
+ }
257
+ } else if (event.ctrlKey) {
258
+ $selectedLine.toggleClass('selected');
259
+ } else {
260
+ var $selected = $('.l.selected')
261
+ .not($selectedLine)
262
+ .removeClass('selected');
263
+ if ($selected.length > 0) {
264
+ $selectedLine.addClass('selected');
265
+ } else {
266
+ $selectedLine.toggleClass('selected');
267
+ }
268
+ }
269
+
270
+ lastLine = $selectedLine.hasClass('selected') ? selectedLine : null;
271
+
272
+ // Update hash
273
+ var lines = $('.l.selected')
274
+ .map(function() {
275
+ return parseInt($(this).attr('id'));
276
+ })
277
+ .get()
278
+ .sort(function(a, b) {
279
+ return a - b;
280
+ });
281
+
282
+ var hash = [];
283
+ var list = [];
284
+ for (var j = 0; j < lines.length; j++) {
285
+ if (0 === j && j + 1 === lines.length) {
286
+ hash.push(lines[j]);
287
+ } else if (0 === j) {
288
+ list[0] = lines[j];
289
+ } else if (lines[j - 1] + 1 !== lines[j] && j + 1 === lines.length) {
290
+ hash.push(list.join('-'));
291
+ hash.push(lines[j]);
292
+ } else if (lines[j - 1] + 1 !== lines[j]) {
293
+ hash.push(list.join('-'));
294
+ list = [lines[j]];
295
+ } else if (j + 1 === lines.length) {
296
+ list[1] = lines[j];
297
+ hash.push(list.join('-'));
298
+ } else {
299
+ list[1] = lines[j];
300
+ }
301
+ }
302
+
303
+ hash = hash.join(',');
304
+ $backup = $('#' + hash).removeAttr('id');
305
+ window.location.hash = hash;
306
+ $backup.attr('id', hash);
307
+ });
308
+ });
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/namespace.latte ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {layout '@layout.latte'}
2
+ {var $active = 'namespace'}
3
+
4
+ {block title}{if $namespace != 'None'}Namespace {$namespace}{else}No namespace{/if}{/block}
5
+
6
+ {block content}
7
+ <div id="content" class="namespace">
8
+ <h1>{if $namespace != 'None'}Namespace {$namespace|namespaceLinks:false|noescape}{else}No namespace{/if}</h1>
9
+
10
+ {if $subnamespaces}
11
+ <div class="panel panel-default">
12
+ <div class="panel-heading"><h2>Namespaces summary</h2></div>
13
+ <table class="summary table table-bordered table-striped" id="namespaces">
14
+ <tr n:foreach="$subnamespaces as $namespace">
15
+ <td class="name"><a href="{$namespace|namespaceUrl}">{$namespace}</a></td>
16
+ </tr>
17
+ </table>
18
+ </div>
19
+ {/if}
20
+
21
+ {include '@elementlist.latte'}
22
+ </div>
23
+ {/block}
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/opensearch.xml.latte ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {contentType xml}
2
+ <?xml version="1.0" encoding="UTF-8"?>
3
+ <OpenSearchDescription xmlns="https://a9.com/-/spec/opensearch/1.1/">
4
+ <ShortName>{$config->title}</ShortName>
5
+ <Description>{$config->title} Documentation</Description>
6
+ <Url type="text/html" method="GET" template="https://www.google.com/cse?cx={$config->googleCseId|url}&amp;ie=UTF-8&amp;q={l}searchTerms{r}"/>
7
+ <Image width="16" height="16">{$config->baseUrl}/favicon.ico</Image>
8
+ <SyndicationRight>open</SyndicationRight>
9
+ <InputEncoding>UTF-8</InputEncoding>
10
+ <OutputEncoding>UTF-8</OutputEncoding>
11
+ </OpenSearchDescription>
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/overview.latte ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {layout '@layout.latte'}
2
+ {var $active = 'overview'}
3
+
4
+ {block title}{$config->title ?: 'Overview'}{/block}
5
+
6
+ {block content}
7
+ <div id="content">
8
+ <h1>{include title}</h1>
9
+
10
+ {var $group = false}
11
+
12
+ {if count($namespaces)}
13
+ <div class="panel panel-default">
14
+ <div class="panel-heading"><h2>Namespaces summary</h2></div>
15
+ <table class="summary table table-bordered table-striped" id="namespaces">
16
+ {foreach $namespaces as $namespace}
17
+ {continueIf $config->main && 0 !== strpos($namespace, $config->main)}
18
+ <tr>
19
+ {var $group = true}
20
+ <td class="name"><a href="{$namespace|namespaceUrl}">{$namespace}</a></td>
21
+ </tr>
22
+ {/foreach}
23
+ </table>
24
+ </div>
25
+ {/if}
26
+
27
+ {if count($packages)}
28
+ <div class="panel panel-default">
29
+ <div class="panel-heading"><h2>Packages summary</h2></div>
30
+ <table class="summary table table-bordered table-striped" id="packages">
31
+ {foreach $packages as $package}
32
+ {continueIf $config->main && 0 !== strpos($package, $config->main)}
33
+ <tr>
34
+ {var $group = true}
35
+ <td class="name">
36
+ <a href="{$package|packageUrl}">{$package}</a>
37
+ </td>
38
+ </tr>
39
+ {/foreach}
40
+ </table>
41
+ </div>
42
+ {/if}
43
+
44
+ {if ! $group}
45
+ {include '@elementlist.latte'}
46
+ {/if}
47
+ </div>
48
+ {/block}
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/package.latte ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {layout '@layout.latte'}
2
+ {var $active = 'package'}
3
+
4
+ {block title}{if $package != 'None'}Package {$package}{else}No package{/if}{/block}
5
+
6
+ {block content}
7
+ <div id="content" class="package">
8
+ <h1>{if $package != 'None'}Package {$package|packageLinks:false|noescape}{else}No package{/if}</h1>
9
+
10
+ {if $subpackages}
11
+ <div class="panel panel-default">
12
+ <div class="panel-heading"><h2>Packages summary</h2></div>
13
+ <table class="summary table table-bordered table-striped" id="packages">
14
+ <tr n:foreach="$subpackages as $package">
15
+ <td class="name"><a href="{$package|packageUrl}">{$package}</a></td>
16
+ </tr>
17
+ </table>
18
+ </div>
19
+ {/if}
20
+
21
+ {include '@elementlist.latte'}
22
+ </div>
23
+ {/block}
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/bootstrap.min.css ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v3.3.2 (http://getbootstrap.com)
3
+ * Copyright 2011-2015 Twitter, Inc.
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{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}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.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-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-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-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.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{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.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{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.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{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px \9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:30px;line-height:30px}select[multiple].form-group-sm .form-control,textarea.form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;padding:5px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:46px;line-height:46px}select[multiple].form-group-lg .form-control,textarea.form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.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:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important;visibility:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-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-image:-o-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-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);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-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-image:-o-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-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)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-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-image:-o-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-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)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-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-image:-o-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-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)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-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-image:-o-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-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)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.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.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:absolute;top:0;right:0;left:0;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;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;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/collapsed.png ADDED
Binary file
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/inherit.png ADDED
Binary file
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/resize.png ADDED
Binary file
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/sort.png ADDED
Binary file
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/style.css ADDED
@@ -0,0 +1,568 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ body {
2
+ padding: 50px 0 0 0;
3
+ }
4
+
5
+ h1 {
6
+ font-size: 2em;
7
+ margin: 0.67em 0;
8
+ }
9
+
10
+ h2 {
11
+ font-size: 1.5em;
12
+ margin: 0.83em 0;
13
+ }
14
+
15
+ h3 {
16
+ font-size: 1.17em;
17
+ margin: 1em 0 0.2em 0;
18
+ }
19
+
20
+ h4 {
21
+ font-size: 100%;
22
+ margin: 0;
23
+ padding: 0;
24
+ }
25
+
26
+ .panel-heading h2,
27
+ .panel-heading h3 {
28
+ margin-top: 0;
29
+ margin-bottom: 0;
30
+ }
31
+
32
+ .panel > p {
33
+ margin: 10px;
34
+ }
35
+
36
+ ul, ol {
37
+ margin-bottom: 0;
38
+ }
39
+
40
+ a, a:hover {
41
+ text-decoration: none;
42
+ }
43
+
44
+ var {
45
+ font-weight: bold;
46
+ font-style: normal;
47
+ color: #c09853;
48
+ }
49
+
50
+ code {
51
+ color: #000;
52
+ white-space: nowrap;
53
+ border: none;
54
+ background: transparent;
55
+ padding: 0
56
+ }
57
+
58
+ code:empty {
59
+ display: none;
60
+ }
61
+
62
+ code a b {
63
+ color: #000;
64
+ }
65
+
66
+ pre code {
67
+ white-space: pre;
68
+ }
69
+
70
+ .deprecated {
71
+ text-decoration: line-through;
72
+ opacity: .5;
73
+ }
74
+
75
+ .invalid {
76
+ color: #dd1144;
77
+ }
78
+
79
+ .hidden {
80
+ display: none;
81
+ }
82
+
83
+ /* Left side */
84
+ #left {
85
+ overflow: auto;
86
+ width: 270px;
87
+ height: 100%;
88
+ position: fixed;
89
+ }
90
+
91
+ /* Menu */
92
+ #menu {
93
+ padding: 10px;
94
+ overflow-x: hidden;
95
+ }
96
+
97
+ #menu h3 {
98
+ border-bottom: 1px solid #E7E7E7;
99
+ margin-left: -10px;
100
+ margin-right: -10px;
101
+ padding: 0 10px 5px 10px;
102
+ }
103
+
104
+ #menu ul {
105
+ list-style: none;
106
+ padding: 0;
107
+ margin: 0;
108
+ }
109
+
110
+ #menu ul ul {
111
+ padding-left: 10px;
112
+ }
113
+
114
+ #menu li {
115
+ white-space: nowrap;
116
+ position: relative;
117
+ }
118
+
119
+ #menu a {
120
+ display: block;
121
+ padding: 3px;
122
+ border-radius: 3px;
123
+ width: 100%;
124
+ overflow: hidden;
125
+ text-overflow: ellipsis;
126
+ }
127
+
128
+ #menu a:hover {
129
+ background-color: #0088cc;
130
+ color: #fff !important;
131
+ }
132
+
133
+ #menu .active > a {
134
+ font-weight: bold;
135
+ color: #000;
136
+ }
137
+
138
+ #menu .active > a.invalid {
139
+ color: #dd1144;
140
+ }
141
+
142
+ #menu #groups span {
143
+ position: absolute;
144
+ top: 6px;
145
+ right: 3px;
146
+ cursor: pointer;
147
+ display: block;
148
+ width: 12px;
149
+ height: 12px;
150
+ background: url('collapsed.png') transparent 0 0 no-repeat;
151
+ }
152
+
153
+ #menu #groups span:hover {
154
+ background-position: -12px 0;
155
+ }
156
+
157
+ #menu #groups span.collapsed {
158
+ background-position: 0 -12px;
159
+ }
160
+
161
+ #menu #groups span.collapsed:hover {
162
+ background-position: -12px -12px;
163
+ }
164
+
165
+ #menu #groups ul.collapsed {
166
+ display: none;
167
+ }
168
+
169
+ /* Autocomplete */
170
+ .ac_results {
171
+ border-radius: 4px;
172
+ margin-top: 2px;
173
+ background-color: #fff;
174
+ border: 1px solid #E7E7E7;
175
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
176
+ overflow: hidden;
177
+ z-index: 99999;
178
+ }
179
+
180
+ .ac_results ul {
181
+ display: block;
182
+ list-style: none;
183
+ padding: 0;
184
+ margin: 0;
185
+ }
186
+
187
+ .ac_results li {
188
+ margin: 0;
189
+ padding: 0 5px;
190
+ line-height: 2;
191
+ cursor: default;
192
+ display: block;
193
+ overflow: hidden;
194
+ white-space: nowrap;
195
+ text-overflow: ellipsis;
196
+ }
197
+
198
+ .ac_results li strong {
199
+ color: #000;
200
+ }
201
+
202
+ .ac_over {
203
+ background-color: #0088cc;
204
+ color: #fff;
205
+ }
206
+
207
+ .ac_results li.ac_over strong {
208
+ color: #fff;
209
+ }
210
+
211
+
212
+ /* Right side */
213
+ #right {
214
+ overflow: auto;
215
+ margin-left: 275px;
216
+ height: 100%;
217
+ position: relative;
218
+ left: 0;
219
+ right: 0;
220
+ }
221
+
222
+ #rightInner {
223
+ max-width: 1000px;
224
+ min-width: 350px;
225
+ }
226
+
227
+ /* Navigation */
228
+
229
+ #navigation {
230
+ margin-bottom: 0;
231
+ }
232
+
233
+ .navbar .nav > li > span {
234
+ position: relative;
235
+ display: block;
236
+ color: #777;
237
+ line-height: 20px;
238
+ padding: 15px;
239
+ }
240
+
241
+ .navbar .nav > li.active > span {
242
+ background-color: #E7E7E7;
243
+ color: #555;
244
+ }
245
+
246
+ /* Content */
247
+ #content {
248
+ clear: both;
249
+ padding: 5px 15px;
250
+ }
251
+
252
+ #content > .description {
253
+ margin: 1.2em 0;
254
+ }
255
+
256
+ #content .alert-info {
257
+ margin-top: 18px;
258
+ }
259
+
260
+ dl.tree {
261
+ margin: 1.2em 0;
262
+ padding: 10px;
263
+ }
264
+
265
+ dl.tree dd {
266
+ margin: 0;
267
+ padding: 0;
268
+ line-height: 18px;
269
+ }
270
+
271
+ .elementList {
272
+ line-height: 24px;
273
+ }
274
+
275
+ h2.switchable {
276
+ background: transparent url('sort.png') no-repeat center right;
277
+ cursor: pointer;
278
+ }
279
+
280
+ .summary td:first-child {
281
+ text-align: right;
282
+ }
283
+
284
+ .summary td hr {
285
+ margin: 8px -8px;
286
+ }
287
+
288
+ #packages.summary td:first-child, #namespaces.summary td:first-child, .inherited.summary td:first-child, .used.summary td:first-child {
289
+ text-align: left;
290
+ }
291
+
292
+ .summary tr:hover td {
293
+ background: #f6f6f4;
294
+ }
295
+
296
+ .summary .description p {
297
+ margin: 0;
298
+ }
299
+
300
+ .class #methods.summary .description p:first-child, .summary .description.detailed h4:first-child {
301
+ margin-top: 8px;
302
+ }
303
+
304
+ .summary .description p + p, .summary .description ul, .summary .description pre, .summary .description.detailed h4 {
305
+ margin-top: 4px;
306
+ }
307
+
308
+ .summary dl {
309
+ margin: 0;
310
+ }
311
+
312
+ .summary dd {
313
+ margin: 0 0 0 25px;
314
+ }
315
+
316
+ .summary dt, dd {
317
+ line-height: 24px;
318
+ }
319
+
320
+ .name, .attributes {
321
+ white-space: nowrap;
322
+ }
323
+
324
+ .value code {
325
+ white-space: pre-wrap;
326
+ }
327
+
328
+ td.name, td.attributes {
329
+ width: 1%;
330
+ }
331
+
332
+ .class .methods .name, .class .properties .name, .class .constants .name {
333
+ width: auto;
334
+ white-space: normal;
335
+ }
336
+
337
+ .class .methods .name > div > code {
338
+ white-space: pre-wrap;
339
+ }
340
+
341
+ .class .methods .name > div > code span, .function .value > code {
342
+ white-space: nowrap;
343
+ display: inline-block;
344
+ }
345
+
346
+ .class .methods td.name > div, .class td.value > div {
347
+ position: relative;
348
+ padding-right: 1em;
349
+ }
350
+
351
+ .attributes code, .name code, dd code {
352
+ color: #468847;
353
+ }
354
+
355
+ .anchor {
356
+ position: absolute;
357
+ top: 0;
358
+ right: 0;
359
+ line-height: 1;
360
+ font-size: 85%;
361
+ margin: 0;
362
+ color: #0088cc !important;
363
+ }
364
+
365
+ .list {
366
+ margin: 0 0 5px 25px;
367
+ line-height: 24px;
368
+ }
369
+
370
+ /* Splitter */
371
+ #splitter {
372
+ position: fixed;
373
+ height: 100%;
374
+ width: 5px;
375
+ left: 270px;
376
+ background: #E7E7E7 url('resize.png') left center no-repeat;
377
+ cursor: e-resize;
378
+ }
379
+
380
+ #splitter.active {
381
+ opacity: .5;
382
+ }
383
+
384
+ /* Footer */
385
+ #footer {
386
+ border-top: 1px solid #e5e5e5;
387
+ clear: both;
388
+ color: #808080;
389
+ text-align: right;
390
+ padding: 2em 1em;
391
+ margin: 3em 0 40px 0;
392
+ }
393
+
394
+ /* Tree */
395
+ div.tree ul {
396
+ list-style: none;
397
+ background: url('tree-vertical.png') left repeat-y;
398
+ padding: 0;
399
+ margin-left: 20px;
400
+ }
401
+
402
+ div.tree li {
403
+ margin: 0;
404
+ padding: 0;
405
+ }
406
+
407
+ div.tree div {
408
+ padding-left: 30px;
409
+ }
410
+
411
+ div.tree div.notlast {
412
+ background: url('tree-hasnext.png') left 10px no-repeat;
413
+ }
414
+
415
+ div.tree div.last {
416
+ background: url('tree-last.png') left -240px no-repeat;
417
+ }
418
+
419
+ div.tree li.last {
420
+ background: url('tree-cleaner.png') left center repeat-y;
421
+ }
422
+
423
+ div.tree span.padding {
424
+ padding-left: 15px;
425
+ }
426
+
427
+ /* Source code */
428
+ #source {
429
+ margin: 1em 0 1em 1em;
430
+ border: 1px solid #ccc;
431
+ border-radius: 4px;
432
+ overflow: auto;
433
+ }
434
+
435
+ #source pre {
436
+ padding: 0;
437
+ border: none;
438
+ overflow: visible;
439
+ }
440
+
441
+ #source .numbers {
442
+ float: left;
443
+ background-color: transparent;
444
+ }
445
+
446
+ #source .code {
447
+
448
+ }
449
+
450
+ .php-keyword1 {
451
+ color: #468847;
452
+ font-weight: bold;
453
+ }
454
+
455
+ .php-keyword2 {
456
+ font-weight: bold;
457
+ }
458
+
459
+ .php-var {
460
+ color: #c09853;
461
+ font-weight: bold;
462
+ }
463
+
464
+ .php-num {
465
+ color: #006dcc;
466
+ }
467
+
468
+ .php-quote {
469
+ color: #006dcc;
470
+ }
471
+
472
+ .php-comment {
473
+ color: #929292;
474
+ }
475
+
476
+ .xlang {
477
+ color: #468847;
478
+ font-weight: bold;
479
+ }
480
+
481
+ span.l {
482
+ display: block;
483
+ }
484
+
485
+ span.l.selected {
486
+ background: #f9f2d2;
487
+ }
488
+
489
+ span.l a {
490
+ color: #333333;
491
+ }
492
+
493
+ span.l a:hover, span.l a:active, span.l a:focus {
494
+ background: transparent;
495
+ color: #333333 !important;
496
+ }
497
+
498
+ span.l .php-var a {
499
+ color: #c09853;
500
+ }
501
+
502
+ span.l .php-var a:hover, span.l .php-var a:active, span.l .php-var a:focus {
503
+ color: #c09853 !important;
504
+ }
505
+
506
+ span.l a.l {
507
+ background: #fbfbfc;
508
+ margin-right: 8px;
509
+ padding: 2px 2px 2px 8px;
510
+ color: #c0c0c0;
511
+ }
512
+
513
+ span.l a.l:hover, span.l a.l:active, span.l a.l:focus {
514
+ background: #fbfbfc;
515
+ color: #c0c0c0 !important;
516
+ }
517
+
518
+ /* Small screens */
519
+ #rightInner.medium .name, #rightInner.medium .attributes {
520
+ white-space: normal;
521
+ }
522
+
523
+ /* global style */
524
+ .left, .summary td.left {
525
+ text-align: left;
526
+ }
527
+ .right, .summary td.right {
528
+ text-align: right;
529
+ }
530
+
531
+ #menu #logo {
532
+ margin: -10px 0px 0 -10px;
533
+ display: block;
534
+ overflow: hidden;
535
+ padding: 0;
536
+ height: 113px;
537
+ background: #fdac5f;
538
+ width: 120%;
539
+ }
540
+
541
+ #logo:before {
542
+ content: '';
543
+ display: block;
544
+ background: #fdac5f;
545
+ height: 60px;
546
+ width: 100%;
547
+ position: absolute;
548
+ top: 0;
549
+ left: 0;
550
+ margin-left: 200px;
551
+ }
552
+
553
+ #logo:after {
554
+ content: '';
555
+ display: block;
556
+ background: #fdac5f;
557
+ height: 60px;
558
+ width: 100%;
559
+ position: absolute;
560
+ top: 53px;
561
+ left: 0;
562
+ margin-left: 100px;
563
+ }
564
+
565
+ #logo img {
566
+ margin: -18px 0 0 -18px;
567
+ background: #fdac5f;
568
+ }
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/tree-cleaner.png ADDED
Binary file
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/tree-hasnext.png ADDED
Binary file
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/tree-last.png ADDED
Binary file
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/tree-vertical.png ADDED
Binary file
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/robots.txt.latte ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ {contentType text}
2
+ User-agent: *
3
+ Disallow:
4
+ Sitemap: {$config->baseUrl}/sitemap.xml
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/sitemap.xml.latte ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {contentType xml}
2
+ <?xml version="1.0" encoding="UTF-8"?>
3
+ <urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9/">
4
+ <url>
5
+ <loc>{$config->baseUrl}/index.html</loc>
6
+ </url>
7
+ <url n:foreach="$namespaces as $namespace">
8
+ <loc>{$config->baseUrl}/{$namespace|namespaceUrl}</loc>
9
+ </url>
10
+ <url n:foreach="$packages as $package">
11
+ <loc>{$config->baseUrl}/{$package|packageUrl}</loc>
12
+ </url>
13
+
14
+ {define elements}
15
+ <url n:foreach="$elements as $element">
16
+ <loc>{$config->baseUrl}/{$element|elementUrl}</loc>
17
+ </url>
18
+ {/define}
19
+
20
+ {include elements, elements => $classes}
21
+ {include elements, elements => $interfaces}
22
+ {include elements, elements => $traits}
23
+ {include elements, elements => $exceptions}
24
+ {include elements, elements => $constants}
25
+ {include elements, elements => $functions}
26
+ </urlset>
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/source.latte ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {layout '@layout.latte'}
2
+ {var $robots = false}
3
+
4
+ {block title}File {$fileName}{/block}
5
+
6
+ {block content}
7
+ <div id="source">
8
+ {var $lineRegex = '~<span class="line">(\s*)(\d+):(\s*)</span>([^\\n]*(?:\\n|$))~'}
9
+ <pre class="numbers"><code>{$source|replaceRE:$lineRegex,'<span class="l"><a href="#$2">$1$2$3</a></span>'|noescape}</code></pre>
10
+ <pre class="code"><code>{$source|replaceRE:$lineRegex,'<span id="$2" class="l">$4</span>'|noescape}</code></pre>
11
+ </div>
12
+ {/block}
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/tree.latte ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {layout '@layout.latte'}
2
+ {var $active = 'tree'}
3
+
4
+ {block title}Tree{/block}
5
+
6
+ {define tree}
7
+ <div class="tree">
8
+ <ul>
9
+ {var $level = -1}
10
+ {foreach $tree as $reflectionName => $reflection|noiterator}
11
+ {if $level === $tree->getDepth()}
12
+ </li>
13
+ {elseif $level > $tree->getDepth()}
14
+ {='</ul></li>'|repeat:$level - $tree->getDepth()|noescape}
15
+ {elseif -1 !== $level}
16
+ <ul>
17
+ {/if}
18
+
19
+ <li n:class="!$tree->hasSibling() ? last"><div class="{if $tree->hasSibling()}not{/if}last"><a href="{$reflectionName|classUrl}" n:tag-if="$reflection->documented"><span n:class="$reflection->deprecated ? deprecated, !$reflection->valid ? invalid">{$reflectionName}</span></a>
20
+ {var $interfaces = $reflection->ownInterfaces}
21
+ {if $interfaces} implements {foreach $interfaces as $interface}
22
+ <a href="{$interface|classUrl}" n:tag-if="$interface->documented"><span n:class="$interface->deprecated ? deprecated, !$interface->valid ? invalid">{$interface->name}</span></a>{sep}, {/sep}
23
+ {/foreach}{/if}
24
+ {var $traits = $reflection->ownTraits}
25
+ {if $traits}{if $interfaces}<br><span class="padding"></span>{/if} uses {foreach $traits as $trait}
26
+ {if is_string($trait)}
27
+ {$trait} (not available)
28
+
29
+ {else}
30
+ <a href="{$trait|classUrl}" n:tag-if="$trait->documented"><span n:class="$trait->deprecated ? deprecated, !$trait->valid ? invalid">{$trait->name}</span></a>{sep}, {/sep}
31
+ {/}
32
+ {/foreach}{/if}
33
+ </div>
34
+
35
+ {var $level = $tree->getDepth()}
36
+ {/foreach}
37
+ </li>
38
+ {='</ul></li>'|repeat:$level|noescape}
39
+ </ul>
40
+ </div>
41
+ {/define}
42
+
43
+ {block content}
44
+ <div id="content">
45
+ <h1>{include title}</h1>
46
+
47
+ {if $classTree->valid()}
48
+ <h2>Classes</h2>
49
+ {include tree, tree => $classTree}
50
+ {/if}
51
+
52
+ {if $interfaceTree->valid()}
53
+ <h2>Interfaces</h2>
54
+ {include tree, tree => $interfaceTree}
55
+ {/if}
56
+
57
+ {if $traitTree->valid()}
58
+ <h2>Traits</h2>
59
+ {include tree, tree => $traitTree}
60
+ {/if}
61
+
62
+ {if $exceptionTree->valid()}
63
+ <h2>Exceptions</h2>
64
+ {include tree, tree => $exceptionTree}
65
+ {/if}
66
+ </div>
67
+ {/block}
vendor/{webdevstudios → cmb2}/cmb2/bootstrap.php RENAMED
File without changes
vendor/cmb2/cmb2/composer.lock ADDED
@@ -0,0 +1,3627 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_readme": [
3
+ "This file locks the dependencies of your project to a known state",
4
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
+ "This file is @generated automatically"
6
+ ],
7
+ "content-hash": "8af7864611a9790db31e9d7da80ba44a",
8
+ "packages": [],
9
+ "packages-dev": [
10
+ {
11
+ "name": "andrewsville/php-token-reflection",
12
+ "version": "1.4.0",
13
+ "source": {
14
+ "type": "git",
15
+ "url": "https://github.com/Andrewsville/PHP-Token-Reflection.git",
16
+ "reference": "e6d0ac2baf66cdf154be34c3d2a2aa1bd4b426ee"
17
+ },
18
+ "dist": {
19
+ "type": "zip",
20
+ "url": "https://api.github.com/repos/Andrewsville/PHP-Token-Reflection/zipball/e6d0ac2baf66cdf154be34c3d2a2aa1bd4b426ee",
21
+ "reference": "e6d0ac2baf66cdf154be34c3d2a2aa1bd4b426ee",
22
+ "shasum": ""
23
+ },
24
+ "require": {
25
+ "ext-tokenizer": "*",
26
+ "php": ">=5.3.0"
27
+ },
28
+ "type": "library",
29
+ "autoload": {
30
+ "psr-0": {
31
+ "TokenReflection": "./"
32
+ }
33
+ },
34
+ "notification-url": "https://packagist.org/downloads/",
35
+ "license": [
36
+ "BSD-3"
37
+ ],
38
+ "authors": [
39
+ {
40
+ "name": "Ondřej Nešpor",
41
+ "homepage": "https://github.com/andrewsville"
42
+ },
43
+ {
44
+ "name": "Jaroslav Hanslík",
45
+ "homepage": "https://github.com/kukulich"
46
+ }
47
+ ],
48
+ "description": "Library emulating the PHP internal reflection using just the tokenized source code.",
49
+ "homepage": "http://andrewsville.github.com/PHP-Token-Reflection/",
50
+ "keywords": [
51
+ "library",
52
+ "reflection",
53
+ "tokenizer"
54
+ ],
55
+ "time": "2014-08-06T16:37:08+00:00"
56
+ },
57
+ {
58
+ "name": "apigen/apigen",
59
+ "version": "v4.1.2",
60
+ "source": {
61
+ "type": "git",
62
+ "url": "https://github.com/ApiGen/ApiGen.git",
63
+ "reference": "3365433ea3433b0e5c8f763608f8e63cbedb2a3a"
64
+ },
65
+ "dist": {
66
+ "type": "zip",
67
+ "url": "https://api.github.com/repos/ApiGen/ApiGen/zipball/3365433ea3433b0e5c8f763608f8e63cbedb2a3a",
68
+ "reference": "3365433ea3433b0e5c8f763608f8e63cbedb2a3a",
69
+ "shasum": ""
70
+ },
71
+ "require": {
72
+ "andrewsville/php-token-reflection": "~1.4",
73
+ "apigen/theme-bootstrap": "~1.1.2",
74
+ "apigen/theme-default": "~1.0.1",
75
+ "herrera-io/phar-update": "~2.0",
76
+ "kdyby/events": "~2.0",
77
+ "kukulich/fshl": "~2.1",
78
+ "latte/latte": ">=2.2.0,<2.3.5",
79
+ "michelf/php-markdown": "~1.4",
80
+ "nette/application": "~2.2",
81
+ "nette/bootstrap": "~2.2",
82
+ "nette/di": "~2.2",
83
+ "nette/mail": "~2.2",
84
+ "nette/neon": "~2.2",
85
+ "nette/robot-loader": "~2.2",
86
+ "nette/safe-stream": "~2.2",
87
+ "php": ">=5.4",
88
+ "symfony/console": "~2.6",
89
+ "symfony/options-resolver": "~2.6.1",
90
+ "symfony/yaml": "~2.6",
91
+ "tracy/tracy": "~2.2"
92
+ },
93
+ "require-dev": {
94
+ "herrera-io/box": "~1.6",
95
+ "mockery/mockery": "~0.9"
96
+ },
97
+ "bin": [
98
+ "bin/apigen"
99
+ ],
100
+ "type": "library",
101
+ "extra": {
102
+ "branch-alias": {
103
+ "dev-master": "4.1.0-dev"
104
+ }
105
+ },
106
+ "autoload": {
107
+ "psr-4": {
108
+ "ApiGen\\": "src"
109
+ }
110
+ },
111
+ "notification-url": "https://packagist.org/downloads/",
112
+ "license": [
113
+ "MIT"
114
+ ],
115
+ "authors": [
116
+ {
117
+ "name": "David Grudl",
118
+ "homepage": "http://davidgrudl.com"
119
+ },
120
+ {
121
+ "name": "Ondřej Nešpor",
122
+ "homepage": "https://github.com/andrewsville"
123
+ },
124
+ {
125
+ "name": "Jaroslav Hanslík",
126
+ "homepage": "https://github.com/kukulich"
127
+ },
128
+ {
129
+ "name": "Tomas Votruba",
130
+ "email": "tomas.vot@gmail.com"
131
+ },
132
+ {
133
+ "name": "Olivier Laviale",
134
+ "homepage": "https://github.com/olvlvl"
135
+ }
136
+ ],
137
+ "description": "PHP source code API generator",
138
+ "homepage": "http://apigen.org/",
139
+ "keywords": [
140
+ "api",
141
+ "documentation",
142
+ "generator",
143
+ "phpdoc"
144
+ ],
145
+ "time": "2015-11-29T20:11:30+00:00"
146
+ },
147
+ {
148
+ "name": "apigen/theme-bootstrap",
149
+ "version": "v1.1.3",
150
+ "source": {
151
+ "type": "git",
152
+ "url": "https://github.com/ApiGen/ThemeBootstrap.git",
153
+ "reference": "55a35b4a3a9a5fcaa6a8fc43fb304983cab98c6c"
154
+ },
155
+ "dist": {
156
+ "type": "zip",
157
+ "url": "https://api.github.com/repos/ApiGen/ThemeBootstrap/zipball/55a35b4a3a9a5fcaa6a8fc43fb304983cab98c6c",
158
+ "reference": "55a35b4a3a9a5fcaa6a8fc43fb304983cab98c6c",
159
+ "shasum": ""
160
+ },
161
+ "require": {
162
+ "latte/latte": "~2.2"
163
+ },
164
+ "type": "library",
165
+ "notification-url": "https://packagist.org/downloads/",
166
+ "license": [
167
+ "MIT"
168
+ ],
169
+ "authors": [
170
+ {
171
+ "name": "Tomáš Votruba",
172
+ "email": "tomas.vot@gmail.com"
173
+ },
174
+ {
175
+ "name": "Olivier Laviale",
176
+ "homepage": "https://github.com/olvlvl"
177
+ }
178
+ ],
179
+ "description": "Twitter Bootstrap theme for ApiGen",
180
+ "homepage": "http://apigen.org/",
181
+ "abandoned": "apigen/apigen",
182
+ "time": "2015-10-11T14:52:50+00:00"
183
+ },
184
+ {
185
+ "name": "apigen/theme-default",
186
+ "version": "v1.0.2",
187
+ "source": {
188
+ "type": "git",
189
+ "url": "https://github.com/ApiGen/ThemeDefault.git",
190
+ "reference": "51648cf83645d9ae6c655fe46bcd26a347d45336"
191
+ },
192
+ "dist": {
193
+ "type": "zip",
194
+ "url": "https://api.github.com/repos/ApiGen/ThemeDefault/zipball/51648cf83645d9ae6c655fe46bcd26a347d45336",
195
+ "reference": "51648cf83645d9ae6c655fe46bcd26a347d45336",
196
+ "shasum": ""
197
+ },
198
+ "require": {
199
+ "latte/latte": "~2.2"
200
+ },
201
+ "type": "library",
202
+ "notification-url": "https://packagist.org/downloads/",
203
+ "license": [
204
+ "MIT"
205
+ ],
206
+ "authors": [
207
+ {
208
+ "name": "David Grudl",
209
+ "homepage": "http://davidgrudl.com"
210
+ },
211
+ {
212
+ "name": "Ondřej Nešpor",
213
+ "homepage": "https://github.com/andrewsville"
214
+ },
215
+ {
216
+ "name": "Jaroslav Hanslík",
217
+ "homepage": "https://github.com/kukulich"
218
+ },
219
+ {
220
+ "name": "Tomáš Votruba",
221
+ "email": "tomas.vot@gmail.com"
222
+ },
223
+ {
224
+ "name": "Olivier Laviale",
225
+ "homepage": "https://github.com/olvlvl"
226
+ }
227
+ ],
228
+ "description": "Default theme for ApiGen",
229
+ "homepage": "http://apigen.org/",
230
+ "abandoned": "apigen/apigen",
231
+ "time": "2015-10-11T14:55:30+00:00"
232
+ },
233
+ {
234
+ "name": "doctrine/instantiator",
235
+ "version": "1.1.0",
236
+ "source": {
237
+ "type": "git",
238
+ "url": "https://github.com/doctrine/instantiator.git",
239
+ "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"
240
+ },
241
+ "dist": {
242
+ "type": "zip",
243
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
244
+ "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
245
+ "shasum": ""
246
+ },
247
+ "require": {
248
+ "php": "^7.1"
249
+ },
250
+ "require-dev": {
251
+ "athletic/athletic": "~0.1.8",
252
+ "ext-pdo": "*",
253
+ "ext-phar": "*",
254
+ "phpunit/phpunit": "^6.2.3",
255
+ "squizlabs/php_codesniffer": "^3.0.2"
256
+ },
257
+ "type": "library",
258
+ "extra": {
259
+ "branch-alias": {
260
+ "dev-master": "1.2.x-dev"
261
+ }
262
+ },
263
+ "autoload": {
264
+ "psr-4": {
265
+ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
266
+ }
267
+ },
268
+ "notification-url": "https://packagist.org/downloads/",
269
+ "license": [
270
+ "MIT"
271
+ ],
272
+ "authors": [
273
+ {
274
+ "name": "Marco Pivetta",
275
+ "email": "ocramius@gmail.com",
276
+ "homepage": "http://ocramius.github.com/"
277
+ }
278
+ ],
279
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
280
+ "homepage": "https://github.com/doctrine/instantiator",
281
+ "keywords": [
282
+ "constructor",
283
+ "instantiate"
284
+ ],
285
+ "time": "2017-07-22T11:58:36+00:00"
286
+ },
287
+ {
288
+ "name": "herrera-io/json",
289
+ "version": "1.0.3",
290
+ "source": {
291
+ "type": "git",
292
+ "url": "https://github.com/kherge-php/json.git",
293
+ "reference": "60c696c9370a1e5136816ca557c17f82a6fa83f1"
294
+ },
295
+ "dist": {
296
+ "type": "zip",
297
+ "url": "https://api.github.com/repos/kherge-php/json/zipball/60c696c9370a1e5136816ca557c17f82a6fa83f1",
298
+ "reference": "60c696c9370a1e5136816ca557c17f82a6fa83f1",
299
+ "shasum": ""
300
+ },
301
+ "require": {
302
+ "ext-json": "*",
303
+ "justinrainbow/json-schema": ">=1.0,<2.0-dev",
304
+ "php": ">=5.3.3",
305
+ "seld/jsonlint": ">=1.0,<2.0-dev"
306
+ },
307
+ "require-dev": {
308
+ "herrera-io/phpunit-test-case": "1.*",
309
+ "mikey179/vfsstream": "1.1.0",
310
+ "phpunit/phpunit": "3.7.*"
311
+ },
312
+ "type": "library",
313
+ "extra": {
314
+ "branch-alias": {
315
+ "dev-master": "1.0-dev"
316
+ }
317
+ },
318
+ "autoload": {
319
+ "files": [
320
+ "src/lib/json_version.php"
321
+ ],
322
+ "psr-0": {
323
+ "Herrera\\Json": "src/lib"
324
+ }
325
+ },
326
+ "notification-url": "https://packagist.org/downloads/",
327
+ "license": [
328
+ "MIT"
329
+ ],
330
+ "authors": [
331
+ {
332
+ "name": "Kevin Herrera",
333
+ "email": "kevin@herrera.io",
334
+ "homepage": "http://kevin.herrera.io"
335
+ }
336
+ ],
337
+ "description": "A library for simplifying JSON linting and validation.",
338
+ "homepage": "http://herrera-io.github.com/php-json",
339
+ "keywords": [
340
+ "json",
341
+ "lint",
342
+ "schema",
343
+ "validate"
344
+ ],
345
+ "abandoned": "kherge/json",
346
+ "time": "2013-10-30T16:51:34+00:00"
347
+ },
348
+ {
349
+ "name": "herrera-io/phar-update",
350
+ "version": "2.0.0",
351
+ "source": {
352
+ "type": "git",
353
+ "url": "https://github.com/kherge-abandoned/php-phar-update.git",
354
+ "reference": "15643c90d3d43620a4f45c910e6afb7a0ad4b488"
355
+ },
356
+ "dist": {
357
+ "type": "zip",
358
+ "url": "https://api.github.com/repos/kherge-abandoned/php-phar-update/zipball/15643c90d3d43620a4f45c910e6afb7a0ad4b488",
359
+ "reference": "15643c90d3d43620a4f45c910e6afb7a0ad4b488",
360
+ "shasum": ""
361
+ },
362
+ "require": {
363
+ "herrera-io/json": "1.*",
364
+ "herrera-io/version": "1.*",
365
+ "php": ">=5.3.3"
366
+ },
367
+ "require-dev": {
368
+ "herrera-io/phpunit-test-case": "1.*",
369
+ "mikey179/vfsstream": "1.1.0",
370
+ "phpunit/phpunit": "3.7.*"
371
+ },
372
+ "type": "library",
373
+ "extra": {
374
+ "branch-alias": {
375
+ "dev-master": "2.0-dev"
376
+ }
377
+ },
378
+ "autoload": {
379
+ "files": [
380
+ "src/lib/constants.php"
381
+ ],
382
+ "psr-0": {
383
+ "Herrera\\Phar\\Update": "src/lib"
384
+ }
385
+ },
386
+ "notification-url": "https://packagist.org/downloads/",
387
+ "license": [
388
+ "MIT"
389
+ ],
390
+ "authors": [
391
+ {
392
+ "name": "Kevin Herrera",
393
+ "email": "kevin@herrera.io",
394
+ "homepage": "http://kevin.herrera.io"
395
+ }
396
+ ],
397
+ "description": "A library for self-updating Phars.",
398
+ "homepage": "http://herrera-io.github.com/php-phar-update",
399
+ "keywords": [
400
+ "phar",
401
+ "update"
402
+ ],
403
+ "abandoned": true,
404
+ "time": "2013-11-09T17:13:13+00:00"
405
+ },
406
+ {
407
+ "name": "herrera-io/version",
408
+ "version": "1.1.1",
409
+ "source": {
410
+ "type": "git",
411
+ "url": "https://github.com/kherge-abandoned/php-version.git",
412
+ "reference": "d39d9642b92a04d8b8a28b871b797a35a2545e85"
413
+ },
414
+ "dist": {
415
+ "type": "zip",
416
+ "url": "https://api.github.com/repos/kherge-abandoned/php-version/zipball/d39d9642b92a04d8b8a28b871b797a35a2545e85",
417
+ "reference": "d39d9642b92a04d8b8a28b871b797a35a2545e85",
418
+ "shasum": ""
419
+ },
420
+ "require": {
421
+ "php": ">=5.3.3"
422
+ },
423
+ "require-dev": {
424
+ "herrera-io/phpunit-test-case": "1.*",
425
+ "phpunit/phpunit": "3.7.*"
426
+ },
427
+ "type": "library",
428
+ "extra": {
429
+ "branch-alias": {
430
+ "dev-master": "1.1.x-dev"
431
+ }
432
+ },
433
+ "autoload": {
434
+ "psr-0": {
435
+ "Herrera\\Version": "src/lib"
436
+ }
437
+ },
438
+ "notification-url": "https://packagist.org/downloads/",
439
+ "license": [
440
+ "MIT"
441
+ ],
442
+ "authors": [
443
+ {
444
+ "name": "Kevin Herrera",
445
+ "email": "kevin@herrera.io",
446
+ "homepage": "http://kevin.herrera.io"
447
+ }
448
+ ],
449
+ "description": "A library for creating, editing, and comparing semantic versioning numbers.",
450
+ "homepage": "http://github.com/herrera-io/php-version",
451
+ "keywords": [
452
+ "semantic",
453
+ "version"
454
+ ],
455
+ "abandoned": true,
456
+ "time": "2014-05-27T05:29:25+00:00"
457
+ },
458
+ {
459
+ "name": "justinrainbow/json-schema",
460
+ "version": "1.6.1",
461
+ "source": {
462
+ "type": "git",
463
+ "url": "https://github.com/justinrainbow/json-schema.git",
464
+ "reference": "cc84765fb7317f6b07bd8ac78364747f95b86341"
465
+ },
466
+ "dist": {
467
+ "type": "zip",
468
+ "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/cc84765fb7317f6b07bd8ac78364747f95b86341",
469
+ "reference": "cc84765fb7317f6b07bd8ac78364747f95b86341",
470
+ "shasum": ""
471
+ },
472
+ "require": {
473
+ "php": ">=5.3.29"
474
+ },
475
+ "require-dev": {
476
+ "json-schema/json-schema-test-suite": "1.1.0",
477
+ "phpdocumentor/phpdocumentor": "~2",
478
+ "phpunit/phpunit": "~3.7"
479
+ },
480
+ "bin": [
481
+ "bin/validate-json"
482
+ ],
483
+ "type": "library",
484
+ "extra": {
485
+ "branch-alias": {
486
+ "dev-master": "1.6.x-dev"
487
+ }
488
+ },
489
+ "autoload": {
490
+ "psr-4": {
491
+ "JsonSchema\\": "src/JsonSchema/"
492
+ }
493
+ },
494
+ "notification-url": "https://packagist.org/downloads/",
495
+ "license": [
496
+ "BSD-3-Clause"
497
+ ],
498
+ "authors": [
499
+ {
500
+ "name": "Bruno Prieto Reis",
501
+ "email": "bruno.p.reis@gmail.com"
502
+ },
503
+ {
504
+ "name": "Justin Rainbow",
505
+ "email": "justin.rainbow@gmail.com"
506
+ },
507
+ {
508
+ "name": "Igor Wiedler",
509
+ "email": "igor@wiedler.ch"
510
+ },
511
+ {
512
+ "name": "Robert Schönthal",
513
+ "email": "seroscho@googlemail.com"
514
+ }
515
+ ],
516
+ "description": "A library to validate a json schema.",
517
+ "homepage": "https://github.com/justinrainbow/json-schema",
518
+ "keywords": [
519
+ "json",
520
+ "schema"
521
+ ],
522
+ "time": "2016-01-25T15:43:01+00:00"
523
+ },
524
+ {
525
+ "name": "kdyby/events",
526
+ "version": "v2.4.1",
527
+ "source": {
528
+ "type": "git",
529
+ "url": "https://github.com/Kdyby/Events.git",
530
+ "reference": "d8a0e8a64a59f501996f8f9591aa3f950208f091"
531
+ },
532
+ "dist": {
533
+ "type": "zip",
534
+ "url": "https://api.github.com/repos/Kdyby/Events/zipball/d8a0e8a64a59f501996f8f9591aa3f950208f091",
535
+ "reference": "d8a0e8a64a59f501996f8f9591aa3f950208f091",
536
+ "shasum": ""
537
+ },
538
+ "require": {
539
+ "nette/di": "~2.3@dev",
540
+ "nette/utils": "~2.3@dev"
541
+ },
542
+ "require-dev": {
543
+ "latte/latte": "~2.3@dev",
544
+ "nette/application": "~2.3@dev",
545
+ "nette/bootstrap": "~2.3@dev",
546
+ "nette/caching": "~2.3@dev",
547
+ "nette/component-model": "~2.2@dev",
548
+ "nette/database": "~2.3@dev",
549
+ "nette/deprecated": "~2.3@dev",
550
+ "nette/di": "~2.3@dev",
551
+ "nette/finder": "~2.3@dev",
552
+ "nette/forms": "~2.3@dev",
553
+ "nette/http": "~2.3@dev",
554
+ "nette/mail": "~2.3@dev",
555
+ "nette/neon": "~2.3@dev",
556
+ "nette/php-generator": "~2.3@dev",
557
+ "nette/reflection": "~2.3@dev",
558
+ "nette/robot-loader": "~2.3@dev",
559
+ "nette/safe-stream": "~2.3@dev",
560
+ "nette/security": "~2.3@dev",
561
+ "nette/tester": "~1.4",
562
+ "nette/tokenizer": "~2.2@dev",
563
+ "nette/utils": "~2.3@dev",
564
+ "symfony/event-dispatcher": "~2.3",
565
+ "tracy/tracy": "~2.3@dev"
566
+ },
567
+ "type": "library",
568
+ "extra": {
569
+ "branch-alias": {
570
+ "dev-master": "2.4-dev"
571
+ }
572
+ },
573
+ "autoload": {
574
+ "psr-0": {
575
+ "Kdyby\\Events\\": "src/"
576
+ },
577
+ "classmap": [
578
+ "src/Kdyby/Events/exceptions.php"
579
+ ],
580
+ "files": [
581
+ "src/Doctrine/compatibility.php"
582
+ ]
583
+ },
584
+ "notification-url": "https://packagist.org/downloads/",
585
+ "license": [
586
+ "BSD-3-Clause",
587
+ "GPL-2.0",
588
+ "GPL-3.0"
589
+ ],
590
+ "authors": [
591
+ {
592
+ "name": "Filip Procházka",
593
+ "email": "filip@prochazka.su",
594
+ "homepage": "http://filip-prochazka.com"
595
+ }
596
+ ],
597
+ "description": "Events for Nette Framework",
598
+ "homepage": "http://kdyby.org",
599
+ "keywords": [
600
+ "kdyby",
601
+ "nette"
602
+ ],
603
+ "time": "2016-04-19T11:19:31+00:00"
604
+ },
605
+ {
606
+ "name": "kukulich/fshl",
607
+ "version": "2.1.0",
608
+ "source": {
609
+ "type": "git",
610
+ "url": "https://github.com/kukulich/fshl.git",
611
+ "reference": "974c294ade5d76c0c16b6fe3fd3a584ba999b24f"
612
+ },
613
+ "dist": {
614
+ "type": "zip",
615
+ "url": "https://api.github.com/repos/kukulich/fshl/zipball/974c294ade5d76c0c16b6fe3fd3a584ba999b24f",
616
+ "reference": "974c294ade5d76c0c16b6fe3fd3a584ba999b24f",
617
+ "shasum": ""
618
+ },
619
+ "require": {
620
+ "php": ">=5.3"
621
+ },
622
+ "type": "library",
623
+ "autoload": {
624
+ "psr-0": {
625
+ "FSHL": "./"
626
+ }
627
+ },
628
+ "notification-url": "https://packagist.org/downloads/",
629
+ "license": [
630
+ "GPL-2.0+"
631
+ ],
632
+ "authors": [
633
+ {
634
+ "name": "Jaroslav Hanslík",
635
+ "homepage": "https://github.com/kukulich"
636
+ }
637
+ ],
638
+ "description": "FSHL is a free, open source, universal, fast syntax highlighter written in PHP.",
639
+ "homepage": "http://fshl.kukulich.cz/",
640
+ "keywords": [
641
+ "highlight",
642
+ "library",
643
+ "syntax"
644
+ ],
645
+ "time": "2012-09-08T19:00:07+00:00"
646
+ },
647
+ {
648
+ "name": "latte/latte",
649
+ "version": "v2.3.4",
650
+ "source": {
651
+ "type": "git",
652
+ "url": "https://github.com/nette/latte.git",
653
+ "reference": "5e891af999776d2204a9d06ad66ad8fa0bcd4f8b"
654
+ },
655
+ "dist": {
656
+ "type": "zip",
657
+ "url": "https://api.github.com/repos/nette/latte/zipball/5e891af999776d2204a9d06ad66ad8fa0bcd4f8b",
658
+ "reference": "5e891af999776d2204a9d06ad66ad8fa0bcd4f8b",
659
+ "shasum": ""
660
+ },
661
+ "require": {
662
+ "ext-tokenizer": "*",
663
+ "php": ">=5.3.1"
664
+ },
665
+ "require-dev": {
666
+ "nette/tester": "~1.3"
667
+ },
668
+ "suggest": {
669
+ "ext-fileinfo": "to use filter |datastream",
670
+ "ext-mbstring": "to use filters like lower, upper, capitalize, ..."
671
+ },
672
+ "type": "library",
673
+ "autoload": {
674
+ "classmap": [
675
+ "src/"
676
+ ]
677
+ },
678
+ "notification-url": "https://packagist.org/downloads/",
679
+ "license": [
680
+ "BSD-3-Clause",
681
+ "GPL-2.0",
682
+ "GPL-3.0"
683
+ ],
684
+ "authors": [
685
+ {
686
+ "name": "David Grudl",
687
+ "homepage": "http://davidgrudl.com"
688
+ },
689
+ {
690
+ "name": "Nette Community",
691
+ "homepage": "http://nette.org/contributors"
692
+ }
693
+ ],
694
+ "description": "Latte: the amazing template engine for PHP",
695
+ "homepage": "http://latte.nette.org",
696
+ "keywords": [
697
+ "templating",
698
+ "twig"
699
+ ],
700
+ "time": "2015-08-23T12:36:55+00:00"
701
+ },
702
+ {
703
+ "name": "michelf/php-markdown",
704
+ "version": "1.8.0",
705
+ "source": {
706
+ "type": "git",
707
+ "url": "https://github.com/michelf/php-markdown.git",
708
+ "reference": "01ab082b355bf188d907b9929cd99b2923053495"
709
+ },
710
+ "dist": {
711
+ "type": "zip",
712
+ "url": "https://api.github.com/repos/michelf/php-markdown/zipball/01ab082b355bf188d907b9929cd99b2923053495",
713
+ "reference": "01ab082b355bf188d907b9929cd99b2923053495",
714
+ "shasum": ""
715
+ },
716
+ "require": {
717
+ "php": ">=5.3.0"
718
+ },
719
+ "type": "library",
720
+ "autoload": {
721
+ "psr-4": {
722
+ "Michelf\\": "Michelf/"
723
+ }
724
+ },
725
+ "notification-url": "https://packagist.org/downloads/",
726
+ "license": [
727
+ "BSD-3-Clause"
728
+ ],
729
+ "authors": [
730
+ {
731
+ "name": "Michel Fortin",
732
+ "email": "michel.fortin@michelf.ca",
733
+ "homepage": "https://michelf.ca/",
734
+ "role": "Developer"
735
+ },
736
+ {
737
+ "name": "John Gruber",
738
+ "homepage": "https://daringfireball.net/"
739
+ }
740
+ ],
741
+ "description": "PHP Markdown",
742
+ "homepage": "https://michelf.ca/projects/php-markdown/",
743
+ "keywords": [
744
+ "markdown"
745
+ ],
746
+ "time": "2018-01-15T00:49:33+00:00"
747
+ },
748
+ {
749
+ "name": "myclabs/deep-copy",
750
+ "version": "1.8.1",
751
+ "source": {
752
+ "type": "git",
753
+ "url": "https://github.com/myclabs/DeepCopy.git",
754
+ "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8"
755
+ },
756
+ "dist": {
757
+ "type": "zip",
758
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8",
759
+ "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8",
760
+ "shasum": ""
761
+ },
762
+ "require": {
763
+ "php": "^7.1"
764
+ },
765
+ "replace": {
766
+ "myclabs/deep-copy": "self.version"
767
+ },
768
+ "require-dev": {
769
+ "doctrine/collections": "^1.0",
770
+ "doctrine/common": "^2.6",
771
+ "phpunit/phpunit": "^7.1"
772
+ },
773
+ "type": "library",
774
+ "autoload": {
775
+ "psr-4": {
776
+ "DeepCopy\\": "src/DeepCopy/"
777
+ },
778
+ "files": [
779
+ "src/DeepCopy/deep_copy.php"
780
+ ]
781
+ },
782
+ "notification-url": "https://packagist.org/downloads/",
783
+ "license": [
784
+ "MIT"
785
+ ],
786
+ "description": "Create deep copies (clones) of your objects",
787
+ "keywords": [
788
+ "clone",
789
+ "copy",
790
+ "duplicate",
791
+ "object",
792
+ "object graph"
793
+ ],
794
+ "time": "2018-06-11T23:09:50+00:00"
795
+ },
796
+ {
797
+ "name": "nette/application",
798
+ "version": "v2.4.13",
799
+ "source": {
800
+ "type": "git",
801
+ "url": "https://github.com/nette/application.git",
802
+ "reference": "023acd964383de11fbc32cae8f4dfd8043643a0f"
803
+ },
804
+ "dist": {
805
+ "type": "zip",
806
+ "url": "https://api.github.com/repos/nette/application/zipball/023acd964383de11fbc32cae8f4dfd8043643a0f",
807
+ "reference": "023acd964383de11fbc32cae8f4dfd8043643a0f",
808
+ "shasum": ""
809
+ },
810
+ "require": {
811
+ "nette/component-model": "^2.3",
812
+ "nette/http": "^2.2",
813
+ "nette/reflection": "^2.2",
814
+ "nette/utils": "^2.4 || ~3.0.0",
815
+ "php": ">=5.6.0"
816
+ },
817
+ "conflict": {
818
+ "nette/di": "<2.4",
819
+ "nette/forms": "<2.4",
820
+ "nette/latte": "<2.4",
821
+ "nette/nette": "<2.2"
822
+ },
823
+ "require-dev": {
824
+ "latte/latte": "^2.4.3",
825
+ "mockery/mockery": "^0.9.5",
826
+ "nette/di": "^2.4",
827
+ "nette/forms": "^2.4",
828
+ "nette/robot-loader": "^2.4.2 || ^3.0",
829
+ "nette/security": "^2.4",
830
+ "nette/tester": "^2.0",
831
+ "tracy/tracy": "^2.4"
832
+ },
833
+ "suggest": {
834
+ "latte/latte": "Allows using Latte in templates",
835
+ "nette/forms": "Allows to use Nette\\Application\\UI\\Form"
836
+ },
837
+ "type": "library",
838
+ "extra": {
839
+ "branch-alias": {
840
+ "dev-master": "2.4-dev"
841
+ }
842
+ },
843
+ "autoload": {
844
+ "classmap": [
845
+ "src/"
846
+ ],
847
+ "files": [
848
+ "src/compatibility.php"
849
+ ]
850
+ },
851
+ "notification-url": "https://packagist.org/downloads/",
852
+ "license": [
853
+ "BSD-3-Clause",
854
+ "GPL-2.0",
855
+ "GPL-3.0"
856
+ ],
857
+ "authors": [
858
+ {
859
+ "name": "David Grudl",
860
+ "homepage": "https://davidgrudl.com"
861
+ },
862
+ {
863
+ "name": "Nette Community",
864
+ "homepage": "https://nette.org/contributors"
865
+ }
866
+ ],
867
+ "description": "🏆 Nette Application: a full-stack component-based MVC kernel for PHP that helps you write powerful and modern web applications. Write less, have cleaner code and your work will bring you joy.",
868
+ "homepage": "https://nette.org",
869
+ "keywords": [
870
+ "Forms",
871
+ "component-based",
872
+ "control",
873
+ "framework",
874
+ "mvc",
875
+ "mvp",
876
+ "nette",
877
+ "presenter",
878
+ "routing",
879
+ "seo"
880
+ ],
881
+ "time": "2018-11-23T22:28:11+00:00"
882
+ },
883
+ {
884
+ "name": "nette/bootstrap",
885
+ "version": "v2.4.6",
886
+ "source": {
887
+ "type": "git",
888
+ "url": "https://github.com/nette/bootstrap.git",
889
+ "reference": "268816e3f1bb7426c3a4ceec2bd38a036b532543"
890
+ },
891
+ "dist": {
892
+ "type": "zip",
893
+ "url": "https://api.github.com/repos/nette/bootstrap/zipball/268816e3f1bb7426c3a4ceec2bd38a036b532543",
894
+ "reference": "268816e3f1bb7426c3a4ceec2bd38a036b532543",
895
+ "shasum": ""
896
+ },
897
+ "require": {
898
+ "nette/di": "~2.4.7",
899
+ "nette/utils": "~2.4",
900
+ "php": ">=5.6.0"
901
+ },
902
+ "conflict": {
903
+ "nette/nette": "<2.2"
904
+ },
905
+ "require-dev": {
906
+ "latte/latte": "~2.2",
907
+ "nette/application": "~2.3",
908
+ "nette/caching": "~2.3",
909
+ "nette/database": "~2.3",
910
+ "nette/forms": "~2.3",
911
+ "nette/http": "~2.4.0",
912
+ "nette/mail": "~2.3",
913
+ "nette/robot-loader": "^2.4.2 || ^3.0",
914
+ "nette/safe-stream": "~2.2",
915
+ "nette/security": "~2.3",
916
+ "nette/tester": "~2.0",
917
+ "tracy/tracy": "^2.4.1"
918
+ },
919
+ "suggest": {
920
+ "nette/robot-loader": "to use Configurator::createRobotLoader()",
921
+ "tracy/tracy": "to use Configurator::enableTracy()"
922
+ },
923
+ "type": "library",
924
+ "extra": {
925
+ "branch-alias": {
926
+ "dev-master": "2.4-dev"
927
+ }
928
+ },
929
+ "autoload": {
930
+ "classmap": [
931
+ "src/"
932
+ ]
933
+ },
934
+ "notification-url": "https://packagist.org/downloads/",
935
+ "license": [
936
+ "BSD-3-Clause",
937
+ "GPL-2.0",
938
+ "GPL-3.0"
939
+ ],
940
+ "authors": [
941
+ {
942
+ "name": "David Grudl",
943
+ "homepage": "https://davidgrudl.com"
944
+ },
945
+ {
946
+ "name": "Nette Community",
947
+ "homepage": "https://nette.org/contributors"
948
+ }
949
+ ],
950
+ "description": "🅱 Nette Bootstrap: the simple way to configure and bootstrap your Nette application.",
951
+ "homepage": "https://nette.org",
952
+ "keywords": [
953
+ "bootstrapping",
954
+ "configurator",
955
+ "nette"
956
+ ],
957
+ "time": "2018-05-17T12:52:20+00:00"
958
+ },
959
+ {
960
+ "name": "nette/caching",
961
+ "version": "v2.5.8",
962
+ "source": {
963
+ "type": "git",
964
+ "url": "https://github.com/nette/caching.git",
965
+ "reference": "7fba7c7ab2585fafb7b31152f2595e1551120555"
966
+ },
967
+ "dist": {
968
+ "type": "zip",
969
+ "url": "https://api.github.com/repos/nette/caching/zipball/7fba7c7ab2585fafb7b31152f2595e1551120555",
970
+ "reference": "7fba7c7ab2585fafb7b31152f2595e1551120555",
971
+ "shasum": ""
972
+ },
973
+ "require": {
974
+ "nette/finder": "^2.2 || ~3.0.0",
975
+ "nette/utils": "^2.4 || ~3.0.0",
976
+ "php": ">=5.6.0"
977
+ },
978
+ "conflict": {
979
+ "nette/nette": "<2.2"
980
+ },
981
+ "require-dev": {
982
+ "latte/latte": "^2.4",
983
+ "nette/di": "^2.4 || ~3.0.0",
984
+ "nette/tester": "^2.0",
985
+ "tracy/tracy": "^2.4"
986
+ },
987
+ "suggest": {
988
+ "ext-pdo_sqlite": "to use SQLiteStorage or SQLiteJournal"
989
+ },
990
+ "type": "library",
991
+ "extra": {
992
+ "branch-alias": {
993
+ "dev-master": "2.5-dev"
994
+ }
995
+ },
996
+ "autoload": {
997
+ "classmap": [
998
+ "src/"
999
+ ]
1000
+ },
1001
+ "notification-url": "https://packagist.org/downloads/",
1002
+ "license": [
1003
+ "BSD-3-Clause",
1004
+ "GPL-2.0",
1005
+ "GPL-3.0"
1006
+ ],
1007
+ "authors": [
1008
+ {
1009
+ "name": "David Grudl",
1010
+ "homepage": "https://davidgrudl.com"
1011
+ },
1012
+ {
1013
+ "name": "Nette Community",
1014
+ "homepage": "https://nette.org/contributors"
1015
+ }
1016
+ ],
1017
+ "description": "⏱ Nette Caching: library with easy-to-use API and many cache backends.",
1018
+ "homepage": "https://nette.org",
1019
+ "keywords": [
1020
+ "cache",
1021
+ "journal",
1022
+ "memcached",
1023
+ "nette",
1024
+ "sqlite"
1025
+ ],
1026
+ "time": "2018-03-21T11:04:32+00:00"
1027
+ },
1028
+ {
1029
+ "name": "nette/component-model",
1030
+ "version": "v2.4.0",
1031
+ "source": {
1032
+ "type": "git",
1033
+ "url": "https://github.com/nette/component-model.git",
1034
+ "reference": "6e7980f5ddec31f68a39e767799b1b0be9dd1014"
1035
+ },
1036
+ "dist": {
1037
+ "type": "zip",
1038
+ "url": "https://api.github.com/repos/nette/component-model/zipball/6e7980f5ddec31f68a39e767799b1b0be9dd1014",
1039
+ "reference": "6e7980f5ddec31f68a39e767799b1b0be9dd1014",
1040
+ "shasum": ""
1041
+ },
1042
+ "require": {
1043
+ "nette/utils": "^2.5 || ~3.0.0",
1044
+ "php": ">=5.6.0"
1045
+ },
1046
+ "conflict": {
1047
+ "nette/application": "<2.4",
1048
+ "nette/nette": "<2.2"
1049
+ },
1050
+ "require-dev": {
1051
+ "nette/tester": "^2.0",
1052
+ "tracy/tracy": "^2.3"
1053
+ },
1054
+ "type": "library",
1055
+ "extra": {
1056
+ "branch-alias": {
1057
+ "dev-master": "2.4-dev"
1058
+ }
1059
+ },
1060
+ "autoload": {
1061
+ "classmap": [
1062
+ "src/"
1063
+ ]
1064
+ },
1065
+ "notification-url": "https://packagist.org/downloads/",
1066
+ "license": [
1067
+ "BSD-3-Clause",
1068
+ "GPL-2.0",
1069
+ "GPL-3.0"
1070
+ ],
1071
+ "authors": [
1072
+ {
1073
+ "name": "David Grudl",
1074
+ "homepage": "https://davidgrudl.com"
1075
+ },
1076
+ {
1077
+ "name": "Nette Community",
1078
+ "homepage": "https://nette.org/contributors"
1079
+ }
1080
+ ],
1081
+ "description": "⚛ Nette Component Model",
1082
+ "homepage": "https://nette.org",
1083
+ "keywords": [
1084
+ "components",
1085
+ "nette"
1086
+ ],
1087
+ "time": "2018-03-20T16:32:50+00:00"
1088
+ },
1089
+ {
1090
+ "name": "nette/di",
1091
+ "version": "v2.4.14",
1092
+ "source": {
1093
+ "type": "git",
1094
+ "url": "https://github.com/nette/di.git",
1095
+ "reference": "923da3e2c0aa53162ef455472c0ac7787b096c5a"
1096
+ },
1097
+ "dist": {
1098
+ "type": "zip",
1099
+ "url": "https://api.github.com/repos/nette/di/zipball/923da3e2c0aa53162ef455472c0ac7787b096c5a",
1100
+ "reference": "923da3e2c0aa53162ef455472c0ac7787b096c5a",
1101
+ "shasum": ""
1102
+ },
1103
+ "require": {
1104
+ "ext-tokenizer": "*",
1105
+ "nette/neon": "^2.3.3 || ~3.0.0",
1106
+ "nette/php-generator": "^2.6.1 || ~3.0.0",
1107
+ "nette/utils": "^2.4.3 || ~3.0.0",
1108
+ "php": ">=5.6.0"
1109
+ },
1110
+ "conflict": {
1111
+ "nette/bootstrap": "<2.4",
1112
+ "nette/nette": "<2.2"
1113
+ },
1114
+ "require-dev": {
1115
+ "nette/tester": "^2.0",
1116
+ "tracy/tracy": "^2.3"
1117
+ },
1118
+ "type": "library",
1119
+ "extra": {
1120
+ "branch-alias": {
1121
+ "dev-master": "2.4-dev"
1122
+ }
1123
+ },
1124
+ "autoload": {
1125
+ "classmap": [
1126
+ "src/"
1127
+ ]
1128
+ },
1129
+ "notification-url": "https://packagist.org/downloads/",
1130
+ "license": [
1131
+ "BSD-3-Clause",
1132
+ "GPL-2.0",
1133
+ "GPL-3.0"
1134
+ ],
1135
+ "authors": [
1136
+ {
1137
+ "name": "David Grudl",
1138
+ "homepage": "https://davidgrudl.com"
1139
+ },
1140
+ {
1141
+ "name": "Nette Community",
1142
+ "homepage": "https://nette.org/contributors"
1143
+ }
1144
+ ],
1145
+ "description": "💎 Nette Dependency Injection Container: Flexible, compiled and full-featured DIC with perfectly usable autowiring and support for all new PHP 7.1 features.",
1146
+ "homepage": "https://nette.org",
1147
+ "keywords": [
1148
+ "compiled",
1149
+ "di",
1150
+ "dic",
1151
+ "factory",
1152
+ "ioc",
1153
+ "nette",
1154
+ "static"
1155
+ ],
1156
+ "time": "2018-09-17T15:47:40+00:00"
1157
+ },
1158
+ {
1159
+ "name": "nette/finder",
1160
+ "version": "v2.4.2",
1161
+ "source": {
1162
+ "type": "git",
1163
+ "url": "https://github.com/nette/finder.git",
1164
+ "reference": "ee951a656cb8ac622e5dd33474a01fd2470505a0"
1165
+ },
1166
+ "dist": {
1167
+ "type": "zip",
1168
+ "url": "https://api.github.com/repos/nette/finder/zipball/ee951a656cb8ac622e5dd33474a01fd2470505a0",
1169
+ "reference": "ee951a656cb8ac622e5dd33474a01fd2470505a0",
1170
+ "shasum": ""
1171
+ },
1172
+ "require": {
1173
+ "nette/utils": "~2.4",
1174
+ "php": ">=5.6.0"
1175
+ },
1176
+ "conflict": {
1177
+ "nette/nette": "<2.2"
1178
+ },
1179
+ "require-dev": {
1180
+ "nette/tester": "~2.0",
1181
+ "tracy/tracy": "^2.3"
1182
+ },
1183
+ "type": "library",
1184
+ "extra": {
1185
+ "branch-alias": {
1186
+ "dev-master": "2.4-dev"
1187
+ }
1188
+ },
1189
+ "autoload": {
1190
+ "classmap": [
1191
+ "src/"
1192
+ ]
1193
+ },
1194
+ "notification-url": "https://packagist.org/downloads/",
1195
+ "license": [
1196
+ "BSD-3-Clause",
1197
+ "GPL-2.0",
1198
+ "GPL-3.0"
1199
+ ],
1200
+ "authors": [
1201
+ {
1202
+ "name": "David Grudl",
1203
+ "homepage": "https://davidgrudl.com"
1204
+ },
1205
+ {
1206
+ "name": "Nette Community",
1207
+ "homepage": "https://nette.org/contributors"
1208
+ }
1209
+ ],
1210
+ "description": "🔍 Nette Finder: find files and directories with an intuitive API.",
1211
+ "homepage": "https://nette.org",
1212
+ "keywords": [
1213
+ "filesystem",
1214
+ "glob",
1215
+ "iterator",
1216
+ "nette"
1217
+ ],
1218
+ "time": "2018-06-28T11:49:23+00:00"
1219
+ },
1220
+ {
1221
+ "name": "nette/http",
1222
+ "version": "v2.4.10",
1223
+ "source": {
1224
+ "type": "git",
1225
+ "url": "https://github.com/nette/http.git",
1226
+ "reference": "a36e6bad0aae8bacf849c150b5e0ecacef0d9eca"
1227
+ },
1228
+ "dist": {
1229
+ "type": "zip",
1230
+ "url": "https://api.github.com/repos/nette/http/zipball/a36e6bad0aae8bacf849c150b5e0ecacef0d9eca",
1231
+ "reference": "a36e6bad0aae8bacf849c150b5e0ecacef0d9eca",
1232
+ "shasum": ""
1233
+ },
1234
+ "require": {
1235
+ "nette/utils": "^2.4 || ~3.0.0",
1236
+ "php": ">=5.6.0"
1237
+ },
1238
+ "conflict": {
1239
+ "nette/nette": "<2.2"
1240
+ },
1241
+ "require-dev": {
1242
+ "nette/di": "^2.4.8 || ~3.0.0",
1243
+ "nette/tester": "^2.0",
1244
+ "tracy/tracy": "^2.4"
1245
+ },
1246
+ "suggest": {
1247
+ "ext-fileinfo": "to detect type of uploaded files",
1248
+ "nette/security": "allows use Nette\\Http\\UserStorage"
1249
+ },
1250
+ "type": "library",
1251
+ "extra": {
1252
+ "branch-alias": {
1253
+ "dev-master": "2.4-dev"
1254
+ }
1255
+ },
1256
+ "autoload": {
1257
+ "classmap": [
1258
+ "src/"
1259
+ ]
1260
+ },
1261
+ "notification-url": "https://packagist.org/downloads/",
1262
+ "license": [
1263
+ "BSD-3-Clause",
1264
+ "GPL-2.0",
1265
+ "GPL-3.0"
1266
+ ],
1267
+ "authors": [
1268
+ {
1269
+ "name": "David Grudl",
1270
+ "homepage": "https://davidgrudl.com"
1271
+ },
1272
+ {
1273
+ "name": "Nette Community",
1274
+ "homepage": "https://nette.org/contributors"
1275
+ }
1276
+ ],
1277
+ "description": "🌐 Nette Http: abstraction for HTTP request, response and session. Provides careful data sanitization and utility for URL and cookies manipulation.",
1278
+ "homepage": "https://nette.org",
1279
+ "keywords": [
1280
+ "cookies",
1281
+ "http",
1282
+ "nette",
1283
+ "proxy",
1284
+ "request",
1285
+ "response",
1286
+ "security",
1287
+ "session",
1288
+ "url"
1289
+ ],
1290
+ "time": "2018-09-03T19:16:55+00:00"
1291
+ },
1292
+ {
1293
+ "name": "nette/mail",
1294
+ "version": "v2.4.6",
1295
+ "source": {
1296
+ "type": "git",
1297
+ "url": "https://github.com/nette/mail.git",
1298
+ "reference": "431f1774034cc14ee6a795b6514fe6343f75a68e"
1299
+ },
1300
+ "dist": {
1301
+ "type": "zip",
1302
+ "url": "https://api.github.com/repos/nette/mail/zipball/431f1774034cc14ee6a795b6514fe6343f75a68e",
1303
+ "reference": "431f1774034cc14ee6a795b6514fe6343f75a68e",
1304
+ "shasum": ""
1305
+ },
1306
+ "require": {
1307
+ "ext-iconv": "*",
1308
+ "nette/utils": "^2.4 || ~3.0.0",
1309
+ "php": ">=5.6.0"
1310
+ },
1311
+ "conflict": {
1312
+ "nette/nette": "<2.2"
1313
+ },
1314
+ "require-dev": {
1315
+ "nette/di": "^2.4 || ~3.0.0",
1316
+ "nette/tester": "^2.0",
1317
+ "tracy/tracy": "^2.4"
1318
+ },
1319
+ "suggest": {
1320
+ "ext-fileinfo": "to detect type of attached files"
1321
+ },
1322
+ "type": "library",
1323
+ "extra": {
1324
+ "branch-alias": {
1325
+ "dev-master": "2.4-dev"
1326
+ }
1327
+ },
1328
+ "autoload": {
1329
+ "classmap": [
1330
+ "src/"
1331
+ ]
1332
+ },
1333
+ "notification-url": "https://packagist.org/downloads/",
1334
+ "license": [
1335
+ "BSD-3-Clause",
1336
+ "GPL-2.0",
1337
+ "GPL-3.0"
1338
+ ],
1339
+ "authors": [
1340
+ {
1341
+ "name": "David Grudl",
1342
+ "homepage": "https://davidgrudl.com"
1343
+ },
1344
+ {
1345
+ "name": "Nette Community",
1346
+ "homepage": "https://nette.org/contributors"
1347
+ }
1348
+ ],
1349
+ "description": "📧 Nette Mail: handy email creation and transfer library for PHP with both text and MIME-compliant support.",
1350
+ "homepage": "https://nette.org",
1351
+ "keywords": [
1352
+ "mail",
1353
+ "mailer",
1354
+ "mime",
1355
+ "nette",
1356
+ "smtp"
1357
+ ],
1358
+ "time": "2018-11-21T22:35:13+00:00"
1359
+ },
1360
+ {
1361
+ "name": "nette/neon",
1362
+ "version": "v2.4.3",
1363
+ "source": {
1364
+ "type": "git",
1365
+ "url": "https://github.com/nette/neon.git",
1366
+ "reference": "5e72b1dd3e2d34f0863c5561139a19df6a1ef398"
1367
+ },
1368
+ "dist": {
1369
+ "type": "zip",
1370
+ "url": "https://api.github.com/repos/nette/neon/zipball/5e72b1dd3e2d34f0863c5561139a19df6a1ef398",
1371
+ "reference": "5e72b1dd3e2d34f0863c5561139a19df6a1ef398",
1372
+ "shasum": ""
1373
+ },
1374
+ "require": {
1375
+ "ext-iconv": "*",
1376
+ "ext-json": "*",
1377
+ "php": ">=5.6.0"
1378
+ },
1379
+ "require-dev": {
1380
+ "nette/tester": "~2.0",
1381
+ "tracy/tracy": "^2.3"
1382
+ },
1383
+ "type": "library",
1384
+ "extra": {
1385
+ "branch-alias": {
1386
+ "dev-master": "2.4-dev"
1387
+ }
1388
+ },
1389
+ "autoload": {
1390
+ "classmap": [
1391
+ "src/"
1392
+ ]
1393
+ },
1394
+ "notification-url": "https://packagist.org/downloads/",
1395
+ "license": [
1396
+ "BSD-3-Clause",
1397
+ "GPL-2.0",
1398
+ "GPL-3.0"
1399
+ ],
1400
+ "authors": [
1401
+ {
1402
+ "name": "David Grudl",
1403
+ "homepage": "https://davidgrudl.com"
1404
+ },
1405
+ {
1406
+ "name": "Nette Community",
1407
+ "homepage": "https://nette.org/contributors"
1408
+ }
1409
+ ],
1410
+ "description": "🍸 Nette NEON: encodes and decodes NEON file format.",
1411
+ "homepage": "http://ne-on.org",
1412
+ "keywords": [
1413
+ "export",
1414
+ "import",
1415
+ "neon",
1416
+ "nette",
1417
+ "yaml"
1418
+ ],
1419
+ "time": "2018-03-21T12:12:21+00:00"
1420
+ },
1421
+ {
1422
+ "name": "nette/php-generator",
1423
+ "version": "v3.0.5",
1424
+ "source": {
1425
+ "type": "git",
1426
+ "url": "https://github.com/nette/php-generator.git",
1427
+ "reference": "ea90209c2e8a7cd087b2742ca553c047a8df5eff"
1428
+ },
1429
+ "dist": {
1430
+ "type": "zip",
1431
+ "url": "https://api.github.com/repos/nette/php-generator/zipball/ea90209c2e8a7cd087b2742ca553c047a8df5eff",
1432
+ "reference": "ea90209c2e8a7cd087b2742ca553c047a8df5eff",
1433
+ "shasum": ""
1434
+ },
1435
+ "require": {
1436
+ "nette/utils": "^2.4.2 || ~3.0.0",
1437
+ "php": ">=7.0"
1438
+ },
1439
+ "conflict": {
1440
+ "nette/nette": "<2.2"
1441
+ },
1442
+ "require-dev": {
1443
+ "nette/tester": "^2.0",
1444
+ "tracy/tracy": "^2.3"
1445
+ },
1446
+ "type": "library",
1447
+ "extra": {
1448
+ "branch-alias": {
1449
+ "dev-master": "3.0-dev"
1450
+ }
1451
+ },
1452
+ "autoload": {
1453
+ "classmap": [
1454
+ "src/"
1455
+ ]
1456
+ },
1457
+ "notification-url": "https://packagist.org/downloads/",
1458
+ "license": [
1459
+ "BSD-3-Clause",
1460
+ "GPL-2.0",
1461
+ "GPL-3.0"
1462
+ ],
1463
+ "authors": [
1464
+ {
1465
+ "name": "David Grudl",
1466
+ "homepage": "https://davidgrudl.com"
1467
+ },
1468
+ {
1469
+ "name": "Nette Community",
1470
+ "homepage": "https://nette.org/contributors"
1471
+ }
1472
+ ],
1473
+ "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 7.2 features.",
1474
+ "homepage": "https://nette.org",
1475
+ "keywords": [
1476
+ "code",
1477
+ "nette",
1478
+ "php",
1479
+ "scaffolding"
1480
+ ],
1481
+ "time": "2018-08-09T14:32:27+00:00"
1482
+ },
1483
+ {
1484
+ "name": "nette/reflection",
1485
+ "version": "v2.4.2",
1486
+ "source": {
1487
+ "type": "git",
1488
+ "url": "https://github.com/nette/reflection.git",
1489
+ "reference": "b12327e98ead74e87a1315e0d48182a702adf901"
1490
+ },
1491
+ "dist": {
1492
+ "type": "zip",
1493
+ "url": "https://api.github.com/repos/nette/reflection/zipball/b12327e98ead74e87a1315e0d48182a702adf901",
1494
+ "reference": "b12327e98ead74e87a1315e0d48182a702adf901",
1495
+ "shasum": ""
1496
+ },
1497
+ "require": {
1498
+ "ext-tokenizer": "*",
1499
+ "nette/caching": "^2.2 || ^3.0",
1500
+ "nette/utils": "^2.4 || ^3.0",
1501
+ "php": ">=5.6.0"
1502
+ },
1503
+ "conflict": {
1504
+ "nette/nette": "<2.2"
1505
+ },
1506
+ "require-dev": {
1507
+ "nette/di": "^2.4 || ^3.0",
1508
+ "nette/tester": "^2.0",
1509
+ "tracy/tracy": "^2.4"
1510
+ },
1511
+ "type": "library",
1512
+ "extra": {
1513
+ "branch-alias": {
1514
+ "dev-master": "2.4-dev"
1515
+ }
1516
+ },
1517
+ "autoload": {
1518
+ "classmap": [
1519
+ "src/"
1520
+ ]
1521
+ },
1522
+ "notification-url": "https://packagist.org/downloads/",
1523
+ "license": [
1524
+ "BSD-3-Clause",
1525
+ "GPL-2.0",
1526
+ "GPL-3.0"
1527
+ ],
1528
+ "authors": [
1529
+ {
1530
+ "name": "David Grudl",
1531
+ "homepage": "https://davidgrudl.com"
1532
+ },
1533
+ {
1534
+ "name": "Nette Community",
1535
+ "homepage": "https://nette.org/contributors"
1536
+ }
1537
+ ],
1538
+ "description": "Nette Reflection: docblock annotations parser and common reflection classes",
1539
+ "homepage": "https://nette.org",
1540
+ "keywords": [
1541
+ "annotation",
1542
+ "nette",
1543
+ "reflection"
1544
+ ],
1545
+ "time": "2017-07-11T19:28:57+00:00"
1546
+ },
1547
+ {
1548
+ "name": "nette/robot-loader",
1549
+ "version": "v2.4.4",
1550
+ "source": {
1551
+ "type": "git",
1552
+ "url": "https://github.com/nette/robot-loader.git",
1553
+ "reference": "1f7f8792ce4d94162959e6b766822d6051623bca"
1554
+ },
1555
+ "dist": {
1556
+ "type": "zip",
1557
+ "url": "https://api.github.com/repos/nette/robot-loader/zipball/1f7f8792ce4d94162959e6b766822d6051623bca",
1558
+ "reference": "1f7f8792ce4d94162959e6b766822d6051623bca",
1559
+ "shasum": ""
1560
+ },
1561
+ "require": {
1562
+ "ext-tokenizer": "*",
1563
+ "nette/caching": "~2.2",
1564
+ "nette/finder": "~2.3",
1565
+ "nette/utils": "~2.4",
1566
+ "php": ">=5.6.0"
1567
+ },
1568
+ "conflict": {
1569
+ "nette/nette": "<2.2"
1570
+ },
1571
+ "require-dev": {
1572
+ "nette/tester": "~2.0",
1573
+ "tracy/tracy": "^2.3"
1574
+ },
1575
+ "type": "library",
1576
+ "extra": {
1577
+ "branch-alias": {
1578
+ "dev-master": "2.4-dev"
1579
+ }
1580
+ },
1581
+ "autoload": {
1582
+ "classmap": [
1583
+ "src/"
1584
+ ]
1585
+ },
1586
+ "notification-url": "https://packagist.org/downloads/",
1587
+ "license": [
1588
+ "BSD-3-Clause",
1589
+ "GPL-2.0",
1590
+ "GPL-3.0"
1591
+ ],
1592
+ "authors": [
1593
+ {
1594
+ "name": "David Grudl",
1595
+ "homepage": "https://davidgrudl.com"
1596
+ },
1597
+ {
1598
+ "name": "Nette Community",
1599
+ "homepage": "https://nette.org/contributors"
1600
+ }
1601
+ ],
1602
+ "description": "🍀 Nette RobotLoader: high performance and comfortable autoloader that will search and autoload classes within your application.",
1603
+ "homepage": "https://nette.org",
1604
+ "keywords": [
1605
+ "autoload",
1606
+ "class",
1607
+ "interface",
1608
+ "nette",
1609
+ "trait"
1610
+ ],
1611
+ "time": "2017-08-14T20:23:02+00:00"
1612
+ },
1613
+ {
1614
+ "name": "nette/safe-stream",
1615
+ "version": "v2.3.3",
1616
+ "source": {
1617
+ "type": "git",
1618
+ "url": "https://github.com/nette/safe-stream.git",
1619
+ "reference": "0fcd45ae82be5817f4b3ad25bc8955968f355412"
1620
+ },
1621
+ "dist": {
1622
+ "type": "zip",
1623
+ "url": "https://api.github.com/repos/nette/safe-stream/zipball/0fcd45ae82be5817f4b3ad25bc8955968f355412",
1624
+ "reference": "0fcd45ae82be5817f4b3ad25bc8955968f355412",
1625
+ "shasum": ""
1626
+ },
1627
+ "require": {
1628
+ "php": ">=5.3.1"
1629
+ },
1630
+ "conflict": {
1631
+ "nette/nette": "<2.2"
1632
+ },
1633
+ "require-dev": {
1634
+ "nette/tester": "~1.7",
1635
+ "tracy/tracy": "^2.3"
1636
+ },
1637
+ "type": "library",
1638
+ "extra": {
1639
+ "branch-alias": {
1640
+ "dev-master": "2.3-dev"
1641
+ }
1642
+ },
1643
+ "autoload": {
1644
+ "files": [
1645
+ "src/loader.php"
1646
+ ]
1647
+ },
1648
+ "notification-url": "https://packagist.org/downloads/",
1649
+ "license": [
1650
+ "BSD-3-Clause",
1651
+ "GPL-2.0",
1652
+ "GPL-3.0"
1653
+ ],
1654
+ "authors": [
1655
+ {
1656
+ "name": "David Grudl",
1657
+ "homepage": "https://davidgrudl.com"
1658
+ },
1659
+ {
1660
+ "name": "Nette Community",
1661
+ "homepage": "https://nette.org/contributors"
1662
+ }
1663
+ ],
1664
+ "description": "Nette SafeStream: atomic and safe manipulation with files via native PHP functions.",
1665
+ "homepage": "https://nette.org",
1666
+ "keywords": [
1667
+ "atomic",
1668
+ "filesystem",
1669
+ "nette",
1670
+ "safe"
1671
+ ],
1672
+ "time": "2017-07-13T18:20:37+00:00"
1673
+ },
1674
+ {
1675
+ "name": "nette/utils",
1676
+ "version": "v2.5.3",
1677
+ "source": {
1678
+ "type": "git",
1679
+ "url": "https://github.com/nette/utils.git",
1680
+ "reference": "17b9f76f2abd0c943adfb556e56f2165460b15ce"
1681
+ },
1682
+ "dist": {
1683
+ "type": "zip",
1684
+ "url": "https://api.github.com/repos/nette/utils/zipball/17b9f76f2abd0c943adfb556e56f2165460b15ce",
1685
+ "reference": "17b9f76f2abd0c943adfb556e56f2165460b15ce",
1686
+ "shasum": ""
1687
+ },
1688
+ "require": {
1689
+ "php": ">=5.6.0"
1690
+ },
1691
+ "conflict": {
1692
+ "nette/nette": "<2.2"
1693
+ },
1694
+ "require-dev": {
1695
+ "nette/tester": "~2.0",
1696
+ "tracy/tracy": "^2.3"
1697
+ },
1698
+ "suggest": {
1699
+ "ext-gd": "to use Image",
1700
+ "ext-iconv": "to use Strings::webalize() and toAscii()",
1701
+ "ext-intl": "for script transliteration in Strings::webalize() and toAscii()",
1702
+ "ext-json": "to use Nette\\Utils\\Json",
1703
+ "ext-mbstring": "to use Strings::lower() etc...",
1704
+ "ext-xml": "to use Strings::length() etc. when mbstring is not available"
1705
+ },
1706
+ "type": "library",
1707
+ "extra": {
1708
+ "branch-alias": {
1709
+ "dev-master": "2.5-dev"
1710
+ }
1711
+ },
1712
+ "autoload": {
1713
+ "classmap": [
1714
+ "src/"
1715
+ ],
1716
+ "files": [
1717
+ "src/loader.php"
1718
+ ]
1719
+ },
1720
+ "notification-url": "https://packagist.org/downloads/",
1721
+ "license": [
1722
+ "BSD-3-Clause",
1723
+ "GPL-2.0",
1724
+ "GPL-3.0"
1725
+ ],
1726
+ "authors": [
1727
+ {
1728
+ "name": "David Grudl",
1729
+ "homepage": "https://davidgrudl.com"
1730
+ },
1731
+ {
1732
+ "name": "Nette Community",
1733
+ "homepage": "https://nette.org/contributors"
1734
+ }
1735
+ ],
1736
+ "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.",
1737
+ "homepage": "https://nette.org",
1738
+ "keywords": [
1739
+ "array",
1740
+ "core",
1741
+ "datetime",
1742
+ "images",
1743
+ "json",
1744
+ "nette",
1745
+ "paginator",
1746
+ "password",
1747
+ "slugify",
1748
+ "string",
1749
+ "unicode",
1750
+ "utf-8",
1751
+ "utility",
1752
+ "validation"
1753
+ ],
1754
+ "time": "2018-09-18T10:22:16+00:00"
1755
+ },
1756
+ {
1757
+ "name": "phar-io/manifest",
1758
+ "version": "1.0.1",
1759
+ "source": {
1760
+ "type": "git",
1761
+ "url": "https://github.com/phar-io/manifest.git",
1762
+ "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0"
1763
+ },
1764
+ "dist": {
1765
+ "type": "zip",
1766
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0",
1767
+ "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0",
1768
+ "shasum": ""
1769
+ },
1770
+ "require": {
1771
+ "ext-dom": "*",
1772
+ "ext-phar": "*",
1773
+ "phar-io/version": "^1.0.1",
1774
+ "php": "^5.6 || ^7.0"
1775
+ },
1776
+ "type": "library",
1777
+ "extra": {
1778
+ "branch-alias": {
1779
+ "dev-master": "1.0.x-dev"
1780
+ }
1781
+ },
1782
+ "autoload": {
1783
+ "classmap": [
1784
+ "src/"
1785
+ ]
1786
+ },
1787
+ "notification-url": "https://packagist.org/downloads/",
1788
+ "license": [
1789
+ "BSD-3-Clause"
1790
+ ],
1791
+ "authors": [
1792
+ {
1793
+ "name": "Arne Blankerts",
1794
+ "email": "arne@blankerts.de",
1795
+ "role": "Developer"
1796
+ },
1797
+ {
1798
+ "name": "Sebastian Heuer",
1799
+ "email": "sebastian@phpeople.de",
1800
+ "role": "Developer"
1801
+ },
1802
+ {
1803
+ "name": "Sebastian Bergmann",
1804
+ "email": "sebastian@phpunit.de",
1805
+ "role": "Developer"
1806
+ }
1807
+ ],
1808
+ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
1809
+ "time": "2017-03-05T18:14:27+00:00"
1810
+ },
1811
+ {
1812
+ "name": "phar-io/version",
1813
+ "version": "1.0.1",
1814
+ "source": {
1815
+ "type": "git",
1816
+ "url": "https://github.com/phar-io/version.git",
1817
+ "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df"
1818
+ },
1819
+ "dist": {
1820
+ "type": "zip",
1821
+ "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df",
1822
+ "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df",
1823
+ "shasum": ""
1824
+ },
1825
+ "require": {
1826
+ "php": "^5.6 || ^7.0"
1827
+ },
1828
+ "type": "library",
1829
+ "autoload": {
1830
+ "classmap": [
1831
+ "src/"
1832
+ ]
1833
+ },
1834
+ "notification-url": "https://packagist.org/downloads/",
1835
+ "license": [
1836
+ "BSD-3-Clause"
1837
+ ],
1838
+ "authors": [
1839
+ {
1840
+ "name": "Arne Blankerts",
1841
+ "email": "arne@blankerts.de",
1842
+ "role": "Developer"
1843
+ },
1844
+ {
1845
+ "name": "Sebastian Heuer",
1846
+ "email": "sebastian@phpeople.de",
1847
+ "role": "Developer"
1848
+ },
1849
+ {
1850
+ "name": "Sebastian Bergmann",
1851
+ "email": "sebastian@phpunit.de",
1852
+ "role": "Developer"
1853
+ }
1854
+ ],
1855
+ "description": "Library for handling version information and constraints",
1856
+ "time": "2017-03-05T17:38:23+00:00"
1857
+ },
1858
+ {
1859
+ "name": "phpdocumentor/reflection-common",
1860
+ "version": "1.0.1",
1861
+ "source": {
1862
+ "type": "git",
1863
+ "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
1864
+ "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
1865
+ },
1866
+ "dist": {
1867
+ "type": "zip",
1868
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
1869
+ "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
1870
+ "shasum": ""
1871
+ },
1872
+ "require": {
1873
+ "php": ">=5.5"
1874
+ },
1875
+ "require-dev": {
1876
+ "phpunit/phpunit": "^4.6"
1877
+ },
1878
+ "type": "library",
1879
+ "extra": {
1880
+ "branch-alias": {
1881
+ "dev-master": "1.0.x-dev"
1882
+ }
1883
+ },
1884
+ "autoload": {
1885
+ "psr-4": {
1886
+ "phpDocumentor\\Reflection\\": [
1887
+ "src"
1888
+ ]
1889
+ }
1890
+ },
1891
+ "notification-url": "https://packagist.org/downloads/",
1892
+ "license": [
1893
+ "MIT"
1894
+ ],
1895
+ "authors": [
1896
+ {
1897
+ "name": "Jaap van Otterdijk",
1898
+ "email": "opensource@ijaap.nl"
1899
+ }
1900
+ ],
1901
+ "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
1902
+ "homepage": "http://www.phpdoc.org",
1903
+ "keywords": [
1904
+ "FQSEN",
1905
+ "phpDocumentor",
1906
+ "phpdoc",
1907
+ "reflection",
1908
+ "static analysis"
1909
+ ],
1910
+ "time": "2017-09-11T18:02:19+00:00"
1911
+ },
1912
+ {
1913
+ "name": "phpdocumentor/reflection-docblock",
1914
+ "version": "4.3.0",
1915
+ "source": {
1916
+ "type": "git",
1917
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
1918
+ "reference": "94fd0001232e47129dd3504189fa1c7225010d08"
1919
+ },
1920
+ "dist": {
1921
+ "type": "zip",
1922
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08",
1923
+ "reference": "94fd0001232e47129dd3504189fa1c7225010d08",
1924
+ "shasum": ""
1925
+ },
1926
+ "require": {
1927
+ "php": "^7.0",
1928
+ "phpdocumentor/reflection-common": "^1.0.0",
1929
+ "phpdocumentor/type-resolver": "^0.4.0",
1930
+ "webmozart/assert": "^1.0"
1931
+ },
1932
+ "require-dev": {
1933
+ "doctrine/instantiator": "~1.0.5",
1934
+ "mockery/mockery": "^1.0",
1935
+ "phpunit/phpunit": "^6.4"
1936
+ },
1937
+ "type": "library",
1938
+ "extra": {
1939
+ "branch-alias": {
1940
+ "dev-master": "4.x-dev"
1941
+ }
1942
+ },
1943
+ "autoload": {
1944
+ "psr-4": {
1945
+ "phpDocumentor\\Reflection\\": [
1946
+ "src/"
1947
+ ]
1948
+ }
1949
+ },
1950
+ "notification-url": "https://packagist.org/downloads/",
1951
+ "license": [
1952
+ "MIT"
1953
+ ],
1954
+ "authors": [
1955
+ {
1956
+ "name": "Mike van Riel",
1957
+ "email": "me@mikevanriel.com"
1958
+ }
1959
+ ],
1960
+ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
1961
+ "time": "2017-11-30T07:14:17+00:00"
1962
+ },
1963
+ {
1964
+ "name": "phpdocumentor/type-resolver",
1965
+ "version": "0.4.0",
1966
+ "source": {
1967
+ "type": "git",
1968
+ "url": "https://github.com/phpDocumentor/TypeResolver.git",
1969
+ "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7"
1970
+ },
1971
+ "dist": {
1972
+ "type": "zip",
1973
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7",
1974
+ "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7",
1975
+ "shasum": ""
1976
+ },
1977
+ "require": {
1978
+ "php": "^5.5 || ^7.0",
1979
+ "phpdocumentor/reflection-common": "^1.0"
1980
+ },
1981
+ "require-dev": {
1982
+ "mockery/mockery": "^0.9.4",
1983
+ "phpunit/phpunit": "^5.2||^4.8.24"
1984
+ },
1985
+ "type": "library",
1986
+ "extra": {
1987
+ "branch-alias": {
1988
+ "dev-master": "1.0.x-dev"
1989
+ }
1990
+ },
1991
+ "autoload": {
1992
+ "psr-4": {
1993
+ "phpDocumentor\\Reflection\\": [
1994
+ "src/"
1995
+ ]
1996
+ }
1997
+ },
1998
+ "notification-url": "https://packagist.org/downloads/",
1999
+ "license": [
2000
+ "MIT"
2001
+ ],
2002
+ "authors": [
2003
+ {
2004
+ "name": "Mike van Riel",
2005
+ "email": "me@mikevanriel.com"
2006
+ }
2007
+ ],
2008
+ "time": "2017-07-14T14:27:02+00:00"
2009
+ },
2010
+ {
2011
+ "name": "phpspec/prophecy",
2012
+ "version": "1.8.0",
2013
+ "source": {
2014
+ "type": "git",
2015
+ "url": "https://github.com/phpspec/prophecy.git",
2016
+ "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06"
2017
+ },
2018
+ "dist": {
2019
+ "type": "zip",
2020
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
2021
+ "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
2022
+ "shasum": ""
2023
+ },
2024
+ "require": {
2025
+ "doctrine/instantiator": "^1.0.2",
2026
+ "php": "^5.3|^7.0",
2027
+ "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
2028
+ "sebastian/comparator": "^1.1|^2.0|^3.0",
2029
+ "sebastian/recursion-context": "^1.0|^2.0|^3.0"
2030
+ },
2031
+ "require-dev": {
2032
+ "phpspec/phpspec": "^2.5|^3.2",
2033
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
2034
+ },
2035
+ "type": "library",
2036
+ "extra": {
2037
+ "branch-alias": {
2038
+ "dev-master": "1.8.x-dev"
2039
+ }
2040
+ },
2041
+ "autoload": {
2042
+ "psr-0": {
2043
+ "Prophecy\\": "src/"
2044
+ }
2045
+ },
2046
+ "notification-url": "https://packagist.org/downloads/",
2047
+ "license": [
2048
+ "MIT"
2049
+ ],
2050
+ "authors": [
2051
+ {
2052
+ "name": "Konstantin Kudryashov",
2053
+ "email": "ever.zet@gmail.com",
2054
+ "homepage": "http://everzet.com"
2055
+ },
2056
+ {
2057
+ "name": "Marcello Duarte",
2058
+ "email": "marcello.duarte@gmail.com"
2059
+ }
2060
+ ],
2061
+ "description": "Highly opinionated mocking framework for PHP 5.3+",
2062
+ "homepage": "https://github.com/phpspec/prophecy",
2063
+ "keywords": [
2064
+ "Double",
2065
+ "Dummy",
2066
+ "fake",
2067
+ "mock",
2068
+ "spy",
2069
+ "stub"
2070
+ ],
2071
+ "time": "2018-08-05T17:53:17+00:00"
2072
+ },
2073
+ {
2074
+ "name": "phpunit/php-code-coverage",
2075
+ "version": "5.3.2",
2076
+ "source": {
2077
+ "type": "git",
2078
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
2079
+ "reference": "c89677919c5dd6d3b3852f230a663118762218ac"
2080
+ },
2081
+ "dist": {
2082
+ "type": "zip",
2083
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c89677919c5dd6d3b3852f230a663118762218ac",
2084
+ "reference": "c89677919c5dd6d3b3852f230a663118762218ac",
2085
+ "shasum": ""
2086
+ },
2087
+ "require": {
2088
+ "ext-dom": "*",
2089
+ "ext-xmlwriter": "*",
2090
+ "php": "^7.0",
2091
+ "phpunit/php-file-iterator": "^1.4.2",
2092
+ "phpunit/php-text-template": "^1.2.1",
2093
+ "phpunit/php-token-stream": "^2.0.1",
2094
+ "sebastian/code-unit-reverse-lookup": "^1.0.1",
2095
+ "sebastian/environment": "^3.0",
2096
+ "sebastian/version": "^2.0.1",
2097
+ "theseer/tokenizer": "^1.1"
2098
+ },
2099
+ "require-dev": {
2100
+ "phpunit/phpunit": "^6.0"
2101
+ },
2102
+ "suggest": {
2103
+ "ext-xdebug": "^2.5.5"
2104
+ },
2105
+ "type": "library",
2106
+ "extra": {
2107
+ "branch-alias": {
2108
+ "dev-master": "5.3.x-dev"
2109
+ }
2110
+ },
2111
+ "autoload": {
2112
+ "classmap": [
2113
+ "src/"
2114
+ ]
2115
+ },
2116
+ "notification-url": "https://packagist.org/downloads/",
2117
+ "license": [
2118
+ "BSD-3-Clause"
2119
+ ],
2120
+ "authors": [
2121
+ {
2122
+ "name": "Sebastian Bergmann",
2123
+ "email": "sebastian@phpunit.de",
2124
+ "role": "lead"
2125
+ }
2126
+ ],
2127
+ "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
2128
+ "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
2129
+ "keywords": [
2130
+ "coverage",
2131
+ "testing",
2132
+ "xunit"
2133
+ ],
2134
+ "time": "2018-04-06T15:36:58+00:00"
2135
+ },
2136
+ {
2137
+ "name": "phpunit/php-file-iterator",
2138
+ "version": "1.4.5",
2139
+ "source": {
2140
+ "type": "git",
2141
+ "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
2142
+ "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
2143
+ },
2144
+ "dist": {
2145
+ "type": "zip",
2146
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
2147
+ "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
2148
+ "shasum": ""
2149
+ },
2150
+ "require": {
2151
+ "php": ">=5.3.3"
2152
+ },
2153
+ "type": "library",
2154
+ "extra": {
2155
+ "branch-alias": {
2156
+ "dev-master": "1.4.x-dev"
2157
+ }
2158
+ },
2159
+ "autoload": {
2160
+ "classmap": [
2161
+ "src/"
2162
+ ]
2163
+ },
2164
+ "notification-url": "https://packagist.org/downloads/",
2165
+ "license": [
2166
+ "BSD-3-Clause"
2167
+ ],
2168
+ "authors": [
2169
+ {
2170
+ "name": "Sebastian Bergmann",
2171
+ "email": "sb@sebastian-bergmann.de",
2172
+ "role": "lead"
2173
+ }
2174
+ ],
2175
+ "description": "FilterIterator implementation that filters files based on a list of suffixes.",
2176
+ "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
2177
+ "keywords": [
2178
+ "filesystem",
2179
+ "iterator"
2180
+ ],
2181
+ "time": "2017-11-27T13:52:08+00:00"
2182
+ },
2183
+ {
2184
+ "name": "phpunit/php-text-template",
2185
+ "version": "1.2.1",
2186
+ "source": {
2187
+ "type": "git",
2188
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
2189
+ "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
2190
+ },
2191
+ "dist": {
2192
+ "type": "zip",
2193
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
2194
+ "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
2195
+ "shasum": ""
2196
+ },
2197
+ "require": {
2198
+ "php": ">=5.3.3"
2199
+ },
2200
+ "type": "library",
2201
+ "autoload": {
2202
+ "classmap": [
2203
+ "src/"
2204
+ ]
2205
+ },
2206
+ "notification-url": "https://packagist.org/downloads/",
2207
+ "license": [
2208
+ "BSD-3-Clause"
2209
+ ],
2210
+ "authors": [
2211
+ {
2212
+ "name": "Sebastian Bergmann",
2213
+ "email": "sebastian@phpunit.de",
2214
+ "role": "lead"
2215
+ }
2216
+ ],
2217
+ "description": "Simple template engine.",
2218
+ "homepage": "https://github.com/sebastianbergmann/php-text-template/",
2219
+ "keywords": [
2220
+ "template"
2221
+ ],
2222
+ "time": "2015-06-21T13:50:34+00:00"
2223
+ },
2224
+ {
2225
+ "name": "phpunit/php-timer",
2226
+ "version": "1.0.9",
2227
+ "source": {
2228
+ "type": "git",
2229
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
2230
+ "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f"
2231
+ },
2232
+ "dist": {
2233
+ "type": "zip",
2234
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
2235
+ "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
2236
+ "shasum": ""
2237
+ },
2238
+ "require": {
2239
+ "php": "^5.3.3 || ^7.0"
2240
+ },
2241
+ "require-dev": {
2242
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
2243
+ },
2244
+ "type": "library",
2245
+ "extra": {
2246
+ "branch-alias": {
2247
+ "dev-master": "1.0-dev"
2248
+ }
2249
+ },
2250
+ "autoload": {
2251
+ "classmap": [
2252
+ "src/"
2253
+ ]
2254
+ },
2255
+ "notification-url": "https://packagist.org/downloads/",
2256
+ "license": [
2257
+ "BSD-3-Clause"
2258
+ ],
2259
+ "authors": [
2260
+ {
2261
+ "name": "Sebastian Bergmann",
2262
+ "email": "sb@sebastian-bergmann.de",
2263
+ "role": "lead"
2264
+ }
2265
+ ],
2266
+ "description": "Utility class for timing",
2267
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
2268
+ "keywords": [
2269
+ "timer"
2270
+ ],
2271
+ "time": "2017-02-26T11:10:40+00:00"
2272
+ },
2273
+ {
2274
+ "name": "phpunit/php-token-stream",
2275
+ "version": "2.0.2",
2276
+ "source": {
2277
+ "type": "git",
2278
+ "url": "https://github.com/sebastianbergmann/php-token-stream.git",
2279
+ "reference": "791198a2c6254db10131eecfe8c06670700904db"
2280
+ },
2281
+ "dist": {
2282
+ "type": "zip",
2283
+ "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db",
2284
+ "reference": "791198a2c6254db10131eecfe8c06670700904db",
2285
+ "shasum": ""
2286
+ },
2287
+ "require": {
2288
+ "ext-tokenizer": "*",
2289
+ "php": "^7.0"
2290
+ },
2291
+ "require-dev": {
2292
+ "phpunit/phpunit": "^6.2.4"
2293
+ },
2294
+ "type": "library",
2295
+ "extra": {
2296
+ "branch-alias": {
2297
+ "dev-master": "2.0-dev"
2298
+ }
2299
+ },
2300
+ "autoload": {
2301
+ "classmap": [
2302
+ "src/"
2303
+ ]
2304
+ },
2305
+ "notification-url": "https://packagist.org/downloads/",
2306
+ "license": [
2307
+ "BSD-3-Clause"
2308
+ ],
2309
+ "authors": [
2310
+ {
2311
+ "name": "Sebastian Bergmann",
2312
+ "email": "sebastian@phpunit.de"
2313
+ }
2314
+ ],
2315
+ "description": "Wrapper around PHP's tokenizer extension.",
2316
+ "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
2317
+ "keywords": [
2318
+ "tokenizer"
2319
+ ],
2320
+ "time": "2017-11-27T05:48:46+00:00"
2321
+ },
2322
+ {
2323
+ "name": "phpunit/phpunit",
2324
+ "version": "6.5.13",
2325
+ "source": {
2326
+ "type": "git",
2327
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
2328
+ "reference": "0973426fb012359b2f18d3bd1e90ef1172839693"
2329
+ },
2330
+ "dist": {
2331
+ "type": "zip",
2332
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0973426fb012359b2f18d3bd1e90ef1172839693",
2333
+ "reference": "0973426fb012359b2f18d3bd1e90ef1172839693",
2334
+ "shasum": ""
2335
+ },
2336
+ "require": {
2337
+ "ext-dom": "*",
2338
+ "ext-json": "*",
2339
+ "ext-libxml": "*",
2340
+ "ext-mbstring": "*",
2341
+ "ext-xml": "*",
2342
+ "myclabs/deep-copy": "^1.6.1",
2343
+ "phar-io/manifest": "^1.0.1",
2344
+ "phar-io/version": "^1.0",
2345
+ "php": "^7.0",
2346
+ "phpspec/prophecy": "^1.7",
2347
+ "phpunit/php-code-coverage": "^5.3",
2348
+ "phpunit/php-file-iterator": "^1.4.3",
2349
+ "phpunit/php-text-template": "^1.2.1",
2350
+ "phpunit/php-timer": "^1.0.9",
2351
+ "phpunit/phpunit-mock-objects": "^5.0.9",
2352
+ "sebastian/comparator": "^2.1",
2353
+ "sebastian/diff": "^2.0",
2354
+ "sebastian/environment": "^3.1",
2355
+ "sebastian/exporter": "^3.1",
2356
+ "sebastian/global-state": "^2.0",
2357
+ "sebastian/object-enumerator": "^3.0.3",
2358
+ "sebastian/resource-operations": "^1.0",
2359
+ "sebastian/version": "^2.0.1"
2360
+ },
2361
+ "conflict": {
2362
+ "phpdocumentor/reflection-docblock": "3.0.2",
2363
+ "phpunit/dbunit": "<3.0"
2364
+ },
2365
+ "require-dev": {
2366
+ "ext-pdo": "*"
2367
+ },
2368
+ "suggest": {
2369
+ "ext-xdebug": "*",
2370
+ "phpunit/php-invoker": "^1.1"
2371
+ },
2372
+ "bin": [
2373
+ "phpunit"
2374
+ ],
2375
+ "type": "library",
2376
+ "extra": {
2377
+ "branch-alias": {
2378
+ "dev-master": "6.5.x-dev"
2379
+ }
2380
+ },
2381
+ "autoload": {
2382
+ "classmap": [
2383
+ "src/"
2384
+ ]
2385
+ },
2386
+ "notification-url": "https://packagist.org/downloads/",
2387
+ "license": [
2388
+ "BSD-3-Clause"
2389
+ ],
2390
+ "authors": [
2391
+ {
2392
+ "name": "Sebastian Bergmann",
2393
+ "email": "sebastian@phpunit.de",
2394
+ "role": "lead"
2395
+ }
2396
+ ],
2397
+ "description": "The PHP Unit Testing framework.",
2398
+ "homepage": "https://phpunit.de/",
2399
+ "keywords": [
2400
+ "phpunit",
2401
+ "testing",
2402
+ "xunit"
2403
+ ],
2404
+ "time": "2018-09-08T15:10:43+00:00"
2405
+ },
2406
+ {
2407
+ "name": "phpunit/phpunit-mock-objects",
2408
+ "version": "5.0.10",
2409
+ "source": {
2410
+ "type": "git",
2411
+ "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
2412
+ "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f"
2413
+ },
2414
+ "dist": {
2415
+ "type": "zip",
2416
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/cd1cf05c553ecfec36b170070573e540b67d3f1f",
2417
+ "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f",
2418
+ "shasum": ""
2419
+ },
2420
+ "require": {
2421
+ "doctrine/instantiator": "^1.0.5",
2422
+ "php": "^7.0",
2423
+ "phpunit/php-text-template": "^1.2.1",
2424
+ "sebastian/exporter": "^3.1"
2425
+ },
2426
+ "conflict": {
2427
+ "phpunit/phpunit": "<6.0"
2428
+ },
2429
+ "require-dev": {
2430
+ "phpunit/phpunit": "^6.5.11"
2431
+ },
2432
+ "suggest": {
2433
+ "ext-soap": "*"
2434
+ },
2435
+ "type": "library",
2436
+ "extra": {
2437
+ "branch-alias": {
2438
+ "dev-master": "5.0.x-dev"
2439
+ }
2440
+ },
2441
+ "autoload": {
2442
+ "classmap": [
2443
+ "src/"
2444
+ ]
2445
+ },
2446
+ "notification-url": "https://packagist.org/downloads/",
2447
+ "license": [
2448
+ "BSD-3-Clause"
2449
+ ],
2450
+ "authors": [
2451
+ {
2452
+ "name": "Sebastian Bergmann",
2453
+ "email": "sebastian@phpunit.de",
2454
+ "role": "lead"
2455
+ }
2456
+ ],
2457
+ "description": "Mock Object library for PHPUnit",
2458
+ "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
2459
+ "keywords": [
2460
+ "mock",
2461
+ "xunit"
2462
+ ],
2463
+ "time": "2018-08-09T05:50:03+00:00"
2464
+ },
2465
+ {
2466
+ "name": "psr/log",
2467
+ "version": "1.1.0",
2468
+ "source": {
2469
+ "type": "git",
2470
+ "url": "https://github.com/php-fig/log.git",
2471
+ "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd"
2472
+ },
2473
+ "dist": {
2474
+ "type": "zip",
2475
+ "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
2476
+ "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
2477
+ "shasum": ""
2478
+ },
2479
+ "require": {
2480
+ "php": ">=5.3.0"
2481
+ },
2482
+ "type": "library",
2483
+ "extra": {
2484
+ "branch-alias": {
2485
+ "dev-master": "1.0.x-dev"
2486
+ }
2487
+ },
2488
+ "autoload": {
2489
+ "psr-4": {
2490
+ "Psr\\Log\\": "Psr/Log/"
2491
+ }
2492
+ },
2493
+ "notification-url": "https://packagist.org/downloads/",
2494
+ "license": [
2495
+ "MIT"
2496
+ ],
2497
+ "authors": [
2498
+ {
2499
+ "name": "PHP-FIG",
2500
+ "homepage": "http://www.php-fig.org/"
2501
+ }
2502
+ ],
2503
+ "description": "Common interface for logging libraries",
2504
+ "homepage": "https://github.com/php-fig/log",
2505
+ "keywords": [
2506
+ "log",
2507
+ "psr",
2508
+ "psr-3"
2509
+ ],
2510
+ "time": "2018-11-20T15:27:04+00:00"
2511
+ },
2512
+ {
2513
+ "name": "sebastian/code-unit-reverse-lookup",
2514
+ "version": "1.0.1",
2515
+ "source": {
2516
+ "type": "git",
2517
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
2518
+ "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18"
2519
+ },
2520
+ "dist": {
2521
+ "type": "zip",
2522
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
2523
+ "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
2524
+ "shasum": ""
2525
+ },
2526
+ "require": {
2527
+ "php": "^5.6 || ^7.0"
2528
+ },
2529
+ "require-dev": {
2530
+ "phpunit/phpunit": "^5.7 || ^6.0"
2531
+ },
2532
+ "type": "library",
2533
+ "extra": {
2534
+ "branch-alias": {
2535
+ "dev-master": "1.0.x-dev"
2536
+ }
2537
+ },
2538
+ "autoload": {
2539
+ "classmap": [
2540
+ "src/"
2541
+ ]
2542
+ },
2543
+ "notification-url": "https://packagist.org/downloads/",
2544
+ "license": [
2545
+ "BSD-3-Clause"
2546
+ ],
2547
+ "authors": [
2548
+ {
2549
+ "name": "Sebastian Bergmann",
2550
+ "email": "sebastian@phpunit.de"
2551
+ }
2552
+ ],
2553
+ "description": "Looks up which function or method a line of code belongs to",
2554
+ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
2555
+ "time": "2017-03-04T06:30:41+00:00"
2556
+ },
2557
+ {
2558
+ "name": "sebastian/comparator",
2559
+ "version": "2.1.3",
2560
+ "source": {
2561
+ "type": "git",
2562
+ "url": "https://github.com/sebastianbergmann/comparator.git",
2563
+ "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9"
2564
+ },
2565
+ "dist": {
2566
+ "type": "zip",
2567
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9",
2568
+ "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9",
2569
+ "shasum": ""
2570
+ },
2571
+ "require": {
2572
+ "php": "^7.0",
2573
+ "sebastian/diff": "^2.0 || ^3.0",
2574
+ "sebastian/exporter": "^3.1"
2575
+ },
2576
+ "require-dev": {
2577
+ "phpunit/phpunit": "^6.4"
2578
+ },
2579
+ "type": "library",
2580
+ "extra": {
2581
+ "branch-alias": {
2582
+ "dev-master": "2.1.x-dev"
2583
+ }
2584
+ },
2585
+ "autoload": {
2586
+ "classmap": [
2587
+ "src/"
2588
+ ]
2589
+ },
2590
+ "notification-url": "https://packagist.org/downloads/",
2591
+ "license": [
2592
+ "BSD-3-Clause"
2593
+ ],
2594
+ "authors": [
2595
+ {
2596
+ "name": "Jeff Welch",
2597
+ "email": "whatthejeff@gmail.com"
2598
+ },
2599
+ {
2600
+ "name": "Volker Dusch",
2601
+ "email": "github@wallbash.com"
2602
+ },
2603
+ {
2604
+ "name": "Bernhard Schussek",
2605
+ "email": "bschussek@2bepublished.at"
2606
+ },
2607
+ {
2608
+ "name": "Sebastian Bergmann",
2609
+ "email": "sebastian@phpunit.de"
2610
+ }
2611
+ ],
2612
+ "description": "Provides the functionality to compare PHP values for equality",
2613
+ "homepage": "https://github.com/sebastianbergmann/comparator",
2614
+ "keywords": [
2615
+ "comparator",
2616
+ "compare",
2617
+ "equality"
2618
+ ],
2619
+ "time": "2018-02-01T13:46:46+00:00"
2620
+ },
2621
+ {
2622
+ "name": "sebastian/diff",
2623
+ "version": "2.0.1",
2624
+ "source": {
2625
+ "type": "git",
2626
+ "url": "https://github.com/sebastianbergmann/diff.git",
2627
+ "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd"
2628
+ },
2629
+ "dist": {
2630
+ "type": "zip",
2631
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/347c1d8b49c5c3ee30c7040ea6fc446790e6bddd",
2632
+ "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd",
2633
+ "shasum": ""
2634
+ },
2635
+ "require": {
2636
+ "php": "^7.0"
2637
+ },
2638
+ "require-dev": {
2639
+ "phpunit/phpunit": "^6.2"
2640
+ },
2641
+ "type": "library",
2642
+ "extra": {
2643
+ "branch-alias": {
2644
+ "dev-master": "2.0-dev"
2645
+ }
2646
+ },
2647
+ "autoload": {
2648
+ "classmap": [
2649
+ "src/"
2650
+ ]
2651
+ },
2652
+ "notification-url": "https://packagist.org/downloads/",
2653
+ "license": [
2654
+ "BSD-3-Clause"
2655
+ ],
2656
+ "authors": [
2657
+ {
2658
+ "name": "Kore Nordmann",
2659
+ "email": "mail@kore-nordmann.de"
2660
+ },
2661
+ {
2662
+ "name": "Sebastian Bergmann",
2663
+ "email": "sebastian@phpunit.de"
2664
+ }
2665
+ ],
2666
+ "description": "Diff implementation",
2667
+ "homepage": "https://github.com/sebastianbergmann/diff",
2668
+ "keywords": [
2669
+ "diff"
2670
+ ],
2671
+ "time": "2017-08-03T08:09:46+00:00"
2672
+ },
2673
+ {
2674
+ "name": "sebastian/environment",
2675
+ "version": "3.1.0",
2676
+ "source": {
2677
+ "type": "git",
2678
+ "url": "https://github.com/sebastianbergmann/environment.git",
2679
+ "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5"
2680
+ },
2681
+ "dist": {
2682
+ "type": "zip",
2683
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5",
2684
+ "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5",
2685
+ "shasum": ""
2686
+ },
2687
+ "require": {
2688
+ "php": "^7.0"
2689
+ },
2690
+ "require-dev": {
2691
+ "phpunit/phpunit": "^6.1"
2692
+ },
2693
+ "type": "library",
2694
+ "extra": {
2695
+ "branch-alias": {
2696
+ "dev-master": "3.1.x-dev"
2697
+ }
2698
+ },
2699
+ "autoload": {
2700
+ "classmap": [
2701
+ "src/"
2702
+ ]
2703
+ },
2704
+ "notification-url": "https://packagist.org/downloads/",
2705
+ "license": [
2706
+ "BSD-3-Clause"
2707
+ ],
2708
+ "authors": [
2709
+ {
2710
+ "name": "Sebastian Bergmann",
2711
+ "email": "sebastian@phpunit.de"
2712
+ }
2713
+ ],
2714
+ "description": "Provides functionality to handle HHVM/PHP environments",
2715
+ "homepage": "http://www.github.com/sebastianbergmann/environment",
2716
+ "keywords": [
2717
+ "Xdebug",
2718
+ "environment",
2719
+ "hhvm"
2720
+ ],
2721
+ "time": "2017-07-01T08:51:00+00:00"
2722
+ },
2723
+ {
2724
+ "name": "sebastian/exporter",
2725
+ "version": "3.1.0",
2726
+ "source": {
2727
+ "type": "git",
2728
+ "url": "https://github.com/sebastianbergmann/exporter.git",
2729
+ "reference": "234199f4528de6d12aaa58b612e98f7d36adb937"
2730
+ },
2731
+ "dist": {
2732
+ "type": "zip",
2733
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937",
2734
+ "reference": "234199f4528de6d12aaa58b612e98f7d36adb937",
2735
+ "shasum": ""
2736
+ },
2737
+ "require": {
2738
+ "php": "^7.0",
2739
+ "sebastian/recursion-context": "^3.0"
2740
+ },
2741
+ "require-dev": {
2742
+ "ext-mbstring": "*",
2743
+ "phpunit/phpunit": "^6.0"
2744
+ },
2745
+ "type": "library",
2746
+ "extra": {
2747
+ "branch-alias": {
2748
+ "dev-master": "3.1.x-dev"
2749
+ }
2750
+ },
2751
+ "autoload": {
2752
+ "classmap": [
2753
+ "src/"
2754
+ ]
2755
+ },
2756
+ "notification-url": "https://packagist.org/downloads/",
2757
+ "license": [
2758
+ "BSD-3-Clause"
2759
+ ],
2760
+ "authors": [
2761
+ {
2762
+ "name": "Jeff Welch",
2763
+ "email": "whatthejeff@gmail.com"
2764
+ },
2765
+ {
2766
+ "name": "Volker Dusch",
2767
+ "email": "github@wallbash.com"
2768
+ },
2769
+ {
2770
+ "name": "Bernhard Schussek",
2771
+ "email": "bschussek@2bepublished.at"
2772
+ },
2773
+ {
2774
+ "name": "Sebastian Bergmann",
2775
+ "email": "sebastian@phpunit.de"
2776
+ },
2777
+ {
2778
+ "name": "Adam Harvey",
2779
+ "email": "aharvey@php.net"
2780
+ }
2781
+ ],
2782
+ "description": "Provides the functionality to export PHP variables for visualization",
2783
+ "homepage": "http://www.github.com/sebastianbergmann/exporter",
2784
+ "keywords": [
2785
+ "export",
2786
+ "exporter"
2787
+ ],
2788
+ "time": "2017-04-03T13:19:02+00:00"
2789
+ },
2790
+ {
2791
+ "name": "sebastian/global-state",
2792
+ "version": "2.0.0",
2793
+ "source": {
2794
+ "type": "git",
2795
+ "url": "https://github.com/sebastianbergmann/global-state.git",
2796
+ "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4"
2797
+ },
2798
+ "dist": {
2799
+ "type": "zip",
2800
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4",
2801
+ "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4",
2802
+ "shasum": ""
2803
+ },
2804
+ "require": {
2805
+ "php": "^7.0"
2806
+ },
2807
+ "require-dev": {
2808
+ "phpunit/phpunit": "^6.0"
2809
+ },
2810
+ "suggest": {
2811
+ "ext-uopz": "*"
2812
+ },
2813
+ "type": "library",
2814
+ "extra": {
2815
+ "branch-alias": {
2816
+ "dev-master": "2.0-dev"
2817
+ }
2818
+ },
2819
+ "autoload": {
2820
+ "classmap": [
2821
+ "src/"
2822
+ ]
2823
+ },
2824
+ "notification-url": "https://packagist.org/downloads/",
2825
+ "license": [
2826
+ "BSD-3-Clause"
2827
+ ],
2828
+ "authors": [
2829
+ {
2830
+ "name": "Sebastian Bergmann",
2831
+ "email": "sebastian@phpunit.de"
2832
+ }
2833
+ ],
2834
+ "description": "Snapshotting of global state",
2835
+ "homepage": "http://www.github.com/sebastianbergmann/global-state",
2836
+ "keywords": [
2837
+ "global state"
2838
+ ],
2839
+ "time": "2017-04-27T15:39:26+00:00"
2840
+ },
2841
+ {
2842
+ "name": "sebastian/object-enumerator",
2843
+ "version": "3.0.3",
2844
+ "source": {
2845
+ "type": "git",
2846
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
2847
+ "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5"
2848
+ },
2849
+ "dist": {
2850
+ "type": "zip",
2851
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5",
2852
+ "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5",
2853
+ "shasum": ""
2854
+ },
2855
+ "require": {
2856
+ "php": "^7.0",
2857
+ "sebastian/object-reflector": "^1.1.1",
2858
+ "sebastian/recursion-context": "^3.0"
2859
+ },
2860
+ "require-dev": {
2861
+ "phpunit/phpunit": "^6.0"
2862
+ },
2863
+ "type": "library",
2864
+ "extra": {
2865
+ "branch-alias": {
2866
+ "dev-master": "3.0.x-dev"
2867
+ }
2868
+ },
2869
+ "autoload": {
2870
+ "classmap": [
2871
+ "src/"
2872
+ ]
2873
+ },
2874
+ "notification-url": "https://packagist.org/downloads/",
2875
+ "license": [
2876
+ "BSD-3-Clause"
2877
+ ],
2878
+ "authors": [
2879
+ {
2880
+ "name": "Sebastian Bergmann",
2881
+ "email": "sebastian@phpunit.de"
2882
+ }
2883
+ ],
2884
+ "description": "Traverses array structures and object graphs to enumerate all referenced objects",
2885
+ "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
2886
+ "time": "2017-08-03T12:35:26+00:00"
2887
+ },
2888
+ {
2889
+ "name": "sebastian/object-reflector",
2890
+ "version": "1.1.1",
2891
+ "source": {
2892
+ "type": "git",
2893
+ "url": "https://github.com/sebastianbergmann/object-reflector.git",
2894
+ "reference": "773f97c67f28de00d397be301821b06708fca0be"
2895
+ },
2896
+ "dist": {
2897
+ "type": "zip",
2898
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be",
2899
+ "reference": "773f97c67f28de00d397be301821b06708fca0be",
2900
+ "shasum": ""
2901
+ },
2902
+ "require": {
2903
+ "php": "^7.0"
2904
+ },
2905
+ "require-dev": {
2906
+ "phpunit/phpunit": "^6.0"
2907
+ },
2908
+ "type": "library",
2909
+ "extra": {
2910
+ "branch-alias": {
2911
+ "dev-master": "1.1-dev"
2912
+ }
2913
+ },
2914
+ "autoload": {
2915
+ "classmap": [
2916
+ "src/"
2917
+ ]
2918
+ },
2919
+ "notification-url": "https://packagist.org/downloads/",
2920
+ "license": [
2921
+ "BSD-3-Clause"
2922
+ ],
2923
+ "authors": [
2924
+ {
2925
+ "name": "Sebastian Bergmann",
2926
+ "email": "sebastian@phpunit.de"
2927
+ }
2928
+ ],
2929
+ "description": "Allows reflection of object attributes, including inherited and non-public ones",
2930
+ "homepage": "https://github.com/sebastianbergmann/object-reflector/",
2931
+ "time": "2017-03-29T09:07:27+00:00"
2932
+ },
2933
+ {
2934
+ "name": "sebastian/recursion-context",
2935
+ "version": "3.0.0",
2936
+ "source": {
2937
+ "type": "git",
2938
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
2939
+ "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8"
2940
+ },
2941
+ "dist": {
2942
+ "type": "zip",
2943
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
2944
+ "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
2945
+ "shasum": ""
2946
+ },
2947
+ "require": {
2948
+ "php": "^7.0"
2949
+ },
2950
+ "require-dev": {
2951
+ "phpunit/phpunit": "^6.0"
2952
+ },
2953
+ "type": "library",
2954
+ "extra": {
2955
+ "branch-alias": {
2956
+ "dev-master": "3.0.x-dev"
2957
+ }
2958
+ },
2959
+ "autoload": {
2960
+ "classmap": [
2961
+ "src/"
2962
+ ]
2963
+ },
2964
+ "notification-url": "https://packagist.org/downloads/",
2965
+ "license": [
2966
+ "BSD-3-Clause"
2967
+ ],
2968
+ "authors": [
2969
+ {
2970
+ "name": "Jeff Welch",
2971
+ "email": "whatthejeff@gmail.com"
2972
+ },
2973
+ {
2974
+ "name": "Sebastian Bergmann",
2975
+ "email": "sebastian@phpunit.de"
2976
+ },
2977
+ {
2978
+ "name": "Adam Harvey",
2979
+ "email": "aharvey@php.net"
2980
+ }
2981
+ ],
2982
+ "description": "Provides functionality to recursively process PHP variables",
2983
+ "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
2984
+ "time": "2017-03-03T06:23:57+00:00"
2985
+ },
2986
+ {
2987
+ "name": "sebastian/resource-operations",
2988
+ "version": "1.0.0",
2989
+ "source": {
2990
+ "type": "git",
2991
+ "url": "https://github.com/sebastianbergmann/resource-operations.git",
2992
+ "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52"
2993
+ },
2994
+ "dist": {
2995
+ "type": "zip",
2996
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
2997
+ "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
2998
+ "shasum": ""
2999
+ },
3000
+ "require": {
3001
+ "php": ">=5.6.0"
3002
+ },
3003
+ "type": "library",
3004
+ "extra": {
3005
+ "branch-alias": {
3006
+ "dev-master": "1.0.x-dev"
3007
+ }
3008
+ },
3009
+ "autoload": {
3010
+ "classmap": [
3011
+ "src/"
3012
+ ]
3013
+ },
3014
+ "notification-url": "https://packagist.org/downloads/",
3015
+ "license": [
3016
+ "BSD-3-Clause"
3017
+ ],
3018
+ "authors": [
3019
+ {
3020
+ "name": "Sebastian Bergmann",
3021
+ "email": "sebastian@phpunit.de"
3022
+ }
3023
+ ],
3024
+ "description": "Provides a list of PHP built-in functions that operate on resources",
3025
+ "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
3026
+ "time": "2015-07-28T20:34:47+00:00"
3027
+ },
3028
+ {
3029
+ "name": "sebastian/version",
3030
+ "version": "2.0.1",
3031
+ "source": {
3032
+ "type": "git",
3033
+ "url": "https://github.com/sebastianbergmann/version.git",
3034
+ "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019"
3035
+ },
3036
+ "dist": {
3037
+ "type": "zip",
3038
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
3039
+ "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
3040
+ "shasum": ""
3041
+ },
3042
+ "require": {
3043
+ "php": ">=5.6"
3044
+ },
3045
+ "type": "library",
3046
+ "extra": {
3047
+ "branch-alias": {
3048
+ "dev-master": "2.0.x-dev"
3049
+ }
3050
+ },
3051
+ "autoload": {
3052
+ "classmap": [
3053
+ "src/"
3054
+ ]
3055
+ },
3056
+ "notification-url": "https://packagist.org/downloads/",
3057
+ "license": [
3058
+ "BSD-3-Clause"
3059
+ ],
3060
+ "authors": [
3061
+ {
3062
+ "name": "Sebastian Bergmann",
3063
+ "email": "sebastian@phpunit.de",
3064
+ "role": "lead"
3065
+ }
3066
+ ],
3067
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
3068
+ "homepage": "https://github.com/sebastianbergmann/version",
3069
+ "time": "2016-10-03T07:35:21+00:00"
3070
+ },
3071
+ {
3072
+ "name": "seld/jsonlint",
3073
+ "version": "1.7.1",
3074
+ "source": {
3075
+ "type": "git",
3076
+ "url": "https://github.com/Seldaek/jsonlint.git",
3077
+ "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38"
3078
+ },
3079
+ "dist": {
3080
+ "type": "zip",
3081
+ "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/d15f59a67ff805a44c50ea0516d2341740f81a38",
3082
+ "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38",
3083
+ "shasum": ""
3084
+ },
3085
+ "require": {
3086
+ "php": "^5.3 || ^7.0"
3087
+ },
3088
+ "require-dev": {
3089
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
3090
+ },
3091
+ "bin": [
3092
+ "bin/jsonlint"
3093
+ ],
3094
+ "type": "library",
3095
+ "autoload": {
3096
+ "psr-4": {
3097
+ "Seld\\JsonLint\\": "src/Seld/JsonLint/"
3098
+ }
3099
+ },
3100
+ "notification-url": "https://packagist.org/downloads/",
3101
+ "license": [
3102
+ "MIT"
3103
+ ],
3104
+ "authors": [
3105
+ {
3106
+ "name": "Jordi Boggiano",
3107
+ "email": "j.boggiano@seld.be",
3108
+ "homepage": "http://seld.be"
3109
+ }
3110
+ ],
3111
+ "description": "JSON Linter",
3112
+ "keywords": [
3113
+ "json",
3114
+ "linter",
3115
+ "parser",
3116
+ "validator"
3117
+ ],
3118
+ "time": "2018-01-24T12:46:19+00:00"
3119
+ },
3120
+ {
3121
+ "name": "symfony/console",
3122
+ "version": "v2.8.49",
3123
+ "source": {
3124
+ "type": "git",
3125
+ "url": "https://github.com/symfony/console.git",
3126
+ "reference": "cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12"
3127
+ },
3128
+ "dist": {
3129
+ "type": "zip",
3130
+ "url": "https://api.github.com/repos/symfony/console/zipball/cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12",
3131
+ "reference": "cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12",
3132
+ "shasum": ""
3133
+ },
3134
+ "require": {
3135
+ "php": ">=5.3.9",
3136
+ "symfony/debug": "^2.7.2|~3.0.0",
3137
+ "symfony/polyfill-mbstring": "~1.0"
3138
+ },
3139
+ "require-dev": {
3140
+ "psr/log": "~1.0",
3141
+ "symfony/event-dispatcher": "~2.1|~3.0.0",
3142
+ "symfony/process": "~2.1|~3.0.0"
3143
+ },
3144
+ "suggest": {
3145
+ "psr/log-implementation": "For using the console logger",
3146
+ "symfony/event-dispatcher": "",
3147
+ "symfony/process": ""
3148
+ },
3149
+ "type": "library",
3150
+ "extra": {
3151
+ "branch-alias": {
3152
+ "dev-master": "2.8-dev"
3153
+ }
3154
+ },
3155
+ "autoload": {
3156
+ "psr-4": {
3157
+ "Symfony\\Component\\Console\\": ""
3158
+ },
3159
+ "exclude-from-classmap": [
3160
+ "/Tests/"
3161
+ ]
3162
+ },
3163
+ "notification-url": "https://packagist.org/downloads/",
3164
+ "license": [
3165
+ "MIT"
3166
+ ],
3167
+ "authors": [
3168
+ {
3169
+ "name": "Fabien Potencier",
3170
+ "email": "fabien@symfony.com"
3171
+ },
3172
+ {
3173
+ "name": "Symfony Community",
3174
+ "homepage": "https://symfony.com/contributors"
3175
+ }
3176
+ ],
3177
+ "description": "Symfony Console Component",
3178
+ "homepage": "https://symfony.com",
3179
+ "time": "2018-11-20T15:55:20+00:00"
3180
+ },
3181
+ {
3182
+ "name": "symfony/debug",
3183
+ "version": "v3.0.9",
3184
+ "source": {
3185
+ "type": "git",
3186
+ "url": "https://github.com/symfony/debug.git",
3187
+ "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a"
3188
+ },
3189
+ "dist": {
3190
+ "type": "zip",
3191
+ "url": "https://api.github.com/repos/symfony/debug/zipball/697c527acd9ea1b2d3efac34d9806bf255278b0a",
3192
+ "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a",
3193
+ "shasum": ""
3194
+ },
3195
+ "require": {
3196
+ "php": ">=5.5.9",
3197
+ "psr/log": "~1.0"
3198
+ },
3199
+ "conflict": {
3200
+ "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
3201
+ },
3202
+ "require-dev": {
3203
+ "symfony/class-loader": "~2.8|~3.0",
3204
+ "symfony/http-kernel": "~2.8|~3.0"
3205
+ },
3206
+ "type": "library",
3207
+ "extra": {
3208
+ "branch-alias": {
3209
+ "dev-master": "3.0-dev"
3210
+ }
3211
+ },
3212
+ "autoload": {
3213
+ "psr-4": {
3214
+ "Symfony\\Component\\Debug\\": ""
3215
+ },
3216
+ "exclude-from-classmap": [
3217
+ "/Tests/"
3218
+ ]
3219
+ },
3220
+ "notification-url": "https://packagist.org/downloads/",
3221
+ "license": [
3222
+ "MIT"
3223
+ ],
3224
+ "authors": [
3225
+ {
3226
+ "name": "Fabien Potencier",
3227
+ "email": "fabien@symfony.com"
3228
+ },
3229
+ {
3230
+ "name": "Symfony Community",
3231
+ "homepage": "https://symfony.com/contributors"
3232
+ }
3233
+ ],
3234
+ "description": "Symfony Debug Component",
3235
+ "homepage": "https://symfony.com",
3236
+ "time": "2016-07-30T07:22:48+00:00"
3237
+ },
3238
+ {
3239
+ "name": "symfony/options-resolver",
3240
+ "version": "v2.6.13",
3241
+ "target-dir": "Symfony/Component/OptionsResolver",
3242
+ "source": {
3243
+ "type": "git",
3244
+ "url": "https://github.com/symfony/options-resolver.git",
3245
+ "reference": "31e56594cee489e9a235b852228b0598b52101c1"
3246
+ },
3247
+ "dist": {
3248
+ "type": "zip",
3249
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/31e56594cee489e9a235b852228b0598b52101c1",
3250
+ "reference": "31e56594cee489e9a235b852228b0598b52101c1",
3251
+ "shasum": ""
3252
+ },
3253
+ "require": {
3254
+ "php": ">=5.3.3"
3255
+ },
3256
+ "require-dev": {
3257
+ "symfony/phpunit-bridge": "~2.7"
3258
+ },
3259
+ "type": "library",
3260
+ "extra": {
3261
+ "branch-alias": {
3262
+ "dev-master": "2.6-dev"
3263
+ }
3264
+ },
3265
+ "autoload": {
3266
+ "psr-0": {
3267
+ "Symfony\\Component\\OptionsResolver\\": ""
3268
+ }
3269
+ },
3270
+ "notification-url": "https://packagist.org/downloads/",
3271
+ "license": [
3272
+ "MIT"
3273
+ ],
3274
+ "authors": [
3275
+ {
3276
+ "name": "Fabien Potencier",
3277
+ "email": "fabien@symfony.com"
3278
+ },
3279
+ {
3280
+ "name": "Symfony Community",
3281
+ "homepage": "https://symfony.com/contributors"
3282
+ }
3283
+ ],
3284
+ "description": "Symfony OptionsResolver Component",
3285
+ "homepage": "https://symfony.com",
3286
+ "keywords": [
3287
+ "config",
3288
+ "configuration",
3289
+ "options"
3290
+ ],
3291
+ "time": "2015-05-13T11:33:56+00:00"
3292
+ },
3293
+ {
3294
+ "name": "symfony/polyfill-ctype",
3295
+ "version": "v1.10.0",
3296
+ "source": {
3297
+ "type": "git",
3298
+ "url": "https://github.com/symfony/polyfill-ctype.git",
3299
+ "reference": "e3d826245268269cd66f8326bd8bc066687b4a19"
3300
+ },
3301
+ "dist": {
3302
+ "type": "zip",
3303
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19",
3304
+ "reference": "e3d826245268269cd66f8326bd8bc066687b4a19",
3305
+ "shasum": ""
3306
+ },
3307
+ "require": {
3308
+ "php": ">=5.3.3"
3309
+ },
3310
+ "suggest": {
3311
+ "ext-ctype": "For best performance"
3312
+ },
3313
+ "type": "library",
3314
+ "extra": {
3315
+ "branch-alias": {
3316
+ "dev-master": "1.9-dev"
3317
+ }
3318
+ },
3319
+ "autoload": {
3320
+ "psr-4": {
3321
+ "Symfony\\Polyfill\\Ctype\\": ""
3322
+ },
3323
+ "files": [
3324
+ "bootstrap.php"
3325
+ ]
3326
+ },
3327
+ "notification-url": "https://packagist.org/downloads/",
3328
+ "license": [
3329
+ "MIT"
3330
+ ],
3331
+ "authors": [
3332
+ {
3333
+ "name": "Symfony Community",
3334
+ "homepage": "https://symfony.com/contributors"
3335
+ },
3336
+ {
3337
+ "name": "Gert de Pagter",
3338
+ "email": "backendtea@gmail.com"
3339
+ }
3340
+ ],
3341
+ "description": "Symfony polyfill for ctype functions",
3342
+ "homepage": "https://symfony.com",
3343
+ "keywords": [
3344
+ "compatibility",
3345
+ "ctype",
3346
+ "polyfill",
3347
+ "portable"
3348
+ ],
3349
+ "time": "2018-08-06T14:22:27+00:00"
3350
+ },
3351
+ {
3352
+ "name": "symfony/polyfill-mbstring",
3353
+ "version": "v1.10.0",
3354
+ "source": {
3355
+ "type": "git",
3356
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
3357
+ "reference": "c79c051f5b3a46be09205c73b80b346e4153e494"
3358
+ },
3359
+ "dist": {
3360
+ "type": "zip",
3361
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494",
3362
+ "reference": "c79c051f5b3a46be09205c73b80b346e4153e494",
3363
+ "shasum": ""
3364
+ },
3365
+ "require": {
3366
+ "php": ">=5.3.3"
3367
+ },
3368
+ "suggest": {
3369
+ "ext-mbstring": "For best performance"
3370
+ },
3371
+ "type": "library",
3372
+ "extra": {
3373
+ "branch-alias": {
3374
+ "dev-master": "1.9-dev"
3375
+ }
3376
+ },
3377
+ "autoload": {
3378
+ "psr-4": {
3379
+ "Symfony\\Polyfill\\Mbstring\\": ""
3380
+ },
3381
+ "files": [
3382
+ "bootstrap.php"
3383
+ ]
3384
+ },
3385
+ "notification-url": "https://packagist.org/downloads/",
3386
+ "license": [
3387
+ "MIT"
3388
+ ],
3389
+ "authors": [
3390
+ {
3391
+ "name": "Nicolas Grekas",
3392
+ "email": "p@tchwork.com"
3393
+ },
3394
+ {
3395
+ "name": "Symfony Community",
3396
+ "homepage": "https://symfony.com/contributors"
3397
+ }
3398
+ ],
3399
+ "description": "Symfony polyfill for the Mbstring extension",
3400
+ "homepage": "https://symfony.com",
3401
+ "keywords": [
3402
+ "compatibility",
3403
+ "mbstring",
3404
+ "polyfill",
3405
+ "portable",
3406
+ "shim"
3407
+ ],
3408
+ "time": "2018-09-21T13:07:52+00:00"
3409
+ },
3410
+ {
3411
+ "name": "symfony/yaml",
3412
+ "version": "v2.8.49",
3413
+ "source": {
3414
+ "type": "git",
3415
+ "url": "https://github.com/symfony/yaml.git",
3416
+ "reference": "02c1859112aa779d9ab394ae4f3381911d84052b"
3417
+ },
3418
+ "dist": {
3419
+ "type": "zip",
3420
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/02c1859112aa779d9ab394ae4f3381911d84052b",
3421
+ "reference": "02c1859112aa779d9ab394ae4f3381911d84052b",
3422
+ "shasum": ""
3423
+ },
3424
+ "require": {
3425
+ "php": ">=5.3.9",
3426
+ "symfony/polyfill-ctype": "~1.8"
3427
+ },
3428
+ "type": "library",
3429
+ "extra": {
3430
+ "branch-alias": {
3431
+ "dev-master": "2.8-dev"
3432
+ }
3433
+ },
3434
+ "autoload": {
3435
+ "psr-4": {
3436
+ "Symfony\\Component\\Yaml\\": ""
3437
+ },
3438
+ "exclude-from-classmap": [
3439
+ "/Tests/"
3440
+ ]
3441
+ },
3442
+ "notification-url": "https://packagist.org/downloads/",
3443
+ "license": [
3444
+ "MIT"
3445
+ ],
3446
+ "authors": [
3447
+ {
3448
+ "name": "Fabien Potencier",
3449
+ "email": "fabien@symfony.com"
3450
+ },
3451
+ {
3452
+ "name": "Symfony Community",
3453
+ "homepage": "https://symfony.com/contributors"
3454
+ }
3455
+ ],
3456
+ "description": "Symfony Yaml Component",
3457
+ "homepage": "https://symfony.com",
3458
+ "time": "2018-11-11T11:18:13+00:00"
3459
+ },
3460
+ {
3461
+ "name": "theseer/tokenizer",
3462
+ "version": "1.1.0",
3463
+ "source": {
3464
+ "type": "git",
3465
+ "url": "https://github.com/theseer/tokenizer.git",
3466
+ "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b"
3467
+ },
3468
+ "dist": {
3469
+ "type": "zip",
3470
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b",
3471
+ "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b",
3472
+ "shasum": ""
3473
+ },
3474
+ "require": {
3475
+ "ext-dom": "*",
3476
+ "ext-tokenizer": "*",
3477
+ "ext-xmlwriter": "*",
3478
+ "php": "^7.0"
3479
+ },
3480
+ "type": "library",
3481
+ "autoload": {
3482
+ "classmap": [
3483
+ "src/"
3484
+ ]
3485
+ },
3486
+ "notification-url": "https://packagist.org/downloads/",
3487
+ "license": [
3488
+ "BSD-3-Clause"
3489
+ ],
3490
+ "authors": [
3491
+ {
3492
+ "name": "Arne Blankerts",
3493
+ "email": "arne@blankerts.de",
3494
+ "role": "Developer"
3495
+ }
3496
+ ],
3497
+ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
3498
+ "time": "2017-04-07T12:08:54+00:00"
3499
+ },
3500
+ {
3501
+ "name": "tracy/tracy",
3502
+ "version": "v2.5.5",
3503
+ "source": {
3504
+ "type": "git",
3505
+ "url": "https://github.com/nette/tracy.git",
3506
+ "reference": "35fa649b483b28e16f61de07110ea0585fc8d6ea"
3507
+ },
3508
+ "dist": {
3509
+ "type": "zip",
3510
+ "url": "https://api.github.com/repos/nette/tracy/zipball/35fa649b483b28e16f61de07110ea0585fc8d6ea",
3511
+ "reference": "35fa649b483b28e16f61de07110ea0585fc8d6ea",
3512
+ "shasum": ""
3513
+ },
3514
+ "require": {
3515
+ "ext-json": "*",
3516
+ "ext-session": "*",
3517
+ "php": ">=5.4.4"
3518
+ },
3519
+ "require-dev": {
3520
+ "nette/di": "~2.3",
3521
+ "nette/tester": "~1.7",
3522
+ "nette/utils": "~2.3"
3523
+ },
3524
+ "suggest": {
3525
+ "https://nette.org/donate": "Please support Tracy via a donation"
3526
+ },
3527
+ "type": "library",
3528
+ "extra": {
3529
+ "branch-alias": {
3530
+ "dev-master": "2.5-dev"
3531
+ }
3532
+ },
3533
+ "autoload": {
3534
+ "classmap": [
3535
+ "src"
3536
+ ],
3537
+ "files": [
3538
+ "src/shortcuts.php"
3539
+ ]
3540
+ },
3541
+ "notification-url": "https://packagist.org/downloads/",
3542
+ "license": [
3543
+ "BSD-3-Clause"
3544
+ ],
3545
+ "authors": [
3546
+ {
3547
+ "name": "David Grudl",
3548
+ "homepage": "https://davidgrudl.com"
3549
+ },
3550
+ {
3551
+ "name": "Nette Community",
3552
+ "homepage": "https://nette.org/contributors"
3553
+ }
3554
+ ],
3555
+ "description": "😎 Tracy: the addictive tool to ease debugging PHP code for cool developers. Friendly design, logging, profiler, advanced features like debugging AJAX calls or CLI support. You will love it.",
3556
+ "homepage": "https://tracy.nette.org",
3557
+ "keywords": [
3558
+ "Xdebug",
3559
+ "debug",
3560
+ "debugger",
3561
+ "nette",
3562
+ "profiler"
3563
+ ],
3564
+ "time": "2018-11-05T15:10:59+00:00"
3565
+ },
3566
+ {
3567
+ "name": "webmozart/assert",
3568
+ "version": "1.4.0",
3569
+ "source": {
3570
+ "type": "git",
3571
+ "url": "https://github.com/webmozart/assert.git",
3572
+ "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9"
3573
+ },
3574
+ "dist": {
3575
+ "type": "zip",
3576
+ "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9",
3577
+ "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9",
3578
+ "shasum": ""
3579
+ },
3580
+ "require": {
3581
+ "php": "^5.3.3 || ^7.0",
3582
+ "symfony/polyfill-ctype": "^1.8"
3583
+ },
3584
+ "require-dev": {
3585
+ "phpunit/phpunit": "^4.6",
3586
+ "sebastian/version": "^1.0.1"
3587
+ },
3588
+ "type": "library",
3589
+ "extra": {
3590
+ "branch-alias": {
3591
+ "dev-master": "1.3-dev"
3592
+ }
3593
+ },
3594
+ "autoload": {
3595
+ "psr-4": {
3596
+ "Webmozart\\Assert\\": "src/"
3597
+ }
3598
+ },
3599
+ "notification-url": "https://packagist.org/downloads/",
3600
+ "license": [
3601
+ "MIT"
3602
+ ],
3603
+ "authors": [
3604
+ {
3605
+ "name": "Bernhard Schussek",
3606
+ "email": "bschussek@gmail.com"
3607
+ }
3608
+ ],
3609
+ "description": "Assertions to validate method input/output with nice error messages.",
3610
+ "keywords": [
3611
+ "assert",
3612
+ "check",
3613
+ "validate"
3614
+ ],
3615
+ "time": "2018-12-25T11:19:39+00:00"
3616
+ }
3617
+ ],
3618
+ "aliases": [],
3619
+ "minimum-stability": "stable",
3620
+ "stability-flags": [],
3621
+ "prefer-stable": false,
3622
+ "prefer-lowest": false,
3623
+ "platform": {
3624
+ "php": ">5.2.4"
3625
+ },
3626
+ "platform-dev": []
3627
+ }
vendor/{webdevstudios → cmb2}/cmb2/css/cmb2-display-rtl.css RENAMED
@@ -1,7 +1,7 @@
1
  /*!
2
- * CMB2 - v2.4.2 - 2018-05-29
3
  * https://cmb2.io
4
- * Copyright (c) 2018
5
  * Licensed GPLv2+
6
  */
7
 
1
  /*!
2
+ * CMB2 - v2.6.0 - 2019-01-18
3
  * https://cmb2.io
4
+ * Copyright (c) 2019
5
  * Licensed GPLv2+
6
  */
7
 
vendor/{webdevstudios → cmb2}/cmb2/css/cmb2-display-rtl.min.css RENAMED
@@ -1,2 +1,2 @@
1
- /*! CMB2 - v2.4.2 - 2018-05-29 | https://cmb2.io | Copyright (c) 2018 CMB2 team | Licensed GPLv2 */
2
  .cmb2-colorpicker-swatch span{display:inline-block;width:1em;height:1em;border-radius:1em;float:right;margin-top:3px;margin-left:2px}.cmb2-code{overflow:scroll}.cmb-image-display{max-width:100%;height:auto}.cmb2-display-file-list li{display:inline;margin:0 0 .5em .5em}.cmb2-oembed *{max-width:100%;height:auto}
1
+ /*! CMB2 - v2.6.0 - 2019-01-18 | https://cmb2.io | Copyright (c) 2019 CMB2 team | Licensed GPLv2 */
2
  .cmb2-colorpicker-swatch span{display:inline-block;width:1em;height:1em;border-radius:1em;float:right;margin-top:3px;margin-left:2px}.cmb2-code{overflow:scroll}.cmb-image-display{max-width:100%;height:auto}.cmb2-display-file-list li{display:inline;margin:0 0 .5em .5em}.cmb2-oembed *{max-width:100%;height:auto}
vendor/{webdevstudios → cmb2}/cmb2/css/cmb2-display.css RENAMED
@@ -1,7 +1,7 @@
1
  /*!
2
- * CMB2 - v2.4.2 - 2018-05-29
3
  * https://cmb2.io
4
- * Copyright (c) 2018
5
  * Licensed GPLv2+
6
  */
7
 
1
  /*!
2
+ * CMB2 - v2.6.0 - 2019-01-18
3
  * https://cmb2.io
4
+ * Copyright (c) 2019
5
  * Licensed GPLv2+
6
  */
7
 
vendor/{webdevstudios → cmb2}/cmb2/css/cmb2-display.css.map RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/css/cmb2-display.min.css RENAMED
@@ -1,2 +1,2 @@
1
- /*! CMB2 - v2.4.2 - 2018-05-29 | https://cmb2.io | Copyright (c) 2018 CMB2 team | Licensed GPLv2 */
2
  .cmb2-colorpicker-swatch span{display:inline-block;width:1em;height:1em;border-radius:1em;float:left;margin-top:3px;margin-right:2px}.cmb2-code{overflow:scroll}.cmb-image-display{max-width:100%;height:auto}.cmb2-display-file-list li{display:inline;margin:0 .5em .5em 0}.cmb2-oembed *{max-width:100%;height:auto}
1
+ /*! CMB2 - v2.6.0 - 2019-01-18 | https://cmb2.io | Copyright (c) 2019 CMB2 team | Licensed GPLv2 */
2
  .cmb2-colorpicker-swatch span{display:inline-block;width:1em;height:1em;border-radius:1em;float:left;margin-top:3px;margin-right:2px}.cmb2-code{overflow:scroll}.cmb-image-display{max-width:100%;height:auto}.cmb2-display-file-list li{display:inline;margin:0 .5em .5em 0}.cmb2-oembed *{max-width:100%;height:auto}
vendor/{webdevstudios → cmb2}/cmb2/css/cmb2-front-rtl.css RENAMED
@@ -1,7 +1,7 @@
1
  /*!
2
- * CMB2 - v2.4.2 - 2018-05-29
3
  * https://cmb2.io
4
- * Copyright (c) 2018
5
  * Licensed GPLv2+
6
  */
7
 
@@ -264,6 +264,10 @@
264
  border-top: solid 1px #e9e9e9;
265
  }
266
  /* line 259, sass/partials/_main_wrap.scss */
 
 
 
 
267
  .cmb-repeat-table .cmb-row.cmb-repeat-row:before {
268
  content: counter(el);
269
  display: block;
@@ -273,20 +277,21 @@
273
  width: 35px;
274
  height: 100%;
275
  line-height: 35px;
276
- color: #aaaaaa;
 
277
  text-align: center;
278
  border-left: solid 1px #e9e9e9;
279
  }
280
- /* line 276, sass/partials/_main_wrap.scss */
281
  .cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td {
282
  margin: 0;
283
  padding: 0;
284
  }
285
- /* line 283, sass/partials/_main_wrap.scss */
286
  .cmb-repeat-table + .cmb-add-row {
287
  margin: 0;
288
  }
289
- /* line 286, sass/partials/_main_wrap.scss */
290
  .cmb-repeat-table + .cmb-add-row:before {
291
  content: '';
292
  width: 1px;
@@ -295,7 +300,7 @@
295
  margin-right: 17px;
296
  background-color: gainsboro;
297
  }
298
- /* line 296, sass/partials/_main_wrap.scss */
299
  .cmb-repeat-table .cmb-remove-row {
300
  top: 7px;
301
  left: 7px;
@@ -305,7 +310,7 @@
305
  padding: 0 !important;
306
  display: none;
307
  }
308
- /* line 307, sass/partials/_main_wrap.scss */
309
  .cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button {
310
  font-size: 20px;
311
  text-indent: -1000px;
@@ -315,7 +320,7 @@
315
  line-height: 1;
316
  padding: 0 10px 0;
317
  }
318
- /* line 318, sass/partials/_main_wrap.scss */
319
  .cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button:before {
320
  content: "";
321
  font-family: 'Dashicons';
@@ -334,16 +339,16 @@
334
  height: 100%;
335
  text-align: center;
336
  }
337
- /* line 324, sass/partials/_main_wrap.scss */
338
  .cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row {
339
  display: block;
340
  }
341
 
342
- /* line 332, sass/partials/_main_wrap.scss */
343
  .cmb-repeatable-group .cmb-th {
344
  padding: 5px;
345
  }
346
- /* line 336, sass/partials/_main_wrap.scss */
347
  .cmb-repeatable-group .cmb-group-title {
348
  background-color: #e9e9e9;
349
  padding: 8px 2.2em 8px 12px;
@@ -352,7 +357,7 @@
352
  font-size: 14px;
353
  line-height: 1.4;
354
  }
355
- /* line 344, sass/partials/_main_wrap.scss */
356
  .cmb-repeatable-group .cmb-group-title h4 {
357
  border: 0;
358
  margin: 0;
@@ -360,12 +365,12 @@
360
  font-weight: 500;
361
  padding: 0.5em 0.75em;
362
  }
363
- /* line 352, sass/partials/_main_wrap.scss */
364
  .cmb-repeatable-group .cmb-group-title .cmb-th {
365
  display: block;
366
  width: 100%;
367
  }
368
- /* line 358, sass/partials/_main_wrap.scss */
369
  .cmb-repeatable-group .cmb-group-description .cmb-th {
370
  font-size: 1.2em;
371
  display: block;
@@ -380,66 +385,66 @@
380
  margin-top: 0;
381
  margin-bottom: 0.5em;
382
  }
383
- /* line 362, sass/partials/_main_wrap.scss */
384
  .cmb-repeatable-group .cmb-shift-rows {
385
  font-size: 1em;
386
  margin-left: 1em;
387
  text-decoration: none;
388
  }
389
- /* line 367, sass/partials/_main_wrap.scss */
390
  .cmb-repeatable-group .cmb-shift-rows .dashicons {
391
  font-size: 1.5em;
392
  height: 1.5em;
393
  line-height: 1.2em;
394
  width: 1em;
395
  }
396
- /* line 373, sass/partials/_main_wrap.scss */
397
  .cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
398
  line-height: 1.3em;
399
  }
400
- /* line 380, sass/partials/_main_wrap.scss */
401
  .cmb-repeatable-group .cmb2-upload-button {
402
  float: left;
403
  }
404
 
405
- /* line 386, sass/partials/_main_wrap.scss */
406
  p.cmb2-metabox-description {
407
- color: #aaaaaa;
408
  font-style: italic;
409
  margin: 0;
410
  padding-top: .5em;
411
  }
412
 
413
- /* line 393, sass/partials/_main_wrap.scss */
414
  span.cmb2-metabox-description {
415
- color: #aaaaaa;
416
  font-style: italic;
417
  }
418
 
419
- /* line 398, sass/partials/_main_wrap.scss */
420
  .cmb2-metabox-title {
421
  margin: 0 0 5px 0;
422
  padding: 5px 0 0 0;
423
  font-size: 14px;
424
  }
425
 
426
- /* line 404, sass/partials/_main_wrap.scss */
427
  .cmb-inline ul {
428
  padding: 4px 0 0 0;
429
  }
430
 
431
- /* line 408, sass/partials/_main_wrap.scss */
432
  .cmb-inline li {
433
  display: inline-block;
434
  padding-left: 18px;
435
  }
436
 
437
- /* line 413, sass/partials/_main_wrap.scss */
438
  .cmb-type-textarea-code pre {
439
  margin: 0;
440
  }
441
 
442
- /* line 419, sass/partials/_main_wrap.scss */
443
  .cmb2-media-status .img-status {
444
  clear: none;
445
  display: inline-block;
@@ -447,12 +452,12 @@ span.cmb2-metabox-description {
447
  margin-left: 10px;
448
  width: auto;
449
  }
450
- /* line 426, sass/partials/_main_wrap.scss */
451
  .cmb2-media-status .img-status img {
452
  max-width: 350px;
453
  height: auto;
454
  }
455
- /* line 432, sass/partials/_main_wrap.scss */
456
  .cmb2-media-status .img-status img,
457
  .cmb2-media-status .embed-status {
458
  background: #eee;
@@ -466,16 +471,16 @@ span.cmb2-metabox-description {
466
  -moz-border-radius: 2px;
467
  margin: 15px 0 0 0;
468
  }
469
- /* line 446, sass/partials/_main_wrap.scss */
470
  .cmb2-media-status .embed-status {
471
  float: right;
472
  max-width: 800px;
473
  }
474
- /* line 451, sass/partials/_main_wrap.scss */
475
  .cmb2-media-status .img-status, .cmb2-media-status .embed-status {
476
  position: relative;
477
  }
478
- /* line 454, sass/partials/_main_wrap.scss */
479
  .cmb2-media-status .img-status .cmb2-remove-file-button, .cmb2-media-status .embed-status .cmb2-remove-file-button {
480
  background: url(../images/ico-delete.png);
481
  height: 16px;
@@ -485,20 +490,20 @@ span.cmb2-metabox-description {
485
  top: -5px;
486
  width: 16px;
487
  }
488
- /* line 468, sass/partials/_main_wrap.scss */
489
  .cmb2-media-status .img-status .cmb2-remove-file-button {
490
  top: 10px;
491
  }
492
- /* line 473, sass/partials/_main_wrap.scss */
493
  .cmb2-media-status .img-status img, .cmb2-media-status .file-status > span {
494
  cursor: pointer;
495
  }
496
- /* line 478, sass/partials/_main_wrap.scss */
497
  .cmb2-media-status.cmb-attach-list .img-status img, .cmb2-media-status.cmb-attach-list .file-status > span {
498
  cursor: move;
499
  }
500
 
501
- /* line 485, sass/partials/_main_wrap.scss */
502
  .cmb-type-file-list .cmb2-media-status .img-status {
503
  clear: none;
504
  vertical-align: middle;
@@ -508,7 +513,7 @@ span.cmb2-metabox-description {
508
  margin-top: 0;
509
  }
510
 
511
- /* line 494, sass/partials/_main_wrap.scss */
512
  .cmb-attach-list li {
513
  clear: both;
514
  display: inline-block;
@@ -516,29 +521,29 @@ span.cmb2-metabox-description {
516
  margin-top: 5px;
517
  margin-bottom: 10px;
518
  }
519
- /* line 500, sass/partials/_main_wrap.scss */
520
  .cmb-attach-list li img {
521
  float: right;
522
  margin-left: 10px;
523
  }
524
 
525
- /* line 506, sass/partials/_main_wrap.scss */
526
  .cmb2-remove-wrapper {
527
  margin: 0;
528
  }
529
 
530
- /* line 510, sass/partials/_main_wrap.scss */
531
  .child-cmb2 .cmb-th {
532
  text-align: right;
533
  }
534
 
535
- /* line 514, sass/partials/_main_wrap.scss */
536
  .cmb2-indented-hierarchy {
537
  padding-right: 1.5em;
538
  }
539
 
540
  @media (max-width: 450px) {
541
- /* line 519, sass/partials/_main_wrap.scss */
542
  .cmb-th,
543
  .cmb-td,
544
  .cmb-th + .cmb-td {
@@ -583,48 +588,49 @@ span.cmb2-metabox-description {
583
  .cmb2-postbox .cmb-row .cmbhandle, .cmb-type-group .cmb-row .cmbhandle {
584
  left: -1em;
585
  position: relative;
 
586
  }
587
- /* line 42, sass/partials/_post_metaboxes.scss */
588
  .cmb2-postbox .cmb-repeatable-grouping, .cmb-type-group .cmb-repeatable-grouping {
589
  padding: 0 1em;
590
  max-width: 100%;
591
  min-width: 1px !important;
592
  }
593
- /* line 48, sass/partials/_post_metaboxes.scss */
594
  .cmb2-postbox .cmb-repeatable-group > .cmb-row, .cmb-type-group .cmb-repeatable-group > .cmb-row {
595
  padding-bottom: 0;
596
  }
597
- /* line 52, sass/partials/_post_metaboxes.scss */
598
  .cmb2-postbox .cmb-th, .cmb-type-group .cmb-th {
599
  width: 18%;
600
  padding: 0 0 0 2%;
601
  }
602
- /* line 58, sass/partials/_post_metaboxes.scss */
603
  .cmb2-postbox .cmb-td, .cmb-type-group .cmb-td {
604
  margin-bottom: 0;
605
  padding: 0;
606
  line-height: 1.3;
607
  }
608
- /* line 64, sass/partials/_post_metaboxes.scss */
609
  .cmb2-postbox .cmb-th + .cmb-td, .cmb-type-group .cmb-th + .cmb-td {
610
  width: 80%;
611
  float: left;
612
  }
613
- /* line 69, sass/partials/_post_metaboxes.scss */
614
  .cmb2-postbox .cmb-row:not(:last-of-type),
615
  .cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type),
616
  .cmb-type-group .cmb-repeatable-group:not(:last-of-type) {
617
  border-bottom: 1px solid #e9e9e9;
618
  }
619
  @media (max-width: 450px) {
620
- /* line 69, sass/partials/_post_metaboxes.scss */
621
  .cmb2-postbox .cmb-row:not(:last-of-type),
622
  .cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type),
623
  .cmb-type-group .cmb-repeatable-group:not(:last-of-type) {
624
  border-bottom: 0;
625
  }
626
  }
627
- /* line 78, sass/partials/_post_metaboxes.scss */
628
  .cmb2-postbox .cmb-repeat-group-field,
629
  .cmb2-postbox .cmb-remove-field-row, .cmb-type-group .cmb-repeat-group-field,
630
  .cmb-type-group .cmb-remove-field-row {
@@ -757,7 +763,7 @@ span.cmb2-metabox-description {
757
  --------------------------------------------------------------*/
758
  /* line 6, sass/partials/_collapsible_ui.scss */
759
  .cmb2-metabox .cmbhandle {
760
- color: #aaaaaa;
761
  float: left;
762
  width: 27px;
763
  height: 30px;
1
  /*!
2
+ * CMB2 - v2.6.0 - 2019-01-18
3
  * https://cmb2.io
4
+ * Copyright (c) 2019
5
  * Licensed GPLv2+
6
  */
7
 
264
  border-top: solid 1px #e9e9e9;
265
  }
266
  /* line 259, sass/partials/_main_wrap.scss */
267
+ .cmb-repeat-table .cmb-row.cmb-repeat-row.ui-sortable-helper {
268
+ outline: dashed 2px #e9e9e9 !important;
269
+ }
270
+ /* line 263, sass/partials/_main_wrap.scss */
271
  .cmb-repeat-table .cmb-row.cmb-repeat-row:before {
272
  content: counter(el);
273
  display: block;
277
  width: 35px;
278
  height: 100%;
279
  line-height: 35px;
280
+ cursor: move;
281
+ color: #757575;
282
  text-align: center;
283
  border-left: solid 1px #e9e9e9;
284
  }
285
+ /* line 280, sass/partials/_main_wrap.scss */
286
  .cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td {
287
  margin: 0;
288
  padding: 0;
289
  }
290
+ /* line 287, sass/partials/_main_wrap.scss */
291
  .cmb-repeat-table + .cmb-add-row {
292
  margin: 0;
293
  }
294
+ /* line 290, sass/partials/_main_wrap.scss */
295
  .cmb-repeat-table + .cmb-add-row:before {
296
  content: '';
297
  width: 1px;
300
  margin-right: 17px;
301
  background-color: gainsboro;
302
  }
303
+ /* line 300, sass/partials/_main_wrap.scss */
304
  .cmb-repeat-table .cmb-remove-row {
305
  top: 7px;
306
  left: 7px;
310
  padding: 0 !important;
311
  display: none;
312
  }
313
+ /* line 311, sass/partials/_main_wrap.scss */
314
  .cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button {
315
  font-size: 20px;
316
  text-indent: -1000px;
320
  line-height: 1;
321
  padding: 0 10px 0;
322
  }
323
+ /* line 322, sass/partials/_main_wrap.scss */
324
  .cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button:before {
325
  content: "";
326
  font-family: 'Dashicons';
339
  height: 100%;
340
  text-align: center;
341
  }
342
+ /* line 328, sass/partials/_main_wrap.scss */
343
  .cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row {
344
  display: block;
345
  }
346
 
347
+ /* line 336, sass/partials/_main_wrap.scss */
348
  .cmb-repeatable-group .cmb-th {
349
  padding: 5px;
350
  }
351
+ /* line 340, sass/partials/_main_wrap.scss */
352
  .cmb-repeatable-group .cmb-group-title {
353
  background-color: #e9e9e9;
354
  padding: 8px 2.2em 8px 12px;
357
  font-size: 14px;
358
  line-height: 1.4;
359
  }
360
+ /* line 348, sass/partials/_main_wrap.scss */
361
  .cmb-repeatable-group .cmb-group-title h4 {
362
  border: 0;
363
  margin: 0;
365
  font-weight: 500;
366
  padding: 0.5em 0.75em;
367
  }
368
+ /* line 356, sass/partials/_main_wrap.scss */
369
  .cmb-repeatable-group .cmb-group-title .cmb-th {
370
  display: block;
371
  width: 100%;
372
  }
373
+ /* line 362, sass/partials/_main_wrap.scss */
374
  .cmb-repeatable-group .cmb-group-description .cmb-th {
375
  font-size: 1.2em;
376
  display: block;
385
  margin-top: 0;
386
  margin-bottom: 0.5em;
387
  }
388
+ /* line 366, sass/partials/_main_wrap.scss */
389
  .cmb-repeatable-group .cmb-shift-rows {
390
  font-size: 1em;
391
  margin-left: 1em;
392
  text-decoration: none;
393
  }
394
+ /* line 371, sass/partials/_main_wrap.scss */
395
  .cmb-repeatable-group .cmb-shift-rows .dashicons {
396
  font-size: 1.5em;
397
  height: 1.5em;
398
  line-height: 1.2em;
399
  width: 1em;
400
  }
401
+ /* line 377, sass/partials/_main_wrap.scss */
402
  .cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
403
  line-height: 1.3em;
404
  }
405
+ /* line 384, sass/partials/_main_wrap.scss */
406
  .cmb-repeatable-group .cmb2-upload-button {
407
  float: left;
408
  }
409
 
410
+ /* line 390, sass/partials/_main_wrap.scss */
411
  p.cmb2-metabox-description {
412
+ color: #757575;
413
  font-style: italic;
414
  margin: 0;
415
  padding-top: .5em;
416
  }
417
 
418
+ /* line 397, sass/partials/_main_wrap.scss */
419
  span.cmb2-metabox-description {
420
+ color: #757575;
421
  font-style: italic;
422
  }
423
 
424
+ /* line 402, sass/partials/_main_wrap.scss */
425
  .cmb2-metabox-title {
426
  margin: 0 0 5px 0;
427
  padding: 5px 0 0 0;
428
  font-size: 14px;
429
  }
430
 
431
+ /* line 408, sass/partials/_main_wrap.scss */
432
  .cmb-inline ul {
433
  padding: 4px 0 0 0;
434
  }
435
 
436
+ /* line 412, sass/partials/_main_wrap.scss */
437
  .cmb-inline li {
438
  display: inline-block;
439
  padding-left: 18px;
440
  }
441
 
442
+ /* line 417, sass/partials/_main_wrap.scss */
443
  .cmb-type-textarea-code pre {
444
  margin: 0;
445
  }
446
 
447
+ /* line 423, sass/partials/_main_wrap.scss */
448
  .cmb2-media-status .img-status {
449
  clear: none;
450
  display: inline-block;
452
  margin-left: 10px;
453
  width: auto;
454
  }
455
+ /* line 430, sass/partials/_main_wrap.scss */
456
  .cmb2-media-status .img-status img {
457
  max-width: 350px;
458
  height: auto;
459
  }
460
+ /* line 436, sass/partials/_main_wrap.scss */
461
  .cmb2-media-status .img-status img,
462
  .cmb2-media-status .embed-status {
463
  background: #eee;
471
  -moz-border-radius: 2px;
472
  margin: 15px 0 0 0;
473
  }
474
+ /* line 450, sass/partials/_main_wrap.scss */
475
  .cmb2-media-status .embed-status {
476
  float: right;
477
  max-width: 800px;
478
  }
479
+ /* line 455, sass/partials/_main_wrap.scss */
480
  .cmb2-media-status .img-status, .cmb2-media-status .embed-status {
481
  position: relative;
482
  }
483
+ /* line 458, sass/partials/_main_wrap.scss */
484
  .cmb2-media-status .img-status .cmb2-remove-file-button, .cmb2-media-status .embed-status .cmb2-remove-file-button {
485
  background: url(../images/ico-delete.png);
486
  height: 16px;
490
  top: -5px;
491
  width: 16px;
492
  }
493
+ /* line 472, sass/partials/_main_wrap.scss */
494
  .cmb2-media-status .img-status .cmb2-remove-file-button {
495
  top: 10px;
496
  }
497
+ /* line 477, sass/partials/_main_wrap.scss */
498
  .cmb2-media-status .img-status img, .cmb2-media-status .file-status > span {
499
  cursor: pointer;
500
  }
501
+ /* line 482, sass/partials/_main_wrap.scss */
502
  .cmb2-media-status.cmb-attach-list .img-status img, .cmb2-media-status.cmb-attach-list .file-status > span {
503
  cursor: move;
504
  }
505
 
506
+ /* line 489, sass/partials/_main_wrap.scss */
507
  .cmb-type-file-list .cmb2-media-status .img-status {
508
  clear: none;
509
  vertical-align: middle;
513
  margin-top: 0;
514
  }
515
 
516
+ /* line 498, sass/partials/_main_wrap.scss */
517
  .cmb-attach-list li {
518
  clear: both;
519
  display: inline-block;
521
  margin-top: 5px;
522
  margin-bottom: 10px;
523
  }
524
+ /* line 504, sass/partials/_main_wrap.scss */
525
  .cmb-attach-list li img {
526
  float: right;
527
  margin-left: 10px;
528
  }
529
 
530
+ /* line 510, sass/partials/_main_wrap.scss */
531
  .cmb2-remove-wrapper {
532
  margin: 0;
533
  }
534
 
535
+ /* line 514, sass/partials/_main_wrap.scss */
536
  .child-cmb2 .cmb-th {
537
  text-align: right;
538
  }
539
 
540
+ /* line 518, sass/partials/_main_wrap.scss */
541
  .cmb2-indented-hierarchy {
542
  padding-right: 1.5em;
543
  }
544
 
545
  @media (max-width: 450px) {
546
+ /* line 523, sass/partials/_main_wrap.scss */
547
  .cmb-th,
548
  .cmb-td,
549
  .cmb-th + .cmb-td {
588
  .cmb2-postbox .cmb-row .cmbhandle, .cmb-type-group .cmb-row .cmbhandle {
589
  left: -1em;
590
  position: relative;
591
+ color: #222222;
592
  }
593
+ /* line 43, sass/partials/_post_metaboxes.scss */
594
  .cmb2-postbox .cmb-repeatable-grouping, .cmb-type-group .cmb-repeatable-grouping {
595
  padding: 0 1em;
596
  max-width: 100%;
597
  min-width: 1px !important;
598
  }
599
+ /* line 49, sass/partials/_post_metaboxes.scss */
600
  .cmb2-postbox .cmb-repeatable-group > .cmb-row, .cmb-type-group .cmb-repeatable-group > .cmb-row {
601
  padding-bottom: 0;
602
  }
603
+ /* line 53, sass/partials/_post_metaboxes.scss */
604
  .cmb2-postbox .cmb-th, .cmb-type-group .cmb-th {
605
  width: 18%;
606
  padding: 0 0 0 2%;
607
  }
608
+ /* line 59, sass/partials/_post_metaboxes.scss */
609
  .cmb2-postbox .cmb-td, .cmb-type-group .cmb-td {
610
  margin-bottom: 0;
611
  padding: 0;
612
  line-height: 1.3;
613
  }
614
+ /* line 65, sass/partials/_post_metaboxes.scss */
615
  .cmb2-postbox .cmb-th + .cmb-td, .cmb-type-group .cmb-th + .cmb-td {
616
  width: 80%;
617
  float: left;
618
  }
619
+ /* line 70, sass/partials/_post_metaboxes.scss */
620
  .cmb2-postbox .cmb-row:not(:last-of-type),
621
  .cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type),
622
  .cmb-type-group .cmb-repeatable-group:not(:last-of-type) {
623
  border-bottom: 1px solid #e9e9e9;
624
  }
625
  @media (max-width: 450px) {
626
+ /* line 70, sass/partials/_post_metaboxes.scss */
627
  .cmb2-postbox .cmb-row:not(:last-of-type),
628
  .cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type),
629
  .cmb-type-group .cmb-repeatable-group:not(:last-of-type) {
630
  border-bottom: 0;
631
  }
632
  }
633
+ /* line 79, sass/partials/_post_metaboxes.scss */
634
  .cmb2-postbox .cmb-repeat-group-field,
635
  .cmb2-postbox .cmb-remove-field-row, .cmb-type-group .cmb-repeat-group-field,
636
  .cmb-type-group .cmb-remove-field-row {
763
  --------------------------------------------------------------*/
764
  /* line 6, sass/partials/_collapsible_ui.scss */
765
  .cmb2-metabox .cmbhandle {
766
+ color: #757575;
767
  float: left;
768
  width: 27px;
769
  height: 30px;
vendor/cmb2/cmb2/css/cmb2-front-rtl.min.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /*! CMB2 - v2.6.0 - 2019-01-18 | https://cmb2.io | Copyright (c) 2019 CMB2 team | Licensed GPLv2 */
2
+ @charset "UTF-8";.cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button-secondary,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-right:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 0 0 5px;padding:0}.cmb2-wrap .button-secondary,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 0 0 10px}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:right;font-weight:600;line-height:1.3;padding:20px 0 20px 10px;vertical-align:top;width:200px}@media (max-width:450px){.cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:right;width:100%}.cmb-th label{display:block;margin-top:0;margin-bottom:.5em}}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:right}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:left}.empty-row.hidden{display:none}.cmb-repeat-table{background-color:#fafafa;border:1px solid #e1e1e1}.cmb-repeat-table .cmb-row.cmb-repeat-row{position:relative;counter-increment:el;margin:0;padding:10px 50px 10px 10px;border-bottom:none!important}.cmb-repeat-table .cmb-row.cmb-repeat-row+.cmb-repeat-row{border-top:solid 1px #e9e9e9}.cmb-repeat-table .cmb-row.cmb-repeat-row.ui-sortable-helper{outline:dashed 2px #e9e9e9!important}.cmb-repeat-table .cmb-row.cmb-repeat-row:before{content:counter(el);display:block;top:0;right:0;position:absolute;width:35px;height:100%;line-height:35px;cursor:move;color:#757575;text-align:center;border-left:solid 1px #e9e9e9}.cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td{margin:0;padding:0}.cmb-repeat-table+.cmb-add-row{margin:0}.cmb-repeat-table+.cmb-add-row:before{content:'';width:1px;height:1.6em;display:block;margin-right:17px;background-color:#dcdcdc}.cmb-repeat-table .cmb-remove-row{top:7px;left:7px;position:absolute;width:auto;margin-right:0;padding:0!important;display:none}.cmb-repeat-table .cmb-remove-row>.cmb-remove-row-button{font-size:20px;text-indent:-1000px;overflow:hidden;position:relative;height:auto;line-height:1;padding:0 10px}.cmb-repeat-table .cmb-remove-row>.cmb-remove-row-button:before{content:"";font-family:Dashicons;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;right:0;width:100%;height:100%;text-align:center}.cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row{display:block}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 2.2em 8px 12px;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:right;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;margin-bottom:.5em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-left:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:left}p.cmb2-metabox-description{color:#757575;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#757575;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-left:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;vertical-align:middle;margin-left:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px;height:auto}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#eee;border:5px solid #fff;outline:1px solid #e9e9e9;box-shadow:inset 0 0 15px rgba(0,0,0,.3),inset 0 0 0 1px rgba(0,0,0,.05);background-image:linear-gradient(45deg,#d0d0d0 25%,transparent 25%,transparent 75%,#d0d0d0 75%,#d0d0d0),linear-gradient(45deg,#d0d0d0 25%,transparent 25%,transparent 75%,#d0d0d0 75%,#d0d0d0);background-position:0 0,10px 10px;background-size:20px 20px;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0}.cmb2-media-status .embed-status{float:right;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;right:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb2-media-status.cmb-attach-list .file-status>span,.cmb2-media-status.cmb-attach-list .img-status img{cursor:move}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;vertical-align:middle;width:auto;margin-left:10px;margin-bottom:10px;margin-top:0}.cmb-attach-list li{clear:both;display:inline-block;width:100%;margin-top:5px;margin-bottom:10px}.cmb-attach-list li img{float:right;margin-left:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:right}.cmb2-indented-hierarchy{padding-right:1.5em}@media (max-width:450px){.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}}#poststuff .cmb-group-title{margin-right:-1em;margin-left:-1em;min-height:1.5em}#poststuff .repeatable .cmb-group-title{padding-right:2.2em}.cmb-type-group .cmb2-wrap,.cmb2-postbox .cmb2-wrap{margin:0}.cmb-type-group .cmb2-wrap>.cmb-field-list>.cmb-row,.cmb2-postbox .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-type-group .cmb2-wrap input[type=text].cmb2-oembed,.cmb2-postbox .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-type-group .cmb-row,.cmb2-postbox .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-type-group .cmb-row .cmbhandle,.cmb2-postbox .cmb-row .cmbhandle{left:-1em;position:relative;color:#222}.cmb-type-group .cmb-repeatable-grouping,.cmb2-postbox .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-type-group .cmb-repeatable-group>.cmb-row,.cmb2-postbox .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-type-group .cmb-th,.cmb2-postbox .cmb-th{width:18%;padding:0 0 0 2%}.cmb-type-group .cmb-td,.cmb2-postbox .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-type-group .cmb-th+.cmb-td,.cmb2-postbox .cmb-th+.cmb-td{width:80%;float:left}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}@media (max-width:450px){.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:0}}.cmb-type-group .cmb-remove-field-row,.cmb-type-group .cmb-repeat-group-field,.cmb2-postbox .cmb-remove-field-row,.cmb2-postbox .cmb-repeat-group-field{padding-top:1.8em}.js .cmb2-postbox.context-box .toggle-indicator:before{content:"\f142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js .cmb2-postbox.context-box.closed .toggle-indicator:before{content:"\f140"}.cmb2-postbox.context-box{margin-bottom:10px}.cmb2-postbox.context-box.context-after_title-box,.cmb2-postbox.context-box.context-before_permalink-box{margin-top:10px}.cmb2-postbox.context-box.context-after_editor-box{margin-top:20px;margin-bottom:0}.cmb2-postbox.context-box.context-form_top-box{margin-top:10px}.cmb2-postbox.context-box.context-form_top-box .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb2-postbox.context-box .hndle{cursor:auto}.cmb2-context-wrap{margin-top:10px}.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-left:300px;width:auto}.cmb2-context-wrap.cmb2-context-wrap-no-title .cmb2-metabox{padding:10px}.cmb2-context-wrap .cmb-th{padding:0 0 0 2%;width:18%}.cmb2-context-wrap .cmb-td{width:80%;padding:0}.cmb2-context-wrap .cmb-row{margin-bottom:10px}.cmb2-context-wrap .cmb-row:last-of-type{margin-bottom:0}@media only screen and (max-width:850px){.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-left:0}}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.cmb2-no-box-wrap .cmb-spinner,.cmb2-postbox .cmb-spinner{float:right;display:none}.cmb-spinner.is-active{display:block}.cmb2-metabox .cmbhandle{color:#757575;float:left;width:27px;height:30px;cursor:pointer;left:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';left:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;right:0;top:.5em;line-height:1em;padding:2px 6px 3px;opacity:.5}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){cursor:pointer;color:#a00;opacity:1}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}* html .cmb2-element.ui-helper-clearfix{height:1%}.cmb2-element .ui-datepicker,.cmb2-element.ui-datepicker{padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background-color:#fff;border:1px solid #dfdfdf;border-top:none;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075);min-width:17em;width:auto}.cmb2-element .ui-datepicker *,.cmb2-element.ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{font-size:13px;margin:0;border:none;border-collapse:collapse}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{border:none;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover{background:0 0;border-color:transparent;cursor:pointer}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin:0;padding:10px 0;color:#fff;font-size:14px;line-height:14px;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select,.cmb2-element.ui-datepicker .ui-datepicker-title select{margin-top:-8px;margin-bottom:-8px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-prev{position:relative;top:0;height:34px;width:34px}.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-prev{border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{right:0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next-hover{left:0}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{display:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev{float:right}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next{float:left}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{font:400 20px/34px dashicons;padding-right:7px;color:#fff;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:34px;height:34px}.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{content:'\f341'}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before{content:'\f345'}.cmb2-element .ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover:before{opacity:.7}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-year{width:33%;background:0 0;border-color:transparent;box-shadow:none;color:#fff}.cmb2-element .ui-datepicker select.ui-datepicker-month option,.cmb2-element .ui-datepicker select.ui-datepicker-year option,.cmb2-element.ui-datepicker select.ui-datepicker-month option,.cmb2-element.ui-datepicker select.ui-datepicker-year option{color:#333}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{color:#fff;font-weight:600}.cmb2-element .ui-datepicker thead th,.cmb2-element.ui-datepicker thead th{font-weight:400}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{padding:10px}.cmb2-element .ui-datepicker td,.cmb2-element.ui-datepicker td{padding:0;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-other-month,.cmb2-element.ui-datepicker td.ui-datepicker-other-month{border:transparent}.cmb2-element .ui-datepicker td.ui-datepicker-week-end,.cmb2-element.ui-datepicker td.ui-datepicker-week-end{background-color:#f4f4f4;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today{-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);-moz-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1)}.cmb2-element .ui-datepicker td.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-today{background-color:#f0f0c0}.cmb2-element .ui-datepicker td.ui-datepicker-current-day,.cmb2-element.ui-datepicker td.ui-datepicker-current-day{background:#bd8}.cmb2-element .ui-datepicker td .ui-state-default,.cmb2-element.ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;text-decoration:none;width:auto;display:block;padding:5px 10px;font-weight:400;color:#444}.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{opacity:.5}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{background:#32373c}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover,.cmb2-element.ui-datepicker td .ui-state-active,.cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.cmb2-element .ui-datepicker .ui-timepicker-div,.cmb2-element.ui-datepicker .ui-timepicker-div{font-size:14px}.cmb2-element .ui-datepicker .ui-timepicker-div dl,.cmb2-element.ui-datepicker .ui-timepicker-div dl{text-align:right;padding:0 .6em}.cmb2-element .ui-datepicker .ui-timepicker-div dl dt,.cmb2-element.ui-datepicker .ui-timepicker-div dl dt{float:right;clear:right;padding:0 5px 0 0}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd{margin:0 40% 10px 10px}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd select,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd select{width:100%}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane{padding:.6em;text-align:right}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary{padding:0 10px 1px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;margin:0 .4em .4em .6em}.admin-color-fresh .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.admin-color-fresh .cmb2-element .ui-datepicker thead,.admin-color-fresh .cmb2-element.ui-datepicker thead{background:#32373c}.admin-color-fresh .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-fresh .cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-widget-header{background:#52accc}.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element.ui-datepicker thead{background:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover{background:#096484;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-blue .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-widget-header{background:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element.ui-datepicker thead{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover{background:#c7a589;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-widget-header{background:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element.ui-datepicker thead{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover{background:#a3b745;color:#fff}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-widget-header{background:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element.ui-datepicker thead{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover{background:#e14d43;color:#fff}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-widget-header{background:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element.ui-datepicker thead{background:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover{background:#9ebaa0;color:#fff}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-widget-header{background:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker th,.admin-color-sunrise .cmb2-element.ui-datepicker th{border-color:#be3631;background:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover{background:#dd823b;color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element.ui-datepicker .ui-widget-header{background:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-year,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-year{color:#555}.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element.ui-datepicker thead{background:#888}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-default{color:#555}.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover{background:#ccc}.admin-color-light .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-light .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-widget-header{background:#56b274}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker thead,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker thead{background:#36533f}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker td .ui-state-hover{background:#446950;color:#fff}.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-widget-header{background:#4ca26a}.admin-color-bbp-mint .cmb2-element .ui-datepicker thead,.admin-color-bbp-mint .cmb2-element.ui-datepicker thead{background:#4f6d59}.admin-color-bbp-mint .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-mint .cmb2-element.ui-datepicker td .ui-state-hover{background:#5fb37c;color:#fff}.closed .inside{display:none}.cmb-repeatable-grouping{position:relative}.cmb-repeatable-grouping .cmb-group-title{margin-right:-1em;margin-left:-1em;min-height:1.5em}.cmb-repeatable-grouping h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb-repeatable-group.repeatable .cmb-group-title{padding-right:2.2em}.cmb-repeatable-group.non-repeatable .cmb-group-title{padding-right:12px}.cmb-type-group .cmb-row .cmbhandle{left:0;position:absolute}.cmb-spinner{background:url(/wp-admin/images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;float:left;vertical-align:middle;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}
vendor/{webdevstudios → cmb2}/cmb2/css/cmb2-front.css RENAMED
@@ -1,7 +1,7 @@
1
  /*!
2
- * CMB2 - v2.4.2 - 2018-05-29
3
  * https://cmb2.io
4
- * Copyright (c) 2018
5
  * Licensed GPLv2+
6
  */
7
 
@@ -264,6 +264,10 @@
264
  border-top: solid 1px #e9e9e9;
265
  }
266
  /* line 259, sass/partials/_main_wrap.scss */
 
 
 
 
267
  .cmb-repeat-table .cmb-row.cmb-repeat-row:before {
268
  content: counter(el);
269
  display: block;
@@ -273,20 +277,21 @@
273
  width: 35px;
274
  height: 100%;
275
  line-height: 35px;
276
- color: #aaaaaa;
 
277
  text-align: center;
278
  border-right: solid 1px #e9e9e9;
279
  }
280
- /* line 276, sass/partials/_main_wrap.scss */
281
  .cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td {
282
  margin: 0;
283
  padding: 0;
284
  }
285
- /* line 283, sass/partials/_main_wrap.scss */
286
  .cmb-repeat-table + .cmb-add-row {
287
  margin: 0;
288
  }
289
- /* line 286, sass/partials/_main_wrap.scss */
290
  .cmb-repeat-table + .cmb-add-row:before {
291
  content: '';
292
  width: 1px;
@@ -295,7 +300,7 @@
295
  margin-left: 17px;
296
  background-color: gainsboro;
297
  }
298
- /* line 296, sass/partials/_main_wrap.scss */
299
  .cmb-repeat-table .cmb-remove-row {
300
  top: 7px;
301
  right: 7px;
@@ -305,7 +310,7 @@
305
  padding: 0 !important;
306
  display: none;
307
  }
308
- /* line 307, sass/partials/_main_wrap.scss */
309
  .cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button {
310
  font-size: 20px;
311
  text-indent: -1000px;
@@ -315,7 +320,7 @@
315
  line-height: 1;
316
  padding: 0 10px 0;
317
  }
318
- /* line 318, sass/partials/_main_wrap.scss */
319
  .cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button:before {
320
  content: "";
321
  font-family: 'Dashicons';
@@ -334,16 +339,16 @@
334
  height: 100%;
335
  text-align: center;
336
  }
337
- /* line 324, sass/partials/_main_wrap.scss */
338
  .cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row {
339
  display: block;
340
  }
341
 
342
- /* line 332, sass/partials/_main_wrap.scss */
343
  .cmb-repeatable-group .cmb-th {
344
  padding: 5px;
345
  }
346
- /* line 336, sass/partials/_main_wrap.scss */
347
  .cmb-repeatable-group .cmb-group-title {
348
  background-color: #e9e9e9;
349
  padding: 8px 12px 8px 2.2em;
@@ -352,7 +357,7 @@
352
  font-size: 14px;
353
  line-height: 1.4;
354
  }
355
- /* line 344, sass/partials/_main_wrap.scss */
356
  .cmb-repeatable-group .cmb-group-title h4 {
357
  border: 0;
358
  margin: 0;
@@ -360,12 +365,12 @@
360
  font-weight: 500;
361
  padding: 0.5em 0.75em;
362
  }
363
- /* line 352, sass/partials/_main_wrap.scss */
364
  .cmb-repeatable-group .cmb-group-title .cmb-th {
365
  display: block;
366
  width: 100%;
367
  }
368
- /* line 358, sass/partials/_main_wrap.scss */
369
  .cmb-repeatable-group .cmb-group-description .cmb-th {
370
  font-size: 1.2em;
371
  display: block;
@@ -380,66 +385,66 @@
380
  margin-top: 0;
381
  margin-bottom: 0.5em;
382
  }
383
- /* line 362, sass/partials/_main_wrap.scss */
384
  .cmb-repeatable-group .cmb-shift-rows {
385
  font-size: 1em;
386
  margin-right: 1em;
387
  text-decoration: none;
388
  }
389
- /* line 367, sass/partials/_main_wrap.scss */
390
  .cmb-repeatable-group .cmb-shift-rows .dashicons {
391
  font-size: 1.5em;
392
  height: 1.5em;
393
  line-height: 1.2em;
394
  width: 1em;
395
  }
396
- /* line 373, sass/partials/_main_wrap.scss */
397
  .cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
398
  line-height: 1.3em;
399
  }
400
- /* line 380, sass/partials/_main_wrap.scss */
401
  .cmb-repeatable-group .cmb2-upload-button {
402
  float: right;
403
  }
404
 
405
- /* line 386, sass/partials/_main_wrap.scss */
406
  p.cmb2-metabox-description {
407
- color: #aaaaaa;
408
  font-style: italic;
409
  margin: 0;
410
  padding-top: .5em;
411
  }
412
 
413
- /* line 393, sass/partials/_main_wrap.scss */
414
  span.cmb2-metabox-description {
415
- color: #aaaaaa;
416
  font-style: italic;
417
  }
418
 
419
- /* line 398, sass/partials/_main_wrap.scss */
420
  .cmb2-metabox-title {
421
  margin: 0 0 5px 0;
422
  padding: 5px 0 0 0;
423
  font-size: 14px;
424
  }
425
 
426
- /* line 404, sass/partials/_main_wrap.scss */
427
  .cmb-inline ul {
428
  padding: 4px 0 0 0;
429
  }
430
 
431
- /* line 408, sass/partials/_main_wrap.scss */
432
  .cmb-inline li {
433
  display: inline-block;
434
  padding-right: 18px;
435
  }
436
 
437
- /* line 413, sass/partials/_main_wrap.scss */
438
  .cmb-type-textarea-code pre {
439
  margin: 0;
440
  }
441
 
442
- /* line 419, sass/partials/_main_wrap.scss */
443
  .cmb2-media-status .img-status {
444
  clear: none;
445
  display: inline-block;
@@ -447,12 +452,12 @@ span.cmb2-metabox-description {
447
  margin-right: 10px;
448
  width: auto;
449
  }
450
- /* line 426, sass/partials/_main_wrap.scss */
451
  .cmb2-media-status .img-status img {
452
  max-width: 350px;
453
  height: auto;
454
  }
455
- /* line 432, sass/partials/_main_wrap.scss */
456
  .cmb2-media-status .img-status img,
457
  .cmb2-media-status .embed-status {
458
  background: #eee;
@@ -466,16 +471,16 @@ span.cmb2-metabox-description {
466
  -moz-border-radius: 2px;
467
  margin: 15px 0 0 0;
468
  }
469
- /* line 446, sass/partials/_main_wrap.scss */
470
  .cmb2-media-status .embed-status {
471
  float: left;
472
  max-width: 800px;
473
  }
474
- /* line 451, sass/partials/_main_wrap.scss */
475
  .cmb2-media-status .img-status, .cmb2-media-status .embed-status {
476
  position: relative;
477
  }
478
- /* line 454, sass/partials/_main_wrap.scss */
479
  .cmb2-media-status .img-status .cmb2-remove-file-button, .cmb2-media-status .embed-status .cmb2-remove-file-button {
480
  background: url(../images/ico-delete.png);
481
  height: 16px;
@@ -485,20 +490,20 @@ span.cmb2-metabox-description {
485
  top: -5px;
486
  width: 16px;
487
  }
488
- /* line 468, sass/partials/_main_wrap.scss */
489
  .cmb2-media-status .img-status .cmb2-remove-file-button {
490
  top: 10px;
491
  }
492
- /* line 473, sass/partials/_main_wrap.scss */
493
  .cmb2-media-status .img-status img, .cmb2-media-status .file-status > span {
494
  cursor: pointer;
495
  }
496
- /* line 478, sass/partials/_main_wrap.scss */
497
  .cmb2-media-status.cmb-attach-list .img-status img, .cmb2-media-status.cmb-attach-list .file-status > span {
498
  cursor: move;
499
  }
500
 
501
- /* line 485, sass/partials/_main_wrap.scss */
502
  .cmb-type-file-list .cmb2-media-status .img-status {
503
  clear: none;
504
  vertical-align: middle;
@@ -508,7 +513,7 @@ span.cmb2-metabox-description {
508
  margin-top: 0;
509
  }
510
 
511
- /* line 494, sass/partials/_main_wrap.scss */
512
  .cmb-attach-list li {
513
  clear: both;
514
  display: inline-block;
@@ -516,29 +521,29 @@ span.cmb2-metabox-description {
516
  margin-top: 5px;
517
  margin-bottom: 10px;
518
  }
519
- /* line 500, sass/partials/_main_wrap.scss */
520
  .cmb-attach-list li img {
521
  float: left;
522
  margin-right: 10px;
523
  }
524
 
525
- /* line 506, sass/partials/_main_wrap.scss */
526
  .cmb2-remove-wrapper {
527
  margin: 0;
528
  }
529
 
530
- /* line 510, sass/partials/_main_wrap.scss */
531
  .child-cmb2 .cmb-th {
532
  text-align: left;
533
  }
534
 
535
- /* line 514, sass/partials/_main_wrap.scss */
536
  .cmb2-indented-hierarchy {
537
  padding-left: 1.5em;
538
  }
539
 
540
  @media (max-width: 450px) {
541
- /* line 519, sass/partials/_main_wrap.scss */
542
  .cmb-th,
543
  .cmb-td,
544
  .cmb-th + .cmb-td {
@@ -583,48 +588,49 @@ span.cmb2-metabox-description {
583
  .cmb2-postbox .cmb-row .cmbhandle, .cmb-type-group .cmb-row .cmbhandle {
584
  right: -1em;
585
  position: relative;
 
586
  }
587
- /* line 42, sass/partials/_post_metaboxes.scss */
588
  .cmb2-postbox .cmb-repeatable-grouping, .cmb-type-group .cmb-repeatable-grouping {
589
  padding: 0 1em;
590
  max-width: 100%;
591
  min-width: 1px !important;
592
  }
593
- /* line 48, sass/partials/_post_metaboxes.scss */
594
  .cmb2-postbox .cmb-repeatable-group > .cmb-row, .cmb-type-group .cmb-repeatable-group > .cmb-row {
595
  padding-bottom: 0;
596
  }
597
- /* line 52, sass/partials/_post_metaboxes.scss */
598
  .cmb2-postbox .cmb-th, .cmb-type-group .cmb-th {
599
  width: 18%;
600
  padding: 0 2% 0 0;
601
  }
602
- /* line 58, sass/partials/_post_metaboxes.scss */
603
  .cmb2-postbox .cmb-td, .cmb-type-group .cmb-td {
604
  margin-bottom: 0;
605
  padding: 0;
606
  line-height: 1.3;
607
  }
608
- /* line 64, sass/partials/_post_metaboxes.scss */
609
  .cmb2-postbox .cmb-th + .cmb-td, .cmb-type-group .cmb-th + .cmb-td {
610
  width: 80%;
611
  float: right;
612
  }
613
- /* line 69, sass/partials/_post_metaboxes.scss */
614
  .cmb2-postbox .cmb-row:not(:last-of-type),
615
  .cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type),
616
  .cmb-type-group .cmb-repeatable-group:not(:last-of-type) {
617
  border-bottom: 1px solid #e9e9e9;
618
  }
619
  @media (max-width: 450px) {
620
- /* line 69, sass/partials/_post_metaboxes.scss */
621
  .cmb2-postbox .cmb-row:not(:last-of-type),
622
  .cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type),
623
  .cmb-type-group .cmb-repeatable-group:not(:last-of-type) {
624
  border-bottom: 0;
625
  }
626
  }
627
- /* line 78, sass/partials/_post_metaboxes.scss */
628
  .cmb2-postbox .cmb-repeat-group-field,
629
  .cmb2-postbox .cmb-remove-field-row, .cmb-type-group .cmb-repeat-group-field,
630
  .cmb-type-group .cmb-remove-field-row {
@@ -757,7 +763,7 @@ span.cmb2-metabox-description {
757
  --------------------------------------------------------------*/
758
  /* line 6, sass/partials/_collapsible_ui.scss */
759
  .cmb2-metabox .cmbhandle {
760
- color: #aaaaaa;
761
  float: right;
762
  width: 27px;
763
  height: 30px;
1
  /*!
2
+ * CMB2 - v2.6.0 - 2019-01-18
3
  * https://cmb2.io
4
+ * Copyright (c) 2019
5
  * Licensed GPLv2+
6
  */
7
 
264
  border-top: solid 1px #e9e9e9;
265
  }
266
  /* line 259, sass/partials/_main_wrap.scss */
267
+ .cmb-repeat-table .cmb-row.cmb-repeat-row.ui-sortable-helper {
268
+ outline: dashed 2px #e9e9e9 !important;
269
+ }
270
+ /* line 263, sass/partials/_main_wrap.scss */
271
  .cmb-repeat-table .cmb-row.cmb-repeat-row:before {
272
  content: counter(el);
273
  display: block;
277
  width: 35px;
278
  height: 100%;
279
  line-height: 35px;
280
+ cursor: move;
281
+ color: #757575;
282
  text-align: center;
283
  border-right: solid 1px #e9e9e9;
284
  }
285
+ /* line 280, sass/partials/_main_wrap.scss */
286
  .cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td {
287
  margin: 0;
288
  padding: 0;
289
  }
290
+ /* line 287, sass/partials/_main_wrap.scss */
291
  .cmb-repeat-table + .cmb-add-row {
292
  margin: 0;
293
  }
294
+ /* line 290, sass/partials/_main_wrap.scss */
295
  .cmb-repeat-table + .cmb-add-row:before {
296
  content: '';
297
  width: 1px;
300
  margin-left: 17px;
301
  background-color: gainsboro;
302
  }
303
+ /* line 300, sass/partials/_main_wrap.scss */
304
  .cmb-repeat-table .cmb-remove-row {
305
  top: 7px;
306
  right: 7px;
310
  padding: 0 !important;
311
  display: none;
312
  }
313
+ /* line 311, sass/partials/_main_wrap.scss */
314
  .cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button {
315
  font-size: 20px;
316
  text-indent: -1000px;
320
  line-height: 1;
321
  padding: 0 10px 0;
322
  }
323
+ /* line 322, sass/partials/_main_wrap.scss */
324
  .cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button:before {
325
  content: "";
326
  font-family: 'Dashicons';
339
  height: 100%;
340
  text-align: center;
341
  }
342
+ /* line 328, sass/partials/_main_wrap.scss */
343
  .cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row {
344
  display: block;
345
  }
346
 
347
+ /* line 336, sass/partials/_main_wrap.scss */
348
  .cmb-repeatable-group .cmb-th {
349
  padding: 5px;
350
  }
351
+ /* line 340, sass/partials/_main_wrap.scss */
352
  .cmb-repeatable-group .cmb-group-title {
353
  background-color: #e9e9e9;
354
  padding: 8px 12px 8px 2.2em;
357
  font-size: 14px;
358
  line-height: 1.4;
359
  }
360
+ /* line 348, sass/partials/_main_wrap.scss */
361
  .cmb-repeatable-group .cmb-group-title h4 {
362
  border: 0;
363
  margin: 0;
365
  font-weight: 500;
366
  padding: 0.5em 0.75em;
367
  }
368
+ /* line 356, sass/partials/_main_wrap.scss */
369
  .cmb-repeatable-group .cmb-group-title .cmb-th {
370
  display: block;
371
  width: 100%;
372
  }
373
+ /* line 362, sass/partials/_main_wrap.scss */
374
  .cmb-repeatable-group .cmb-group-description .cmb-th {
375
  font-size: 1.2em;
376
  display: block;
385
  margin-top: 0;
386
  margin-bottom: 0.5em;
387
  }
388
+ /* line 366, sass/partials/_main_wrap.scss */
389
  .cmb-repeatable-group .cmb-shift-rows {
390
  font-size: 1em;
391
  margin-right: 1em;
392
  text-decoration: none;
393
  }
394
+ /* line 371, sass/partials/_main_wrap.scss */
395
  .cmb-repeatable-group .cmb-shift-rows .dashicons {
396
  font-size: 1.5em;
397
  height: 1.5em;
398
  line-height: 1.2em;
399
  width: 1em;
400
  }
401
+ /* line 377, sass/partials/_main_wrap.scss */
402
  .cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
403
  line-height: 1.3em;
404
  }
405
+ /* line 384, sass/partials/_main_wrap.scss */
406
  .cmb-repeatable-group .cmb2-upload-button {
407
  float: right;
408
  }
409
 
410
+ /* line 390, sass/partials/_main_wrap.scss */
411
  p.cmb2-metabox-description {
412
+ color: #757575;
413
  font-style: italic;
414
  margin: 0;
415
  padding-top: .5em;
416
  }
417
 
418
+ /* line 397, sass/partials/_main_wrap.scss */
419
  span.cmb2-metabox-description {
420
+ color: #757575;
421
  font-style: italic;
422
  }
423
 
424
+ /* line 402, sass/partials/_main_wrap.scss */
425
  .cmb2-metabox-title {
426
  margin: 0 0 5px 0;
427
  padding: 5px 0 0 0;
428
  font-size: 14px;
429
  }
430
 
431
+ /* line 408, sass/partials/_main_wrap.scss */
432
  .cmb-inline ul {
433
  padding: 4px 0 0 0;
434
  }
435
 
436
+ /* line 412, sass/partials/_main_wrap.scss */
437
  .cmb-inline li {
438
  display: inline-block;
439
  padding-right: 18px;
440
  }
441
 
442
+ /* line 417, sass/partials/_main_wrap.scss */
443
  .cmb-type-textarea-code pre {
444
  margin: 0;
445
  }
446
 
447
+ /* line 423, sass/partials/_main_wrap.scss */
448
  .cmb2-media-status .img-status {
449
  clear: none;
450
  display: inline-block;
452
  margin-right: 10px;
453
  width: auto;
454
  }
455
+ /* line 430, sass/partials/_main_wrap.scss */
456
  .cmb2-media-status .img-status img {
457
  max-width: 350px;
458
  height: auto;
459
  }
460
+ /* line 436, sass/partials/_main_wrap.scss */
461
  .cmb2-media-status .img-status img,
462
  .cmb2-media-status .embed-status {
463
  background: #eee;
471
  -moz-border-radius: 2px;
472
  margin: 15px 0 0 0;
473
  }
474
+ /* line 450, sass/partials/_main_wrap.scss */
475
  .cmb2-media-status .embed-status {
476
  float: left;
477
  max-width: 800px;
478
  }
479
+ /* line 455, sass/partials/_main_wrap.scss */
480
  .cmb2-media-status .img-status, .cmb2-media-status .embed-status {
481
  position: relative;
482
  }
483
+ /* line 458, sass/partials/_main_wrap.scss */
484
  .cmb2-media-status .img-status .cmb2-remove-file-button, .cmb2-media-status .embed-status .cmb2-remove-file-button {
485
  background: url(../images/ico-delete.png);
486
  height: 16px;
490
  top: -5px;
491
  width: 16px;
492
  }
493
+ /* line 472, sass/partials/_main_wrap.scss */
494
  .cmb2-media-status .img-status .cmb2-remove-file-button {
495
  top: 10px;
496
  }
497
+ /* line 477, sass/partials/_main_wrap.scss */
498
  .cmb2-media-status .img-status img, .cmb2-media-status .file-status > span {
499
  cursor: pointer;
500
  }
501
+ /* line 482, sass/partials/_main_wrap.scss */
502
  .cmb2-media-status.cmb-attach-list .img-status img, .cmb2-media-status.cmb-attach-list .file-status > span {
503
  cursor: move;
504
  }
505
 
506
+ /* line 489, sass/partials/_main_wrap.scss */
507
  .cmb-type-file-list .cmb2-media-status .img-status {
508
  clear: none;
509
  vertical-align: middle;
513
  margin-top: 0;
514
  }
515
 
516
+ /* line 498, sass/partials/_main_wrap.scss */
517
  .cmb-attach-list li {
518
  clear: both;
519
  display: inline-block;
521
  margin-top: 5px;
522
  margin-bottom: 10px;
523
  }
524
+ /* line 504, sass/partials/_main_wrap.scss */
525
  .cmb-attach-list li img {
526
  float: left;
527
  margin-right: 10px;
528
  }
529
 
530
+ /* line 510, sass/partials/_main_wrap.scss */
531
  .cmb2-remove-wrapper {
532
  margin: 0;
533
  }
534
 
535
+ /* line 514, sass/partials/_main_wrap.scss */
536
  .child-cmb2 .cmb-th {
537
  text-align: left;
538
  }
539
 
540
+ /* line 518, sass/partials/_main_wrap.scss */
541
  .cmb2-indented-hierarchy {
542
  padding-left: 1.5em;
543
  }
544
 
545
  @media (max-width: 450px) {
546
+ /* line 523, sass/partials/_main_wrap.scss */
547
  .cmb-th,
548
  .cmb-td,
549
  .cmb-th + .cmb-td {
588
  .cmb2-postbox .cmb-row .cmbhandle, .cmb-type-group .cmb-row .cmbhandle {
589
  right: -1em;
590
  position: relative;
591
+ color: #222222;
592
  }
593
+ /* line 43, sass/partials/_post_metaboxes.scss */
594
  .cmb2-postbox .cmb-repeatable-grouping, .cmb-type-group .cmb-repeatable-grouping {
595
  padding: 0 1em;
596
  max-width: 100%;
597
  min-width: 1px !important;
598
  }
599
+ /* line 49, sass/partials/_post_metaboxes.scss */
600
  .cmb2-postbox .cmb-repeatable-group > .cmb-row, .cmb-type-group .cmb-repeatable-group > .cmb-row {
601
  padding-bottom: 0;
602
  }
603
+ /* line 53, sass/partials/_post_metaboxes.scss */
604
  .cmb2-postbox .cmb-th, .cmb-type-group .cmb-th {
605
  width: 18%;
606
  padding: 0 2% 0 0;
607
  }
608
+ /* line 59, sass/partials/_post_metaboxes.scss */
609
  .cmb2-postbox .cmb-td, .cmb-type-group .cmb-td {
610
  margin-bottom: 0;
611
  padding: 0;
612
  line-height: 1.3;
613
  }
614
+ /* line 65, sass/partials/_post_metaboxes.scss */
615
  .cmb2-postbox .cmb-th + .cmb-td, .cmb-type-group .cmb-th + .cmb-td {
616
  width: 80%;
617
  float: right;
618
  }
619
+ /* line 70, sass/partials/_post_metaboxes.scss */
620
  .cmb2-postbox .cmb-row:not(:last-of-type),
621
  .cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type),
622
  .cmb-type-group .cmb-repeatable-group:not(:last-of-type) {
623
  border-bottom: 1px solid #e9e9e9;
624
  }
625
  @media (max-width: 450px) {
626
+ /* line 70, sass/partials/_post_metaboxes.scss */
627
  .cmb2-postbox .cmb-row:not(:last-of-type),
628
  .cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type),
629
  .cmb-type-group .cmb-repeatable-group:not(:last-of-type) {
630
  border-bottom: 0;
631
  }
632
  }
633
+ /* line 79, sass/partials/_post_metaboxes.scss */
634
  .cmb2-postbox .cmb-repeat-group-field,
635
  .cmb2-postbox .cmb-remove-field-row, .cmb-type-group .cmb-repeat-group-field,
636
  .cmb-type-group .cmb-remove-field-row {
763
  --------------------------------------------------------------*/
764
  /* line 6, sass/partials/_collapsible_ui.scss */
765
  .cmb2-metabox .cmbhandle {
766
+ color: #757575;
767
  float: right;
768
  width: 27px;
769
  height: 30px;
vendor/cmb2/cmb2/css/cmb2-front.css.map ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ {
2
+ "version": 3,
3
+ "mappings": "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",
4
+ "sources": ["sass/partials/_main_wrap.scss","sass/partials/_variables.scss","sass/partials/_mixins.scss","sass/partials/_post_metaboxes.scss","sass/partials/_context_metaboxes.scss","sass/partials/_misc.scss","sass/partials/_collapsible_ui.scss","sass/partials/_jquery_ui.scss","sass/cmb2-front.scss","sass/partials/_front.scss"],
5
+ "names": [],
6
+ "file": "cmb2-front.css"
7
+ }
vendor/cmb2/cmb2/css/cmb2-front.min.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /*! CMB2 - v2.6.0 - 2019-01-18 | https://cmb2.io | Copyright (c) 2019 CMB2 team | Licensed GPLv2 */
2
+ @charset "UTF-8";.cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button-secondary,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-left:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 5px 0 0;padding:0}.cmb2-wrap .button-secondary,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 10px 0 0}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:left;font-weight:600;line-height:1.3;padding:20px 10px 20px 0;vertical-align:top;width:200px}@media (max-width:450px){.cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:left;width:100%}.cmb-th label{display:block;margin-top:0;margin-bottom:.5em}}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:left}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:right}.empty-row.hidden{display:none}.cmb-repeat-table{background-color:#fafafa;border:1px solid #e1e1e1}.cmb-repeat-table .cmb-row.cmb-repeat-row{position:relative;counter-increment:el;margin:0;padding:10px 10px 10px 50px;border-bottom:none!important}.cmb-repeat-table .cmb-row.cmb-repeat-row+.cmb-repeat-row{border-top:solid 1px #e9e9e9}.cmb-repeat-table .cmb-row.cmb-repeat-row.ui-sortable-helper{outline:dashed 2px #e9e9e9!important}.cmb-repeat-table .cmb-row.cmb-repeat-row:before{content:counter(el);display:block;top:0;left:0;position:absolute;width:35px;height:100%;line-height:35px;cursor:move;color:#757575;text-align:center;border-right:solid 1px #e9e9e9}.cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td{margin:0;padding:0}.cmb-repeat-table+.cmb-add-row{margin:0}.cmb-repeat-table+.cmb-add-row:before{content:'';width:1px;height:1.6em;display:block;margin-left:17px;background-color:#dcdcdc}.cmb-repeat-table .cmb-remove-row{top:7px;right:7px;position:absolute;width:auto;margin-left:0;padding:0!important;display:none}.cmb-repeat-table .cmb-remove-row>.cmb-remove-row-button{font-size:20px;text-indent:-1000px;overflow:hidden;position:relative;height:auto;line-height:1;padding:0 10px}.cmb-repeat-table .cmb-remove-row>.cmb-remove-row-button:before{content:"";font-family:Dashicons;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center}.cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row{display:block}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 12px 8px 2.2em;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:left;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;margin-bottom:.5em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-right:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:right}p.cmb2-metabox-description{color:#757575;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#757575;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-right:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;vertical-align:middle;margin-right:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px;height:auto}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#eee;border:5px solid #fff;outline:1px solid #e9e9e9;box-shadow:inset 0 0 15px rgba(0,0,0,.3),inset 0 0 0 1px rgba(0,0,0,.05);background-image:linear-gradient(45deg,#d0d0d0 25%,transparent 25%,transparent 75%,#d0d0d0 75%,#d0d0d0),linear-gradient(45deg,#d0d0d0 25%,transparent 25%,transparent 75%,#d0d0d0 75%,#d0d0d0);background-position:0 0,10px 10px;background-size:20px 20px;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0}.cmb2-media-status .embed-status{float:left;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;left:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb2-media-status.cmb-attach-list .file-status>span,.cmb2-media-status.cmb-attach-list .img-status img{cursor:move}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;vertical-align:middle;width:auto;margin-right:10px;margin-bottom:10px;margin-top:0}.cmb-attach-list li{clear:both;display:inline-block;width:100%;margin-top:5px;margin-bottom:10px}.cmb-attach-list li img{float:left;margin-right:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:left}.cmb2-indented-hierarchy{padding-left:1.5em}@media (max-width:450px){.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}}#poststuff .cmb-group-title{margin-left:-1em;margin-right:-1em;min-height:1.5em}#poststuff .repeatable .cmb-group-title{padding-left:2.2em}.cmb-type-group .cmb2-wrap,.cmb2-postbox .cmb2-wrap{margin:0}.cmb-type-group .cmb2-wrap>.cmb-field-list>.cmb-row,.cmb2-postbox .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-type-group .cmb2-wrap input[type=text].cmb2-oembed,.cmb2-postbox .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-type-group .cmb-row,.cmb2-postbox .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-type-group .cmb-row .cmbhandle,.cmb2-postbox .cmb-row .cmbhandle{right:-1em;position:relative;color:#222}.cmb-type-group .cmb-repeatable-grouping,.cmb2-postbox .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-type-group .cmb-repeatable-group>.cmb-row,.cmb2-postbox .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-type-group .cmb-th,.cmb2-postbox .cmb-th{width:18%;padding:0 2% 0 0}.cmb-type-group .cmb-td,.cmb2-postbox .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-type-group .cmb-th+.cmb-td,.cmb2-postbox .cmb-th+.cmb-td{width:80%;float:right}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}@media (max-width:450px){.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:0}}.cmb-type-group .cmb-remove-field-row,.cmb-type-group .cmb-repeat-group-field,.cmb2-postbox .cmb-remove-field-row,.cmb2-postbox .cmb-repeat-group-field{padding-top:1.8em}.js .cmb2-postbox.context-box .toggle-indicator:before{content:"\f142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js .cmb2-postbox.context-box.closed .toggle-indicator:before{content:"\f140"}.cmb2-postbox.context-box{margin-bottom:10px}.cmb2-postbox.context-box.context-after_title-box,.cmb2-postbox.context-box.context-before_permalink-box{margin-top:10px}.cmb2-postbox.context-box.context-after_editor-box{margin-top:20px;margin-bottom:0}.cmb2-postbox.context-box.context-form_top-box{margin-top:10px}.cmb2-postbox.context-box.context-form_top-box .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb2-postbox.context-box .hndle{cursor:auto}.cmb2-context-wrap{margin-top:10px}.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-right:300px;width:auto}.cmb2-context-wrap.cmb2-context-wrap-no-title .cmb2-metabox{padding:10px}.cmb2-context-wrap .cmb-th{padding:0 2% 0 0;width:18%}.cmb2-context-wrap .cmb-td{width:80%;padding:0}.cmb2-context-wrap .cmb-row{margin-bottom:10px}.cmb2-context-wrap .cmb-row:last-of-type{margin-bottom:0}@media only screen and (max-width:850px){.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-right:0}}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.cmb2-no-box-wrap .cmb-spinner,.cmb2-postbox .cmb-spinner{float:left;display:none}.cmb-spinner.is-active{display:block}.cmb2-metabox .cmbhandle{color:#757575;float:right;width:27px;height:30px;cursor:pointer;right:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;left:0;top:.5em;line-height:1em;padding:2px 6px 3px;opacity:.5}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){cursor:pointer;color:#a00;opacity:1}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}* html .cmb2-element.ui-helper-clearfix{height:1%}.cmb2-element .ui-datepicker,.cmb2-element.ui-datepicker{padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background-color:#fff;border:1px solid #dfdfdf;border-top:none;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075);min-width:17em;width:auto}.cmb2-element .ui-datepicker *,.cmb2-element.ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{font-size:13px;margin:0;border:none;border-collapse:collapse}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{border:none;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover{background:0 0;border-color:transparent;cursor:pointer}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin:0;padding:10px 0;color:#fff;font-size:14px;line-height:14px;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select,.cmb2-element.ui-datepicker .ui-datepicker-title select{margin-top:-8px;margin-bottom:-8px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-prev{position:relative;top:0;height:34px;width:34px}.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-prev{border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{left:0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next-hover{right:0}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{display:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev{float:left}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next{float:right}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{font:400 20px/34px dashicons;padding-left:7px;color:#fff;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:34px;height:34px}.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{content:'\f341'}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before{content:'\f345'}.cmb2-element .ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover:before{opacity:.7}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-year{width:33%;background:0 0;border-color:transparent;box-shadow:none;color:#fff}.cmb2-element .ui-datepicker select.ui-datepicker-month option,.cmb2-element .ui-datepicker select.ui-datepicker-year option,.cmb2-element.ui-datepicker select.ui-datepicker-month option,.cmb2-element.ui-datepicker select.ui-datepicker-year option{color:#333}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{color:#fff;font-weight:600}.cmb2-element .ui-datepicker thead th,.cmb2-element.ui-datepicker thead th{font-weight:400}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{padding:10px}.cmb2-element .ui-datepicker td,.cmb2-element.ui-datepicker td{padding:0;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-other-month,.cmb2-element.ui-datepicker td.ui-datepicker-other-month{border:transparent}.cmb2-element .ui-datepicker td.ui-datepicker-week-end,.cmb2-element.ui-datepicker td.ui-datepicker-week-end{background-color:#f4f4f4;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today{-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);-moz-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1)}.cmb2-element .ui-datepicker td.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-today{background-color:#f0f0c0}.cmb2-element .ui-datepicker td.ui-datepicker-current-day,.cmb2-element.ui-datepicker td.ui-datepicker-current-day{background:#bd8}.cmb2-element .ui-datepicker td .ui-state-default,.cmb2-element.ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;text-decoration:none;width:auto;display:block;padding:5px 10px;font-weight:400;color:#444}.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{opacity:.5}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{background:#32373c}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover,.cmb2-element.ui-datepicker td .ui-state-active,.cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.cmb2-element .ui-datepicker .ui-timepicker-div,.cmb2-element.ui-datepicker .ui-timepicker-div{font-size:14px}.cmb2-element .ui-datepicker .ui-timepicker-div dl,.cmb2-element.ui-datepicker .ui-timepicker-div dl{text-align:left;padding:0 .6em}.cmb2-element .ui-datepicker .ui-timepicker-div dl dt,.cmb2-element.ui-datepicker .ui-timepicker-div dl dt{float:left;clear:left;padding:0 0 0 5px}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd{margin:0 10px 10px 40%}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd select,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd select{width:100%}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane{padding:.6em;text-align:left}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary{padding:0 10px 1px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;margin:0 .6em .4em .4em}.admin-color-fresh .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.admin-color-fresh .cmb2-element .ui-datepicker thead,.admin-color-fresh .cmb2-element.ui-datepicker thead{background:#32373c}.admin-color-fresh .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-fresh .cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-widget-header{background:#52accc}.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element.ui-datepicker thead{background:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover{background:#096484;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-blue .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-widget-header{background:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element.ui-datepicker thead{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover{background:#c7a589;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-widget-header{background:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element.ui-datepicker thead{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover{background:#a3b745;color:#fff}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-widget-header{background:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element.ui-datepicker thead{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover{background:#e14d43;color:#fff}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-widget-header{background:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element.ui-datepicker thead{background:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover{background:#9ebaa0;color:#fff}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-widget-header{background:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker th,.admin-color-sunrise .cmb2-element.ui-datepicker th{border-color:#be3631;background:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover{background:#dd823b;color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element.ui-datepicker .ui-widget-header{background:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-year,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-year{color:#555}.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element.ui-datepicker thead{background:#888}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-default{color:#555}.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover{background:#ccc}.admin-color-light .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-light .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-widget-header{background:#56b274}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker thead,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker thead{background:#36533f}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker td .ui-state-hover{background:#446950;color:#fff}.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-widget-header{background:#4ca26a}.admin-color-bbp-mint .cmb2-element .ui-datepicker thead,.admin-color-bbp-mint .cmb2-element.ui-datepicker thead{background:#4f6d59}.admin-color-bbp-mint .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-mint .cmb2-element.ui-datepicker td .ui-state-hover{background:#5fb37c;color:#fff}.closed .inside{display:none}.cmb-repeatable-grouping{position:relative}.cmb-repeatable-grouping .cmb-group-title{margin-left:-1em;margin-right:-1em;min-height:1.5em}.cmb-repeatable-grouping h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb-repeatable-group.repeatable .cmb-group-title{padding-left:2.2em}.cmb-repeatable-group.non-repeatable .cmb-group-title{padding-left:12px}.cmb-type-group .cmb-row .cmbhandle{right:0;position:absolute}.cmb-spinner{background:url(/wp-admin/images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;float:right;vertical-align:middle;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}
vendor/{webdevstudios → cmb2}/cmb2/css/cmb2-rtl.css RENAMED
@@ -1,7 +1,7 @@
1
  /*!
2
- * CMB2 - v2.4.2 - 2018-05-29
3
  * https://cmb2.io
4
- * Copyright (c) 2018
5
  * Licensed GPLv2+
6
  */
7
 
@@ -325,6 +325,12 @@
325
 
326
  /* line 259, sass/partials/_main_wrap.scss */
327
 
 
 
 
 
 
 
328
  .cmb-repeat-table .cmb-row.cmb-repeat-row:before {
329
  content: counter(el);
330
  display: block;
@@ -334,25 +340,26 @@
334
  width: 35px;
335
  height: 100%;
336
  line-height: 35px;
337
- color: #aaaaaa;
 
338
  text-align: center;
339
  border-left: solid 1px #e9e9e9;
340
  }
341
 
342
- /* line 276, sass/partials/_main_wrap.scss */
343
 
344
  .cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td {
345
  margin: 0;
346
  padding: 0;
347
  }
348
 
349
- /* line 283, sass/partials/_main_wrap.scss */
350
 
351
  .cmb-repeat-table + .cmb-add-row {
352
  margin: 0;
353
  }
354
 
355
- /* line 286, sass/partials/_main_wrap.scss */
356
 
357
  .cmb-repeat-table + .cmb-add-row:before {
358
  content: '';
@@ -363,7 +370,7 @@
363
  background-color: gainsboro;
364
  }
365
 
366
- /* line 296, sass/partials/_main_wrap.scss */
367
 
368
  .cmb-repeat-table .cmb-remove-row {
369
  top: 7px;
@@ -375,7 +382,7 @@
375
  display: none;
376
  }
377
 
378
- /* line 307, sass/partials/_main_wrap.scss */
379
 
380
  .cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button {
381
  font-size: 20px;
@@ -387,7 +394,7 @@
387
  padding: 0 10px 0;
388
  }
389
 
390
- /* line 318, sass/partials/_main_wrap.scss */
391
 
392
  .cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button:before {
393
  content: "";
@@ -408,19 +415,19 @@
408
  text-align: center;
409
  }
410
 
411
- /* line 324, sass/partials/_main_wrap.scss */
412
 
413
  .cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row {
414
  display: block;
415
  }
416
 
417
- /* line 332, sass/partials/_main_wrap.scss */
418
 
419
  .cmb-repeatable-group .cmb-th {
420
  padding: 5px;
421
  }
422
 
423
- /* line 336, sass/partials/_main_wrap.scss */
424
 
425
  .cmb-repeatable-group .cmb-group-title {
426
  background-color: #e9e9e9;
@@ -431,7 +438,7 @@
431
  line-height: 1.4;
432
  }
433
 
434
- /* line 344, sass/partials/_main_wrap.scss */
435
 
436
  .cmb-repeatable-group .cmb-group-title h4 {
437
  border: 0;
@@ -441,14 +448,14 @@
441
  padding: 0.5em 0.75em;
442
  }
443
 
444
- /* line 352, sass/partials/_main_wrap.scss */
445
 
446
  .cmb-repeatable-group .cmb-group-title .cmb-th {
447
  display: block;
448
  width: 100%;
449
  }
450
 
451
- /* line 358, sass/partials/_main_wrap.scss */
452
 
453
  .cmb-repeatable-group .cmb-group-description .cmb-th {
454
  font-size: 1.2em;
@@ -467,7 +474,7 @@
467
  margin-bottom: 0.5em;
468
  }
469
 
470
- /* line 362, sass/partials/_main_wrap.scss */
471
 
472
  .cmb-repeatable-group .cmb-shift-rows {
473
  font-size: 1em;
@@ -475,7 +482,7 @@
475
  text-decoration: none;
476
  }
477
 
478
- /* line 367, sass/partials/_main_wrap.scss */
479
 
480
  .cmb-repeatable-group .cmb-shift-rows .dashicons {
481
  font-size: 1.5em;
@@ -484,35 +491,35 @@
484
  width: 1em;
485
  }
486
 
487
- /* line 373, sass/partials/_main_wrap.scss */
488
 
489
  .cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
490
  line-height: 1.3em;
491
  }
492
 
493
- /* line 380, sass/partials/_main_wrap.scss */
494
 
495
  .cmb-repeatable-group .cmb2-upload-button {
496
  float: left;
497
  }
498
 
499
- /* line 386, sass/partials/_main_wrap.scss */
500
 
501
  p.cmb2-metabox-description {
502
- color: #aaaaaa;
503
  font-style: italic;
504
  margin: 0;
505
  padding-top: .5em;
506
  }
507
 
508
- /* line 393, sass/partials/_main_wrap.scss */
509
 
510
  span.cmb2-metabox-description {
511
- color: #aaaaaa;
512
  font-style: italic;
513
  }
514
 
515
- /* line 398, sass/partials/_main_wrap.scss */
516
 
517
  .cmb2-metabox-title {
518
  margin: 0 0 5px 0;
@@ -520,26 +527,26 @@ span.cmb2-metabox-description {
520
  font-size: 14px;
521
  }
522
 
523
- /* line 404, sass/partials/_main_wrap.scss */
524
 
525
  .cmb-inline ul {
526
  padding: 4px 0 0 0;
527
  }
528
 
529
- /* line 408, sass/partials/_main_wrap.scss */
530
 
531
  .cmb-inline li {
532
  display: inline-block;
533
  padding-left: 18px;
534
  }
535
 
536
- /* line 413, sass/partials/_main_wrap.scss */
537
 
538
  .cmb-type-textarea-code pre {
539
  margin: 0;
540
  }
541
 
542
- /* line 419, sass/partials/_main_wrap.scss */
543
 
544
  .cmb2-media-status .img-status {
545
  clear: none;
@@ -549,14 +556,14 @@ span.cmb2-metabox-description {
549
  width: auto;
550
  }
551
 
552
- /* line 426, sass/partials/_main_wrap.scss */
553
 
554
  .cmb2-media-status .img-status img {
555
  max-width: 350px;
556
  height: auto;
557
  }
558
 
559
- /* line 432, sass/partials/_main_wrap.scss */
560
 
561
  .cmb2-media-status .img-status img,
562
  .cmb2-media-status .embed-status {
@@ -572,21 +579,21 @@ span.cmb2-metabox-description {
572
  margin: 15px 0 0 0;
573
  }
574
 
575
- /* line 446, sass/partials/_main_wrap.scss */
576
 
577
  .cmb2-media-status .embed-status {
578
  float: right;
579
  max-width: 800px;
580
  }
581
 
582
- /* line 451, sass/partials/_main_wrap.scss */
583
 
584
  .cmb2-media-status .img-status,
585
  .cmb2-media-status .embed-status {
586
  position: relative;
587
  }
588
 
589
- /* line 454, sass/partials/_main_wrap.scss */
590
 
591
  .cmb2-media-status .img-status .cmb2-remove-file-button,
592
  .cmb2-media-status .embed-status .cmb2-remove-file-button {
@@ -599,27 +606,27 @@ span.cmb2-metabox-description {
599
  width: 16px;
600
  }
601
 
602
- /* line 468, sass/partials/_main_wrap.scss */
603
 
604
  .cmb2-media-status .img-status .cmb2-remove-file-button {
605
  top: 10px;
606
  }
607
 
608
- /* line 473, sass/partials/_main_wrap.scss */
609
 
610
  .cmb2-media-status .img-status img,
611
  .cmb2-media-status .file-status > span {
612
  cursor: pointer;
613
  }
614
 
615
- /* line 478, sass/partials/_main_wrap.scss */
616
 
617
  .cmb2-media-status.cmb-attach-list .img-status img,
618
  .cmb2-media-status.cmb-attach-list .file-status > span {
619
  cursor: move;
620
  }
621
 
622
- /* line 485, sass/partials/_main_wrap.scss */
623
 
624
  .cmb-type-file-list .cmb2-media-status .img-status {
625
  clear: none;
@@ -630,7 +637,7 @@ span.cmb2-metabox-description {
630
  margin-top: 0;
631
  }
632
 
633
- /* line 494, sass/partials/_main_wrap.scss */
634
 
635
  .cmb-attach-list li {
636
  clear: both;
@@ -640,26 +647,26 @@ span.cmb2-metabox-description {
640
  margin-bottom: 10px;
641
  }
642
 
643
- /* line 500, sass/partials/_main_wrap.scss */
644
 
645
  .cmb-attach-list li img {
646
  float: right;
647
  margin-left: 10px;
648
  }
649
 
650
- /* line 506, sass/partials/_main_wrap.scss */
651
 
652
  .cmb2-remove-wrapper {
653
  margin: 0;
654
  }
655
 
656
- /* line 510, sass/partials/_main_wrap.scss */
657
 
658
  .child-cmb2 .cmb-th {
659
  text-align: right;
660
  }
661
 
662
- /* line 514, sass/partials/_main_wrap.scss */
663
 
664
  .cmb2-indented-hierarchy {
665
  padding-right: 1.5em;
@@ -718,9 +725,10 @@ span.cmb2-metabox-description {
718
  .cmb-type-group .cmb-row .cmbhandle {
719
  left: -1em;
720
  position: relative;
 
721
  }
722
 
723
- /* line 42, sass/partials/_post_metaboxes.scss */
724
 
725
  .cmb2-postbox .cmb-repeatable-grouping,
726
  .cmb-type-group .cmb-repeatable-grouping {
@@ -729,14 +737,14 @@ span.cmb2-metabox-description {
729
  min-width: 1px !important;
730
  }
731
 
732
- /* line 48, sass/partials/_post_metaboxes.scss */
733
 
734
  .cmb2-postbox .cmb-repeatable-group > .cmb-row,
735
  .cmb-type-group .cmb-repeatable-group > .cmb-row {
736
  padding-bottom: 0;
737
  }
738
 
739
- /* line 52, sass/partials/_post_metaboxes.scss */
740
 
741
  .cmb2-postbox .cmb-th,
742
  .cmb-type-group .cmb-th {
@@ -744,7 +752,7 @@ span.cmb2-metabox-description {
744
  padding: 0 0 0 2%;
745
  }
746
 
747
- /* line 58, sass/partials/_post_metaboxes.scss */
748
 
749
  .cmb2-postbox .cmb-td,
750
  .cmb-type-group .cmb-td {
@@ -753,7 +761,7 @@ span.cmb2-metabox-description {
753
  line-height: 1.3;
754
  }
755
 
756
- /* line 64, sass/partials/_post_metaboxes.scss */
757
 
758
  .cmb2-postbox .cmb-th + .cmb-td,
759
  .cmb-type-group .cmb-th + .cmb-td {
@@ -761,7 +769,7 @@ span.cmb2-metabox-description {
761
  float: left;
762
  }
763
 
764
- /* line 69, sass/partials/_post_metaboxes.scss */
765
 
766
  .cmb2-postbox .cmb-row:not(:last-of-type),
767
  .cmb2-postbox .cmb-repeatable-group:not(:last-of-type),
@@ -770,7 +778,7 @@ span.cmb2-metabox-description {
770
  border-bottom: 1px solid #e9e9e9;
771
  }
772
 
773
- /* line 78, sass/partials/_post_metaboxes.scss */
774
 
775
  .cmb2-postbox .cmb-repeat-group-field,
776
  .cmb2-postbox .cmb-remove-field-row,
@@ -1288,7 +1296,7 @@ span.cmb2-metabox-description {
1288
  /* line 6, sass/partials/_collapsible_ui.scss */
1289
 
1290
  .cmb2-metabox .cmbhandle {
1291
- color: #aaaaaa;
1292
  float: left;
1293
  width: 27px;
1294
  height: 30px;
@@ -2060,7 +2068,7 @@ span.cmb2-metabox-description {
2060
  margin-bottom: 0.5em;
2061
  }
2062
 
2063
- /* line 519, sass/partials/_main_wrap.scss */
2064
 
2065
  .cmb-th,
2066
  .cmb-td,
@@ -2070,7 +2078,7 @@ span.cmb2-metabox-description {
2070
  width: 100%;
2071
  }
2072
 
2073
- /* line 69, sass/partials/_post_metaboxes.scss */
2074
 
2075
  .cmb2-postbox .cmb-row:not(:last-of-type),
2076
  .cmb2-postbox .cmb-repeatable-group:not(:last-of-type),
1
  /*!
2
+ * CMB2 - v2.6.0 - 2019-01-18
3
  * https://cmb2.io
4
+ * Copyright (c) 2019
5
  * Licensed GPLv2+
6
  */
7
 
325
 
326
  /* line 259, sass/partials/_main_wrap.scss */
327
 
328
+ .cmb-repeat-table .cmb-row.cmb-repeat-row.ui-sortable-helper {
329
+ outline: dashed 2px #e9e9e9 !important;
330
+ }
331
+
332
+ /* line 263, sass/partials/_main_wrap.scss */
333
+
334
  .cmb-repeat-table .cmb-row.cmb-repeat-row:before {
335
  content: counter(el);
336
  display: block;
340
  width: 35px;
341
  height: 100%;
342
  line-height: 35px;
343
+ cursor: move;
344
+ color: #757575;
345
  text-align: center;
346
  border-left: solid 1px #e9e9e9;
347
  }
348
 
349
+ /* line 280, sass/partials/_main_wrap.scss */
350
 
351
  .cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td {
352
  margin: 0;
353
  padding: 0;
354
  }
355
 
356
+ /* line 287, sass/partials/_main_wrap.scss */
357
 
358
  .cmb-repeat-table + .cmb-add-row {
359
  margin: 0;
360
  }
361
 
362
+ /* line 290, sass/partials/_main_wrap.scss */
363
 
364
  .cmb-repeat-table + .cmb-add-row:before {
365
  content: '';
370
  background-color: gainsboro;
371
  }
372
 
373
+ /* line 300, sass/partials/_main_wrap.scss */
374
 
375
  .cmb-repeat-table .cmb-remove-row {
376
  top: 7px;
382
  display: none;
383
  }
384
 
385
+ /* line 311, sass/partials/_main_wrap.scss */
386
 
387
  .cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button {
388
  font-size: 20px;
394
  padding: 0 10px 0;
395
  }
396
 
397
+ /* line 322, sass/partials/_main_wrap.scss */
398
 
399
  .cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button:before {
400
  content: "";
415
  text-align: center;
416
  }
417
 
418
+ /* line 328, sass/partials/_main_wrap.scss */
419
 
420
  .cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row {
421
  display: block;
422
  }
423
 
424
+ /* line 336, sass/partials/_main_wrap.scss */
425
 
426
  .cmb-repeatable-group .cmb-th {
427
  padding: 5px;
428
  }
429
 
430
+ /* line 340, sass/partials/_main_wrap.scss */
431
 
432
  .cmb-repeatable-group .cmb-group-title {
433
  background-color: #e9e9e9;
438
  line-height: 1.4;
439
  }
440
 
441
+ /* line 348, sass/partials/_main_wrap.scss */
442
 
443
  .cmb-repeatable-group .cmb-group-title h4 {
444
  border: 0;
448
  padding: 0.5em 0.75em;
449
  }
450
 
451
+ /* line 356, sass/partials/_main_wrap.scss */
452
 
453
  .cmb-repeatable-group .cmb-group-title .cmb-th {
454
  display: block;
455
  width: 100%;
456
  }
457
 
458
+ /* line 362, sass/partials/_main_wrap.scss */
459
 
460
  .cmb-repeatable-group .cmb-group-description .cmb-th {
461
  font-size: 1.2em;
474
  margin-bottom: 0.5em;
475
  }
476
 
477
+ /* line 366, sass/partials/_main_wrap.scss */
478
 
479
  .cmb-repeatable-group .cmb-shift-rows {
480
  font-size: 1em;
482
  text-decoration: none;
483
  }
484
 
485
+ /* line 371, sass/partials/_main_wrap.scss */
486
 
487
  .cmb-repeatable-group .cmb-shift-rows .dashicons {
488
  font-size: 1.5em;
491
  width: 1em;
492
  }
493
 
494
+ /* line 377, sass/partials/_main_wrap.scss */
495
 
496
  .cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
497
  line-height: 1.3em;
498
  }
499
 
500
+ /* line 384, sass/partials/_main_wrap.scss */
501
 
502
  .cmb-repeatable-group .cmb2-upload-button {
503
  float: left;
504
  }
505
 
506
+ /* line 390, sass/partials/_main_wrap.scss */
507
 
508
  p.cmb2-metabox-description {
509
+ color: #757575;
510
  font-style: italic;
511
  margin: 0;
512
  padding-top: .5em;
513
  }
514
 
515
+ /* line 397, sass/partials/_main_wrap.scss */
516
 
517
  span.cmb2-metabox-description {
518
+ color: #757575;
519
  font-style: italic;
520
  }
521
 
522
+ /* line 402, sass/partials/_main_wrap.scss */
523
 
524
  .cmb2-metabox-title {
525
  margin: 0 0 5px 0;
527
  font-size: 14px;
528
  }
529
 
530
+ /* line 408, sass/partials/_main_wrap.scss */
531
 
532
  .cmb-inline ul {
533
  padding: 4px 0 0 0;
534
  }
535
 
536
+ /* line 412, sass/partials/_main_wrap.scss */
537
 
538
  .cmb-inline li {
539
  display: inline-block;
540
  padding-left: 18px;
541
  }
542
 
543
+ /* line 417, sass/partials/_main_wrap.scss */
544
 
545
  .cmb-type-textarea-code pre {
546
  margin: 0;
547
  }
548
 
549
+ /* line 423, sass/partials/_main_wrap.scss */
550
 
551
  .cmb2-media-status .img-status {
552
  clear: none;
556
  width: auto;
557
  }
558
 
559
+ /* line 430, sass/partials/_main_wrap.scss */
560
 
561
  .cmb2-media-status .img-status img {
562
  max-width: 350px;
563
  height: auto;
564
  }
565
 
566
+ /* line 436, sass/partials/_main_wrap.scss */
567
 
568
  .cmb2-media-status .img-status img,
569
  .cmb2-media-status .embed-status {
579
  margin: 15px 0 0 0;
580
  }
581
 
582
+ /* line 450, sass/partials/_main_wrap.scss */
583
 
584
  .cmb2-media-status .embed-status {
585
  float: right;
586
  max-width: 800px;
587
  }
588
 
589
+ /* line 455, sass/partials/_main_wrap.scss */
590
 
591
  .cmb2-media-status .img-status,
592
  .cmb2-media-status .embed-status {
593
  position: relative;
594
  }
595
 
596
+ /* line 458, sass/partials/_main_wrap.scss */
597
 
598
  .cmb2-media-status .img-status .cmb2-remove-file-button,
599
  .cmb2-media-status .embed-status .cmb2-remove-file-button {
606
  width: 16px;
607
  }
608
 
609
+ /* line 472, sass/partials/_main_wrap.scss */
610
 
611
  .cmb2-media-status .img-status .cmb2-remove-file-button {
612
  top: 10px;
613
  }
614
 
615
+ /* line 477, sass/partials/_main_wrap.scss */
616
 
617
  .cmb2-media-status .img-status img,
618
  .cmb2-media-status .file-status > span {
619
  cursor: pointer;
620
  }
621
 
622
+ /* line 482, sass/partials/_main_wrap.scss */
623
 
624
  .cmb2-media-status.cmb-attach-list .img-status img,
625
  .cmb2-media-status.cmb-attach-list .file-status > span {
626
  cursor: move;
627
  }
628
 
629
+ /* line 489, sass/partials/_main_wrap.scss */
630
 
631
  .cmb-type-file-list .cmb2-media-status .img-status {
632
  clear: none;
637
  margin-top: 0;
638
  }
639
 
640
+ /* line 498, sass/partials/_main_wrap.scss */
641
 
642
  .cmb-attach-list li {
643
  clear: both;
647
  margin-bottom: 10px;
648
  }
649
 
650
+ /* line 504, sass/partials/_main_wrap.scss */
651
 
652
  .cmb-attach-list li img {
653
  float: right;
654
  margin-left: 10px;
655
  }
656
 
657
+ /* line 510, sass/partials/_main_wrap.scss */
658
 
659
  .cmb2-remove-wrapper {
660
  margin: 0;
661
  }
662
 
663
+ /* line 514, sass/partials/_main_wrap.scss */
664
 
665
  .child-cmb2 .cmb-th {
666
  text-align: right;
667
  }
668
 
669
+ /* line 518, sass/partials/_main_wrap.scss */
670
 
671
  .cmb2-indented-hierarchy {
672
  padding-right: 1.5em;
725
  .cmb-type-group .cmb-row .cmbhandle {
726
  left: -1em;
727
  position: relative;
728
+ color: #222222;
729
  }
730
 
731
+ /* line 43, sass/partials/_post_metaboxes.scss */
732
 
733
  .cmb2-postbox .cmb-repeatable-grouping,
734
  .cmb-type-group .cmb-repeatable-grouping {
737
  min-width: 1px !important;
738
  }
739
 
740
+ /* line 49, sass/partials/_post_metaboxes.scss */
741
 
742
  .cmb2-postbox .cmb-repeatable-group > .cmb-row,
743
  .cmb-type-group .cmb-repeatable-group > .cmb-row {
744
  padding-bottom: 0;
745
  }
746
 
747
+ /* line 53, sass/partials/_post_metaboxes.scss */
748
 
749
  .cmb2-postbox .cmb-th,
750
  .cmb-type-group .cmb-th {
752
  padding: 0 0 0 2%;
753
  }
754
 
755
+ /* line 59, sass/partials/_post_metaboxes.scss */
756
 
757
  .cmb2-postbox .cmb-td,
758
  .cmb-type-group .cmb-td {
761
  line-height: 1.3;
762
  }
763
 
764
+ /* line 65, sass/partials/_post_metaboxes.scss */
765
 
766
  .cmb2-postbox .cmb-th + .cmb-td,
767
  .cmb-type-group .cmb-th + .cmb-td {
769
  float: left;
770
  }
771
 
772
+ /* line 70, sass/partials/_post_metaboxes.scss */
773
 
774
  .cmb2-postbox .cmb-row:not(:last-of-type),
775
  .cmb2-postbox .cmb-repeatable-group:not(:last-of-type),
778
  border-bottom: 1px solid #e9e9e9;
779
  }
780
 
781
+ /* line 79, sass/partials/_post_metaboxes.scss */
782
 
783
  .cmb2-postbox .cmb-repeat-group-field,
784
  .cmb2-postbox .cmb-remove-field-row,
1296
  /* line 6, sass/partials/_collapsible_ui.scss */
1297
 
1298
  .cmb2-metabox .cmbhandle {
1299
+ color: #757575;
1300
  float: left;
1301
  width: 27px;
1302
  height: 30px;
2068
  margin-bottom: 0.5em;
2069
  }
2070
 
2071
+ /* line 523, sass/partials/_main_wrap.scss */
2072
 
2073
  .cmb-th,
2074
  .cmb-td,
2078
  width: 100%;
2079
  }
2080
 
2081
+ /* line 70, sass/partials/_post_metaboxes.scss */
2082
 
2083
  .cmb2-postbox .cmb-row:not(:last-of-type),
2084
  .cmb2-postbox .cmb-repeatable-group:not(:last-of-type),
vendor/cmb2/cmb2/css/cmb2-rtl.min.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /*! CMB2 - v2.6.0 - 2019-01-18 | https://cmb2.io | Copyright (c) 2019 CMB2 team | Licensed GPLv2 */
2
+ .cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button-secondary,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-right:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 0 0 5px;padding:0}.cmb2-wrap .button-secondary,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 0 0 10px}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:right;font-weight:600;line-height:1.3;padding:20px 0 20px 10px;vertical-align:top;width:200px}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:right}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:left}.empty-row.hidden{display:none}.cmb-repeat-table{background-color:#fafafa;border:1px solid #e1e1e1}.cmb-repeat-table .cmb-row.cmb-repeat-row{position:relative;counter-increment:el;margin:0;padding:10px 50px 10px 10px;border-bottom:none!important}.cmb-repeat-table .cmb-row.cmb-repeat-row+.cmb-repeat-row{border-top:solid 1px #e9e9e9}.cmb-repeat-table .cmb-row.cmb-repeat-row.ui-sortable-helper{outline:dashed 2px #e9e9e9!important}.cmb-repeat-table .cmb-row.cmb-repeat-row:before{content:counter(el);display:block;top:0;right:0;position:absolute;width:35px;height:100%;line-height:35px;cursor:move;color:#757575;text-align:center;border-left:solid 1px #e9e9e9}.cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td{margin:0;padding:0}.cmb-repeat-table+.cmb-add-row{margin:0}.cmb-repeat-table+.cmb-add-row:before{content:'';width:1px;height:1.6em;display:block;margin-right:17px;background-color:#dcdcdc}.cmb-repeat-table .cmb-remove-row{top:7px;left:7px;position:absolute;width:auto;margin-right:0;padding:0!important;display:none}.cmb-repeat-table .cmb-remove-row>.cmb-remove-row-button{font-size:20px;text-indent:-1000px;overflow:hidden;position:relative;height:auto;line-height:1;padding:0 10px}.cmb-repeat-table .cmb-remove-row>.cmb-remove-row-button:before{content:"";font-family:Dashicons;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;right:0;width:100%;height:100%;text-align:center}.cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row{display:block}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 2.2em 8px 12px;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:right;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;margin-bottom:.5em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-left:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:left}p.cmb2-metabox-description{color:#757575;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#757575;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-left:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;vertical-align:middle;margin-left:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px;height:auto}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#eee;border:5px solid #fff;outline:1px solid #e9e9e9;box-shadow:inset 0 0 15px rgba(0,0,0,.3),inset 0 0 0 1px rgba(0,0,0,.05);background-image:linear-gradient(45deg,#d0d0d0 25%,transparent 25%,transparent 75%,#d0d0d0 75%,#d0d0d0),linear-gradient(45deg,#d0d0d0 25%,transparent 25%,transparent 75%,#d0d0d0 75%,#d0d0d0);background-position:0 0,10px 10px;background-size:20px 20px;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0}.cmb2-media-status .embed-status{float:right;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;right:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb2-media-status.cmb-attach-list .file-status>span,.cmb2-media-status.cmb-attach-list .img-status img{cursor:move}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;vertical-align:middle;width:auto;margin-left:10px;margin-bottom:10px;margin-top:0}.cmb-attach-list li{clear:both;display:inline-block;width:100%;margin-top:5px;margin-bottom:10px}.cmb-attach-list li img{float:right;margin-left:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:right}.cmb2-indented-hierarchy{padding-right:1.5em}#poststuff .cmb-group-title{margin-right:-1em;margin-left:-1em;min-height:1.5em}#poststuff .repeatable .cmb-group-title{padding-right:2.2em}.cmb-type-group .cmb2-wrap,.cmb2-postbox .cmb2-wrap{margin:0}.cmb-type-group .cmb2-wrap>.cmb-field-list>.cmb-row,.cmb2-postbox .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-type-group .cmb2-wrap input[type=text].cmb2-oembed,.cmb2-postbox .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-type-group .cmb-row,.cmb2-postbox .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-type-group .cmb-row .cmbhandle,.cmb2-postbox .cmb-row .cmbhandle{left:-1em;position:relative;color:#222}.cmb-type-group .cmb-repeatable-grouping,.cmb2-postbox .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-type-group .cmb-repeatable-group>.cmb-row,.cmb2-postbox .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-type-group .cmb-th,.cmb2-postbox .cmb-th{width:18%;padding:0 0 0 2%}.cmb-type-group .cmb-td,.cmb2-postbox .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-type-group .cmb-th+.cmb-td,.cmb2-postbox .cmb-th+.cmb-td{width:80%;float:left}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}.cmb-type-group .cmb-remove-field-row,.cmb-type-group .cmb-repeat-group-field,.cmb2-postbox .cmb-remove-field-row,.cmb2-postbox .cmb-repeat-group-field{padding-top:1.8em}.js .cmb2-postbox.context-box .toggle-indicator:before{content:"\f142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js .cmb2-postbox.context-box.closed .toggle-indicator:before{content:"\f140"}.cmb2-postbox.context-box{margin-bottom:10px}.cmb2-postbox.context-box.context-after_title-box,.cmb2-postbox.context-box.context-before_permalink-box{margin-top:10px}.cmb2-postbox.context-box.context-after_editor-box{margin-top:20px;margin-bottom:0}.cmb2-postbox.context-box.context-form_top-box{margin-top:10px}.cmb2-postbox.context-box.context-form_top-box .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb2-postbox.context-box .hndle{cursor:auto}.cmb2-context-wrap{margin-top:10px}.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-left:300px;width:auto}.cmb2-context-wrap.cmb2-context-wrap-no-title .cmb2-metabox{padding:10px}.cmb2-context-wrap .cmb-th{padding:0 0 0 2%;width:18%}.cmb2-context-wrap .cmb-td{width:80%;padding:0}.cmb2-context-wrap .cmb-row{margin-bottom:10px}.cmb2-context-wrap .cmb-row:last-of-type{margin-bottom:0}.cmb2-options-page{max-width:1200px}.cmb2-options-page.wrap>h2{margin-bottom:1em}.cmb2-options-page .cmb2-metabox>.cmb-row{padding:1em;margin-top:-1px;background:#fff;border:1px solid #e9e9e9;box-shadow:0 1px 1px rgba(0,0,0,.05)}.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th{padding:0;font-weight:initial}.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th+.cmb-td{float:none;padding:0 1em 0 0;margin-right:200px}.cmb2-options-page .cmb2-wrap .cmb-type-title{margin-top:1em;padding:.6em 1em;background-color:#fafafa}.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-title{font-size:12px;margin-top:0;margin-bottom:0;text-transform:uppercase}.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-description{padding-top:.25em}.cmb2-options-page .cmb-repeatable-group .cmb-group-description .cmb-th{padding:0 0 .8em}.cmb2-options-page .cmb-repeatable-group .cmb-group-name{font-size:16px;margin-top:0;margin-bottom:0}.cmb2-options-page .cmb-repeatable-group .cmb-th>.cmb2-metabox-description{font-weight:400;padding-bottom:0!important}#addtag .cmb-th{float:none;width:auto;padding:20px 0 0}#addtag .cmb-td{padding:0}#addtag .cmb-th+.cmb-td{float:none}#addtag select{max-width:100%}#addtag .cmb2-metabox{padding-bottom:20px}#addtag .cmb-row li label{display:inline}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.cmb2-no-box-wrap .cmb-spinner,.cmb2-postbox .cmb-spinner{float:right;display:none}.cmb-spinner{display:none}.cmb-spinner.is-active{display:block}#side-sortables .cmb2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmb2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmb2-wrap input+select,.inner-sidebar .cmb2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmb2-wrap input+select{margin-right:0;margin-top:1em;display:block}#side-sortables .cmb2-wrap input.cmb2-text-money,.inner-sidebar .cmb2-wrap input.cmb2-text-money{max-width:70%}#side-sortables .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description,.inner-sidebar .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description{display:block}#side-sortables .cmb2-wrap label,.inner-sidebar .cmb2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables textarea,.inner-sidebar textarea{max-width:99%}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-type-group>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-type-group>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td:not(.cmb-remove-row),#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td:not(.cmb-remove-row),.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:right;width:100%;padding-right:0;padding-left:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;margin-bottom:.5em;font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmb2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmb2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmb2-media-status .embed-status img,#side-sortables .cmb2-media-status .img-status img,.inner-sidebar .cmb2-media-status .embed-status img,.inner-sidebar .cmb2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmb2-list label,.inner-sidebar .cmb2-list label{display:inline;font-weight:400}#side-sortables .cmb2-metabox-description,.inner-sidebar .cmb2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmb2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-row .cmb2-metabox-description{padding-bottom:1.8em}#side-sortables .cmb2-metabox-title,.inner-sidebar .cmb2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb2-upload-button,.inner-sidebar .cmb2-upload-button{clear:both;margin-top:12px}.cmb2-metabox .cmbhandle{color:#757575;float:left;width:27px;height:30px;cursor:pointer;left:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';left:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;right:0;top:.5em;line-height:1em;padding:2px 6px 3px;opacity:.5}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){cursor:pointer;color:#a00;opacity:1}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}* html .cmb2-element.ui-helper-clearfix{height:1%}.cmb2-element .ui-datepicker,.cmb2-element.ui-datepicker{padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background-color:#fff;border:1px solid #dfdfdf;border-top:none;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075);min-width:17em;width:auto}.cmb2-element .ui-datepicker *,.cmb2-element.ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{font-size:13px;margin:0;border:none;border-collapse:collapse}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{border:none;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover{background:0 0;border-color:transparent;cursor:pointer}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin:0;padding:10px 0;color:#fff;font-size:14px;line-height:14px;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select,.cmb2-element.ui-datepicker .ui-datepicker-title select{margin-top:-8px;margin-bottom:-8px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-prev{position:relative;top:0;height:34px;width:34px}.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-prev{border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{right:0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next-hover{left:0}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{display:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev{float:right}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next{float:left}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{font:400 20px/34px dashicons;padding-right:7px;color:#fff;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:34px;height:34px}.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{content:'\f341'}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before{content:'\f345'}.cmb2-element .ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover:before{opacity:.7}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-year{width:33%;background:0 0;border-color:transparent;box-shadow:none;color:#fff}.cmb2-element .ui-datepicker select.ui-datepicker-month option,.cmb2-element .ui-datepicker select.ui-datepicker-year option,.cmb2-element.ui-datepicker select.ui-datepicker-month option,.cmb2-element.ui-datepicker select.ui-datepicker-year option{color:#333}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{color:#fff;font-weight:600}.cmb2-element .ui-datepicker thead th,.cmb2-element.ui-datepicker thead th{font-weight:400}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{padding:10px}.cmb2-element .ui-datepicker td,.cmb2-element.ui-datepicker td{padding:0;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-other-month,.cmb2-element.ui-datepicker td.ui-datepicker-other-month{border:transparent}.cmb2-element .ui-datepicker td.ui-datepicker-week-end,.cmb2-element.ui-datepicker td.ui-datepicker-week-end{background-color:#f4f4f4;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today{-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);-moz-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1)}.cmb2-element .ui-datepicker td.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-today{background-color:#f0f0c0}.cmb2-element .ui-datepicker td.ui-datepicker-current-day,.cmb2-element.ui-datepicker td.ui-datepicker-current-day{background:#bd8}.cmb2-element .ui-datepicker td .ui-state-default,.cmb2-element.ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;text-decoration:none;width:auto;display:block;padding:5px 10px;font-weight:400;color:#444}.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{opacity:.5}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{background:#32373c}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover,.cmb2-element.ui-datepicker td .ui-state-active,.cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.cmb2-element .ui-datepicker .ui-timepicker-div,.cmb2-element.ui-datepicker .ui-timepicker-div{font-size:14px}.cmb2-element .ui-datepicker .ui-timepicker-div dl,.cmb2-element.ui-datepicker .ui-timepicker-div dl{text-align:right;padding:0 .6em}.cmb2-element .ui-datepicker .ui-timepicker-div dl dt,.cmb2-element.ui-datepicker .ui-timepicker-div dl dt{float:right;clear:right;padding:0 5px 0 0}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd{margin:0 40% 10px 10px}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd select,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd select{width:100%}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane{padding:.6em;text-align:right}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary{padding:0 10px 1px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;margin:0 .4em .4em .6em}.admin-color-fresh .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.admin-color-fresh .cmb2-element .ui-datepicker thead,.admin-color-fresh .cmb2-element.ui-datepicker thead{background:#32373c}.admin-color-fresh .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-fresh .cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-widget-header{background:#52accc}.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element.ui-datepicker thead{background:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover{background:#096484;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-blue .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-widget-header{background:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element.ui-datepicker thead{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover{background:#c7a589;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-widget-header{background:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element.ui-datepicker thead{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover{background:#a3b745;color:#fff}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-widget-header{background:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element.ui-datepicker thead{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover{background:#e14d43;color:#fff}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-widget-header{background:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element.ui-datepicker thead{background:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover{background:#9ebaa0;color:#fff}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-widget-header{background:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker th,.admin-color-sunrise .cmb2-element.ui-datepicker th{border-color:#be3631;background:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover{background:#dd823b;color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element.ui-datepicker .ui-widget-header{background:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-year,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-year{color:#555}.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element.ui-datepicker thead{background:#888}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-default{color:#555}.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover{background:#ccc}.admin-color-light .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-light .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-widget-header{background:#56b274}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker thead,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker thead{background:#36533f}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker td .ui-state-hover{background:#446950;color:#fff}.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-widget-header{background:#4ca26a}.admin-color-bbp-mint .cmb2-element .ui-datepicker thead,.admin-color-bbp-mint .cmb2-element.ui-datepicker thead{background:#4f6d59}.admin-color-bbp-mint .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-mint .cmb2-element.ui-datepicker td .ui-state-hover{background:#5fb37c;color:#fff}@media only screen and (max-width:850px){.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-left:0}}@media (max-width:450px){.cmb-th{font-size:1.2em;padding-bottom:1em;text-align:right}.cmb-th label{display:block;margin-top:0;margin-bottom:.5em}.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:0}.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th+.cmb-td{padding:0;margin-right:0}}
vendor/{webdevstudios → cmb2}/cmb2/css/cmb2.css RENAMED
@@ -1,7 +1,7 @@
1
  /*!
2
- * CMB2 - v2.4.2 - 2018-05-29
3
  * https://cmb2.io
4
- * Copyright (c) 2018
5
  * Licensed GPLv2+
6
  */
7
 
@@ -325,6 +325,12 @@
325
 
326
  /* line 259, sass/partials/_main_wrap.scss */
327
 
 
 
 
 
 
 
328
  .cmb-repeat-table .cmb-row.cmb-repeat-row:before {
329
  content: counter(el);
330
  display: block;
@@ -334,25 +340,26 @@
334
  width: 35px;
335
  height: 100%;
336
  line-height: 35px;
337
- color: #aaaaaa;
 
338
  text-align: center;
339
  border-right: solid 1px #e9e9e9;
340
  }
341
 
342
- /* line 276, sass/partials/_main_wrap.scss */
343
 
344
  .cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td {
345
  margin: 0;
346
  padding: 0;
347
  }
348
 
349
- /* line 283, sass/partials/_main_wrap.scss */
350
 
351
  .cmb-repeat-table + .cmb-add-row {
352
  margin: 0;
353
  }
354
 
355
- /* line 286, sass/partials/_main_wrap.scss */
356
 
357
  .cmb-repeat-table + .cmb-add-row:before {
358
  content: '';
@@ -363,7 +370,7 @@
363
  background-color: gainsboro;
364
  }
365
 
366
- /* line 296, sass/partials/_main_wrap.scss */
367
 
368
  .cmb-repeat-table .cmb-remove-row {
369
  top: 7px;
@@ -375,7 +382,7 @@
375
  display: none;
376
  }
377
 
378
- /* line 307, sass/partials/_main_wrap.scss */
379
 
380
  .cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button {
381
  font-size: 20px;
@@ -387,7 +394,7 @@
387
  padding: 0 10px 0;
388
  }
389
 
390
- /* line 318, sass/partials/_main_wrap.scss */
391
 
392
  .cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button:before {
393
  content: "";
@@ -408,19 +415,19 @@
408
  text-align: center;
409
  }
410
 
411
- /* line 324, sass/partials/_main_wrap.scss */
412
 
413
  .cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row {
414
  display: block;
415
  }
416
 
417
- /* line 332, sass/partials/_main_wrap.scss */
418
 
419
  .cmb-repeatable-group .cmb-th {
420
  padding: 5px;
421
  }
422
 
423
- /* line 336, sass/partials/_main_wrap.scss */
424
 
425
  .cmb-repeatable-group .cmb-group-title {
426
  background-color: #e9e9e9;
@@ -431,7 +438,7 @@
431
  line-height: 1.4;
432
  }
433
 
434
- /* line 344, sass/partials/_main_wrap.scss */
435
 
436
  .cmb-repeatable-group .cmb-group-title h4 {
437
  border: 0;
@@ -441,14 +448,14 @@
441
  padding: 0.5em 0.75em;
442
  }
443
 
444
- /* line 352, sass/partials/_main_wrap.scss */
445
 
446
  .cmb-repeatable-group .cmb-group-title .cmb-th {
447
  display: block;
448
  width: 100%;
449
  }
450
 
451
- /* line 358, sass/partials/_main_wrap.scss */
452
 
453
  .cmb-repeatable-group .cmb-group-description .cmb-th {
454
  font-size: 1.2em;
@@ -467,7 +474,7 @@
467
  margin-bottom: 0.5em;
468
  }
469
 
470
- /* line 362, sass/partials/_main_wrap.scss */
471
 
472
  .cmb-repeatable-group .cmb-shift-rows {
473
  font-size: 1em;
@@ -475,7 +482,7 @@
475
  text-decoration: none;
476
  }
477
 
478
- /* line 367, sass/partials/_main_wrap.scss */
479
 
480
  .cmb-repeatable-group .cmb-shift-rows .dashicons {
481
  font-size: 1.5em;
@@ -484,35 +491,35 @@
484
  width: 1em;
485
  }
486
 
487
- /* line 373, sass/partials/_main_wrap.scss */
488
 
489
  .cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
490
  line-height: 1.3em;
491
  }
492
 
493
- /* line 380, sass/partials/_main_wrap.scss */
494
 
495
  .cmb-repeatable-group .cmb2-upload-button {
496
  float: right;
497
  }
498
 
499
- /* line 386, sass/partials/_main_wrap.scss */
500
 
501
  p.cmb2-metabox-description {
502
- color: #aaaaaa;
503
  font-style: italic;
504
  margin: 0;
505
  padding-top: .5em;
506
  }
507
 
508
- /* line 393, sass/partials/_main_wrap.scss */
509
 
510
  span.cmb2-metabox-description {
511
- color: #aaaaaa;
512
  font-style: italic;
513
  }
514
 
515
- /* line 398, sass/partials/_main_wrap.scss */
516
 
517
  .cmb2-metabox-title {
518
  margin: 0 0 5px 0;
@@ -520,26 +527,26 @@ span.cmb2-metabox-description {
520
  font-size: 14px;
521
  }
522
 
523
- /* line 404, sass/partials/_main_wrap.scss */
524
 
525
  .cmb-inline ul {
526
  padding: 4px 0 0 0;
527
  }
528
 
529
- /* line 408, sass/partials/_main_wrap.scss */
530
 
531
  .cmb-inline li {
532
  display: inline-block;
533
  padding-right: 18px;
534
  }
535
 
536
- /* line 413, sass/partials/_main_wrap.scss */
537
 
538
  .cmb-type-textarea-code pre {
539
  margin: 0;
540
  }
541
 
542
- /* line 419, sass/partials/_main_wrap.scss */
543
 
544
  .cmb2-media-status .img-status {
545
  clear: none;
@@ -549,14 +556,14 @@ span.cmb2-metabox-description {
549
  width: auto;
550
  }
551
 
552
- /* line 426, sass/partials/_main_wrap.scss */
553
 
554
  .cmb2-media-status .img-status img {
555
  max-width: 350px;
556
  height: auto;
557
  }
558
 
559
- /* line 432, sass/partials/_main_wrap.scss */
560
 
561
  .cmb2-media-status .img-status img,
562
  .cmb2-media-status .embed-status {
@@ -572,21 +579,21 @@ span.cmb2-metabox-description {
572
  margin: 15px 0 0 0;
573
  }
574
 
575
- /* line 446, sass/partials/_main_wrap.scss */
576
 
577
  .cmb2-media-status .embed-status {
578
  float: left;
579
  max-width: 800px;
580
  }
581
 
582
- /* line 451, sass/partials/_main_wrap.scss */
583
 
584
  .cmb2-media-status .img-status,
585
  .cmb2-media-status .embed-status {
586
  position: relative;
587
  }
588
 
589
- /* line 454, sass/partials/_main_wrap.scss */
590
 
591
  .cmb2-media-status .img-status .cmb2-remove-file-button,
592
  .cmb2-media-status .embed-status .cmb2-remove-file-button {
@@ -599,27 +606,27 @@ span.cmb2-metabox-description {
599
  width: 16px;
600
  }
601
 
602
- /* line 468, sass/partials/_main_wrap.scss */
603
 
604
  .cmb2-media-status .img-status .cmb2-remove-file-button {
605
  top: 10px;
606
  }
607
 
608
- /* line 473, sass/partials/_main_wrap.scss */
609
 
610
  .cmb2-media-status .img-status img,
611
  .cmb2-media-status .file-status > span {
612
  cursor: pointer;
613
  }
614
 
615
- /* line 478, sass/partials/_main_wrap.scss */
616
 
617
  .cmb2-media-status.cmb-attach-list .img-status img,
618
  .cmb2-media-status.cmb-attach-list .file-status > span {
619
  cursor: move;
620
  }
621
 
622
- /* line 485, sass/partials/_main_wrap.scss */
623
 
624
  .cmb-type-file-list .cmb2-media-status .img-status {
625
  clear: none;
@@ -630,7 +637,7 @@ span.cmb2-metabox-description {
630
  margin-top: 0;
631
  }
632
 
633
- /* line 494, sass/partials/_main_wrap.scss */
634
 
635
  .cmb-attach-list li {
636
  clear: both;
@@ -640,26 +647,26 @@ span.cmb2-metabox-description {
640
  margin-bottom: 10px;
641
  }
642
 
643
- /* line 500, sass/partials/_main_wrap.scss */
644
 
645
  .cmb-attach-list li img {
646
  float: left;
647
  margin-right: 10px;
648
  }
649
 
650
- /* line 506, sass/partials/_main_wrap.scss */
651
 
652
  .cmb2-remove-wrapper {
653
  margin: 0;
654
  }
655
 
656
- /* line 510, sass/partials/_main_wrap.scss */
657
 
658
  .child-cmb2 .cmb-th {
659
  text-align: left;
660
  }
661
 
662
- /* line 514, sass/partials/_main_wrap.scss */
663
 
664
  .cmb2-indented-hierarchy {
665
  padding-left: 1.5em;
@@ -718,9 +725,10 @@ span.cmb2-metabox-description {
718
  .cmb-type-group .cmb-row .cmbhandle {
719
  right: -1em;
720
  position: relative;
 
721
  }
722
 
723
- /* line 42, sass/partials/_post_metaboxes.scss */
724
 
725
  .cmb2-postbox .cmb-repeatable-grouping,
726
  .cmb-type-group .cmb-repeatable-grouping {
@@ -729,14 +737,14 @@ span.cmb2-metabox-description {
729
  min-width: 1px !important;
730
  }
731
 
732
- /* line 48, sass/partials/_post_metaboxes.scss */
733
 
734
  .cmb2-postbox .cmb-repeatable-group > .cmb-row,
735
  .cmb-type-group .cmb-repeatable-group > .cmb-row {
736
  padding-bottom: 0;
737
  }
738
 
739
- /* line 52, sass/partials/_post_metaboxes.scss */
740
 
741
  .cmb2-postbox .cmb-th,
742
  .cmb-type-group .cmb-th {
@@ -744,7 +752,7 @@ span.cmb2-metabox-description {
744
  padding: 0 2% 0 0;
745
  }
746
 
747
- /* line 58, sass/partials/_post_metaboxes.scss */
748
 
749
  .cmb2-postbox .cmb-td,
750
  .cmb-type-group .cmb-td {
@@ -753,7 +761,7 @@ span.cmb2-metabox-description {
753
  line-height: 1.3;
754
  }
755
 
756
- /* line 64, sass/partials/_post_metaboxes.scss */
757
 
758
  .cmb2-postbox .cmb-th + .cmb-td,
759
  .cmb-type-group .cmb-th + .cmb-td {
@@ -761,7 +769,7 @@ span.cmb2-metabox-description {
761
  float: right;
762
  }
763
 
764
- /* line 69, sass/partials/_post_metaboxes.scss */
765
 
766
  .cmb2-postbox .cmb-row:not(:last-of-type),
767
  .cmb2-postbox .cmb-repeatable-group:not(:last-of-type),
@@ -770,7 +778,7 @@ span.cmb2-metabox-description {
770
  border-bottom: 1px solid #e9e9e9;
771
  }
772
 
773
- /* line 78, sass/partials/_post_metaboxes.scss */
774
 
775
  .cmb2-postbox .cmb-repeat-group-field,
776
  .cmb2-postbox .cmb-remove-field-row,
@@ -1288,7 +1296,7 @@ span.cmb2-metabox-description {
1288
  /* line 6, sass/partials/_collapsible_ui.scss */
1289
 
1290
  .cmb2-metabox .cmbhandle {
1291
- color: #aaaaaa;
1292
  float: right;
1293
  width: 27px;
1294
  height: 30px;
@@ -2060,7 +2068,7 @@ span.cmb2-metabox-description {
2060
  margin-bottom: 0.5em;
2061
  }
2062
 
2063
- /* line 519, sass/partials/_main_wrap.scss */
2064
 
2065
  .cmb-th,
2066
  .cmb-td,
@@ -2070,7 +2078,7 @@ span.cmb2-metabox-description {
2070
  width: 100%;
2071
  }
2072
 
2073
- /* line 69, sass/partials/_post_metaboxes.scss */
2074
 
2075
  .cmb2-postbox .cmb-row:not(:last-of-type),
2076
  .cmb2-postbox .cmb-repeatable-group:not(:last-of-type),
1
  /*!
2
+ * CMB2 - v2.6.0 - 2019-01-18
3
  * https://cmb2.io
4
+ * Copyright (c) 2019
5
  * Licensed GPLv2+
6
  */
7
 
325
 
326
  /* line 259, sass/partials/_main_wrap.scss */
327
 
328
+ .cmb-repeat-table .cmb-row.cmb-repeat-row.ui-sortable-helper {
329
+ outline: dashed 2px #e9e9e9 !important;
330
+ }
331
+
332
+ /* line 263, sass/partials/_main_wrap.scss */
333
+
334
  .cmb-repeat-table .cmb-row.cmb-repeat-row:before {
335
  content: counter(el);
336
  display: block;
340
  width: 35px;
341
  height: 100%;
342
  line-height: 35px;
343
+ cursor: move;
344
+ color: #757575;
345
  text-align: center;
346
  border-right: solid 1px #e9e9e9;
347
  }
348
 
349
+ /* line 280, sass/partials/_main_wrap.scss */
350
 
351
  .cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td {
352
  margin: 0;
353
  padding: 0;
354
  }
355
 
356
+ /* line 287, sass/partials/_main_wrap.scss */
357
 
358
  .cmb-repeat-table + .cmb-add-row {
359
  margin: 0;
360
  }
361
 
362
+ /* line 290, sass/partials/_main_wrap.scss */
363
 
364
  .cmb-repeat-table + .cmb-add-row:before {
365
  content: '';
370
  background-color: gainsboro;
371
  }
372
 
373
+ /* line 300, sass/partials/_main_wrap.scss */
374
 
375
  .cmb-repeat-table .cmb-remove-row {
376
  top: 7px;
382
  display: none;
383
  }
384
 
385
+ /* line 311, sass/partials/_main_wrap.scss */
386
 
387
  .cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button {
388
  font-size: 20px;
394
  padding: 0 10px 0;
395
  }
396
 
397
+ /* line 322, sass/partials/_main_wrap.scss */
398
 
399
  .cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button:before {
400
  content: "";
415
  text-align: center;
416
  }
417
 
418
+ /* line 328, sass/partials/_main_wrap.scss */
419
 
420
  .cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row {
421
  display: block;
422
  }
423
 
424
+ /* line 336, sass/partials/_main_wrap.scss */
425
 
426
  .cmb-repeatable-group .cmb-th {
427
  padding: 5px;
428
  }
429
 
430
+ /* line 340, sass/partials/_main_wrap.scss */
431
 
432
  .cmb-repeatable-group .cmb-group-title {
433
  background-color: #e9e9e9;
438
  line-height: 1.4;
439
  }
440
 
441
+ /* line 348, sass/partials/_main_wrap.scss */
442
 
443
  .cmb-repeatable-group .cmb-group-title h4 {
444
  border: 0;
448
  padding: 0.5em 0.75em;
449
  }
450
 
451
+ /* line 356, sass/partials/_main_wrap.scss */
452
 
453
  .cmb-repeatable-group .cmb-group-title .cmb-th {
454
  display: block;
455
  width: 100%;
456
  }
457
 
458
+ /* line 362, sass/partials/_main_wrap.scss */
459
 
460
  .cmb-repeatable-group .cmb-group-description .cmb-th {
461
  font-size: 1.2em;
474
  margin-bottom: 0.5em;
475
  }
476
 
477
+ /* line 366, sass/partials/_main_wrap.scss */
478
 
479
  .cmb-repeatable-group .cmb-shift-rows {
480
  font-size: 1em;
482
  text-decoration: none;
483
  }
484
 
485
+ /* line 371, sass/partials/_main_wrap.scss */
486
 
487
  .cmb-repeatable-group .cmb-shift-rows .dashicons {
488
  font-size: 1.5em;
491
  width: 1em;
492
  }
493
 
494
+ /* line 377, sass/partials/_main_wrap.scss */
495
 
496
  .cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
497
  line-height: 1.3em;
498
  }
499
 
500
+ /* line 384, sass/partials/_main_wrap.scss */
501
 
502
  .cmb-repeatable-group .cmb2-upload-button {
503
  float: right;
504
  }
505
 
506
+ /* line 390, sass/partials/_main_wrap.scss */
507
 
508
  p.cmb2-metabox-description {
509
+ color: #757575;
510
  font-style: italic;
511
  margin: 0;
512
  padding-top: .5em;
513
  }
514
 
515
+ /* line 397, sass/partials/_main_wrap.scss */
516
 
517
  span.cmb2-metabox-description {
518
+ color: #757575;
519
  font-style: italic;
520
  }
521
 
522
+ /* line 402, sass/partials/_main_wrap.scss */
523
 
524
  .cmb2-metabox-title {
525
  margin: 0 0 5px 0;
527
  font-size: 14px;
528
  }
529
 
530
+ /* line 408, sass/partials/_main_wrap.scss */
531
 
532
  .cmb-inline ul {
533
  padding: 4px 0 0 0;
534
  }
535
 
536
+ /* line 412, sass/partials/_main_wrap.scss */
537
 
538
  .cmb-inline li {
539
  display: inline-block;
540
  padding-right: 18px;
541
  }
542
 
543
+ /* line 417, sass/partials/_main_wrap.scss */
544
 
545
  .cmb-type-textarea-code pre {
546
  margin: 0;
547
  }
548
 
549
+ /* line 423, sass/partials/_main_wrap.scss */
550
 
551
  .cmb2-media-status .img-status {
552
  clear: none;
556
  width: auto;
557
  }
558
 
559
+ /* line 430, sass/partials/_main_wrap.scss */
560
 
561
  .cmb2-media-status .img-status img {
562
  max-width: 350px;
563
  height: auto;
564
  }
565
 
566
+ /* line 436, sass/partials/_main_wrap.scss */
567
 
568
  .cmb2-media-status .img-status img,
569
  .cmb2-media-status .embed-status {
579
  margin: 15px 0 0 0;
580
  }
581
 
582
+ /* line 450, sass/partials/_main_wrap.scss */
583
 
584
  .cmb2-media-status .embed-status {
585
  float: left;
586
  max-width: 800px;
587
  }
588
 
589
+ /* line 455, sass/partials/_main_wrap.scss */
590
 
591
  .cmb2-media-status .img-status,
592
  .cmb2-media-status .embed-status {
593
  position: relative;
594
  }
595
 
596
+ /* line 458, sass/partials/_main_wrap.scss */
597
 
598
  .cmb2-media-status .img-status .cmb2-remove-file-button,
599
  .cmb2-media-status .embed-status .cmb2-remove-file-button {
606
  width: 16px;
607
  }
608
 
609
+ /* line 472, sass/partials/_main_wrap.scss */
610
 
611
  .cmb2-media-status .img-status .cmb2-remove-file-button {
612
  top: 10px;
613
  }
614
 
615
+ /* line 477, sass/partials/_main_wrap.scss */
616
 
617
  .cmb2-media-status .img-status img,
618
  .cmb2-media-status .file-status > span {
619
  cursor: pointer;
620
  }
621
 
622
+ /* line 482, sass/partials/_main_wrap.scss */
623
 
624
  .cmb2-media-status.cmb-attach-list .img-status img,
625
  .cmb2-media-status.cmb-attach-list .file-status > span {
626
  cursor: move;
627
  }
628
 
629
+ /* line 489, sass/partials/_main_wrap.scss */
630
 
631
  .cmb-type-file-list .cmb2-media-status .img-status {
632
  clear: none;
637
  margin-top: 0;
638
  }
639
 
640
+ /* line 498, sass/partials/_main_wrap.scss */
641
 
642
  .cmb-attach-list li {
643
  clear: both;
647
  margin-bottom: 10px;
648
  }
649
 
650
+ /* line 504, sass/partials/_main_wrap.scss */
651
 
652
  .cmb-attach-list li img {
653
  float: left;
654
  margin-right: 10px;
655
  }
656
 
657
+ /* line 510, sass/partials/_main_wrap.scss */
658
 
659
  .cmb2-remove-wrapper {
660
  margin: 0;
661
  }
662
 
663
+ /* line 514, sass/partials/_main_wrap.scss */
664
 
665
  .child-cmb2 .cmb-th {
666
  text-align: left;
667
  }
668
 
669
+ /* line 518, sass/partials/_main_wrap.scss */
670
 
671
  .cmb2-indented-hierarchy {
672
  padding-left: 1.5em;
725
  .cmb-type-group .cmb-row .cmbhandle {
726
  right: -1em;
727
  position: relative;
728
+ color: #222222;
729
  }
730
 
731
+ /* line 43, sass/partials/_post_metaboxes.scss */
732
 
733
  .cmb2-postbox .cmb-repeatable-grouping,
734
  .cmb-type-group .cmb-repeatable-grouping {
737
  min-width: 1px !important;
738
  }
739
 
740
+ /* line 49, sass/partials/_post_metaboxes.scss */
741
 
742
  .cmb2-postbox .cmb-repeatable-group > .cmb-row,
743
  .cmb-type-group .cmb-repeatable-group > .cmb-row {
744
  padding-bottom: 0;
745
  }
746
 
747
+ /* line 53, sass/partials/_post_metaboxes.scss */
748
 
749
  .cmb2-postbox .cmb-th,
750
  .cmb-type-group .cmb-th {
752
  padding: 0 2% 0 0;
753
  }
754
 
755
+ /* line 59, sass/partials/_post_metaboxes.scss */
756
 
757
  .cmb2-postbox .cmb-td,
758
  .cmb-type-group .cmb-td {
761
  line-height: 1.3;
762
  }
763
 
764
+ /* line 65, sass/partials/_post_metaboxes.scss */
765
 
766
  .cmb2-postbox .cmb-th + .cmb-td,
767
  .cmb-type-group .cmb-th + .cmb-td {
769
  float: right;
770
  }
771
 
772
+ /* line 70, sass/partials/_post_metaboxes.scss */
773
 
774
  .cmb2-postbox .cmb-row:not(:last-of-type),
775
  .cmb2-postbox .cmb-repeatable-group:not(:last-of-type),
778
  border-bottom: 1px solid #e9e9e9;
779
  }
780
 
781
+ /* line 79, sass/partials/_post_metaboxes.scss */
782
 
783
  .cmb2-postbox .cmb-repeat-group-field,
784
  .cmb2-postbox .cmb-remove-field-row,
1296
  /* line 6, sass/partials/_collapsible_ui.scss */
1297
 
1298
  .cmb2-metabox .cmbhandle {
1299
+ color: #757575;
1300
  float: right;
1301
  width: 27px;
1302
  height: 30px;
2068
  margin-bottom: 0.5em;
2069
  }
2070
 
2071
+ /* line 523, sass/partials/_main_wrap.scss */
2072
 
2073
  .cmb-th,
2074
  .cmb-td,
2078
  width: 100%;
2079
  }
2080
 
2081
+ /* line 70, sass/partials/_post_metaboxes.scss */
2082
 
2083
  .cmb2-postbox .cmb-row:not(:last-of-type),
2084
  .cmb2-postbox .cmb-repeatable-group:not(:last-of-type),
vendor/cmb2/cmb2/css/cmb2.css.map ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ {
2
+ "version": 3,
3
+ "mappings": "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",
4
+ "sources": ["sass/partials/_main_wrap.scss","sass/partials/_variables.scss","sass/partials/_mixins.scss","sass/partials/_post_metaboxes.scss","sass/partials/_context_metaboxes.scss","sass/partials/_options-page.scss","sass/partials/_new_term.scss","sass/partials/_misc.scss","sass/partials/_sidebar_placements.scss","sass/partials/_collapsible_ui.scss","sass/partials/_jquery_ui.scss"],
5
+ "names": [],
6
+ "file": "cmb2.css"
7
+ }
vendor/cmb2/cmb2/css/cmb2.min.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /*! CMB2 - v2.6.0 - 2019-01-18 | https://cmb2.io | Copyright (c) 2019 CMB2 team | Licensed GPLv2 */
2
+ .cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button-secondary,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-left:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 5px 0 0;padding:0}.cmb2-wrap .button-secondary,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 10px 0 0}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:left;font-weight:600;line-height:1.3;padding:20px 10px 20px 0;vertical-align:top;width:200px}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:left}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:right}.empty-row.hidden{display:none}.cmb-repeat-table{background-color:#fafafa;border:1px solid #e1e1e1}.cmb-repeat-table .cmb-row.cmb-repeat-row{position:relative;counter-increment:el;margin:0;padding:10px 10px 10px 50px;border-bottom:none!important}.cmb-repeat-table .cmb-row.cmb-repeat-row+.cmb-repeat-row{border-top:solid 1px #e9e9e9}.cmb-repeat-table .cmb-row.cmb-repeat-row.ui-sortable-helper{outline:dashed 2px #e9e9e9!important}.cmb-repeat-table .cmb-row.cmb-repeat-row:before{content:counter(el);display:block;top:0;left:0;position:absolute;width:35px;height:100%;line-height:35px;cursor:move;color:#757575;text-align:center;border-right:solid 1px #e9e9e9}.cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td{margin:0;padding:0}.cmb-repeat-table+.cmb-add-row{margin:0}.cmb-repeat-table+.cmb-add-row:before{content:'';width:1px;height:1.6em;display:block;margin-left:17px;background-color:#dcdcdc}.cmb-repeat-table .cmb-remove-row{top:7px;right:7px;position:absolute;width:auto;margin-left:0;padding:0!important;display:none}.cmb-repeat-table .cmb-remove-row>.cmb-remove-row-button{font-size:20px;text-indent:-1000px;overflow:hidden;position:relative;height:auto;line-height:1;padding:0 10px}.cmb-repeat-table .cmb-remove-row>.cmb-remove-row-button:before{content:"";font-family:Dashicons;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center}.cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row{display:block}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 12px 8px 2.2em;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:left;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;margin-bottom:.5em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-right:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:right}p.cmb2-metabox-description{color:#757575;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#757575;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-right:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;vertical-align:middle;margin-right:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px;height:auto}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#eee;border:5px solid #fff;outline:1px solid #e9e9e9;box-shadow:inset 0 0 15px rgba(0,0,0,.3),inset 0 0 0 1px rgba(0,0,0,.05);background-image:linear-gradient(45deg,#d0d0d0 25%,transparent 25%,transparent 75%,#d0d0d0 75%,#d0d0d0),linear-gradient(45deg,#d0d0d0 25%,transparent 25%,transparent 75%,#d0d0d0 75%,#d0d0d0);background-position:0 0,10px 10px;background-size:20px 20px;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0}.cmb2-media-status .embed-status{float:left;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;left:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb2-media-status.cmb-attach-list .file-status>span,.cmb2-media-status.cmb-attach-list .img-status img{cursor:move}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;vertical-align:middle;width:auto;margin-right:10px;margin-bottom:10px;margin-top:0}.cmb-attach-list li{clear:both;display:inline-block;width:100%;margin-top:5px;margin-bottom:10px}.cmb-attach-list li img{float:left;margin-right:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:left}.cmb2-indented-hierarchy{padding-left:1.5em}#poststuff .cmb-group-title{margin-left:-1em;margin-right:-1em;min-height:1.5em}#poststuff .repeatable .cmb-group-title{padding-left:2.2em}.cmb-type-group .cmb2-wrap,.cmb2-postbox .cmb2-wrap{margin:0}.cmb-type-group .cmb2-wrap>.cmb-field-list>.cmb-row,.cmb2-postbox .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-type-group .cmb2-wrap input[type=text].cmb2-oembed,.cmb2-postbox .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-type-group .cmb-row,.cmb2-postbox .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-type-group .cmb-row .cmbhandle,.cmb2-postbox .cmb-row .cmbhandle{right:-1em;position:relative;color:#222}.cmb-type-group .cmb-repeatable-grouping,.cmb2-postbox .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-type-group .cmb-repeatable-group>.cmb-row,.cmb2-postbox .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-type-group .cmb-th,.cmb2-postbox .cmb-th{width:18%;padding:0 2% 0 0}.cmb-type-group .cmb-td,.cmb2-postbox .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-type-group .cmb-th+.cmb-td,.cmb2-postbox .cmb-th+.cmb-td{width:80%;float:right}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}.cmb-type-group .cmb-remove-field-row,.cmb-type-group .cmb-repeat-group-field,.cmb2-postbox .cmb-remove-field-row,.cmb2-postbox .cmb-repeat-group-field{padding-top:1.8em}.js .cmb2-postbox.context-box .toggle-indicator:before{content:"\f142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js .cmb2-postbox.context-box.closed .toggle-indicator:before{content:"\f140"}.cmb2-postbox.context-box{margin-bottom:10px}.cmb2-postbox.context-box.context-after_title-box,.cmb2-postbox.context-box.context-before_permalink-box{margin-top:10px}.cmb2-postbox.context-box.context-after_editor-box{margin-top:20px;margin-bottom:0}.cmb2-postbox.context-box.context-form_top-box{margin-top:10px}.cmb2-postbox.context-box.context-form_top-box .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb2-postbox.context-box .hndle{cursor:auto}.cmb2-context-wrap{margin-top:10px}.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-right:300px;width:auto}.cmb2-context-wrap.cmb2-context-wrap-no-title .cmb2-metabox{padding:10px}.cmb2-context-wrap .cmb-th{padding:0 2% 0 0;width:18%}.cmb2-context-wrap .cmb-td{width:80%;padding:0}.cmb2-context-wrap .cmb-row{margin-bottom:10px}.cmb2-context-wrap .cmb-row:last-of-type{margin-bottom:0}.cmb2-options-page{max-width:1200px}.cmb2-options-page.wrap>h2{margin-bottom:1em}.cmb2-options-page .cmb2-metabox>.cmb-row{padding:1em;margin-top:-1px;background:#fff;border:1px solid #e9e9e9;box-shadow:0 1px 1px rgba(0,0,0,.05)}.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th{padding:0;font-weight:initial}.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th+.cmb-td{float:none;padding:0 0 0 1em;margin-left:200px}.cmb2-options-page .cmb2-wrap .cmb-type-title{margin-top:1em;padding:.6em 1em;background-color:#fafafa}.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-title{font-size:12px;margin-top:0;margin-bottom:0;text-transform:uppercase}.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-description{padding-top:.25em}.cmb2-options-page .cmb-repeatable-group .cmb-group-description .cmb-th{padding:0 0 .8em}.cmb2-options-page .cmb-repeatable-group .cmb-group-name{font-size:16px;margin-top:0;margin-bottom:0}.cmb2-options-page .cmb-repeatable-group .cmb-th>.cmb2-metabox-description{font-weight:400;padding-bottom:0!important}#addtag .cmb-th{float:none;width:auto;padding:20px 0 0}#addtag .cmb-td{padding:0}#addtag .cmb-th+.cmb-td{float:none}#addtag select{max-width:100%}#addtag .cmb2-metabox{padding-bottom:20px}#addtag .cmb-row li label{display:inline}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.cmb2-no-box-wrap .cmb-spinner,.cmb2-postbox .cmb-spinner{float:left;display:none}.cmb-spinner{display:none}.cmb-spinner.is-active{display:block}#side-sortables .cmb2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmb2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmb2-wrap input+select,.inner-sidebar .cmb2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmb2-wrap input+select{margin-left:0;margin-top:1em;display:block}#side-sortables .cmb2-wrap input.cmb2-text-money,.inner-sidebar .cmb2-wrap input.cmb2-text-money{max-width:70%}#side-sortables .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description,.inner-sidebar .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description{display:block}#side-sortables .cmb2-wrap label,.inner-sidebar .cmb2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables textarea,.inner-sidebar textarea{max-width:99%}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-type-group>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-type-group>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td:not(.cmb-remove-row),#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td:not(.cmb-remove-row),.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:left;width:100%;padding-left:0;padding-right:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;margin-bottom:.5em;font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmb2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmb2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmb2-media-status .embed-status img,#side-sortables .cmb2-media-status .img-status img,.inner-sidebar .cmb2-media-status .embed-status img,.inner-sidebar .cmb2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmb2-list label,.inner-sidebar .cmb2-list label{display:inline;font-weight:400}#side-sortables .cmb2-metabox-description,.inner-sidebar .cmb2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmb2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-row .cmb2-metabox-description{padding-bottom:1.8em}#side-sortables .cmb2-metabox-title,.inner-sidebar .cmb2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb2-upload-button,.inner-sidebar .cmb2-upload-button{clear:both;margin-top:12px}.cmb2-metabox .cmbhandle{color:#757575;float:right;width:27px;height:30px;cursor:pointer;right:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;left:0;top:.5em;line-height:1em;padding:2px 6px 3px;opacity:.5}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){cursor:pointer;color:#a00;opacity:1}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}* html .cmb2-element.ui-helper-clearfix{height:1%}.cmb2-element .ui-datepicker,.cmb2-element.ui-datepicker{padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background-color:#fff;border:1px solid #dfdfdf;border-top:none;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075);min-width:17em;width:auto}.cmb2-element .ui-datepicker *,.cmb2-element.ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{font-size:13px;margin:0;border:none;border-collapse:collapse}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{border:none;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover{background:0 0;border-color:transparent;cursor:pointer}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin:0;padding:10px 0;color:#fff;font-size:14px;line-height:14px;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select,.cmb2-element.ui-datepicker .ui-datepicker-title select{margin-top:-8px;margin-bottom:-8px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-prev{position:relative;top:0;height:34px;width:34px}.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-prev{border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{left:0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next-hover{right:0}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{display:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev{float:left}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next{float:right}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{font:400 20px/34px dashicons;padding-left:7px;color:#fff;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:34px;height:34px}.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{content:'\f341'}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before{content:'\f345'}.cmb2-element .ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover:before{opacity:.7}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-year{width:33%;background:0 0;border-color:transparent;box-shadow:none;color:#fff}.cmb2-element .ui-datepicker select.ui-datepicker-month option,.cmb2-element .ui-datepicker select.ui-datepicker-year option,.cmb2-element.ui-datepicker select.ui-datepicker-month option,.cmb2-element.ui-datepicker select.ui-datepicker-year option{color:#333}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{color:#fff;font-weight:600}.cmb2-element .ui-datepicker thead th,.cmb2-element.ui-datepicker thead th{font-weight:400}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{padding:10px}.cmb2-element .ui-datepicker td,.cmb2-element.ui-datepicker td{padding:0;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-other-month,.cmb2-element.ui-datepicker td.ui-datepicker-other-month{border:transparent}.cmb2-element .ui-datepicker td.ui-datepicker-week-end,.cmb2-element.ui-datepicker td.ui-datepicker-week-end{background-color:#f4f4f4;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today{-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);-moz-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1)}.cmb2-element .ui-datepicker td.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-today{background-color:#f0f0c0}.cmb2-element .ui-datepicker td.ui-datepicker-current-day,.cmb2-element.ui-datepicker td.ui-datepicker-current-day{background:#bd8}.cmb2-element .ui-datepicker td .ui-state-default,.cmb2-element.ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;text-decoration:none;width:auto;display:block;padding:5px 10px;font-weight:400;color:#444}.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{opacity:.5}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{background:#32373c}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover,.cmb2-element.ui-datepicker td .ui-state-active,.cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.cmb2-element .ui-datepicker .ui-timepicker-div,.cmb2-element.ui-datepicker .ui-timepicker-div{font-size:14px}.cmb2-element .ui-datepicker .ui-timepicker-div dl,.cmb2-element.ui-datepicker .ui-timepicker-div dl{text-align:left;padding:0 .6em}.cmb2-element .ui-datepicker .ui-timepicker-div dl dt,.cmb2-element.ui-datepicker .ui-timepicker-div dl dt{float:left;clear:left;padding:0 0 0 5px}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd{margin:0 10px 10px 40%}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd select,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd select{width:100%}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane{padding:.6em;text-align:left}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary{padding:0 10px 1px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;margin:0 .6em .4em .4em}.admin-color-fresh .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.admin-color-fresh .cmb2-element .ui-datepicker thead,.admin-color-fresh .cmb2-element.ui-datepicker thead{background:#32373c}.admin-color-fresh .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-fresh .cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-widget-header{background:#52accc}.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element.ui-datepicker thead{background:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover{background:#096484;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-blue .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-widget-header{background:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element.ui-datepicker thead{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover{background:#c7a589;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-widget-header{background:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element.ui-datepicker thead{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover{background:#a3b745;color:#fff}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-widget-header{background:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element.ui-datepicker thead{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover{background:#e14d43;color:#fff}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-widget-header{background:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element.ui-datepicker thead{background:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover{background:#9ebaa0;color:#fff}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-widget-header{background:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker th,.admin-color-sunrise .cmb2-element.ui-datepicker th{border-color:#be3631;background:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover{background:#dd823b;color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element.ui-datepicker .ui-widget-header{background:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-year,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-year{color:#555}.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element.ui-datepicker thead{background:#888}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-default{color:#555}.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover{background:#ccc}.admin-color-light .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-light .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-widget-header{background:#56b274}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker thead,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker thead{background:#36533f}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker td .ui-state-hover{background:#446950;color:#fff}.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-widget-header{background:#4ca26a}.admin-color-bbp-mint .cmb2-element .ui-datepicker thead,.admin-color-bbp-mint .cmb2-element.ui-datepicker thead{background:#4f6d59}.admin-color-bbp-mint .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-mint .cmb2-element.ui-datepicker td .ui-state-hover{background:#5fb37c;color:#fff}@media only screen and (max-width:850px){.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-right:0}}@media (max-width:450px){.cmb-th{font-size:1.2em;padding-bottom:1em;text-align:left}.cmb-th label{display:block;margin-top:0;margin-bottom:.5em}.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:0}.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th+.cmb-td{padding:0;margin-left:0}}
vendor/{webdevstudios → cmb2}/cmb2/css/index.php RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/css/sass/cmb2-display.scss RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/css/sass/cmb2-front.scss RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/css/sass/cmb2.scss RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/css/sass/index.php RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_collapsible_ui.scss RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_context_metaboxes.scss RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_display.scss RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_front.scss RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_jquery_ui.scss RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_main_wrap.scss RENAMED
@@ -256,6 +256,10 @@
256
  border-top: solid 1px $light-gray;
257
  }
258
 
 
 
 
 
259
  &:before {
260
  content: counter(el);
261
  display: block;
@@ -267,7 +271,7 @@
267
  width: 35px;
268
  height: 100%;
269
  line-height: 35px;
270
-
271
  color: $gray;
272
  text-align: center;
273
  border-right: solid 1px $light-gray;
256
  border-top: solid 1px $light-gray;
257
  }
258
 
259
+ &.ui-sortable-helper {
260
+ outline: dashed 2px $light-gray !important; // Sometime, we need !important :).
261
+ }
262
+
263
  &:before {
264
  content: counter(el);
265
  display: block;
271
  width: 35px;
272
  height: 100%;
273
  line-height: 35px;
274
+ cursor: move;
275
  color: $gray;
276
  text-align: center;
277
  border-right: solid 1px $light-gray;
vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_misc.scss RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_mixins.scss RENAMED
File without changes
vendor/cmb2/cmb2/css/sass/partials/_new_term.scss ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*--------------------------------------------------------------
2
+ * New-Term Page
3
+ --------------------------------------------------------------*/
4
+
5
+ #addtag {
6
+ .cmb-th {
7
+ float: none;
8
+ width: auto;
9
+ padding: 20px 0 0;
10
+ }
11
+
12
+ .cmb-td {
13
+ padding: 0;
14
+ }
15
+
16
+ .cmb-th + .cmb-td {
17
+ float: none;
18
+ }
19
+
20
+ select {
21
+ max-width: 100%;
22
+ }
23
+
24
+ .cmb2-metabox {
25
+ padding-bottom: 20px;
26
+ }
27
+
28
+ .cmb-row li label {
29
+ display: inline;
30
+ }
31
+ }
vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_options-page.scss RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_post_metaboxes.scss RENAMED
@@ -36,6 +36,7 @@
36
  .cmbhandle {
37
  right: -1em;
38
  position: relative;
 
39
  }
40
  }
41
 
36
  .cmbhandle {
37
  right: -1em;
38
  position: relative;
39
+ color: $dark-gray;
40
  }
41
  }
42
 
vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_sidebar_placements.scss RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/_variables.scss RENAMED
@@ -13,7 +13,7 @@ $font-size : 14px;
13
 
14
  // Colors
15
  $dark-gray : #222222;
16
- $gray : #aaaaaa;
17
  $light-gray : #e9e9e9;
18
  $lightchecker : #eee;
19
  $darkchecker : #d0d0d0;
13
 
14
  // Colors
15
  $dark-gray : #222222;
16
+ $gray : #757575;
17
  $light-gray : #e9e9e9;
18
  $lightchecker : #eee;
19
  $darkchecker : #d0d0d0;
vendor/{webdevstudios → cmb2}/cmb2/css/sass/partials/index.php RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/example-functions.php RENAMED
@@ -124,6 +124,26 @@ function yourprefix_register_demo_metabox() {
124
  // 'closed' => true, // true to keep the metabox closed by default
125
  // 'classes' => 'extra-class', // Extra cmb2-wrap classes
126
  // 'classes_cb' => 'yourprefix_add_some_classes', // Add classes through a callback.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
127
  ) );
128
 
129
  $cmb_demo->add_field( array(
@@ -497,11 +517,12 @@ function yourprefix_register_repeatable_group_field_metabox() {
497
  'type' => 'group',
498
  'description' => esc_html__( 'Generates reusable form entries', 'cmb2' ),
499
  'options' => array(
500
- 'group_title' => esc_html__( 'Entry {#}', 'cmb2' ), // {#} gets replaced by row number
501
- 'add_button' => esc_html__( 'Add Another Entry', 'cmb2' ),
502
- 'remove_button' => esc_html__( 'Remove Entry', 'cmb2' ),
503
- 'sortable' => true,
504
- // 'closed' => true, // true to have the groups closed by default
 
505
  ),
506
  ) );
507
 
124
  // 'closed' => true, // true to keep the metabox closed by default
125
  // 'classes' => 'extra-class', // Extra cmb2-wrap classes
126
  // 'classes_cb' => 'yourprefix_add_some_classes', // Add classes through a callback.
127
+
128
+ /*
129
+ * The following parameter is any additional arguments passed as $callback_args
130
+ * to add_meta_box, if/when applicable.
131
+ *
132
+ * CMB2 does not use these arguments in the add_meta_box callback, however, these args
133
+ * are parsed for certain special properties, like determining Gutenberg/block-editor
134
+ * compatibility.
135
+ *
136
+ * Examples:
137
+ *
138
+ * - Make sure default editor is used as metabox is not compatible with block editor
139
+ * [ '__block_editor_compatible_meta_box' => false/true ]
140
+ *
141
+ * - Or declare this box exists for backwards compatibility
142
+ * [ '__back_compat_meta_box' => false ]
143
+ *
144
+ * More: https://wordpress.org/gutenberg/handbook/extensibility/meta-box/
145
+ */
146
+ // 'mb_callback_args' => array( '__block_editor_compatible_meta_box' => false ),
147
  ) );
148
 
149
  $cmb_demo->add_field( array(
517
  'type' => 'group',
518
  'description' => esc_html__( 'Generates reusable form entries', 'cmb2' ),
519
  'options' => array(
520
+ 'group_title' => esc_html__( 'Entry {#}', 'cmb2' ), // {#} gets replaced by row number
521
+ 'add_button' => esc_html__( 'Add Another Entry', 'cmb2' ),
522
+ 'remove_button' => esc_html__( 'Remove Entry', 'cmb2' ),
523
+ 'sortable' => true,
524
+ // 'closed' => true, // true to have the groups closed by default
525
+ // 'remove_confirm' => esc_html__( 'Are you sure you want to remove?', 'cmb2' ), // Performs confirmation before removing group.
526
  ),
527
  ) );
528
 
vendor/{webdevstudios → cmb2}/cmb2/images/ico-delete.png RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/images/index.php RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/images/ui-bg_flat_0_aaaaaa_40x100.png RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/images/ui-bg_flat_75_ffffff_40x100.png RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/images/ui-bg_glass_55_fbf9ee_1x400.png RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/images/ui-bg_glass_65_ffffff_1x400.png RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/images/ui-bg_glass_75_dadada_1x400.png RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/images/ui-bg_glass_75_e6e6e6_1x400.png RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/images/ui-bg_glass_95_fef1ec_1x400.png RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/images/ui-bg_highlight-soft_75_cccccc_1x100.png RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/images/ui-icons_222222_256x240.png RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/images/ui-icons_2e83ff_256x240.png RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/images/ui-icons_454545_256x240.png RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/images/ui-icons_888888_256x240.png RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/images/ui-icons_cd0a0a_256x240.png RENAMED
File without changes
vendor/{webdevstudios → cmb2}/cmb2/includes/CMB2.php RENAMED
@@ -59,42 +59,42 @@ class CMB2 extends CMB2_Base {
59
  * @since 1.0.1
60
  */
61
  protected $mb_defaults = array(
62
- 'id' => '',
63
- 'title' => '',
64
  // Post type slug, or 'user', 'term', 'comment', or 'options-page'.
65
- 'object_types' => array(),
66
-
67
- /*
68
- * The context within the screen where the boxes should display. Available contexts vary
69
- * from screen to screen. Post edit screen contexts include 'normal', 'side', and 'advanced'.
70
- *
71
- * For placement in locations outside of a metabox, other options include:
72
- * 'form_top', 'before_permalink', 'after_title', 'after_editor'
73
- *
74
- * Comments screen contexts include 'normal' and 'side'. Default is 'normal'.
75
  */
76
- 'context' => 'normal',
77
- 'priority' => 'high',
78
- 'show_names' => true, // Show field names on the left.
79
- 'show_on_cb' => null, // Callback to determine if metabox should display.
80
- 'show_on' => array(), // Post IDs or page templates to display this metabox. overrides 'show_on_cb'.
81
- 'cmb_styles' => true, // Include CMB2 stylesheet.
82
- 'enqueue_js' => true, // Include CMB2 JS.
83
- 'fields' => array(),
84
 
85
- /*
86
  * Handles hooking CMB2 forms/metaboxes into the post/attachement/user/options-page screens
87
- * and handles hooking in and saving those fields.
88
  */
89
- 'hookup' => true,
90
- 'save_fields' => true, // Will not save during hookup if false.
91
- 'closed' => false, // Default metabox to being closed.
92
- 'taxonomies' => array(),
93
- 'new_user_section' => 'add-new-user', // or 'add-existing-user'.
94
- 'new_term_section' => true,
95
- 'show_in_rest' => false,
96
- 'classes' => null, // Optionally add classes to the CMB2 wrapper
97
- 'classes_cb' => '', // Optionally add classes to the CMB2 wrapper (via a callback)
98
 
99
  /*
100
  * The following parameter is for post alternate-context metaboxes only.
@@ -102,28 +102,48 @@ class CMB2 extends CMB2_Base {
102
  * To output the fields 'naked' (without a postbox wrapper/style), then
103
  * add a `'remove_box_wrap' => true` to your metabox registration array.
104
  */
105
- 'remove_box_wrap' => false,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
 
107
  /*
108
  * The following parameters are for options-page metaboxes,
109
  * and several are passed along to add_menu_page()/add_submenu_page()
110
  */
111
 
112
- // 'menu_title' => null, // Falls back to 'title' (above). Do not define here so we can set a fallback.
113
- 'message_cb' => '', // Optionally define the options-save message (via a callback).
114
- 'option_key' => '', // The actual option key and admin menu page slug.
115
- 'parent_slug' => '', // Used as first param in add_submenu_page().
116
- 'capability' => 'manage_options', // Cap required to view options-page.
117
- 'icon_url' => '', // Menu icon. Only applicable if 'parent_slug' is left empty.
118
- 'position' => null, // Menu position. Only applicable if 'parent_slug' is left empty.
119
-
120
- 'admin_menu_hook' => 'admin_menu', // Alternately 'network_admin_menu' to add network-level options page.
121
- 'display_cb' => false, // Override the options-page form output (CMB2_Hookup::options_page_output()).
122
- 'save_button' => '', // The text for the options-page save button. Defaults to 'Save'.
123
  'disable_settings_errors' => false, // On settings pages (not options-general.php sub-pages), allows disabling.
124
- 'tab_group' => '', // Tab-group identifier, enables options page tab navigation.
125
- // 'tab_title' => null, // Falls back to 'title' (above). Do not define here so we can set a fallback.
126
- // 'autoload' => true, // Defaults to true, the options-page option will be autloaded.
127
  );
128
 
129
  /**
@@ -184,7 +204,7 @@ class CMB2 extends CMB2_Base {
184
  $this->meta_box['fields'] = array();
185
 
186
  // Ensures object_types is an array.
187
- $this->set_prop( 'object_types', $this->box_types() ) ;
188
  $this->object_id( $object_id );
189
 
190
  if ( $this->is_options_page_mb() ) {
@@ -258,8 +278,8 @@ class CMB2 extends CMB2_Base {
258
  * @param array $cmb_id The current box ID.
259
  * @param int $object_id The ID of the current object.
260
  * @param string $object_type The type of object you are working with.
261
- * Usually `post` (this applies to all post-types).
262
- * Could also be `comment`, `user` or `options-page`.
263
  * @param array $cmb This CMB2 object.
264
  */
265
  do_action( 'cmb2_before_form', $this->cmb_id, $object_id, $object_type, $this );
@@ -389,8 +409,8 @@ class CMB2 extends CMB2_Base {
389
  * @param array $cmb_id The current box ID.
390
  * @param int $object_id The ID of the current object.
391
  * @param string $object_type The type of object you are working with.
392
- * Usually `post` (this applies to all post-types).
393
- * Could also be `comment`, `user` or `options-page`.
394
  * @param array $cmb This CMB2 object.
395
  */
396
  do_action( 'cmb2_after_form', $this->cmb_id, $object_id, $object_type, $this );
@@ -441,7 +461,7 @@ class CMB2 extends CMB2_Base {
441
  public function render_group( $args ) {
442
  $field_group = false;
443
 
444
- if ( $args instanceof CMB2_Field ) {
445
  $field_group = 'group' === $args->type() ? $args : false;
446
  } elseif ( isset( $args['id'], $args['fields'] ) && is_array( $args['fields'] ) ) {
447
  $field_group = $this->get_field( $args );
@@ -541,7 +561,6 @@ class CMB2 extends CMB2_Base {
541
  * @since 2.2.2
542
  *
543
  * @param string $group_wrap_attributes Current attributes array.
544
- *
545
  * @param CMB2_Field $field_group The group CMB2_Field object.
546
  */
547
  $group_wrap_attributes = apply_filters( 'cmb2_group_wrap_attributes', $group_wrap_attributes, $field_group );
@@ -569,13 +588,15 @@ class CMB2 extends CMB2_Base {
569
  public function render_group_row( $field_group ) {
570
 
571
  $field_group->peform_param_callback( 'before_group_row' );
572
- $closed_class = $field_group->options( 'closed' ) ? ' closed' : '';
 
 
573
 
574
  echo '
575
- <div class="postbox cmb-row cmb-repeatable-grouping', $closed_class, '" data-iterator="', $field_group->index, '">';
576
 
577
  if ( $field_group->args( 'repeatable' ) ) {
578
- echo '<button type="button" data-selector="', $field_group->id(), '_repeat" class="dashicons-before dashicons-no-alt cmb-remove-group-row" title="', esc_attr( $field_group->options( 'remove_button' ) ), '"></button>';
579
  }
580
 
581
  echo '
@@ -598,11 +619,12 @@ class CMB2 extends CMB2_Base {
598
  $this->get_field( $field_args, $field_group )->render_field();
599
  }
600
  }
 
601
  if ( $field_group->args( 'repeatable' ) ) {
602
  echo '
603
  <div class="cmb-row cmb-remove-field-row">
604
  <div class="cmb-remove-row">
605
- <button type="button" data-selector="', $field_group->id(), '_repeat" class="cmb-remove-group-row cmb-remove-group-row-button alignright button-secondary">', $field_group->options( 'remove_button' ), '</button>
606
  </div>
607
  </div>
608
  ';
@@ -618,11 +640,13 @@ class CMB2 extends CMB2_Base {
618
  }
619
 
620
  /**
621
- * Add a hidden field to the list of hidden fields to be rendered later
622
  *
623
  * @since 2.0.0
 
624
  * @param array $field_args Array of field arguments to be passed to CMB2_Field.
625
  * @param CMB2_Field|null $field_group CMB2_Field group field object.
 
626
  */
627
  public function add_hidden_field( $field_args, $field_group = null ) {
628
  if ( isset( $field_args['field_args'] ) ) {
@@ -665,6 +689,7 @@ class CMB2 extends CMB2_Base {
665
  *
666
  * @since 2.0.3
667
  * @param array $data_to_sanitize Array of field_id => value data for sanitizing (likely $_POST data).
 
668
  */
669
  public function get_sanitized_values( array $data_to_sanitize ) {
670
  $this->data_to_save = $data_to_sanitize;
@@ -787,7 +812,7 @@ class CMB2 extends CMB2_Base {
787
  /**
788
  * Fires the "cmb2_{$object_type}_process_fields_{$cmb_id}" action hook.
789
  *
790
- * @since 2.x.x
791
  *
792
  * @return CMB2
793
  */
@@ -828,8 +853,8 @@ class CMB2 extends CMB2_Base {
828
  * Fires after all fields have been saved.
829
  *
830
  * The dynamic portion of the hook name, $object_type, refers to the metabox/form's object type
831
- * Usually `post` (this applies to all post-types).
832
- * Could also be `comment`, `user` or `options-page`.
833
  *
834
  * @param int $object_id The ID of the current object
835
  * @param array $cmb_id The current box ID
@@ -845,8 +870,8 @@ class CMB2 extends CMB2_Base {
845
  * The dynamic portion of the hook name, $this->cmb_id, is the meta_box id.
846
  *
847
  * The dynamic portion of the hook name, $object_type, refers to the metabox/form's object type
848
- * Usually `post` (this applies to all post-types).
849
- * Could also be `comment`, `user` or `options-page`.
850
  *
851
  * @param int $object_id The ID of the current object
852
  * @param string $updated Array of field ids that were updated.
@@ -903,6 +928,9 @@ class CMB2 extends CMB2_Base {
903
 
904
  $field = $this->get_new_field( $field_args, $field_group );
905
  $sub_id = $field->id( true );
 
 
 
906
 
907
  foreach ( (array) $group_vals as $field_group->index => $post_vals ) {
908
 
@@ -948,10 +976,10 @@ class CMB2 extends CMB2_Base {
948
  // Add to `$saved` array.
949
  $saved[ $field_group->index ][ $sub_id ] = $new_val;
950
 
951
- }// End foreach().
952
 
953
  $saved[ $field_group->index ] = CMB2_Utils::filter_empty( $saved[ $field_group->index ] );
954
- }// End foreach().
955
 
956
  $saved = CMB2_Utils::filter_empty( $saved );
957
 
@@ -1095,7 +1123,7 @@ class CMB2 extends CMB2_Base {
1095
  $this->set_prop( 'option_key', $keys );
1096
 
1097
  // Reset the object types.
1098
- $this->set_prop( 'object_types', array_unique( $types ) ) ;
1099
  }
1100
 
1101
  /**
@@ -1103,6 +1131,7 @@ class CMB2 extends CMB2_Base {
1103
  *
1104
  * @since 2.2.5
1105
  *
 
1106
  * @return array
1107
  */
1108
  protected function deinit_options_mb( $types ) {
@@ -1194,8 +1223,8 @@ class CMB2 extends CMB2_Base {
1194
  $values = $this->meta_box['show_on']['value'];
1195
  } elseif ( ! empty( $this->meta_box['show_on']['options-page'] ) ) {
1196
  $values = $this->meta_box['show_on']['options-page'];
1197
- } elseif ( $this->prop( 'option_key') ) {
1198
- $values = $this->prop( 'option_key');
1199
  }
1200
 
1201
  if ( $values ) {
@@ -1395,7 +1424,7 @@ class CMB2 extends CMB2_Base {
1395
  * @since 2.1.0
1396
  * @param array $fields Array of fields to add.
1397
  * @param mixed $parent_field_id Parent field id or null.
1398
- *
1399
  * @return CMB2
1400
  */
1401
  protected function add_fields( $fields, $parent_field_id = null ) {
@@ -1436,13 +1465,11 @@ class CMB2 extends CMB2_Base {
1436
  switch ( $field['type'] ) {
1437
  case 'file':
1438
  case 'file_list':
1439
-
1440
  // Initiate attachment JS hooks.
1441
  add_filter( 'wp_prepare_attachment_for_js', array( 'CMB2_Type_File_Base', 'prepare_image_sizes_for_js' ), 10, 3 );
1442
  break;
1443
 
1444
  case 'oembed':
1445
-
1446
  // Initiate oembed Ajax hooks.
1447
  cmb2_ajax();
1448
  break;
@@ -1661,8 +1688,8 @@ class CMB2 extends CMB2_Base {
1661
  /**
1662
  * Handles metabox property callbacks, and passes this $cmb object as property.
1663
  *
1664
- * @since 2.2.3
1665
- * @param callable $cb The callback method/function/closure
1666
  * @param mixed $additional_params Any additoinal parameters which should be passed to the callback.
1667
  * @return mixed Return of the callback function.
1668
  */
59
  * @since 1.0.1
60
  */
61
  protected $mb_defaults = array(
62
+ 'id' => '',
63
+ 'title' => '',
64
  // Post type slug, or 'user', 'term', 'comment', or 'options-page'.
65
+ 'object_types' => array(),
66
+
67
+ /**
68
+ * The context within the screen where the boxes should display. Available contexts vary
69
+ * from screen to screen. Post edit screen contexts include 'normal', 'side', and 'advanced'.
70
+ *
71
+ * For placement in locations outside of a metabox, other options include:
72
+ * 'form_top', 'before_permalink', 'after_title', 'after_editor'
73
+ *
74
+ * Comments screen contexts include 'normal' and 'side'. Default is 'normal'.
75
  */
76
+ 'context' => 'normal',
77
+ 'priority' => 'high',
78
+ 'show_names' => true, // Show field names on the left.
79
+ 'show_on_cb' => null, // Callback to determine if metabox should display.
80
+ 'show_on' => array(), // Post IDs or page templates to display this metabox. overrides 'show_on_cb'.
81
+ 'cmb_styles' => true, // Include CMB2 stylesheet.
82
+ 'enqueue_js' => true, // Include CMB2 JS.
83
+ 'fields' => array(),
84
 
85
+ /**
86
  * Handles hooking CMB2 forms/metaboxes into the post/attachement/user/options-page screens
87
+ * and handles hooking in and saving those fields.
88
  */
89
+ 'hookup' => true,
90
+ 'save_fields' => true, // Will not save during hookup if false.
91
+ 'closed' => false, // Default metabox to being closed.
92
+ 'taxonomies' => array(),
93
+ 'new_user_section' => 'add-new-user', // or 'add-existing-user'.
94
+ 'new_term_section' => true,
95
+ 'show_in_rest' => false,
96
+ 'classes' => null, // Optionally add classes to the CMB2 wrapper.
97
+ 'classes_cb' => '', // Optionally add classes to the CMB2 wrapper (via a callback).
98
 
99
  /*
100
  * The following parameter is for post alternate-context metaboxes only.
102
  * To output the fields 'naked' (without a postbox wrapper/style), then
103
  * add a `'remove_box_wrap' => true` to your metabox registration array.
104
  */
105
+ 'remove_box_wrap' => false,
106
+
107
+ /*
108
+ * The following parameter is any additional arguments passed as $callback_args
109
+ * to add_meta_box, if/when applicable.
110
+ *
111
+ * CMB2 does not use these arguments in the add_meta_box callback, however, these args
112
+ * are parsed for certain special properties, like determining Gutenberg/block-editor
113
+ * compatibility.
114
+ *
115
+ * Examples:
116
+ *
117
+ * - Make sure default editor is used as metabox is not compatible with block editor
118
+ * [ '__block_editor_compatible_meta_box' => false/true ]
119
+ *
120
+ * - Or declare this box exists for backwards compatibility
121
+ * [ '__back_compat_meta_box' => false ]
122
+ *
123
+ * More: https://wordpress.org/gutenberg/handbook/extensibility/meta-box/
124
+ */
125
+ 'mb_callback_args' => null,
126
 
127
  /*
128
  * The following parameters are for options-page metaboxes,
129
  * and several are passed along to add_menu_page()/add_submenu_page()
130
  */
131
 
132
+ // 'menu_title' => null, // Falls back to 'title' (above). Do not define here so we can set a fallback.
133
+ 'message_cb' => '', // Optionally define the options-save message (via a callback).
134
+ 'option_key' => '', // The actual option key and admin menu page slug.
135
+ 'parent_slug' => '', // Used as first param in add_submenu_page().
136
+ 'capability' => 'manage_options', // Cap required to view options-page.
137
+ 'icon_url' => '', // Menu icon. Only applicable if 'parent_slug' is left empty.
138
+ 'position' => null, // Menu position. Only applicable if 'parent_slug' is left empty.
139
+
140
+ 'admin_menu_hook' => 'admin_menu', // Alternately 'network_admin_menu' to add network-level options page.
141
+ 'display_cb' => false, // Override the options-page form output (CMB2_Hookup::options_page_output()).
142
+ 'save_button' => '', // The text for the options-page save button. Defaults to 'Save'.
143
  'disable_settings_errors' => false, // On settings pages (not options-general.php sub-pages), allows disabling.
144
+ 'tab_group' => '', // Tab-group identifier, enables options page tab navigation.
145
+ // 'tab_title' => null, // Falls back to 'title' (above). Do not define here so we can set a fallback.
146
+ // 'autoload' => true, // Defaults to true, the options-page option will be autloaded.
147
  );
148
 
149
  /**
204
  $this->meta_box['fields'] = array();
205
 
206
  // Ensures object_types is an array.
207
+ $this->set_prop( 'object_types', $this->box_types() );
208
  $this->object_id( $object_id );
209
 
210
  if ( $this->is_options_page_mb() ) {
278
  * @param array $cmb_id The current box ID.
279
  * @param int $object_id The ID of the current object.
280
  * @param string $object_type The type of object you are working with.
281
+ * Usually `post` (this applies to all post-types).
282
+ * Could also be `comment`, `user` or `options-page`.
283
  * @param array $cmb This CMB2 object.
284
  */
285
  do_action( 'cmb2_before_form', $this->cmb_id, $object_id, $object_type, $this );
409
  * @param array $cmb_id The current box ID.
410
  * @param int $object_id The ID of the current object.
411
  * @param string $object_type The type of object you are working with.
412
+ * Usually `post` (this applies to all post-types).
413
+ * Could also be `comment`, `user` or `options-page`.
414
  * @param array $cmb This CMB2 object.
415
  */
416
  do_action( 'cmb2_after_form', $this->cmb_id, $object_id, $object_type, $this );
461
  public function render_group( $args ) {
462
  $field_group = false;
463
 
464
+ if ( $args instanceof CMB2_Field ) {
465
  $field_group = 'group' === $args->type() ? $args : false;
466
  } elseif ( isset( $args['id'], $args['fields'] ) && is_array( $args['fields'] ) ) {
467
  $field_group = $this->get_field( $args );
561
  * @since 2.2.2
562
  *
563
  * @param string $group_wrap_attributes Current attributes array.
 
564
  * @param CMB2_Field $field_group The group CMB2_Field object.
565
  */
566
  $group_wrap_attributes = apply_filters( 'cmb2_group_wrap_attributes', $group_wrap_attributes, $field_group );
588
  public function render_group_row( $field_group ) {
589
 
590
  $field_group->peform_param_callback( 'before_group_row' );
591
+ $closed_class = $field_group->options( 'closed' ) ? ' closed' : '';
592
+ $confirm_deletion = $field_group->options( 'remove_confirm' );
593
+ $confirm_deletion = ! empty( $confirm_deletion ) ? $confirm_deletion : '';
594
 
595
  echo '
596
+ <div id="cmb-group-', $field_group->id(), '-', $field_group->index, '" class="postbox cmb-row cmb-repeatable-grouping', $closed_class, '" data-iterator="', $field_group->index, '">';
597
 
598
  if ( $field_group->args( 'repeatable' ) ) {
599
+ echo '<button type="button" data-selector="', $field_group->id(), '_repeat" data-confirm="', esc_attr( $confirm_deletion ), '" class="dashicons-before dashicons-no-alt cmb-remove-group-row" title="', esc_attr( $field_group->options( 'remove_button' ) ), '"></button>';
600
  }
601
 
602
  echo '
619
  $this->get_field( $field_args, $field_group )->render_field();
620
  }
621
  }
622
+
623
  if ( $field_group->args( 'repeatable' ) ) {
624
  echo '
625
  <div class="cmb-row cmb-remove-field-row">
626
  <div class="cmb-remove-row">
627
+ <button type="button" data-selector="', $field_group->id(), '_repeat" data-confirm="', esc_attr( $confirm_deletion ), '" class="cmb-remove-group-row cmb-remove-group-row-button alignright button-secondary">', $field_group->options( 'remove_button' ), '</button>
628
  </div>
629
  </div>
630
  ';
640
  }
641
 
642
  /**
643
+ * Add a hidden field to the list of hidden fields to be rendered later.
644
  *
645
  * @since 2.0.0
646
+ *
647
  * @param array $field_args Array of field arguments to be passed to CMB2_Field.
648
  * @param CMB2_Field|null $field_group CMB2_Field group field object.
649
+ * @return CMB2_Field
650
  */
651
  public function add_hidden_field( $field_args, $field_group = null ) {
652
  if ( isset( $field_args['field_args'] ) ) {
689
  *
690
  * @since 2.0.3
691
  * @param array $data_to_sanitize Array of field_id => value data for sanitizing (likely $_POST data).
692
+ * @return mixed
693
  */
694
  public function get_sanitized_values( array $data_to_sanitize ) {
695
  $this->data_to_save = $data_to_sanitize;
812
  /**
813
  * Fires the "cmb2_{$object_type}_process_fields_{$cmb_id}" action hook.
814
  *
815
+ * @since 2.2.2
816
  *
817
  * @return CMB2
818
  */
853
  * Fires after all fields have been saved.
854
  *
855
  * The dynamic portion of the hook name, $object_type, refers to the metabox/form's object type
856
+ * Usually `post` (this applies to all post-types).
857
+ * Could also be `comment`, `user` or `options-page`.
858
  *
859
  * @param int $object_id The ID of the current object
860
  * @param array $cmb_id The current box ID
870
  * The dynamic portion of the hook name, $this->cmb_id, is the meta_box id.
871
  *
872
  * The dynamic portion of the hook name, $object_type, refers to the metabox/form's object type
873
+ * Usually `post` (this applies to all post-types).
874
+ * Could also be `comment`, `user` or `options-page`.
875
  *
876
  * @param int $object_id The ID of the current object
877
  * @param string $updated Array of field ids that were updated.
928
 
929
  $field = $this->get_new_field( $field_args, $field_group );
930
  $sub_id = $field->id( true );
931
+ if ( empty( $saved[ $field_group->index ] ) ) {
932
+ $saved[ $field_group->index ] = array();
933
+ }
934
 
935
  foreach ( (array) $group_vals as $field_group->index => $post_vals ) {
936
 
976
  // Add to `$saved` array.
977
  $saved[ $field_group->index ][ $sub_id ] = $new_val;
978
 
979
+ }// End foreach.
980
 
981
  $saved[ $field_group->index ] = CMB2_Utils::filter_empty( $saved[ $field_group->index ] );
982
+ }// End foreach.
983
 
984
  $saved = CMB2_Utils::filter_empty( $saved );
985
 
1123
  $this->set_prop( 'option_key', $keys );
1124
 
1125
  // Reset the object types.
1126
+ $this->set_prop( 'object_types', array_unique( $types ) );
1127
  }
1128
 
1129
  /**
1131
  *
1132
  * @since 2.2.5
1133
  *
1134
+ * @param array $types Array of types.
1135
  * @return array
1136
  */
1137
  protected function deinit_options_mb( $types ) {
1223
  $values = $this->meta_box['show_on']['value'];
1224
  } elseif ( ! empty( $this->meta_box['show_on']['options-page'] ) ) {
1225
  $values = $this->meta_box['show_on']['options-page'];
1226
+ } elseif ( $this->prop( 'option_key' ) ) {
1227
+ $values = $this->prop( 'option_key' );
1228
  }
1229
 
1230
  if ( $values ) {
1424
  * @since 2.1.0
1425
  * @param array $fields Array of fields to add.
1426
  * @param mixed $parent_field_id Parent field id or null.
1427
+ *
1428
  * @return CMB2
1429
  */
1430
  protected function add_fields( $fields, $parent_field_id = null ) {
1465
  switch ( $field['type'] ) {
1466
  case 'file':
1467
  case 'file_list':
 
1468
  // Initiate attachment JS hooks.
1469
  add_filter( 'wp_prepare_attachment_for_js', array( 'CMB2_Type_File_Base', 'prepare_image_sizes_for_js' ), 10, 3 );
1470
  break;
1471
 
1472
  case 'oembed':
 
1473
  // Initiate oembed Ajax hooks.
1474
  cmb2_ajax();
1475
  break;
1688
  /**
1689
  * Handles metabox property callbacks, and passes this $cmb object as property.
1690
  *
1691
+ * @since 2.2.3
1692
+ * @param callable $cb The callback method/function/closure.
1693
  * @param mixed $additional_params Any additoinal parameters which should be passed to the callback.
1694
  * @return mixed Return of the callback function.
1695
  */
vendor/{webdevstudios → cmb2}/cmb2/includes/CMB2_Ajax.php RENAMED
@@ -13,7 +13,7 @@
13
  */
14
  class CMB2_Ajax {
15
 
16
- // Whether to hijack the oembed cache system
17
  protected $hijack = false;
18
  protected $object_id = 0;
19
  protected $embed_args = array();
@@ -21,7 +21,7 @@ class CMB2_Ajax {
21
  protected $ajax_update = false;
22
 
23
  /**
24
- * Instance of this class
25
  *
26
  * @since 2.2.2
27
  * @var object
@@ -29,7 +29,7 @@ class CMB2_Ajax {
29
  protected static $instance;
30
 
31
  /**
32
- * Get the singleton instance of this class
33
  *
34
  * @since 2.2.2
35
  * @return CMB2_Ajax
@@ -58,37 +58,37 @@ class CMB2_Ajax {
58
  * Handles our oEmbed ajax request
59
  *
60
  * @since 0.9.5
61
- * @return object oEmbed embed code | fallback | error message
62
  */
63
  public function oembed_handler() {
64
 
65
- // Verify our nonce
66
  if ( ! ( isset( $_REQUEST['cmb2_ajax_nonce'], $_REQUEST['oembed_url'] ) && wp_verify_nonce( $_REQUEST['cmb2_ajax_nonce'], 'ajax_nonce' ) ) ) {
67
  die();
68
  }
69
 
70
- // Sanitize our search string
71
  $oembed_string = sanitize_text_field( $_REQUEST['oembed_url'] );
72
 
73
- // Send back error if empty
74
  if ( empty( $oembed_string ) ) {
75
  wp_send_json_error( '<p class="ui-state-error-text">' . esc_html__( 'Please Try Again', 'cmb2' ) . '</p>' );
76
  }
77
 
78
- // Set width of embed
79
  $embed_width = isset( $_REQUEST['oembed_width'] ) && intval( $_REQUEST['oembed_width'] ) < 640 ? intval( $_REQUEST['oembed_width'] ) : '640';
80
 
81
- // Set url
82
  $oembed_url = esc_url( $oembed_string );
83
 
84
- // Set args
85
  $embed_args = array(
86
  'width' => $embed_width,
87
  );
88
 
89
  $this->ajax_update = true;
90
 
91
- // Get embed code (or fallback link)
92
  $html = $this->get_oembed( array(
93
  'url' => $oembed_url,
94
  'object_id' => $_REQUEST['object_id'],
@@ -104,15 +104,15 @@ class CMB2_Ajax {
104
  * Retrieves oEmbed from url/object ID
105
  *
106
  * @since 0.9.5
107
- * @param array $args Arguments for method
108
- * @return string html markup with embed or fallback
109
  */
110
  public function get_oembed_no_edit( $args ) {
111
  global $wp_embed;
112
 
113
  $oembed_url = esc_url( $args['url'] );
114
 
115
- // Sanitize object_id
116
  $this->object_id = is_numeric( $args['object_id'] ) ? absint( $args['object_id'] ) : sanitize_text_field( $args['object_id'] );
117
 
118
  $args = wp_parse_args( $args, array(
@@ -130,7 +130,7 @@ class CMB2_Ajax {
130
  */
131
  $wp_embed->post_ID = $this->object_id;
132
 
133
- // Special scenario if NOT a post object
134
  if ( isset( $args['object_type'] ) && 'post' != $args['object_type'] ) {
135
 
136
  if ( 'options-page' == $args['object_type'] ) {
@@ -139,14 +139,14 @@ class CMB2_Ajax {
139
  $wp_embed->post_ID = 1987645321;
140
  }
141
 
142
- // Ok, we need to hijack the oembed cache system
143
  $this->hijack = true;
144
  $this->object_type = $args['object_type'];
145
 
146
- // Gets ombed cache from our object's meta (vs postmeta)
147
  add_filter( 'get_post_metadata', array( $this, 'hijack_oembed_cache_get' ), 10, 3 );
148
 
149
- // Sets ombed cache in our object's meta (vs postmeta)
150
  add_filter( 'update_post_metadata', array( $this, 'hijack_oembed_cache_set' ), 10, 4 );
151
 
152
  }
@@ -157,10 +157,10 @@ class CMB2_Ajax {
157
  $embed_args .= " $key=\"$val\"";
158
  }
159
 
160
- // Ping WordPress for an embed
161
  $embed = $wp_embed->run_shortcode( '[embed' . $embed_args . ']' . $oembed_url . '[/embed]' );
162
 
163
- // Fallback that WordPress creates when no oEmbed was found
164
  $fallback = $wp_embed->maybe_make_link( $oembed_url );
165
 
166
  return compact( 'embed', 'fallback', 'args' );
@@ -170,18 +170,18 @@ class CMB2_Ajax {
170
  * Retrieves oEmbed from url/object ID
171
  *
172
  * @since 0.9.5
173
- * @param array $args Arguments for method
174
- * @return string html markup with embed or fallback
175
  */
176
  public function get_oembed( $args ) {
177
  $oembed = $this->get_oembed_no_edit( $args );
178
 
179
- // Send back our embed
180
  if ( $oembed['embed'] && $oembed['embed'] != $oembed['fallback'] ) {
181
  return '<div class="cmb2-oembed embed-status">' . $oembed['embed'] . '<p class="cmb2-remove-wrapper"><a href="#" class="cmb2-remove-file-button" rel="' . $oembed['args']['field_id'] . '">' . esc_html__( 'Remove Embed', 'cmb2' ) . '</a></p></div>';
182
  }
183
 
184
- // Otherwise, send back error info that no oEmbeds were found
185
  return sprintf(
186
  '<p class="ui-state-error-text">%s</p>',
187
  sprintf(
@@ -198,10 +198,10 @@ class CMB2_Ajax {
198
  * Returns cached data from relevant object metadata (vs postmeta)
199
  *
200
  * @since 0.9.5
201
- * @param boolean $check Whether to retrieve postmeta or override
202
- * @param int $object_id Object ID
203
- * @param string $meta_key Object metakey
204
- * @return mixed Object's oEmbed cached data
205
  */
206
  public function hijack_oembed_cache_get( $check, $object_id, $meta_key ) {
207
  if ( ! $this->hijack || ( $this->object_id != $object_id && 1987645321 !== $object_id ) ) {
@@ -220,18 +220,18 @@ class CMB2_Ajax {
220
  * Saves cached data to relevant object metadata (vs postmeta)
221
  *
222
  * @since 0.9.5
223
- * @param boolean $check Whether to continue setting postmeta
224
- * @param int $object_id Object ID to get postmeta from
225
- * @param string $meta_key Postmeta's key
226
- * @param mixed $meta_value Value of the postmeta to be saved
227
- * @return boolean Whether to continue setting
228
  */
229
  public function hijack_oembed_cache_set( $check, $object_id, $meta_key, $meta_value ) {
230
 
231
  if (
232
  ! $this->hijack
233
  || ( $this->object_id != $object_id && 1987645321 !== $object_id )
234
- // only want to hijack oembed meta values
235
  || 0 !== strpos( $meta_key, '_oembed_' )
236
  ) {
237
  return $check;
@@ -239,15 +239,17 @@ class CMB2_Ajax {
239
 
240
  $this->cache_action( $meta_key, $meta_value );
241
 
242
- // Anything other than `null` to cancel saving to postmeta
243
  return true;
244
  }
245
 
246
  /**
247
- * Gets/updates the cached oEmbed value from/to relevant object metadata (vs postmeta)
248
  *
249
  * @since 1.3.0
250
- * @param string $meta_key Postmeta's key
 
 
251
  */
252
  protected function cache_action( $meta_key ) {
253
  $func_args = func_get_args();
@@ -262,14 +264,14 @@ class CMB2_Ajax {
262
  $args[] = true;
263
  }
264
 
265
- // Cache the result to our options
266
  $status = call_user_func_array( array( cmb2_options( $this->object_id ), $action ), $args );
267
  } else {
268
 
269
  $args = array( $this->object_type, $this->object_id, $meta_key );
270
  $args[] = 'update' === $action ? $func_args[1] : true;
271
 
272
- // Cache the result to our metadata
273
  $status = call_user_func_array( $action . '_metadata', $args );
274
  }
275
 
@@ -281,7 +283,7 @@ class CMB2_Ajax {
281
  * oembed cache data from the option value.
282
  *
283
  * @since 2.2.0
284
- * @param string $option_key The options-page option key
285
  * @return void
286
  */
287
  public static function clean_stale_options_page_oembeds( $option_key ) {
@@ -293,7 +295,7 @@ class CMB2_A
13
  */
14
  class CMB2_Ajax {
15
 
16
+ // Whether to hijack the oembed cache system.
17
  protected $hijack = false;
18
  protected $object_id = 0;
19
  protected $embed_args = array();
21
  protected $ajax_update = false;
22
 
23
  /**
24
+ * Instance of this class.
25
  *
26
  * @since 2.2.2
27
  * @var object
29
  protected static $instance;
30
 
31
  /**
32
+ * Get the singleton instance of this class.
33
  *
34
  * @since 2.2.2
35
  * @return CMB2_Ajax
58
  * Handles our oEmbed ajax request
59
  *
60
  * @since 0.9.5
61
+ * @return mixed oEmbed embed code | fallback | error message
62
  */
63
  public function oembed_handler() {
64
 
65
+ // Verify our nonce.
66
  if ( ! ( isset( $_REQUEST['cmb2_ajax_nonce'], $_REQUEST['oembed_url'] ) && wp_verify_nonce( $_REQUEST['cmb2_ajax_nonce'], 'ajax_nonce' ) ) ) {
67
  die();
68
  }
69
 
70
+ // Sanitize our search string.
71
  $oembed_string = sanitize_text_field( $_REQUEST['oembed_url'] );
72
 
73
+ // Send back error if empty.
74
  if ( empty( $oembed_string ) ) {
75
  wp_send_json_error( '<p class="ui-state-error-text">' . esc_html__( 'Please Try Again', 'cmb2' ) . '</p>' );
76
  }
77
 
78
+ // Set width of embed.
79
  $embed_width = isset( $_REQUEST['oembed_width'] ) && intval( $_REQUEST['oembed_width'] ) < 640 ? intval( $_REQUEST['oembed_width'] ) : '640';
80
 
81
+ // Set url.
82
  $oembed_url = esc_url( $oembed_string );
83
 
84
+ // Set args.
85
  $embed_args = array(
86
  'width' => $embed_width,
87
  );
88
 
89
  $this->ajax_update = true;
90
 
91
+ // Get embed code (or fallback link).
92
  $html = $this->get_oembed( array(
93
  'url' => $oembed_url,
94
  'object_id' => $_REQUEST['object_id'],
104
  * Retrieves oEmbed from url/object ID
105
  *
106
  * @since 0.9.5
107
+ * @param array $args Arguments for method.
108
+ * @return mixed HTML markup with embed or fallback.
109
  */
110
  public function get_oembed_no_edit( $args ) {
111
  global $wp_embed;
112
 
113
  $oembed_url = esc_url( $args['url'] );
114
 
115
+ // Sanitize object_id.
116
  $this->object_id = is_numeric( $args['object_id'] ) ? absint( $args['object_id'] ) : sanitize_text_field( $args['object_id'] );
117
 
118
  $args = wp_parse_args( $args, array(
130
  */
131
  $wp_embed->post_ID = $this->object_id;
132
 
133
+ // Special scenario if NOT a post object.
134
  if ( isset( $args['object_type'] ) && 'post' != $args['object_type'] ) {
135
 
136
  if ( 'options-page' == $args['object_type'] ) {
139
  $wp_embed->post_ID = 1987645321;
140
  }
141
 
142
+ // Ok, we need to hijack the oembed cache system.
143
  $this->hijack = true;
144
  $this->object_type = $args['object_type'];
145
 
146
+ // Gets ombed cache from our object's meta (vs postmeta).
147
  add_filter( 'get_post_metadata', array( $this, 'hijack_oembed_cache_get' ), 10, 3 );
148
 
149
+ // Sets ombed cache in our object's meta (vs postmeta).
150
  add_filter( 'update_post_metadata', array( $this, 'hijack_oembed_cache_set' ), 10, 4 );
151
 
152
  }
157
  $embed_args .= " $key=\"$val\"";
158
  }
159
 
160
+ // Ping WordPress for an embed.
161
  $embed = $wp_embed->run_shortcode( '[embed' . $embed_args . ']' . $oembed_url . '[/embed]' );
162
 
163
+ // Fallback that WordPress creates when no oEmbed was found.
164
  $fallback = $wp_embed->maybe_make_link( $oembed_url );
165
 
166
  return compact( 'embed', 'fallback', 'args' );
170
  * Retrieves oEmbed from url/object ID
171
  *
172
  * @since 0.9.5
173
+ * @param array $args Arguments for method.
174
+ * @return string HTML markup with embed or fallback.
175
  */
176
  public function get_oembed( $args ) {
177
  $oembed = $this->get_oembed_no_edit( $args );
178
 
179
+ // Send back our embed.
180
  if ( $oembed['embed'] && $oembed['embed'] != $oembed['fallback'] ) {
181
  return '<div class="cmb2-oembed embed-status">' . $oembed['embed'] . '<p class="cmb2-remove-wrapper"><a href="#" class="cmb2-remove-file-button" rel="' . $oembed['args']['field_id'] . '">' . esc_html__( 'Remove Embed', 'cmb2' ) . '</a></p></div>';
182
  }
183
 
184
+ // Otherwise, send back error info that no oEmbeds were found.
185
  return sprintf(
186
  '<p class="ui-state-error-text">%s</p>',
187
  sprintf(
198
  * Returns cached data from relevant object metadata (vs postmeta)
199
  *
200
  * @since 0.9.5
201
+ * @param boolean $check Whether to retrieve postmeta or override.
202
+ * @param int $object_id Object ID.
203
+ * @param string $meta_key Object metakey.
204
+ * @return mixed Object's oEmbed cached data.
205
  */
206
  public function hijack_oembed_cache_get( $check, $object_id, $meta_key ) {
207
  if ( ! $this->hijack || ( $this->object_id != $object_id && 1987645321 !== $object_id ) ) {
220
  * Saves cached data to relevant object metadata (vs postmeta)
221
  *
222
  * @since 0.9.5
223
+ * @param boolean $check Whether to continue setting postmeta.
224
+ * @param int $object_id Object ID to get postmeta from.
225
+ * @param string $meta_key Postmeta's key.
226
+ * @param mixed $meta_value Value of the postmeta to be saved.
227
+ * @return boolean Whether to continue setting.
228
  */
229
  public function hijack_oembed_cache_set( $check, $object_id, $meta_key, $meta_value ) {
230
 
231
  if (
232
  ! $this->hijack
233
  || ( $this->object_id != $object_id && 1987645321 !== $object_id )
234
+ // Only want to hijack oembed meta values.
235
  || 0 !== strpos( $meta_key, '_oembed_' )
236
  ) {
237
  return $check;
239
 
240
  $this->cache_action( $meta_key, $meta_value );
241
 
242
+ // Anything other than `null` to cancel saving to postmeta.
243
  return true;
244
  }
245
 
246
  /**
247
+ * Gets/updates the cached oEmbed value from/to relevant object metadata (vs postmeta).
248
  *
249
  * @since 1.3.0
250
+ *
251
+ * @param string $meta_key Postmeta's key.
252
+ * @return mixed
253
  */
254
  protected function cache_action( $meta_key ) {
255
  $func_args = func_get_args();
264
  $args[] = true;
265
  }
266
 
267
+ // Cache the result to our options.
268
  $status = call_user_func_array( array( cmb2_options( $this->object_id ), $action ), $args );
269
  } else {
270
 
271
  $args = array( $this->object_type, $this->object_id, $meta_key );
272
  $args[] = 'update' === $action ? $func_args[1] : true;
273
 
274
+ // Cache the result to our metadata.
275
  $status = call_user_func_array( $action . '_metadata', $args );
276
  }
277
 
283
  * oembed cache data from the option value.
284
  *
285
  * @since 2.2.0
286
+ * @param string $option_key The options-page option key.
287
  * @return void
288
  */
289
  public static function clean_stale_options_page_oembeds( $option_key ) {