Jupiter X Core - Version 2.1.0

Version Description

  • Fixed some security issues.
Download this release

Release Info

Developer artbees
Plugin Icon wp plugin Jupiter X Core
Version 2.1.0
Comparing to
See all releases

Code changes from version 2.0.9 to 2.1.0

assets/images/control-panel/jupiterx-updates-thumb.png ADDED
Binary file
assets/images/control-panel/pro-banner.jpg ADDED
Binary file
assets/images/control-panel/sellkit.png ADDED
Binary file
includes/admin/class-auto-updates.php ADDED
@@ -0,0 +1,164 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This class is responsible to managing all plugins & theme auto updates.
4
+ *
5
+ * @package JupiterX_Core\Admin
6
+ */
7
+
8
+ class JupiterX_Core_Auto_Updates {
9
+ /**
10
+ * Transient to remember when update was checked last time.
11
+ *
12
+ * @since 1.18.0
13
+ */
14
+ const LAST_CHECKED_TRANSIENT_KEY = 'jupiterx_core_cp_updates_last_checked';
15
+ /**
16
+ * Transient to remember updates.
17
+ *
18
+ * @since 1.18.0
19
+ */
20
+ const UPDATES_TRANSIENT_KEY = 'jupiterx_core_cp_updates';
21
+
22
+ /**
23
+ * Updates Manager Constructor
24
+ *
25
+ * @since 1.18.0
26
+ */
27
+ public function __construct() {
28
+ add_action( 'wp_ajax_jupiterx_core_cp_toggle_auto_updater', [ self::class, 'toggle_auto_updater' ] );
29
+ add_action( 'pre_auto_update', [ $this, 'clear_transients' ] );
30
+
31
+ $this->init_auto_updater();
32
+ }
33
+
34
+ /**
35
+ * Watch for updates. Allow updates for jupiterx theme & managed plugins only
36
+ * with the exception of manually enabled auto updates for themes & plugins.
37
+ *
38
+ * @since 1.18.0
39
+ *
40
+ * @return void
41
+ */
42
+ public function init_auto_updater() {
43
+ $status = jupiterx_core_get_option( 'auto_updater', false );
44
+
45
+ if ( false === $status ) {
46
+ return;
47
+ }
48
+
49
+ if ( ! jupiterx_core_is_registered() ) {
50
+ return;
51
+ }
52
+
53
+ add_filter( 'auto_update_theme', [ self::class, 'auto_update_theme' ], 10, 2 );
54
+ add_filter( 'auto_update_plugin', [ self::class, 'auto_update_plugin' ], 10, 2 );
55
+ }
56
+
57
+ /**
58
+ * Auto update plugin.
59
+ *
60
+ * @since 1.18.0
61
+ *
62
+ * @param bool $update Trigger update if true.
63
+ * @param object $item Plugin.
64
+ *
65
+ * @return void
66
+ */
67
+ public static function auto_update_plugin( $update, $item ) {
68
+ $enabled_plugins = (array) get_site_option( 'auto_update_plugins', [] );
69
+
70
+ if ( in_array( $item->plugin, $enabled_plugins, true ) ) {
71
+ return $update;
72
+ }
73
+
74
+ $plugins = jupiterx_core_get_managed_plugins();
75
+
76
+ if ( ! is_array( $plugins ) || empty( $plugins ) ) {
77
+ return false;
78
+ }
79
+
80
+ $slugs = [];
81
+
82
+ foreach ( $plugins as $plugin ) {
83
+ $slugs[] = $plugin->slug;
84
+ }
85
+
86
+ return in_array( $item->slug, $slugs, true );
87
+ }
88
+
89
+ /**
90
+ * Auto update theme.
91
+ *
92
+ * @since 1.18.0
93
+ *
94
+ * @param bool $update Trigger update if true.
95
+ * @param object $item Theme.
96
+ *
97
+ * @return void
98
+ */
99
+ public static function auto_update_theme( $update, $item ) {
100
+ $enabled_themes = (array) get_site_option( 'auto_update_themes', [] );
101
+
102
+ if ( in_array( $item->theme, $enabled_themes, true ) ) {
103
+ return $update;
104
+ }
105
+
106
+ return 'jupiterx' === $item->theme;
107
+ }
108
+
109
+ /**
110
+ * Toggle auto updater state.
111
+ *
112
+ * @since 1.18.0
113
+ *
114
+ * @return void
115
+ */
116
+ public static function toggle_auto_updater() {
117
+ check_ajax_referer( 'jupiterx_control_panel' );
118
+
119
+ require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
120
+
121
+ delete_site_transient( 'update_plugins' );
122
+ delete_site_transient( 'update_themes' );
123
+ WP_Upgrader::release_lock( 'auto_updater' );
124
+
125
+ $enable = false;
126
+
127
+ if ( ! empty( $_POST['enable'] ) ) {
128
+ $enable = sanitize_text_field( wp_unslash( $_POST['enable'] ) ) === 'true';
129
+ }
130
+
131
+ jupiterx_core_update_option( 'auto_updater', $enable );
132
+
133
+ wp_send_json_success( [ 'state' => $enable ? 'enabled' : 'disabled' ] );
134
+ }
135
+
136
+ /**
137
+ * Get auto updater state.
138
+ *
139
+ * @since 1.18.0
140
+ *
141
+ * @return void
142
+ */
143
+ public static function get_auto_updater_state() {
144
+ $status = jupiterx_core_get_option( 'auto_updater', false );
145
+
146
+ if ( false === $status ) {
147
+ return 'disabled';
148
+ }
149
+
150
+ return 'enabled';
151
+ }
152
+
153
+ /**
154
+ * Clear transients.
155
+ *
156
+ * @since 1.18.0
157
+ */
158
+ public function clear_transients() {
159
+ delete_transient( self::LAST_CHECKED_TRANSIENT_KEY );
160
+ delete_transient( self::UPDATES_TRANSIENT_KEY );
161
+ }
162
+ }
163
+
164
+ new JupiterX_Core_Auto_Updates();
includes/admin/class-notices.php ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This class handles admin notices.
4
+ *
5
+ * @package JupiterX_Core\Admin
6
+ *
7
+ * @since 1.18.0
8
+ */
9
+
10
+ /**
11
+ * Handle admin notices.
12
+ *
13
+ * @package JupiterX_Core\Admin
14
+ *
15
+ * @since 1.18.0
16
+ */
17
+ class JupiterX_Core_Admin_Notices {
18
+
19
+ /**
20
+ * Constructor.
21
+ *
22
+ * @since 1.18.0
23
+ */
24
+ public function __construct() {
25
+ add_action( 'admin_notices', [ $this, 'check_required_plugins' ] );
26
+ add_filter( 'jet-dashboard/js-page-config', [ $this, 'remove_croco_license_notice' ], 10, 1 );
27
+ }
28
+
29
+ /**
30
+ * Remove Croco notice.
31
+ *
32
+ * @param $notices
33
+ * @return void|array
34
+ * @since 1.20.0
35
+ */
36
+ public function remove_croco_license_notice( $notices ) {
37
+ if ( empty( $notices['noticeList'] ) ) {
38
+ return $notices;
39
+ }
40
+
41
+ foreach ( $notices['noticeList'] as $key => $notice ) {
42
+ if ( empty( $notice['id'] ) || '30days-to-license-expire' !== $notice['id'] ) {
43
+ continue;
44
+ }
45
+
46
+ unset( $notices['noticeList'][ $key ] );
47
+ }
48
+
49
+ return $notices;
50
+ }
51
+
52
+ /**
53
+ * Check required plugins.
54
+ *
55
+ * @since 1.18.0
56
+ */
57
+ public function check_required_plugins() {
58
+ $required_plugins = [
59
+ 'Elementor\Plugin' => 'Elementor',
60
+ 'ACF' => 'Advanced Custom Fields',
61
+ ];
62
+
63
+ foreach ( $required_plugins as $plugin_class => $plugin_name ) {
64
+ if ( ! class_exists( $plugin_class ) ) {
65
+ continue;
66
+ }
67
+
68
+ unset( $required_plugins[ $plugin_class ] );
69
+ }
70
+
71
+ if ( empty( $required_plugins ) ) {
72
+ return;
73
+ }
74
+
75
+ $required_plugins = array_values( $required_plugins );
76
+
77
+ ?>
78
+ <div class="notice notice-warning is-dismissible">
79
+ <p>
80
+ <?php
81
+ if ( count( $required_plugins ) === 1 ) {
82
+ printf(
83
+ /* translators: The required plugins. */
84
+ esc_html__( '%1$s requires %2$s plugin to be installed and activated.', 'jupiterx-core' ),
85
+ '<strong>Jupiter X</strong>',
86
+ "<strong>$required_plugins[0]</strong>"
87
+ );
88
+ }
89
+
90
+ if ( count( $required_plugins ) === 2 ) {
91
+ printf(
92
+ /* translators: The required plugins. */
93
+ esc_html__( '%1$s requires %2$s and %3$s plugins to be installed and activated.', 'jupiterx-core' ),
94
+ '<strong>Jupiter X</strong>',
95
+ '<strong>Elementor</strong>',
96
+ '<strong>Advanced Custom Fields</strong>'
97
+ );
98
+ }
99
+ ?>
100
+ </p>
101
+ <p><a class="button button-primary" href="<?php echo admin_url( 'admin.php?page=jupiterx#/maintenance' ); ?>"><?php esc_html_e( 'Activate them in Dashboard > Bundled Plugins', 'jupiterx-core' ); ?></a></p>
102
+ </div>
103
+ <?php
104
+ }
105
+
106
+ }
107
+
108
+ new JupiterX_Core_Admin_Notices();
includes/admin/site-health/site-health.php ADDED
@@ -0,0 +1,721 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class for providing data the WordPress' Site Health debug information.
4
+ *
5
+ * @package JupiterX_Core\Admin
6
+ *
7
+ * @since 1.18.0
8
+ */
9
+
10
+ /**
11
+ * Site Health class.
12
+ *
13
+ * @since 1.18.0
14
+ *
15
+ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
16
+ */
17
+ class JupiterX_Core_Site_Health {
18
+
19
+ /**
20
+ * Site health class instance.
21
+ *
22
+ * @since 1.18.0
23
+ *
24
+ * @var JupiterX_Core_Site_Health|null
25
+ */
26
+ private static $instance = null;
27
+
28
+ /**
29
+ * Return an instance of the JupiterX_Core_Site_Health class, or create one if none exist yet.
30
+ *
31
+ * @since 1.18.0
32
+ *
33
+ * @return JupiterX_Core_Site_Health|null
34
+ */
35
+ public static function get_instance() {
36
+ if ( null === self::$instance ) {
37
+ self::$instance = new JupiterX_Core_Site_Health();
38
+ }
39
+
40
+ return self::$instance;
41
+ }
42
+
43
+ /**
44
+ * Construct class.
45
+ *
46
+ * @since 1.18.0
47
+ */
48
+ public function __construct() {
49
+ add_action( 'wp_ajax_jupiterx_system_status', [ $this, 'system_status' ] );
50
+ add_filter( 'debug_information', [ $this, 'debug_information' ] );
51
+ add_filter( 'site_status_tests', [ $this, 'site_status_tests' ] );
52
+ }
53
+
54
+ /**
55
+ * Get site status using WP_Site_Health class.
56
+ *
57
+ * @since 1.18.0
58
+ *
59
+ * @return void
60
+ *
61
+ * @SuppressWarnings(PHPMD.NPathComplexity)
62
+ */
63
+ public function system_status() {
64
+ $health_check_js_variables = [
65
+ 'site_status' => [
66
+ 'direct' => [],
67
+ 'async' => [],
68
+ 'issues' => [
69
+ 'good' => 0,
70
+ 'recommended' => 0,
71
+ 'critical' => 0,
72
+ ],
73
+ ],
74
+ ];
75
+
76
+ $issue_counts = get_transient( 'health-check-site-status-result' );
77
+
78
+ jupiterx_log(
79
+ '[Control Panel > Dashboard > Site Health] To get site health issues, the following data is expected to be an object.',
80
+ $issue_counts
81
+ );
82
+
83
+ if ( false !== $issue_counts ) {
84
+ $issue_counts = json_decode( $issue_counts );
85
+
86
+ $health_check_js_variables['site_status']['issues'] = $issue_counts;
87
+ }
88
+
89
+ $core_current_version = get_bloginfo( 'version' );
90
+
91
+ if ( version_compare( $core_current_version, '5.2', '<' ) ) {
92
+ jupiterx_log(
93
+ '[Control Panel > Dashboard > Site Health] To show site health issues, WordPress needs to be updated.',
94
+ $core_current_version
95
+ );
96
+
97
+ $health_check_js_variables['site_status']['direct'][] = [
98
+ 'label' => sprintf(
99
+ // translators: %s Site's current WordPress version
100
+ __( 'WordPress version (%s) is outdated', 'jupiterx-core' ),
101
+ $core_current_version
102
+ ),
103
+ 'status' => 'critical',
104
+ 'badge' => [
105
+ 'label' => 'Performance',
106
+ 'color' => 'blue',
107
+ ],
108
+ 'actions' => sprintf(
109
+ '<a href="%s">%s</a>',
110
+ esc_url( admin_url( 'update-core.php' ) ),
111
+ __( 'Update core', 'jupiterx-core' )
112
+ ),
113
+ 'description' => '',
114
+ 'test' => 'wordpress_version',
115
+ ];
116
+
117
+ wp_send_json_success( $health_check_js_variables );
118
+ }
119
+
120
+ if ( ! class_exists( 'WP_Site_Health' ) ) {
121
+ require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php';
122
+ }
123
+
124
+ $site_health = new WP_Site_Health();
125
+
126
+ // Start running tests.
127
+ $tests = $site_health::get_tests();
128
+
129
+ jupiterx_log(
130
+ '[Control Panel > Dashboard > Site Health] To show site health issues, the following data is expected to be an array.',
131
+ $tests
132
+ );
133
+
134
+ // Don't run https test on localhost.
135
+ if ( 'localhost' === preg_replace( '|https?://|', '', get_site_url() ) ) {
136
+ unset( $tests['direct']['https_status'] );
137
+ }
138
+
139
+ foreach ( $tests['direct'] as $test ) {
140
+ if ( is_string( $test['test'] ) ) {
141
+ $test_function = sprintf(
142
+ 'get_test_%s',
143
+ $test['test']
144
+ );
145
+
146
+ if ( method_exists( $site_health, $test_function ) && is_callable( [ $site_health, $test_function ] ) ) {
147
+ $health_check_js_variables['site_status']['direct'][] = $this->perform_test( [ $site_health, $test_function ] );
148
+ continue;
149
+ }
150
+ }
151
+
152
+ if ( is_callable( $test['test'] ) ) {
153
+ $health_check_js_variables['site_status']['direct'][] = $this->perform_test( $test['test'] );
154
+ }
155
+ }
156
+
157
+ foreach ( $tests['async'] as $test ) {
158
+ if ( is_string( $test['test'] ) ) {
159
+ $health_check_js_variables['site_status']['async'][] = [
160
+ 'test' => $test['test'],
161
+ 'completed' => false,
162
+ ];
163
+ }
164
+ }
165
+
166
+ wp_send_json_success( $health_check_js_variables );
167
+ }
168
+
169
+ /**
170
+ * Run a Site Health test directly.
171
+ *
172
+ * @since 1.18.0
173
+ *
174
+ * @param array $callback Callback method for test.
175
+ *
176
+ * @return mixed|void
177
+ */
178
+ private function perform_test( $callback ) {
179
+ // Borrowed filter from WP_Site_Health::perform_test().
180
+ return apply_filters( 'site_status_test_result', call_user_func( $callback ) );
181
+ }
182
+
183
+ /**
184
+ * Add debug data to WP_Debug_Data class.
185
+ *
186
+ * @since 1.18.0
187
+ *
188
+ * @param array $info WP debug data for the site.
189
+ *
190
+ * @return array Filters debug data.
191
+ *
192
+ * @SuppressWarnings(PHPMD)
193
+ */
194
+ public function debug_information( $info ) {
195
+ // Compose common internationalized values.
196
+ $value = [
197
+ 'yes' => __( 'Yes', 'jupiterx-core' ),
198
+ 'no' => __( 'No', 'jupiterx-core' ),
199
+ 'enabled' => __( 'Enabled', 'jupiterx-core' ),
200
+ 'disabled' => __( 'Disabled', 'jupiterx-core' ),
201
+ ];
202
+
203
+ // WordPress section.
204
+ $info['wp-core']['fields']['content_url'] = [
205
+ 'label' => __( 'Content URL', 'jupiterx-core' ),
206
+ 'value' => WP_CONTENT_URL,
207
+ ];
208
+
209
+ $upload_dir = wp_get_upload_dir();
210
+
211
+ $info['wp-core']['fields']['upload_url'] = [
212
+ 'label' => __( 'Upload URL', 'jupiterx-core' ),
213
+ 'value' => $upload_dir['baseurl'],
214
+ ];
215
+ $info['wp-core']['fields']['front_page'] = [
216
+ 'label' => __( 'Front page display', 'jupiterx-core' ),
217
+ 'value' => get_option( 'show_on_front' ),
218
+ ];
219
+
220
+ // Server section.
221
+ // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotValidated
222
+ $is_localhost = ( '127.0.0.1' === $_SERVER['REMOTE_ADDR'] || 'localhost' === $_SERVER['REMOTE_ADDR'] || '::1' === $_SERVER['REMOTE_ADDR'] );
223
+
224
+ $info['wp-server']['fields']['localhost'] = [
225
+ 'label' => __( 'Is local environment?', 'jupiterx-core' ),
226
+ 'value' => $is_localhost ? $value['yes'] : $value['no'],
227
+ ];
228
+
229
+ $info['wp-server']['fields']['php_errors'] = [
230
+ 'label' => __( 'PHP display errors', 'jupiterx-core' ),
231
+ 'value' => ini_get( 'display_errors' ) ? $value['yes'] : $value['no'],
232
+ ];
233
+
234
+ $info['wp-server']['fields']['fsockopen'] = [
235
+ 'label' => __( 'Is fsockopen available?', 'jupiterx-core' ),
236
+ 'value' => function_exists( 'fsockopen' ) ? $value['yes'] : $value['no'],
237
+ ];
238
+
239
+ $info['wp-server']['fields']['php_gzopen'] = [
240
+ 'label' => __( 'Is gzipopen available?', 'jupiterx-core' ),
241
+ 'value' => is_callable( 'gzopen' ) ? $value['yes'] : $value['no'],
242
+ ];
243
+
244
+ $info['wp-server']['fields']['php_xml'] = [
245
+ 'label' => __( 'PHP XML ', 'jupiterx-core' ),
246
+ 'value' => function_exists( 'xml_parse' ) ? $value['enabled'] : $value['disabled'],
247
+ ];
248
+
249
+ $simplexml_loaded = class_exists( 'SimpleXMLElement' ) && function_exists( 'simplexml_load_string' );
250
+
251
+ $info['wp-server']['fields']['php_simplexml'] = [
252
+ 'label' => __( 'SimpleXML', 'jupiterx-core' ),
253
+ 'value' => $simplexml_loaded ? $value['enabled'] : $value['disabled'],
254
+ ];
255
+
256
+ $mbstring_loaded = extension_loaded( 'mbstring' ) && function_exists( 'mb_eregi' ) && function_exists( 'mb_ereg_match' );
257
+
258
+ $info['wp-server']['fields']['php_mbstring'] = [
259
+ 'label' => __( 'MBString', 'jupiterx-core' ),
260
+ 'value' => $mbstring_loaded ? $value['enabled'] : $value['disabled'],
261
+ ];
262
+
263
+ $info['wp-server']['fields']['php_soapclient'] = [
264
+ 'label' => __( 'SoapClient', 'jupiterx-core' ),
265
+ 'value' => class_exists( 'SoapClient' ) ? $value['enabled'] : $value['disabled'],
266
+ ];
267
+
268
+ $info['wp-server']['fields']['php_domdocument'] = [
269
+ 'label' => __( 'DOMDocument', 'jupiterx-core' ),
270
+ 'value' => class_exists( 'DOMDocument' ) ? $value['enabled'] : $value['disabled'],
271
+ ];
272
+
273
+ $info['wp-server']['fields']['php_ziparchive'] = [
274
+ 'label' => __( 'ZipArchive', 'jupiterx-core' ),
275
+ 'value' => class_exists( 'ZipArchive' ) ? $value['enabled'] : $value['disabled'],
276
+ ];
277
+
278
+ $info['wp-server']['fields']['php_iconv'] = [
279
+ 'label' => __( 'Iconv', 'jupiterx-core' ),
280
+ 'value' => class_exists( 'Iconv' ) ? $value['enabled'] : $value['disabled'],
281
+ ];
282
+
283
+ if ( defined( 'WP_HTTP_BLOCK_EXTERNAL' ) ) {
284
+ $block_external = __( 'HTTP requests have been blocked by the WP_HTTP_BLOCK_EXTERNAL constant, with no allowed hosts.', 'jupiterx-core' );
285
+
286
+ if ( defined( 'WP_ACCESSIBLE_HOSTS' ) ) {
287
+ $allowed_hosts = explode( ',', WP_ACCESSIBLE_HOSTS );
288
+ }
289
+
290
+ if ( isset( $allowed_hosts ) && count( $allowed_hosts ) > 0 ) {
291
+ $block_external = sprintf(
292
+ /* translators: 1: Allowed hosts */
293
+ esc_html__( 'HTTP requests have been blocked by the WP_HTTP_BLOCK_EXTERNAL constant, with some hosts whitelisted: %s.', 'jupiterx-core' ),
294
+ implode( ',', $allowed_hosts )
295
+ );
296
+ }
297
+ }
298
+
299
+ $info['wp-server']['fields']['http_requests'] = [
300
+ 'label' => __( 'HTTP Requests', 'jupiterx-core' ),
301
+ 'value' => isset( $block_external ) ? $block_external : __( 'Accessible', 'jupiterx-core' ),
302
+ ];
303
+
304
+ $artbees_dotnet = wp_remote_get( 'https://artbees.net', [ 'timeout' => 10 ] );
305
+
306
+ if ( ! is_wp_error( $artbees_dotnet ) ) {
307
+ $info['wp-server']['fields']['artbees_communication'] = [
308
+ 'label' => __( 'Communication with Artbees' ),
309
+ 'value' => __( 'artbees.net is reachable' ),
310
+ 'debug' => 'true',
311
+ ];
312
+ } else {
313
+ $info['wp-server']['fields']['artbees_communication'] = [
314
+ 'label' => __( 'Communication with artbees.net' ),
315
+ 'value' => sprintf(
316
+ /* translators: 1: The IP address artbees.net resolves to. 2: The error returned by the lookup. */
317
+ __( 'Unable to reach Artbees at %1$s: %2$s' ),
318
+ gethostbyname( 'artbees.net' ),
319
+ $artbees_dotnet->get_error_message()
320
+ ),
321
+ 'debug' => $artbees_dotnet->get_error_message(),
322
+ ];
323
+ }
324
+
325
+ // Database section.
326
+ $tables = $this->get_tables_sizes();
327
+
328
+ foreach ( $tables as $table ) {
329
+ $info['wp-database']['fields'][ $table['name'] ] = [
330
+ 'label' => esc_html( $table['name'] ),
331
+ 'value' => $table['size'] . ' MB',
332
+ ];
333
+ }
334
+
335
+ // Browser section.
336
+ if ( ! class_exists( 'Browser' ) ) {
337
+ jupiterx_core()->load_files( [
338
+ 'control-panel-2/includes/class-browser',
339
+ ] );
340
+ }
341
+
342
+ $browser = new \Browser();
343
+
344
+ $info['browser'] = [
345
+ 'label' => __( 'Browser', 'jupiterx-core' ),
346
+ 'fields' => [
347
+ 'browser' => [
348
+ 'label' => __( 'Browser', 'jupiterx-core' ),
349
+ 'value' => $browser->getBrowser(),
350
+ ],
351
+ 'user_agent' => [
352
+ 'label' => __( 'User agent', 'jupiterx-core' ),
353
+ 'value' => $browser->getUserAgent(),
354
+ ],
355
+ 'version' => [
356
+ 'label' => __( 'Version', 'jupiterx-core' ),
357
+ 'value' => $browser->getVersion(),
358
+ ],
359
+ 'platform' => [
360
+ 'label' => __( 'Platform', 'jupiterx-core' ),
361
+ 'value' => $browser->getPlatform(),
362
+ ],
363
+ ],
364
+ ];
365
+
366
+ return $info;
367
+ }
368
+
369
+ /**
370
+ * Get database tables sizes.
371
+ *
372
+ * @since 1.18.0
373
+ *
374
+ * @return array Tables list with name and size.
375
+ */
376
+ public function get_tables_sizes() {
377
+ global $wpdb;
378
+
379
+ $tables = [
380
+ 'options',
381
+ 'links',
382
+ 'commentmeta',
383
+ 'term_relationships',
384
+ 'postmeta',
385
+ 'posts',
386
+ 'term_taxonomy',
387
+ 'terms',
388
+ 'comments',
389
+ 'termmeta',
390
+ 'usermeta',
391
+ 'users',
392
+ ];
393
+ if ( is_multisite() ) {
394
+ if ( ! is_super_admin() ) {
395
+ // Omit usermeta and users tables.
396
+ $tables = array_splice( $tables, -2 );
397
+ }
398
+ $tables[] = 'blogs';
399
+ $tables[] = 'blogs_versions ';
400
+ $tables[] = 'registration_log';
401
+ $tables[] = 'signups';
402
+ $tables[] = 'site';
403
+ $tables[] = 'sitemeta';
404
+ }
405
+
406
+ foreach ( $tables as $key => $table ) {
407
+ $tables[ $key ] = $wpdb->prefix . $table;
408
+ }
409
+
410
+ $names = "'" . implode( "','", $tables ) . "'";
411
+ // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared,WordPress.DB.PreparedSQL.NotPrepared
412
+ $query = $wpdb->prepare( "
413
+ SELECT TABLE_NAME AS `name`, ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024),2) AS `size`
414
+ FROM information_schema.TABLES
415
+ WHERE TABLE_SCHEMA = %s AND TABLE_NAME IN ($names)
416
+ ", $wpdb->dbname );
417
+ // phpcs:enable
418
+
419
+ // phpcs:ignore
420
+ return $wpdb->get_results( $query, ARRAY_A );
421
+ }
422
+
423
+ /**
424
+ * Get site status.
425
+ *
426
+ * @since 1.18.0
427
+ *
428
+ * @return array Site status tests.
429
+ */
430
+ public function site_status_tests( $tests ) {
431
+ $tests['direct'] = array_merge( $tests['direct'], [
432
+ 'jupiterx_core_php_memory_limit' => [
433
+ 'label' => __( 'PHP Memory Limit is sufficient', 'jupiterx-core' ),
434
+ 'test' => [ $this, 'get_test_php_memory_limit' ],
435
+ ],
436
+ 'jupiterx_core_php_modules' => [
437
+ 'label' => __( 'Required and recommended PHP modules are installed', 'jupiterx-core' ),
438
+ 'test' => [ $this, 'get_test_php_modules' ],
439
+ ],
440
+ ] );
441
+
442
+ return $tests;
443
+ }
444
+
445
+ /**
446
+ * Test PHP memory limit.
447
+ *
448
+ * @since 1.18.0
449
+ *
450
+ * @return array PHP memory limit result.
451
+ */
452
+ public function get_test_php_memory_limit() {
453
+ $result = [
454
+ 'label' => __( 'PHP memory limit is sufficient', 'jupiterx-core' ),
455
+ 'status' => 'good',
456
+ 'badge' => [
457
+ 'label' => 'Jupiter X',
458
+ 'color' => 'blue',
459
+ ],
460
+ 'description' => sprintf(
461
+ '<p>%s</p>',
462
+ __( 'PHP memory limit is the maximum amount of memory in bytes that a script is allowed to allocate. At least 128M is required for the theme and 256M is recommended if you have enabled bunch of plugins to your site.', 'jupiterx-core' )
463
+ ),
464
+ 'actions' => sprintf(
465
+ '<a href="%s" target="_blank" rel="noopener noreferrer">%s <span aria-hidden="true" class="dashicons dashicons-external"></span></a>',
466
+ 'https://themes.artbees.net/docs/jupiter-x-server-requirements/',
467
+ __( 'Learn more about Jupiter X server requirements', 'jupiterx-core' )
468
+ ),
469
+ 'test' => 'jupiterx_core_php_memory_limit',
470
+ ];
471
+
472
+ $memory_limit = ini_get( 'memory_limit' );
473
+ if ( defined( 'WP_MEMORY_LIMIT' ) ) {
474
+ $memory_limit = WP_MEMORY_LIMIT;
475
+ }
476
+
477
+ if ( preg_match( '/^(\d+)(.)$/', $memory_limit, $matches ) ) {
478
+ if ( 'M' === $matches[2] ) {
479
+ $memory_limit = $matches[1] * MB_IN_BYTES;
480
+ } elseif ( 'K' === $matches[2] ) {
481
+ $memory_limit = $matches[1] * KB_IN_BYTES;
482
+ }
483
+ }
484
+
485
+ if ( $memory_limit < ( 128 * MB_IN_BYTES ) ) {
486
+ $result['status'] = 'critical';
487
+ $result['label'] = __( 'Your site has insufficient PHP memory limit', 'jupiterx-core' );
488
+
489
+ if ( defined( 'WP_MEMORY_LIMIT' ) ) {
490
+ $result['description'] .= '<p>';
491
+ $result['description'] .= sprintf(
492
+ // translators: %s Value of site's WP_MEMORY_LIMIT
493
+ __( 'The <code>WP_MEMORY_LIMIT</code> with defined value of %s has been added to this website\'s configuration file or defined as default by WordPress.', 'jupiterx-core' ),
494
+ WP_MEMORY_LIMIT
495
+ );
496
+ $result['description'] .= '</p>';
497
+ }
498
+ }
499
+
500
+ return $result;
501
+ }
502
+
503
+ /**
504
+ * Test PHP modules.
505
+ *
506
+ * @since 1.18.0
507
+ *
508
+ * @return array PHP modules result.
509
+ *
510
+ * @SuppressWarnings(PHPMD.NPathComplexity)
511
+ */
512
+ public function get_test_php_modules() {
513
+ $result = [
514
+ 'label' => __( 'Required and recommended PHP modules are installed', 'jupiterx-core' ),
515
+ 'status' => 'good',
516
+ 'badge' => [
517
+ 'label' => 'Jupiter X',
518
+ 'color' => 'blue',
519
+ ],
520
+ 'description' => sprintf(
521
+ '<p>%s</p>',
522
+ __( 'PHP modules perform most of the tasks on the server that make your site run. Any changes to these must be made by your server administrator.', 'jupiterx-core' )
523
+ ),
524
+ 'actions' => sprintf(
525
+ '<a href="%s" target="_blank" rel="noopener noreferrer">%s <span aria-hidden="true" class="dashicons dashicons-external"></span></a>',
526
+ 'https://themes.artbees.net/docs/jupiter-x-server-requirements/',
527
+ __( 'Learn more about Jupiter X server requirements', 'jupiterx-core' )
528
+ ),
529
+ 'test' => 'jupiterx_core_php_modules',
530
+ ];
531
+
532
+ $modules = [
533
+ 'curl' => [
534
+ 'function' => 'curl_version',
535
+ 'required' => true,
536
+ ],
537
+ 'mbstring' => [
538
+ 'function' => 'mb_check_encoding',
539
+ 'required' => true,
540
+ ],
541
+ 'libxml' => [
542
+ 'extension' => 'libxml',
543
+ 'required' => true,
544
+ ],
545
+ 'xmlreader' => [
546
+ 'extension' => 'xmlreader',
547
+ 'required' => true,
548
+ 'fallback_for' => 'mod_xml',
549
+ ],
550
+ 'simplexml' => [
551
+ 'extension' => 'simplexml',
552
+ 'required' => true,
553
+ 'fallback_for' => 'mod_xml',
554
+ ],
555
+ 'xml' => [
556
+ 'function' => 'xml_parse',
557
+ 'required' => true,
558
+ ],
559
+ 'fsockopen' => [
560
+ 'function' => 'fsockopen',
561
+ 'required' => true,
562
+ ],
563
+ 'soap' => [
564
+ 'class' => 'SoapClient',
565
+ 'required' => true,
566
+ ],
567
+ 'domdocument' => [
568
+ 'class' => 'DOMDocument',
569
+ 'required' => true,
570
+ ],
571
+ 'zip' => [
572
+ 'class' => 'ZipArchive',
573
+ 'required' => true,
574
+ ],
575
+ 'zlib' => [
576
+ 'extension' => 'zlib',
577
+ 'required' => true,
578
+ 'fallback_for' => 'zip',
579
+ ],
580
+ 'gzip' => [
581
+ 'function' => 'gzopen',
582
+ 'required' => false,
583
+ ],
584
+ 'iconv' => [
585
+ 'function' => 'iconv',
586
+ 'required' => true,
587
+ ],
588
+ 'openssl' => [
589
+ 'function' => 'openssl_encrypt',
590
+ 'required' => true,
591
+ ],
592
+ 'imagick' => [
593
+ 'extension' => 'imagick',
594
+ 'required' => true,
595
+ ],
596
+ 'gd' => [
597
+ 'extension' => 'gd',
598
+ 'required' => true,
599
+ 'fallback_for' => 'imagick',
600
+ ],
601
+ ];
602
+
603
+ $failures = [];
604
+
605
+ foreach ( $modules as $library => $module ) {
606
+ $extension = ( isset( $module['extension'] ) ? $module['extension'] : null );
607
+ $function = ( isset( $module['function'] ) ? $module['function'] : null );
608
+ $constant = ( isset( $module['constant'] ) ? $module['constant'] : null );
609
+ $class_name = ( isset( $module['class'] ) ? $module['class'] : null );
610
+
611
+ // If this module is a fallback for another function, check if that other function passed.
612
+ if ( isset( $module['fallback_for'] ) ) {
613
+ /*
614
+ * If that other function has a failure, mark this module as required for normal operations.
615
+ * If that other function hasn't failed, skip this test as it's only a fallback.
616
+ */
617
+ if ( isset( $failures[ $module['fallback_for'] ] ) ) {
618
+ $module['required'] = true;
619
+ } else {
620
+ continue;
621
+ }
622
+ }
623
+
624
+ if ( ! $this->test_php_extension_availability( $extension, $function, $constant, $class_name ) && ( ! isset( $module['php_bundled_version'] ) || version_compare( PHP_VERSION, $module['php_bundled_version'], '<' ) ) ) {
625
+ if ( $module['required'] ) {
626
+ $result['status'] = 'critical';
627
+
628
+ $class = 'error';
629
+ $screen_reader = __( 'Error', 'jupiterx-core' );
630
+ $message = sprintf(
631
+ /* translators: %s: The module name. */
632
+ __( 'The required module, %s, is not installed, or has been disabled.', 'jupiterx-core' ),
633
+ $library
634
+ );
635
+ } else {
636
+ $class = 'warning';
637
+ $screen_reader = __( 'Warning', 'jupiterx-core' );
638
+ $message = sprintf(
639
+ /* translators: %s: The module name. */
640
+ __( 'The optional module, %s, is not installed, or has been disabled.', 'jupiterx-core' ),
641
+ $library
642
+ );
643
+ }
644
+
645
+ if ( ! $module['required'] && 'good' === $result['status'] ) {
646
+ $result['status'] = 'recommended';
647
+ }
648
+
649
+ $failures[ $library ] = "<span class='dashicons $class'><span class='screen-reader-text'>$screen_reader</span></span> $message";
650
+ }
651
+ }
652
+
653
+ if ( ! empty( $failures ) ) {
654
+ $output = '<ul>';
655
+
656
+ foreach ( $failures as $failure ) {
657
+ $output .= sprintf(
658
+ '<li>%s</li>',
659
+ $failure
660
+ );
661
+ }
662
+
663
+ $output .= '</ul>';
664
+ }
665
+
666
+ if ( 'good' !== $result['status'] ) {
667
+ if ( 'critical' === $result['status'] ) {
668
+ $result['label'] = __( 'Required PHP modules are missing', 'jupiterx-core' );
669
+ } else {
670
+ $result['label'] = __( 'Recommended PHP modules are missing', 'jupiterx-core' );
671
+ }
672
+
673
+ $result['description'] .= sprintf(
674
+ '<p>%s</p>',
675
+ $output
676
+ );
677
+ }
678
+
679
+ return $result;
680
+ }
681
+
682
+ /**
683
+ * Check if the passed extension or function are available.
684
+ *
685
+ * Make the check for available PHP modules into a simple boolean operator for a cleaner test runner.
686
+ *
687
+ * @since 1.18.0
688
+ *
689
+ * @param string $extension Optional. The extension name to test. Default null.
690
+ * @param string $function Optional. The function name to test. Default null.
691
+ * @param string $constant Optional. The constant name to test for. Default null.
692
+ * @param string $class Optional. The class name to test for. Default null.
693
+ *
694
+ * @return bool Whether or not the extension and function are available.
695
+ *
696
+ * @SuppressWarnings(PHPMD.NPathComplexity)
697
+ */
698
+ private function test_php_extension_availability( $extension = null, $function = null, $constant = null, $class = null ) {
699
+ // If no extension or function is passed, claim to fail testing, as we have nothing to test against.
700
+ if ( ! $extension && ! $function && ! $constant && ! $class ) {
701
+ return false;
702
+ }
703
+
704
+ if ( $extension && ! extension_loaded( $extension ) ) {
705
+ return false;
706
+ }
707
+ if ( $function && ! function_exists( $function ) ) {
708
+ return false;
709
+ }
710
+ if ( $constant && ! defined( $constant ) ) {
711
+ return false;
712
+ }
713
+ if ( $class && ! class_exists( $class ) ) {
714
+ return false;
715
+ }
716
+
717
+ return true;
718
+ }
719
+ }
720
+
721
+ new JupiterX_Core_Site_Health();
includes/compiler/class-compiler.php CHANGED
File without changes
includes/compiler/functions.php CHANGED
File without changes
includes/compiler/preprocess-aliases.ini CHANGED
File without changes
includes/compiler/vendors/js-minifier.php CHANGED
File without changes
includes/compiler/vendors/lessc.php CHANGED
File without changes
includes/condition/class-condition-manager.php ADDED
@@ -0,0 +1,945 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The file class that handles condition manager component.
4
+ *
5
+ * @package JupiterX_Core\Condition\
6
+ *
7
+ * @since 2.0.0
8
+ */
9
+
10
+ /**
11
+ * Conditions manager class.
12
+ *
13
+ * @since 2.0.0
14
+ * @SuppressWarnings(PHPMD.UnusedPrivateMethod)
15
+ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
16
+ * @SuppressWarnings(PHPMD.TooManyMethods)
17
+ */
18
+ class JupiterX_Core_Condition_Manager {
19
+
20
+ // Posts meta to save conditions of post.
21
+ const JUPITERX_CONDITIONS_COMPONENT_META_NAME = 'jupiterx-condition-rules';
22
+ // Option to save posts IDs that admin defined some conditions for them.
23
+ const JUPITERX_POSTS_WITH_CONDITIONS = 'jupiterx-posts-with-conditions';
24
+
25
+ /**
26
+ * Class instance.
27
+ *
28
+ * @since 2.0.0
29
+ * @var JupiterX_Core_Condition_Manager Class instance.
30
+ */
31
+ private static $instance = null;
32
+
33
+ /**
34
+ * Get a class instance.
35
+ *
36
+ * @since 2.0.0
37
+ * @return JupiterX_Core_Condition_Manager Class instance.
38
+ */
39
+ public static function get_instance() {
40
+ if ( null === self::$instance ) {
41
+ self::$instance = new self();
42
+ }
43
+
44
+ return self::$instance;
45
+ }
46
+
47
+ /**
48
+ * Class construct.
49
+ *
50
+ * @since 2.0.0
51
+ */
52
+ public function __construct() {
53
+ add_action( 'wp_ajax_jupiterx_conditional_manager', [ $this, 'ajax_handle' ] );
54
+
55
+ jupiterx_core()->load_files(
56
+ [
57
+ 'condition/classes/apply-condition',
58
+ ]
59
+ );
60
+ }
61
+
62
+ public function ajax_handle() {
63
+ check_ajax_referer( 'jupiterx_control_panel', 'nonce' );
64
+
65
+ if ( ! current_user_can( 'edit_others_posts' ) || ! current_user_can( 'edit_others_pages' ) ) {
66
+ wp_send_json_error( 'You do not have access to this section', 'jupiterx-core' );
67
+ }
68
+
69
+ $action = filter_input( INPUT_POST, 'sub_action', FILTER_SANITIZE_FULL_SPECIAL_CHARS );
70
+
71
+ call_user_func( [ $this, $action ] );
72
+ }
73
+
74
+ /**
75
+ * Gets singular and archive list.
76
+ *
77
+ * @return array
78
+ * @since 2.0.0
79
+ * @SuppressWarnings(PHPMD.UnusedPrivateMethod)
80
+ */
81
+ private function get_list_singular() {
82
+ $type = filter_input( INPUT_POST, 'list', FILTER_SANITIZE_FULL_SPECIAL_CHARS );
83
+ $section = filter_input( INPUT_POST, 'section', FILTER_SANITIZE_FULL_SPECIAL_CHARS );
84
+
85
+ if ( 'woocommerce' === $type ) {
86
+ $data = [
87
+ 'list' => $this->get_woocommerce_options( $section ),
88
+ 'type' => 'woocommerce',
89
+ ];
90
+
91
+ wp_send_json_success( $data );
92
+ }
93
+
94
+ if ( 'users' === $type ) {
95
+ $data = [
96
+ 'list' => $this->get_user_status_options(),
97
+ 'type' => $type,
98
+ ];
99
+
100
+ wp_send_json_success( $data );
101
+ }
102
+
103
+ // First we get default WordPress singulars.
104
+ $list = [
105
+ 'all' => esc_html__( 'All Singulars', 'jupiterx-core' ),
106
+ 'front_page' => esc_html__( 'Front Page', 'jupiterx-core' ),
107
+ 'error_404' => esc_html__( 'Not Found 404', 'jupiterx-core' ),
108
+ 'by_author' => ( 'archive' === $type ) ? esc_html__( 'Author Archive', 'jupiterx-core' ) : esc_html__( 'By Author', 'jupiterx-core' ),
109
+ 'any_child_of' => esc_html__( 'Any Child Of', 'jupiterx-core' ),
110
+ 'child_of' => esc_html__( 'Direct Child Of', 'jupiterx-core' ),
111
+ 'date' => esc_html__( 'Date Archive', 'jupiterx-core' ),
112
+ 'search' => esc_html__( 'Search Results', 'jupiterx-core' ),
113
+ 'post' => [
114
+ 'single_post' => ( 'archive' === $type ) ? esc_html__( 'Post Archive', 'jupiterx-core' ) : esc_html__( 'Post', 'jupiterx-core' ),
115
+ 'post_in_category' => esc_html__( 'In Category', 'jupiterx-core' ),
116
+ 'post_in_category_children' => esc_html__( 'In Category Children', 'jupiterx-core' ),
117
+ 'post_in_post_tag' => esc_html__( 'In Post Tag', 'jupiterx-core' ),
118
+ 'post_by_author' => esc_html__( 'Post By Author', 'jupiterx-core' ),
119
+ ],
120
+ 'page' => [
121
+ 'single_page' => esc_html__( 'Pages', 'jupiterx-core' ),
122
+ 'page_by_author' => esc_html__( 'Page By Author', 'jupiterx-core' ),
123
+ ],
124
+ 'attachment' => [
125
+ 'single_attachment' => esc_html__( 'Media', 'jupiterx-core' ),
126
+ 'attachment_by_author' => esc_html__( 'Media By Author', 'jupiterx-core' ),
127
+ ],
128
+ ];
129
+
130
+ // Unset unnecessary values for each type.
131
+ $list = $this->unset_unnecessary_values_of_options( $list, $type );
132
+
133
+ // Now we find custom post types.
134
+ $args = array(
135
+ 'public' => true,
136
+ '_builtin' => false,
137
+ 'show_in_nav_menus' => true,
138
+ );
139
+
140
+ $post_types = get_post_types( $args, 'objects', 'and' );
141
+
142
+ // If there is no post type, return default list.
143
+ if ( ! $post_types ) {
144
+ $data = [
145
+ 'list' => $list,
146
+ 'type' => $type,
147
+ ];
148
+
149
+ wp_send_json_success( $data );
150
+ }
151
+
152
+ // If there is some post types, attach them and their taxonomies to list.
153
+ $list = $this->attach_post_types_to_list( $post_types, $type, $list );
154
+
155
+ $data = [
156
+ 'list' => $list,
157
+ 'type' => $type,
158
+ ];
159
+
160
+ wp_send_json_success( $data );
161
+ }
162
+
163
+ /**
164
+ * Woocommerce options for frontend UI selection.
165
+ *
166
+ * @param string $section layout builder section.
167
+ * @return array
168
+ * @since 2.0.0
169
+ */
170
+ private function get_woocommerce_options( $section ) {
171
+ if ( 'product' === $section ) {
172
+ return [
173
+ 'entire-shop' => __( 'Entire Shop', 'jupiterx-core' ),
174
+ 'checkout-page' => __( 'Checkout Page', 'jupiterx-core' ),
175
+ 'cart-page' => __( 'Cart Page', 'jupiterx-core' ),
176
+ 'empty-cart-page' => __( 'Empty Cart Page', 'jupiterx-core' ),
177
+ 'thankyou-page' => __( 'Order Received Page', 'jupiterx-core' ),
178
+ 'my-account-user' => __( 'My Account Page', 'jupiterx-core' ),
179
+ 'my-account-guest' => __( 'My Account Login Page', 'jupiterx-core' ),
180
+ 'Products' => [
181
+ 'single_product' => __( 'Products', 'jupiterx-core' ),
182
+ 'in_product_cat' => __( 'In Product Category', 'jupiterx-core' ),
183
+ 'in_product_cat_children' => __( 'In Child Product categories', 'jupiterx-core' ),
184
+ 'in_product_tag' => __( 'In Product Tags', 'jupiterx-core' ),
185
+ 'product_by_author' => __( 'Products By Author', 'jupiterx-core' ),
186
+ ],
187
+ ];
188
+ }
189
+
190
+ if ( 'product-archive' === $section ) {
191
+ return [
192
+ 'Products Archive' => [
193
+ 'all_product_archive' => __( 'All Products Archive', 'jupiterx-core' ),
194
+ 'shop_archive' => __( 'Shop Page', 'jupiterx-core' ),
195
+ 'woo_search' => __( 'Search Results', 'jupiterx-core' ),
196
+ 'product_cat_archive' => __( 'Products Categories', 'jupiterx-core' ),
197
+ 'product_tag_archive' => __( 'Products Tags', 'jupiterx-core' ),
198
+ ],
199
+ ];
200
+ }
201
+
202
+ $global_types = [ 'header', 'footer', 'page-title-bar' ];
203
+
204
+ if ( in_array( $section, $global_types, true ) ) {
205
+ return [
206
+ 'entire-shop' => __( 'Entire Shop', 'jupiterx-core' ),
207
+ 'checkout-page' => __( 'Checkout Page', 'jupiterx-core' ),
208
+ 'cart-page' => __( 'Cart Page', 'jupiterx-core' ),
209
+ 'empty-cart-page' => __( 'Empty Cart Page', 'jupiterx-core' ),
210
+ 'thankyou-page' => __( 'Order Received Page', 'jupiterx-core' ),
211
+ 'my-account-user' => __( 'My Account Page', 'jupiterx-core' ),
212
+ 'my-account-guest' => __( 'My Account Login Page', 'jupiterx-core' ),
213
+ 'Products Archive' => [
214
+ 'all_product_archive' => __( 'All Products Archive', 'jupiterx-core' ),
215
+ 'shop_archive' => __( 'Shop Page', 'jupiterx-core' ),
216
+ 'woo_search' => __( 'Search Results', 'jupiterx-core' ),
217
+ 'product_cat_archive' => __( 'Products Categories', 'jupiterx-core' ),
218
+ 'product_tag_archive' => __( 'Products Tags', 'jupiterx-core' ),
219
+ ],
220
+ 'Products' => [
221
+ 'single_product' => __( 'Products', 'jupiterx-core' ),
222
+ 'in_product_cat' => __( 'In Product Category', 'jupiterx-core' ),
223
+ 'in_product_cat_children' => __( 'In Child Product categories', 'jupiterx-core' ),
224
+ 'in_product_tag' => __( 'In Product Tags', 'jupiterx-core' ),
225
+ 'product_by_author' => __( 'Products By Author', 'jupiterx-core' ),
226
+ ],
227
+ ];
228
+ }
229
+ }
230
+
231
+ /**
232
+ * User related options for frontend UI selection.
233
+ *
234
+ * @return array
235
+ * @since 2.0.0
236
+ */
237
+ private function get_user_status_options() {
238
+ return [
239
+ 'all' => __( 'All users', 'jupiterx-core' ),
240
+ 'guests-users' => __( 'Non-logged in users', 'jupiterx-core' ),
241
+ __( 'Logged in users', 'jupiterx-core' ) => $this->list_user_role(),
242
+ ];
243
+ }
244
+
245
+ /**
246
+ * Retrieve users roles.
247
+ *
248
+ * @return array
249
+ * @since 2.0.0
250
+ */
251
+ private function list_user_role() {
252
+ global $wp_roles;
253
+
254
+ $all_roles = $wp_roles->roles;
255
+ $editable_roles = apply_filters( 'editable_roles', $all_roles );
256
+ $roles = [];
257
+
258
+ $roles['all-users'] = __( 'All logged in users', 'jupiterx-core' );
259
+
260
+ foreach ( $editable_roles as $key => $details ) {
261
+ $roles[ $key ] = $details['name'];
262
+ }
263
+
264
+ return $roles;
265
+ }
266
+
267
+ /**
268
+ * Remove unnecessary array values for each type.
269
+ * also reduce class complexity.
270
+ *
271
+ * @param array $list
272
+ * @param string $type
273
+ * @return array
274
+ * @since 2.0.0
275
+ */
276
+ private function unset_unnecessary_values_of_options( $list, $type ) {
277
+ // Remove singular specific when type = archive.
278
+ if ( 'archive' === $type ) {
279
+ $list['all'] = __( 'All Archives', 'jupiterx-core' );
280
+
281
+ unset( $list['error_404'] );
282
+ unset( $list['front_page'] );
283
+ unset( $list['any_child_of'] );
284
+ unset( $list['child_of'] );
285
+ unset( $list['page'] );
286
+ unset( $list['attachment'] );
287
+ unset( $list['post']['post_by_author'] );
288
+ }
289
+
290
+ // Remove date & search archive from singular list.
291
+ if ( 'singular' === $type ) {
292
+ unset( $list['date'] );
293
+ unset( $list['search'] );
294
+ }
295
+
296
+ return $list;
297
+ }
298
+
299
+ /**
300
+ * Attach post types and their taxonomies to list for frontend uses.
301
+ *
302
+ * @param array $post_types
303
+ * @param string $type
304
+ * @param array $list
305
+ * @return array
306
+ * @since 2.0.0
307
+ */
308
+ private function attach_post_types_to_list( $post_types, $type, $list ) {
309
+ $excluded = [ 'product', 'jupiterx-codes' ];
310
+
311
+ foreach ( $post_types as $post ) {
312
+ // Escape post without archive.
313
+ if ( false === $post->has_archive && 'archive' === $type ) {
314
+ continue;
315
+ }
316
+
317
+ // Escape woocommerce product post type also, it will be managed by woocommerce section.
318
+ if ( in_array( $post->name, $excluded, true ) ) {
319
+ continue;
320
+ }
321
+
322
+ if ( 'singular' === $type ) {
323
+ $list[ $post->name ][ "single_$post->name" ] = $post->label;
324
+ } else {
325
+ $list[ $post->name ][ $post->name ] = "$post->label Archive";
326
+ }
327
+
328
+ // Attach taxonomies as options.
329
+ $list = $this->add_taxonomies( $list, $post->name, $type );
330
+
331
+ // Attach by author as option to each custom post type for singulars.
332
+ if ( 'archive' !== $type ) {
333
+ $list[ $post->name ][ $post->name . '@by_author' ] = "$post->label By Author";
334
+ }
335
+ }
336
+
337
+ return $list;
338
+ }
339
+
340
+ /**
341
+ * Add taxonomies to list of singular array.
342
+ *
343
+ * @param array $taxonomies
344
+ * @return array
345
+ * @since 2.0.0
346
+ */
347
+ private function add_taxonomies( $list, $name, $type ) {
348
+ $taxonomies = get_object_taxonomies( $name, 'object' );
349
+
350
+ if ( empty( $taxonomies ) ) {
351
+ return $list;
352
+ }
353
+
354
+ // Attach post type's taxonomies to array.
355
+ // Add a @ sign between post type and its taxonomy to split and use them later.
356
+ foreach ( $taxonomies as $taxonomy ) {
357
+ $list[ $name ][ $name . '@' . $taxonomy->name ] = $taxonomy->label;
358
+
359
+ if ( true === $taxonomy->hierarchical && 'archive' === $type ) {
360
+ $list[ $name ][ $name . '@direct_child_of_' . $taxonomy->name ] = "Direct child $taxonomy->label of";
361
+ $list[ $name ][ $name . '@any_child_of_' . $taxonomy->name ] = "Any child $taxonomy->label of";
362
+ }
363
+ }
364
+
365
+ return $list;
366
+ }
367
+
368
+ /**
369
+ * Save conditions as meta for post.
370
+ *
371
+ * @return void
372
+ * @since 2.0.0
373
+ */
374
+ private function save_post_conditions() {
375
+ $post = filter_input( INPUT_POST, 'post', FILTER_SANITIZE_NUMBER_INT );
376
+ $conditions = filter_input( INPUT_POST, 'conditions', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY );
377
+
378
+ $result = update_post_meta( $post, self::JUPITERX_CONDITIONS_COMPONENT_META_NAME, $conditions );
379
+
380
+ if ( ! $result ) {
381
+ wp_send_json_error( __( 'Conditions has been set successfully.', 'jupiterx-core' ) );
382
+ }
383
+
384
+ $this->add_posts_id_with_conditions( $post, $conditions );
385
+
386
+ wp_send_json_success( __( 'Conditions has been set successfully.', 'jupiterx-core' ) );
387
+ }
388
+
389
+ /**
390
+ * Load user saved conditions.
391
+ *
392
+ * @return array
393
+ * @since 2.0.0
394
+ */
395
+ private function load_post_conditions() {
396
+ $post = filter_input( INPUT_POST, 'post', FILTER_SANITIZE_NUMBER_INT );
397
+
398
+ $result = get_post_meta( $post, self::JUPITERX_CONDITIONS_COMPONENT_META_NAME, true );
399
+
400
+ if ( empty( $result ) ) {
401
+ wp_send_json_error();
402
+ }
403
+
404
+ wp_send_json_success( $result );
405
+ }
406
+
407
+ /**
408
+ * Save posts that has conditions as an array to be used later.
409
+ *
410
+ * @param int $id
411
+ * @return void
412
+ * @since 2.0.0
413
+ */
414
+ public function add_posts_id_with_conditions( $id, $conditions ) {
415
+ $option = get_option( self::JUPITERX_POSTS_WITH_CONDITIONS );
416
+
417
+ if ( ! is_array( $option ) ) {
418
+ $option = [];
419
+ }
420
+
421
+ // IF user deleted all conditions for post and/or empty condition array.
422
+ if ( empty( $conditions ) ) {
423
+ $new_options = array_diff( $option, array( $id ) );
424
+
425
+ update_option( self::JUPITERX_POSTS_WITH_CONDITIONS, $new_options );
426
+
427
+ return;
428
+ }
429
+
430
+ // Post already added.
431
+ if ( in_array( $id, $option, true ) ) {
432
+ return;
433
+ }
434
+
435
+ array_push( $option, $id );
436
+
437
+ update_option( self::JUPITERX_POSTS_WITH_CONDITIONS, $option );
438
+ }
439
+
440
+ /**
441
+ * Main Ajax handler.
442
+ *
443
+ * @return void
444
+ * @since 2.0.0
445
+ */
446
+ private function retrieve_select_options() {
447
+ $type = filter_input( INPUT_POST, 'type', FILTER_SANITIZE_STRING );
448
+ $sub = filter_input( INPUT_POST, 'sub', FILTER_SANITIZE_STRING );
449
+ $value = filter_input( INPUT_POST, 'value', FILTER_SANITIZE_STRING );
450
+
451
+ if ( 'singular' === $type ) {
452
+ $sub = str_replace( 'single_', '', $sub );
453
+
454
+ $this->manage_singulars( $sub, $value );
455
+ }
456
+
457
+ if ( 'archive' === $type ) {
458
+ $this->manage_archives( $sub, $value );
459
+ }
460
+
461
+ if ( 'woocommerce' === $type ) {
462
+ $this->manage_woocommerce( $sub, $value );
463
+ }
464
+ }
465
+
466
+ /**
467
+ * We know some of WordPress post type. And usually user has some custom post type in his site.
468
+ * Known WordPress post type managed by methods. And custom Post types will be managed by following function.
469
+ * And in manage_unknown_wp_post_types method.
470
+ *
471
+ * @since 2.0.0
472
+ */
473
+ private function manage_singulars( $sub, $value ) {
474
+ // Manage unknown WordPress post types
475
+ if ( ! method_exists( $this, "singular_$sub" ) ) {
476
+ $this->manage_unknown_wp_post_types( $sub, $value );
477
+ }
478
+
479
+ // Manage known WordPress post types.
480
+ call_user_func_array( [ $this, "singular_$sub" ], [ $value ] );
481
+ }
482
+
483
+ /**
484
+ * Manage unknown WordPress post types return.
485
+ *
486
+ * @param string $sub
487
+ * @param string $value
488
+ * @return array
489
+ * @since 2.0.0
490
+ */
491
+ private function manage_unknown_wp_post_types( $sub, $value ) {
492
+ // 1. User selected post type taxonomies or by_author.
493
+ if ( strpos( $sub, '@' ) !== false ) {
494
+ $sub = explode( '@', $sub, 2 );
495
+ $post_type = $sub[0];
496
+ $rest = $sub[1];
497
+
498
+ if ( strpos( $rest, 'author' ) !== false ) {
499
+ // User looking for authors.
500
+ $this->get_authors( $value );
501
+ } else {
502
+ // User looking for terms.
503
+ $this->get_terms( $rest, $value );
504
+ }
505
+ }
506
+
507
+ //2. User selected Post type.
508
+ $args = [
509
+ 'post_type' => $sub,
510
+ 's' => $value,
511
+ ];
512
+
513
+ $this->get_posts( $args );
514
+ }
515
+
516
+ /**
517
+ * Manage archives response when user is typing 4th parameter.
518
+ *
519
+ * @param string $sub
520
+ * @param string $value
521
+ * @return void
522
+ * @since 2.0.0
523
+ */
524
+ private function manage_archives( $sub, $value ) {
525
+ // Manage unknown WordPress post types.
526
+ if ( ! method_exists( $this, "archive_$sub" ) ) {
527
+ $this->manage_unknown_archives( $sub, $value );
528
+ }
529
+
530
+ // Manage known WordPress post types.
531
+ call_user_func_array( [ $this, "archive_$sub" ], [ $value ] );
532
+ }
533
+
534
+ /**
535
+ * Manage archive for unknowns post types.
536
+ *
537
+ * @return array
538
+ * @since 2.0.0
539
+ */
540
+ private function manage_unknown_archives( $sub, $value ) {
541
+ $sub = explode( '@', $sub, 2 );
542
+ $post_type = $sub[0];
543
+ $taxonomy = $sub[1];
544
+
545
+ // Get get exact taxonomy slug by removing extra text.
546
+ $taxonomy = str_replace( 'direct_child_of_', '', $taxonomy );
547
+ $taxonomy = str_replace( 'any_child_of_', '', $taxonomy );
548
+
549
+ // $taxonomy is now taxonomy slug. we can retrieve requested terms of taxonomy based on user search.
550
+ $this->get_terms( $taxonomy, $value );
551
+ }
552
+
553
+ /**
554
+ * Manage woocommerce response when user is typing 4th parameter.
555
+ *
556
+ * @param string $sub
557
+ * @param string $value
558
+ * @since 2.0.0
559
+ */
560
+ private function manage_woocommerce( $sub, $value ) {
561
+ call_user_func_array( [ $this, "woocommerce_$sub" ], [ $value ] );
562
+ }
563
+
564
+ /**
565
+ * Get and return terms of taxonomy based on user selection and search.
566
+ *
567
+ * @param string $tax -> taxonomy.
568
+ * @param string $value -> user input.
569
+ * @return array
570
+ * @since 2.0.0
571
+ */
572
+ private function get_terms( $tax, $value ) {
573
+ $terms = get_terms( $tax,
574
+ [
575
+ 'hide_empty' => false,
576
+ 'name__like' => $value,
577
+ ]
578
+ );
579
+ $items = [];
580
+
581
+ if ( empty( $terms ) ) {
582
+ wp_send_json_success( [] );
583
+ }
584
+
585
+ foreach ( $terms as $term ) {
586
+ $items[] = [
587
+ 'value' => $term->term_id,
588
+ 'label' => $term->name,
589
+ ];
590
+ }
591
+
592
+ wp_send_json_success( $items );
593
+ }
594
+
595
+ /**
596
+ * Return posts of a post type based on arguments.
597
+ *
598
+ * @param array $args
599
+ * @return array
600
+ * @since 2.0.0
601
+ */
602
+ private function get_posts( $args ) {
603
+ $post_type = $args['post_type'];
604
+ $title = $args['s'];
605
+ $items = [];
606
+
607
+ global $wpdb;
608
+
609
+ $posts = $wpdb->get_results( // phpcs:ignore
610
+ $wpdb->prepare(
611
+ "SELECT * FROM $wpdb->posts WHERE `post_type` = %s AND post_title LIKE %s",
612
+ $post_type,
613
+ '%' . $wpdb->esc_like( $title ) . '%'
614
+ )
615
+ );
616
+
617
+ if ( empty( $posts ) ) {
618
+ wp_send_json_success( [] );
619
+ }
620
+
621
+ foreach ( $posts as $post ) {
622
+ $items[] = [
623
+ 'value' => $post->ID,
624
+ 'label' => $post->post_title,
625
+ ];
626
+ }
627
+
628
+ wp_send_json_success( $items );
629
+ }
630
+
631
+ /**
632
+ * Get and return authors based on user input.
633
+ *
634
+ * @param string $value
635
+ * @return array
636
+ * @since 2.0.0
637
+ */
638
+ private function get_authors( $value ) {
639
+ $users = get_users(
640
+ [
641
+ 'search' => '*' . $value . '*',
642
+ 'role__in' => [ 'author', 'administrator' ],
643
+ ]
644
+ );
645
+ $items = [];
646
+
647
+ if ( empty( $users ) ) {
648
+ wp_send_json_success( $items );
649
+ }
650
+
651
+ foreach ( $users as $user ) {
652
+ $items[] = [
653
+ 'value' => $user->ID,
654
+ 'label' => $user->display_name,
655
+ ];
656
+ }
657
+
658
+ wp_send_json_success( $items );
659
+ }
660
+
661
+ /**
662
+ * Return post.
663
+ *
664
+ * @param string $value
665
+ * @return array
666
+ * @since 2.0.0
667
+ */
668
+ private function singular_post( $value ) {
669
+ $args = [
670
+ 'post_type' => 'post',
671
+ 's' => $value,
672
+ ];
673
+
674
+ $this->get_posts( $args );
675
+ }
676
+
677
+ /**
678
+ * Return authors for all singulars.
679
+ *
680
+ * @param string $value
681
+ * @return array
682
+ * @since 2.0.0
683
+ */
684
+ private function singular_by_author( $value ) {
685
+ $this->get_authors( $value );
686
+ }
687
+
688
+ /**
689
+ * Return authors for posts.
690
+ *
691
+ * @param string $value
692
+ * @return array
693
+ * @since 2.0.0
694
+ */
695
+ private function singular_post_by_author( $value ) {
696
+ $this->get_authors( $value );
697
+ }
698
+
699
+ /**
700
+ * Return terms of category.
701
+ *
702
+ * @param string $value
703
+ * @return array
704
+ * @since 2.0.0
705
+ */
706
+ private function singular_post_in_category( $value ) {
707
+ $this->get_terms( 'category', $value );
708
+ }
709
+
710
+ /**
711
+ * Return terms of category.
712
+ *
713
+ * @param string $value
714
+ * @return array
715
+ * @since 2.0.0
716
+ */
717
+ private function singular_post_in_category_children( $value ) {
718
+ $this->get_terms( 'category', $value );
719
+ }
720
+
721
+ /**
722
+ * Return terms of tags.
723
+ *
724
+ * @param string $value
725
+ * @return array
726
+ * @since 2.0.0
727
+ */
728
+ private function singular_post_in_post_tag( $value ) {
729
+ $this->get_terms( 'post_tag', $value );
730
+ }
731
+
732
+ /**
733
+ * Return list of pages.
734
+ *
735
+ * @param string $value
736
+ * @return array
737
+ * @since 2.0.0
738
+ */
739
+ private function singular_page( $value ) {
740
+ $args = [
741
+ 'post_type' => 'page',
742
+ 's' => $value,
743
+ ];
744
+
745
+ $this->get_posts( $args );
746
+ }
747
+
748
+ /**
749
+ * Return authors.
750
+ *
751
+ * @param string $value
752
+ * @return array
753
+ * @since 2.0.0
754
+ */
755
+ private function singular_page_by_author( $value ) {
756
+ $this->get_authors( $value );
757
+ }
758
+
759
+ /**
760
+ * Return attachments list.
761
+ *
762
+ * @param string $value
763
+ * @return array
764
+ * @since 2.0.0
765
+ */
766
+ private function singular_attachment( $value ) {
767
+ $args = [
768
+ 'post_type' => 'attachment',
769
+ 's' => $value,
770
+ ];
771
+
772
+ $this->get_posts( $args );
773
+ }
774
+
775
+ /**
776
+ * Return authors.
777
+ *
778
+ * @param string $value
779
+ * @return array
780
+ * @since 2.0.0
781
+ */
782
+ private function singular_attachment_by_author( $value ) {
783
+ $this->get_authors( $value );
784
+ }
785
+
786
+ /**
787
+ * Search for posts.
788
+ *
789
+ * @param string $value
790
+ * @return array
791
+ * @since 2.0.0
792
+ */
793
+ private function singular_any_child_of( $value ) {
794
+ $args = [
795
+ 'post_type' => 'any',
796
+ 's' => $value,
797
+ ];
798
+
799
+ $this->get_posts( $args );
800
+ }
801
+
802
+ /**
803
+ * Search for posts.
804
+ *
805
+ * @param string $value
806
+ * @return array
807
+ * @since 2.0.0
808
+ */
809
+ private function singular_child_of( $value ) {
810
+ $args = [
811
+ 'post_type' => 'any',
812
+ 's' => $value,
813
+ ];
814
+
815
+ $this->get_posts( $args );
816
+ }
817
+
818
+ /**
819
+ * Return authors for archive.
820
+ *
821
+ * @param string $value
822
+ * @return void
823
+ * @since 2.0.0
824
+ */
825
+ private function archive_by_author( $value ) {
826
+ $this->get_authors( $value );
827
+ }
828
+
829
+ /**
830
+ * Return terms of category for archive in_category.
831
+ *
832
+ * @param string $value
833
+ * @return array
834
+ * @since 2.0.0
835
+ */
836
+ private function archive_post_in_category( $value ) {
837
+ $this->get_terms( 'category', $value );
838
+ }
839
+
840
+ /**
841
+ * Return terms of category for archive in_category_children.
842
+ *
843
+ * @param string $value
844
+ * @return array
845
+ * @since 2.0.0
846
+ */
847
+ private function archive_post_in_category_children( $value ) {
848
+ $this->get_terms( 'category', $value );
849
+ }
850
+
851
+ /**
852
+ * Return terms of category for archive in_post_tag.
853
+ *
854
+ * @param string $value
855
+ * @return array
856
+ * @since 2.0.0
857
+ */
858
+ private function archive_post_in_post_tag( $value ) {
859
+ $this->get_terms( 'post_tag', $value );
860
+ }
861
+
862
+ /**
863
+ * Return authors for woocommerce.
864
+ *
865
+ * @param string $value
866
+ * @return void
867
+ * @since 2.0.0
868
+ */
869
+ private function woocommerce_product_by_author( $value ) {
870
+ $this->get_authors( $value );
871
+ }
872
+
873
+ /**
874
+ * Return tags of products.
875
+ *
876
+ * @param string $value
877
+ * @return void
878
+ * @since 2.0.0
879
+ */
880
+ private function woocommerce_in_product_tag( $value ) {
881
+ $this->get_terms( 'product_tag', $value );
882
+ }
883
+
884
+ /**
885
+ * Return categories of products.
886
+ *
887
+ * @param string $value
888
+ * @return void
889
+ * @since 2.0.0
890
+ */
891
+ private function woocommerce_in_product_cat_children( $value ) {
892
+ $this->get_terms( 'product_cat', $value );
893
+ }
894
+
895
+ /**
896
+ * Return categories of products.
897
+ *
898
+ * @param string $value
899
+ * @return void
900
+ * @since 2.0.0
901
+ */
902
+ private function woocommerce_in_product_cat( $value ) {
903
+ $this->get_terms( 'product_cat', $value );
904
+ }
905
+
906
+ /**
907
+ * Return Products.
908
+ *
909
+ * @param string $value
910
+ * @return void
911
+ * @since 2.0.0
912
+ */
913
+ private function woocommerce_single_product( $value ) {
914
+ $args = [
915
+ 'post_type' => 'product',
916
+ 's' => $value,
917
+ ];
918
+
919
+ $this->get_posts( $args );
920
+ }
921
+
922
+ /**
923
+ * Return categories of products.
924
+ *
925
+ * @param string $value
926
+ * @return void
927
+ * @since 2.0.0
928
+ */
929
+ private function woocommerce_product_cat_archive( $value ) {
930
+ $this->get_terms( 'product_cat', $value );
931
+ }
932
+
933
+ /**
934
+ * Return tags of products.
935
+ *
936
+ * @param string $value
937
+ * @return void
938
+ * @since 2.0.0
939
+ */
940
+ private function woocommerce_product_tag_archive( $value ) {
941
+ $this->get_terms( 'product_tag', $value );
942
+ }
943
+ }
944
+
945
+ JupiterX_Core_Condition_Manager::get_instance();
includes/condition/classes/apply-condition.php ADDED
@@ -0,0 +1,609 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace JupiterX_Core\Condition;
4
+
5
+ use Elementor\Plugin as Elementor;
6
+
7
+ /**
8
+ * Apply all created condition in frontend.
9
+ *
10
+ * @return void
11
+ * @since 2.0.0
12
+ * @SuppressWarnings(PHPMD.UnusedPrivateMethod)
13
+ * @SuppressWarnings(PHPMD.EvalExpression)
14
+ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
15
+ */
16
+ class Apply_Condition {
17
+ public function __construct() {
18
+ $this->dependencies();
19
+ $this->data();
20
+ $this->actions();
21
+ }
22
+
23
+ /**
24
+ * Actions.
25
+ *
26
+ * @return void
27
+ * @since 2.0.0
28
+ */
29
+ private function actions() {
30
+ add_action( 'init', function() {
31
+ if ( isset( $_GET['jupiterx-layout-builder-preview'] ) ) { // phpcs:ignore
32
+ add_action( 'wp', [ $this, 'customize_layout_builder_preview_mode' ] );
33
+
34
+ return;
35
+ }
36
+
37
+ add_action( 'wp', [ $this, 'run_conditions_check' ], 5 );
38
+ } );
39
+
40
+ }
41
+
42
+ /**
43
+ * Load required classes.
44
+ *
45
+ * @return void
46
+ * @since 2.0.0
47
+ */
48
+ private function dependencies() {
49
+ jupiterx_core()->load_files(
50
+ [
51
+ 'condition/classes/conditions',
52
+ ]
53
+ );
54
+
55
+ $this->checker = new \Jupiterx_Conditions_Check();
56
+ $this->meta_name = \JupiterX_Core_Condition_Manager::JUPITERX_CONDITIONS_COMPONENT_META_NAME;
57
+ $this->posts_option = \JupiterX_Core_Condition_Manager::JUPITERX_POSTS_WITH_CONDITIONS;
58
+ }
59
+
60
+ /**
61
+ * Data.
62
+ * Here we retrieve Posts that has condition meta from database.
63
+ *
64
+ * @return void
65
+ */
66
+ private function data() {
67
+ $posts = get_option( $this->posts_option );
68
+ $this->posts = [];
69
+
70
+ if ( empty( $posts ) ) {
71
+ return;
72
+ }
73
+
74
+ foreach ( $posts as $post ) {
75
+ $conditions = get_post_meta( $post, $this->meta_name, true );
76
+
77
+ if ( empty( $conditions ) ) {
78
+ continue;
79
+ }
80
+
81
+ $item = [];
82
+ $item['id'] = $post;
83
+ $item['include'] = $this->grab_include_and_excludes( 'include', $conditions );
84
+ $item['exclude'] = $this->grab_include_and_excludes( 'exclude', $conditions );
85
+
86
+ array_push( $this->posts, $item );
87
+ }
88
+
89
+ // TODO : to speed up apply conditions , each time that user add a condition to a post
90
+ // TODO : we can run this method and save $this->posts as cache.
91
+ }
92
+
93
+ /**
94
+ * Grab include and exclude parts from condition. to be used later.
95
+ *
96
+ * @param string $type
97
+ * @param array $conditions
98
+ * @return array
99
+ * @since 2.0.0
100
+ */
101
+ private function grab_include_and_excludes( $type, $conditions ) {
102
+ $item = [];
103
+
104
+ foreach ( $conditions as $key => $data ) {
105
+ if ( $type === $data['conditionA'] ) {
106
+ $condition = [ $data['conditionB'], $data['conditionC'], $data['conditionD'] ];
107
+ array_push( $item, $condition );
108
+ }
109
+ }
110
+
111
+ return $item;
112
+ }
113
+
114
+ public function run_conditions_check() {
115
+ if ( is_admin() ) {
116
+ return;
117
+ }
118
+
119
+ $data = $this->posts;
120
+ $this->query = get_queried_object();
121
+
122
+ if ( empty( $data ) ) {
123
+ return;
124
+ }
125
+
126
+ foreach ( $data as $post ) {
127
+ // No include condition? just escape it.
128
+ if ( empty( $post['include'] ) ) {
129
+ continue;
130
+ }
131
+
132
+ $this->per_post( $post );
133
+ }
134
+ }
135
+
136
+ /**
137
+ * Per_post.
138
+ * Checks each post that added to WP hook.
139
+ *
140
+ * @param [type] $post
141
+ * @return void
142
+ * @since 2.0.0
143
+ */
144
+ private function per_post( $post ) {
145
+ // Default priority
146
+ $priority = 10;
147
+
148
+ // Check if current page excluded. we check excludes first.
149
+ // Because if this page is excluded there is no reason to check if it's included.
150
+ if ( ! empty( $post['exclude'] ) ) {
151
+ foreach ( $post['exclude'] as $condition ) {
152
+ $result = $this->checker->conditions( $condition, $this->query, $post['id'] );
153
+
154
+ if ( $result ) {
155
+ // One exclude condition found. return.
156
+ return;
157
+ }
158
+ }
159
+ }
160
+
161
+ // Now we check if current page included.
162
+ $match = false;
163
+ foreach ( $post['include'] as $condition ) {
164
+ $result = $this->checker->conditions( $condition, $this->query, $post['id'] );
165
+
166
+ if ( true === $result ) {
167
+ // One condition match current page, break.
168
+ $match = true;
169
+
170
+ // Priority
171
+ if ( 'maintenance' === $condition[0] ) {
172
+ $priority = 20;
173
+ }
174
+
175
+ break;
176
+ }
177
+ }
178
+
179
+ // There is no match, return.
180
+ if ( ! $match ) {
181
+ return;
182
+ }
183
+
184
+ // Finally : condition match found and there is no exclude issue. do something.
185
+ // In case we need matched condition we can grab it before break.
186
+ $this->apply( $post['id'], $priority );
187
+ }
188
+
189
+ /**
190
+ * Apply.
191
+ * Run when one of post conditions is match for current queried page.
192
+ *
193
+ * @param int $id
194
+ * @return void
195
+ * @since 2.0.0
196
+ */
197
+ private function apply( $id, $priority ) {
198
+ $meta_exists = metadata_exists( 'post', $id, '_elementor_template_type' );
199
+ $post_status = get_post_status( $id );
200
+
201
+ if ( 'publish' !== $post_status ) {
202
+ return;
203
+ }
204
+
205
+ if ( $meta_exists ) {
206
+ $this->render_layout_builder( $id, $priority );
207
+ return;
208
+ }
209
+
210
+ $this->render_custom_snippets( $id );
211
+ }
212
+
213
+ /**
214
+ * Render layout builder post type.
215
+ *
216
+ * @param int $id
217
+ * @return void
218
+ * @since 2.0.0
219
+ */
220
+ private function render_layout_builder( $id, $priority ) {
221
+ if ( ! defined( 'ELEMENTOR_PATH' ) ) {
222
+ return;
223
+ }
224
+
225
+ // Apply Header.
226
+ if ( 'header' === get_post_meta( $id, '_elementor_template_type', true ) ) {
227
+ $this->header( $id );
228
+
229
+ return;
230
+ }
231
+
232
+ // Apply Footer.
233
+ if ( 'footer' === get_post_meta( $id, '_elementor_template_type', true ) ) {
234
+ $this->footer( $id );
235
+
236
+ return;
237
+ }
238
+
239
+ // Apply page title bar
240
+ if ( 'page-title-bar' === get_post_meta( $id, 'jx-layout-type', true ) ) {
241
+ $this->page_title_bar( $id );
242
+
243
+ return;
244
+ }
245
+
246
+ // TODO : Prevent to apply template_include ( body ) in Elementor editor mode.
247
+
248
+ // Apply Template ( body ).
249
+
250
+ add_filter( 'jupiterx-conditions-manager-template', function() use ( $id ) {
251
+ ob_start();
252
+ echo Elementor::instance()->frontend->get_builder_content_for_display( $id, true );
253
+
254
+ return ob_get_clean();
255
+ }, $priority );
256
+
257
+ add_action( 'template_redirect', [ $this, 'template_redirect' ], 10 );
258
+ }
259
+
260
+ /**
261
+ * Render custom snippets post type.
262
+ *
263
+ * @param int $id
264
+ * @return void
265
+ * @since 2.0.0
266
+ */
267
+ private function render_custom_snippets( $id ) {
268
+ $location = get_post_meta( $id, 'jupiterx_location', true );
269
+ $priority = get_post_meta( $id, 'jupiterx_priority', true );
270
+
271
+ add_action( $location, function() use ( $id ) {
272
+ $snippet = get_post_field( 'post_content', $id );
273
+
274
+ // Since it is non-php snippet, we just need to echo that.
275
+ // In case we need to parse snippets include php, we just need to eval what render_php_script method return.
276
+ echo $snippet;
277
+ }, $priority );
278
+ }
279
+
280
+ /**
281
+ * Render php snippets.
282
+ *
283
+ * @return string
284
+ * @param string $snippet code.
285
+ * @since 2.0.0
286
+ */
287
+ private function render_php_script( $snippet ) {
288
+ /* Remove ?> from end of snippet */
289
+ $snippet = preg_replace( '|\?>[\s]*$|', '', $snippet );
290
+
291
+ /* Insert ?> at begining of string to prevent eval errors. */
292
+ $snippet = '?> ' . $snippet;
293
+
294
+ return $snippet;
295
+ }
296
+
297
+ /**
298
+ * Header.
299
+ * Replace jupiter default header with user defined header template when condition match.
300
+ *
301
+ * @param int $id
302
+ * @return void
303
+ * @since 2.0.0
304
+ *
305
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
306
+ * @SuppressWarnings(PHPMD.NPathComplexity)
307
+ */
308
+ private function header( $id ) {
309
+ // Remove Navbar section.
310
+ jupiterx_remove_action( 'jupiterx_site_navbar' );
311
+
312
+ // Remove all previously added hooks.
313
+ remove_all_actions( 'jupiterx_header' );
314
+
315
+ // Customizer integration.
316
+ add_filter( 'theme_mod_jupiterx_header_type', function() {
317
+ return '';
318
+ } );
319
+
320
+ // Get more priority than elementor pro theme builder.
321
+ add_filter( 'jupiterx_header_partial_additional_parameter', '__return_false' );
322
+
323
+ $settings = get_post_meta( $id, 'jx-layout-builder-header-behavior', true );
324
+
325
+ if ( ! is_array( $settings ) ) {
326
+ $settings = [];
327
+ }
328
+
329
+ // Sticky template.
330
+ add_filter( 'jupiterx_header_template_sticky_id', function() use ( $settings ) {
331
+ if (
332
+ array_key_exists( 'sticky_template', $settings )
333
+ && count( $settings['sticky_template'] ) > 1
334
+ && array_key_exists( 'type', $settings )
335
+ && 'sticky' === $settings['type']
336
+ ) {
337
+ return $settings['sticky_template'][1];
338
+ }
339
+
340
+ return false;
341
+ } );
342
+
343
+ // Default template.
344
+ add_filter( 'jupiterx_header_template_id', function() use ( $id ) {
345
+ return $id;
346
+ } );
347
+
348
+ add_filter( 'jupiterx_header_classes', function( $class ) use ( $settings ) {
349
+ $class = array_filter( $class, function( $case ) {
350
+ return ( 'jupiterx-header-sticky-custom' !== $case );
351
+ } );
352
+
353
+ if ( ! in_array( 'jupiterx-header-custom', $class, true ) ) {
354
+ $class[] = 'jupiterx-header-custom';
355
+ }
356
+
357
+ // Orientation.
358
+ if ( 'horizontal' !== jupiterx_get_field_mod( 'jupiterx_header_orientation', '', 'horizontal' ) ) {
359
+ $class[] = 'jupiterx-header-vertical';
360
+ }
361
+
362
+ if ( ! array_key_exists( 'type', $settings ) ) {
363
+ return $class;
364
+ }
365
+
366
+ if ( 'sticky' === $settings['type'] ) {
367
+ $class[] = 'jupiterx-header-sticky-custom';
368
+ }
369
+
370
+ return $class;
371
+ } );
372
+
373
+ add_action( 'jupiterx_header', function() use ( $id ) {
374
+ echo Elementor::instance()->frontend->get_builder_content_for_display( $id );
375
+ } );
376
+
377
+ if ( array_key_exists( 'type', $settings ) && 'sticky' === $settings['type'] ) {
378
+ if ( '_custom' !== get_theme_mod( 'jupiterx_header_type' ) ) {
379
+ add_action( 'jupiterx_header', function() use ( $settings ) {
380
+ echo Elementor::instance()->frontend->get_builder_content_for_display( $settings['sticky_template'][1] );
381
+ } );
382
+ }
383
+ }
384
+
385
+ add_filter( 'jupiterx_header_settings', function( $data ) use ( $id ) {
386
+ $settings = get_post_meta( $id, 'jx-layout-builder-header-behavior', true );
387
+
388
+ if ( empty( $settings ) || ! is_array( $settings ) ) {
389
+ return $data;
390
+ }
391
+
392
+ // Overlap settings.
393
+ $data['overlap'] = '';
394
+ $overlap = [];
395
+
396
+ if ( array_key_exists( 'overlap_desktop', $settings ) && 'on' === $settings['overlap_desktop'] ) {
397
+ $overlap[] = 'desktop';
398
+ }
399
+
400
+ if ( array_key_exists( 'overlap_tablet', $settings ) && 'on' === $settings['overlap_tablet'] ) {
401
+ $overlap[] = 'tablet';
402
+ }
403
+
404
+ if ( array_key_exists( 'overlap_mobile', $settings ) && 'on' === $settings['overlap_mobile'] ) {
405
+ $overlap[] = 'mobile';
406
+ }
407
+
408
+ if ( count( $overlap ) > 0 ) {
409
+ $data['overlap'] = implode( ',', $overlap );
410
+ }
411
+
412
+ $data['behavior'] = $settings['type'];
413
+
414
+ if ( 'static' === $settings['type'] ) {
415
+ return $data;
416
+ }
417
+
418
+ if ( 'fixed' === $settings['type'] ) {
419
+ if ( array_key_exists( 'position', $settings ) ) {
420
+ $data['position'] = $settings['position'];
421
+ }
422
+
423
+ return $data;
424
+ }
425
+
426
+ if ( 'sticky' === $settings['type'] ) {
427
+ $data['offset'] = $settings['offset'];
428
+ $data['template'] = $id;
429
+
430
+ if ( empty( $data['offset'] ) ) {
431
+ $data['offset'] = 500;
432
+ }
433
+
434
+ if ( array_key_exists( 'sticky_template', $settings ) && count( $settings['sticky_template'] ) > 1 ) {
435
+ $data['stickyTemplate'] = $settings['sticky_template'][1];
436
+ }
437
+
438
+ return $data;
439
+ }
440
+
441
+ return $data;
442
+ } );
443
+
444
+ add_filter( 'jupiterx_body_header_classes', function( $class ) use ( $id ) {
445
+ $settings = get_post_meta( $id, 'jx-layout-builder-header-behavior', true );
446
+
447
+ if ( empty( $settings ) || ! is_array( $settings ) ) {
448
+ return $class;
449
+ }
450
+
451
+ $class = [];
452
+ $border = get_theme_mod( 'jupiterx_site_body_border_enabled' );
453
+ $behavior = $settings['type'];
454
+
455
+ // Body border.
456
+ if ( $border ) {
457
+ $class[] = 'jupiterx-has-border';
458
+ }
459
+
460
+ // Behavior.
461
+ if ( ! empty( $behavior ) && 'static' !== $behavior ) {
462
+ $class[] = esc_attr( 'jupiterx-header-' . $behavior );
463
+ }
464
+
465
+ // Position.
466
+ if ( 'fixed' === $behavior && ( array_key_exists( 'position', $settings ) && 'bottom' === $settings['position'] ) ) {
467
+ $class[] = esc_attr( 'jupiterx-header-' . $settings['position'] );
468
+ }
469
+
470
+ // Enable on tablet.
471
+ if ( 'static' !== $behavior && ( array_key_exists( 'tablet', $settings ) && 'off' === $settings['tablet'] ) ) {
472
+ $class[] = esc_attr( 'jupiterx-header-tablet-behavior-off' );
473
+ }
474
+
475
+ // Enable on mobile.
476
+ if ( 'static' !== $behavior && ( array_key_exists( 'mobile', $settings ) && 'off' === $settings['mobile'] ) ) {
477
+ $class[] = esc_attr( 'jupiterx-header-mobile-behavior-off' );
478
+ }
479
+
480
+ // Overlap settings desktop.
481
+ if ( array_key_exists( 'overlap_desktop', $settings ) && 'on' === $settings['overlap_desktop'] ) {
482
+ $class[] = esc_attr( 'jupiterx-header-overlapped' );
483
+ }
484
+
485
+ // overlap settings tablet.
486
+ if ( array_key_exists( 'overlap_tablet', $settings ) && 'on' === $settings['overlap_tablet'] ) {
487
+ $class[] = esc_attr( 'jupiterx-header-overlapped-tablet' );
488
+ }
489
+
490
+ // overlap settings mobile.
491
+ if ( array_key_exists( 'overlap_mobile', $settings ) && 'on' === $settings['overlap_mobile'] ) {
492
+ $class[] = esc_attr( 'jupiterx-header-overlapped-mobile' );
493
+ }
494
+
495
+ return $class;
496
+ } );
497
+ }
498
+
499
+ /**
500
+ * Footer
501
+ * Replace jupiter default footer with user defined footer template when condition match.
502
+ *
503
+ * @param [type] $id
504
+ * @return void
505
+ * @since 2.0.0
506
+ */
507
+ private function footer( $id ) {
508
+ // Remove subfooter section.
509
+ jupiterx_remove_action( 'jupiterx_subfooter' );
510
+
511
+ // Remove all previously added hooks.
512
+ remove_all_actions( 'jupiterx_footer' );
513
+
514
+ // Integrate with customizer.
515
+ add_filter( 'theme_mod_jupiterx_footer_type', function() {
516
+ return '';
517
+ } );
518
+
519
+ // More priority than elementor pro theme builder.
520
+ add_filter( 'jupiterx_footer_partial_additional_parameter', '__return_False' );
521
+
522
+ add_action( 'jupiterx_footer', function() use ( $id ) {
523
+ echo Elementor::instance()->frontend->get_builder_content_for_display( $id );
524
+ } );
525
+
526
+ add_filter( 'jupiterx_footer_behavior', function( $default ) use ( $id ) {
527
+ $settings = get_post_meta( $id, 'jx-layout-builder-footer-behavior', true );
528
+
529
+ if ( ! empty( $settings ) ) {
530
+ return $settings;
531
+ }
532
+
533
+ return $default;
534
+ } );
535
+ }
536
+
537
+ /**
538
+ * Apply page title bar.
539
+ *
540
+ * @param int $id template id
541
+ * @since 2.0.0
542
+ */
543
+ private function page_title_bar( $id ) {
544
+ jupiterx_remove_action( 'jupiterx_main_header', 'jupiterx_main_header' );
545
+
546
+ add_action( 'jupiterx_main_header', function() use ( $id ) {
547
+ echo Elementor::instance()->frontend->get_builder_content_for_display( $id );
548
+ } );
549
+ }
550
+
551
+ /**
552
+ * Template redirect.
553
+ * Last step.
554
+ *
555
+ * @since 2.0.0
556
+ * @return void
557
+ */
558
+ public function template_redirect() {
559
+ $run = apply_filters( 'jx-run-layout-condition', true );
560
+
561
+ if ( ! $run ) {
562
+ return;
563
+ }
564
+
565
+ jupiterx_add_filter( 'jupiterx_layout', 'c' );
566
+
567
+ jupiterx_core()->load_files(
568
+ [
569
+ 'condition/template',
570
+ ]
571
+ );
572
+
573
+ exit();
574
+ }
575
+
576
+ /**
577
+ * Customize preview.
578
+ * Customize preview for layout builder when everything is set.
579
+ *
580
+ * @since 2.0.0
581
+ * @return void
582
+ */
583
+ public function customize_layout_builder_preview_mode() {
584
+ $jx_var = filter_input( INPUT_GET, 'jupiterx-layout-builder-preview', FILTER_SANITIZE_FULL_SPECIAL_CHARS );
585
+
586
+ if ( ! empty( $jx_var ) ) {
587
+ add_filter( 'show_admin_bar', '__return_false' );
588
+
589
+ jupiterx_remove_action( 'jupiterx_main_header_partial_template' );
590
+ jupiterx_remove_action( 'jupiterx_main_footer_partial_template' );
591
+ jupiterx_remove_action( 'jupiterx_header_partial_template' );
592
+ jupiterx_remove_action( 'jupiterx_footer_partial_template' );
593
+
594
+ add_action( 'wp_head', function() {
595
+ ?>
596
+ <style>
597
+ body {
598
+ -moz-transform: scale(0.5, 0.5); /* Moz-browsers */
599
+ zoom: 0.5; /* Other non-webkit browsers */
600
+ zoom: 50%; /* Webkit browsers */
601
+ }
602
+ </style>
603
+ <?php
604
+ } );
605
+ }
606
+ }
607
+ }
608
+
609
+ new Apply_Condition();
includes/condition/classes/archives.php ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Check archive conditions if match current WordPress page.
5
+ *
6
+ * @return boolean
7
+ * @since 2.0.0
8
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
9
+ * @SuppressWarnings(PHPMD.NPathComplexity)
10
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
11
+ */
12
+ class Jupiterx_Archives_Condition {
13
+
14
+ public function sub_condition( $condition, $query, $post ) {
15
+ if ( 'all' === $condition[1] && is_archive() ) {
16
+ return true;
17
+ }
18
+
19
+ // All author archives or certain author archive.
20
+ if ( 'by_author' === $condition[1] ) {
21
+ if ( 'all' === $condition[2][0] && is_author() ) {
22
+ return true;
23
+ }
24
+
25
+ if ( is_author( $condition[2][0] ) ) {
26
+ return true;
27
+ }
28
+ }
29
+
30
+ // Date archive.
31
+ if ( 'date' === $condition[1] && is_date() ) {
32
+ return true;
33
+ }
34
+
35
+ // Search archive.
36
+ if ( 'search' === $condition[1] && is_search() ) {
37
+ return true;
38
+ }
39
+
40
+ // Post tag all.
41
+ if ( 'post_tag' === $condition[1] && 'all' === $condition[2][0] && is_tag() ) {
42
+ return true;
43
+ }
44
+
45
+ // Post tag single.
46
+ if ( 'post_tag' === $condition[1] && 'all' !== $condition[2][0] && is_tag( $condition[2][0] ) ) {
47
+ return true;
48
+ }
49
+
50
+ // Post category all.
51
+ if ( 'post_category' === $condition[1] && 'all' === $condition[2][0] && is_category() ) {
52
+ return true;
53
+ }
54
+
55
+ // Post category single.
56
+ if ( 'post_category' === $condition[1] && 'all' !== $condition[2][0] && is_category( $condition[2][0] ) ) {
57
+ return true;
58
+ }
59
+
60
+ // Prevent above to keep checking if not necessary.
61
+ if ( ! strpos( $condition[1], '@' ) ) {
62
+ return false;
63
+ }
64
+
65
+ /**
66
+ * IF none of above, condition must be about post type archive.
67
+ * There are 3 scenario for each post type:
68
+ * 1. Archive page selected
69
+ * 2. All term taxonomies of the post type is selected.
70
+ * 3. Certain term of a taxonomy is selected.
71
+ */
72
+ $type = explode( '@', $condition[1], 2 );
73
+ $post_type = $type[0];
74
+ $taxonomy = $type[1];
75
+ $term = $condition[2][0];
76
+
77
+ //1. archive of a post type selected.
78
+ if ( is_post_type_archive( $post_type ) ) {
79
+ return true;
80
+ }
81
+
82
+ //2. Certain taxonomy of post type selected and all terms of taxonomy selected.
83
+ if ( is_tax( $taxonomy ) && 'all' === $condition[2][0] ) {
84
+ return true;
85
+ }
86
+
87
+ //3. Certain taxonomy and certain term archive selected.
88
+ if ( is_tax( $taxonomy, $term ) ) {
89
+ return true;
90
+ }
91
+
92
+ return false;
93
+ }
94
+ }
includes/condition/classes/conditions.php ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Jupiterx single condition manager.
4
+ *
5
+ * @since 2.0.0
6
+ * @SuppressWarnings(PHPMD.NPathComplexity)
7
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
8
+ */
9
+ class Jupiterx_Conditions_Check {
10
+
11
+ public function __construct() {
12
+ require_once __DIR__ . '/singulars.php';
13
+ require_once __DIR__ . '/archives.php';
14
+ require_once __DIR__ . '/woocommerce.php';
15
+ require_once __DIR__ . '/users.php';
16
+
17
+ $this->singulars = new Jupiterx_Singular_Condition();
18
+ $this->archives = new Jupiterx_Archives_Condition();
19
+ $this->woocommerce = new Jupiterx_Woocommerce_Condition();
20
+ $this->users = new Jupiterx_Users_Condition();
21
+ }
22
+
23
+ /**
24
+ * Handle each condition.
25
+ *
26
+ * @param array $condition
27
+ * @param array $query get_queried_object()
28
+ * @return boolean
29
+ * @since 2.0.0
30
+ */
31
+ public function conditions( $condition, $query, $post ) {
32
+ $result = false;
33
+
34
+ if ( 'entire' === $condition[0] ) {
35
+ $result = true;
36
+ }
37
+
38
+ if ( 'maintenance' === $condition[0] && true === get_theme_mod( 'jupiterx_maintenance' ) && ! is_user_logged_in() ) {
39
+ $this->maintenance_mode_hooks();
40
+ return true;
41
+ }
42
+
43
+ if ( 'singular' === $condition[0] && ( is_singular() || is_single() || is_home() || is_front_page() ) ) {
44
+ // Woocommerce related conditions must be managed by woocommerce class itself.
45
+ if ( function_exists( 'is_woocommerce' ) && ( is_woocommerce() || is_cart() || is_checkout() ) ) {
46
+ return false;
47
+ }
48
+
49
+ $result = $this->singulars->sub_condition( $condition, $query, $post );
50
+ }
51
+
52
+ if ( 'archive' === $condition[0] ) {
53
+ // Woocommerce related conditions must be managed by woocommerce class itself.
54
+ if ( function_exists( 'is_woocommerce' ) && ( is_woocommerce() || is_cart() || is_checkout() ) ) {
55
+ return false;
56
+ }
57
+
58
+ $result = $this->archives->sub_condition( $condition, $query, $post );
59
+ }
60
+
61
+ if ( 'woocommerce' === $condition[0] ) {
62
+ $result = $this->woocommerce->sub_condition( $condition, $query, $post );
63
+ }
64
+
65
+ if ( 'users' === $condition[0] ) {
66
+ $result = $this->users->sub_condition( $condition );
67
+ }
68
+
69
+ return $result;
70
+ }
71
+
72
+ /**
73
+ * Used hooks when maintenance mode is on.
74
+ *
75
+ * @since 2.0.0
76
+ */
77
+ private function maintenance_mode_hooks() {
78
+ jupiterx_remove_action( 'jupiterx_main_header_partial_template' );
79
+ jupiterx_remove_action( 'jupiterx_main_footer_partial_template' );
80
+ jupiterx_remove_action( 'jupiterx_header_partial_template' );
81
+ jupiterx_remove_action( 'jupiterx_footer_partial_template' );
82
+ }
83
+ }
includes/condition/classes/singulars.php ADDED
@@ -0,0 +1,139 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Check singular conditions if match current WordPress page.
5
+ *
6
+ * @since 2.0.0
7
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
8
+ * @SuppressWarnings(PHPMD.NPathComplexity)
9
+ */
10
+ class Jupiterx_Singular_Condition {
11
+
12
+ /**
13
+ * Gets a condition array and check if it's match with current WordPress singular page.
14
+ *
15
+ * @param array $condition
16
+ * @param object $query @get_queried_object().
17
+ * @return boolean
18
+ */
19
+ public function sub_condition( $condition, $query, $post ) {
20
+ // Disable customizer blog elements.
21
+ $this->disable_customizer_blog_post_elements( $post );
22
+
23
+ if ( 'all' === $condition[1] ) {
24
+ return true;
25
+ }
26
+
27
+ if ( 'front_page' === $condition[1] && ( is_front_page() || is_home() ) ) {
28
+ return true;
29
+ }
30
+
31
+ if ( 'error_404' === $condition[1] && is_404() ) {
32
+ return true;
33
+ }
34
+
35
+ if ( 'any_child_of' === $condition[1] ) {
36
+ $parent = $condition[2][0];
37
+ $child = $query->ID;
38
+ $parents = get_post_ancestors( $child );
39
+
40
+ if ( empty( $parents ) || empty( $parent ) ) {
41
+ return false;
42
+ }
43
+
44
+ if ( 'all' === $parent ) {
45
+ return true;
46
+ }
47
+
48
+ if ( in_array( $parent, $parents, true ) ) {
49
+ return true;
50
+ }
51
+
52
+ return false;
53
+ }
54
+
55
+ if ( 'child_of' === $condition[1] ) {
56
+ $parent = $condition[2][0];
57
+ $args = [
58
+ 'numberposts' => -1,
59
+ 'post_type' => 'any',
60
+ 'post_status' => 'any',
61
+ 'post_parent' => (int) $parent,
62
+ 'fields' => 'ids',
63
+ ];
64
+ $child = $query->ID;
65
+ $children = get_children( $args );
66
+ $parents = get_post_ancestors( $child );
67
+
68
+ if ( 'all' === $parent && ! empty( $parents ) ) {
69
+ return true;
70
+ }
71
+
72
+ if ( in_array( $child, $children, true ) ) {
73
+ return true;
74
+ }
75
+
76
+ return false;
77
+ }
78
+
79
+ // All posts of a singular and or certain id of an singular. [singular, post, all] || [singular, post, 10].
80
+ if ( strpos( $condition[1], 'single' ) !== false ) {
81
+ $split = explode( '_', $condition[1], 2 );
82
+ $post_type = $split[1];
83
+
84
+ if ( is_singular( $post_type ) ) {
85
+ if ( 'all' === $condition[2][0] && ! is_front_page() ) {
86
+ return true;
87
+ }
88
+
89
+ if ( (int) $condition[2][0] === $query->ID ) {
90
+ return true;
91
+ }
92
+ }
93
+ }
94
+
95
+ // Check if current post belongs author by id cmd[2] : post_by_author || page_by_author || product_by_author || portfolio_by_author.
96
+ if ( false !== strpos( $condition[1], 'author' ) && $query->post_author === $condition[2][0] ) {
97
+ $type = explode( '@by_author', $condition[1] );
98
+ if ( is_singular( $type[0] ) ) {
99
+ return true;
100
+ }
101
+ }
102
+
103
+ if ( false === strpos( $condition[1], '@' ) ) {
104
+ return false;
105
+ }
106
+
107
+ // Check if current singular is belongs to a taxonomy term of certain post type : [singular, post_category, all] || [singular, post_category, uncategorized].
108
+ $tax = explode( '@', $condition[1], 2 );
109
+ $term = $condition[2][0];
110
+ $taxonomy = $tax[1];
111
+ $post_type = $tax[0];
112
+
113
+ if ( is_singular( $post_type ) && 'all' === $term && has_term( '', $taxonomy, $query->ID ) ) {
114
+ return true;
115
+ }
116
+
117
+ if ( is_singular( $post_type ) && has_term( $term, $taxonomy, $query->ID ) ) {
118
+ return true;
119
+ }
120
+
121
+ return false;
122
+ }
123
+
124
+ /**
125
+ * Disable customizer blog elements when layout builder template is applied.
126
+ *
127
+ * @param int $post post id.
128
+ * @since 2.0.0
129
+ */
130
+ private function disable_customizer_blog_post_elements( $post ) {
131
+ if ( 'single' !== get_post_meta( $post, '_elementor_template_type', true ) ) {
132
+ return;
133
+ }
134
+
135
+ add_filter( 'jupiterx_apply_single_blog_customizer_elements', function() {
136
+ return false;
137
+ } );
138
+ }
139
+ }
includes/condition/classes/users.php ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Jupiterx users condition manager.
5
+ *
6
+ * @since 2.0.0
7
+ */
8
+
9
+ class Jupiterx_Users_Condition {
10
+
11
+ /**
12
+ * Check condition array.
13
+ *
14
+ * Sample conditions array:
15
+ *
16
+ * @param array $condition.
17
+ * @return boolean
18
+ * @since 2.0.0
19
+ */
20
+ public function sub_condition( $condition ) {
21
+ if ( 'all' === $condition[1] ) {
22
+ return true;
23
+ }
24
+
25
+ if ( 'guests-users' === $condition[1] && ! is_user_logged_in() ) {
26
+ return true;
27
+ }
28
+
29
+ if ( 'all-users' === $condition[1] && is_user_logged_in() ) {
30
+ return true;
31
+ }
32
+
33
+ if ( is_user_logged_in() ) {
34
+ return $this->role_check( $condition );
35
+ }
36
+
37
+ return false;
38
+ }
39
+
40
+ /**
41
+ * Checks if current user role match the condition.
42
+ *
43
+ * @param [array] $condition
44
+ * @return boolean
45
+ * @since 2.0.0
46
+ */
47
+ private function role_check( $condition ) {
48
+ $requested_role = $condition[1];
49
+ $user = wp_get_current_user();
50
+
51
+ if ( in_array( $requested_role, (array) $user->roles, true ) ) {
52
+ return true;
53
+ }
54
+
55
+ return false;
56
+ }
57
+
58
+ /**
59
+ * Retrieve users roles in cases we need it
60
+ *
61
+ * @return array
62
+ * @since 2.0.0
63
+ */
64
+ public static function list_user_role() {
65
+ global $wp_roles;
66
+
67
+ $all_roles = $wp_roles->roles;
68
+ $editable_roles = apply_filters( 'editable_roles', $all_roles );
69
+ $roles = [];
70
+
71
+ foreach ( $editable_roles as $key => $details ) {
72
+ $roles[ $key ] = $details['name'];
73
+ }
74
+
75
+ return $roles;
76
+ }
77
+ }
includes/condition/classes/woocommerce.php ADDED
@@ -0,0 +1,153 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Check woocommerce conditions if match current WordPress page.
5
+ *
6
+ * @return boolean
7
+ * @since 2.0.0
8
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
9
+ * @SuppressWarnings(PHPMD.NPathComplexity)
10
+ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
11
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
12
+ */
13
+ class Jupiterx_Woocommerce_Condition {
14
+
15
+ public function sub_condition( $condition, $query, $post ) {
16
+ if ( ! function_exists( 'is_woocommerce' ) ) {
17
+ return false;
18
+ }
19
+
20
+ // Entire Shop
21
+ if ( 'entire-shop' === $condition[1] && ( is_woocommerce() || is_cart() || is_checkout() ) ) {
22
+ return true;
23
+ }
24
+
25
+ // Checkout page.
26
+ if ( 'checkout-page' === $condition[1] && ( is_checkout() ) ) {
27
+ return true;
28
+ }
29
+
30
+ // Cart page.
31
+ if ( 'cart-page' === $condition[1] && ( is_cart() ) ) {
32
+ return true;
33
+ }
34
+
35
+ // Empty cart page.
36
+ if ( 'empty-cart-page' === $condition[1] && is_cart() && WC()->cart->is_empty() ) {
37
+ return true;
38
+ }
39
+
40
+ // Thank you page.
41
+ if ( 'thankyou-page' === $condition[1] && is_wc_endpoint_url( 'order-received' ) ) {
42
+ return true;
43
+ }
44
+
45
+ // My account page, user logged in.
46
+ if ( 'my-account-user' === $condition[1] && is_account_page() && is_user_logged_in() ) {
47
+ return true;
48
+ }
49
+
50
+ // My account page, user is not logged in.
51
+ if ( 'my-account-guest' === $condition[1] && is_account_page() && ! is_user_logged_in() ) {
52
+ return true;
53
+ }
54
+
55
+ // Woocommerce Archive Section.
56
+ if ( 'all_product_archive' === $condition[1] && ( is_product_category() || is_shop() || is_product_tag() ) ) {
57
+ return true;
58
+ }
59
+
60
+ // Shop page.
61
+ if ( 'shop_archive' === $condition[1] && is_shop() ) {
62
+ return true;
63
+ }
64
+
65
+ // TODO : add search result !! is woo search result is as same as wp search ?
66
+
67
+ // Product category archive , child cats not included.
68
+ if ( 'product_cat_archive' === $condition[1] ) {
69
+ if ( 'all' === $condition[2][0] && is_product_category() ) {
70
+ return true;
71
+ }
72
+
73
+ if ( is_product_category( $condition[2][0] ) ) {
74
+ return true;
75
+ }
76
+ }
77
+
78
+ // Product tag archive.
79
+ if ( 'product_tag_archive' === $condition[1] ) {
80
+ if ( 'all' === $condition[2][0] && is_product_tag() ) {
81
+ return true;
82
+ }
83
+
84
+ if ( is_product_tag( $condition[2][0] ) ) {
85
+ return true;
86
+ }
87
+ }
88
+
89
+ // Woocommerce Single Product Section.
90
+ if ( ! is_product() ) {
91
+ return false;
92
+ }
93
+
94
+ if ( 'single_product' === $condition[1] ) {
95
+ // All single Products.
96
+ if ( 'all' === $condition[2][0] ) {
97
+ return true;
98
+ }
99
+
100
+ // By ID.
101
+ if ( is_single( $condition[2][0] ) ) {
102
+ return true;
103
+ }
104
+ }
105
+
106
+ // Checks if a product belongs to a term( category ).
107
+ if ( 'in_product_cat' === $condition[1] ) {
108
+ if ( 'all' === $condition[2][0] && has_term( '', 'product_cat', $query->ID ) ) {
109
+ return true;
110
+ }
111
+
112
+ if ( has_term( $condition[2][0], 'product_cat', $query->ID ) ) {
113
+ return true;
114
+ }
115
+ }
116
+
117
+ // Checks if a product belongs to a child of a term ( we need parent id cmd[3] = parent id ).
118
+ if ( 'in_product_cat_children' === $condition[1] ) {
119
+ $parent = $condition[2][0];
120
+ $children = get_term_children( $parent, 'product_cat' );
121
+ foreach ( $children as $child ) {
122
+ if ( has_term( $child, 'product_cat', $query->ID ) ) {
123
+ return true;
124
+ }
125
+ }
126
+ }
127
+
128
+ // Product Tags.
129
+ if ( 'in_product_tag' === $condition[1] ) {
130
+ // All tags selected.
131
+ if ( 'all' === $condition[2][0] && has_term( '', 'product_tag', $query->ID ) ) {
132
+ return true;
133
+ }
134
+
135
+ // Certain tag selected.
136
+ if ( has_term( $condition[2][0], 'product_tag', $query->ID ) ) {
137
+ return true;
138
+ }
139
+ }
140
+
141
+ if ( 'product_by_author' === $condition[1] ) {
142
+ if ( 'all' === $condition[2][0] ) {
143
+ return true;
144
+ }
145
+
146
+ if ( $query->post_author === $condition[2][0] ) {
147
+ return true;
148
+ }
149
+ }
150
+
151
+ return false;
152
+ }
153
+ }
includes/condition/template.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit; // Exit if accessed directly.
5
+ }
6
+
7
+ get_header();
8
+
9
+ $content = '';
10
+
11
+ $content = apply_filters( 'jupiterx-conditions-manager-template', $content );
12
+
13
+ add_filter( 'the_content', function() use ( $content ) {
14
+ return $content;
15
+ }, 10 );
16
+
17
+ the_content();
18
+
19
+ get_footer();
includes/control-panel-2/class.php ADDED
@@ -0,0 +1,537 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This class adds new control panel.
4
+ *
5
+ * @package JupiterX_Core\Control_Panel_2
6
+ *
7
+ * @since 1.18.0
8
+ */
9
+
10
+ use JupiterX_Core\Raven\Plugin;
11
+
12
+ /**
13
+ * New control panel.
14
+ *
15
+ * @package JupiterX_Core\Control_Panel_2
16
+ *
17
+ * @since 1.18.0
18
+ */
19
+ class JupiterX_Control_Panel_2 {
20
+
21
+ const SCREEN_ID = 'jupiterx';
22
+
23
+ /**
24
+ * Components store.
25
+ *
26
+ * @since 1.18.0
27
+ *
28
+ * @var array
29
+ */
30
+ private $components = [];
31
+
32
+ /**
33
+ * Constructor.
34
+ *
35
+ * @since 1.18.0
36
+ */
37
+ public function __construct() {
38
+ add_action( 'admin_init', [ $this, 'init' ] );
39
+ add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_admin_scripts' ] );
40
+ add_action( 'admin_menu', [ $this, 'register_admin_menu' ] );
41
+ }
42
+
43
+ /**
44
+ * Initialize.
45
+ *
46
+ * @since 1.18.0
47
+ */
48
+ public function init() {
49
+ jupiterx_core()->load_files( [
50
+ 'control-panel-2/includes/logic-messages',
51
+ 'control-panel-2/includes/class-helpers',
52
+ 'control-panel-2/includes/class-filesystem',
53
+ 'control-panel-2/includes/class-db-manager',
54
+ 'control-panel-2/includes/class-db-php-manager',
55
+ 'control-panel-2/includes/class-export-import-content',
56
+ 'control-panel-2/includes/class-install-template',
57
+ 'control-panel-2/includes/class-license',
58
+ 'control-panel-2/includes/class-theme-upgrades-downgrades',
59
+ 'control-panel-2/includes/class-install-plugins',
60
+ 'control-panel-2/includes/class-updates-manager',
61
+ 'control-panel-2/includes/class-templates',
62
+ 'control-panel-2/includes/class-settings',
63
+ 'control-panel-2/includes/class-version-control',
64
+ 'control-panel-2/includes/class-image-sizes',
65
+ 'control-panel-2/includes/class-performance-tips',
66
+ 'control-panel-2/includes/class-logs',
67
+ 'control-panel-2/includes/class-layout-builder',
68
+ 'control-panel-2/includes/class-custom-snippets',
69
+ 'control-panel-2/includes/class-sellkit-box',
70
+ ] );
71
+
72
+ $this->components['license'] = JupiterX_Core_Control_Panel_License::get_instance();
73
+ $this->components['templates'] = JupiterX_Core_Control_Panel_Templates::get_instance();
74
+ $this->components['logs'] = JupiterX_Core_Control_Panel_logs::get_instance();
75
+
76
+ if ( $this->is_current_screen() ) {
77
+ $this->back_compat();
78
+ }
79
+ }
80
+
81
+ /**
82
+ * Run backward compatibility actions.
83
+ */
84
+ private function back_compat() {
85
+ $this->components['license']->retry_api_key();
86
+ }
87
+
88
+ /**
89
+ * Enqueue admin scripts.
90
+ *
91
+ * @since 1.18.0
92
+ */
93
+ public function enqueue_admin_scripts() {
94
+ if ( ! $this->is_current_screen() ) {
95
+ return;
96
+ }
97
+
98
+ wp_enqueue_media();
99
+
100
+ wp_enqueue_script(
101
+ 'jupiterx-control-panel-2',
102
+ jupiterx_core()->plugin_url() . 'includes/control-panel-2/dist/control-panel.js',
103
+ [ 'lodash', 'wp-element', 'wp-i18n', 'wp-util' ],
104
+ jupiterx_core()->version(),
105
+ true
106
+ );
107
+
108
+ wp_localize_script(
109
+ 'jupiterx-control-panel-2',
110
+ 'jupiterxControlPanel2',
111
+ $this->get_localize_data()
112
+ );
113
+
114
+ wp_enqueue_style(
115
+ 'jupiterx-control-panel-2',
116
+ jupiterx_core()->plugin_url() . 'includes/control-panel-2/dist/control-panel.css',
117
+ [],
118
+ jupiterx_core()->version()
119
+ );
120
+
121
+ wp_set_script_translations( 'jupiterx-control-panel-2', 'jupiterx-core', jupiterx_core()->plugin_dir() . 'languages' );
122
+ }
123
+
124
+ /**
125
+ * Register admin menu.
126
+ *
127
+ * @since 1.18.0
128
+ * @SuppressWarnings(PHPMD.NPathComplexity)
129
+ */
130
+ public function register_admin_menu() {
131
+ if ( ! defined( 'JUPITERX_NAME' ) ) {
132
+ return;
133
+ }
134
+
135
+ $menu_icon = 'dashicons-jx-dashboard';
136
+
137
+ if ( function_exists( 'jupiterx_is_white_label' ) ) {
138
+ if ( jupiterx_is_white_label() && jupiterx_get_option( 'white_label_menu_icon' ) ) {
139
+ $menu_icon = jupiterx_get_option( 'white_label_menu_icon' );
140
+ }
141
+ }
142
+
143
+ $menu_name = JUPITERX_NAME;
144
+
145
+ if ( function_exists( 'jupiterx_is_white_label' ) ) {
146
+ if ( jupiterx_is_white_label() && jupiterx_get_option( 'white_label_text_occurence' ) ) {
147
+ $menu_name = esc_html( jupiterx_get_option( 'white_label_text_occurence' ) );
148
+ }
149
+ }
150
+
151
+ add_menu_page(
152
+ $menu_name,
153
+ $menu_name,
154
+ 'manage_options',
155
+ self::SCREEN_ID,
156
+ [ $this, 'register_admin_menu_callback' ],
157
+ $menu_icon,
158
+ '3.5'
159
+ );
160
+
161
+ add_submenu_page(
162
+ self::SCREEN_ID,
163
+ __( 'Dashboard', 'jupiterx-core' ),
164
+ __( 'Dashboard', 'jupiterx-core' ) . $this->warning_badge(),
165
+ 'edit_theme_options',
166
+ self::SCREEN_ID,
167
+ [ $this, 'register_admin_menu_callback' ]
168
+ );
169
+
170
+ add_submenu_page(
171
+ self::SCREEN_ID,
172
+ __( 'Theme Styles', 'jupiterx-core' ),
173
+ __( 'Theme Styles', 'jupiterx-core' ),
174
+ 'edit_theme_options',
175
+ 'customize_theme',
176
+ [ $this, 'redirect_page' ]
177
+ );
178
+
179
+ if ( jupiterx_is_premium() ) {
180
+ add_submenu_page(
181
+ self::SCREEN_ID,
182
+ __( 'Layout Builder', 'jupiterx-core' ),
183
+ __( 'Layout Builder', 'jupiterx-core' ),
184
+ 'edit_theme_options',
185
+ 'jupiterx#/layout-builder',
186
+ [ $this, 'register_admin_menu_callback' ]
187
+ );
188
+
189
+ add_submenu_page(
190
+ self::SCREEN_ID,
191
+ __( 'Custom Snippets', 'jupiterx-core' ),
192
+ __( 'Custom Snippets', 'jupiterx-core' ),
193
+ 'edit_theme_options',
194
+ 'jupiterx#/custom-snippets',
195
+ [ $this, 'register_admin_menu_callback' ]
196
+ );
197
+ }
198
+
199
+ add_submenu_page(
200
+ self::SCREEN_ID,
201
+ __( 'Settings', 'jupiterx-core' ),
202
+ __( 'Settings', 'jupiterx-core' ),
203
+ 'edit_theme_options',
204
+ 'jupiterx#/settings',
205
+ [ $this, 'register_admin_menu_callback' ]
206
+ );
207
+
208
+ if ( function_exists( 'jupiterx_is_white_label' ) ) {
209
+ if ( ! jupiterx_is_white_label() || ( jupiterx_is_white_label() && jupiterx_get_option( 'white_label_menu_help', true ) ) ) {
210
+ add_submenu_page(
211
+ self::SCREEN_ID,
212
+ __( 'Help', 'jupiterx-core' ),
213
+ __( 'Help', 'jupiterx-core' ),
214
+ 'edit_theme_options',
215
+ 'jupiterx_help',
216
+ [ $this, 'redirect_page' ]
217
+ );
218
+ }
219
+ }
220
+
221
+ if ( function_exists( 'jupiterx_is_pro' ) && ! jupiterx_is_pro() && ! jupiterx_is_premium() ) {
222
+ add_submenu_page(
223
+ self::SCREEN_ID,
224
+ __( 'Upgrade', 'jupiterx-core' ),
225
+ '<i class="jupiterx-icon-pro"></i>' . __( 'Upgrade', 'jupiterx-core' ),
226
+ 'edit_theme_options',
227
+ 'jupiterx_upgrade',
228
+ [ $this, 'redirect_page' ]
229
+ );
230
+ }
231
+
232
+ remove_submenu_page( 'themes.php', self::SCREEN_ID );
233
+ }
234
+
235
+ /**
236
+ * Get warining badge for premium users.
237
+ *
238
+ * @since 1.18.0
239
+ *
240
+ * @return string
241
+ */
242
+ private function warning_badge() {
243
+ if (
244
+ ! function_exists( 'jupiterx_is_registered' ) ||
245
+ ! function_exists( 'jupiterx_is_premium' )
246
+ ) {
247
+ return '';
248
+ }
249
+
250
+ if ( ! jupiterx_is_premium() ) {
251
+ return '';
252
+ }
253
+
254
+ if ( jupiterx_is_registered() ) {
255
+ return '';
256
+ }
257
+
258
+ return sprintf(
259
+ ' <img class="jupiterx-premium-warning-badge" src="%1$s" alt="%2$s" width="16" height="16">',
260
+ trailingslashit( jupiterx_core()->plugin_assets_url() ) . 'images/warning-badge.svg',
261
+ esc_html__( 'Activate Product', 'jupiterx-core' )
262
+ );
263
+ }
264
+
265
+ /**
266
+ * Redirect an admin page.
267
+ *
268
+ * @since 1.18.0
269
+ */
270
+ public function redirect_page() {
271
+ if ( empty( jupiterx_get( 'page' ) ) ) {
272
+ return;
273
+ }
274
+
275
+ if ( 'customize_theme' === jupiterx_get( 'page' ) ) {
276
+ wp_safe_redirect( admin_url( 'customize.php' ) );
277
+ exit;
278
+ }
279
+
280
+ if ( 'jupiterx_upgrade' === jupiterx_get( 'page' ) ) {
281
+ wp_safe_redirect( admin_url() );
282
+ exit;
283
+ }
284
+
285
+ if ( 'jupiterx_help' === jupiterx_get( 'page' ) ) {
286
+ wp_safe_redirect( 'https://themes.artbees.net/support/jupiterx/' );
287
+ exit;
288
+ }
289
+ }
290
+
291
+ /**
292
+ * Register admin menu callback.
293
+ *
294
+ * @since 1.18.0
295
+ */
296
+ public function register_admin_menu_callback() {
297
+ ?>
298
+ <div id="wrap" class="wrap">
299
+ <h1></h1>
300
+ <div id="jx-cp-root" class="jx-cp"></div>
301
+ </div>
302
+ <?php
303
+ }
304
+
305
+ /**
306
+ * Get localize data.
307
+ *
308
+ * @since 1.18.0
309
+ */
310
+ private function get_localize_data() {
311
+ $data = [
312
+ 'nonce' => wp_create_nonce( 'jupiterx_control_panel' ),
313
+ 'themeVersion' => $this->get_theme_data( 'Version' ),
314
+ 'jupiterxVersion' => JUPITERX_VERSION,
315
+ 'urls' => [
316
+ 'customize' => admin_url( 'customize.php' ),
317
+ 'upgrade' => jupiterx_upgrade_link(),
318
+ 'upgradeBanner' => jupiterx_upgrade_link( 'banner' ),
319
+ 'upgradeComparison' => jupiterx_upgrade_link( 'comparison' ),
320
+ 'siteHealth' => esc_url( admin_url( 'site-health.php' ) ),
321
+ 'controlPanel' => jupiterx_core()->plugin_url() . 'includes/control-panel-2/',
322
+ 'imgUrl' => jupiterx_core()->plugin_url() . 'includes/control-panel-2/img',
323
+ ],
324
+ 'installedPlugins' => array_keys( get_plugins() ),
325
+ 'activePlugins' => array_values( get_option( 'active_plugins' ) ),
326
+ 'options' => get_option( 'jupiterx', [] ),
327
+ 'postTypes' => array_values( jupiterx_get_custom_post_types( 'objects' ) ),
328
+ 'themeLicense' => $this->components['license']->get_details(),
329
+ 'isPremium' => jupiterx_is_premium(),
330
+ 'isPro' => jupiterx_is_pro(),
331
+ 'searchFilters' => $this->components['templates']->get_filters(),
332
+ 'templateInstalled' => $this->components['templates']->get_installed(),
333
+ 'adminAjaxURL' => admin_url( 'admin-ajax.php' ),
334
+ 'siteName' => get_bloginfo( 'name' ),
335
+ 'debug' => $this->components['logs']->get_info(),
336
+ 'tabs' => $this->get_tabs(),
337
+ 'isMultilingual' => ( function_exists( 'pll_current_language' ) || class_exists( 'SitePress' ) ),
338
+ 'layoutTemplates' => JupiterX_Core_Control_Panel_Layout_Builder::layout_templates(),
339
+ 'customSnippetsLocations' => JupiterX_Core_Control_Panel_Custom_Snippets::snippet_locations(),
340
+ 'elements' => Plugin::get_modules( true ),
341
+ 'sellkitProActive' => class_exists( 'Sellkit_Pro' ),
342
+ 'sellkitFreeActive' => class_exists( 'Sellkit' ),
343
+ 'welcomeBox' => get_option( 'jupiterx_dashboard_welcome_box' ),
344
+ 'sellkitDismiss' => get_user_meta( get_current_user_id(), 'jupiterx_dismiss_sellkit_box', true ),
345
+ ];
346
+
347
+ jupiterx_log(
348
+ "[Control Panel] To view Control Panel, the following data is expected to be an array consisting of 'nonce', 'themeVersion', 'urls', ... 'tabs'.",
349
+ $data
350
+ );
351
+
352
+ return $data;
353
+ }
354
+
355
+ /**
356
+ * Get control panel tabs.
357
+ *
358
+ * @since 1.18.0
359
+ *
360
+ * @return void
361
+ */
362
+ private function get_tabs() {
363
+ $tabs = [
364
+ 'dashboard' => [
365
+ 'id' => 'dashboard',
366
+ 'href' => '/',
367
+ 'label' => __( 'Dashboard', 'jupiterx-core' ),
368
+ 'help' => ! jupiterx_is_premium() ? 'https://themes.artbees.net/' : 'https://themes.artbees.net/docs/registering-the-jupiter-x-theme/',
369
+ 'whiteLabel' => true,
370
+ 'subMenu' => false,
371
+ ],
372
+ 'layout-builder' => [
373
+ 'id' => 'layout-builder',
374
+ 'href' => '/layout-builder',
375
+ 'label' => __( 'Layout Builder', 'jupiterx-core' ),
376
+ 'help' => 'https://themes.artbees.net/docs/layout-builder/',
377
+ 'whiteLabel' => true,
378
+ ],
379
+ 'custom-snippets' => [
380
+ 'id' => 'custom-snippets',
381
+ 'href' => '/custom-snippets',
382
+ 'label' => __( 'Custom Snippets', 'jupiterx-core' ),
383
+ 'help' => 'https://themes.artbees.net/docs/installing-a-template/',
384
+ 'whiteLabel' => true,
385
+ 'subMenu' => false,
386
+ ],
387
+ 'settings' => [
388
+ 'id' => 'settings',
389
+ 'href' => '/settings',
390
+ 'label' => __( 'Settings', 'jupiterx-core' ),
391
+ 'help' => 'https://themes.artbees.net/support/jupiterx/',
392
+ 'whiteLabel' => false,
393
+ 'subMenu' => false,
394
+ 'subTabs' => [
395
+ 'general' => [
396
+ 'id' => 'general',
397
+ 'label' => __( 'General', 'jupiterx-core' ),
398
+ ],
399
+ 'post-types' => [
400
+ 'id' => 'post-types',
401
+ 'label' => __( 'Custom Post Types', 'jupiterx-core' ),
402
+ ],
403
+ 'white-label' => [
404
+ 'id' => 'white-label',
405
+ 'label' => __( 'White Label', 'jupiterx-core' ),
406
+ ],
407
+ 'elementor-widgets' => [
408
+ 'id' => 'elementor-widgets',
409
+ 'label' => __( 'Elementor Widgets', 'jupiterx-core' ),
410
+ ],
411
+ 'third-party-integration' => [
412
+ 'id' => 'third-party-integration',
413
+ 'label' => __( 'Third-Party Integration', 'jupiterx-core' ),
414
+ ],
415
+ 'tracking-codes' => [
416
+ 'id' => 'tracking-codes',
417
+ 'label' => __( 'Tracking Codes', 'jupiterx-core' ),
418
+ ],
419
+ 'image-sizes' => [
420
+ 'id' => 'image-sizes',
421
+ 'label' => __( 'Image Sizes', 'jupiterx-core' ),
422
+ ],
423
+ ],
424
+ ],
425
+ 'maintenance' => [
426
+ 'id' => 'maintenance',
427
+ 'href' => '/maintenance',
428
+ 'label' => __( 'Maintenance', 'jupiterx-core' ),
429
+ 'help' => 'https://themes.artbees.net/support/jupiterx/',
430
+ 'whiteLabel' => false,
431
+ 'subMenu' => true,
432
+ 'subTabs' => [
433
+ 'bundled-plugins' => [
434
+ 'id' => 'bundled-plugins',
435
+ 'label' => __( 'Bundled Plugins', 'jupiterx-core' ),
436
+ ],
437
+ 'ready-made-websites' => [
438
+ 'id' => 'ready-made-websites',
439
+ 'label' => __( 'Readymade Websites', 'jupiterx-core' ),
440
+ ],
441
+ 'updates' => [
442
+ 'id' => 'updates',
443
+ 'label' => __( 'Updates', 'jupiterx-core' ),
444
+ ],
445
+ 'version-rollback' => [
446
+ 'id' => 'version-rollback',
447
+ 'label' => __( 'Version Rollback', 'jupiterx-core' ),
448
+ ],
449
+ 'logs' => [
450
+ 'id' => 'logs',
451
+ 'label' => __( 'Logs', 'jupiterx-core' ),
452
+ ],
453
+ 'export' => [
454
+ 'id' => 'export',
455
+ 'label' => __( 'Export', 'jupiterx-core' ),
456
+ ],
457
+ ],
458
+ ],
459
+ 'free-vs-pro' => [
460
+ 'id' => 'freeVsPro',
461
+ 'href' => '/free-vs-pro',
462
+ 'label' => __( 'Free Vs Pro', 'jupiterx-core' ),
463
+ 'whiteLabel' => false,
464
+ 'subMenu' => false,
465
+ ],
466
+ ];
467
+
468
+ // Hide Site Health for WP under 5.2.
469
+ if ( version_compare( get_bloginfo( 'version' ), '5.2', '<' ) ) {
470
+ unset( $tabs['site-health'] );
471
+ }
472
+
473
+ // Hide Elementor for now.
474
+ unset( $tabs['elementor'] );
475
+
476
+ // Hide Tools > Export if constant is not defined.
477
+ if ( ! $this->show_tab( 'JUPITERX_CONTROL_PANEL_EXPORT_IMPORT' ) ) {
478
+ unset( $tabs['maintenance']['subTabs']['export'] );
479
+ }
480
+
481
+ // Hide Free Vs Pro on premium theme.
482
+ if ( jupiterx_is_premium() ) {
483
+ unset( $tabs['free-vs-pro'] );
484
+ }
485
+
486
+ // Hide settings > third party integration if constant is not defined.
487
+ if ( ! is_plugin_active( 'jupiter-donut/jupiter-donut.php' ) ) {
488
+ unset( $tabs['settings']['subTabs']['third-party-integration'] );
489
+ }
490
+
491
+ if ( ! jupiterx_is_premium() ) {
492
+ unset( $tabs['layout-builder'] );
493
+ unset( $tabs['custom-snippets'] );
494
+ unset( $tabs['free-vs-pro'] );
495
+ }
496
+
497
+ return array_values( $tabs );
498
+ }
499
+
500
+ /**
501
+ * Get current theme data.
502
+ *
503
+ * @since 1.18.0
504
+ *
505
+ * @param string $data The theme data.
506
+ */
507
+ private function get_theme_data( $data ) {
508
+ $current_theme = wp_get_theme();
509
+
510
+ return $current_theme->get( $data );
511
+ }
512
+
513
+ /**
514
+ * Check current screen.
515
+ *
516
+ * @since 1.18.0
517
+ *
518
+ * @return boolean Control panel screen.
519
+ */
520
+ private function is_current_screen() {
521
+ // phpcs:ignore WordPress.Security.NonceVerification.Recommended,WordPress.Security.NonceVerification.NoNonceVerification
522
+ return is_admin() && isset( $_GET['page'] ) && self::SCREEN_ID === $_GET['page'];
523
+ }
524
+
525
+ /**
526
+ * Get show tab.
527
+ *
528
+ * @param string $constant Constant name.
529
+ *
530
+ * @return boolean Tab show.
531
+ */
532
+ private function show_tab( $constant ) {
533
+ return defined( $constant ) && constant( $constant );
534
+ }
535
+ }
536
+
537
+ new JupiterX_Control_Panel_2();
includes/control-panel-2/dist/control-panel.css ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .jx-cp .jx-cp-header .jx-cp-header-top .jx-cp-header-logo-wrapper{max-width:148px;height:auto}.jx-cp .jx-cp-header .jx-cp-header-top .jx-cp-header-logo-wrapper .jx-cp-header-logo-original{max-width:100%;height:auto}.jx-cp .jx-cp-header .jx-cp-theme-version{font-size:14px;padding:5px 10px;font-weight:normal;color:#222;background:#f5f5f5;margin-left:24px}.jx-cp .jx-cp-header .jx-cp-theme-styles{width:100%;max-width:9.8125rem}.jx-cp .jx-cp-header .navbar{margin-bottom:35px;padding:24px 0 0;font-size:16px;border-bottom:1px solid rgba(0,0,0,0.125)}.jx-cp .jx-cp-header .navbar .navbar-nav .nav-item{margin-bottom:0;white-space:pre;position:relative;display:flex;align-items:center}.jx-cp .jx-cp-header .navbar .navbar-nav .nav-item:hover .jx-cp-sub-menu-wrap{display:block}.jx-cp .jx-cp-header .navbar .navbar-nav .nav-link{display:flex;align-items:center;padding:11px 15px;color:#222;border-bottom:3px solid transparent;line-height:1.6;font-size:15px;margin:0 3px}.jx-cp .jx-cp-header .navbar .navbar-nav .nav-link svg{width:15px;height:15px}.jx-cp .jx-cp-header .navbar .navbar-nav .nav-link:hover{color:#007bff;border-bottom-color:#007bff}.jx-cp .jx-cp-header .navbar .navbar-nav .nav-link:focus,.jx-cp .jx-cp-header .navbar .navbar-nav .nav-link:active{box-shadow:none;outline:none}.jx-cp .jx-cp-header .navbar .navbar-nav .nav-link.nav-active,.jx-cp .jx-cp-header .navbar .navbar-nav .nav-link.active{color:#007bff;border-bottom-color:#007bff}.jx-cp .jx-cp-header .navbar .navbar-nav .nav-link .badge-pill{padding-top:0;padding-bottom:0;font-weight:normal;line-height:1.125rem}@media (max-width: 1199.98px){.jx-cp .jx-cp-header .navbar .navbar-nav .nav-link{padding-left:0;padding-right:0}}.jx-cp .jx-cp-header .navbar .navbar-nav .nav-link .layout-builder-beta-badge{max-width:46px;height:15px;bottom:10px;position:relative;background-repeat:no-repeat}.jx-cp .jx-cp-header .navbar .navbar-nav .nav-link .layout-builder-beta-badge img{max-width:100%;height:auto}.jx-cp .jx-cp-header .navbar .navbar-nav .jx-cp-sub-menu-wrap{display:none;background:#fff;padding:15px 25px;min-width:210px;border-radius:4px;box-shadow:0 10px 15px 0 rgba(0,0,0,0.12);border:solid 1px #dfdfdf;position:absolute;top:100%;left:0;z-index:99}.jx-cp .jx-cp-header .navbar .navbar-nav .jx-cp-sub-menu-wrap .dropdown-item{padding:0;font-size:15px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:2.25;letter-spacing:normal;text-align:left;border-radius:4px;color:#222;box-shadow:none}.jx-cp .jx-cp-header .navbar .navbar-nav .jx-cp-sub-menu-wrap .dropdown-item:hover{background-color:transparent;color:#007bff}.jx-cp .jx-cp-header .navbar .navbar-nav .jx-cp-sub-menu-wrap .dropdown-item.active{color:#007bff;background-color:transparent}.jx-cp .jx-cp-header .navbar .jx-cp-help-links-wrap{display:flex;align-items:center}.jx-cp .jx-cp-header .navbar .jx-cp-help-links-wrap .nav-link{cursor:pointer}.jx-cp .jx-cp-header .navbar .navbar-collapse{justify-content:space-between}@media (min-width: 1200px){.jx-cp .jx-cp-header .navbar .navbar-collapse{max-height:50px}}@media (min-width: 768px){.jx-cp .jx-cp-header-top{display:flex;flex-flow:row wrap;align-items:center;justify-content:space-between}}.jx-cp .jx-cp-header-navs{white-space:nowrap}.jx-cp .jx-cp-updates-counts{padding:2px 7px;font-size:14px;font-weight:normal;color:#fff;background:#fd4b49;border-radius:11px}.jx-cp .jx-cp-help svg{font-size:20px}.jx-cp .jx-cp-help span{margin-left:3px;vertical-align:middle}.jx-cp .jx-cp-header-logo img,.jx-cp .jx-cp-header-logo svg{max-width:150px}@media (max-width: 767.98px){.jx-cp .jx-cp-header-logo{margin-bottom:1rem}}
2
+
3
+ .jx-loading{display:flex;align-items:center;justify-content:center;min-height:6rem;width:100%}
4
+
5
+ .jx-cp .jx-cp-alert{display:flex;align-items:flex-start}.jx-cp .jx-cp-alert .jx-cp-alert-icon{display:block;margin:1px 0.6875rem 0 0;font-size:1rem}.jx-cp .jx-cp-alert .jx-cp-alert-icon svg{display:block}.jx-cp .jx-cp-alert.alert-success .jx-cp-alert-icon{color:#4dc623}.jx-cp .jx-cp-alert.alert-warning .jx-cp-alert-icon{color:#fcae29}.jx-cp .jx-cp-alert.alert-danger .jx-cp-alert-icon{color:#fd4b49}
6
+
7
+ .jx-cp .jx-cp-dashboard .card-columns{column-count:1;column-gap:28px}@media (min-width: 992px){.jx-cp .jx-cp-dashboard .card-columns{column-count:2}}.jx-cp .jx-cp-dashboard .card-columns .card{margin-bottom:31px}.jx-cp .jx-cp-dashboard .jx-site-health .alert{margin-bottom:9px}.jx-cp .jx-cp-dashboard .jx-site-health .alert:last-of-type{margin-bottom:0}.jx-cp .jx-cp-dashboard-documentation .card-body{margin-bottom:-12px}.jx-cp .jx-cp-dashboard-documentation ul{margin-bottom:0;list-style:none}@media (min-width: 576px){.jx-cp .jx-cp-dashboard-documentation ul{column-count:2}}@media (min-width: 1440px){.jx-cp .jx-cp-dashboard-documentation ul{column-count:3}}.jx-cp .jx-cp-dashboard-documentation li{position:relative;padding-left:17px;margin-bottom:12px}.jx-cp .jx-cp-dashboard-documentation li::before{content:'';position:absolute;top:6px;left:0;height:6px;width:6px;background-color:#a7b5c2;border-radius:10px}.jx-cp .jx-cp-performance-tips .list-group-item{padding:12px 0}.jx-cp .jx-cp-performance-tips .list-group-item svg{margin-right:7px;margin-top:-2px;color:#a7b5c2}.jx-cp .jupiterx-cp-pro-banner{position:relative;margin-bottom:30px;padding:46px 32px 28px;background:#fafafa url("../../../assets/images/control-panel/pro-banner.jpg") no-repeat center 25%;background-size:cover;border-radius:10px;color:#fff}.jx-cp .jupiterx-cp-pro-banner .jupiterx-icon-pro{position:absolute;top:29px;right:31px;font-size:23px}.jx-cp .jupiterx-cp-pro-banner h1{margin-bottom:36px;font-size:38px;font-weight:300;color:#fff}.jx-cp .jupiterx-cp-pro-banner .btn{margin-bottom:25px}.jx-cp .jupiterx-cp-pro-banner .jx-cp-features{display:flex}@media (max-width: 767.98px){.jx-cp .jupiterx-cp-pro-banner .jx-cp-features{display:block}}.jx-cp .jupiterx-cp-pro-banner ul{margin:0 6% 0 0;font-size:16px}.jx-cp .jupiterx-cp-pro-banner ul li{display:flex}.jx-cp .jupiterx-cp-pro-banner ul .jupiterx-icon-check-solid{margin:1px 9px 0 0;opacity:0.5}.rtl .jx-cp .jupiterx-cp-pro-banner ul .jupiterx-icon-check-solid{margin:1px 0 0 9px}.jx-cp .jx-cp-dashboard-sellkit.dismiss-sellkit{display:none !important}.jx-cp .jx-cp-dashboard-sellkit .sellkit-alert-wrapper>div{width:100%;justify-content:space-between;display:flex}.jx-cp .jx-cp-dashboard-sellkit .sellkit-alert-wrapper img{width:100px;height:20px;object-fit:cover}.jx-cp .jx-cp-dashboard-sellkit .card-body{padding-bottom:0.5rem}.jx-cp .jx-cp-dashboard-sellkit .card-footer{background:transparent;border:none;padding-top:0;padding-bottom:1.25rem;display:flex;align-items:end;justify-content:space-between}.jx-cp .jx-cp-dashboard-sellkit .card-footer .btn-link{outline:none;border:none !important;box-shadow:none;text-decoration:none;color:#6c757d}.jx-cp .jx-cp-dashboard-sellkit .card-footer .btn-link:hover{border:none !important}.jx-cp .jx-cp-dashboard-sellkit .card-footer .sellkit-footer-wrapper{display:flex;align-items:center}.jx-cp .jx-cp-dashboard-sellkit .card-footer .sellkit-footer-wrapper .jx-loading{padding:0.5rem;display:flex;align-items:center;border:1px solid #6c757d;border-radius:0.2rem;justify-content:center;width:127px;min-height:max-content}.jx-cp .jx-cp-dashboard-sellkit .card-footer .sellkit-text-wrapper{display:flex;flex-direction:column}.jx-cp .jx-cp-dashboard-sellkit .card-footer .sellkit-text-wrapper span{font-weight:600;font-size:12px}
8
+
9
+ .templates-posts .condition-content{margin:28.5px 23px 13px 35px}.templates-posts .condition-content .condition-info{margin-bottom:42px}.templates-posts .condition-content .condition-header-desc{font-size:14px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.6em;letter-spacing:normal;text-align:left;color:#6c757d}.templates-posts .condition-content .condition-header-back{height:34px;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;padding:4px 17px 9px 12.3px;border-radius:4px;border:solid 1px #6c757d;background-color:#ffffff}.templates-posts .condition-content .condition-header-back svg{padding-top:3px}.templates-posts .condition-content .condition-header{margin-bottom:9px;font-size:20px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.2;letter-spacing:normal;text-align:left;color:#222222}.templates-posts .condition-content .condition-header-title{height:16px;font-size:14px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.14;letter-spacing:normal;text-align:left;color:#007bff}.templates-posts .templates-header{margin-top:30px !important;margin-lefT:35px !important}.templates-posts .templates-header .jx-layout-builder-header-left-side{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;justify-content:flex-start;align-items:center;padding:0;column-gap:30px}.templates-posts .templates-header .jx-layout-builder-header-right-side{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;justify-content:flex-end;align-items:center;column-gap:10px}.templates-posts .templates-header .posts-header-title{font-size:20px;font-weight:bold;font-stretch:normal;font-style:normal;line-height:1.25;letter-spacing:normal;text-align:left;color:#222222}.templates-posts .templates-header .posts-header-add{height:34px !important;padding:8px 18px 9px 13px;font-size:14px;font-weight:500;font-stretch:normal;font-style:normal;line-height:1.21;letter-spacing:normal;text-align:center;color:#ffffff}.templates-posts .templates-header .post-types{display:flex;justify-content:flex-end;flex:auto}.templates-posts .templates-header .post-types span{padding-top:10px}.templates-posts .templates-header .post-types .post-type{min-width:174px;height:34px !important}.templates-posts .templates-header .post-header-import{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;justify-content:center;align-items:center;height:34px !important;min-height:34px !important;right:0px}.templates-posts .templates-header .post-header-import span{margin:0 0 0 10px;font-size:14px;font-weight:500;font-stretch:normal;font-style:normal;line-height:1.21;letter-spacing:normal;text-align:center}.templates-posts .layout-builder-import-form{margin:28px 0px 13px 35px}.templates-posts .layout-builder-import-form .import-file-handler{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;justify-content:center;align-items:center;margin-top:15px;min-height:400px;border-radius:4px;border:solid 1px #e2e2e2;background-color:#dfdfdf}.templates-posts .layout-builder-import-form .import-file-handler .jx-drop-area{display:flex;flex-direction:column;flex-wrap:wrap;align-content:center;align-items:center;justify-content:center;row-gap:22px;font-family:"“Helvetica Neue”", Helvetica, Arial, sans-serif}.templates-posts .layout-builder-import-form .import-file-handler .jx-drop-area .layout-builder-upload-import{width:48px;height:48px;color:#a7b5c2}.templates-posts .layout-builder-import-form .import-file-handler .jx-drop-area .jx-drop-import-text{font-size:20px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.2;letter-spacing:normal;text-align:left;color:#222}.templates-posts .layout-builder-import-form .import-file-handler .jx-drop-area .jx-drag-drop-text{font-size:14px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.14;letter-spacing:normal;text-align:left}.templates-posts .layout-builder-import-form .import-file-handler .jx-drop-area .jx-drop-drag-or{font-size:20px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.2;letter-spacing:normal;text-align:left;color:#222}.templates-posts .layout-builder-import-form .import-file-handler .jx-drop-area .file-container{display:none}.templates-posts .layout-builder-import-form .import-file-handler .jx-drop-area .jx-layout-import-submit-btn{display:none}.templates-posts .layout-builder-import-form .import-file-handler .jx-drop-area .jx-upload-file-wrapper{padding:8px 17px;border-radius:4px;color:white;background-color:#007bff;cursor:pointer}.templates-posts .layout-builder-import-form .import-file-handler .jx-drop-area #jx-layout-import-file-upload-btn{display:none}.templates-posts .layout-builder-import-form .import-file-handler .jx-drop-area #jx-layout-builder-import-error-area{font-size:14px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.2;letter-spacing:normal;text-align:left;color:red}.templates-posts .layout-builder-import-form .import-file-handler .input-file{display:none}.templates-posts .custom-col{width:49% !important}.templates-posts .items-container{margin:0px 1px 29px 0px !important;padding-left:35px !important;padding-right:0px !important;padding-top:8.5px;display:flex;flex-direction:row;flex-wrap:wrap !important;align-content:center;justify-content:center;align-items:center;column-gap:23px}.templates-posts .items-container .medium-height{height:306px !important}.templates-posts .items-container .medium-height .item-body{height:190px !important;overflow-x:hidden}.templates-posts .items-container .medium-height .item-body iframe{height:190px !important;width:100%}.templates-posts .items-container .large-height{height:612px !important}.templates-posts .items-container .large-height .item-body{height:496px !important;overflow-x:hidden}.templates-posts .items-container .large-height .item-body iframe{height:496px !important;width:100%}.templates-posts .items-container .layout-builder-templates-item{margin-top:31px;padding-right:23px !important;padding-left:23px !important;border-radius:4px;box-shadow:0 7px 12px 0 rgba(0,0,0,0.08) !important;border:solid 1px #e2e2e2;background-color:#ffffff}.templates-posts .items-container .layout-builder-templates-item .item-header{height:61px !important;padding-right:0 !important;padding-left:0 !important}.templates-posts .items-container .layout-builder-templates-item .item-header .icon-circle{margin-right:10px !important;margin-top:5px;width:8px;height:8px;color:#52c41a}.templates-posts .items-container .layout-builder-templates-item .item-header .dropdown-toggle{box-shadow:none !important}.templates-posts .items-container .layout-builder-templates-item .item-header .layout-builder-title{width:89px;height:18px;margin:1px 11.5px 8px 0;font-size:16px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.13;letter-spacing:normal;text-align:left;color:#222222}.templates-posts .items-container .layout-builder-templates-item .item-header .layout-builder-edit{width:16px;height:14px;margin:10px 42px 10px 0px;color:#007bff;cursor:pointer}.templates-posts .items-container .layout-builder-templates-item .item-header .dropdown button{width:4px;height:20px}.templates-posts .items-container .layout-builder-templates-item .item-header .dropdown button::after{display:none}.templates-posts .items-container .layout-builder-templates-item .item-header .dropdown .dropdown-menu{inset:0px 50px 50px 0px;min-width:119px;margin:15px 0 0 0;padding:0 0 0 0;border-radius:4px;border:solid 1px #e2e2e2;box-shadow:0 1px 6px 0 rgba(0,0,0,0.16);background-color:#ffffff}.templates-posts .items-container .layout-builder-templates-item .item-header .dropdown .dropdown-item{width:119px !important;height:30px !important;margin:0px 0px;padding:0px 5px 0px 12px;display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;justify-content:flex-start;align-items:center;background-color:#ffffff}.templates-posts .items-container .layout-builder-templates-item .item-header .dropdown .dropdown-menu>:first-child{padding-top:4px}.templates-posts .items-container .layout-builder-templates-item .item-header .dropdown .dropdown-menu>:first-child svg{margin-bottom:3px}.templates-posts .items-container .layout-builder-templates-item .item-header .dropdown .dropdown-menu>:last-child svg{margin-bottom:4px}.templates-posts .items-container .layout-builder-templates-item .item-header .dropdown .dropdown-item:hover{background-color:#f8f9fa}.templates-posts .items-container .layout-builder-templates-item .item-header .dropdown .dropdown-item svg{width:16px;height:14px;margin:1.9px 4px 1.9px 0;color:#222222}.templates-posts .items-container .layout-builder-templates-item .item-header .dropdown .dropdown-item span{height:16px;margin:0 0 0 0px;font-size:14px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.14;letter-spacing:normal;text-align:left;color:#222222}.templates-posts .items-container .layout-builder-templates-item .item-body{display:inline-block !important;flex:none !important;padding:0.2px !important;overflow:hidden;background-color:#ffffff}.templates-posts .items-container .layout-builder-templates-item .template-loading-animation{position:absolute;left:45%;top:45%}.templates-posts .items-container .layout-builder-templates-item .item-footer{height:55px !important;display:inline-flex;position:relative;flex-wrap:nowrap;padding-top:17px !important;padding-right:0 !important;padding-left:0 !important;background-color:#ffffff !important}.templates-posts .items-container .layout-builder-templates-item .item-footer .layout-builder-conditions{display:inline-flex;column-gap:18px}.templates-posts .items-container .layout-builder-templates-item .item-footer .layout-builder-conditions .layout-builder-sitemap{max-width:80%;display:inline-flex;column-gap:8px}.templates-posts .items-container .layout-builder-templates-item .item-footer .layout-builder-conditions .layout-builder-sitemap svg{width:20px;height:16px;color:#a7b5c2}.templates-posts .items-container .layout-builder-templates-item .item-footer .layout-builder-conditions .layout-builder-sitemap .condition-text{height:17px;margin-top:-1px;height:14px;font-size:12px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.17;letter-spacing:normal;text-align:left;color:#6c757d}.templates-posts .items-container .layout-builder-templates-item .item-footer .layout-builder-conditions .layout-builder-sitemap .condition-text b{font-size:14px;font-weight:bold;font-stretch:normal;font-style:normal;line-height:1.25;letter-spacing:normal;text-align:left;color:#222222}.templates-posts .items-container .layout-builder-templates-item .item-footer .layout-builder-conditions .condition-edit{height:17px;font-size:14px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.14;letter-spacing:normal;text-align:left;color:#007bff;cursor:pointer}.templates-posts .items-container .layout-builder-templates-item .item-footer .layout-builder-info{display:inline-flex;position:absolute;right:0;column-gap:15px}.templates-posts .items-container .layout-builder-templates-item .item-footer .layout-builder-info .layout-builder-date{display:inline-flex;column-gap:8px}.templates-posts .items-container .layout-builder-templates-item .item-footer .layout-builder-info .layout-builder-date svg{width:14px;height:16px;color:#a7b5c2}.templates-posts .items-container .layout-builder-templates-item .item-footer .layout-builder-info .layout-builder-date span{padding-top:1px;height:14px;font-size:12px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.17;letter-spacing:normal;text-align:left;color:#6c757d}.templates-posts .items-container .layout-builder-templates-item .item-footer .layout-builder-info .layout-builder-author{display:inline-flex;column-gap:8px}.templates-posts .items-container .layout-builder-templates-item .item-footer .layout-builder-info .layout-builder-author svg{width:16px;height:16px;color:#a7b5c2}.templates-posts .items-container .layout-builder-templates-item .item-footer .layout-builder-info .layout-builder-author span{padding-top:1px;height:14px;font-size:12px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.17;letter-spacing:normal;text-align:left;color:#6c757d}.layout-template-new-dialog .jx-loading{min-height:auto !important;min-width:50px !important}.layout-template-new-dialog .jx-loading div{color:white !important}.layout-template-new-dialog button.close{outline:none !important}.layout-template-new-dialog button.close:focus{outline:none !important}.layout-template-new-dialog .btn-secondary,.layout-builder-dialog-edit .btn-secondary,.layout-template-delete-dialog .btn-secondary{width:82px;height:34px;margin-bottom:27px !important;background-color:white !important;color:#6c757d !important;font-size:14px;font-weight:500;font-stretch:normal;font-style:normal;line-height:1.21;letter-spacing:normal;text-align:center;order:-2}.layout-template-new-dialog .btn-primary,.layout-builder-dialog-edit .btn-primary,.layout-template-delete-dialog .btn-primary{width:82px;height:34px;margin-bottom:27px !important;margin-left:19px !important}.layout-template-new-dialog .modal-dialog,.layout-builder-dialog-edit .modal-dialog,.layout-template-delete-dialog .modal-dialog{max-width:600px !important}.layout-template-new-dialog input,.layout-builder-dialog-edit input,.layout-template-delete-dialog input{height:34px;margin:10px 22.5px 32px 24.5px;border-radius:4px;border:solid 1px #ced4da;background-color:#ffffff}.layout-template-new-dialog .modal-footer,.layout-builder-dialog-edit .modal-footer,.layout-template-delete-dialog .modal-footer{border-top:none !important;padding-bottom:0px !important}.layout-template-delete-dialog .modal-title{height:19px;font-size:16px;font-weight:bold;font-stretch:normal;font-style:normal;line-height:1.19;letter-spacing:normal;text-align:left;color:#222222}.layout-template-delete-dialog .desc-text{height:16px;margin:35.5px 33px 36px 24.5px;font-size:14px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.14;letter-spacing:normal;text-align:left;color:#222222}.layout-template-delete-dialog .rm-icon{width:20px !important;height:18px !important}.jx-layout-builder-header-footer-settings{padding:30px 0 0 20px}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body{margin:20px 0 0 0}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-overlap-wrapper{margin:0 0 2px 0}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-overlap-wrapper div{margin-bottom:8px}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-behaviors-wrapper{flex-direction:row;column-gap:0px}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-behaviors-wrapper>span{padding:0;border-radius:0 !important}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-behaviors-wrapper>span label{min-width:100px;min-height:30px;padding:6px 6px}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-behaviors-wrapper>button{display:inline-flex;border-radius:0 !important}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .save-succeed-result,.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .save-error-result{display:none}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-fixed-header-settings .jx-fixed-header-position{display:flex;flex-direction:row;column-gap:0px}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-fixed-header-settings .jx-fixed-header-position>span{padding:0;border-radius:0 !important}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-fixed-header-settings .jx-fixed-header-position>span label{min-width:100px;min-height:30px;padding:6px 6px}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-sticky-header-settings .jx-sticky-header-offset span{flex-direction:row;align-items:center;column-gap:20px}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-sticky-header-settings .jx-sticky-header-offset span .jx-sticky-offset-px{position:relative;right:40px}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-sticky-header-settings .jx-sticky-offset-input{width:70px;padding-right:20px;-webkit-appearance:none;-moz-appearance:none}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-sticky-header-settings .jx-sticky-offset-input::-webkit-outer-spin-button,.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-sticky-header-settings .jx-sticky-offset-input::-webkit-inner-spin-button{-webkit-appearance:none}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-sticky-header-settings .jupiterx-layout-builder-header-sticky-template{width:315px;max-width:315px}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-sticky-header-settings .jupiterx-layout-builder-header-sticky-template input{box-shadow:none !important;font-size:16px !important;line-height:1.14}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-sticky-header-settings .jupiterx-layout-builder-header-sticky-template>div[class*="control"]{height:34px;min-height:34px;border:1px solid #ced4da;box-shadow:none}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-sticky-header-settings .jupiterx-layout-builder-header-sticky-template>div[class*="control"]:hover{border-color:#635cff !important;cursor:text}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-sticky-header-settings .jupiterx-layout-builder-header-sticky-template div[class*="Input"]>div{position:relative;bottom:5px}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-sticky-header-settings .sticky-templates-wrapper{position:relative;flex-direction:row;flex-wrap:wrap;align-content:center;justify-content:flex-start;align-items:center;column-gap:5px}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-sticky-header-settings .sticky-templates-wrapper .clearer-icon{position:absolute;left:290px;z-index:999;cursor:pointer}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-sticky-header-settings .sticky-templates-wrapper .hide-clearer{display:none !important}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-sticky-header-settings .header-template-new-btn{max-height:34px;display:inline-flex;align-items:center}.jx-layout-builder-header-footer-settings .jx-layout-builder-header-footer-settings-body .jx-sticky-header-settings .header-template-edit-btn{max-height:34px;display:inline-flex;align-items:center}@media only screen and (max-width: 1684px){.templates-posts .custom-col{width:100% !important;margin-top:31px !important}}
10
+
11
+ .jupiterx-form-condition-manager{margin-top:44px}.jupiterx-form-condition-manager .jupiterx-layout-condition-row{height:67px;margin:0px 0px 8px 35px;padding:17px 37px 16px 10px;border-radius:4px;justify-content:flex-start;background-color:#fafafa}.jupiterx-form-condition-manager .jupiterx-layout-condition-row:hover{background-color:#F5F6F6}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group{padding-left:0px !important}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group optgroup{text-transform:capitalize}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .fa-plus-circle{width:16px;height:16px;color:#52c41a;border:1px solid #52c41a}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .fa-minus-circle{width:16px;height:16px;padding:0;color:#fd4b49;border:1px solid #fd4b49}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .parameter-icons{margin-right:10px}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .fa-trash-alt{color:#fd4b49}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group select{min-width:100%;margin:0 15px 0 0;padding:2px 12px;border:solid 1px #ced4da;border-radius:4px;background-color:#ffffff;color:#222222;box-shadow:none;font-size:14px;font-style:normal;font-weight:normal;letter-spacing:normal;line-height:1.14rem;text-align:left;font-stretch:normal}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single .select__control{height:35px;min-height:35px !important}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single div[class*="-control"]{height:35px;display:flex;flex-direction:row;flex-wrap:wrap;align-content:space-between;align-items:center;min-height:35px !important;box-shadow:none}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single div[class*="-control"] *{border:none;box-shadow:none;appearance:none !important}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single div[class*="-control"] div:nth-child(1){display:flex;margin-top:-1px;flex-direction:row;flex-wrap:nowrap;align-content:flex-start;align-items:baseline;justify-content:center}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single div[class*="-control"] div:nth-child(1) div{width:100%;margin-top:-1.25px;display:flex !important;flex-direction:row;justify-content:flex-start;align-items:flex-end;column-gap:7px;font-size:14px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.14rem;letter-spacing:normal;text-align:left;color:#222222}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single div[class*="-control"] div:nth-child(1) div input{width:100% !important}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single div[class*="-control"] div:nth-child(1) div[class*="placeholder"]{opacity:0.5;padding-left:7px}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single div[class*="-control"] div:nth-child(1) div[class*="singleValue"]{padding-left:7px}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single div[class*="-control"] div:nth-child(2){margin-top:-2px}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single div[class*="-control"] div:nth-child(2) .clearer-indicator{position:absolute;right:15px;top:6px}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single div[class*="-control"] div:nth-child(2) span[class*="indicatorSeparator"]{display:none}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single div[class*="-control"] div:nth-child(2) svg{margin-right:-5px;color:#7c7c7c}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single #react-select-2-input{min-height:auto !important}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single-first .select__control{height:35px;min-height:35px !important}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single-first div[class*="-control"]{height:35px;min-height:35px !important}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single-first div[class*="-control"] div:nth-child(1){display:flex;margin-left:2.5px;flex-direction:row;flex-wrap:nowrap;align-content:flex-start;align-items:baseline;justify-content:center}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single-first div[class*="-control"] div:nth-child(1) div{width:100%;display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-end;column-gap:7px;font-size:14px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.14rem;letter-spacing:normal;text-align:left;color:#222222}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single-first div[class*="-control"] div:nth-child(2){margin-top:-1px}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single-first div[class*="-control"] div:nth-child(2) span[class*="indicatorSeparator"]{display:none}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .form-group .basic-single-first div[class*="-control"] div:nth-child(2) svg{margin-right:-5px;color:#7c7c7c}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .delete-row{position:relative}.jupiterx-form-condition-manager .jupiterx-layout-condition-row .delete-row button{position:absolute;margin-left:-1px;box-shadow:none}.jupiterx-form-condition-manager .jupiterx-condition-submit-button .add-new{height:34px;margin:5px 0px 0px 0px;padding:5px 18px 9px 15px;border-radius:4px}.jupiterx-form-condition-manager .jupiterx-condition-submit-button .condition-saver{width:auto;padding-right:37px;padding-left:37px}@media only screen and (max-width: 992px){.jupiterx-form-condition-manager .jupiterx-layout-condition-row{height:auto !important}}
12
+
13
+ .jupiterx-layout-builder{padding-bottom:33px}.jupiterx-layout-builder .layout-builder-title{font-size:26px;text-align:left;line-height:32px;color:#222222}.jupiterx-layout-builder .layout-builder-title::after{display:inline-block;margin:0 0 6px 3px;width:54px;height:25px;background-image:url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='59.1px' height='32.4px' viewBox='0 0 59.1 32.4' style='enable-background:new 0 0 59.1 32.4;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FCE1AE;%7D .st1%7Benable-background:new ;%7D .st2%7Bfill:%23222222;%7D%0A%3C/style%3E%3Cg%3E%3Cpath id='Rectangle_142' class='st0' d='M16.7,5.8h25c5.2,0,9.5,4.3,9.5,9.5l0,0c0,5.2-4.3,9.5-9.5,9.5h-25c-5.2,0-9.5-4.3-9.5-9.5 l0,0C7.2,10,11.5,5.8,16.7,5.8z'/%3E%3Cg class='st1'%3E%3Cpath class='st2' d='M19.3,11.2c0.2,0,0.4,0,0.6,0c0.2,0,0.4,0,0.6,0c0.2,0,0.4,0.1,0.6,0.1c0.2,0,0.3,0.1,0.5,0.2 c0.3,0.2,0.5,0.4,0.7,0.7c0.2,0.3,0.3,0.7,0.3,1.1c0,0.5-0.1,0.8-0.3,1.2c-0.2,0.3-0.5,0.6-0.9,0.7v0c0.5,0.1,0.9,0.4,1.2,0.7 c0.3,0.4,0.4,0.8,0.4,1.3c0,0.3-0.1,0.6-0.2,0.9c-0.1,0.3-0.3,0.6-0.5,0.8c-0.2,0.2-0.5,0.4-0.8,0.6c-0.3,0.1-0.7,0.2-1.1,0.2 h-4.1v-8.6H19.3z M19.6,14.9c0.6,0,1.1-0.1,1.4-0.3c0.3-0.2,0.4-0.6,0.4-1c0-0.3,0-0.5-0.1-0.7c-0.1-0.2-0.2-0.3-0.4-0.4 s-0.4-0.2-0.6-0.2c-0.2,0-0.5,0-0.7,0h-2.3v2.7H19.6z M20.2,18.8c0.5,0,0.9-0.1,1.2-0.4c0.3-0.3,0.4-0.6,0.4-1.1 c0-0.3-0.1-0.5-0.2-0.7c-0.1-0.2-0.2-0.3-0.4-0.4c-0.2-0.1-0.4-0.2-0.6-0.2c-0.2,0-0.5-0.1-0.7-0.1h-2.6v3H20.2z'/%3E%3Cpath class='st2' d='M30.3,11.2v1h-4.8v2.7H30v1h-4.5v3h4.8v1h-6v-8.6H30.3z'/%3E%3Cpath class='st2' d='M30.8,12.2v-1h6.9v1h-2.9v7.6h-1.1v-7.6H30.8z'/%3E%3Cpath class='st2' d='M41.1,11.2l3.3,8.6h-1.3l-0.9-2.6h-3.6l-1,2.6h-1.2l3.3-8.6H41.1z M41.9,16.2l-1.4-4h0l-1.5,4H41.9z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");content:""}.jupiterx-layout-builder .layout-builder-description{padding-top:15px;font-size:14px;text-align:left;line-height:16px;color:#6c757d}.jupiterx-layout-builder-list{margin-top:0px !important;display:flex;flex-wrap:nowrap !important}.jupiterx-layout-builder-list .layout-list-wrap{min-width:170px !important;max-width:170px !important;padding-top:20px;border-right:solid 1px #dfdfdf;background-color:#ffffff}.jupiterx-layout-builder-list .list-focus{font-size:16px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.13;letter-spacing:normal;text-align:left;color:#007bff !important;border-right:3px solid #007bff;background-color:#f5faff !important}.jupiterx-layout-builder-list .layout-menu-item{padding:12px 1px 13px 22px !important;font-size:16px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.13;letter-spacing:normal;text-align:left;color:#222222;background-color:#ffffff;cursor:pointer;text-decoration:none !important}.jupiterx-layout-builder-list .layout-menu-item:hover{color:#007bff}.jupiterx-layout-builder-list .layout-menu-item:focus{box-shadow:none !important;outline:none !important}.jupiterx-layout-builder-list .templates-posts{flex-grow:1}
14
+
15
+ .custom-snippet-list-table .custom-snippet-start-card{max-width:100%;padding:0}.custom-snippet-list-table .custom-snippet-start-card .card-header{padding-top:22px;padding-left:25px;border-bottom:0;background-color:transparent;font-size:26px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif}.custom-snippet-list-table .custom-snippet-start-card .card-body{max-width:500px;margin:0 auto;padding-bottom:66px}.custom-snippet-list-table .custom-snippet-start-card img{margin-bottom:4px}.custom-snippet-list-table .custom-snippet-start-card .card-title{font-size:26px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif}.custom-snippet-list-table .custom-snippet-start-card .card-text{color:#6c757d;font-size:18px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif}.custom-snippet-list-table .custom-snippet-start-card #custom-snippet-empty-add-new{display:inline-flex;margin-top:22px;padding:18px 40px 18px 40px;border-radius:4px;background-color:#007bff;font-size:20px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-weight:500;font-stretch:normal;font-style:normal;line-height:1.25;letter-spacing:normal;text-align:center;color:#fff;cursor:pointer;flex-direction:column;flex-wrap:nowrap;justify-content:center}.custom-snippet-list-table .custom-snippets-list-header{display:flex;flex-direction:row;align-content:space-between;align-items:baseline;justify-content:flex-start;margin:-4px 0 5px 0}.custom-snippet-list-table .custom-snippets-list-header span{height:31px;margin:0 55px 44px 8px;color:#222;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-size:26px;font-style:normal;font-weight:500;letter-spacing:normal;line-height:1.23;text-align:left;font-stretch:normal}.custom-snippet-list-table .custom-snippets-list-header button{height:34px;padding:8px 20px 9px 24px;border-radius:4px;background-color:#007bff;color:#fff;font-size:14px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:500;letter-spacing:normal;line-height:1.21;text-align:center;font-stretch:normal}.custom-snippet-list-table .table-bulk-actions{display:flex;margin-bottom:15px}.custom-snippet-list-table .table-bulk-actions select{width:auto;min-width:135px;padding-top:9px;padding-bottom:9px;border:solid 1px #ced4da;border-radius:4px;background-color:#fff;color:#222;font-size:14px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-height:1.14;text-align:left;font-stretch:normal}.custom-snippet-list-table .table-bulk-actions button{margin-left:10px;padding:8px 22px 9px;border:solid 1px #6c757d;border-radius:4px;background-color:#fff;color:#6c757d;font-size:14px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:500;letter-spacing:normal;line-height:1.21;text-align:center;font-stretch:normal}.custom-snippet-list-table .table-bulk-actions .jx-loading{min-height:auto !important}.custom-snippet-list-table tr{border-bottom:1px solid #dfdfdf !important}.custom-snippet-list-table th,.custom-snippet-list-table td{border:none !important}.custom-snippet-list-table th{height:40px;padding-top:0 !important;padding-bottom:10px !important;color:#222;font-size:14px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:500;font-weight:500;letter-spacing:normal;line-height:1.21;text-align:left;font-stretch:normal}.custom-snippet-list-table td{height:60px !important;padding-top:0 !important;padding-bottom:0 !important;color:#222;font-size:14px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-height:1.43;text-align:left;vertical-align:middle !important;font-stretch:normal}.custom-snippet-list-table thead{background-color:#fafafa}.custom-snippet-list-table thead th,.custom-snippet-list-table thead td{border:none !important}.custom-snippet-list-table thead tr{border:1px solid #dfdfdf !important}.custom-snippet-list-table tbody tr:hover{background-color:#fafafa !important}.custom-snippet-list-table .custom_snippets_table_head th:nth-child(1){width:25% !important}.custom-snippet-list-table .custom_snippets_table_head th:nth-child(1) span{position:absolute;top:13px}.custom-snippet-list-table .custom_snippets_table_head th:nth-child(2){width:15% !important}.custom-snippet-list-table .custom_snippets_table_head th:nth-child(3){width:15% !important}.custom-snippet-list-table .custom_snippets_table_head th:nth-child(4){width:18% !important}.custom-snippet-list-table .custom_snippets_table_head th:nth-child(5){width:18% !important}.custom-snippet-list-table .custom_snippets_table_head th:nth-child(6){width:9% !important;text-align:left !important}.custom-snippet-list-table .custom_snippets_table_body .child-boxes,.custom-snippet-list-table .custom_snippets_table_body .parent-box{width:16px;height:16px;border:solid 1px #aeb5bd;border-radius:3px;background-color:#fff}.custom-snippet-list-table .custom_snippets_table_body td:nth-child(1){position:relative;width:25% !important;color:#1069d9;font-size:14px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:bold;letter-spacing:normal;line-height:1.43;text-align:left;font-stretch:normal}.custom-snippet-list-table .custom_snippets_table_body td:nth-child(1) span.custom-snippets-title{cursor:pointer}.custom-snippet-list-table .custom_snippets_table_body td:nth-child(2){width:15% !important;color:#222;font-size:14px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-height:1.43;text-align:left;font-stretch:normal}.custom-snippet-list-table .custom_snippets_table_body td:nth-child(3){width:15% !important;color:#222;font-size:14px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-height:1.43;text-align:left;font-stretch:normal}.custom-snippet-list-table .custom_snippets_table_body td:nth-child(4){width:18% !important;color:#007bff;font-size:14px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-height:1.43;text-align:left;font-stretch:normal}.custom-snippet-list-table .custom_snippets_table_body td:nth-child(5){width:18% !important;color:#222;font-size:14px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-height:1.43;text-align:left;font-stretch:normal}.custom-snippet-list-table .custom_snippets_table_body td:nth-child(6){width:9% !important;color:#222;font-size:14px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-height:1.43;text-align:left !important;font-stretch:normal}.custom-snippet-list-table .jupiterx-custom-snippet-field-name{font-weight:500}.custom-snippet-list-table .jupiterx-custom-snippet-field-name .title-wrapper{display:inline-flex;flex-direction:row;flex-wrap:nowrap;column-gap:5px;justify-content:center;align-items:center}.custom-snippet-list-table .jupiterx-custom-snippet-field-name .title-wrapper .badge{padding:7px 17px;background-color:#ffeac1;color:#806c45;font-size:13px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-weight:normal}.custom-snippet-list-table .jupiterx-custom-snippet-field-name .w-70{width:70%}.custom-snippet-list-table .actions-wrapper{display:flex;position:relative;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;padding-top:2px}.custom-snippet-list-table .actions-wrapper svg.fa-ellipsis-v{position:relative;bottom:2px;left:20px;box-shadow:none}.custom-snippet-list-table .actions-wrapper button:focus{box-shadow:none !important}.custom-snippet-list-table .actions-wrapper a.jupiterx-custom-snippet-action-edit{display:flex;padding:0;color:#007bff;font-size:14px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-height:1.14;text-align:left;font-stretch:normal}.custom-snippet-list-table .actions-wrapper a.jupiterx-custom-snippet-action-edit:focus{box-shadow:none !important}.custom-snippet-list-table .jupiterx-custom-snippet-action-more .dropdown-toggle{margin-top:4px;color:#6c757d}.custom-snippet-list-table .jupiterx-custom-snippet-action-more .dropdown-toggle svg{width:auto;height:20px}.custom-snippet-list-table .jupiterx-custom-snippet-action-more .dropdown-toggle::after{display:none}.custom-snippet-list-table .jupiterx-custom-snippet-action-more .dropdown-menu{padding:8px 0 8px 1px;max-width:120px !important;min-width:120px !important;transform:translate(-90px, 32px) !important;display:flex;flex-flow:row wrap;place-content:center flex-start;align-items:baseline;row-gap:0px}.custom-snippet-list-table .jupiterx-custom-snippet-action-more .dropdown-menu a{margin:0px !important;font-size:14px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.14;letter-spacing:normal;text-align:left;color:#222}.custom-snippet-list-table .jupiterx-custom-snippet-action-more .dropdown-menu a:nth-child(1){padding:6px 0 7px 11px}.custom-snippet-list-table .jupiterx-custom-snippet-action-more .dropdown-menu a:nth-child(2){padding:6px 0 7px 11px}.custom-snippet-list-table .jupiterx-custom-snippet-action-more.show .dropdown-toggle{color:#222}.custom-snippet-list-table .jupiterx-custom-snippet-action-view svg{margin-top:2px}.custom-snippet-list-table .jupiterx-custom-snippet-action-delete{color:#fd4b49 !important}.custom-snippets-add-new hr{margin:0 !important}.custom-snippets-add-new div.snippets-conditions-wrapper .jupiterx-form-condition-manager .jupiterx-layout-condition-row{margin:0 0 8px 0}.custom-snippets-add-new div.step-wrapper{margin:45px 0 50px 0}.custom-snippets-add-new div.step-wrapper .steps-desc{display:block;height:23px;margin-bottom:17px;color:#222;font-size:20px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-height:1.2;text-align:left;font-stretch:normal}.custom-snippets-add-new div.step-wrapper input,.custom-snippets-add-new div.step-wrapper select{border:solid 1px #ced4da;border-radius:4px;background-color:#fff;box-shadow:none !important}.custom-snippets-add-new div.step-wrapper .ace_print-margin{display:none !important}.custom-snippets-add-new .header-wrapper{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:space-between}.custom-snippets-add-new .header-wrapper .post-back-button{position:relative;display:inline-flex;padding:.375rem .75rem;font-weight:400;font-size:14px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;line-height:1.5;border-radius:.25rem;text-align:center;vertical-align:middle;background-color:transparent;border:1px solid transparent;color:#6c757d !important;border-color:#6c757d !important;flex-direction:column;flex-wrap:wrap;justify-content:center;align-content:center}.custom-snippets-add-new .header-wrapper .post-back-button:hover{color:#fff !important}.custom-snippets-add-new .header-wrapper .post-back-button svg{font-size:19px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;position:relative;right:5px;top:1px}.custom-snippets-add-new .header-wrapper .header{display:block;height:31px;margin:-16px 0 -5px 0;color:#222;font-size:26px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:500;letter-spacing:normal;line-height:1.23;text-align:left;font-stretch:normal}.custom-snippets-add-new .header-wrapper button{height:34px;margin-left:50px;border-radius:4px;color:#fff;font-size:14px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:500;letter-spacing:normal;line-height:1.21;text-align:center;font-stretch:normal}.custom-snippets-add-new .jupiterx-form-condition-manager{margin-top:5px}.custom-snippets-add-new .jupiterx-form-condition-manager .jupiterx-condition-submit-button{padding-left:1rem}.custom-snippets-add-new .jupiterx-form-condition-manager .jupiterx-condition-submit-button .custom-snippet{margin:16px 0 0 0;padding:8px 18px 9px 15px;border:none !important;border-radius:4px;background-color:#007bff;color:#fff;font-size:14px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:500;letter-spacing:normal;line-height:1.21;text-align:center;font-stretch:normal}.custom-snippets-add-new .jupiterx-form-condition-manager .jupiterx-condition-submit-button .custom-snippet:hover,.custom-snippets-add-new .jupiterx-form-condition-manager .jupiterx-condition-submit-button .custom-snippet:active,.custom-snippets-add-new .jupiterx-form-condition-manager .jupiterx-condition-submit-button .custom-snippet:focus{border:none !important;background-color:#007bff !important;box-shadow:none !important}.custom-snippets-add-new .submit-area{padding-top:37px}.custom-snippets-add-new .submit-area .checkbox-wrap{padding-bottom:19px}.custom-snippets-add-new .submit-area .new-custom-snippets-submit{height:46px;padding-right:35px;padding-left:35px;border-radius:4px;background-color:#007bff;color:#fff;font-size:18px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:500;letter-spacing:normal;line-height:1.28;text-align:center;box-shadow:none !important;font-stretch:normal}.custom-snippets-add-new .submit-area .saving-mode{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;opacity:0.5}.custom-snippets-add-new .submit-area .saving-mode span{margin-top:4px}.custom-snippets-add-new .submit-area .remove-btn{height:46px;padding-right:29px;padding-left:29px;border:solid 1px #fd4b49;border-radius:4px;background-color:#fff;color:#fd4b49;font-size:18px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:500;letter-spacing:normal;line-height:1.28;text-align:center;box-shadow:none !important;font-stretch:normal}.custom-snippets-add-new .submit-area .show-error-result{color:red}.custom-snippet-wrapper .custom-snippet-start-card{padding-top:100px;padding-bottom:360px;border:none !important}.custom-snippet-wrapper .custom-snippet-start-card .card-header{border:none !important}.custom-snippet-wrapper .custom-snippet-start-card .card-body .card-title{margin-top:45px;color:#222;font-size:26px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:500;letter-spacing:normal;line-height:1.23;text-align:center;font-stretch:normal}.custom-snippet-wrapper .custom-snippet-start-card .card-body .text-wrapper{display:flex;flex-direction:column;flex-wrap:wrap;align-content:space-around}.custom-snippet-wrapper .custom-snippet-start-card .card-body .text-wrapper .card-text{max-width:489px;height:105px;color:#6c757d;font-size:18px;font-family:“Helvetica Neue”, Helvetica, Arial, sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-height:1.56;text-align:center;font-stretch:normal}.custom-snippet-wrapper .custom-snippet-start-card .card-body button{margin-top:20px}.custom-snippet-wrapper .custom-snippet-start-card .cls-2{fill:#240448}.custom-snippet-wrapper .custom-snippet-start-card .cls-3{fill:#ff5c5c}.custom-snippet-wrapper .custom-snippet-start-card .cls-6{fill:#fff}.jupiterx-custom-snippet-delete-confirm .modal-dialog{min-width:520px !important}.jupiterx-custom-snippet-delete-confirm .modal-footer{border-top:none !important}
16
+
17
+ .jx-cp .jx-cp-help-link{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;background-color:#b3b3b3 !important;color:#ffffff !important;border-radius:3px;margin:-1px 10px 0;box-shadow:none !important;outline:none !important;vertical-align:middle}.jx-cp .jx-cp-help-link svg{width:7px}.jx-cp .jx-cp-help-link-dark{border:1px solid #b3b3b3 !important;color:#b3b3b3 !important;background:transparent !important}.jx-cp .jx-cp-help-link-dark svg{fill:white}
18
+
19
+ .jx-cp-settings-image-sizes-list .jx-cp-settings-image-sizes-list-item{min-width:300px;width:max-content}
20
+
21
+ #jx-cp-settings{margin-top:-5px;margin-top:0px !important}#jx-cp-settings div[class*="jx-cp-settings-content"]{display:none;width:100%;margin-top:30px !important;margin-left:35px !important}#jx-cp-settings div[class*="jx-cp-settings-content"].active{display:flex;flex-wrap:wrap}#jx-cp-settings .nav-pills .nav-link{font-size:15px;width:100%}#jx-cp-settings .custom-control-label{line-height:1.6}#jx-cp-settings .jx-cp-checkbox-wrap{column-count:3}#jx-cp-settings .jx-cp-checkbox-wrap .custom-checkbox{min-height:auto}#jx-cp-settings .col-sm-12 .jx-cp-checkbox-wrap{column-count:4}@media only screen and (max-width: 575px){#jx-cp-settings .nav-tabs .nav-link{font-size:12px;padding:8px 10px}#jx-cp-settings .jx-cp-checkbox-wrap{column-count:2}}#jx-cp-settings .jx-cp-settings-title{font-size:26px;text-align:left;line-height:32px;color:#222222;padding-bottom:15px}#jx-cp-settings .jupiterx-settings-list-wrap{padding-top:20px;border-right:solid 1px #dfdfdf;background-color:#ffffff}#jx-cp-settings .active-item{font-size:16px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.13;letter-spacing:normal;text-align:left;color:#007bff !important;border-right:3px solid #007bff;background-color:#f5faff !important}#jx-cp-settings .jupiterx-settings-menu-item{padding:12px 1px 13px 22px !important;font-size:16px;font-weight:normal;font-stretch:normal;font-style:normal;line-height:1.13;letter-spacing:normal;text-align:left;color:#222222;background-color:#ffffff;cursor:pointer}#jx-cp-settings .jupiterx-settings-menu-item:focus{box-shadow:none}#jx-cp-settings .jupiterx-settings-menu-item.disabled{display:flex;align-items:center;justify-content:space-between}#jx-cp-settings .jupiterx-settings-menu-item.disabled::after{background-image:url("data:image/svg+xml,%3Csvg className='jx-cp-pro-badge' xmlns='http://www.w3.org/2000/svg' width='30' height='18'%3E%3Cg%3E%3Cpath fill='%23f23c97' d='M4 0h22a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z' /%3E%3Cpath fill='%23fff' d='M5.896 8.938v-2.62h1.86a1.747 1.747 0 0 1 1.185.335 1.239 1.239 0 0 1 .375.975 1.255 1.255 0 0 1-.375.98 1.7 1.7 0 0 1-1.185.33zm-.95-3.42v7.14h.95v-2.92h2.18a2.175 2.175 0 0 0 1.635-.55 2.12 2.12 0 0 0 .555-1.56 2.1 2.1 0 0 0-.555-1.555 2.217 2.217 0 0 0-1.635-.555zm6.48 0v7.14h.95v-3.05h2.32a1.261 1.261 0 0 1 .56.105.938.938 0 0 1 .34.28 1.161 1.161 0 0 1 .19.41q.06.235.1.5a3.485 3.485 0 0 1 .06.53l.02.505a3.082 3.082 0 0 0 .045.42.6.6 0 0 0 .135.3h1.06a1.221 1.221 0 0 1-.225-.415 3.253 3.253 0 0 1-.115-.495 4.6 4.6 0 0 1-.05-.53q-.01-.27-.03-.53a4.6 4.6 0 0 0-.085-.5 1.518 1.518 0 0 0-.17-.43 1.1 1.1 0 0 0-.31-.335 1.272 1.272 0 0 0-.5-.2v-.02a1.519 1.519 0 0 0 .945-.67 2.167 2.167 0 0 0 .3-1.14 1.721 1.721 0 0 0-.585-1.375 2.351 2.351 0 0 0-1.595-.5zm2.93 3.29h-1.98v-2.49h2.36a1.233 1.233 0 0 1 .97.34 1.281 1.281 0 0 1 .3.88 1.31 1.31 0 0 1-.135.635 1.068 1.068 0 0 1-.36.39 1.375 1.375 0 0 1-.525.2 3.829 3.829 0 0 1-.63.045zm4.47.28a4.116 4.116 0 0 1 .14-1.065 2.892 2.892 0 0 1 .44-.945 2.249 2.249 0 0 1 .77-.675 2.316 2.316 0 0 1 1.12-.255 2.316 2.316 0 0 1 1.12.255 2.249 2.249 0 0 1 .77.675 2.892 2.892 0 0 1 .44.945 4.116 4.116 0 0 1 .14 1.065 4.116 4.116 0 0 1-.14 1.07 2.892 2.892 0 0 1-.44.945 2.249 2.249 0 0 1-.77.675 2.316 2.316 0 0 1-1.12.255 2.316 2.316 0 0 1-1.12-.255 2.249 2.249 0 0 1-.77-.675 2.892 2.892 0 0 1-.44-.945 4.116 4.116 0 0 1-.14-1.07zm-.95 0a4.6 4.6 0 0 0 .215 1.4 3.54 3.54 0 0 0 .64 1.2 3.1 3.1 0 0 0 1.07.825 3.428 3.428 0 0 0 1.495.305 3.428 3.428 0 0 0 1.49-.305 3.1 3.1 0 0 0 1.07-.825 3.54 3.54 0 0 0 .645-1.195 4.6 4.6 0 0 0 .215-1.4 4.6 4.6 0 0 0-.215-1.4 3.54 3.54 0 0 0-.645-1.2 3.148 3.148 0 0 0-1.07-.835 3.381 3.381 0 0 0-1.49-.31 3.381 3.381 0 0 0-1.49.31 3.148 3.148 0 0 0-1.07.83 3.54 3.54 0 0 0-.645 1.2 4.6 4.6 0 0 0-.215 1.4z' /%3E%3C/g%3E%3C/svg%3E");content:'';display:inline-block;width:30px;height:18px;margin-right:5px}#jx-cp-settings .jupiterx-settings-menu-item:hover{color:#007bff}
22
+
23
+ .jx-cp-plugins .jx-cp-plugins-state{pointer-events:none}.jx-cp-plugins .jx-cp-plugins-state.btn-outline-danger{color:#fd4b49;border-color:#fd4b49}.jx-cp-plugins .jx-cp-plugins-state.btn-outline-success{color:#4dc623;border-color:#4dc623}.jx-cp-plugins .jx-cp-plugins-required{padding:1.5rem;border-radius:4px;border:1px solid #222222;background-color:#ffffff;margin-bottom:2.5rem}@media (min-width: 768px){.jx-cp-plugins .jx-cp-plugins-required{padding:1.6875rem 1.875rem 1.875rem;margin-bottom:4.25rem}}@media (min-width: 1200px){.jx-cp-plugins .jx-cp-plugins-required{padding:1.6875rem 2.3125rem 2.5rem}}.jx-cp-plugins .jx-cp-plugins-required-inactive{border-color:#ff0000;background-color:#fff2f0}.jx-cp-plugins .jx-cp-plugins-required-inactive>h6{color:#ff0000}.jx-cp-plugins .jx-cp-plugins-required-footer{margin-top:1.875rem}.jx-cp-plugins .jx-cp-rplugins{display:flex;flex-flow:row wrap;margin:1.5rem -0.75rem -1.5rem}.jx-cp-plugins .jx-cp-rplugins .card{width:100%;margin:0 0.75rem 1.5rem}.jx-cp-plugins .jx-cp-rplugins .card:not(.active){border-color:#fd4b49}.jx-cp-plugins .jx-cp-rplugins .card-header{padding:1.3125rem 1.3125rem 0;border-bottom:none}.jx-cp-plugins .jx-cp-rplugins .card-header:not(.active){border-color:#fd4b49}.jx-cp-plugins .jx-cp-rplugins .card-body{padding:1.3125rem}.jx-cp-plugins .jx-cp-rplugins img{max-width:100%;border-radius:4px}@media (min-width: 768px){.jx-cp-plugins .jx-cp-rplugins{margin:1.5rem -0.9375rem -1.875rem}.jx-cp-plugins .jx-cp-rplugins .card{width:calc(50% - 1.875rem);margin:0 0.9375rem 1.875rem}}@media (min-width: 1200px){.jx-cp-plugins .jx-cp-rplugins{margin:1.5rem -1.25rem -2.5rem}.jx-cp-plugins .jx-cp-rplugins .card{width:calc(33.3333333% - 2.5rem);margin:0 1.25rem 2.5rem}}@media (min-width: 1510px){.jx-cp-plugins .jx-cp-rplugins .card{width:calc(25% - 2.5rem)}}@media (min-width: 1810px){.jx-cp-plugins .jx-cp-rplugins .card{width:calc(20% - 2.5rem)}}.jx-cp-plugins .jx-cp-plugins-optional-notice{margin:0.75rem 0}.jx-cp-plugins .jx-cp-oplugins{margin:0 -0.875rem -1.75rem}.jx-cp-plugins .jx-cp-oplugins .card{width:100%;margin:0 0.875rem 1.75rem}.jx-cp-plugins .jx-cp-oplugins .card-img-top{padding-top:49%;background-size:cover;background-color:rgba(0,123,255,0.03)}.jx-cp-plugins .jx-cp-oplugins .card-body{display:flex;flex-direction:column;padding:1.4375rem}.jx-cp-plugins .jx-cp-oplugins .jx-cp-pro-badge{position:absolute;top:-5px;right:-5px}@media (min-width: 768px){.jx-cp-plugins .jx-cp-oplugins .card{width:calc(50% - 1.75rem)}}@media (min-width: 1200px){.jx-cp-plugins .jx-cp-oplugins .card{width:calc(33.3333333% - 1.75rem)}.jx-cp-plugins .jx-cp-oplugins .card-body{padding:1.5625rem 2rem 2rem}}@media (min-width: 1510px){.jx-cp-plugins .jx-cp-oplugins .card{width:calc(25% - 1.75rem)}}@media (min-width: 2000px){.jx-cp-plugins .jx-cp-oplugins .card{width:calc(20% - 1.75rem)}}.jx-cp-plugins .jx-cp-oplugin-description{margin-bottom:2.25rem}.jx-cp-plugins .jx-cp-oplugin-action{margin-top:auto}.jx-cp-plugins .jx-cp-oplugin-action button{white-space:nowrap}.jx-cp-plugins .jx-cp-oplugin-name{padding-left:1rem;color:#007bff;font-size:0.75rem;font-weight:bold}.jx-cp-plugins a.jx-cp-plugins-upgrade{border-color:#f23c97;color:#f23c97;white-space:pre}.jx-cp-plugins a.jx-cp-plugins-upgrade i{position:relative;top:2px;margin-right:7px}.jx-cp-plugins a.jx-cp-plugins-upgrade:hover,.jx-cp-plugins a.jx-cp-plugins-upgrade:active{border-color:#f23c97 !important;background-color:#f23c97 !important;color:#fff}.jx-cp-plugins a.jx-cp-plugins-upgrade:focus{box-shadow:0 0 0 0.2rem #f23c9780 !important}.install-oplugin-modal-video{width:100%;max-width:560px;height:340px;margin:auto;margin-bottom:13px}.install-oplugin-modal-video iframe{width:100%;height:100%}.install-oplugin-modal-desc{font-size:14px;line-height:1.21;font-weight:500;color:#222222}.install-oplugin-modal-status{width:100%}.install-oplugin-modal-actions{width:100%}.install-oplugin-modal-actions .btn:last-child{margin-left:13px}.install-oplugin-modal .modal-dialog{max-width:718px !important}.install-oplugin-modal .modal-body{padding:33px 1rem !important}.install-oplugin-modal .modal-title{font-size:16px;font-weight:bold;line-height:1.19;text-align:left;color:#222222}.install-oplugin-modal .modal-footer .btn .spinner-border{margin-right:5px}.install-oplugin-modal-sm .modal-dialog{max-width:430px !important}.install-oplugin-modal-sm .modal-dialog>.modal-content>.modal-header{border-bottom:0}.install-oplugin-modal-sm.jx-not-activated-plugins .modal-footer .btn-primary{display:none}
24
+
25
+ .jx-cp-version-control{margin-top:35px}.jx-cp-version-control .nav-pills .nav-link{font-size:15px;width:100%}.jx-cp-version-control .custom-control-label{line-height:1.6}.jx-cp-version-control .jx-cp-version-control-content .form-group-version{padding-bottom:1rem;border-bottom:1px solid #0000001a}.jx-cp-version-control .jx-cp-version-control-content .form-group-version label{width:100%}.jx-cp-version-control .jx-cp-version-control-content .form-group-version .custom-select{max-width:100%;margin:0 0 0.5rem}.jx-cp-version-control .jx-cp-version-control-content .form-group-version .btn{min-width:160px}@media (min-width: 576px){.jx-cp-version-control .jx-cp-version-control-content .form-group-version label{width:auto;margin-bottom:0}.jx-cp-version-control .jx-cp-version-control-content .form-group-version .custom-select{width:140px;margin:0 0.5rem}}.jx-cp-version-control .jx-cp-version-control-content button svg{margin:0 3px 2px 0}@media only screen and (max-width: 575px){.jx-cp-version-control .nav-tabs .nav-link{font-size:12px;padding:8px 10px}}
26
+
27
+ .jx-cp-updates-actions{margin-bottom:26px}.jx-cp-updates-last-updated{font-size:12px;line-height:1.17;color:#6c757d;margin-top:5px}.jx-cp-updates-list-item{padding:28px;min-height:136px;border-radius:4px;border:solid 1px #dfdfdf;background-color:#ffffff}.jx-cp-updates-list-item-details{flex-grow:1;padding:0 22px}.jx-cp-updates-list-item-img{width:80px;height:80px;object-fit:cover}.jx-cp-updates-list-item-img img{height:100%;width:100%;border-radius:4px}.jx-cp-updates-list-item-title{font-size:16px;font-weight:bold;line-height:1.19;color:#222222;margin-bottom:10px}.jx-cp-updates-list-item-cversion,.jx-cp-updates-list-item-nversion{font-size:14px;line-height:1.14;margin-bottom:10px}.jx-cp-updates-list-item-cversion{color:#222222}.jx-cp-updates-list-item-nversion{color:#007bff}.jx-cp-updates-list-item-action .btn-success{pointer-events:none}.jx-cp-updates-list-item-update-error{font-size:12px;color:#ff0000;line-height:1.14;text-align:right}.jx-cp-updates-empty{font-size:14px;line-height:1.14;color:#222222}@media screen and (max-width: 575.98px){.jx-cp-updates-list-item{padding:15px}.jx-cp-updates-list-item-details{padding:0}.jx-cp-updates-list-item-img{margin-bottom:0.5rem}.jx-cp-updates-list-item-img img{max-width:80px;max-height:80px}}
28
+
29
+ .jx-cp-logs-messages{background:#dfdfdf;max-height:700px;overflow:auto;border-radius:3px}.jx-cp-logs-messages details,.jx-cp-logs-messages div{line-height:2;white-space:nowrap}.jx-cp-logs-messages pre{background-color:#c3c3c3;padding:20px}button svg{margin:0 3px 2px 0}.jx-cp-logs-actions{display:flex;align-items:center}.jx-cp-logs-actions button{white-space:nowrap}
30
+
31
+ .jx-cp .jx-cp-import-steps small{margin-top:2px;color:#adb5bd}
32
+
33
+ .jx-cp .jx-cp-search-filters{display:flex;flex-flow:row wrap;margin:0 -30px 30px;padding:0 30px 19px;border-bottom:1px solid rgba(0,0,0,0.125)}.jx-cp .jx-cp-search-filter-s{width:100%;min-height:3.75rem;margin-bottom:1rem}.jx-cp .jx-cp-search-filter-s .input-group,.jx-cp .jx-cp-search-filter-s .input-group>*{height:100%}.jx-cp .jx-cp-search-filter-s .form-control,.jx-cp .jx-cp-search-filter-s .form-control:focus{background-color:#f2f6f7;border-radius:0;border-color:#ced4da}.jx-cp .jx-cp-search-filter-s .input-group-text{display:flex;justify-content:center;width:68px;border:none;border-radius:0;border-color:#ced4da;background-color:#222;color:#fff}.jx-cp .jx-cp-search-filters-toggle.btn{display:flex;align-items:center;margin-right:1rem;border:1px solid #ced4da;border-radius:0;color:#000}.jx-cp .jx-cp-search-filters-toggle.btn svg{margin-right:0.73rem}.jx-cp .jx-cp-search-filters-overlay{position:fixed;top:100%;right:0;bottom:0;left:0;z-index:999999;overflow:auto;width:100%;background-color:#fff}.jx-cp .jx-cp-search-filters-overlay.active{top:0;transition:top 0.15s ease-in-out}.jx-cp .jx-cp-search-filters-overlay-header{display:flex;align-items:center;padding:1.25rem;border-bottom:1px solid rgba(0,0,0,0.125)}.jx-cp .jx-cp-search-filters-overlay-header .btn-secondary{margin-left:auto;margin-right:0.5rem}.jx-cp .jx-cp-custom-select.show .dropdown-toggle{background-color:#f2f5f7}.jx-cp .jx-cp-custom-select .dropdown-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;position:relative;width:100%;padding:0.5625rem 1.25rem 0.5625rem 0.8125rem;background-color:#fcfeff;outline:none;border:1px solid #ced4da;border-radius:0;box-shadow:none;font-size:0.875rem;font-weight:400;text-align:left;white-space:nowrap;transition:background-color 0.15s ease-in-out}.jx-cp .jx-cp-custom-select .dropdown-toggle:after{border-top:0.4375rem solid;border-right:0.25rem solid transparent;border-left:0.25rem solid transparent;color:#495056}.jx-cp .jx-cp-custom-select .dropdown-toggle:hover{background-color:#f2f5f7}.jx-cp .jx-cp-custom-select .dropdown-toggle>div{max-width:calc(100% - 15px)}.jx-cp .jx-cp-custom-select .dropdown-menu{min-width:100%;margin:-1px 0;padding:0.875rem;border:1px solid #ced4da;border-radius:0}.jx-cp .jx-cp-custom-select .card{border-radius:0;border-top:none;border-left:none;border-right:none}.jx-cp .jx-cp-custom-select .card-header{display:flex;align-items:center;justify-content:space-between;min-height:3.567rem;font-size:0.875rem}.jx-cp .jx-cp-custom-select .card-header:after{content:'';display:inline-block;margin-left:0.255em;border-top:0.4375rem solid;border-right:0.25rem solid transparent;border-left:0.25rem solid transparent;border-bottom:0;color:#495056;vertical-align:0.255em}.jx-cp .jx-cp-custom-select-clear{margin-left:0.5rem;color:#66aeff;font-size:0.75rem;font-weight:normal;text-transform:none}.jx-cp .jx-cp-custom-select-title{font-weight:bold;text-transform:uppercase}.jx-cp .jx-cp-custom-select-selected{overflow:hidden;margin-top:0.25rem;color:#6c757d;text-overflow:ellipsis}@media (min-width: 783px){.jx-cp .jx-cp-search-filters{justify-content:space-between;padding-left:26px;padding-right:26px}.jx-cp .jx-cp-search-filter{flex:0 1 25%;width:25%;padding:0 4px 8px;margin:0}.jx-cp .jx-cp-search-filter-s,.jx-cp .jx-cp-search-filter-category{flex-basis:50%;width:50%}.jx-cp .jx-cp-search-filter-s{margin-bottom:0}}
34
+
35
+ .jx-cp .jx-cp-template-installed{margin-bottom:2.5rem}.jx-cp .jx-cp-template-installed>h5{margin-bottom:1rem}.jx-cp .jx-cp-template-installed .card{overflow:hidden;max-width:23.75rem}.jx-cp .jx-cp-template-installed .card-img-top{padding-top:63%;background-size:cover;background-color:rgba(0,123,255,0.03)}@media (min-width: 768px){.jx-cp .jx-cp-template-installed{margin-bottom:4.25rem}}
36
+
37
+ .jx-cp .jx-cp-templates{display:flex;flex-flow:row wrap;margin-left:-10px;margin-right:-10px}.jx-cp .jx-cp-templates .jx-cp-pro-badge{position:absolute;top:-5px;right:-5px}.jx-cp .jx-cp-templates .card-img-top{padding-top:63%;background-size:cover;background-color:rgba(0,123,255,0.03)}.jx-cp .jx-cp-templates .card{width:100%;margin:10px;transition:0.15s ease-in-out}.jx-cp .jx-cp-templates .card:hover{box-shadow:0px 7px 14px rgba(0,0,0,0.05),0px 3px 7px rgba(0,0,0,0.07);transform:translate(0, -2px)}.jx-cp .jx-cp-shadow-card.card,.jx-cp .jx-cp-shadow-card.card:hover{border:none;background:none;box-shadow:none;transform:none}.jx-cp .jx-cp-shadow-card .card-title{display:block;width:50%;height:1.75rem;margin-bottom:15px}.jx-cp .jx-cp-shadow-card .btn{display:inline-block;width:25%;height:1.75rem;border-radius:0}.jx-cp .jx-cp-shadow-card .card-img-top,.jx-cp .jx-cp-shadow-card .card-title,.jx-cp .jx-cp-shadow-card .btn{background-color:#eee;background:darkgray;background:linear-gradient(to right, #eee 10%, #ddd 18%, #eee 33%);background-size:800px 104px;border:none;animation-duration:1.25s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:jx-cp-shadow-card;animation-timing-function:linear;pointer-events:none}.jx-cp .jx-cp-templates-empty{width:100%;margin:3rem 0;text-align:center}.jx-cp .jx-cp-templates-empty svg{color:#9ba8b4;font-size:50px}.jx-cp .jx-cp-templates-empty h3{margin:1rem 0 0.5rem;font-size:1.625rem;font-weight:bold}.jx-cp .jx-cp-templates-empty p{margin:0;color:#6c757d;font-size:1.25rem}@media (min-width: 680px){.jx-cp .jx-cp-templates .card{width:calc(50% - 20px)}}@media (min-width: 1140px){.jx-cp .jx-cp-templates .card{width:calc(33.3333333% - 20px)}}@media (min-width: 1510px){.jx-cp .jx-cp-templates .card{width:calc(25% - 20px)}}@media (min-width: 1810px){.jx-cp .jx-cp-templates .card{width:calc(20% - 20px)}}@keyframes jx-cp-shadow-card{0%{background-position:-468px 0}100%{background-position:468px 0}}
38
+
39
+ .jx-cp .jx-cp-comparison table,.jx-cp .jx-cp-comparison th,.jx-cp .jx-cp-comparison td{border:1px solid #dfdfdf}.jx-cp .jx-cp-comparison table{width:100%;border-collapse:collapse;color:#212529;line-height:normal}.jx-cp .jx-cp-comparison table th,.jx-cp .jx-cp-comparison table td{padding:15px 20px}.jx-cp .jx-cp-comparison table tr{height:48px}.jx-cp .jx-cp-comparison table th{height:88px;background:#f7f7f7;line-height:1.75}.jx-cp .jx-cp-comparison table th.jx-ct-first-col{width:330px}.jx-cp .jx-cp-comparison table th.jx-ct-free{width:275px}.jx-cp .jx-cp-comparison table th.jx-ct-free .jx-ct-desc{color:#9aa7b3}.jx-cp .jx-cp-comparison table th.jx-ct-pro{position:relative;width:275px;background:#f23c97}.jx-cp .jx-cp-comparison table th.jx-ct-pro .jx-ct-title{color:#ffffff}.jx-cp .jx-cp-comparison table th.jx-ct-pro .jx-ct-desc{color:#ffbfe1}.jx-cp .jx-cp-comparison table th.jx-ct-pro .jupiterx-icon-pro{position:absolute;color:#ffbfe1;font-size:24px;top:15px;right:20px}.rtl .jx-cp .jx-cp-comparison table th.jx-ct-pro .jupiterx-icon-pro{right:initial;left:20px}.jx-cp .jx-cp-comparison table th .jx-ct-title{font-size:28px;font-weight:normal}.jx-cp .jx-cp-comparison table th .jx-ct-desc{display:block;font-size:14px;font-weight:normal;font-style:italic}.jx-cp .jx-cp-comparison table td{font-size:16px}.jx-cp .jx-cp-comparison table td:last-of-type{background:#fff7fb}.jx-cp .jx-cp-comparison table td i{font-size:20px}.jx-cp .jx-cp-comparison table td .jupiterx-icon-times{color:#DF2E3F;font-size:26px}.jx-cp .jx-cp-comparison table td .jupiterx-icon-check{color:#0ACB82}.jx-cp .jx-cp-comparison table td.jx-ct-feature-label{font-weight:bold}.jx-cp .jx-cp-comparison table td.jx-ct-bg-normal{background:#ffffff}.jx-cp .jx-cp-comparison a.jx-btn-upgrade-pro{width:180px;height:49px;padding-top:8px;margin-bottom:15px;font-size:18px;line-height:49px;padding:0;background-color:#f23c97;color:#fff}.jx-cp .jx-cp-comparison .jx-ct-learn-more{font-size:14px;display:block}.jx-cp .jx-cp-comparison .jx-ct-learn-more:focus{text-decoration:underline}.jx-cp .jx-cp-comparison .jx-ct-text-center{text-align:center}
40
+
41
+ .jx-dashboard-box-outer-wrapper{position:relative;clear:both}.jx-dashboard-box-outer-wrapper .jx-dashboard-box-wrapper{position:relative;margin:0 0 32px 0;padding:30px 0 38px 107px;display:flex;flex-direction:row;flex-wrap:wrap;align-content:center;align-items:center;column-gap:38px;border-radius:4px;border:solid 1px #73dce6;background-color:#eafdff}.jx-dashboard-box-outer-wrapper .jx-dashboard-box-wrapper .jx-box-svg-icon{max-width:485px;height:auto}.jx-dashboard-box-outer-wrapper .jx-dashboard-box-wrapper .jx-box-svg-icon img{max-width:100%;height:auto}.jx-dashboard-box-outer-wrapper .jx-dashboard-box-wrapper .jx-box-menu-items .jx-box-welcome-text{font-size:28px;font-weight:bold;font-stretch:normal;font-style:normal;line-height:1.57;letter-spacing:normal;text-align:left;color:#222}.jx-dashboard-box-outer-wrapper .jx-dashboard-box-wrapper .jx-box-menu-items .jx-box-quick-desc{font-size:16px;font-weight:500;font-stretch:normal;font-style:normal;line-height:2.75;letter-spacing:normal;text-align:left;color:#222}.jx-dashboard-box-outer-wrapper .jx-dashboard-box-wrapper .jx-box-menu-items .jx-box-list-items{display:flex;flex-direction:column;flex-wrap:nowrap;align-content:center;justify-content:center}.jx-dashboard-box-outer-wrapper .jx-dashboard-box-wrapper .jx-box-menu-items .jx-box-list-items .order-0{order:0}.jx-dashboard-box-outer-wrapper .jx-dashboard-box-wrapper .jx-box-menu-items .jx-box-list-items .order-1{order:1}.jx-dashboard-box-outer-wrapper .jx-dashboard-box-wrapper .jx-box-menu-items .jx-box-list-items>span{display:flex;flex-direction:row;flex-wrap:wrap;align-content:center;align-items:center;column-gap:9px}.jx-dashboard-box-outer-wrapper .jx-dashboard-box-wrapper .jx-box-menu-items .jx-box-list-items>span svg{width:16px;height:16px}.jx-dashboard-box-outer-wrapper .jx-dashboard-box-wrapper .jx-box-menu-items .jx-box-list-items>span .jx-box-item-done{color:#41d691}.jx-dashboard-box-outer-wrapper .jx-dashboard-box-wrapper .jx-box-menu-items .jx-box-list-items>span .jx-box-item-not{color:#a7b5c2}.jx-dashboard-box-outer-wrapper .jx-dashboard-box-wrapper .jx-box-menu-items .jx-box-list-items>span .box-check-box-icon{background-image:url("data:image/svg+xml,%0A%3Csvg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='check-circle' class='svg-inline--fa fa-check-circle fa-w-16' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%2341d691' d='M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z'%3E%3C/path%3E%3C/svg%3E");width:16px;height:16px}.jx-dashboard-box-outer-wrapper .jx-dashboard-box-wrapper .jx-box-menu-items .jx-box-list-items>span>span{font-size:16px;font-weight:500;font-stretch:normal;font-style:normal;line-height:2;letter-spacing:normal;text-align:left;color:#007bff;cursor:pointer}.jx-dashboard-box-outer-wrapper .jx-dashboard-box-wrapper .jx-box-menu-items .jx-box-list-items>span>span a{text-decoration:none !important}.jx-dashboard-box-outer-wrapper .jx-dashboard-box-wrapper .jx-box-menu-items .jx-box-list-items>span>span a:focus{box-shadow:none !important}.jx-dashboard-box-outer-wrapper .jx-box-video-link{position:absolute;right:45px;bottom:35px;display:flex;flex-direction:row;flex-wrap:wrap;align-content:center;align-items:center;justify-content:center;column-gap:16px;cursor:pointer}.jx-dashboard-box-outer-wrapper .jx-box-video-link .jx-box-video-desc{padding-top:7px}.jx-dashboard-box-outer-wrapper .jx-box-video-link .jx-box-video-desc span{font-size:14px;font-weight:bold;font-stretch:normal;font-style:normal;line-height:1.43;letter-spacing:normal;text-align:left;color:#007bff}.jx-dashboard-box-outer-wrapper .jupiterx-box-dismiss-icon{width:16px;height:16px;position:absolute;top:20px;right:20px;cursor:pointer}@media screen and (max-width: 1275px){.jx-dashboard-box-wrapper{flex-direction:column !important;row-gap:20px !important}}@media screen and (max-width: 600px){.jx-dashboard-box-wrapper{padding:30px 30px 60px 0px !important;flex-direction:column !important;row-gap:20px !important}.jx-box-video-link{right:10px !important;bottom:10px !important}}@media screen and (max-width: 1400px){.jx-dashboard-box-wrapper{padding:30px 30px 60px 0 !important}}
42
+
43
+ :root{--blue: #007bff;--indigo: #6610f2;--purple: #6f42c1;--pink: #e83e8c;--red: #dc3545;--orange: #fd7e14;--yellow: #ffc107;--green: #28a745;--teal: #20c997;--cyan: #17a2b8;--white: #fff;--gray: #6c757d;--gray-dark: #343a40;--primary: #007bff;--secondary: #6c757d;--success: #28a745;--info: #17a2b8;--warning: #ffc107;--danger: #dc3545;--light: #f8f9fa;--dark: #343a40;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}#jx-cp-root{padding:1.875rem;background-color:#fff;border-radius:4px;border:1px solid rgba(0,0,0,0.125);min-height:300px}@media (max-width: 575.98px){#jx-cp-root{padding:1.875rem 1.25rem}}.jx-cp *,.jx-cp *::before,.jx-cp *::after{box-sizing:border-box}.jx-cp html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}.jx-cp article,.jx-cp aside,.jx-cp figcaption,.jx-cp figure,.jx-cp footer,.jx-cp header,.jx-cp hgroup,.jx-cp main,.jx-cp nav,.jx-cp section{display:block}.jx-cp body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}.jx-cp [tabindex="-1"]:focus:not(:focus-visible){outline:0 !important}.jx-cp hr{box-sizing:content-box;height:0;overflow:visible}.jx-cp h1,.jx-cp h2,.jx-cp h3,.jx-cp h4,.jx-cp h5,.jx-cp h6{margin-top:0;margin-bottom:.5rem}.jx-cp p{margin-top:0;margin-bottom:1rem}.jx-cp abbr[title],.jx-cp abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}.jx-cp address{margin-bottom:1rem;font-style:normal;line-height:inherit}.jx-cp ol,.jx-cp ul,.jx-cp dl{margin-top:0;margin-bottom:1rem}.jx-cp ol ol,.jx-cp ul ul,.jx-cp ol ul,.jx-cp ul ol{margin-bottom:0}.jx-cp dt{font-weight:700}.jx-cp dd{margin-bottom:.5rem;margin-left:0}.jx-cp blockquote{margin:0 0 1rem}.jx-cp b,.jx-cp strong{font-weight:bolder}.jx-cp small{font-size:80%}.jx-cp sub,.jx-cp sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.jx-cp sub{bottom:-.25em}.jx-cp sup{top:-.5em}.jx-cp a{color:#007bff;text-decoration:none;background-color:transparent}.jx-cp a:hover{color:#0056b3;text-decoration:underline}.jx-cp a:not([href]){color:inherit;text-decoration:none}.jx-cp a:not([href]):hover{color:inherit;text-decoration:none}.jx-cp pre,.jx-cp code,.jx-cp kbd,.jx-cp samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}.jx-cp pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}.jx-cp figure{margin:0 0 1rem}.jx-cp img{vertical-align:middle;border-style:none}.jx-cp svg{overflow:hidden;vertical-align:middle}.jx-cp table{border-collapse:collapse}.jx-cp caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}.jx-cp th{text-align:inherit}.jx-cp label{display:inline-block;margin-bottom:.5rem}.jx-cp button{border-radius:0}.jx-cp button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.jx-cp input,.jx-cp button,.jx-cp select,.jx-cp optgroup,.jx-cp textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}.jx-cp button,.jx-cp input{overflow:visible}.jx-cp button,.jx-cp select{text-transform:none}.jx-cp [role="button"]{cursor:pointer}.jx-cp select{word-wrap:normal}.jx-cp button,.jx-cp [type="button"],.jx-cp [type="reset"],.jx-cp [type="submit"]{-webkit-appearance:button}.jx-cp button:not(:disabled),.jx-cp [type="button"]:not(:disabled),.jx-cp [type="reset"]:not(:disabled),.jx-cp [type="submit"]:not(:disabled){cursor:pointer}.jx-cp button::-moz-focus-inner,.jx-cp [type="button"]::-moz-focus-inner,.jx-cp [type="reset"]::-moz-focus-inner,.jx-cp [type="submit"]::-moz-focus-inner{padding:0;border-style:none}.jx-cp input[type="radio"],.jx-cp input[type="checkbox"]{box-sizing:border-box;padding:0}.jx-cp textarea{overflow:auto;resize:vertical}.jx-cp fieldset{min-width:0;padding:0;margin:0;border:0}.jx-cp legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}.jx-cp progress{vertical-align:baseline}.jx-cp [type="number"]::-webkit-inner-spin-button,.jx-cp [type="number"]::-webkit-outer-spin-button{height:auto}.jx-cp [type="search"]{outline-offset:-2px;-webkit-appearance:none}.jx-cp [type="search"]::-webkit-search-decoration{-webkit-appearance:none}.jx-cp ::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}.jx-cp output{display:inline-block}.jx-cp summary{display:list-item;cursor:pointer}.jx-cp template{display:none}.jx-cp [hidden]{display:none !important}.jx-cp h1,.jx-cp h2,.jx-cp h3,.jx-cp h4,.jx-cp h5,.jx-cp h6,.jx-cp .h1,.jx-cp .h2,.jx-cp .h3,.jx-cp .h4,.jx-cp .h5,.jx-cp .h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.jx-cp h1,.jx-cp .h1{font-size:2.5rem}.jx-cp h2,.jx-cp .h2{font-size:2rem}.jx-cp h3,.jx-cp .h3{font-size:1.75rem}.jx-cp h4,.jx-cp .h4{font-size:1.5rem}.jx-cp h5,.jx-cp .h5{font-size:1.25rem}.jx-cp h6,.jx-cp .h6{font-size:1rem}.jx-cp .lead{font-size:1.25rem;font-weight:300}.jx-cp .display-1{font-size:6rem;font-weight:300;line-height:1.2}.jx-cp .display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.jx-cp .display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.jx-cp .display-4{font-size:3.5rem;font-weight:300;line-height:1.2}.jx-cp hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,0.1)}.jx-cp small,.jx-cp .small{font-size:80%;font-weight:400}.jx-cp mark,.jx-cp .mark{padding:.2em;background-color:#fcf8e3}.jx-cp .list-unstyled{padding-left:0;list-style:none}.jx-cp .list-inline{padding-left:0;list-style:none}.jx-cp .list-inline-item{display:inline-block}.jx-cp .list-inline-item:not(:last-child){margin-right:.5rem}.jx-cp .initialism{font-size:90%;text-transform:uppercase}.jx-cp .blockquote{margin-bottom:1rem;font-size:1.25rem}.jx-cp .blockquote-footer{display:block;font-size:80%;color:#6c757d}.jx-cp .blockquote-footer::before{content:"\2014\00A0"}.jx-cp .img-fluid{max-width:100%;height:auto}.jx-cp .img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.jx-cp .figure{display:inline-block}.jx-cp .figure-img{margin-bottom:.5rem;line-height:1}.jx-cp .figure-caption{font-size:90%;color:#6c757d}.jx-cp code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>.jx-cp code{color:inherit}.jx-cp kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}.jx-cp kbd kbd{padding:0;font-size:100%;font-weight:700}.jx-cp pre{display:block;font-size:87.5%;color:#212529}.jx-cp pre code{font-size:inherit;color:inherit;word-break:normal}.jx-cp .pre-scrollable{max-height:340px;overflow-y:scroll}.jx-cp .container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.jx-cp .container{max-width:540px}}@media (min-width: 768px){.jx-cp .container{max-width:720px}}@media (min-width: 992px){.jx-cp .container{max-width:960px}}@media (min-width: 1200px){.jx-cp .container{max-width:1140px}}.jx-cp .container-fluid,.jx-cp .container-sm,.jx-cp .container-md,.jx-cp .container-lg,.jx-cp .container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.jx-cp .container,.jx-cp .container-sm{max-width:540px}}@media (min-width: 768px){.jx-cp .container,.jx-cp .container-sm,.jx-cp .container-md{max-width:720px}}@media (min-width: 992px){.jx-cp .container,.jx-cp .container-sm,.jx-cp .container-md,.jx-cp .container-lg{max-width:960px}}@media (min-width: 1200px){.jx-cp .container,.jx-cp .container-sm,.jx-cp .container-md,.jx-cp .container-lg,.jx-cp .container-xl{max-width:1140px}}.jx-cp .row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.jx-cp .no-gutters{margin-right:0;margin-left:0}.jx-cp .no-gutters>.col,.jx-cp .no-gutters>[class*="col-"]{padding-right:0;padding-left:0}.jx-cp .col-1,.jx-cp .col-2,.jx-cp .col-3,.jx-cp .col-4,.jx-cp .col-5,.jx-cp .col-6,.jx-cp .col-7,.jx-cp .col-8,.jx-cp .col-9,.jx-cp .col-10,.jx-cp .col-11,.jx-cp .col-12,.jx-cp .col,.jx-cp .col-auto,.jx-cp .col-sm-1,.jx-cp .col-sm-2,.jx-cp .col-sm-3,.jx-cp .col-sm-4,.jx-cp .col-sm-5,.jx-cp .col-sm-6,.jx-cp .col-sm-7,.jx-cp .col-sm-8,.jx-cp .col-sm-9,.jx-cp .col-sm-10,.jx-cp .col-sm-11,.jx-cp .col-sm-12,.jx-cp .col-sm,.jx-cp .col-sm-auto,.jx-cp .col-md-1,.jx-cp .col-md-2,.jx-cp .col-md-3,.jx-cp .col-md-4,.jx-cp .col-md-5,.jx-cp .col-md-6,.jx-cp .col-md-7,.jx-cp .col-md-8,.jx-cp .col-md-9,.jx-cp .col-md-10,.jx-cp .col-md-11,.jx-cp .col-md-12,.jx-cp .col-md,.jx-cp .col-md-auto,.jx-cp .col-lg-1,.jx-cp .col-lg-2,.jx-cp .col-lg-3,.jx-cp .col-lg-4,.jx-cp .col-lg-5,.jx-cp .col-lg-6,.jx-cp .col-lg-7,.jx-cp .col-lg-8,.jx-cp .col-lg-9,.jx-cp .col-lg-10,.jx-cp .col-lg-11,.jx-cp .col-lg-12,.jx-cp .col-lg,.jx-cp .col-lg-auto,.jx-cp .col-xl-1,.jx-cp .col-xl-2,.jx-cp .col-xl-3,.jx-cp .col-xl-4,.jx-cp .col-xl-5,.jx-cp .col-xl-6,.jx-cp .col-xl-7,.jx-cp .col-xl-8,.jx-cp .col-xl-9,.jx-cp .col-xl-10,.jx-cp .col-xl-11,.jx-cp .col-xl-12,.jx-cp .col-xl,.jx-cp .col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.jx-cp .col{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.jx-cp .row-cols-1>*{flex:0 0 100%;max-width:100%}.jx-cp .row-cols-2>*{flex:0 0 50%;max-width:50%}.jx-cp .row-cols-3>*{flex:0 0 33.33333%;max-width:33.33333%}.jx-cp .row-cols-4>*{flex:0 0 25%;max-width:25%}.jx-cp .row-cols-5>*{flex:0 0 20%;max-width:20%}.jx-cp .row-cols-6>*{flex:0 0 16.66667%;max-width:16.66667%}.jx-cp .col-auto{flex:0 0 auto;width:auto;max-width:100%}.jx-cp .col-1{flex:0 0 8.33333%;max-width:8.33333%}.jx-cp .col-2{flex:0 0 16.66667%;max-width:16.66667%}.jx-cp .col-3{flex:0 0 25%;max-width:25%}.jx-cp .col-4{flex:0 0 33.33333%;max-width:33.33333%}.jx-cp .col-5{flex:0 0 41.66667%;max-width:41.66667%}.jx-cp .col-6{flex:0 0 50%;max-width:50%}.jx-cp .col-7{flex:0 0 58.33333%;max-width:58.33333%}.jx-cp .col-8{flex:0 0 66.66667%;max-width:66.66667%}.jx-cp .col-9{flex:0 0 75%;max-width:75%}.jx-cp .col-10{flex:0 0 83.33333%;max-width:83.33333%}.jx-cp .col-11{flex:0 0 91.66667%;max-width:91.66667%}.jx-cp .col-12{flex:0 0 100%;max-width:100%}.jx-cp .order-first{order:-1}.jx-cp .order-last{order:13}.jx-cp .order-0{order:0}.jx-cp .order-1{order:1}.jx-cp .order-2{order:2}.jx-cp .order-3{order:3}.jx-cp .order-4{order:4}.jx-cp .order-5{order:5}.jx-cp .order-6{order:6}.jx-cp .order-7{order:7}.jx-cp .order-8{order:8}.jx-cp .order-9{order:9}.jx-cp .order-10{order:10}.jx-cp .order-11{order:11}.jx-cp .order-12{order:12}.jx-cp .offset-1{margin-left:8.33333%}.jx-cp .offset-2{margin-left:16.66667%}.jx-cp .offset-3{margin-left:25%}.jx-cp .offset-4{margin-left:33.33333%}.jx-cp .offset-5{margin-left:41.66667%}.jx-cp .offset-6{margin-left:50%}.jx-cp .offset-7{margin-left:58.33333%}.jx-cp .offset-8{margin-left:66.66667%}.jx-cp .offset-9{margin-left:75%}.jx-cp .offset-10{margin-left:83.33333%}.jx-cp .offset-11{margin-left:91.66667%}@media (min-width: 576px){.jx-cp .col-sm{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.jx-cp .row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.jx-cp .row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.jx-cp .row-cols-sm-3>*{flex:0 0 33.33333%;max-width:33.33333%}.jx-cp .row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.jx-cp .row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.jx-cp .row-cols-sm-6>*{flex:0 0 16.66667%;max-width:16.66667%}.jx-cp .col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.jx-cp .col-sm-1{flex:0 0 8.33333%;max-width:8.33333%}.jx-cp .col-sm-2{flex:0 0 16.66667%;max-width:16.66667%}.jx-cp .col-sm-3{flex:0 0 25%;max-width:25%}.jx-cp .col-sm-4{flex:0 0 33.33333%;max-width:33.33333%}.jx-cp .col-sm-5{flex:0 0 41.66667%;max-width:41.66667%}.jx-cp .col-sm-6{flex:0 0 50%;max-width:50%}.jx-cp .col-sm-7{flex:0 0 58.33333%;max-width:58.33333%}.jx-cp .col-sm-8{flex:0 0 66.66667%;max-width:66.66667%}.jx-cp .col-sm-9{flex:0 0 75%;max-width:75%}.jx-cp .col-sm-10{flex:0 0 83.33333%;max-width:83.33333%}.jx-cp .col-sm-11{flex:0 0 91.66667%;max-width:91.66667%}.jx-cp .col-sm-12{flex:0 0 100%;max-width:100%}.jx-cp .order-sm-first{order:-1}.jx-cp .order-sm-last{order:13}.jx-cp .order-sm-0{order:0}.jx-cp .order-sm-1{order:1}.jx-cp .order-sm-2{order:2}.jx-cp .order-sm-3{order:3}.jx-cp .order-sm-4{order:4}.jx-cp .order-sm-5{order:5}.jx-cp .order-sm-6{order:6}.jx-cp .order-sm-7{order:7}.jx-cp .order-sm-8{order:8}.jx-cp .order-sm-9{order:9}.jx-cp .order-sm-10{order:10}.jx-cp .order-sm-11{order:11}.jx-cp .order-sm-12{order:12}.jx-cp .offset-sm-0{margin-left:0}.jx-cp .offset-sm-1{margin-left:8.33333%}.jx-cp .offset-sm-2{margin-left:16.66667%}.jx-cp .offset-sm-3{margin-left:25%}.jx-cp .offset-sm-4{margin-left:33.33333%}.jx-cp .offset-sm-5{margin-left:41.66667%}.jx-cp .offset-sm-6{margin-left:50%}.jx-cp .offset-sm-7{margin-left:58.33333%}.jx-cp .offset-sm-8{margin-left:66.66667%}.jx-cp .offset-sm-9{margin-left:75%}.jx-cp .offset-sm-10{margin-left:83.33333%}.jx-cp .offset-sm-11{margin-left:91.66667%}}@media (min-width: 768px){.jx-cp .col-md{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.jx-cp .row-cols-md-1>*{flex:0 0 100%;max-width:100%}.jx-cp .row-cols-md-2>*{flex:0 0 50%;max-width:50%}.jx-cp .row-cols-md-3>*{flex:0 0 33.33333%;max-width:33.33333%}.jx-cp .row-cols-md-4>*{flex:0 0 25%;max-width:25%}.jx-cp .row-cols-md-5>*{flex:0 0 20%;max-width:20%}.jx-cp .row-cols-md-6>*{flex:0 0 16.66667%;max-width:16.66667%}.jx-cp .col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.jx-cp .col-md-1{flex:0 0 8.33333%;max-width:8.33333%}.jx-cp .col-md-2{flex:0 0 16.66667%;max-width:16.66667%}.jx-cp .col-md-3{flex:0 0 25%;max-width:25%}.jx-cp .col-md-4{flex:0 0 33.33333%;max-width:33.33333%}.jx-cp .col-md-5{flex:0 0 41.66667%;max-width:41.66667%}.jx-cp .col-md-6{flex:0 0 50%;max-width:50%}.jx-cp .col-md-7{flex:0 0 58.33333%;max-width:58.33333%}.jx-cp .col-md-8{flex:0 0 66.66667%;max-width:66.66667%}.jx-cp .col-md-9{flex:0 0 75%;max-width:75%}.jx-cp .col-md-10{flex:0 0 83.33333%;max-width:83.33333%}.jx-cp .col-md-11{flex:0 0 91.66667%;max-width:91.66667%}.jx-cp .col-md-12{flex:0 0 100%;max-width:100%}.jx-cp .order-md-first{order:-1}.jx-cp .order-md-last{order:13}.jx-cp .order-md-0{order:0}.jx-cp .order-md-1{order:1}.jx-cp .order-md-2{order:2}.jx-cp .order-md-3{order:3}.jx-cp .order-md-4{order:4}.jx-cp .order-md-5{order:5}.jx-cp .order-md-6{order:6}.jx-cp .order-md-7{order:7}.jx-cp .order-md-8{order:8}.jx-cp .order-md-9{order:9}.jx-cp .order-md-10{order:10}.jx-cp .order-md-11{order:11}.jx-cp .order-md-12{order:12}.jx-cp .offset-md-0{margin-left:0}.jx-cp .offset-md-1{margin-left:8.33333%}.jx-cp .offset-md-2{margin-left:16.66667%}.jx-cp .offset-md-3{margin-left:25%}.jx-cp .offset-md-4{margin-left:33.33333%}.jx-cp .offset-md-5{margin-left:41.66667%}.jx-cp .offset-md-6{margin-left:50%}.jx-cp .offset-md-7{margin-left:58.33333%}.jx-cp .offset-md-8{margin-left:66.66667%}.jx-cp .offset-md-9{margin-left:75%}.jx-cp .offset-md-10{margin-left:83.33333%}.jx-cp .offset-md-11{margin-left:91.66667%}}@media (min-width: 992px){.jx-cp .col-lg{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.jx-cp .row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.jx-cp .row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.jx-cp .row-cols-lg-3>*{flex:0 0 33.33333%;max-width:33.33333%}.jx-cp .row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.jx-cp .row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.jx-cp .row-cols-lg-6>*{flex:0 0 16.66667%;max-width:16.66667%}.jx-cp .col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.jx-cp .col-lg-1{flex:0 0 8.33333%;max-width:8.33333%}.jx-cp .col-lg-2{flex:0 0 16.66667%;max-width:16.66667%}.jx-cp .col-lg-3{flex:0 0 25%;max-width:25%}.jx-cp .col-lg-4{flex:0 0 33.33333%;max-width:33.33333%}.jx-cp .col-lg-5{flex:0 0 41.66667%;max-width:41.66667%}.jx-cp .col-lg-6{flex:0 0 50%;max-width:50%}.jx-cp .col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}.jx-cp .col-lg-8{flex:0 0 66.66667%;max-width:66.66667%}.jx-cp .col-lg-9{flex:0 0 75%;max-width:75%}.jx-cp .col-lg-10{flex:0 0 83.33333%;max-width:83.33333%}.jx-cp .col-lg-11{flex:0 0 91.66667%;max-width:91.66667%}.jx-cp .col-lg-12{flex:0 0 100%;max-width:100%}.jx-cp .order-lg-first{order:-1}.jx-cp .order-lg-last{order:13}.jx-cp .order-lg-0{order:0}.jx-cp .order-lg-1{order:1}.jx-cp .order-lg-2{order:2}.jx-cp .order-lg-3{order:3}.jx-cp .order-lg-4{order:4}.jx-cp .order-lg-5{order:5}.jx-cp .order-lg-6{order:6}.jx-cp .order-lg-7{order:7}.jx-cp .order-lg-8{order:8}.jx-cp .order-lg-9{order:9}.jx-cp .order-lg-10{order:10}.jx-cp .order-lg-11{order:11}.jx-cp .order-lg-12{order:12}.jx-cp .offset-lg-0{margin-left:0}.jx-cp .offset-lg-1{margin-left:8.33333%}.jx-cp .offset-lg-2{margin-left:16.66667%}.jx-cp .offset-lg-3{margin-left:25%}.jx-cp .offset-lg-4{margin-left:33.33333%}.jx-cp .offset-lg-5{margin-left:41.66667%}.jx-cp .offset-lg-6{margin-left:50%}.jx-cp .offset-lg-7{margin-left:58.33333%}.jx-cp .offset-lg-8{margin-left:66.66667%}.jx-cp .offset-lg-9{margin-left:75%}.jx-cp .offset-lg-10{margin-left:83.33333%}.jx-cp .offset-lg-11{margin-left:91.66667%}}@media (min-width: 1200px){.jx-cp .col-xl{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.jx-cp .row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.jx-cp .row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.jx-cp .row-cols-xl-3>*{flex:0 0 33.33333%;max-width:33.33333%}.jx-cp .row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.jx-cp .row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.jx-cp .row-cols-xl-6>*{flex:0 0 16.66667%;max-width:16.66667%}.jx-cp .col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.jx-cp .col-xl-1{flex:0 0 8.33333%;max-width:8.33333%}.jx-cp .col-xl-2{flex:0 0 16.66667%;max-width:16.66667%}.jx-cp .col-xl-3{flex:0 0 25%;max-width:25%}.jx-cp .col-xl-4{flex:0 0 33.33333%;max-width:33.33333%}.jx-cp .col-xl-5{flex:0 0 41.66667%;max-width:41.66667%}.jx-cp .col-xl-6{flex:0 0 50%;max-width:50%}.jx-cp .col-xl-7{flex:0 0 58.33333%;max-width:58.33333%}.jx-cp .col-xl-8{flex:0 0 66.66667%;max-width:66.66667%}.jx-cp .col-xl-9{flex:0 0 75%;max-width:75%}.jx-cp .col-xl-10{flex:0 0 83.33333%;max-width:83.33333%}.jx-cp .col-xl-11{flex:0 0 91.66667%;max-width:91.66667%}.jx-cp .col-xl-12{flex:0 0 100%;max-width:100%}.jx-cp .order-xl-first{order:-1}.jx-cp .order-xl-last{order:13}.jx-cp .order-xl-0{order:0}.jx-cp .order-xl-1{order:1}.jx-cp .order-xl-2{order:2}.jx-cp .order-xl-3{order:3}.jx-cp .order-xl-4{order:4}.jx-cp .order-xl-5{order:5}.jx-cp .order-xl-6{order:6}.jx-cp .order-xl-7{order:7}.jx-cp .order-xl-8{order:8}.jx-cp .order-xl-9{order:9}.jx-cp .order-xl-10{order:10}.jx-cp .order-xl-11{order:11}.jx-cp .order-xl-12{order:12}.jx-cp .offset-xl-0{margin-left:0}.jx-cp .offset-xl-1{margin-left:8.33333%}.jx-cp .offset-xl-2{margin-left:16.66667%}.jx-cp .offset-xl-3{margin-left:25%}.jx-cp .offset-xl-4{margin-left:33.33333%}.jx-cp .offset-xl-5{margin-left:41.66667%}.jx-cp .offset-xl-6{margin-left:50%}.jx-cp .offset-xl-7{margin-left:58.33333%}.jx-cp .offset-xl-8{margin-left:66.66667%}.jx-cp .offset-xl-9{margin-left:75%}.jx-cp .offset-xl-10{margin-left:83.33333%}.jx-cp .offset-xl-11{margin-left:91.66667%}}.jx-cp .form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.jx-cp .form-control{transition:none}}.jx-cp .form-control::-ms-expand{background-color:transparent;border:0}.jx-cp .form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.jx-cp .form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.jx-cp .form-control::placeholder{color:#6c757d;opacity:1}.jx-cp .form-control:disabled,.jx-cp .form-control[readonly]{background-color:#e9ecef;opacity:1}.jx-cp input[type="date"].form-control,.jx-cp input[type="time"].form-control,.jx-cp input[type="datetime-local"].form-control,.jx-cp input[type="month"].form-control{appearance:none}.jx-cp select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.jx-cp .form-control-file,.jx-cp .form-control-range{display:block;width:100%}.jx-cp .col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.jx-cp .col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.jx-cp .col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.75}.jx-cp .form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.jx-cp .form-control-plaintext.form-control-sm,.jx-cp .form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.jx-cp .form-control-sm{height:calc(1.75em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.75;border-radius:.2rem}.jx-cp .form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.jx-cp select.form-control[size],.jx-cp select.form-control[multiple]{height:auto}.jx-cp textarea.form-control{height:auto}.jx-cp .form-group{margin-bottom:1rem}.jx-cp .form-text{display:block;margin-top:.25rem}.jx-cp .form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.jx-cp .form-row>.col,.jx-cp .form-row>[class*="col-"]{padding-right:5px;padding-left:5px}.jx-cp .form-check{position:relative;display:block;padding-left:1.25rem}.jx-cp .form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.jx-cp .form-check-input[disabled] ~ .form-check-label,.jx-cp .form-check-input:disabled ~ .form-check-label{color:#6c757d}.jx-cp .form-check-label{margin-bottom:0}.jx-cp .form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.jx-cp .form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.jx-cp .valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.jx-cp .valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,0.9);border-radius:.25rem}.was-validated .jx-cp:valid ~ .valid-feedback,.was-validated .jx-cp:valid ~ .valid-tooltip,.jx-cp.is-valid ~ .valid-feedback,.jx-cp.is-valid ~ .valid-tooltip{display:block}.was-validated .jx-cp .form-control:valid,.jx-cp .form-control.is-valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .jx-cp .form-control:valid:focus,.jx-cp .form-control.is-valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated .jx-cp textarea.form-control:valid,.jx-cp textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .jx-cp .custom-select:valid,.jx-cp .custom-select.is-valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .jx-cp .custom-select:valid:focus,.jx-cp .custom-select.is-valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated .jx-cp .form-check-input:valid ~ .form-check-label,.jx-cp .form-check-input.is-valid ~ .form-check-label{color:#28a745}.was-validated .jx-cp .form-check-input:valid ~ .valid-feedback,.was-validated .jx-cp .form-check-input:valid ~ .valid-tooltip,.jx-cp .form-check-input.is-valid ~ .valid-feedback,.jx-cp .form-check-input.is-valid ~ .valid-tooltip{display:block}.was-validated .jx-cp .custom-control-input:valid ~ .custom-control-label,.jx-cp .custom-control-input.is-valid ~ .custom-control-label{color:#28a745}.was-validated .jx-cp .custom-control-input:valid ~ .custom-control-label::before,.jx-cp .custom-control-input.is-valid ~ .custom-control-label::before{border-color:#28a745}.was-validated .jx-cp .custom-control-input:valid:checked ~ .custom-control-label::before,.jx-cp .custom-control-input.is-valid:checked ~ .custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.was-validated .jx-cp .custom-control-input:valid:focus ~ .custom-control-label::before,.jx-cp .custom-control-input.is-valid:focus ~ .custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated .jx-cp .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before,.jx-cp .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before{border-color:#28a745}.was-validated .jx-cp .custom-file-input:valid ~ .custom-file-label,.jx-cp .custom-file-input.is-valid ~ .custom-file-label{border-color:#28a745}.was-validated .jx-cp .custom-file-input:valid:focus ~ .custom-file-label,.jx-cp .custom-file-input.is-valid:focus ~ .custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.jx-cp .invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.jx-cp .invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,0.9);border-radius:.25rem}.was-validated .jx-cp:invalid ~ .invalid-feedback,.was-validated .jx-cp:invalid ~ .invalid-tooltip,.jx-cp.is-invalid ~ .invalid-feedback,.jx-cp.is-invalid ~ .invalid-tooltip{display:block}.was-validated .jx-cp .form-control:invalid,.jx-cp .form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .jx-cp .form-control:invalid:focus,.jx-cp .form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated .jx-cp textarea.form-control:invalid,.jx-cp textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .jx-cp .custom-select:invalid,.jx-cp .custom-select.is-invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .jx-cp .custom-select:invalid:focus,.jx-cp .custom-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated .jx-cp .form-check-input:invalid ~ .form-check-label,.jx-cp .form-check-input.is-invalid ~ .form-check-label{color:#dc3545}.was-validated .jx-cp .form-check-input:invalid ~ .invalid-feedback,.was-validated .jx-cp .form-check-input:invalid ~ .invalid-tooltip,.jx-cp .form-check-input.is-invalid ~ .invalid-feedback,.jx-cp .form-check-input.is-invalid ~ .invalid-tooltip{display:block}.was-validated .jx-cp .custom-control-input:invalid ~ .custom-control-label,.jx-cp .custom-control-input.is-invalid ~ .custom-control-label{color:#dc3545}.was-validated .jx-cp .custom-control-input:invalid ~ .custom-control-label::before,.jx-cp .custom-control-input.is-invalid ~ .custom-control-label::before{border-color:#dc3545}.was-validated .jx-cp .custom-control-input:invalid:checked ~ .custom-control-label::before,.jx-cp .custom-control-input.is-invalid:checked ~ .custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.was-validated .jx-cp .custom-control-input:invalid:focus ~ .custom-control-label::before,.jx-cp .custom-control-input.is-invalid:focus ~ .custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated .jx-cp .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before,.jx-cp .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before{border-color:#dc3545}.was-validated .jx-cp .custom-file-input:invalid ~ .custom-file-label,.jx-cp .custom-file-input.is-invalid ~ .custom-file-label{border-color:#dc3545}.was-validated .jx-cp .custom-file-input:invalid:focus ~ .custom-file-label,.jx-cp .custom-file-input.is-invalid:focus ~ .custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.jx-cp .form-inline{display:flex;flex-flow:row wrap;align-items:center}.jx-cp .form-inline .form-check{width:100%}@media (min-width: 576px){.jx-cp .form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.jx-cp .form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.jx-cp .form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.jx-cp .form-inline .form-control-plaintext{display:inline-block}.jx-cp .form-inline .input-group,.jx-cp .form-inline .custom-select{width:auto}.jx-cp .form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.jx-cp .form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.jx-cp .form-inline .custom-control{align-items:center;justify-content:center}.jx-cp .form-inline .custom-control-label{margin-bottom:0}}.jx-cp .btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.jx-cp .btn{transition:none}}.jx-cp .btn:hover{color:#212529;text-decoration:none}.jx-cp .btn:focus,.jx-cp .btn.focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.jx-cp .btn.disabled,.jx-cp .btn:disabled{opacity:.65}.jx-cp .btn:not(:disabled):not(.disabled){cursor:pointer}.jx-cp a.btn.disabled,.jx-cp fieldset:disabled a.btn{pointer-events:none}.jx-cp .btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.jx-cp .btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.jx-cp .btn-primary:focus,.jx-cp .btn-primary.focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.jx-cp .btn-primary.disabled,.jx-cp .btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.jx-cp .btn-primary:not(:disabled):not(.disabled):active,.jx-cp .btn-primary:not(:disabled):not(.disabled).active,.show>.jx-cp .btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.jx-cp .btn-primary:not(:disabled):not(.disabled):active:focus,.jx-cp .btn-primary:not(:disabled):not(.disabled).active:focus,.show>.jx-cp .btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.jx-cp .btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.jx-cp .btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.jx-cp .btn-secondary:focus,.jx-cp .btn-secondary.focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,0.5)}.jx-cp .btn-secondary.disabled,.jx-cp .btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.jx-cp .btn-secondary:not(:disabled):not(.disabled):active,.jx-cp .btn-secondary:not(:disabled):not(.disabled).active,.show>.jx-cp .btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.jx-cp .btn-secondary:not(:disabled):not(.disabled):active:focus,.jx-cp .btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.jx-cp .btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,0.5)}.jx-cp .btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.jx-cp .btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.jx-cp .btn-success:focus,.jx-cp .btn-success.focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,0.5)}.jx-cp .btn-success.disabled,.jx-cp .btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.jx-cp .btn-success:not(:disabled):not(.disabled):active,.jx-cp .btn-success:not(:disabled):not(.disabled).active,.show>.jx-cp .btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.jx-cp .btn-success:not(:disabled):not(.disabled):active:focus,.jx-cp .btn-success:not(:disabled):not(.disabled).active:focus,.show>.jx-cp .btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,0.5)}.jx-cp .btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.jx-cp .btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.jx-cp .btn-info:focus,.jx-cp .btn-info.focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,0.5)}.jx-cp .btn-info.disabled,.jx-cp .btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.jx-cp .btn-info:not(:disabled):not(.disabled):active,.jx-cp .btn-info:not(:disabled):not(.disabled).active,.show>.jx-cp .btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.jx-cp .btn-info:not(:disabled):not(.disabled):active:focus,.jx-cp .btn-info:not(:disabled):not(.disabled).active:focus,.show>.jx-cp .btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,0.5)}.jx-cp .btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.jx-cp .btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.jx-cp .btn-warning:focus,.jx-cp .btn-warning.focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,0.5)}.jx-cp .btn-warning.disabled,.jx-cp .btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.jx-cp .btn-warning:not(:disabled):not(.disabled):active,.jx-cp .btn-warning:not(:disabled):not(.disabled).active,.show>.jx-cp .btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.jx-cp .btn-warning:not(:disabled):not(.disabled):active:focus,.jx-cp .btn-warning:not(:disabled):not(.disabled).active:focus,.show>.jx-cp .btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,0.5)}.jx-cp .btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.jx-cp .btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.jx-cp .btn-danger:focus,.jx-cp .btn-danger.focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,0.5)}.jx-cp .btn-danger.disabled,.jx-cp .btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.jx-cp .btn-danger:not(:disabled):not(.disabled):active,.jx-cp .btn-danger:not(:disabled):not(.disabled).active,.show>.jx-cp .btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.jx-cp .btn-danger:not(:disabled):not(.disabled):active:focus,.jx-cp .btn-danger:not(:disabled):not(.disabled).active:focus,.show>.jx-cp .btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,0.5)}.jx-cp .btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.jx-cp .btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.jx-cp .btn-light:focus,.jx-cp .btn-light.focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,0.5)}.jx-cp .btn-light.disabled,.jx-cp .btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.jx-cp .btn-light:not(:disabled):not(.disabled):active,.jx-cp .btn-light:not(:disabled):not(.disabled).active,.show>.jx-cp .btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.jx-cp .btn-light:not(:disabled):not(.disabled):active:focus,.jx-cp .btn-light:not(:disabled):not(.disabled).active:focus,.show>.jx-cp .btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,0.5)}.jx-cp .btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.jx-cp .btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.jx-cp .btn-dark:focus,.jx-cp .btn-dark.focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,0.5)}.jx-cp .btn-dark.disabled,.jx-cp .btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.jx-cp .btn-dark:not(:disabled):not(.disabled):active,.jx-cp .btn-dark:not(:disabled):not(.disabled).active,.show>.jx-cp .btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.jx-cp .btn-dark:not(:disabled):not(.disabled):active:focus,.jx-cp .btn-dark:not(:disabled):not(.disabled).active:focus,.show>.jx-cp .btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,0.5)}.jx-cp .btn-outline-primary{color:#007bff;border-color:#007bff}.jx-cp .btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.jx-cp .btn-outline-primary:focus,.jx-cp .btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(0,123,255,0.5)}.jx-cp .btn-outline-primary.disabled,.jx-cp .btn-outline-primary:disabled{color:#007bff;background-color:transparent}.jx-cp .btn-outline-primary:not(:disabled):not(.disabled):active,.jx-cp .btn-outline-primary:not(:disabled):not(.disabled).active,.show>.jx-cp .btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.jx-cp .btn-outline-primary:not(:disabled):not(.disabled):active:focus,.jx-cp .btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.jx-cp .btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,0.5)}.jx-cp .btn-outline-secondary{color:#6c757d;border-color:#6c757d}.jx-cp .btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.jx-cp .btn-outline-secondary:focus,.jx-cp .btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.jx-cp .btn-outline-secondary.disabled,.jx-cp .btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.jx-cp .btn-outline-secondary:not(:disabled):not(.disabled):active,.jx-cp .btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.jx-cp .btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.jx-cp .btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.jx-cp .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.jx-cp .btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.jx-cp .btn-outline-success{color:#28a745;border-color:#28a745}.jx-cp .btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.jx-cp .btn-outline-success:focus,.jx-cp .btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.jx-cp .btn-outline-success.disabled,.jx-cp .btn-outline-success:disabled{color:#28a745;background-color:transparent}.jx-cp .btn-outline-success:not(:disabled):not(.disabled):active,.jx-cp .btn-outline-success:not(:disabled):not(.disabled).active,.show>.jx-cp .btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.jx-cp .btn-outline-success:not(:disabled):not(.disabled):active:focus,.jx-cp .btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.jx-cp .btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.jx-cp .btn-outline-info{color:#17a2b8;border-color:#17a2b8}.jx-cp .btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.jx-cp .btn-outline-info:focus,.jx-cp .btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.jx-cp .btn-outline-info.disabled,.jx-cp .btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.jx-cp .btn-outline-info:not(:disabled):not(.disabled):active,.jx-cp .btn-outline-info:not(:disabled):not(.disabled).active,.show>.jx-cp .btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.jx-cp .btn-outline-info:not(:disabled):not(.disabled):active:focus,.jx-cp .btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.jx-cp .btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.jx-cp .btn-outline-warning{color:#ffc107;border-color:#ffc107}.jx-cp .btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.jx-cp .btn-outline-warning:focus,.jx-cp .btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.jx-cp .btn-outline-warning.disabled,.jx-cp .btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.jx-cp .btn-outline-warning:not(:disabled):not(.disabled):active,.jx-cp .btn-outline-warning:not(:disabled):not(.disabled).active,.show>.jx-cp .btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.jx-cp .btn-outline-warning:not(:disabled):not(.disabled):active:focus,.jx-cp .btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.jx-cp .btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.jx-cp .btn-outline-danger{color:#dc3545;border-color:#dc3545}.jx-cp .btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.jx-cp .btn-outline-danger:focus,.jx-cp .btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.jx-cp .btn-outline-danger.disabled,.jx-cp .btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.jx-cp .btn-outline-danger:not(:disabled):not(.disabled):active,.jx-cp .btn-outline-danger:not(:disabled):not(.disabled).active,.show>.jx-cp .btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.jx-cp .btn-outline-danger:not(:disabled):not(.disabled):active:focus,.jx-cp .btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.jx-cp .btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.jx-cp .btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.jx-cp .btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.jx-cp .btn-outline-light:focus,.jx-cp .btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.jx-cp .btn-outline-light.disabled,.jx-cp .btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.jx-cp .btn-outline-light:not(:disabled):not(.disabled):active,.jx-cp .btn-outline-light:not(:disabled):not(.disabled).active,.show>.jx-cp .btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.jx-cp .btn-outline-light:not(:disabled):not(.disabled):active:focus,.jx-cp .btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.jx-cp .btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.jx-cp .btn-outline-dark{color:#343a40;border-color:#343a40}.jx-cp .btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.jx-cp .btn-outline-dark:focus,.jx-cp .btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.jx-cp .btn-outline-dark.disabled,.jx-cp .btn-outline-dark:disabled{color:#343a40;background-color:transparent}.jx-cp .btn-outline-dark:not(:disabled):not(.disabled):active,.jx-cp .btn-outline-dark:not(:disabled):not(.disabled).active,.show>.jx-cp .btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.jx-cp .btn-outline-dark:not(:disabled):not(.disabled):active:focus,.jx-cp .btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.jx-cp .btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.jx-cp .btn-link{font-weight:400;color:#007bff;text-decoration:none}.jx-cp .btn-link:hover{color:#0056b3;text-decoration:underline}.jx-cp .btn-link:focus,.jx-cp .btn-link.focus{text-decoration:underline}.jx-cp .btn-link:disabled,.jx-cp .btn-link.disabled{color:#6c757d;pointer-events:none}.jx-cp .btn-lg,.jx-cp .btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.jx-cp .btn-sm,.jx-cp .btn-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.75;border-radius:.2rem}.jx-cp .btn-block{display:block;width:100%}.jx-cp .btn-block+.btn-block{margin-top:.5rem}.jx-cp input[type="submit"].btn-block,.jx-cp input[type="reset"].btn-block,.jx-cp input[type="button"].btn-block{width:100%}.jx-cp .fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.jx-cp .fade{transition:none}}.jx-cp .fade:not(.show){opacity:0}.jx-cp .collapse:not(.show){display:none}.jx-cp .collapsing{position:relative;height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.jx-cp .collapsing{transition:none}}.jx-cp .dropup,.jx-cp .dropright,.jx-cp .dropdown,.jx-cp .dropleft{position:relative}.jx-cp .dropdown-toggle{white-space:nowrap}.jx-cp .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.jx-cp .dropdown-toggle:empty::after{margin-left:0}.jx-cp .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.15);border-radius:.25rem}.jx-cp .dropdown-menu-left{right:auto;left:0}.jx-cp .dropdown-menu-right{right:0;left:auto}@media (min-width: 576px){.jx-cp .dropdown-menu-sm-left{right:auto;left:0}.jx-cp .dropdown-menu-sm-right{right:0;left:auto}}@media (min-width: 768px){.jx-cp .dropdown-menu-md-left{right:auto;left:0}.jx-cp .dropdown-menu-md-right{right:0;left:auto}}@media (min-width: 992px){.jx-cp .dropdown-menu-lg-left{right:auto;left:0}.jx-cp .dropdown-menu-lg-right{right:0;left:auto}}@media (min-width: 1200px){.jx-cp .dropdown-menu-xl-left{right:auto;left:0}.jx-cp .dropdown-menu-xl-right{right:0;left:auto}}.jx-cp .dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.jx-cp .dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.jx-cp .dropup .dropdown-toggle:empty::after{margin-left:0}.jx-cp .dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.jx-cp .dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.jx-cp .dropright .dropdown-toggle:empty::after{margin-left:0}.jx-cp .dropright .dropdown-toggle::after{vertical-align:0}.jx-cp .dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.jx-cp .dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.jx-cp .dropleft .dropdown-toggle::after{display:none}.jx-cp .dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.jx-cp .dropleft .dropdown-toggle:empty::after{margin-left:0}.jx-cp .dropleft .dropdown-toggle::before{vertical-align:0}.jx-cp .dropdown-menu[x-placement^="top"],.jx-cp .dropdown-menu[x-placement^="right"],.jx-cp .dropdown-menu[x-placement^="bottom"],.jx-cp .dropdown-menu[x-placement^="left"]{right:auto;bottom:auto}.jx-cp .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.jx-cp .dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.jx-cp .dropdown-item:hover,.jx-cp .dropdown-item:focus{color:#16181b;text-decoration:none;background-color:#f8f9fa}.jx-cp .dropdown-item.active,.jx-cp .dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.jx-cp .dropdown-item.disabled,.jx-cp .dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.jx-cp .dropdown-menu.show{display:block}.jx-cp .dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.jx-cp .dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.jx-cp .btn-group,.jx-cp .btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.jx-cp .btn-group>.btn,.jx-cp .btn-group-vertical>.btn{position:relative;flex:1 1 auto}.jx-cp .btn-group>.btn:hover,.jx-cp .btn-group-vertical>.btn:hover{z-index:1}.jx-cp .btn-group>.btn:focus,.jx-cp .btn-group>.btn:active,.jx-cp .btn-group>.btn.active,.jx-cp .btn-group-vertical>.btn:focus,.jx-cp .btn-group-vertical>.btn:active,.jx-cp .btn-group-vertical>.btn.active{z-index:1}.jx-cp .btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.jx-cp .btn-toolbar .input-group{width:auto}.jx-cp .btn-group>.btn:not(:first-child),.jx-cp .btn-group>.btn-group:not(:first-child){margin-left:-1px}.jx-cp .btn-group>.btn:not(:last-child):not(.dropdown-toggle),.jx-cp .btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.jx-cp .btn-group>.btn:not(:first-child),.jx-cp .btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.jx-cp .dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.jx-cp .dropdown-toggle-split::after,.dropup .jx-cp .dropdown-toggle-split::after,.dropright .jx-cp .dropdown-toggle-split::after{margin-left:0}.dropleft .jx-cp .dropdown-toggle-split::before{margin-right:0}.jx-cp .btn-sm+.dropdown-toggle-split,.jx-cp .btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.jx-cp .btn-lg+.dropdown-toggle-split,.jx-cp .btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.jx-cp .btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.jx-cp .btn-group-vertical>.btn,.jx-cp .btn-group-vertical>.btn-group{width:100%}.jx-cp .btn-group-vertical>.btn:not(:first-child),.jx-cp .btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.jx-cp .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.jx-cp .btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.jx-cp .btn-group-vertical>.btn:not(:first-child),.jx-cp .btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.jx-cp .btn-group-toggle>.btn,.jx-cp .btn-group-toggle>.btn-group>.btn{margin-bottom:0}.jx-cp .btn-group-toggle>.btn input[type="radio"],.jx-cp .btn-group-toggle>.btn input[type="checkbox"],.jx-cp .btn-group-toggle>.btn-group>.btn input[type="radio"],.jx-cp .btn-group-toggle>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.jx-cp .input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.jx-cp .input-group>.form-control,.jx-cp .input-group>.form-control-plaintext,.jx-cp .input-group>.custom-select,.jx-cp .input-group>.custom-file{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.jx-cp .input-group>.form-control+.form-control,.jx-cp .input-group>.form-control+.custom-select,.jx-cp .input-group>.form-control+.custom-file,.jx-cp .input-group>.form-control-plaintext+.form-control,.jx-cp .input-group>.form-control-plaintext+.custom-select,.jx-cp .input-group>.form-control-plaintext+.custom-file,.jx-cp .input-group>.custom-select+.form-control,.jx-cp .input-group>.custom-select+.custom-select,.jx-cp .input-group>.custom-select+.custom-file,.jx-cp .input-group>.custom-file+.form-control,.jx-cp .input-group>.custom-file+.custom-select,.jx-cp .input-group>.custom-file+.custom-file{margin-left:-1px}.jx-cp .input-group>.form-control:focus,.jx-cp .input-group>.custom-select:focus,.jx-cp .input-group>.custom-file .custom-file-input:focus ~ .custom-file-label{z-index:3}.jx-cp .input-group>.custom-file .custom-file-input:focus{z-index:4}.jx-cp .input-group>.form-control:not(:last-child),.jx-cp .input-group>.custom-select:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.jx-cp .input-group>.form-control:not(:first-child),.jx-cp .input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.jx-cp .input-group>.custom-file{display:flex;align-items:center}.jx-cp .input-group>.custom-file:not(:last-child) .custom-file-label,.jx-cp .input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.jx-cp .input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.jx-cp .input-group-prepend,.jx-cp .input-group-append{display:flex}.jx-cp .input-group-prepend .btn,.jx-cp .input-group-append .btn{position:relative;z-index:2}.jx-cp .input-group-prepend .btn:focus,.jx-cp .input-group-append .btn:focus{z-index:3}.jx-cp .input-group-prepend .btn+.btn,.jx-cp .input-group-prepend .btn+.input-group-text,.jx-cp .input-group-prepend .input-group-text+.input-group-text,.jx-cp .input-group-prepend .input-group-text+.btn,.jx-cp .input-group-append .btn+.btn,.jx-cp .input-group-append .btn+.input-group-text,.jx-cp .input-group-append .input-group-text+.input-group-text,.jx-cp .input-group-append .input-group-text+.btn{margin-left:-1px}.jx-cp .input-group-prepend{margin-right:-1px}.jx-cp .input-group-append{margin-left:-1px}.jx-cp .input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.jx-cp .input-group-text input[type="radio"],.jx-cp .input-group-text input[type="checkbox"]{margin-top:0}.jx-cp .input-group-lg>.form-control:not(textarea),.jx-cp .input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.jx-cp .input-group-lg>.form-control,.jx-cp .input-group-lg>.custom-select,.jx-cp .input-group-lg>.input-group-prepend>.input-group-text,.jx-cp .input-group-lg>.input-group-append>.input-group-text,.jx-cp .input-group-lg>.input-group-prepend>.btn,.jx-cp .input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.jx-cp .input-group-sm>.form-control:not(textarea),.jx-cp .input-group-sm>.custom-select{height:calc(1.75em + .5rem + 2px)}.jx-cp .input-group-sm>.form-control,.jx-cp .input-group-sm>.custom-select,.jx-cp .input-group-sm>.input-group-prepend>.input-group-text,.jx-cp .input-group-sm>.input-group-append>.input-group-text,.jx-cp .input-group-sm>.input-group-prepend>.btn,.jx-cp .input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.75;border-radius:.2rem}.jx-cp .input-group-lg>.custom-select,.jx-cp .input-group-sm>.custom-select{padding-right:1.75rem}.jx-cp .input-group>.input-group-prepend>.btn,.jx-cp .input-group>.input-group-prepend>.input-group-text,.jx-cp .input-group>.input-group-append:not(:last-child)>.btn,.jx-cp .input-group>.input-group-append:not(:last-child)>.input-group-text,.jx-cp .input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.jx-cp .input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.jx-cp .input-group>.input-group-append>.btn,.jx-cp .input-group>.input-group-append>.input-group-text,.jx-cp .input-group>.input-group-prepend:not(:first-child)>.btn,.jx-cp .input-group>.input-group-prepend:not(:first-child)>.input-group-text,.jx-cp .input-group>.input-group-prepend:first-child>.btn:not(:first-child),.jx-cp .input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.jx-cp .custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.jx-cp .custom-control-inline{display:inline-flex;margin-right:1rem}.jx-cp .custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.jx-cp .custom-control-input:checked ~ .custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.jx-cp .custom-control-input:focus ~ .custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.jx-cp .custom-control-input:focus:not(:checked) ~ .custom-control-label::before{border-color:#80bdff}.jx-cp .custom-control-input:not(:disabled):active ~ .custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.jx-cp .custom-control-input[disabled] ~ .custom-control-label,.jx-cp .custom-control-input:disabled ~ .custom-control-label{color:#6c757d}.jx-cp .custom-control-input[disabled] ~ .custom-control-label::before,.jx-cp .custom-control-input:disabled ~ .custom-control-label::before{background-color:#e9ecef}.jx-cp .custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.jx-cp .custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.jx-cp .custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50% / 50% 50%}.jx-cp .custom-checkbox .custom-control-label::before{border-radius:.25rem}.jx-cp .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.jx-cp .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before{border-color:#007bff;background-color:#007bff}.jx-cp .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.jx-cp .custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before{background-color:rgba(0,123,255,0.5)}.jx-cp .custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before{background-color:rgba(0,123,255,0.5)}.jx-cp .custom-radio .custom-control-label::before{border-radius:50%}.jx-cp .custom-radio .custom-control-input:checked ~ .custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.jx-cp .custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before{background-color:rgba(0,123,255,0.5)}.jx-cp .custom-switch{padding-left:2.25rem}.jx-cp .custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.jx-cp .custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.jx-cp .custom-switch .custom-control-label::after{transition:none}}.jx-cp .custom-switch .custom-control-input:checked ~ .custom-control-label::after{background-color:#fff;transform:translateX(.75rem)}.jx-cp .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before{background-color:rgba(0,123,255,0.5)}.jx-cp .custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;appearance:none}.jx-cp .custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.jx-cp .custom-select:focus::-ms-value{color:#495057;background-color:#fff}.jx-cp .custom-select[multiple],.jx-cp .custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.jx-cp .custom-select:disabled{color:#6c757d;background-color:#e9ecef}.jx-cp .custom-select::-ms-expand{display:none}.jx-cp .custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.jx-cp .custom-select-sm{height:calc(1.75em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.jx-cp .custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.jx-cp .custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.jx-cp .custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.jx-cp .custom-file-input:focus ~ .custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.jx-cp .custom-file-input[disabled] ~ .custom-file-label,.jx-cp .custom-file-input:disabled ~ .custom-file-label{background-color:#e9ecef}.jx-cp .custom-file-input:lang(en) ~ .custom-file-label::after{content:"Browse"}.jx-cp .custom-file-input ~ .custom-file-label[data-browse]::after{content:attr(data-browse)}.jx-cp .custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.jx-cp .custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.jx-cp .custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none}.jx-cp .custom-range:focus{outline:none}.jx-cp .custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,0.25)}.jx-cp .custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,0.25)}.jx-cp .custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,0.25)}.jx-cp .custom-range::-moz-focus-outer{border:0}.jx-cp .custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.jx-cp .custom-range::-webkit-slider-thumb{transition:none}}.jx-cp .custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.jx-cp .custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.jx-cp .custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.jx-cp .custom-range::-moz-range-thumb{transition:none}}.jx-cp .custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.jx-cp .custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.jx-cp .custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.jx-cp .custom-range::-ms-thumb{transition:none}}.jx-cp .custom-range::-ms-thumb:active{background-color:#b3d7ff}.jx-cp .custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.jx-cp .custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.jx-cp .custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.jx-cp .custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.jx-cp .custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.jx-cp .custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.jx-cp .custom-range:disabled::-moz-range-track{cursor:default}.jx-cp .custom-range:disabled::-ms-thumb{background-color:#adb5bd}.jx-cp .custom-control-label::before,.jx-cp .custom-file-label,.jx-cp .custom-select{transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.jx-cp .custom-control-label::before,.jx-cp .custom-file-label,.jx-cp .custom-select{transition:none}}.jx-cp .nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.jx-cp .nav-link{display:block;padding:.5rem 1rem}.jx-cp .nav-link:hover,.jx-cp .nav-link:focus{text-decoration:none}.jx-cp .nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.jx-cp .nav-tabs{border-bottom:1px solid #dee2e6}.jx-cp .nav-tabs .nav-item{margin-bottom:-1px}.jx-cp .nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.jx-cp .nav-tabs .nav-link:hover,.jx-cp .nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #dee2e6}.jx-cp .nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.jx-cp .nav-tabs .nav-link.active,.jx-cp .nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.jx-cp .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.jx-cp .nav-pills .nav-link{border-radius:.25rem}.jx-cp .nav-pills .nav-link.active,.jx-cp .nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.jx-cp .nav-fill .nav-item{flex:1 1 auto;text-align:center}.jx-cp .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.jx-cp .tab-content>.tab-pane{display:none}.jx-cp .tab-content>.active{display:block}.jx-cp .navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.jx-cp .navbar .container,.jx-cp .navbar .container-fluid,.jx-cp .navbar .container-sm,.jx-cp .navbar .container-md,.jx-cp .navbar .container-lg,.jx-cp .navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.jx-cp .navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.jx-cp .navbar-brand:hover,.jx-cp .navbar-brand:focus{text-decoration:none}.jx-cp .navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.jx-cp .navbar-nav .nav-link{padding-right:0;padding-left:0}.jx-cp .navbar-nav .dropdown-menu{position:static;float:none}.jx-cp .navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.jx-cp .navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.jx-cp .navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.jx-cp .navbar-toggler:hover,.jx-cp .navbar-toggler:focus{text-decoration:none}.jx-cp .navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width: 575.98px){.jx-cp .navbar-expand-sm>.container,.jx-cp .navbar-expand-sm>.container-fluid,.jx-cp .navbar-expand-sm>.container-sm,.jx-cp .navbar-expand-sm>.container-md,.jx-cp .navbar-expand-sm>.container-lg,.jx-cp .navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 576px){.jx-cp .navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.jx-cp .navbar-expand-sm .navbar-nav{flex-direction:row}.jx-cp .navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.jx-cp .navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.jx-cp .navbar-expand-sm>.container,.jx-cp .navbar-expand-sm>.container-fluid,.jx-cp .navbar-expand-sm>.container-sm,.jx-cp .navbar-expand-sm>.container-md,.jx-cp .navbar-expand-sm>.container-lg,.jx-cp .navbar-expand-sm>.container-xl{flex-wrap:nowrap}.jx-cp .navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.jx-cp .navbar-expand-sm .navbar-toggler{display:none}}@media (max-width: 767.98px){.jx-cp .navbar-expand-md>.container,.jx-cp .navbar-expand-md>.container-fluid,.jx-cp .navbar-expand-md>.container-sm,.jx-cp .navbar-expand-md>.container-md,.jx-cp .navbar-expand-md>.container-lg,.jx-cp .navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 768px){.jx-cp .navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.jx-cp .navbar-expand-md .navbar-nav{flex-direction:row}.jx-cp .navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.jx-cp .navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.jx-cp .navbar-expand-md>.container,.jx-cp .navbar-expand-md>.container-fluid,.jx-cp .navbar-expand-md>.container-sm,.jx-cp .navbar-expand-md>.container-md,.jx-cp .navbar-expand-md>.container-lg,.jx-cp .navbar-expand-md>.container-xl{flex-wrap:nowrap}.jx-cp .navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.jx-cp .navbar-expand-md .navbar-toggler{display:none}}@media (max-width: 991.98px){.jx-cp .navbar-expand-lg>.container,.jx-cp .navbar-expand-lg>.container-fluid,.jx-cp .navbar-expand-lg>.container-sm,.jx-cp .navbar-expand-lg>.container-md,.jx-cp .navbar-expand-lg>.container-lg,.jx-cp .navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 992px){.jx-cp .navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.jx-cp .navbar-expand-lg .navbar-nav{flex-direction:row}.jx-cp .navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.jx-cp .navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.jx-cp .navbar-expand-lg>.container,.jx-cp .navbar-expand-lg>.container-fluid,.jx-cp .navbar-expand-lg>.container-sm,.jx-cp .navbar-expand-lg>.container-md,.jx-cp .navbar-expand-lg>.container-lg,.jx-cp .navbar-expand-lg>.container-xl{flex-wrap:nowrap}.jx-cp .navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.jx-cp .navbar-expand-lg .navbar-toggler{display:none}}@media (max-width: 1199.98px){.jx-cp .navbar-expand-xl>.container,.jx-cp .navbar-expand-xl>.container-fluid,.jx-cp .navbar-expand-xl>.container-sm,.jx-cp .navbar-expand-xl>.container-md,.jx-cp .navbar-expand-xl>.container-lg,.jx-cp .navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 1200px){.jx-cp .navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.jx-cp .navbar-expand-xl .navbar-nav{flex-direction:row}.jx-cp .navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.jx-cp .navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.jx-cp .navbar-expand-xl>.container,.jx-cp .navbar-expand-xl>.container-fluid,.jx-cp .navbar-expand-xl>.container-sm,.jx-cp .navbar-expand-xl>.container-md,.jx-cp .navbar-expand-xl>.container-lg,.jx-cp .navbar-expand-xl>.container-xl{flex-wrap:nowrap}.jx-cp .navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.jx-cp .navbar-expand-xl .navbar-toggler{display:none}}.jx-cp .navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.jx-cp .navbar-expand>.container,.jx-cp .navbar-expand>.container-fluid,.jx-cp .navbar-expand>.container-sm,.jx-cp .navbar-expand>.container-md,.jx-cp .navbar-expand>.container-lg,.jx-cp .navbar-expand>.container-xl{padding-right:0;padding-left:0}.jx-cp .navbar-expand .navbar-nav{flex-direction:row}.jx-cp .navbar-expand .navbar-nav .dropdown-menu{position:absolute}.jx-cp .navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.jx-cp .navbar-expand>.container,.jx-cp .navbar-expand>.container-fluid,.jx-cp .navbar-expand>.container-sm,.jx-cp .navbar-expand>.container-md,.jx-cp .navbar-expand>.container-lg,.jx-cp .navbar-expand>.container-xl{flex-wrap:nowrap}.jx-cp .navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.jx-cp .navbar-expand .navbar-toggler{display:none}.jx-cp .navbar-light .navbar-brand{color:rgba(0,0,0,0.9)}.jx-cp .navbar-light .navbar-brand:hover,.jx-cp .navbar-light .navbar-brand:focus{color:rgba(0,0,0,0.9)}.jx-cp .navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,0.5)}.jx-cp .navbar-light .navbar-nav .nav-link:hover,.jx-cp .navbar-light .navbar-nav .nav-link:focus{color:rgba(0,0,0,0.7)}.jx-cp .navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,0.3)}.jx-cp .navbar-light .navbar-nav .show>.nav-link,.jx-cp .navbar-light .navbar-nav .active>.nav-link,.jx-cp .navbar-light .navbar-nav .nav-link.show,.jx-cp .navbar-light .navbar-nav .nav-link.active{color:rgba(0,0,0,0.9)}.jx-cp .navbar-light .navbar-toggler{color:rgba(0,0,0,0.5);border-color:rgba(0,0,0,0.1)}.jx-cp .navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.jx-cp .navbar-light .navbar-text{color:rgba(0,0,0,0.5)}.jx-cp .navbar-light .navbar-text a{color:rgba(0,0,0,0.9)}.jx-cp .navbar-light .navbar-text a:hover,.jx-cp .navbar-light .navbar-text a:focus{color:rgba(0,0,0,0.9)}.jx-cp .navbar-dark .navbar-brand{color:#fff}.jx-cp .navbar-dark .navbar-brand:hover,.jx-cp .navbar-dark .navbar-brand:focus{color:#fff}.jx-cp .navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,0.5)}.jx-cp .navbar-dark .navbar-nav .nav-link:hover,.jx-cp .navbar-dark .navbar-nav .nav-link:focus{color:rgba(255,255,255,0.75)}.jx-cp .navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,0.25)}.jx-cp .navbar-dark .navbar-nav .show>.nav-link,.jx-cp .navbar-dark .navbar-nav .active>.nav-link,.jx-cp .navbar-dark .navbar-nav .nav-link.show,.jx-cp .navbar-dark .navbar-nav .nav-link.active{color:#fff}.jx-cp .navbar-dark .navbar-toggler{color:rgba(255,255,255,0.5);border-color:rgba(255,255,255,0.1)}.jx-cp .navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.jx-cp .navbar-dark .navbar-text{color:rgba(255,255,255,0.5)}.jx-cp .navbar-dark .navbar-text a{color:#fff}.jx-cp .navbar-dark .navbar-text a:hover,.jx-cp .navbar-dark .navbar-text a:focus{color:#fff}.jx-cp .card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,0.125);border-radius:.25rem}.jx-cp .card>hr{margin-right:0;margin-left:0}.jx-cp .card>.list-group{border-top:inherit;border-bottom:inherit}.jx-cp .card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.jx-cp .card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.jx-cp .card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.jx-cp .card-title{margin-bottom:.75rem}.jx-cp .card-subtitle{margin-top:-.375rem;margin-bottom:0}.jx-cp .card-text:last-child{margin-bottom:0}.jx-cp .card-link:hover{text-decoration:none}.jx-cp .card-link+.card-link{margin-left:1.25rem}.jx-cp .card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,0.03);border-bottom:1px solid rgba(0,0,0,0.125)}.jx-cp .card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.jx-cp .card-header+.list-group .list-group-item:first-child{border-top:0}.jx-cp .card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,0.03);border-top:1px solid rgba(0,0,0,0.125)}.jx-cp .card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.jx-cp .card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.jx-cp .card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.jx-cp .card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.jx-cp .card-img,.jx-cp .card-img-top,.jx-cp .card-img-bottom{flex-shrink:0;width:100%}.jx-cp .card-img,.jx-cp .card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.jx-cp .card-img,.jx-cp .card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.jx-cp .card-deck .card{margin-bottom:15px}@media (min-width: 576px){.jx-cp .card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.jx-cp .card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.jx-cp .card-group>.card{margin-bottom:15px}@media (min-width: 576px){.jx-cp .card-group{display:flex;flex-flow:row wrap}.jx-cp .card-group>.card{flex:1 0 0%;margin-bottom:0}.jx-cp .card-group>.card+.card{margin-left:0;border-left:0}.jx-cp .card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.jx-cp .card-group>.card:not(:last-child) .card-img-top,.jx-cp .card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.jx-cp .card-group>.card:not(:last-child) .card-img-bottom,.jx-cp .card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.jx-cp .card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.jx-cp .card-group>.card:not(:first-child) .card-img-top,.jx-cp .card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.jx-cp .card-group>.card:not(:first-child) .card-img-bottom,.jx-cp .card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.jx-cp .card-columns .card{margin-bottom:.75rem}@media (min-width: 576px){.jx-cp .card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.jx-cp .card-columns .card{display:inline-block;width:100%}}.jx-cp .accordion>.card{overflow:hidden}.jx-cp .accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.jx-cp .accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.jx-cp .accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.jx-cp .badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.jx-cp .badge{transition:none}}a.jx-cp .badge:hover,a.jx-cp .badge:focus{text-decoration:none}.jx-cp .badge:empty{display:none}.jx-cp .btn .badge{position:relative;top:-1px}.jx-cp .badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.jx-cp .badge-primary{color:#fff;background-color:#007bff}a.jx-cp .badge-primary:hover,a.jx-cp .badge-primary:focus{color:#fff;background-color:#0062cc}a.jx-cp .badge-primary:focus,a.jx-cp .badge-primary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,0.5)}.jx-cp .badge-secondary{color:#fff;background-color:#6c757d}a.jx-cp .badge-secondary:hover,a.jx-cp .badge-secondary:focus{color:#fff;background-color:#545b62}a.jx-cp .badge-secondary:focus,a.jx-cp .badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.jx-cp .badge-success{color:#fff;background-color:#28a745}a.jx-cp .badge-success:hover,a.jx-cp .badge-success:focus{color:#fff;background-color:#1e7e34}a.jx-cp .badge-success:focus,a.jx-cp .badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.jx-cp .badge-info{color:#fff;background-color:#17a2b8}a.jx-cp .badge-info:hover,a.jx-cp .badge-info:focus{color:#fff;background-color:#117a8b}a.jx-cp .badge-info:focus,a.jx-cp .badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.jx-cp .badge-warning{color:#212529;background-color:#ffc107}a.jx-cp .badge-warning:hover,a.jx-cp .badge-warning:focus{color:#212529;background-color:#d39e00}a.jx-cp .badge-warning:focus,a.jx-cp .badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.jx-cp .badge-danger{color:#fff;background-color:#dc3545}a.jx-cp .badge-danger:hover,a.jx-cp .badge-danger:focus{color:#fff;background-color:#bd2130}a.jx-cp .badge-danger:focus,a.jx-cp .badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.jx-cp .badge-light{color:#212529;background-color:#f8f9fa}a.jx-cp .badge-light:hover,a.jx-cp .badge-light:focus{color:#212529;background-color:#dae0e5}a.jx-cp .badge-light:focus,a.jx-cp .badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.jx-cp .badge-dark{color:#fff;background-color:#343a40}a.jx-cp .badge-dark:hover,a.jx-cp .badge-dark:focus{color:#fff;background-color:#1d2124}a.jx-cp .badge-dark:focus,a.jx-cp .badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.jx-cp .alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.jx-cp .alert-heading{color:inherit}.jx-cp .alert-link{font-weight:700}.jx-cp .alert-dismissible{padding-right:4rem}.jx-cp .alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.jx-cp .alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.jx-cp .alert-primary hr{border-top-color:#9fcdff}.jx-cp .alert-primary .alert-link{color:#002752}.jx-cp .alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.jx-cp .alert-secondary hr{border-top-color:#c8cbcf}.jx-cp .alert-secondary .alert-link{color:#202326}.jx-cp .alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.jx-cp .alert-success hr{border-top-color:#b1dfbb}.jx-cp .alert-success .alert-link{color:#0b2e13}.jx-cp .alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.jx-cp .alert-info hr{border-top-color:#abdde5}.jx-cp .alert-info .alert-link{color:#062c33}.jx-cp .alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.jx-cp .alert-warning hr{border-top-color:#ffe8a1}.jx-cp .alert-warning .alert-link{color:#533f03}.jx-cp .alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.jx-cp .alert-danger hr{border-top-color:#f1b0b7}.jx-cp .alert-danger .alert-link{color:#491217}.jx-cp .alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.jx-cp .alert-light hr{border-top-color:#ececf6}.jx-cp .alert-light .alert-link{color:#686868}.jx-cp .alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.jx-cp .alert-dark hr{border-top-color:#b9bbbe}.jx-cp .alert-dark .alert-link{color:#040505}.jx-cp .list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.jx-cp .list-group-item-action{width:100%;color:#495057;text-align:inherit}.jx-cp .list-group-item-action:hover,.jx-cp .list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.jx-cp .list-group-item-action:active{color:#212529;background-color:#e9ecef}.jx-cp .list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,0.125)}.jx-cp .list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.jx-cp .list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.jx-cp .list-group-item.disabled,.jx-cp .list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.jx-cp .list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.jx-cp .list-group-item+.jx-cp .list-group-item{border-top-width:0}.jx-cp .list-group-item+.jx-cp .list-group-item.active{margin-top:-1px;border-top-width:1px}.jx-cp .list-group-horizontal{flex-direction:row}.jx-cp .list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.jx-cp .list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.jx-cp .list-group-horizontal>.list-group-item.active{margin-top:0}.jx-cp .list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.jx-cp .list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width: 576px){.jx-cp .list-group-horizontal-sm{flex-direction:row}.jx-cp .list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.jx-cp .list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.jx-cp .list-group-horizontal-sm>.list-group-item.active{margin-top:0}.jx-cp .list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.jx-cp .list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 768px){.jx-cp .list-group-horizontal-md{flex-direction:row}.jx-cp .list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.jx-cp .list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.jx-cp .list-group-horizontal-md>.list-group-item.active{margin-top:0}.jx-cp .list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.jx-cp .list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 992px){.jx-cp .list-group-horizontal-lg{flex-direction:row}.jx-cp .list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.jx-cp .list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.jx-cp .list-group-horizontal-lg>.list-group-item.active{margin-top:0}.jx-cp .list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.jx-cp .list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1200px){.jx-cp .list-group-horizontal-xl{flex-direction:row}.jx-cp .list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.jx-cp .list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.jx-cp .list-group-horizontal-xl>.list-group-item.active{margin-top:0}.jx-cp .list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.jx-cp .list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.jx-cp .list-group-flush{border-radius:0}.jx-cp .list-group-flush>.list-group-item{border-width:0 0 1px}.jx-cp .list-group-flush>.list-group-item:last-child{border-bottom-width:0}.jx-cp .list-group-item-primary{color:#004085;background-color:#b8daff}.jx-cp .list-group-item-primary.list-group-item-action:hover,.jx-cp .list-group-item-primary.list-group-item-action:focus{color:#004085;background-color:#9fcdff}.jx-cp .list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.jx-cp .list-group-item-secondary{color:#383d41;background-color:#d6d8db}.jx-cp .list-group-item-secondary.list-group-item-action:hover,.jx-cp .list-group-item-secondary.list-group-item-action:focus{color:#383d41;background-color:#c8cbcf}.jx-cp .list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.jx-cp .list-group-item-success{color:#155724;background-color:#c3e6cb}.jx-cp .list-group-item-success.list-group-item-action:hover,.jx-cp .list-group-item-success.list-group-item-action:focus{color:#155724;background-color:#b1dfbb}.jx-cp .list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.jx-cp .list-group-item-info{color:#0c5460;background-color:#bee5eb}.jx-cp .list-group-item-info.list-group-item-action:hover,.jx-cp .list-group-item-info.list-group-item-action:focus{color:#0c5460;background-color:#abdde5}.jx-cp .list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.jx-cp .list-group-item-warning{color:#856404;background-color:#ffeeba}.jx-cp .list-group-item-warning.list-group-item-action:hover,.jx-cp .list-group-item-warning.list-group-item-action:focus{color:#856404;background-color:#ffe8a1}.jx-cp .list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.jx-cp .list-group-item-danger{color:#721c24;background-color:#f5c6cb}.jx-cp .list-group-item-danger.list-group-item-action:hover,.jx-cp .list-group-item-danger.list-group-item-action:focus{color:#721c24;background-color:#f1b0b7}.jx-cp .list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.jx-cp .list-group-item-light{color:#818182;background-color:#fdfdfe}.jx-cp .list-group-item-light.list-group-item-action:hover,.jx-cp .list-group-item-light.list-group-item-action:focus{color:#818182;background-color:#ececf6}.jx-cp .list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.jx-cp .list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.jx-cp .list-group-item-dark.list-group-item-action:hover,.jx-cp .list-group-item-dark.list-group-item-action:focus{color:#1b1e21;background-color:#b9bbbe}.jx-cp .list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.jx-cp .close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.jx-cp .close:hover{color:#000;text-decoration:none}.jx-cp .close:not(:disabled):not(.disabled):hover,.jx-cp .close:not(:disabled):not(.disabled):focus{opacity:.75}.jx-cp button.close{padding:0;background-color:transparent;border:0}.jx-cp a.close.disabled{pointer-events:none}@keyframes spinner-border{to{transform:rotate(360deg)}}.jx-cp .spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite}.jx-cp .spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.jx-cp .spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:spinner-grow .75s linear infinite}.jx-cp .spinner-grow-sm{width:1rem;height:1rem}.jx-cp .align-baseline{vertical-align:baseline !important}.jx-cp .align-top{vertical-align:top !important}.jx-cp .align-middle{vertical-align:middle !important}.jx-cp .align-bottom{vertical-align:bottom !important}.jx-cp .align-text-bottom{vertical-align:text-bottom !important}.jx-cp .align-text-top{vertical-align:text-top !important}.jx-cp .bg-primary{background-color:#007bff !important}.jx-cp a.bg-primary:hover,.jx-cp a.bg-primary:focus,.jx-cp button.bg-primary:hover,.jx-cp button.bg-primary:focus{background-color:#0062cc !important}.jx-cp .bg-secondary{background-color:#6c757d !important}.jx-cp a.bg-secondary:hover,.jx-cp a.bg-secondary:focus,.jx-cp button.bg-secondary:hover,.jx-cp button.bg-secondary:focus{background-color:#545b62 !important}.jx-cp .bg-success{background-color:#28a745 !important}.jx-cp a.bg-success:hover,.jx-cp a.bg-success:focus,.jx-cp button.bg-success:hover,.jx-cp button.bg-success:focus{background-color:#1e7e34 !important}.jx-cp .bg-info{background-color:#17a2b8 !important}.jx-cp a.bg-info:hover,.jx-cp a.bg-info:focus,.jx-cp button.bg-info:hover,.jx-cp button.bg-info:focus{background-color:#117a8b !important}.jx-cp .bg-warning{background-color:#ffc107 !important}.jx-cp a.bg-warning:hover,.jx-cp a.bg-warning:focus,.jx-cp button.bg-warning:hover,.jx-cp button.bg-warning:focus{background-color:#d39e00 !important}.jx-cp .bg-danger{background-color:#dc3545 !important}.jx-cp a.bg-danger:hover,.jx-cp a.bg-danger:focus,.jx-cp button.bg-danger:hover,.jx-cp button.bg-danger:focus{background-color:#bd2130 !important}.jx-cp .bg-light{background-color:#f8f9fa !important}.jx-cp a.bg-light:hover,.jx-cp a.bg-light:focus,.jx-cp button.bg-light:hover,.jx-cp button.bg-light:focus{background-color:#dae0e5 !important}.jx-cp .bg-dark{background-color:#343a40 !important}.jx-cp a.bg-dark:hover,.jx-cp a.bg-dark:focus,.jx-cp button.bg-dark:hover,.jx-cp button.bg-dark:focus{background-color:#1d2124 !important}.jx-cp .bg-white{background-color:#fff !important}.jx-cp .bg-transparent{background-color:transparent !important}.jx-cp .border{border:1px solid #dee2e6 !important}.jx-cp .border-top{border-top:1px solid #dee2e6 !important}.jx-cp .border-right{border-right:1px solid #dee2e6 !important}.jx-cp .border-bottom{border-bottom:1px solid #dee2e6 !important}.jx-cp .border-left{border-left:1px solid #dee2e6 !important}.jx-cp .border-0{border:0 !important}.jx-cp .border-top-0{border-top:0 !important}.jx-cp .border-right-0{border-right:0 !important}.jx-cp .border-bottom-0{border-bottom:0 !important}.jx-cp .border-left-0{border-left:0 !important}.jx-cp .border-primary{border-color:#007bff !important}.jx-cp .border-secondary{border-color:#6c757d !important}.jx-cp .border-success{border-color:#28a745 !important}.jx-cp .border-info{border-color:#17a2b8 !important}.jx-cp .border-warning{border-color:#ffc107 !important}.jx-cp .border-danger{border-color:#dc3545 !important}.jx-cp .border-light{border-color:#f8f9fa !important}.jx-cp .border-dark{border-color:#343a40 !important}.jx-cp .border-white{border-color:#fff !important}.jx-cp .rounded-sm{border-radius:.2rem !important}.jx-cp .rounded{border-radius:.25rem !important}.jx-cp .rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.jx-cp .rounded-right{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.jx-cp .rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.jx-cp .rounded-left{border-top-left-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.jx-cp .rounded-lg{border-radius:.3rem !important}.jx-cp .rounded-circle{border-radius:50% !important}.jx-cp .rounded-pill{border-radius:50rem !important}.jx-cp .rounded-0{border-radius:0 !important}.jx-cp .clearfix::after{display:block;clear:both;content:""}.jx-cp .d-none{display:none !important}.jx-cp .d-inline{display:inline !important}.jx-cp .d-inline-block{display:inline-block !important}.jx-cp .d-block{display:block !important}.jx-cp .d-table{display:table !important}.jx-cp .d-table-row{display:table-row !important}.jx-cp .d-table-cell{display:table-cell !important}.jx-cp .d-flex{display:flex !important}.jx-cp .d-inline-flex{display:inline-flex !important}@media (min-width: 576px){.jx-cp .d-sm-none{display:none !important}.jx-cp .d-sm-inline{display:inline !important}.jx-cp .d-sm-inline-block{display:inline-block !important}.jx-cp .d-sm-block{display:block !important}.jx-cp .d-sm-table{display:table !important}.jx-cp .d-sm-table-row{display:table-row !important}.jx-cp .d-sm-table-cell{display:table-cell !important}.jx-cp .d-sm-flex{display:flex !important}.jx-cp .d-sm-inline-flex{display:inline-flex !important}}@media (min-width: 768px){.jx-cp .d-md-none{display:none !important}.jx-cp .d-md-inline{display:inline !important}.jx-cp .d-md-inline-block{display:inline-block !important}.jx-cp .d-md-block{display:block !important}.jx-cp .d-md-table{display:table !important}.jx-cp .d-md-table-row{display:table-row !important}.jx-cp .d-md-table-cell{display:table-cell !important}.jx-cp .d-md-flex{display:flex !important}.jx-cp .d-md-inline-flex{display:inline-flex !important}}@media (min-width: 992px){.jx-cp .d-lg-none{display:none !important}.jx-cp .d-lg-inline{display:inline !important}.jx-cp .d-lg-inline-block{display:inline-block !important}.jx-cp .d-lg-block{display:block !important}.jx-cp .d-lg-table{display:table !important}.jx-cp .d-lg-table-row{display:table-row !important}.jx-cp .d-lg-table-cell{display:table-cell !important}.jx-cp .d-lg-flex{display:flex !important}.jx-cp .d-lg-inline-flex{display:inline-flex !important}}@media (min-width: 1200px){.jx-cp .d-xl-none{display:none !important}.jx-cp .d-xl-inline{display:inline !important}.jx-cp .d-xl-inline-block{display:inline-block !important}.jx-cp .d-xl-block{display:block !important}.jx-cp .d-xl-table{display:table !important}.jx-cp .d-xl-table-row{display:table-row !important}.jx-cp .d-xl-table-cell{display:table-cell !important}.jx-cp .d-xl-flex{display:flex !important}.jx-cp .d-xl-inline-flex{display:inline-flex !important}}@media print{.jx-cp .d-print-none{display:none !important}.jx-cp .d-print-inline{display:inline !important}.jx-cp .d-print-inline-block{display:inline-block !important}.jx-cp .d-print-block{display:block !important}.jx-cp .d-print-table{display:table !important}.jx-cp .d-print-table-row{display:table-row !important}.jx-cp .d-print-table-cell{display:table-cell !important}.jx-cp .d-print-flex{display:flex !important}.jx-cp .d-print-inline-flex{display:inline-flex !important}}.jx-cp .embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.jx-cp .embed-responsive::before{display:block;content:""}.jx-cp .embed-responsive .embed-responsive-item,.jx-cp .embed-responsive iframe,.jx-cp .embed-responsive embed,.jx-cp .embed-responsive object,.jx-cp .embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.jx-cp .embed-responsive-21by9::before{padding-top:42.85714%}.jx-cp .embed-responsive-16by9::before{padding-top:56.25%}.jx-cp .embed-responsive-4by3::before{padding-top:75%}.jx-cp .embed-responsive-1by1::before{padding-top:100%}.jx-cp .flex-row{flex-direction:row !important}.jx-cp .flex-column{flex-direction:column !important}.jx-cp .flex-row-reverse{flex-direction:row-reverse !important}.jx-cp .flex-column-reverse{flex-direction:column-reverse !important}.jx-cp .flex-wrap{flex-wrap:wrap !important}.jx-cp .flex-nowrap{flex-wrap:nowrap !important}.jx-cp .flex-wrap-reverse{flex-wrap:wrap-reverse !important}.jx-cp .flex-fill{flex:1 1 auto !important}.jx-cp .flex-grow-0{flex-grow:0 !important}.jx-cp .flex-grow-1{flex-grow:1 !important}.jx-cp .flex-shrink-0{flex-shrink:0 !important}.jx-cp .flex-shrink-1{flex-shrink:1 !important}.jx-cp .justify-content-start{justify-content:flex-start !important}.jx-cp .justify-content-end{justify-content:flex-end !important}.jx-cp .justify-content-center{justify-content:center !important}.jx-cp .justify-content-between{justify-content:space-between !important}.jx-cp .justify-content-around{justify-content:space-around !important}.jx-cp .align-items-start{align-items:flex-start !important}.jx-cp .align-items-end{align-items:flex-end !important}.jx-cp .align-items-center{align-items:center !important}.jx-cp .align-items-baseline{align-items:baseline !important}.jx-cp .align-items-stretch{align-items:stretch !important}.jx-cp .align-content-start{align-content:flex-start !important}.jx-cp .align-content-end{align-content:flex-end !important}.jx-cp .align-content-center{align-content:center !important}.jx-cp .align-content-between{align-content:space-between !important}.jx-cp .align-content-around{align-content:space-around !important}.jx-cp .align-content-stretch{align-content:stretch !important}.jx-cp .align-self-auto{align-self:auto !important}.jx-cp .align-self-start{align-self:flex-start !important}.jx-cp .align-self-end{align-self:flex-end !important}.jx-cp .align-self-center{align-self:center !important}.jx-cp .align-self-baseline{align-self:baseline !important}.jx-cp .align-self-stretch{align-self:stretch !important}@media (min-width: 576px){.jx-cp .flex-sm-row{flex-direction:row !important}.jx-cp .flex-sm-column{flex-direction:column !important}.jx-cp .flex-sm-row-reverse{flex-direction:row-reverse !important}.jx-cp .flex-sm-column-reverse{flex-direction:column-reverse !important}.jx-cp .flex-sm-wrap{flex-wrap:wrap !important}.jx-cp .flex-sm-nowrap{flex-wrap:nowrap !important}.jx-cp .flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.jx-cp .flex-sm-fill{flex:1 1 auto !important}.jx-cp .flex-sm-grow-0{flex-grow:0 !important}.jx-cp .flex-sm-grow-1{flex-grow:1 !important}.jx-cp .flex-sm-shrink-0{flex-shrink:0 !important}.jx-cp .flex-sm-shrink-1{flex-shrink:1 !important}.jx-cp .justify-content-sm-start{justify-content:flex-start !important}.jx-cp .justify-content-sm-end{justify-content:flex-end !important}.jx-cp .justify-content-sm-center{justify-content:center !important}.jx-cp .justify-content-sm-between{justify-content:space-between !important}.jx-cp .justify-content-sm-around{justify-content:space-around !important}.jx-cp .align-items-sm-start{align-items:flex-start !important}.jx-cp .align-items-sm-end{align-items:flex-end !important}.jx-cp .align-items-sm-center{align-items:center !important}.jx-cp .align-items-sm-baseline{align-items:baseline !important}.jx-cp .align-items-sm-stretch{align-items:stretch !important}.jx-cp .align-content-sm-start{align-content:flex-start !important}.jx-cp .align-content-sm-end{align-content:flex-end !important}.jx-cp .align-content-sm-center{align-content:center !important}.jx-cp .align-content-sm-between{align-content:space-between !important}.jx-cp .align-content-sm-around{align-content:space-around !important}.jx-cp .align-content-sm-stretch{align-content:stretch !important}.jx-cp .align-self-sm-auto{align-self:auto !important}.jx-cp .align-self-sm-start{align-self:flex-start !important}.jx-cp .align-self-sm-end{align-self:flex-end !important}.jx-cp .align-self-sm-center{align-self:center !important}.jx-cp .align-self-sm-baseline{align-self:baseline !important}.jx-cp .align-self-sm-stretch{align-self:stretch !important}}@media (min-width: 768px){.jx-cp .flex-md-row{flex-direction:row !important}.jx-cp .flex-md-column{flex-direction:column !important}.jx-cp .flex-md-row-reverse{flex-direction:row-reverse !important}.jx-cp .flex-md-column-reverse{flex-direction:column-reverse !important}.jx-cp .flex-md-wrap{flex-wrap:wrap !important}.jx-cp .flex-md-nowrap{flex-wrap:nowrap !important}.jx-cp .flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.jx-cp .flex-md-fill{flex:1 1 auto !important}.jx-cp .flex-md-grow-0{flex-grow:0 !important}.jx-cp .flex-md-grow-1{flex-grow:1 !important}.jx-cp .flex-md-shrink-0{flex-shrink:0 !important}.jx-cp .flex-md-shrink-1{flex-shrink:1 !important}.jx-cp .justify-content-md-start{justify-content:flex-start !important}.jx-cp .justify-content-md-end{justify-content:flex-end !important}.jx-cp .justify-content-md-center{justify-content:center !important}.jx-cp .justify-content-md-between{justify-content:space-between !important}.jx-cp .justify-content-md-around{justify-content:space-around !important}.jx-cp .align-items-md-start{align-items:flex-start !important}.jx-cp .align-items-md-end{align-items:flex-end !important}.jx-cp .align-items-md-center{align-items:center !important}.jx-cp .align-items-md-baseline{align-items:baseline !important}.jx-cp .align-items-md-stretch{align-items:stretch !important}.jx-cp .align-content-md-start{align-content:flex-start !important}.jx-cp .align-content-md-end{align-content:flex-end !important}.jx-cp .align-content-md-center{align-content:center !important}.jx-cp .align-content-md-between{align-content:space-between !important}.jx-cp .align-content-md-around{align-content:space-around !important}.jx-cp .align-content-md-stretch{align-content:stretch !important}.jx-cp .align-self-md-auto{align-self:auto !important}.jx-cp .align-self-md-start{align-self:flex-start !important}.jx-cp .align-self-md-end{align-self:flex-end !important}.jx-cp .align-self-md-center{align-self:center !important}.jx-cp .align-self-md-baseline{align-self:baseline !important}.jx-cp .align-self-md-stretch{align-self:stretch !important}}@media (min-width: 992px){.jx-cp .flex-lg-row{flex-direction:row !important}.jx-cp .flex-lg-column{flex-direction:column !important}.jx-cp .flex-lg-row-reverse{flex-direction:row-reverse !important}.jx-cp .flex-lg-column-reverse{flex-direction:column-reverse !important}.jx-cp .flex-lg-wrap{flex-wrap:wrap !important}.jx-cp .flex-lg-nowrap{flex-wrap:nowrap !important}.jx-cp .flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.jx-cp .flex-lg-fill{flex:1 1 auto !important}.jx-cp .flex-lg-grow-0{flex-grow:0 !important}.jx-cp .flex-lg-grow-1{flex-grow:1 !important}.jx-cp .flex-lg-shrink-0{flex-shrink:0 !important}.jx-cp .flex-lg-shrink-1{flex-shrink:1 !important}.jx-cp .justify-content-lg-start{justify-content:flex-start !important}.jx-cp .justify-content-lg-end{justify-content:flex-end !important}.jx-cp .justify-content-lg-center{justify-content:center !important}.jx-cp .justify-content-lg-between{justify-content:space-between !important}.jx-cp .justify-content-lg-around{justify-content:space-around !important}.jx-cp .align-items-lg-start{align-items:flex-start !important}.jx-cp .align-items-lg-end{align-items:flex-end !important}.jx-cp .align-items-lg-center{align-items:center !important}.jx-cp .align-items-lg-baseline{align-items:baseline !important}.jx-cp .align-items-lg-stretch{align-items:stretch !important}.jx-cp .align-content-lg-start{align-content:flex-start !important}.jx-cp .align-content-lg-end{align-content:flex-end !important}.jx-cp .align-content-lg-center{align-content:center !important}.jx-cp .align-content-lg-between{align-content:space-between !important}.jx-cp .align-content-lg-around{align-content:space-around !important}.jx-cp .align-content-lg-stretch{align-content:stretch !important}.jx-cp .align-self-lg-auto{align-self:auto !important}.jx-cp .align-self-lg-start{align-self:flex-start !important}.jx-cp .align-self-lg-end{align-self:flex-end !important}.jx-cp .align-self-lg-center{align-self:center !important}.jx-cp .align-self-lg-baseline{align-self:baseline !important}.jx-cp .align-self-lg-stretch{align-self:stretch !important}}@media (min-width: 1200px){.jx-cp .flex-xl-row{flex-direction:row !important}.jx-cp .flex-xl-column{flex-direction:column !important}.jx-cp .flex-xl-row-reverse{flex-direction:row-reverse !important}.jx-cp .flex-xl-column-reverse{flex-direction:column-reverse !important}.jx-cp .flex-xl-wrap{flex-wrap:wrap !important}.jx-cp .flex-xl-nowrap{flex-wrap:nowrap !important}.jx-cp .flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.jx-cp .flex-xl-fill{flex:1 1 auto !important}.jx-cp .flex-xl-grow-0{flex-grow:0 !important}.jx-cp .flex-xl-grow-1{flex-grow:1 !important}.jx-cp .flex-xl-shrink-0{flex-shrink:0 !important}.jx-cp .flex-xl-shrink-1{flex-shrink:1 !important}.jx-cp .justify-content-xl-start{justify-content:flex-start !important}.jx-cp .justify-content-xl-end{justify-content:flex-end !important}.jx-cp .justify-content-xl-center{justify-content:center !important}.jx-cp .justify-content-xl-between{justify-content:space-between !important}.jx-cp .justify-content-xl-around{justify-content:space-around !important}.jx-cp .align-items-xl-start{align-items:flex-start !important}.jx-cp .align-items-xl-end{align-items:flex-end !important}.jx-cp .align-items-xl-center{align-items:center !important}.jx-cp .align-items-xl-baseline{align-items:baseline !important}.jx-cp .align-items-xl-stretch{align-items:stretch !important}.jx-cp .align-content-xl-start{align-content:flex-start !important}.jx-cp .align-content-xl-end{align-content:flex-end !important}.jx-cp .align-content-xl-center{align-content:center !important}.jx-cp .align-content-xl-between{align-content:space-between !important}.jx-cp .align-content-xl-around{align-content:space-around !important}.jx-cp .align-content-xl-stretch{align-content:stretch !important}.jx-cp .align-self-xl-auto{align-self:auto !important}.jx-cp .align-self-xl-start{align-self:flex-start !important}.jx-cp .align-self-xl-end{align-self:flex-end !important}.jx-cp .align-self-xl-center{align-self:center !important}.jx-cp .align-self-xl-baseline{align-self:baseline !important}.jx-cp .align-self-xl-stretch{align-self:stretch !important}}.jx-cp .float-left{float:left !important}.jx-cp .float-right{float:right !important}.jx-cp .float-none{float:none !important}@media (min-width: 576px){.jx-cp .float-sm-left{float:left !important}.jx-cp .float-sm-right{float:right !important}.jx-cp .float-sm-none{float:none !important}}@media (min-width: 768px){.jx-cp .float-md-left{float:left !important}.jx-cp .float-md-right{float:right !important}.jx-cp .float-md-none{float:none !important}}@media (min-width: 992px){.jx-cp .float-lg-left{float:left !important}.jx-cp .float-lg-right{float:right !important}.jx-cp .float-lg-none{float:none !important}}@media (min-width: 1200px){.jx-cp .float-xl-left{float:left !important}.jx-cp .float-xl-right{float:right !important}.jx-cp .float-xl-none{float:none !important}}.jx-cp .user-select-all{user-select:all !important}.jx-cp .user-select-auto{user-select:auto !important}.jx-cp .user-select-none{user-select:none !important}.jx-cp .overflow-auto{overflow:auto !important}.jx-cp .overflow-hidden{overflow:hidden !important}.jx-cp .position-static{position:static !important}.jx-cp .position-relative{position:relative !important}.jx-cp .position-absolute{position:absolute !important}.jx-cp .position-fixed{position:fixed !important}.jx-cp .position-sticky{position:sticky !important}.jx-cp .fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.jx-cp .fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports (position: sticky){.jx-cp .sticky-top{position:sticky;top:0;z-index:1020}}.jx-cp .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.jx-cp .sr-only-focusable:active,.jx-cp .sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.jx-cp .shadow-sm{box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.075) !important}.jx-cp .shadow{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important}.jx-cp .shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,0.175) !important}.jx-cp .shadow-none{box-shadow:none !important}.jx-cp .w-25{width:25% !important}.jx-cp .w-50{width:50% !important}.jx-cp .w-75{width:75% !important}.jx-cp .w-100{width:100% !important}.jx-cp .w-auto{width:auto !important}.jx-cp .h-25{height:25% !important}.jx-cp .h-50{height:50% !important}.jx-cp .h-75{height:75% !important}.jx-cp .h-100{height:100% !important}.jx-cp .h-auto{height:auto !important}.jx-cp .mw-100{max-width:100% !important}.jx-cp .mh-100{max-height:100% !important}.jx-cp .min-vw-100{min-width:100vw !important}.jx-cp .min-vh-100{min-height:100vh !important}.jx-cp .vw-100{width:100vw !important}.jx-cp .vh-100{height:100vh !important}.jx-cp .m-0{margin:0 !important}.jx-cp .mt-0,.jx-cp .my-0{margin-top:0 !important}.jx-cp .mr-0,.jx-cp .mx-0{margin-right:0 !important}.jx-cp .mb-0,.jx-cp .my-0{margin-bottom:0 !important}.jx-cp .ml-0,.jx-cp .mx-0{margin-left:0 !important}.jx-cp .m-1{margin:.25rem !important}.jx-cp .mt-1,.jx-cp .my-1{margin-top:.25rem !important}.jx-cp .mr-1,.jx-cp .mx-1{margin-right:.25rem !important}.jx-cp .mb-1,.jx-cp .my-1{margin-bottom:.25rem !important}.jx-cp .ml-1,.jx-cp .mx-1{margin-left:.25rem !important}.jx-cp .m-2{margin:.5rem !important}.jx-cp .mt-2,.jx-cp .my-2{margin-top:.5rem !important}.jx-cp .mr-2,.jx-cp .mx-2{margin-right:.5rem !important}.jx-cp .mb-2,.jx-cp .my-2{margin-bottom:.5rem !important}.jx-cp .ml-2,.jx-cp .mx-2{margin-left:.5rem !important}.jx-cp .m-3{margin:1rem !important}.jx-cp .mt-3,.jx-cp .my-3{margin-top:1rem !important}.jx-cp .mr-3,.jx-cp .mx-3{margin-right:1rem !important}.jx-cp .mb-3,.jx-cp .my-3{margin-bottom:1rem !important}.jx-cp .ml-3,.jx-cp .mx-3{margin-left:1rem !important}.jx-cp .m-4{margin:1.5rem !important}.jx-cp .mt-4,.jx-cp .my-4{margin-top:1.5rem !important}.jx-cp .mr-4,.jx-cp .mx-4{margin-right:1.5rem !important}.jx-cp .mb-4,.jx-cp .my-4{margin-bottom:1.5rem !important}.jx-cp .ml-4,.jx-cp .mx-4{margin-left:1.5rem !important}.jx-cp .m-5{margin:3rem !important}.jx-cp .mt-5,.jx-cp .my-5{margin-top:3rem !important}.jx-cp .mr-5,.jx-cp .mx-5{margin-right:3rem !important}.jx-cp .mb-5,.jx-cp .my-5{margin-bottom:3rem !important}.jx-cp .ml-5,.jx-cp .mx-5{margin-left:3rem !important}.jx-cp .p-0{padding:0 !important}.jx-cp .pt-0,.jx-cp .py-0{padding-top:0 !important}.jx-cp .pr-0,.jx-cp .px-0{padding-right:0 !important}.jx-cp .pb-0,.jx-cp .py-0{padding-bottom:0 !important}.jx-cp .pl-0,.jx-cp .px-0{padding-left:0 !important}.jx-cp .p-1{padding:.25rem !important}.jx-cp .pt-1,.jx-cp .py-1{padding-top:.25rem !important}.jx-cp .pr-1,.jx-cp .px-1{padding-right:.25rem !important}.jx-cp .pb-1,.jx-cp .py-1{padding-bottom:.25rem !important}.jx-cp .pl-1,.jx-cp .px-1{padding-left:.25rem !important}.jx-cp .p-2{padding:.5rem !important}.jx-cp .pt-2,.jx-cp .py-2{padding-top:.5rem !important}.jx-cp .pr-2,.jx-cp .px-2{padding-right:.5rem !important}.jx-cp .pb-2,.jx-cp .py-2{padding-bottom:.5rem !important}.jx-cp .pl-2,.jx-cp .px-2{padding-left:.5rem !important}.jx-cp .p-3{padding:1rem !important}.jx-cp .pt-3,.jx-cp .py-3{padding-top:1rem !important}.jx-cp .pr-3,.jx-cp .px-3{padding-right:1rem !important}.jx-cp .pb-3,.jx-cp .py-3{padding-bottom:1rem !important}.jx-cp .pl-3,.jx-cp .px-3{padding-left:1rem !important}.jx-cp .p-4{padding:1.5rem !important}.jx-cp .pt-4,.jx-cp .py-4{padding-top:1.5rem !important}.jx-cp .pr-4,.jx-cp .px-4{padding-right:1.5rem !important}.jx-cp .pb-4,.jx-cp .py-4{padding-bottom:1.5rem !important}.jx-cp .pl-4,.jx-cp .px-4{padding-left:1.5rem !important}.jx-cp .p-5{padding:3rem !important}.jx-cp .pt-5,.jx-cp .py-5{padding-top:3rem !important}.jx-cp .pr-5,.jx-cp .px-5{padding-right:3rem !important}.jx-cp .pb-5,.jx-cp .py-5{padding-bottom:3rem !important}.jx-cp .pl-5,.jx-cp .px-5{padding-left:3rem !important}.jx-cp .m-n1{margin:-.25rem !important}.jx-cp .mt-n1,.jx-cp .my-n1{margin-top:-.25rem !important}.jx-cp .mr-n1,.jx-cp .mx-n1{margin-right:-.25rem !important}.jx-cp .mb-n1,.jx-cp .my-n1{margin-bottom:-.25rem !important}.jx-cp .ml-n1,.jx-cp .mx-n1{margin-left:-.25rem !important}.jx-cp .m-n2{margin:-.5rem !important}.jx-cp .mt-n2,.jx-cp .my-n2{margin-top:-.5rem !important}.jx-cp .mr-n2,.jx-cp .mx-n2{margin-right:-.5rem !important}.jx-cp .mb-n2,.jx-cp .my-n2{margin-bottom:-.5rem !important}.jx-cp .ml-n2,.jx-cp .mx-n2{margin-left:-.5rem !important}.jx-cp .m-n3{margin:-1rem !important}.jx-cp .mt-n3,.jx-cp .my-n3{margin-top:-1rem !important}.jx-cp .mr-n3,.jx-cp .mx-n3{margin-right:-1rem !important}.jx-cp .mb-n3,.jx-cp .my-n3{margin-bottom:-1rem !important}.jx-cp .ml-n3,.jx-cp .mx-n3{margin-left:-1rem !important}.jx-cp .m-n4{margin:-1.5rem !important}.jx-cp .mt-n4,.jx-cp .my-n4{margin-top:-1.5rem !important}.jx-cp .mr-n4,.jx-cp .mx-n4{margin-right:-1.5rem !important}.jx-cp .mb-n4,.jx-cp .my-n4{margin-bottom:-1.5rem !important}.jx-cp .ml-n4,.jx-cp .mx-n4{margin-left:-1.5rem !important}.jx-cp .m-n5{margin:-3rem !important}.jx-cp .mt-n5,.jx-cp .my-n5{margin-top:-3rem !important}.jx-cp .mr-n5,.jx-cp .mx-n5{margin-right:-3rem !important}.jx-cp .mb-n5,.jx-cp .my-n5{margin-bottom:-3rem !important}.jx-cp .ml-n5,.jx-cp .mx-n5{margin-left:-3rem !important}.jx-cp .m-auto{margin:auto !important}.jx-cp .mt-auto,.jx-cp .my-auto{margin-top:auto !important}.jx-cp .mr-auto,.jx-cp .mx-auto{margin-right:auto !important}.jx-cp .mb-auto,.jx-cp .my-auto{margin-bottom:auto !important}.jx-cp .ml-auto,.jx-cp .mx-auto{margin-left:auto !important}@media (min-width: 576px){.jx-cp .m-sm-0{margin:0 !important}.jx-cp .mt-sm-0,.jx-cp .my-sm-0{margin-top:0 !important}.jx-cp .mr-sm-0,.jx-cp .mx-sm-0{margin-right:0 !important}.jx-cp .mb-sm-0,.jx-cp .my-sm-0{margin-bottom:0 !important}.jx-cp .ml-sm-0,.jx-cp .mx-sm-0{margin-left:0 !important}.jx-cp .m-sm-1{margin:.25rem !important}.jx-cp .mt-sm-1,.jx-cp .my-sm-1{margin-top:.25rem !important}.jx-cp .mr-sm-1,.jx-cp .mx-sm-1{margin-right:.25rem !important}.jx-cp .mb-sm-1,.jx-cp .my-sm-1{margin-bottom:.25rem !important}.jx-cp .ml-sm-1,.jx-cp .mx-sm-1{margin-left:.25rem !important}.jx-cp .m-sm-2{margin:.5rem !important}.jx-cp .mt-sm-2,.jx-cp .my-sm-2{margin-top:.5rem !important}.jx-cp .mr-sm-2,.jx-cp .mx-sm-2{margin-right:.5rem !important}.jx-cp .mb-sm-2,.jx-cp .my-sm-2{margin-bottom:.5rem !important}.jx-cp .ml-sm-2,.jx-cp .mx-sm-2{margin-left:.5rem !important}.jx-cp .m-sm-3{margin:1rem !important}.jx-cp .mt-sm-3,.jx-cp .my-sm-3{margin-top:1rem !important}.jx-cp .mr-sm-3,.jx-cp .mx-sm-3{margin-right:1rem !important}.jx-cp .mb-sm-3,.jx-cp .my-sm-3{margin-bottom:1rem !important}.jx-cp .ml-sm-3,.jx-cp .mx-sm-3{margin-left:1rem !important}.jx-cp .m-sm-4{margin:1.5rem !important}.jx-cp .mt-sm-4,.jx-cp .my-sm-4{margin-top:1.5rem !important}.jx-cp .mr-sm-4,.jx-cp .mx-sm-4{margin-right:1.5rem !important}.jx-cp .mb-sm-4,.jx-cp .my-sm-4{margin-bottom:1.5rem !important}.jx-cp .ml-sm-4,.jx-cp .mx-sm-4{margin-left:1.5rem !important}.jx-cp .m-sm-5{margin:3rem !important}.jx-cp .mt-sm-5,.jx-cp .my-sm-5{margin-top:3rem !important}.jx-cp .mr-sm-5,.jx-cp .mx-sm-5{margin-right:3rem !important}.jx-cp .mb-sm-5,.jx-cp .my-sm-5{margin-bottom:3rem !important}.jx-cp .ml-sm-5,.jx-cp .mx-sm-5{margin-left:3rem !important}.jx-cp .p-sm-0{padding:0 !important}.jx-cp .pt-sm-0,.jx-cp .py-sm-0{padding-top:0 !important}.jx-cp .pr-sm-0,.jx-cp .px-sm-0{padding-right:0 !important}.jx-cp .pb-sm-0,.jx-cp .py-sm-0{padding-bottom:0 !important}.jx-cp .pl-sm-0,.jx-cp .px-sm-0{padding-left:0 !important}.jx-cp .p-sm-1{padding:.25rem !important}.jx-cp .pt-sm-1,.jx-cp .py-sm-1{padding-top:.25rem !important}.jx-cp .pr-sm-1,.jx-cp .px-sm-1{padding-right:.25rem !important}.jx-cp .pb-sm-1,.jx-cp .py-sm-1{padding-bottom:.25rem !important}.jx-cp .pl-sm-1,.jx-cp .px-sm-1{padding-left:.25rem !important}.jx-cp .p-sm-2{padding:.5rem !important}.jx-cp .pt-sm-2,.jx-cp .py-sm-2{padding-top:.5rem !important}.jx-cp .pr-sm-2,.jx-cp .px-sm-2{padding-right:.5rem !important}.jx-cp .pb-sm-2,.jx-cp .py-sm-2{padding-bottom:.5rem !important}.jx-cp .pl-sm-2,.jx-cp .px-sm-2{padding-left:.5rem !important}.jx-cp .p-sm-3{padding:1rem !important}.jx-cp .pt-sm-3,.jx-cp .py-sm-3{padding-top:1rem !important}.jx-cp .pr-sm-3,.jx-cp .px-sm-3{padding-right:1rem !important}.jx-cp .pb-sm-3,.jx-cp .py-sm-3{padding-bottom:1rem !important}.jx-cp .pl-sm-3,.jx-cp .px-sm-3{padding-left:1rem !important}.jx-cp .p-sm-4{padding:1.5rem !important}.jx-cp .pt-sm-4,.jx-cp .py-sm-4{padding-top:1.5rem !important}.jx-cp .pr-sm-4,.jx-cp .px-sm-4{padding-right:1.5rem !important}.jx-cp .pb-sm-4,.jx-cp .py-sm-4{padding-bottom:1.5rem !important}.jx-cp .pl-sm-4,.jx-cp .px-sm-4{padding-left:1.5rem !important}.jx-cp .p-sm-5{padding:3rem !important}.jx-cp .pt-sm-5,.jx-cp .py-sm-5{padding-top:3rem !important}.jx-cp .pr-sm-5,.jx-cp .px-sm-5{padding-right:3rem !important}.jx-cp .pb-sm-5,.jx-cp .py-sm-5{padding-bottom:3rem !important}.jx-cp .pl-sm-5,.jx-cp .px-sm-5{padding-left:3rem !important}.jx-cp .m-sm-n1{margin:-.25rem !important}.jx-cp .mt-sm-n1,.jx-cp .my-sm-n1{margin-top:-.25rem !important}.jx-cp .mr-sm-n1,.jx-cp .mx-sm-n1{margin-right:-.25rem !important}.jx-cp .mb-sm-n1,.jx-cp .my-sm-n1{margin-bottom:-.25rem !important}.jx-cp .ml-sm-n1,.jx-cp .mx-sm-n1{margin-left:-.25rem !important}.jx-cp .m-sm-n2{margin:-.5rem !important}.jx-cp .mt-sm-n2,.jx-cp .my-sm-n2{margin-top:-.5rem !important}.jx-cp .mr-sm-n2,.jx-cp .mx-sm-n2{margin-right:-.5rem !important}.jx-cp .mb-sm-n2,.jx-cp .my-sm-n2{margin-bottom:-.5rem !important}.jx-cp .ml-sm-n2,.jx-cp .mx-sm-n2{margin-left:-.5rem !important}.jx-cp .m-sm-n3{margin:-1rem !important}.jx-cp .mt-sm-n3,.jx-cp .my-sm-n3{margin-top:-1rem !important}.jx-cp .mr-sm-n3,.jx-cp .mx-sm-n3{margin-right:-1rem !important}.jx-cp .mb-sm-n3,.jx-cp .my-sm-n3{margin-bottom:-1rem !important}.jx-cp .ml-sm-n3,.jx-cp .mx-sm-n3{margin-left:-1rem !important}.jx-cp .m-sm-n4{margin:-1.5rem !important}.jx-cp .mt-sm-n4,.jx-cp .my-sm-n4{margin-top:-1.5rem !important}.jx-cp .mr-sm-n4,.jx-cp .mx-sm-n4{margin-right:-1.5rem !important}.jx-cp .mb-sm-n4,.jx-cp .my-sm-n4{margin-bottom:-1.5rem !important}.jx-cp .ml-sm-n4,.jx-cp .mx-sm-n4{margin-left:-1.5rem !important}.jx-cp .m-sm-n5{margin:-3rem !important}.jx-cp .mt-sm-n5,.jx-cp .my-sm-n5{margin-top:-3rem !important}.jx-cp .mr-sm-n5,.jx-cp .mx-sm-n5{margin-right:-3rem !important}.jx-cp .mb-sm-n5,.jx-cp .my-sm-n5{margin-bottom:-3rem !important}.jx-cp .ml-sm-n5,.jx-cp .mx-sm-n5{margin-left:-3rem !important}.jx-cp .m-sm-auto{margin:auto !important}.jx-cp .mt-sm-auto,.jx-cp .my-sm-auto{margin-top:auto !important}.jx-cp .mr-sm-auto,.jx-cp .mx-sm-auto{margin-right:auto !important}.jx-cp .mb-sm-auto,.jx-cp .my-sm-auto{margin-bottom:auto !important}.jx-cp .ml-sm-auto,.jx-cp .mx-sm-auto{margin-left:auto !important}}@media (min-width: 768px){.jx-cp .m-md-0{margin:0 !important}.jx-cp .mt-md-0,.jx-cp .my-md-0{margin-top:0 !important}.jx-cp .mr-md-0,.jx-cp .mx-md-0{margin-right:0 !important}.jx-cp .mb-md-0,.jx-cp .my-md-0{margin-bottom:0 !important}.jx-cp .ml-md-0,.jx-cp .mx-md-0{margin-left:0 !important}.jx-cp .m-md-1{margin:.25rem !important}.jx-cp .mt-md-1,.jx-cp .my-md-1{margin-top:.25rem !important}.jx-cp .mr-md-1,.jx-cp .mx-md-1{margin-right:.25rem !important}.jx-cp .mb-md-1,.jx-cp .my-md-1{margin-bottom:.25rem !important}.jx-cp .ml-md-1,.jx-cp .mx-md-1{margin-left:.25rem !important}.jx-cp .m-md-2{margin:.5rem !important}.jx-cp .mt-md-2,.jx-cp .my-md-2{margin-top:.5rem !important}.jx-cp .mr-md-2,.jx-cp .mx-md-2{margin-right:.5rem !important}.jx-cp .mb-md-2,.jx-cp .my-md-2{margin-bottom:.5rem !important}.jx-cp .ml-md-2,.jx-cp .mx-md-2{margin-left:.5rem !important}.jx-cp .m-md-3{margin:1rem !important}.jx-cp .mt-md-3,.jx-cp .my-md-3{margin-top:1rem !important}.jx-cp .mr-md-3,.jx-cp .mx-md-3{margin-right:1rem !important}.jx-cp .mb-md-3,.jx-cp .my-md-3{margin-bottom:1rem !important}.jx-cp .ml-md-3,.jx-cp .mx-md-3{margin-left:1rem !important}.jx-cp .m-md-4{margin:1.5rem !important}.jx-cp .mt-md-4,.jx-cp .my-md-4{margin-top:1.5rem !important}.jx-cp .mr-md-4,.jx-cp .mx-md-4{margin-right:1.5rem !important}.jx-cp .mb-md-4,.jx-cp .my-md-4{margin-bottom:1.5rem !important}.jx-cp .ml-md-4,.jx-cp .mx-md-4{margin-left:1.5rem !important}.jx-cp .m-md-5{margin:3rem !important}.jx-cp .mt-md-5,.jx-cp .my-md-5{margin-top:3rem !important}.jx-cp .mr-md-5,.jx-cp .mx-md-5{margin-right:3rem !important}.jx-cp .mb-md-5,.jx-cp .my-md-5{margin-bottom:3rem !important}.jx-cp .ml-md-5,.jx-cp .mx-md-5{margin-left:3rem !important}.jx-cp .p-md-0{padding:0 !important}.jx-cp .pt-md-0,.jx-cp .py-md-0{padding-top:0 !important}.jx-cp .pr-md-0,.jx-cp .px-md-0{padding-right:0 !important}.jx-cp .pb-md-0,.jx-cp .py-md-0{padding-bottom:0 !important}.jx-cp .pl-md-0,.jx-cp .px-md-0{padding-left:0 !important}.jx-cp .p-md-1{padding:.25rem !important}.jx-cp .pt-md-1,.jx-cp .py-md-1{padding-top:.25rem !important}.jx-cp .pr-md-1,.jx-cp .px-md-1{padding-right:.25rem !important}.jx-cp .pb-md-1,.jx-cp .py-md-1{padding-bottom:.25rem !important}.jx-cp .pl-md-1,.jx-cp .px-md-1{padding-left:.25rem !important}.jx-cp .p-md-2{padding:.5rem !important}.jx-cp .pt-md-2,.jx-cp .py-md-2{padding-top:.5rem !important}.jx-cp .pr-md-2,.jx-cp .px-md-2{padding-right:.5rem !important}.jx-cp .pb-md-2,.jx-cp .py-md-2{padding-bottom:.5rem !important}.jx-cp .pl-md-2,.jx-cp .px-md-2{padding-left:.5rem !important}.jx-cp .p-md-3{padding:1rem !important}.jx-cp .pt-md-3,.jx-cp .py-md-3{padding-top:1rem !important}.jx-cp .pr-md-3,.jx-cp .px-md-3{padding-right:1rem !important}.jx-cp .pb-md-3,.jx-cp .py-md-3{padding-bottom:1rem !important}.jx-cp .pl-md-3,.jx-cp .px-md-3{padding-left:1rem !important}.jx-cp .p-md-4{padding:1.5rem !important}.jx-cp .pt-md-4,.jx-cp .py-md-4{padding-top:1.5rem !important}.jx-cp .pr-md-4,.jx-cp .px-md-4{padding-right:1.5rem !important}.jx-cp .pb-md-4,.jx-cp .py-md-4{padding-bottom:1.5rem !important}.jx-cp .pl-md-4,.jx-cp .px-md-4{padding-left:1.5rem !important}.jx-cp .p-md-5{padding:3rem !important}.jx-cp .pt-md-5,.jx-cp .py-md-5{padding-top:3rem !important}.jx-cp .pr-md-5,.jx-cp .px-md-5{padding-right:3rem !important}.jx-cp .pb-md-5,.jx-cp .py-md-5{padding-bottom:3rem !important}.jx-cp .pl-md-5,.jx-cp .px-md-5{padding-left:3rem !important}.jx-cp .m-md-n1{margin:-.25rem !important}.jx-cp .mt-md-n1,.jx-cp .my-md-n1{margin-top:-.25rem !important}.jx-cp .mr-md-n1,.jx-cp .mx-md-n1{margin-right:-.25rem !important}.jx-cp .mb-md-n1,.jx-cp .my-md-n1{margin-bottom:-.25rem !important}.jx-cp .ml-md-n1,.jx-cp .mx-md-n1{margin-left:-.25rem !important}.jx-cp .m-md-n2{margin:-.5rem !important}.jx-cp .mt-md-n2,.jx-cp .my-md-n2{margin-top:-.5rem !important}.jx-cp .mr-md-n2,.jx-cp .mx-md-n2{margin-right:-.5rem !important}.jx-cp .mb-md-n2,.jx-cp .my-md-n2{margin-bottom:-.5rem !important}.jx-cp .ml-md-n2,.jx-cp .mx-md-n2{margin-left:-.5rem !important}.jx-cp .m-md-n3{margin:-1rem !important}.jx-cp .mt-md-n3,.jx-cp .my-md-n3{margin-top:-1rem !important}.jx-cp .mr-md-n3,.jx-cp .mx-md-n3{margin-right:-1rem !important}.jx-cp .mb-md-n3,.jx-cp .my-md-n3{margin-bottom:-1rem !important}.jx-cp .ml-md-n3,.jx-cp .mx-md-n3{margin-left:-1rem !important}.jx-cp .m-md-n4{margin:-1.5rem !important}.jx-cp .mt-md-n4,.jx-cp .my-md-n4{margin-top:-1.5rem !important}.jx-cp .mr-md-n4,.jx-cp .mx-md-n4{margin-right:-1.5rem !important}.jx-cp .mb-md-n4,.jx-cp .my-md-n4{margin-bottom:-1.5rem !important}.jx-cp .ml-md-n4,.jx-cp .mx-md-n4{margin-left:-1.5rem !important}.jx-cp .m-md-n5{margin:-3rem !important}.jx-cp .mt-md-n5,.jx-cp .my-md-n5{margin-top:-3rem !important}.jx-cp .mr-md-n5,.jx-cp .mx-md-n5{margin-right:-3rem !important}.jx-cp .mb-md-n5,.jx-cp .my-md-n5{margin-bottom:-3rem !important}.jx-cp .ml-md-n5,.jx-cp .mx-md-n5{margin-left:-3rem !important}.jx-cp .m-md-auto{margin:auto !important}.jx-cp .mt-md-auto,.jx-cp .my-md-auto{margin-top:auto !important}.jx-cp .mr-md-auto,.jx-cp .mx-md-auto{margin-right:auto !important}.jx-cp .mb-md-auto,.jx-cp .my-md-auto{margin-bottom:auto !important}.jx-cp .ml-md-auto,.jx-cp .mx-md-auto{margin-left:auto !important}}@media (min-width: 992px){.jx-cp .m-lg-0{margin:0 !important}.jx-cp .mt-lg-0,.jx-cp .my-lg-0{margin-top:0 !important}.jx-cp .mr-lg-0,.jx-cp .mx-lg-0{margin-right:0 !important}.jx-cp .mb-lg-0,.jx-cp .my-lg-0{margin-bottom:0 !important}.jx-cp .ml-lg-0,.jx-cp .mx-lg-0{margin-left:0 !important}.jx-cp .m-lg-1{margin:.25rem !important}.jx-cp .mt-lg-1,.jx-cp .my-lg-1{margin-top:.25rem !important}.jx-cp .mr-lg-1,.jx-cp .mx-lg-1{margin-right:.25rem !important}.jx-cp .mb-lg-1,.jx-cp .my-lg-1{margin-bottom:.25rem !important}.jx-cp .ml-lg-1,.jx-cp .mx-lg-1{margin-left:.25rem !important}.jx-cp .m-lg-2{margin:.5rem !important}.jx-cp .mt-lg-2,.jx-cp .my-lg-2{margin-top:.5rem !important}.jx-cp .mr-lg-2,.jx-cp .mx-lg-2{margin-right:.5rem !important}.jx-cp .mb-lg-2,.jx-cp .my-lg-2{margin-bottom:.5rem !important}.jx-cp .ml-lg-2,.jx-cp .mx-lg-2{margin-left:.5rem !important}.jx-cp .m-lg-3{margin:1rem !important}.jx-cp .mt-lg-3,.jx-cp .my-lg-3{margin-top:1rem !important}.jx-cp .mr-lg-3,.jx-cp .mx-lg-3{margin-right:1rem !important}.jx-cp .mb-lg-3,.jx-cp .my-lg-3{margin-bottom:1rem !important}.jx-cp .ml-lg-3,.jx-cp .mx-lg-3{margin-left:1rem !important}.jx-cp .m-lg-4{margin:1.5rem !important}.jx-cp .mt-lg-4,.jx-cp .my-lg-4{margin-top:1.5rem !important}.jx-cp .mr-lg-4,.jx-cp .mx-lg-4{margin-right:1.5rem !important}.jx-cp .mb-lg-4,.jx-cp .my-lg-4{margin-bottom:1.5rem !important}.jx-cp .ml-lg-4,.jx-cp .mx-lg-4{margin-left:1.5rem !important}.jx-cp .m-lg-5{margin:3rem !important}.jx-cp .mt-lg-5,.jx-cp .my-lg-5{margin-top:3rem !important}.jx-cp .mr-lg-5,.jx-cp .mx-lg-5{margin-right:3rem !important}.jx-cp .mb-lg-5,.jx-cp .my-lg-5{margin-bottom:3rem !important}.jx-cp .ml-lg-5,.jx-cp .mx-lg-5{margin-left:3rem !important}.jx-cp .p-lg-0{padding:0 !important}.jx-cp .pt-lg-0,.jx-cp .py-lg-0{padding-top:0 !important}.jx-cp .pr-lg-0,.jx-cp .px-lg-0{padding-right:0 !important}.jx-cp .pb-lg-0,.jx-cp .py-lg-0{padding-bottom:0 !important}.jx-cp .pl-lg-0,.jx-cp .px-lg-0{padding-left:0 !important}.jx-cp .p-lg-1{padding:.25rem !important}.jx-cp .pt-lg-1,.jx-cp .py-lg-1{padding-top:.25rem !important}.jx-cp .pr-lg-1,.jx-cp .px-lg-1{padding-right:.25rem !important}.jx-cp .pb-lg-1,.jx-cp .py-lg-1{padding-bottom:.25rem !important}.jx-cp .pl-lg-1,.jx-cp .px-lg-1{padding-left:.25rem !important}.jx-cp .p-lg-2{padding:.5rem !important}.jx-cp .pt-lg-2,.jx-cp .py-lg-2{padding-top:.5rem !important}.jx-cp .pr-lg-2,.jx-cp .px-lg-2{padding-right:.5rem !important}.jx-cp .pb-lg-2,.jx-cp .py-lg-2{padding-bottom:.5rem !important}.jx-cp .pl-lg-2,.jx-cp .px-lg-2{padding-left:.5rem !important}.jx-cp .p-lg-3{padding:1rem !important}.jx-cp .pt-lg-3,.jx-cp .py-lg-3{padding-top:1rem !important}.jx-cp .pr-lg-3,.jx-cp .px-lg-3{padding-right:1rem !important}.jx-cp .pb-lg-3,.jx-cp .py-lg-3{padding-bottom:1rem !important}.jx-cp .pl-lg-3,.jx-cp .px-lg-3{padding-left:1rem !important}.jx-cp .p-lg-4{padding:1.5rem !important}.jx-cp .pt-lg-4,.jx-cp .py-lg-4{padding-top:1.5rem !important}.jx-cp .pr-lg-4,.jx-cp .px-lg-4{padding-right:1.5rem !important}.jx-cp .pb-lg-4,.jx-cp .py-lg-4{padding-bottom:1.5rem !important}.jx-cp .pl-lg-4,.jx-cp .px-lg-4{padding-left:1.5rem !important}.jx-cp .p-lg-5{padding:3rem !important}.jx-cp .pt-lg-5,.jx-cp .py-lg-5{padding-top:3rem !important}.jx-cp .pr-lg-5,.jx-cp .px-lg-5{padding-right:3rem !important}.jx-cp .pb-lg-5,.jx-cp .py-lg-5{padding-bottom:3rem !important}.jx-cp .pl-lg-5,.jx-cp .px-lg-5{padding-left:3rem !important}.jx-cp .m-lg-n1{margin:-.25rem !important}.jx-cp .mt-lg-n1,.jx-cp .my-lg-n1{margin-top:-.25rem !important}.jx-cp .mr-lg-n1,.jx-cp .mx-lg-n1{margin-right:-.25rem !important}.jx-cp .mb-lg-n1,.jx-cp .my-lg-n1{margin-bottom:-.25rem !important}.jx-cp .ml-lg-n1,.jx-cp .mx-lg-n1{margin-left:-.25rem !important}.jx-cp .m-lg-n2{margin:-.5rem !important}.jx-cp .mt-lg-n2,.jx-cp .my-lg-n2{margin-top:-.5rem !important}.jx-cp .mr-lg-n2,.jx-cp .mx-lg-n2{margin-right:-.5rem !important}.jx-cp .mb-lg-n2,.jx-cp .my-lg-n2{margin-bottom:-.5rem !important}.jx-cp .ml-lg-n2,.jx-cp .mx-lg-n2{margin-left:-.5rem !important}.jx-cp .m-lg-n3{margin:-1rem !important}.jx-cp .mt-lg-n3,.jx-cp .my-lg-n3{margin-top:-1rem !important}.jx-cp .mr-lg-n3,.jx-cp .mx-lg-n3{margin-right:-1rem !important}.jx-cp .mb-lg-n3,.jx-cp .my-lg-n3{margin-bottom:-1rem !important}.jx-cp .ml-lg-n3,.jx-cp .mx-lg-n3{margin-left:-1rem !important}.jx-cp .m-lg-n4{margin:-1.5rem !important}.jx-cp .mt-lg-n4,.jx-cp .my-lg-n4{margin-top:-1.5rem !important}.jx-cp .mr-lg-n4,.jx-cp .mx-lg-n4{margin-right:-1.5rem !important}.jx-cp .mb-lg-n4,.jx-cp .my-lg-n4{margin-bottom:-1.5rem !important}.jx-cp .ml-lg-n4,.jx-cp .mx-lg-n4{margin-left:-1.5rem !important}.jx-cp .m-lg-n5{margin:-3rem !important}.jx-cp .mt-lg-n5,.jx-cp .my-lg-n5{margin-top:-3rem !important}.jx-cp .mr-lg-n5,.jx-cp .mx-lg-n5{margin-right:-3rem !important}.jx-cp .mb-lg-n5,.jx-cp .my-lg-n5{margin-bottom:-3rem !important}.jx-cp .ml-lg-n5,.jx-cp .mx-lg-n5{margin-left:-3rem !important}.jx-cp .m-lg-auto{margin:auto !important}.jx-cp .mt-lg-auto,.jx-cp .my-lg-auto{margin-top:auto !important}.jx-cp .mr-lg-auto,.jx-cp .mx-lg-auto{margin-right:auto !important}.jx-cp .mb-lg-auto,.jx-cp .my-lg-auto{margin-bottom:auto !important}.jx-cp .ml-lg-auto,.jx-cp .mx-lg-auto{margin-left:auto !important}}@media (min-width: 1200px){.jx-cp .m-xl-0{margin:0 !important}.jx-cp .mt-xl-0,.jx-cp .my-xl-0{margin-top:0 !important}.jx-cp .mr-xl-0,.jx-cp .mx-xl-0{margin-right:0 !important}.jx-cp .mb-xl-0,.jx-cp .my-xl-0{margin-bottom:0 !important}.jx-cp .ml-xl-0,.jx-cp .mx-xl-0{margin-left:0 !important}.jx-cp .m-xl-1{margin:.25rem !important}.jx-cp .mt-xl-1,.jx-cp .my-xl-1{margin-top:.25rem !important}.jx-cp .mr-xl-1,.jx-cp .mx-xl-1{margin-right:.25rem !important}.jx-cp .mb-xl-1,.jx-cp .my-xl-1{margin-bottom:.25rem !important}.jx-cp .ml-xl-1,.jx-cp .mx-xl-1{margin-left:.25rem !important}.jx-cp .m-xl-2{margin:.5rem !important}.jx-cp .mt-xl-2,.jx-cp .my-xl-2{margin-top:.5rem !important}.jx-cp .mr-xl-2,.jx-cp .mx-xl-2{margin-right:.5rem !important}.jx-cp .mb-xl-2,.jx-cp .my-xl-2{margin-bottom:.5rem !important}.jx-cp .ml-xl-2,.jx-cp .mx-xl-2{margin-left:.5rem !important}.jx-cp .m-xl-3{margin:1rem !important}.jx-cp .mt-xl-3,.jx-cp .my-xl-3{margin-top:1rem !important}.jx-cp .mr-xl-3,.jx-cp .mx-xl-3{margin-right:1rem !important}.jx-cp .mb-xl-3,.jx-cp .my-xl-3{margin-bottom:1rem !important}.jx-cp .ml-xl-3,.jx-cp .mx-xl-3{margin-left:1rem !important}.jx-cp .m-xl-4{margin:1.5rem !important}.jx-cp .mt-xl-4,.jx-cp .my-xl-4{margin-top:1.5rem !important}.jx-cp .mr-xl-4,.jx-cp .mx-xl-4{margin-right:1.5rem !important}.jx-cp .mb-xl-4,.jx-cp .my-xl-4{margin-bottom:1.5rem !important}.jx-cp .ml-xl-4,.jx-cp .mx-xl-4{margin-left:1.5rem !important}.jx-cp .m-xl-5{margin:3rem !important}.jx-cp .mt-xl-5,.jx-cp .my-xl-5{margin-top:3rem !important}.jx-cp .mr-xl-5,.jx-cp .mx-xl-5{margin-right:3rem !important}.jx-cp .mb-xl-5,.jx-cp .my-xl-5{margin-bottom:3rem !important}.jx-cp .ml-xl-5,.jx-cp .mx-xl-5{margin-left:3rem !important}.jx-cp .p-xl-0{padding:0 !important}.jx-cp .pt-xl-0,.jx-cp .py-xl-0{padding-top:0 !important}.jx-cp .pr-xl-0,.jx-cp .px-xl-0{padding-right:0 !important}.jx-cp .pb-xl-0,.jx-cp .py-xl-0{padding-bottom:0 !important}.jx-cp .pl-xl-0,.jx-cp .px-xl-0{padding-left:0 !important}.jx-cp .p-xl-1{padding:.25rem !important}.jx-cp .pt-xl-1,.jx-cp .py-xl-1{padding-top:.25rem !important}.jx-cp .pr-xl-1,.jx-cp .px-xl-1{padding-right:.25rem !important}.jx-cp .pb-xl-1,.jx-cp .py-xl-1{padding-bottom:.25rem !important}.jx-cp .pl-xl-1,.jx-cp .px-xl-1{padding-left:.25rem !important}.jx-cp .p-xl-2{padding:.5rem !important}.jx-cp .pt-xl-2,.jx-cp .py-xl-2{padding-top:.5rem !important}.jx-cp .pr-xl-2,.jx-cp .px-xl-2{padding-right:.5rem !important}.jx-cp .pb-xl-2,.jx-cp .py-xl-2{padding-bottom:.5rem !important}.jx-cp .pl-xl-2,.jx-cp .px-xl-2{padding-left:.5rem !important}.jx-cp .p-xl-3{padding:1rem !important}.jx-cp .pt-xl-3,.jx-cp .py-xl-3{padding-top:1rem !important}.jx-cp .pr-xl-3,.jx-cp .px-xl-3{padding-right:1rem !important}.jx-cp .pb-xl-3,.jx-cp .py-xl-3{padding-bottom:1rem !important}.jx-cp .pl-xl-3,.jx-cp .px-xl-3{padding-left:1rem !important}.jx-cp .p-xl-4{padding:1.5rem !important}.jx-cp .pt-xl-4,.jx-cp .py-xl-4{padding-top:1.5rem !important}.jx-cp .pr-xl-4,.jx-cp .px-xl-4{padding-right:1.5rem !important}.jx-cp .pb-xl-4,.jx-cp .py-xl-4{padding-bottom:1.5rem !important}.jx-cp .pl-xl-4,.jx-cp .px-xl-4{padding-left:1.5rem !important}.jx-cp .p-xl-5{padding:3rem !important}.jx-cp .pt-xl-5,.jx-cp .py-xl-5{padding-top:3rem !important}.jx-cp .pr-xl-5,.jx-cp .px-xl-5{padding-right:3rem !important}.jx-cp .pb-xl-5,.jx-cp .py-xl-5{padding-bottom:3rem !important}.jx-cp .pl-xl-5,.jx-cp .px-xl-5{padding-left:3rem !important}.jx-cp .m-xl-n1{margin:-.25rem !important}.jx-cp .mt-xl-n1,.jx-cp .my-xl-n1{margin-top:-.25rem !important}.jx-cp .mr-xl-n1,.jx-cp .mx-xl-n1{margin-right:-.25rem !important}.jx-cp .mb-xl-n1,.jx-cp .my-xl-n1{margin-bottom:-.25rem !important}.jx-cp .ml-xl-n1,.jx-cp .mx-xl-n1{margin-left:-.25rem !important}.jx-cp .m-xl-n2{margin:-.5rem !important}.jx-cp .mt-xl-n2,.jx-cp .my-xl-n2{margin-top:-.5rem !important}.jx-cp .mr-xl-n2,.jx-cp .mx-xl-n2{margin-right:-.5rem !important}.jx-cp .mb-xl-n2,.jx-cp .my-xl-n2{margin-bottom:-.5rem !important}.jx-cp .ml-xl-n2,.jx-cp .mx-xl-n2{margin-left:-.5rem !important}.jx-cp .m-xl-n3{margin:-1rem !important}.jx-cp .mt-xl-n3,.jx-cp .my-xl-n3{margin-top:-1rem !important}.jx-cp .mr-xl-n3,.jx-cp .mx-xl-n3{margin-right:-1rem !important}.jx-cp .mb-xl-n3,.jx-cp .my-xl-n3{margin-bottom:-1rem !important}.jx-cp .ml-xl-n3,.jx-cp .mx-xl-n3{margin-left:-1rem !important}.jx-cp .m-xl-n4{margin:-1.5rem !important}.jx-cp .mt-xl-n4,.jx-cp .my-xl-n4{margin-top:-1.5rem !important}.jx-cp .mr-xl-n4,.jx-cp .mx-xl-n4{margin-right:-1.5rem !important}.jx-cp .mb-xl-n4,.jx-cp .my-xl-n4{margin-bottom:-1.5rem !important}.jx-cp .ml-xl-n4,.jx-cp .mx-xl-n4{margin-left:-1.5rem !important}.jx-cp .m-xl-n5{margin:-3rem !important}.jx-cp .mt-xl-n5,.jx-cp .my-xl-n5{margin-top:-3rem !important}.jx-cp .mr-xl-n5,.jx-cp .mx-xl-n5{margin-right:-3rem !important}.jx-cp .mb-xl-n5,.jx-cp .my-xl-n5{margin-bottom:-3rem !important}.jx-cp .ml-xl-n5,.jx-cp .mx-xl-n5{margin-left:-3rem !important}.jx-cp .m-xl-auto{margin:auto !important}.jx-cp .mt-xl-auto,.jx-cp .my-xl-auto{margin-top:auto !important}.jx-cp .mr-xl-auto,.jx-cp .mx-xl-auto{margin-right:auto !important}.jx-cp .mb-xl-auto,.jx-cp .my-xl-auto{margin-bottom:auto !important}.jx-cp .ml-xl-auto,.jx-cp .mx-xl-auto{margin-left:auto !important}}.jx-cp .stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.jx-cp .text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important}.jx-cp .text-justify{text-align:justify !important}.jx-cp .text-wrap{white-space:normal !important}.jx-cp .text-nowrap{white-space:nowrap !important}.jx-cp .text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jx-cp .text-left{text-align:left !important}.jx-cp .text-right{text-align:right !important}.jx-cp .text-center{text-align:center !important}@media (min-width: 576px){.jx-cp .text-sm-left{text-align:left !important}.jx-cp .text-sm-right{text-align:right !important}.jx-cp .text-sm-center{text-align:center !important}}@media (min-width: 768px){.jx-cp .text-md-left{text-align:left !important}.jx-cp .text-md-right{text-align:right !important}.jx-cp .text-md-center{text-align:center !important}}@media (min-width: 992px){.jx-cp .text-lg-left{text-align:left !important}.jx-cp .text-lg-right{text-align:right !important}.jx-cp .text-lg-center{text-align:center !important}}@media (min-width: 1200px){.jx-cp .text-xl-left{text-align:left !important}.jx-cp .text-xl-right{text-align:right !important}.jx-cp .text-xl-center{text-align:center !important}}.jx-cp .text-lowercase{text-transform:lowercase !important}.jx-cp .text-uppercase{text-transform:uppercase !important}.jx-cp .text-capitalize{text-transform:capitalize !important}.jx-cp .font-weight-light{font-weight:300 !important}.jx-cp .font-weight-lighter{font-weight:lighter !important}.jx-cp .font-weight-normal{font-weight:400 !important}.jx-cp .font-weight-bold{font-weight:700 !important}.jx-cp .font-weight-bolder{font-weight:bolder !important}.jx-cp .font-italic{font-style:italic !important}.jx-cp .text-white{color:#fff !important}.jx-cp .text-primary{color:#007bff !important}.jx-cp a.text-primary:hover,.jx-cp a.text-primary:focus{color:#0056b3 !important}.jx-cp .text-secondary{color:#6c757d !important}.jx-cp a.text-secondary:hover,.jx-cp a.text-secondary:focus{color:#494f54 !important}.jx-cp .text-success{color:#28a745 !important}.jx-cp a.text-success:hover,.jx-cp a.text-success:focus{color:#19692c !important}.jx-cp .text-info{color:#17a2b8 !important}.jx-cp a.text-info:hover,.jx-cp a.text-info:focus{color:#0f6674 !important}.jx-cp .text-warning{color:#ffc107 !important}.jx-cp a.text-warning:hover,.jx-cp a.text-warning:focus{color:#ba8b00 !important}.jx-cp .text-danger{color:#dc3545 !important}.jx-cp a.text-danger:hover,.jx-cp a.text-danger:focus{color:#a71d2a !important}.jx-cp .text-light{color:#f8f9fa !important}.jx-cp a.text-light:hover,.jx-cp a.text-light:focus{color:#cbd3da !important}.jx-cp .text-dark{color:#343a40 !important}.jx-cp a.text-dark:hover,.jx-cp a.text-dark:focus{color:#121416 !important}.jx-cp .text-body{color:#212529 !important}.jx-cp .text-muted{color:#6c757d !important}.jx-cp .text-black-50{color:rgba(0,0,0,0.5) !important}.jx-cp .text-white-50{color:rgba(255,255,255,0.5) !important}.jx-cp .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.jx-cp .text-decoration-none{text-decoration:none !important}.jx-cp .text-break{word-wrap:break-word !important}.jx-cp .text-reset{color:inherit !important}.jx-cp .visible{visibility:visible !important}.jx-cp .invisible{visibility:hidden !important}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.jx-cp .progress{display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.jx-cp .progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width 0.6s ease}@media (prefers-reduced-motion: reduce){.jx-cp .progress-bar{transition:none}}.jx-cp .progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.jx-cp .progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion: reduce){.jx-cp .progress-bar-animated{animation:none}}.jx-cp .modal-open{overflow:hidden}.jx-cp .modal-open .modal{overflow-x:hidden;overflow-y:auto}.jx-cp .modal{position:fixed;top:0;left:0;z-index:100001;display:none;width:100%;height:100%;overflow:hidden;outline:0}.jx-cp .modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .jx-cp .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .jx-cp .modal-dialog{transition:none}}.modal.show .jx-cp .modal-dialog{transform:none}.modal.modal-static .jx-cp .modal-dialog{transform:scale(1.02)}.jx-cp .modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.jx-cp .modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.jx-cp .modal-dialog-scrollable .modal-header,.jx-cp .modal-dialog-scrollable .modal-footer{flex-shrink:0}.jx-cp .modal-dialog-scrollable .modal-body{overflow-y:auto}.jx-cp .modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.jx-cp .modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.jx-cp .modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.jx-cp .modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.jx-cp .modal-dialog-centered.modal-dialog-scrollable::before{content:none}.jx-cp .modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:.3rem;outline:0}.jx-cp .modal-backdrop{position:fixed;top:0;left:0;z-index:100000;width:100vw;height:100vh;background-color:#000}.jx-cp .modal-backdrop.fade{opacity:0}.jx-cp .modal-backdrop.show{opacity:.5}.jx-cp .modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.25rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.jx-cp .modal-header .close{padding:1.25rem 1.25rem;margin:-1.25rem -1.25rem -1.25rem auto}.jx-cp .modal-title{margin-bottom:0;line-height:1.5}.jx-cp .modal-body{position:relative;flex:1 1 auto;padding:1.25rem}.jx-cp .modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.jx-cp .modal-footer>*{margin:.25rem}.jx-cp .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 576px){.jx-cp .modal-dialog{max-width:500px;margin:1.75rem auto}.jx-cp .modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.jx-cp .modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.jx-cp .modal-dialog-centered{min-height:calc(100% - 3.5rem)}.jx-cp .modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:min-content}.jx-cp .modal-sm{max-width:300px}}@media (min-width: 992px){.jx-cp .modal-lg,.jx-cp .modal-xl{max-width:800px}}@media (min-width: 1200px){.jx-cp .modal-xl{max-width:1140px}}.jx-cp .tooltip{position:absolute;z-index:100003;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.jx-cp .tooltip.show{opacity:.9}.jx-cp .tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.jx-cp .tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.jx-cp .bs-tooltip-top,.jx-cp .bs-tooltip-auto[x-placement^="top"]{padding:.4rem 0}.jx-cp .bs-tooltip-top .arrow,.jx-cp .bs-tooltip-auto[x-placement^="top"] .arrow{bottom:0}.jx-cp .bs-tooltip-top .arrow::before,.jx-cp .bs-tooltip-auto[x-placement^="top"] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.jx-cp .bs-tooltip-right,.jx-cp .bs-tooltip-auto[x-placement^="right"]{padding:0 .4rem}.jx-cp .bs-tooltip-right .arrow,.jx-cp .bs-tooltip-auto[x-placement^="right"] .arrow{left:0;width:.4rem;height:.8rem}.jx-cp .bs-tooltip-right .arrow::before,.jx-cp .bs-tooltip-auto[x-placement^="right"] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.jx-cp .bs-tooltip-bottom,.jx-cp .bs-tooltip-auto[x-placement^="bottom"]{padding:.4rem 0}.jx-cp .bs-tooltip-bottom .arrow,.jx-cp .bs-tooltip-auto[x-placement^="bottom"] .arrow{top:0}.jx-cp .bs-tooltip-bottom .arrow::before,.jx-cp .bs-tooltip-auto[x-placement^="bottom"] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.jx-cp .bs-tooltip-left,.jx-cp .bs-tooltip-auto[x-placement^="left"]{padding:0 .4rem}.jx-cp .bs-tooltip-left .arrow,.jx-cp .bs-tooltip-auto[x-placement^="left"] .arrow{right:0;width:.4rem;height:.8rem}.jx-cp .bs-tooltip-left .arrow::before,.jx-cp .bs-tooltip-auto[x-placement^="left"] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.jx-cp .tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.jx-cp .table{width:100%;margin-bottom:1rem;color:#212529}.jx-cp .table th,.jx-cp .table td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.jx-cp .table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.jx-cp .table tbody+tbody{border-top:2px solid #dee2e6}.jx-cp .table-sm th,.jx-cp .table-sm td{padding:.3rem}.jx-cp .table-bordered{border:1px solid #dee2e6}.jx-cp .table-bordered th,.jx-cp .table-bordered td{border:1px solid #dee2e6}.jx-cp .table-bordered thead th,.jx-cp .table-bordered thead td{border-bottom-width:2px}.jx-cp .table-borderless th,.jx-cp .table-borderless td,.jx-cp .table-borderless thead th,.jx-cp .table-borderless tbody+tbody{border:0}.jx-cp .table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,0.05)}.jx-cp .table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,0.075)}.jx-cp .table-primary,.jx-cp .table-primary>th,.jx-cp .table-primary>td{background-color:#b8daff}.jx-cp .table-primary th,.jx-cp .table-primary td,.jx-cp .table-primary thead th,.jx-cp .table-primary tbody+tbody{border-color:#7abaff}.jx-cp .table-hover .table-primary:hover{background-color:#9fcdff}.jx-cp .table-hover .table-primary:hover>td,.jx-cp .table-hover .table-primary:hover>th{background-color:#9fcdff}.jx-cp .table-secondary,.jx-cp .table-secondary>th,.jx-cp .table-secondary>td{background-color:#d6d8db}.jx-cp .table-secondary th,.jx-cp .table-secondary td,.jx-cp .table-secondary thead th,.jx-cp .table-secondary tbody+tbody{border-color:#b3b7bb}.jx-cp .table-hover .table-secondary:hover{background-color:#c8cbcf}.jx-cp .table-hover .table-secondary:hover>td,.jx-cp .table-hover .table-secondary:hover>th{background-color:#c8cbcf}.jx-cp .table-success,.jx-cp .table-success>th,.jx-cp .table-success>td{background-color:#c3e6cb}.jx-cp .table-success th,.jx-cp .table-success td,.jx-cp .table-success thead th,.jx-cp .table-success tbody+tbody{border-color:#8fd19e}.jx-cp .table-hover .table-success:hover{background-color:#b1dfbb}.jx-cp .table-hover .table-success:hover>td,.jx-cp .table-hover .table-success:hover>th{background-color:#b1dfbb}.jx-cp .table-info,.jx-cp .table-info>th,.jx-cp .table-info>td{background-color:#bee5eb}.jx-cp .table-info th,.jx-cp .table-info td,.jx-cp .table-info thead th,.jx-cp .table-info tbody+tbody{border-color:#86cfda}.jx-cp .table-hover .table-info:hover{background-color:#abdde5}.jx-cp .table-hover .table-info:hover>td,.jx-cp .table-hover .table-info:hover>th{background-color:#abdde5}.jx-cp .table-warning,.jx-cp .table-warning>th,.jx-cp .table-warning>td{background-color:#ffeeba}.jx-cp .table-warning th,.jx-cp .table-warning td,.jx-cp .table-warning thead th,.jx-cp .table-warning tbody+tbody{border-color:#ffdf7e}.jx-cp .table-hover .table-warning:hover{background-color:#ffe8a1}.jx-cp .table-hover .table-warning:hover>td,.jx-cp .table-hover .table-warning:hover>th{background-color:#ffe8a1}.jx-cp .table-danger,.jx-cp .table-danger>th,.jx-cp .table-danger>td{background-color:#f5c6cb}.jx-cp .table-danger th,.jx-cp .table-danger td,.jx-cp .table-danger thead th,.jx-cp .table-danger tbody+tbody{border-color:#ed969e}.jx-cp .table-hover .table-danger:hover{background-color:#f1b0b7}.jx-cp .table-hover .table-danger:hover>td,.jx-cp .table-hover .table-danger:hover>th{background-color:#f1b0b7}.jx-cp .table-light,.jx-cp .table-light>th,.jx-cp .table-light>td{background-color:#fdfdfe}.jx-cp .table-light th,.jx-cp .table-light td,.jx-cp .table-light thead th,.jx-cp .table-light tbody+tbody{border-color:#fbfcfc}.jx-cp .table-hover .table-light:hover{background-color:#ececf6}.jx-cp .table-hover .table-light:hover>td,.jx-cp .table-hover .table-light:hover>th{background-color:#ececf6}.jx-cp .table-dark,.jx-cp .table-dark>th,.jx-cp .table-dark>td{background-color:#c6c8ca}.jx-cp .table-dark th,.jx-cp .table-dark td,.jx-cp .table-dark thead th,.jx-cp .table-dark tbody+tbody{border-color:#95999c}.jx-cp .table-hover .table-dark:hover{background-color:#b9bbbe}.jx-cp .table-hover .table-dark:hover>td,.jx-cp .table-hover .table-dark:hover>th{background-color:#b9bbbe}.jx-cp .table-active,.jx-cp .table-active>th,.jx-cp .table-active>td{background-color:rgba(0,0,0,0.075)}.jx-cp .table-hover .table-active:hover{background-color:rgba(0,0,0,0.075)}.jx-cp .table-hover .table-active:hover>td,.jx-cp .table-hover .table-active:hover>th{background-color:rgba(0,0,0,0.075)}.jx-cp .table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.jx-cp .table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.jx-cp .table-dark{color:#fff;background-color:#343a40}.jx-cp .table-dark th,.jx-cp .table-dark td,.jx-cp .table-dark thead th{border-color:#454d55}.jx-cp .table-dark.table-bordered{border:0}.jx-cp .table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,0.05)}.jx-cp .table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,0.075)}@media (max-width: 575.98px){.jx-cp .table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.jx-cp .table-responsive-sm>.table-bordered{border:0}}@media (max-width: 767.98px){.jx-cp .table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.jx-cp .table-responsive-md>.table-bordered{border:0}}@media (max-width: 991.98px){.jx-cp .table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.jx-cp .table-responsive-lg>.table-bordered{border:0}}@media (max-width: 1199.98px){.jx-cp .table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.jx-cp .table-responsive-xl>.table-bordered{border:0}}.jx-cp .table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.jx-cp .table-responsive>.table-bordered{border:0}.jx-cp .pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.jx-cp .page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.jx-cp .page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.jx-cp .page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.jx-cp .page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.jx-cp .page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.jx-cp .page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.jx-cp .page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.jx-cp .pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.jx-cp .pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.jx-cp .pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.jx-cp .pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.75}.jx-cp .pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.jx-cp .pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.jx-cp,.jx-cp p{color:#222;font-size:14px}.jx-cp .card{margin:0;padding:0;box-shadow:none;max-width:none}.jx-cp .card-header{background-color:transparent;font-size:16px;font-weight:500;vertical-align:middle}.jx-cp .card-header>svg{margin-right:5px;font-size:24px}.jx-cp .card-header span{vertical-align:middle}.jx-cp .alert{color:#222;padding:9.5px 16px}.jx-cp .alert.alert-success{background-color:#f6ffec;border-color:#b6ed8a}.jx-cp .alert.alert-warning{background-color:#fffbe5;border-color:#ffe689}.jx-cp .alert.alert-danger{background-color:#fff2f0;border-color:#feccc6}.jx-cp .form-check{padding-left:1.75rem}.jx-cp .form-check .form-check-input{margin-left:-1.75rem}.jx-cp .modal-dialog{max-width:430px}.jx-cp .modal-body{line-height:1.5}.jx-cp .modal-title{font-size:1rem}.jx-cp .modal-footer>*{margin-top:0;margin-bottom:0}.jx-cp .tooltip{font-size:12px}.jx-cp .tooltip .arrow{margin:auto}.jx-cp .custom-control{line-height:1.5}.jx-cp .custom-select{min-height:0}#adminmenu #toplevel_page_jupiterx li.current a{color:rgba(240,246,252,0.7);font-weight:normal}#adminmenu #toplevel_page_jupiterx li.active a{color:#fff;font-weight:600}
44
+
includes/control-panel-2/dist/control-panel.js ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ !function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=108)}([function(e,t,n){"use strict";e.exports=n(54)},function(e,t){e.exports=wp.i18n},function(e,t){e.exports=jupiterxControlPanel2},function(e,t,n){var r=n(51),i=n(52),o=n(33),a=n(53);e.exports=function(e,t){return r(e)||i(e,t)||o(e,t)||a()}},function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}n.d(t,"a",(function(){return r}))},function(e,t,n){var r;
2
+ /*!
3
+ Copyright (c) 2017 Jed Watson.
4
+ Licensed under the MIT License (MIT), see
5
+ http://jedwatson.github.io/classnames
6
+ */!function(){"use strict";var n={}.hasOwnProperty;function i(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=i.apply(null,r);a&&e.push(a)}else if("object"===o)for(var s in r)n.call(r,s)&&r[s]&&e.push(s)}}return e.join(" ")}e.exports?(i.default=i,e.exports=i):void 0===(r=function(){return i}.apply(t,[]))||(e.exports=r)}()},function(e,t,n){e.exports=n(61)()},function(e,t){e.exports=jQuery},,,function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n.d(t,"a",(function(){return r}))},function(e,t,n){var r=n(70),i=n(71),o=n(33),a=n(72);e.exports=function(e){return r(e)||i(e)||o(e)||a()}},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}}(),e.exports=n(55)},function(e,t){e.exports=lodash},function(e,t){function n(){return e.exports=n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},n.apply(this,arguments)}e.exports=n},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n},function(e,t,n){var r=n(63);e.exports=function(e,t){if(null==e)return{};var n,i,o=r(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},function(e,t,n){e.exports=function(){"use strict";var e="millisecond",t="second",n="minute",r="hour",i="day",o="week",a="month",s="quarter",l="year",c=/^(\d{4})-?(\d{1,2})-?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d{1,3})?$/,u=/\[([^\]]+)]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},m={s:d,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?"+":"-")+d(r,2,"0")+":"+d(i,2,"0")},m:function(e,t){var n=12*(t.year()-e.year())+(t.month()-e.month()),r=e.clone().add(n,a),i=t-r<0,o=e.clone().add(n+(i?-1:1),a);return Number(-(n+(t-r)/(i?r-o:o-r))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(c){return{M:a,y:l,w:o,d:i,D:"date",h:r,m:n,s:t,ms:e,Q:s}[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},p={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},h="en",f={};f[h]=p;var _=function(e){return e instanceof v},g=function(e,t,n){var r;if(!e)return h;if("string"==typeof e)f[e]&&(r=e),t&&(f[e]=t,r=e);else{var i=e.name;f[i]=e,r=i}return!n&&r&&(h=r),r||!n&&h},b=function(e,t){if(_(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new v(n)},y=m;y.l=g,y.i=_,y.w=function(e,t){return b(e,{locale:t.$L,utc:t.$u,$offset:t.$offset})};var v=function(){function d(e){this.$L=this.$L||g(e.locale,null,!0),this.parse(e)}var m=d.prototype;return m.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(y.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(c);if(r)return n?new Date(Date.UTC(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)):new Date(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)}return new Date(t)}(e),this.init()},m.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},m.$utils=function(){return y},m.isValid=function(){return!("Invalid Date"===this.$d.toString())},m.isSame=function(e,t){var n=b(e);return this.startOf(t)<=n&&n<=this.endOf(t)},m.isAfter=function(e,t){return b(e)<this.startOf(t)},m.isBefore=function(e,t){return this.endOf(t)<b(e)},m.$g=function(e,t,n){return y.u(e)?this[t]:this.set(n,e)},m.year=function(e){return this.$g(e,"$y",l)},m.month=function(e){return this.$g(e,"$M",a)},m.day=function(e){return this.$g(e,"$W",i)},m.date=function(e){return this.$g(e,"$D","date")},m.hour=function(e){return this.$g(e,"$H",r)},m.minute=function(e){return this.$g(e,"$m",n)},m.second=function(e){return this.$g(e,"$s",t)},m.millisecond=function(t){return this.$g(t,"$ms",e)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(e,s){var c=this,u=!!y.u(s)||s,d=y.p(e),m=function(e,t){var n=y.w(c.$u?Date.UTC(c.$y,t,e):new Date(c.$y,t,e),c);return u?n:n.endOf(i)},p=function(e,t){return y.w(c.toDate()[e].apply(c.toDate("s"),(u?[0,0,0,0]:[23,59,59,999]).slice(t)),c)},h=this.$W,f=this.$M,_=this.$D,g="set"+(this.$u?"UTC":"");switch(d){case l:return u?m(1,0):m(31,11);case a:return u?m(1,f):m(0,f+1);case o:var b=this.$locale().weekStart||0,v=(h<b?h+7:h)-b;return m(u?_-v:_+(6-v),f);case i:case"date":return p(g+"Hours",0);case r:return p(g+"Minutes",1);case n:return p(g+"Seconds",2);case t:return p(g+"Milliseconds",3);default:return this.clone()}},m.endOf=function(e){return this.startOf(e,!1)},m.$set=function(o,s){var c,u=y.p(o),d="set"+(this.$u?"UTC":""),m=(c={},c.day=d+"Date",c.date=d+"Date",c[a]=d+"Month",c[l]=d+"FullYear",c[r]=d+"Hours",c[n]=d+"Minutes",c[t]=d+"Seconds",c[e]=d+"Milliseconds",c)[u],p=u===i?this.$D+(s-this.$W):s;if(u===a||u===l){var h=this.clone().set("date",1);h.$d[m](p),h.init(),this.$d=h.set("date",Math.min(this.$D,h.daysInMonth())).toDate()}else m&&this.$d[m](p);return this.init(),this},m.set=function(e,t){return this.clone().$set(e,t)},m.get=function(e){return this[y.p(e)]()},m.add=function(e,s){var c,u=this;e=Number(e);var d=y.p(s),m=function(t){var n=b(u);return y.w(n.date(n.date()+Math.round(t*e)),u)};if(d===a)return this.set(a,this.$M+e);if(d===l)return this.set(l,this.$y+e);if(d===i)return m(1);if(d===o)return m(7);var p=(c={},c[n]=6e4,c[r]=36e5,c[t]=1e3,c)[d]||1,h=this.$d.getTime()+e*p;return y.w(h,this)},m.subtract=function(e,t){return this.add(-1*e,t)},m.format=function(e){var t=this;if(!this.isValid())return"Invalid Date";var n=e||"YYYY-MM-DDTHH:mm:ssZ",r=y.z(this),i=this.$locale(),o=this.$H,a=this.$m,s=this.$M,l=i.weekdays,c=i.months,d=function(e,r,i,o){return e&&(e[r]||e(t,n))||i[r].substr(0,o)},m=function(e){return y.s(o%12||12,e,"0")},p=i.meridiem||function(e,t,n){var r=e<12?"AM":"PM";return n?r.toLowerCase():r},h={YY:String(this.$y).slice(-2),YYYY:this.$y,M:s+1,MM:y.s(s+1,2,"0"),MMM:d(i.monthsShort,s,c,3),MMMM:d(c,s),D:this.$D,DD:y.s(this.$D,2,"0"),d:String(this.$W),dd:d(i.weekdaysMin,this.$W,l,2),ddd:d(i.weekdaysShort,this.$W,l,3),dddd:l[this.$W],H:String(o),HH:y.s(o,2,"0"),h:m(1),hh:m(2),a:p(o,a,!0),A:p(o,a,!1),m:String(a),mm:y.s(a,2,"0"),s:String(this.$s),ss:y.s(this.$s,2,"0"),SSS:y.s(this.$ms,3,"0"),Z:r};return n.replace(u,(function(e,t){return t||h[e]||r.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(e,i,c){var u,d=y.p(i),m=b(e),p=6e4*(m.utcOffset()-this.utcOffset()),h=this-m,f=y.m(this,m);return f=(u={},u[l]=f/12,u[a]=f,u[s]=f/3,u[o]=(h-p)/6048e5,u.day=(h-p)/864e5,u[r]=h/36e5,u[n]=h/6e4,u[t]=h/1e3,u)[d]||h,c?f:y.a(f)},m.daysInMonth=function(){return this.endOf(a).$D},m.$locale=function(){return f[this.$L]},m.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=g(e,t,!0);return r&&(n.$L=r),n},m.clone=function(){return y.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},d}();return b.prototype=v.prototype,b.extend=function(e,t){return e(t,v,b),b},b.locale=g,b.isDayjs=_,b.unix=function(e){return b(1e3*e)},b.en=f[h],b.Ls=f,b}()},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";var r=function(){};e.exports=r},function(e,t){var n={amp:"&",apos:"'",lt:"<",gt:">",quot:'"',nbsp:" "},r=/&([a-z]+);/gi;e.exports=function(e){return e.replace(r,(function(e,t){return t=t.toLowerCase(),n.hasOwnProperty(t)?n[t]:e}))}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){var r;"undefined"!=typeof self&&self,e.exports=(r=n(0),function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=7)}([function(e,t,n){"use strict";function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}(e,t)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var o=n(1),a=n.n(o),s=n(8),l=n.n(s),c=n(2),u=n(10),d=n.n(u),m=n(3),p=n(6),h=function(e){if(!e)return null;var t=Object.keys(e);return 0===t.length?null:t.reduce((function(t,n){return t[Object(c.a)(n)]=e[n],t}),{})},f=function(){var e=a.a.useRef(!1);return a.a.useEffect((function(){e.current=!0}),[]),e.current},_=function(e){var t=function(){return function(e){return e.query||Object(m.a)(e)}(e)},n=r(a.a.useState(t),2),i=n[0],o=n[1];return a.a.useEffect((function(){var e=t();i!==e&&o(e)}),[e]),i};t.a=function(e,t,n){var i=function(e){var t=a.a.useContext(p.a),n=function(){return h(e)||h(t)},i=r(a.a.useState(n),2),o=i[0],s=i[1];return a.a.useEffect((function(){var e=n();d()(o,e)||s(e)}),[e,t]),o}(t),o=_(e);if(!o)throw new Error("Invalid or missing MediaQuery!");var s=function(e){var t=r(a.a.useState(e.matches),2),n=t[0],i=t[1];return a.a.useEffect((function(){var t=function(){i(e.matches)};return e.addListener(t),t(),function(){e.removeListener(t)}}),[e]),n}(function(e,t){var n=function(){return l()(e,t||{},!!t)},i=r(a.a.useState(n),2),o=i[0],s=i[1],c=f();return a.a.useEffect((function(){return c&&s(n()),function(){o.dispose()}}),[e,t]),o}(o,i)),c=f();return a.a.useEffect((function(){c&&n&&n(s)}),[s]),s}},function(e,t){e.exports=r},function(e,t,n){"use strict";function r(e){return"-"+e.toLowerCase()}var i=/[A-Z]/g,o=/^ms-/,a={};t.a=function(e){if(a.hasOwnProperty(e))return a[e];var t=e.replace(i,r);return a[e]=o.test(t)?"-"+t:t}},function(e,t,n){"use strict";var r=n(2),i=n(11);t.a=function(e){var t=[];return Object.keys(i.a.all).forEach((function(n){var i=e[n];null!=i&&t.push(function(e,t){var n=Object(r.a)(e);return"number"==typeof t&&(t="".concat(t,"px")),!0===t?n:!1===t?"not ".concat(n):"(".concat(n,": ").concat(t,")")}(n,i))})),t.join(" and ")}},function(e,t,n){"use strict";e.exports=n(13)},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(1),i=n.n(r).a.createContext();t.a=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),i=n(17),o=n(3),a=n(6);n.d(t,"default",(function(){return i.a})),n.d(t,"useMediaQuery",(function(){return r.a})),n.d(t,"toQuery",(function(){return o.a})),n.d(t,"Context",(function(){return a.a}))},function(e,t,n){"use strict";function r(e,t,n){function r(e){a.matches=e.matches,a.media=e.media}var a=this;if(o&&!n){var s=o.call(window,e);this.matches=s.matches,this.media=s.media,s.addListener(r)}else this.matches=i(e,t),this.media=e;this.addListener=function(e){s&&s.addListener(e)},this.removeListener=function(e){s&&s.removeListener(e)},this.dispose=function(){s&&s.removeListener(r)}}var i=n(9).match,o="undefined"!=typeof window?window.matchMedia:null;e.exports=function(e,t,n){return new r(e,t,n)}},function(e,t,n){"use strict";function r(e){return e.split(",").map((function(e){var t=(e=e.trim()).match(s),n=t[1],r=t[2],i=t[3]||"",o={};return o.inverse=!!n&&"not"===n.toLowerCase(),o.type=r?r.toLowerCase():"all",i=i.match(/\([^\)]+\)/g)||[],o.expressions=i.map((function(e){var t=e.match(l),n=t[1].toLowerCase().match(c);return{modifier:n[1],feature:n[2],value:t[2]}})),o}))}function i(e){var t,n=Number(e);return n||(n=(t=e.match(/^(\d+)\s*\/\s*(\d+)$/))[1]/t[2]),n}function o(e){var t=parseFloat(e);switch(String(e).match(d)[1]){case"dpcm":return t/2.54;case"dppx":return 96*t;default:return t}}function a(e){var t=parseFloat(e);switch(String(e).match(u)[1]){case"em":case"rem":return 16*t;case"cm":return 96*t/2.54;case"mm":return 96*t/2.54/10;case"in":return 96*t;case"pt":return 72*t;case"pc":return 72*t/12;default:return t}}t.match=function(e,t){return r(e).some((function(e){var n=e.inverse,r="all"===e.type||t.type===e.type;if(r&&n||!r&&!n)return!1;var s=e.expressions.every((function(e){var n=e.feature,r=e.modifier,s=e.value,l=t[n];if(!l)return!1;switch(n){case"orientation":case"scan":return l.toLowerCase()===s.toLowerCase();case"width":case"height":case"device-width":case"device-height":s=a(s),l=a(l);break;case"resolution":s=o(s),l=o(l);break;case"aspect-ratio":case"device-aspect-ratio":case"device-pixel-ratio":s=i(s),l=i(l);break;case"grid":case"color":case"color-index":case"monochrome":s=parseInt(s,10)||1,l=parseInt(l,10)||0}switch(r){case"min":return l>=s;case"max":return l<=s;default:return l===s}}));return s&&!n||!s&&n}))},t.parse=r;var s=/(?:(only|not)?\s*([^\s\(\)]+)(?:\s*and)?\s*)?(.+)?/i,l=/\(\s*([^\s\:\)]+)\s*(?:\:\s*([^\s\)]+))?\s*\)/,c=/^(?:(min|max)-)?(.+)/,u=/(em|rem|px|cm|mm|in|pt|pc)?$/,d=/(dpi|dpcm|dppx)?$/},function(e,t,n){"use strict";e.exports=function(e,t){if(e===t)return!0;if(!e||!t)return!1;var n=Object.keys(e),r=Object.keys(t),i=n.length;if(r.length!==i)return!1;for(var o=0;o<i;o++){var a=n[o];if(e[a]!==t[a]||!Object.prototype.hasOwnProperty.call(t,a))return!1}return!0}},function(e,t,n){"use strict";function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var a=n(12),s=n.n(a),l=s.a.oneOfType([s.a.string,s.a.number]),c={orientation:s.a.oneOf(["portrait","landscape"]),scan:s.a.oneOf(["progressive","interlace"]),aspectRatio:s.a.string,deviceAspectRatio:s.a.string,height:l,deviceHeight:l,width:l,deviceWidth:l,color:s.a.bool,colorIndex:s.a.bool,monochrome:s.a.bool,resolution:l},u=i({minAspectRatio:s.a.string,maxAspectRatio:s.a.string,minDeviceAspectRatio:s.a.string,maxDeviceAspectRatio:s.a.string,minHeight:l,maxHeight:l,minDeviceHeight:l,maxDeviceHeight:l,minWidth:l,maxWidth:l,minDeviceWidth:l,maxDeviceWidth:l,minColor:s.a.number,maxColor:s.a.number,minColorIndex:s.a.number,maxColorIndex:s.a.number,minMonochrome:s.a.number,maxMonochrome:s.a.number,minResolution:l,maxResolution:l},c),d={all:s.a.bool,grid:s.a.bool,aural:s.a.bool,braille:s.a.bool,handheld:s.a.bool,print:s.a.bool,projection:s.a.bool,screen:s.a.bool,tty:s.a.bool,tv:s.a.bool,embossed:s.a.bool},m=i(i({},d),u);c.type=Object.keys(d),t.a={all:m,types:d,matchers:c,features:u}},function(e,t,n){var r=n(4);e.exports=n(14)(r.isElement,!0)},function(e,t,n){"use strict";!function(){function e(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case i:var n=e.type;switch(n){case d:case m:case a:case l:case s:case h:return n;default:var r=n&&n.$$typeof;switch(r){case u:case p:case g:case _:case c:return r;default:return t}}case o:return t}}}function n(t){return e(t)===m}var r="function"==typeof Symbol&&Symbol.for,i=r?Symbol.for("react.element"):60103,o=r?Symbol.for("react.portal"):60106,a=r?Symbol.for("react.fragment"):60107,s=r?Symbol.for("react.strict_mode"):60108,l=r?Symbol.for("react.profiler"):60114,c=r?Symbol.for("react.provider"):60109,u=r?Symbol.for("react.context"):60110,d=r?Symbol.for("react.async_mode"):60111,m=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,h=r?Symbol.for("react.suspense"):60113,f=r?Symbol.for("react.suspense_list"):60120,_=r?Symbol.for("react.memo"):60115,g=r?Symbol.for("react.lazy"):60116,b=r?Symbol.for("react.block"):60121,y=r?Symbol.for("react.fundamental"):60117,v=r?Symbol.for("react.responder"):60118,w=r?Symbol.for("react.scope"):60119,x=d,k=m,O=u,j=c,E=i,S=p,C=a,R=g,T=_,L=o,A=l,M=s,$=h,N=!1;t.AsyncMode=x,t.ConcurrentMode=k,t.ContextConsumer=O,t.ContextProvider=j,t.Element=E,t.ForwardRef=S,t.Fragment=C,t.Lazy=R,t.Memo=T,t.Portal=L,t.Profiler=A,t.StrictMode=M,t.Suspense=$,t.isAsyncMode=function(t){return N||(N=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),n(t)||e(t)===d},t.isConcurrentMode=n,t.isContextConsumer=function(t){return e(t)===u},t.isContextProvider=function(t){return e(t)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===i},t.isForwardRef=function(t){return e(t)===p},t.isFragment=function(t){return e(t)===a},t.isLazy=function(t){return e(t)===g},t.isMemo=function(t){return e(t)===_},t.isPortal=function(t){return e(t)===o},t.isProfiler=function(t){return e(t)===l},t.isStrictMode=function(t){return e(t)===s},t.isSuspense=function(t){return e(t)===h},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===m||e===l||e===s||e===h||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===_||e.$$typeof===c||e.$$typeof===u||e.$$typeof===p||e.$$typeof===y||e.$$typeof===v||e.$$typeof===w||e.$$typeof===b)},t.typeOf=e}()},function(e,t,n){"use strict";function r(){return null}var i,o=n(4),a=n(15),s=n(5),l=n(16),c=Function.call.bind(Object.prototype.hasOwnProperty);i=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}},e.exports=function(e,t){function n(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function u(e){this.message=e,this.stack=""}function d(e){function n(n,a,l,c,d,m,p){if(c=c||y,m=m||l,p!==s){if(t){var h=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw h.name="Invariant Violation",h}if("undefined"!=typeof console){var f=c+":"+l;!r[f]&&o<3&&(i("You are manually calling a React.PropTypes validation function for the `"+m+"` prop on `"+c+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),r[f]=!0,o++)}}return null==a[l]?n?new u(null===a[l]?"The "+d+" `"+m+"` is marked as required in `"+c+"`, but its value is `null`.":"The "+d+" `"+m+"` is marked as required in `"+c+"`, but its value is `undefined`."):null:e(a,l,c,d,m)}var r={},o=0,a=n.bind(null,!1);return a.isRequired=n.bind(null,!0),a}function m(e){return d((function(t,n,r,i,o,a){var s=t[n];return h(s)!==e?new u("Invalid "+i+" `"+o+"` of type `"+f(s)+"` supplied to `"+r+"`, expected `"+e+"`."):null}))}function p(t){switch(typeof t){case"number":case"string":case"undefined":return!0;case"boolean":return!t;case"object":if(Array.isArray(t))return t.every(p);if(null===t||e(t))return!0;var n=function(e){var t=e&&(g&&e[g]||e[b]);if("function"==typeof t)return t}(t);if(!n)return!1;var r,i=n.call(t);if(n!==t.entries){for(;!(r=i.next()).done;)if(!p(r.value))return!1}else for(;!(r=i.next()).done;){var o=r.value;if(o&&!p(o[1]))return!1}return!0;default:return!1}}function h(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":function(e,t){return"symbol"===e||!!t&&("Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol)}(t,e)?"symbol":t}function f(e){if(null==e)return""+e;var t=h(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function _(e){var t=f(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}var g="function"==typeof Symbol&&Symbol.iterator,b="@@iterator",y="<<anonymous>>",v={array:m("array"),bool:m("boolean"),func:m("function"),number:m("number"),object:m("object"),string:m("string"),symbol:m("symbol"),any:d(r),arrayOf:function(e){return d((function(t,n,r,i,o){if("function"!=typeof e)return new u("Property `"+o+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var a=t[n];if(!Array.isArray(a))return new u("Invalid "+i+" `"+o+"` of type `"+h(a)+"` supplied to `"+r+"`, expected an array.");for(var l=0;l<a.length;l++){var c=e(a,l,r,i,o+"["+l+"]",s);if(c instanceof Error)return c}return null}))},element:d((function(t,n,r,i,o){var a=t[n];return e(a)?null:new u("Invalid "+i+" `"+o+"` of type `"+h(a)+"` supplied to `"+r+"`, expected a single ReactElement.")})),elementType:d((function(e,t,n,r,i){var a=e[t];return o.isValidElementType(a)?null:new u("Invalid "+r+" `"+i+"` of type `"+h(a)+"` supplied to `"+n+"`, expected a single ReactElement type.")})),instanceOf:function(e){return d((function(t,n,r,i,o){if(!(t[n]instanceof e)){var a=e.name||y;return new u("Invalid "+i+" `"+o+"` of type `"+((s=t[n]).constructor&&s.constructor.name?s.constructor.name:y)+"` supplied to `"+r+"`, expected instance of `"+a+"`.")}var s;return null}))},node:d((function(e,t,n,r,i){return p(e[t])?null:new u("Invalid "+r+" `"+i+"` supplied to `"+n+"`, expected a ReactNode.")})),objectOf:function(e){return d((function(t,n,r,i,o){if("function"!=typeof e)return new u("Property `"+o+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var a=t[n],l=h(a);if("object"!==l)return new u("Invalid "+i+" `"+o+"` of type `"+l+"` supplied to `"+r+"`, expected an object.");for(var d in a)if(c(a,d)){var m=e(a,d,r,i,o+"."+d,s);if(m instanceof Error)return m}return null}))},oneOf:function(e){function t(t,r,i,o,a){for(var s=t[r],l=0;l<e.length;l++)if(n(s,e[l]))return null;var c=JSON.stringify(e,(function(e,t){return"symbol"===f(t)?String(t):t}));return new u("Invalid "+o+" `"+a+"` of value `"+String(s)+"` supplied to `"+i+"`, expected one of "+c+".")}return Array.isArray(e)?d(t):(i(arguments.length>1?"Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).":"Invalid argument supplied to oneOf, expected an array."),r)},oneOfType:function(e){if(!Array.isArray(e))return i("Invalid argument supplied to oneOfType, expected an instance of array."),r;for(var t=0;t<e.length;t++){var n=e[t];if("function"!=typeof n)return i("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+_(n)+" at index "+t+"."),r}return d((function(t,n,r,i,o){for(var a=0;a<e.length;a++)if(null==(0,e[a])(t,n,r,i,o,s))return null;return new u("Invalid "+i+" `"+o+"` supplied to `"+r+"`.")}))},shape:function(e){return d((function(t,n,r,i,o){var a=t[n],l=h(a);if("object"!==l)return new u("Invalid "+i+" `"+o+"` of type `"+l+"` supplied to `"+r+"`, expected `object`.");for(var c in e){var d=e[c];if(d){var m=d(a,c,r,i,o+"."+c,s);if(m)return m}}return null}))},exact:function(e){return d((function(t,n,r,i,o){var l=t[n],c=h(l);if("object"!==c)return new u("Invalid "+i+" `"+o+"` of type `"+c+"` supplied to `"+r+"`, expected `object`.");var d=a({},t[n],e);for(var m in d){var p=e[m];if(!p)return new u("Invalid "+i+" `"+o+"` key `"+m+"` supplied to `"+r+"`.\nBad object: "+JSON.stringify(t[n],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null," "));var f=p(l,m,r,i,o+"."+m,s);if(f)return f}return null}))}};return u.prototype=Error.prototype,v.checkPropTypes=l,v.resetWarningCache=l.resetWarningCache,v.PropTypes=v,v}},function(e,t,n){"use strict";function r(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}
7
+ /*
8
+ object-assign
9
+ (c) Sindre Sorhus
10
+ @license MIT
11
+ */var i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,l=r(e),c=1;c<arguments.length;c++){for(var u in n=Object(arguments[c]))o.call(n,u)&&(l[u]=n[u]);if(i){s=i(n);for(var d=0;d<s.length;d++)a.call(n,s[d])&&(l[s[d]]=n[s[d]])}}return l}},function(e,t,n){"use strict";function r(e,t,n,r,l){for(var c in e)if(s(e,c)){var u;try{if("function"!=typeof e[c]){var d=Error((r||"React class")+": "+n+" type `"+c+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[c]+"`.");throw d.name="Invariant Violation",d}u=e[c](t,c,r,n,null,o)}catch(e){u=e}if(!u||u instanceof Error||i((r||"React class")+": type specification of "+n+" `"+c+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof u+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),u instanceof Error&&!(u.message in a)){a[u.message]=!0;var m=l?l():"";i("Failed "+n+" type: "+u.message+(null!=m?m:""))}}}var i=function(){},o=n(5),a={},s=Function.call.bind(Object.prototype.hasOwnProperty);i=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}},r.resetWarningCache=function(){a={}},e.exports=r},function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}t.a=function(e){var t=e.children,n=e.device,o=e.onChange,a=r(e,["children","device","onChange"]),s=Object(i.a)(a,n,o);return"function"==typeof t?t(s):s?t:null};var i=n(0)}]))},function(e,t,n){"use strict";var r=n(37),i={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?a:s[e.$$typeof]||i}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=a;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,m=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(h){var i=p(n);i&&i!==h&&e(t,i,r)}var a=u(n);d&&(a=a.concat(d(n)));for(var s=l(t),f=l(n),_=0;_<a.length;++_){var g=a[_];if(!(o[g]||r&&r[g]||f&&f[g]||s&&s[g])){var b=m(n,g);try{c(t,g,b)}catch(e){}}}}return t}},function(e,t,n){"use strict";e.exports=function(e,t,n,r,i,o,a,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,i,o,a,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];function r(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];var i=null;return t.forEach((function(e){if(null==i){var t=e.apply(void 0,n);null!=t&&(i=t)}})),i}return(0,o.default)(r)};var r,i=n(67),o=(r=i)&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t,n){(function(e){!function(){var e=function(){return this}();e||"undefined"==typeof window||(e=window);var t=function(e,n,r){"string"==typeof e?(2==arguments.length&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)):t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace())};t.modules={},t.payloads={};var n,r,i=function(e,t,n){if("string"==typeof t){var r=s(e,t);if(null!=r)return n&&n(),r}else if("[object Array]"===Object.prototype.toString.call(t)){for(var i=[],a=0,l=t.length;a<l;++a){var c=s(e,t[a]);if(null==c&&o.original)return;i.push(c)}return n&&n.apply(null,i)||!0}},o=function(e,t){var n=i("",e,t);return null==n&&o.original?o.original.apply(this,arguments):n},a=function(e,t){if(-1!==t.indexOf("!")){var n=t.split("!");return a(e,n[0])+"!"+a(e,n[1])}if("."==t.charAt(0))for(t=e.split("/").slice(0,-1).join("/")+"/"+t;-1!==t.indexOf(".")&&r!=t;){var r=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}return t},s=function(e,n){n=a(e,n);var r=t.modules[n];if(!r){if("function"==typeof(r=t.payloads[n])){var o={},s={id:n,uri:"",exports:o,packaged:!0};o=r((function(e,t){return i(n,e,t)}),o,s)||s.exports,t.modules[n]=o,delete t.payloads[n]}r=t.modules[n]=o||r}return r};r=e,(n="ace")&&(e[n]||(e[n]={}),r=e[n]),r.define&&r.define.packaged||(t.original=r.define,r.define=t,r.define.packaged=!0),r.require&&r.require.packaged||(o.original=r.require,r.require=o,r.require.packaged=!0)}(),ace.define("ace/lib/fixoldbrowsers",["require","exports","module"],(function(e,t,n){"use strict";"undefined"==typeof Element||Element.prototype.remove||Object.defineProperty(Element.prototype,"remove",{enumerable:!1,writable:!0,configurable:!0,value:function(){this.parentNode&&this.parentNode.removeChild(this)}})})),ace.define("ace/lib/useragent",["require","exports","module"],(function(e,t,n){"use strict";t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};var r="object"==typeof navigator?navigator:{},i=(/mac|win|linux/i.exec(r.platform)||["other"])[0].toLowerCase(),o=r.userAgent||"",a=r.appName||"";t.isWin="win"==i,t.isMac="mac"==i,t.isLinux="linux"==i,t.isIE="Microsoft Internet Explorer"==a||a.indexOf("MSAppHost")>=0?parseFloat((o.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((o.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=o.match(/ Gecko\/\d+/),t.isOpera="object"==typeof opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),t.isWebKit=parseFloat(o.split("WebKit/")[1])||void 0,t.isChrome=parseFloat(o.split(" Chrome/")[1])||void 0,t.isEdge=parseFloat(o.split(" Edge/")[1])||void 0,t.isAIR=o.indexOf("AdobeAIR")>=0,t.isAndroid=o.indexOf("Android")>=0,t.isChromeOS=o.indexOf(" CrOS ")>=0,t.isIOS=/iPad|iPhone|iPod/.test(o)&&!window.MSStream,t.isIOS&&(t.isMac=!0),t.isMobile=t.isIOS||t.isAndroid})),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],(function(e,t,n){"use strict";var r=e("./useragent");if(t.buildDom=function e(t,n,r){if("string"==typeof t&&t){var i=document.createTextNode(t);return n&&n.appendChild(i),i}if(!Array.isArray(t))return t&&t.appendChild&&n&&n.appendChild(t),t;if("string"!=typeof t[0]||!t[0]){for(var o=[],a=0;a<t.length;a++){var s=e(t[a],n,r);s&&o.push(s)}return o}var l=document.createElement(t[0]),c=t[1],u=1;c&&"object"==typeof c&&!Array.isArray(c)&&(u=2);for(a=u;a<t.length;a++)e(t[a],l,r);return 2==u&&Object.keys(c).forEach((function(e){var t=c[e];"class"===e?l.className=Array.isArray(t)?t.join(" "):t:"function"==typeof t||"value"==e||"$"==e[0]?l[e]=t:"ref"===e?r&&(r[t]=l):null!=t&&l.setAttribute(e,t)})),n&&n.appendChild(l),l},t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||"http://www.w3.org/1999/xhtml",e):document.createElement(e)},t.removeChildren=function(e){e.innerHTML=""},t.createTextNode=function(e,t){return(t?t.ownerDocument:document).createTextNode(e)},t.createFragment=function(e){return(e?e.ownerDocument:document).createDocumentFragment()},t.hasCssClass=function(e,t){return-1!==(e.className+"").split(/\s+/g).indexOf(t)},t.addCssClass=function(e,n){t.hasCssClass(e,n)||(e.className+=" "+n)},t.removeCssClass=function(e,t){for(var n=e.className.split(/\s+/g);;){var r=n.indexOf(t);if(-1==r)break;n.splice(r,1)}e.className=n.join(" ")},t.toggleCssClass=function(e,t){for(var n=e.className.split(/\s+/g),r=!0;;){var i=n.indexOf(t);if(-1==i)break;r=!1,n.splice(i,1)}return r&&n.push(t),e.className=n.join(" "),r},t.setCssClass=function(e,n,r){r?t.addCssClass(e,n):t.removeCssClass(e,n)},t.hasCssString=function(e,t){var n,r=0;if(n=(t=t||document).querySelectorAll("style"))for(;r<n.length;)if(n[r++].id===e)return!0},t.importCssString=function(e,n,r){var i=r;r&&r.getRootNode&&(i=r.getRootNode())&&i!=r||(i=document);var o=i.ownerDocument||i;if(n&&t.hasCssString(n,i))return null;n&&(e+="\n/*# sourceURL=ace/css/"+n+" */");var a=t.createElement("style");a.appendChild(o.createTextNode(e)),n&&(a.id=n),i==o&&(i=t.getDocumentHead(o)),i.insertBefore(a,i.firstChild)},t.importCssStylsheet=function(e,n){t.buildDom(["link",{rel:"stylesheet",href:e}],t.getDocumentHead(n))},t.scrollbarWidth=function(e){var n=t.createElement("ace_inner");n.style.width="100%",n.style.minWidth="0px",n.style.height="200px",n.style.display="block";var r=t.createElement("ace_outer"),i=r.style;i.position="absolute",i.left="-10000px",i.overflow="hidden",i.width="200px",i.minWidth="0px",i.height="150px",i.display="block",r.appendChild(n);var o=e.documentElement;o.appendChild(r);var a=n.offsetWidth;i.overflow="scroll";var s=n.offsetWidth;return a==s&&(s=r.clientWidth),o.removeChild(r),a-s},"undefined"==typeof document&&(t.importCssString=function(){}),t.computedStyle=function(e,t){return window.getComputedStyle(e,"")||{}},t.setStyle=function(e,t,n){e[t]!==n&&(e[t]=n)},t.HAS_CSS_ANIMATION=!1,t.HAS_CSS_TRANSFORMS=!1,t.HI_DPI=!r.isWin||"undefined"!=typeof window&&window.devicePixelRatio>=1.5,"undefined"!=typeof document){var i=document.createElement("div");t.HI_DPI&&void 0!==i.style.transform&&(t.HAS_CSS_TRANSFORMS=!0),r.isEdge||void 0===i.style.animationName||(t.HAS_CSS_ANIMATION=!0),i=null}t.HAS_CSS_TRANSFORMS?t.translate=function(e,t,n){e.style.transform="translate("+Math.round(t)+"px, "+Math.round(n)+"px)"}:t.translate=function(e,t,n){e.style.top=Math.round(n)+"px",e.style.left=Math.round(t)+"px"}})),ace.define("ace/lib/oop",["require","exports","module"],(function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}})),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],(function(e,t,n){"use strict";var r=e("./oop"),i=function(){var e,t,n={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}};for(t in n.FUNCTION_KEYS)e=n.FUNCTION_KEYS[t].toLowerCase(),n[e]=parseInt(t,10);for(t in n.PRINTABLE_KEYS)e=n.PRINTABLE_KEYS[t].toLowerCase(),n[e]=parseInt(t,10);return r.mixin(n,n.MODIFIER_KEYS),r.mixin(n,n.PRINTABLE_KEYS),r.mixin(n,n.FUNCTION_KEYS),n.enter=n.return,n.escape=n.esc,n.del=n.delete,n[173]="-",function(){for(var e=["cmd","ctrl","alt","shift"],t=Math.pow(2,e.length);t--;)n.KEY_MODS[t]=e.filter((function(e){return t&n.KEY_MODS[e]})).join("-")+"-"}(),n.KEY_MODS[0]="",n.KEY_MODS[-1]="input-",n}();r.mixin(t,i),t.keyCodeToString=function(e){var t=i[e];return"string"!=typeof t&&(t=String.fromCharCode(e)),t.toLowerCase()}})),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],(function(e,t,n){"use strict";var r,i=e("./keys"),o=e("./useragent"),a=null,s=0;function l(){return null==r&&function(){r=!1;try{document.createComment("").addEventListener("test",(function(){}),{get passive(){r={passive:!1}}})}catch(e){}}(),r}function c(e,t,n){this.elem=e,this.type=t,this.callback=n}c.prototype.destroy=function(){d(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var u=t.addListener=function(e,t,n,r){e.addEventListener(t,n,l()),r&&r.$toDestroy.push(new c(e,t,n))},d=t.removeListener=function(e,t,n){e.removeEventListener(t,n,l())};t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation&&e.stopPropagation()},t.preventDefault=function(e){e.preventDefault&&e.preventDefault()},t.getButton=function(e){return"dblclick"==e.type?0:"contextmenu"==e.type||o.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.button},t.capture=function(e,t,n){var r=e&&e.ownerDocument||document;function i(e){t&&t(e),n&&n(e),d(r,"mousemove",t),d(r,"mouseup",i),d(r,"dragstart",i)}return u(r,"mousemove",t),u(r,"mouseup",i),u(r,"dragstart",i),i},t.addMouseWheelListener=function(e,t,n){"onmousewheel"in e?u(e,"mousewheel",(function(e){void 0!==e.wheelDeltaX?(e.wheelX=-e.wheelDeltaX/8,e.wheelY=-e.wheelDeltaY/8):(e.wheelX=0,e.wheelY=-e.wheelDelta/8),t(e)}),n):"onwheel"in e?u(e,"wheel",(function(e){switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=.35*e.deltaX||0,e.wheelY=.35*e.deltaY||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=5*(e.deltaX||0),e.wheelY=5*(e.deltaY||0)}t(e)}),n):u(e,"DOMMouseScroll",(function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=5*(e.detail||0),e.wheelY=0):(e.wheelX=0,e.wheelY=5*(e.detail||0)),t(e)}),n)},t.addMultiMouseDownListener=function(e,n,r,i,a){var s,l,c,d=0,m={2:"dblclick",3:"tripleclick",4:"quadclick"};function p(e){if(0!==t.getButton(e)?d=0:e.detail>1?++d>4&&(d=1):d=1,o.isIE){var a=Math.abs(e.clientX-s)>5||Math.abs(e.clientY-l)>5;c&&!a||(d=1),c&&clearTimeout(c),c=setTimeout((function(){c=null}),n[d-1]||600),1==d&&(s=e.clientX,l=e.clientY)}if(e._clicks=d,r[i]("mousedown",e),d>4)d=0;else if(d>1)return r[i](m[d],e)}Array.isArray(e)||(e=[e]),e.forEach((function(e){u(e,"mousedown",p,a)}))};var m=function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)};function p(e,t,n){var r=m(t);if(!o.isMac&&a){if(t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(r|=8),a.altGr){if(3==(3&r))return;a.altGr=0}if(18===n||17===n){var l="location"in t?t.location:t.keyLocation;if(17===n&&1===l)1==a[n]&&(s=t.timeStamp);else if(18===n&&3===r&&2===l){t.timeStamp-s<50&&(a.altGr=!0)}}}if((n in i.MODIFIER_KEYS&&(n=-1),!r&&13===n)&&(3===(l="location"in t?t.location:t.keyLocation)&&(e(t,r,-n),t.defaultPrevented)))return;if(o.isChromeOS&&8&r){if(e(t,r,n),t.defaultPrevented)return;r&=-9}return!!(r||n in i.FUNCTION_KEYS||n in i.PRINTABLE_KEYS)&&e(t,r,n)}function h(){a=Object.create(null)}if(t.getModifierString=function(e){return i.KEY_MODS[m(e)]},t.addCommandKeyListener=function(e,n,r){if(o.isOldGecko||o.isOpera&&!("KeyboardEvent"in window)){var i=null;u(e,"keydown",(function(e){i=e.keyCode}),r),u(e,"keypress",(function(e){return p(n,e,i)}),r)}else{var s=null;u(e,"keydown",(function(e){a[e.keyCode]=(a[e.keyCode]||0)+1;var t=p(n,e,e.keyCode);return s=e.defaultPrevented,t}),r),u(e,"keypress",(function(e){s&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),s=null)}),r),u(e,"keyup",(function(e){a[e.keyCode]=null}),r),a||(h(),u(window,"focus",h))}},"object"==typeof window&&window.postMessage&&!o.isOldIE){var f=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+f++,i=function(o){o.data==r&&(t.stopPropagation(o),d(n,"message",i),e())};u(n,"message",i),n.postMessage(r,"*")}}t.$idleBlocked=!1,t.onIdle=function(e,n){return setTimeout((function n(){t.$idleBlocked?setTimeout(n,100):e()}),n)},t.$idleBlockId=null,t.blockIdle=function(e){t.$idleBlockId&&clearTimeout(t.$idleBlockId),t.$idleBlocked=!0,t.$idleBlockId=setTimeout((function(){t.$idleBlocked=!1}),e||100)},t.nextFrame="object"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}})),ace.define("ace/range",["require","exports","module"],(function(e,t,n){"use strict";var r=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return 0==this.compare(e,t)},this.compareRange=function(e){var t,n=e.end,r=e.start;return 1==(t=this.compare(n.row,n.column))?1==(t=this.compare(r.row,r.column))?2:0==t?1:0:-1==t?-2:-1==(t=this.compare(r.row,r.column))?-1:1==t?42:0},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},this.intersects=function(e){var t=this.compareRange(e);return-1==t||0==t||1==t},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){"object"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){"object"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return 0==this.compare(e,t)&&(!this.isEnd(e,t)&&!this.isStart(e,t))},this.insideStart=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)},this.insideEnd=function(e,t){return 0==this.compare(e,t)&&!this.isStart(e,t)},this.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0:t<this.start.column?-1:t>this.end.column?1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)n={row:e,column:0};if(this.start.row>t)var i={row:t+1,column:0};else if(this.start.row<e)i={row:e,column:0};return r.fromPoints(i||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(0==n)return this;if(-1==n)var i={row:e,column:t};else var o={row:e,column:t};return r.fromPoints(i||this.start,o||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return r.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new r(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new r(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new r(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(r.prototype),r.fromPoints=function(e,t){return new r(e.row,e.column,t.row,t.column)},r.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},r.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=r})),ace.define("ace/lib/lang",["require","exports","module"],(function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){for(var n="";t>0;)1&t&&(n+=e),(t>>=1)&&(e+=e);return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){for(var t=[],n=0,r=e.length;n<r;n++)e[n]&&"object"==typeof e[n]?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function e(t){if("object"!=typeof t||!t)return t;var n;if(Array.isArray(t)){n=[];for(var r=0;r<t.length;r++)n[r]=e(t[r]);return n}if("[object Object]"!==Object.prototype.toString.call(t))return t;for(var r in n={},t)n[r]=e(t[r]);return n},t.arrayToMap=function(e){for(var t={},n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return(""+e).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,(function(e){n.push({offset:arguments[arguments.length-2],length:e.length})})),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){null==n&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}})),ace.define("ace/clipboard",["require","exports","module"],(function(e,t,n){"use strict";var r;n.exports={lineMode:!1,pasteCancelled:function(){return!!(r&&r>Date.now()-50)||(r=!1)},cancel:function(){r=Date.now()}}})),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],(function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),o=e("../lib/dom"),a=e("../lib/lang"),s=e("../clipboard"),l=i.isChrome<18,c=i.isIE,u=i.isChrome>63,d=e("../lib/keys"),m=d.KEY_MODS,p=i.isIOS,h=p?/\s/:/\n/,f=i.isMobile;t.TextInput=function(e,t){var n=o.createElement("textarea");n.className="ace_text-input",n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck",!1),n.style.opacity="0",e.insertBefore(n,e.firstChild);var _=!1,g=!1,b=!1,y=!1,v="";f||(n.style.fontSize="1px");var w=!1,x=!1,k="",O=0,j=0,E=0;try{var S=document.activeElement===n}catch(e){}r.addListener(n,"blur",(function(e){x||(t.onBlur(e),S=!1)}),t),r.addListener(n,"focus",(function(e){if(!x){if(S=!0,i.isEdge)try{if(!document.hasFocus())return}catch(e){}t.onFocus(e),i.isEdge?setTimeout(C):C()}}),t),this.$focusScroll=!1,this.focus=function(){if(v||u||"browser"==this.$focusScroll)return n.focus({preventScroll:!0});var e=n.style.top;n.style.position="fixed",n.style.top="0px";try{var t=0!=n.getBoundingClientRect().top}catch(e){return}var r=[];if(t)for(var i=n.parentElement;i&&1==i.nodeType;)r.push(i),i.setAttribute("ace_nocontext",!0),i=!i.parentElement&&i.getRootNode?i.getRootNode().host:i.parentElement;n.focus({preventScroll:!0}),t&&r.forEach((function(e){e.removeAttribute("ace_nocontext")})),setTimeout((function(){n.style.position="","0px"==n.style.top&&(n.style.top=e)}),0)},this.blur=function(){n.blur()},this.isFocused=function(){return S},t.on("beforeEndOperation",(function(){var e=t.curOp,r=e&&e.command&&e.command.name;if("insertstring"!=r){var i=r&&(e.docChanged||e.selectionChanged);b&&i&&(k=n.value="",q()),C()}}));var C=p?function(e){if(S&&(!_||e)&&!y){e||(e="");var r="\n ab"+e+"cde fg\n";r!=n.value&&(n.value=k=r);var i=4+(e.length||(t.selection.isEmpty()?0:1));4==O&&j==i||n.setSelectionRange(4,i),O=4,j=i}}:function(){if(!b&&!y&&(S||T)){b=!0;var e=0,r=0,i="";if(t.session){var o=t.selection,a=o.getRange(),s=o.cursor.row;if(e=a.start.column,r=a.end.column,i=t.session.getLine(s),a.start.row!=s){var l=t.session.getLine(s-1);e=a.start.row<s-1?0:e,r+=l.length+1,i=l+"\n"+i}else if(a.end.row!=s){var c=t.session.getLine(s+1);r=a.end.row>s+1?c.length:r,r+=i.length+1,i=i+"\n"+c}else f&&s>0&&(i="\n"+i,r+=1,e+=1);i.length>400&&(e<400&&r<400?i=i.slice(0,400):(i="\n",e==r?e=r=0:(e=0,r=1)))}var u=i+"\n\n";if(u!=k&&(n.value=k=u,O=j=u.length),T&&(O=n.selectionStart,j=n.selectionEnd),j!=r||O!=e||n.selectionEnd!=j)try{n.setSelectionRange(e,r),O=e,j=r}catch(e){}b=!1}};this.resetSelection=C,S&&t.onFocus();var R=null;this.setInputHandler=function(e){R=e},this.getInputHandler=function(){return R};var T=!1,L=function(e,r){if(T&&(T=!1),g)return C(),e&&t.onPaste(e),g=!1,"";for(var o=n.selectionStart,a=n.selectionEnd,s=O,l=k.length-j,c=e,u=e.length-o,d=e.length-a,m=0;s>0&&k[m]==e[m];)m++,s--;for(c=c.slice(m),m=1;l>0&&k.length-m>O-1&&k[k.length-m]==e[e.length-m];)m++,l--;u-=m-1,d-=m-1;var p=c.length-m+1;if(p<0&&(s=-p,p=0),c=c.slice(0,p),!(r||c||u||s||l||d))return"";y=!0;var h=!1;return i.isAndroid&&". "==c&&(c=" ",h=!0),c&&!s&&!l&&!u&&!d||w?t.onTextInput(c):t.onTextInput(c,{extendLeft:s,extendRight:l,restoreStart:u,restoreEnd:d}),y=!1,k=e,O=o,j=a,E=d,h?"\n":c},A=function(e){if(b)return D();if(e&&e.inputType){if("historyUndo"==e.inputType)return t.execCommand("undo");if("historyRedo"==e.inputType)return t.execCommand("redo")}var r=n.value,i=L(r,!0);(r.length>500||h.test(i)||f&&O<1&&O==j)&&C()},M=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(r&&!l){var i=c||n?"Text":"text/plain";try{return t?!1!==r.setData(i,t):r.getData(i)}catch(e){if(!n)return M(e,t,!0)}}},$=function(e,i){var o=t.getCopyText();if(!o)return r.preventDefault(e);M(e,o)?(p&&(C(o),_=o,setTimeout((function(){_=!1}),10)),i?t.onCut():t.onCopy(),r.preventDefault(e)):(_=!0,n.value=o,n.select(),setTimeout((function(){_=!1,C(),i?t.onCut():t.onCopy()})))},N=function(e){$(e,!0)},P=function(e){$(e,!1)},I=function(e){var o=M(e);s.pasteCancelled()||("string"==typeof o?(o&&t.onPaste(o,e),i.isIE&&setTimeout(C),r.preventDefault(e)):(n.value="",g=!0))};r.addCommandKeyListener(n,t.onCommandKey.bind(t),t),r.addListener(n,"select",(function(e){b||(_?_=!1:!function(e){return 0===e.selectionStart&&e.selectionEnd>=k.length&&e.value===k&&k&&e.selectionEnd!==j}(n)?f&&n.selectionStart!=O&&C():(t.selectAll(),C()))}),t),r.addListener(n,"input",A,t),r.addListener(n,"cut",N,t),r.addListener(n,"copy",P,t),r.addListener(n,"paste",I,t),"oncut"in n&&"oncopy"in n&&"onpaste"in n||r.addListener(e,"keydown",(function(e){if((!i.isMac||e.metaKey)&&e.ctrlKey)switch(e.keyCode){case 67:P(e);break;case 86:I(e);break;case 88:N(e)}}),t);var D=function(){if(b&&t.onCompositionUpdate&&!t.$readOnly){if(w)return z();if(b.useTextareaForIME)t.onCompositionUpdate(n.value);else{var e=n.value;L(e),b.markerRange&&(b.context&&(b.markerRange.start.column=b.selectionStart=b.context.compositionStartOffset),b.markerRange.end.column=b.markerRange.start.column+j-b.selectionStart+E)}}},q=function(e){t.onCompositionEnd&&!t.$readOnly&&(b=!1,t.onCompositionEnd(),t.off("mousedown",z),e&&A())};function z(){x=!0,n.blur(),n.focus(),x=!1}var F,U=a.delayedCall(D,50).schedule.bind(null,null);function H(){clearTimeout(F),F=setTimeout((function(){v&&(n.style.cssText=v,v=""),t.renderer.$isMousePressed=!1,t.renderer.$keepTextAreaAtCursor&&t.renderer.$moveTextAreaToCursor()}),0)}r.addListener(n,"compositionstart",(function(e){if(!b&&t.onCompositionStart&&!t.$readOnly&&(b={},!w)){e.data&&(b.useTextareaForIME=!1),setTimeout(D,0),t._signal("compositionStart"),t.on("mousedown",z);var r=t.getSelectionRange();r.end.row=r.start.row,r.end.column=r.start.column,b.markerRange=r,b.selectionStart=O,t.onCompositionStart(b),b.useTextareaForIME?(k=n.value="",O=0,j=0):(n.msGetInputContext&&(b.context=n.msGetInputContext()),n.getInputContext&&(b.context=n.getInputContext()))}}),t),r.addListener(n,"compositionupdate",D,t),r.addListener(n,"keyup",(function(e){27==e.keyCode&&n.value.length<n.selectionStart&&(b||(k=n.value),O=j=-1,C()),U()}),t),r.addListener(n,"keydown",U,t),r.addListener(n,"compositionend",q,t),this.getElement=function(){return n},this.setCommandMode=function(e){w=e,n.readOnly=!1},this.setReadOnly=function(e){w||(n.readOnly=e)},this.setCopyWithEmptySelection=function(e){},this.onContextMenu=function(e){T=!0,C(),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,a){v||(v=n.style.cssText),n.style.cssText=(a?"z-index:100000;":"")+(i.isIE?"opacity:0.1;":"")+"text-indent: -"+(O+j)*t.renderer.characterWidth*.5+"px;";var s=t.container.getBoundingClientRect(),l=o.computedStyle(t.container),c=s.top+(parseInt(l.borderTopWidth)||0),u=s.left+(parseInt(s.borderLeftWidth)||0),d=s.bottom-c-n.clientHeight-2,m=function(e){o.translate(n,e.clientX-u-2,Math.min(e.clientY-c-2,d))};m(e),"mousedown"==e.type&&(t.renderer.$isMousePressed=!0,clearTimeout(F),i.isWin&&r.capture(t.container,m,H))},this.onContextMenuClose=H;var B=function(e){t.textInput.onContextMenu(e),H()};r.addListener(n,"mouseup",B,t),r.addListener(n,"mousedown",(function(e){e.preventDefault(),H()}),t),r.addListener(t.renderer.scroller,"contextmenu",B,t),r.addListener(n,"contextmenu",B,t),p&&function(e,t,n){var r=null,i=!1;n.addEventListener("keydown",(function(e){r&&clearTimeout(r),i=!0}),!0),n.addEventListener("keyup",(function(e){r=setTimeout((function(){i=!1}),100)}),!0);var o=function(e){if(document.activeElement===n&&!(i||b||t.$mouseHandler.isMousePressed||_)){var r=n.selectionStart,o=n.selectionEnd,a=null,s=0;if(0==r?a=d.up:1==r?a=d.home:o>j&&"\n"==k[o]?a=d.end:r<O&&" "==k[r-1]?(a=d.left,s=m.option):r<O||r==O&&j!=O&&r==o?a=d.left:o>j&&k.slice(0,o).split("\n").length>2?a=d.down:o>j&&" "==k[o-1]?(a=d.right,s=m.option):(o>j||o==j&&j!=O&&r==o)&&(a=d.right),r!==o&&(s|=m.shift),a){if(!t.onCommandKey({},s,a)&&t.commands){a=d.keyCodeToString(a);var l=t.commands.findKeyCommand(s,a);l&&t.execCommand(l)}O=r,j=o,C("")}}};document.addEventListener("selectionchange",o),t.on("destroy",(function(){document.removeEventListener("selectionchange",o)}))}(0,t,n)},t.$setUserAgentForTests=function(e,t){f=e,p=t}})),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],(function(e,t,n){"use strict";var r=e("../lib/useragent");function i(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e));["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"].forEach((function(t){e[t]=this[t]}),this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function o(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row!=e.end.row-1||e.start.column||e.end.column)n=2*t.row-e.start.row-e.end.row;else var n=t.column-4;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var i=this.editor,o=e.getButton();return 0!==o?((i.getSelectionRange().isEmpty()||1==o)&&i.selection.moveToPosition(n),void(2==o&&(i.textInput.onContextMenu(e.domEvent),r.isMozilla||e.preventDefault()))):(this.mousedownEvent.time=Date.now(),!t||i.isFocused()||(i.focus(),!this.$focusTimeout||this.$clickSelection||i.inMultiSelectMode)?(this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()):(this.setState("focusWait"),void this.captureMouse(e)))},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select"))},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(-1==r)e=this.$clickSelection.end;else if(1==r)e=this.$clickSelection.start;else{var i=o(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);if(this.$clickSelection){var a=this.$clickSelection.comparePoint(i.start),s=this.$clickSelection.comparePoint(i.end);if(-1==a&&s<=0)t=this.$clickSelection.end,i.end.row==r.row&&i.end.column==r.column||(r=i.start);else if(1==s&&a>=0)t=this.$clickSelection.start,i.start.row==r.row&&i.start.column==r.column||(r=i.end);else if(-1==a&&1==s)r=i.end,t=i.start;else{var l=o(this.$clickSelection,r);r=l.cursor,t=l.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e,t,n,r,i=(e=this.mousedownEvent.x,t=this.mousedownEvent.y,n=this.x,r=this.y,Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))),o=Date.now();(i>0||o-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session.getBracketRange(t);r?(r.isEmpty()&&(r.start.column--,r.end.column++),this.setState("select")):(r=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=r,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(!e.getAccelKey()){e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var n=this.$lastScroll,r=e.domEvent.timeStamp,i=r-n.t,o=i?e.wheelX/i:n.vx,a=i?e.wheelY/i:n.vy;i<550&&(o=(o+n.vx)/2,a=(a+n.vy)/2);var s=Math.abs(o/a),l=!1;if(s>=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(l=!0),s<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(l=!0),l)n.allowed=r;else if(r-n.allowed<550){Math.abs(o)<=1.5*Math.abs(n.vx)&&Math.abs(a)<=1.5*Math.abs(n.vy)?(l=!0,n.allowed=r):n.allowed=0}return n.t=r,n.vx=o,n.vy=a,l?(t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}}}).call(i.prototype),t.DefaultHandlers=i})),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],(function(e,t,n){"use strict";e("./lib/oop");var r=e("./lib/dom");function i(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}(function(){this.$init=function(){return this.$element=r.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){this.getElement().textContent=e},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){r.addCssClass(this.getElement(),e)},this.show=function(e,t,n){null!=e&&this.setText(e),null!=t&&null!=n&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(i.prototype),t.Tooltip=i})),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],(function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),o=e("../lib/event"),a=e("../tooltip").Tooltip;function s(e){a.call(this,e)}i.inherits(s,a),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),o=this.getHeight();(e+=15)+i>n&&(e-=e+i-n),(t+=15)+o>r&&(t-=20+o),a.prototype.setPosition.call(this,e,t)}}.call(s.prototype),t.GutterHandler=function(e){var t,n,i,a=e.editor,l=a.renderer.$gutterLayer,c=new s(a.container);function u(){t&&(t=clearTimeout(t)),i&&(c.hide(),i=null,a._signal("hideGutterTooltip",c),a.off("mousewheel",u))}function d(e){c.setPosition(e.x,e.y)}e.editor.setDefaultHandler("guttermousedown",(function(t){if(a.isFocused()&&0==t.getButton()&&"foldWidgets"!=l.getRegion(t)){var n=t.getDocumentPosition().row,r=a.session.selection;if(t.getShiftKey())r.selectTo(n,0);else{if(2==t.domEvent.detail)return a.selectAll(),t.preventDefault();e.$clickSelection=a.selection.getLineRange(n)}return e.setState("selectByLines"),e.captureMouse(t),t.preventDefault()}})),e.editor.setDefaultHandler("guttermousemove",(function(o){var s=o.domEvent.target||o.domEvent.srcElement;if(r.hasCssClass(s,"ace_fold-widget"))return u();i&&e.$tooltipFollowsMouse&&d(o),n=o,t||(t=setTimeout((function(){t=null,n&&!e.isMousePressed?function(){var t=n.getDocumentPosition().row,r=l.$annotations[t];if(!r)return u();if(t==a.session.getLength()){var o=a.renderer.pixelToScreenCoordinates(0,n.y).row,s=n.$pos;if(o>a.session.documentToScreenRow(s.row,s.column))return u()}if(i!=r)if(i=r.text.join("<br/>"),c.setHtml(i),c.show(),a._signal("showGutterTooltip",c),a.on("mousewheel",u),e.$tooltipFollowsMouse)d(n);else{var m=n.domEvent.target.getBoundingClientRect(),p=c.getElement().style;p.left=m.right+"px",p.top=m.bottom+"px"}}():u()}),50))})),o.addListener(a.renderer.$gutter,"mouseout",(function(e){n=null,i&&!t&&(t=setTimeout((function(){t=null,u()}),50))}),a),a.on("changeSession",u)}})),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],(function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),o=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos||(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY)),this.$pos},this.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var e=this.editor.getSelectionRange();if(e.isEmpty())this.$inSelection=!1;else{var t=this.getDocumentPosition();this.$inSelection=e.contains(t.row,t.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(o.prototype)})),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],(function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/event"),o=e("../lib/useragent");function a(e){var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",o.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"].forEach((function(t){e[t]=this[t]}),this),t.on("mousedown",this.onMouseDown.bind(e));var a,l,c,u,d,m,p,h,f,_,g,b=t.container,y=0;function v(){var e=m;(function(e,n){var r=Date.now(),i=!n||e.row!=n.row,o=!n||e.column!=n.column;!_||i||o?(t.moveCursorToPosition(e),_=r,g={x:l,y:c}):s(g.x,g.y,l,c)>5?_=null:r-_>=200&&(t.renderer.scrollCursorIntoView(),_=null)})(m=t.renderer.screenToTextCoordinates(l,c),e),function(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,o=t.renderer.layerConfig.characterWidth,a=t.renderer.scroller.getBoundingClientRect(),s={x:{left:l-a.left,right:a.right-l},y:{top:c-a.top,bottom:a.bottom-c}},u=Math.min(s.x.left,s.x.right),d=Math.min(s.y.top,s.y.bottom),m={row:e.row,column:e.column};u/o<=2&&(m.column+=s.x.left<s.x.right?-3:2),d/i<=1&&(m.row+=s.y.top<s.y.bottom?-1:1);var p=e.row!=m.row,h=e.column!=m.column,_=!n||e.row!=n.row;p||h&&!_?f?r-f>=200&&t.renderer.scrollCursorIntoView(m):f=r:f=null}(m,e)}function w(){d=t.selection.toOrientedRange(),a=t.session.addMarker(d,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(u),v(),u=setInterval(v,20),y=0,i.addListener(document,"mousemove",O)}function x(){clearInterval(u),t.session.removeMarker(a),a=null,t.selection.fromOrientedRange(d),t.isFocused()&&!h&&t.$resetCursorStyle(),d=null,m=null,y=0,f=null,_=null,i.removeListener(document,"mousemove",O)}this.onDragStart=function(e){if(this.cancelDrag||!b.draggable){var r=this;return setTimeout((function(){r.startSelect(),r.captureMouse(e)}),0),e.preventDefault()}d=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",o.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),o.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),h=!0,this.setState("drag")},this.onDragEnd=function(e){if(b.draggable=!1,h=!1,this.setState(null),!t.getReadOnly()){var n=e.dataTransfer.dropEffect;p||"move"!=n||t.session.remove(t.getSelectionRange()),t.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(!t.getReadOnly()&&j(e.dataTransfer))return l=e.clientX,c=e.clientY,a||w(),y++,e.dataTransfer.dropEffect=p=E(e),i.preventDefault(e)},this.onDragOver=function(e){if(!t.getReadOnly()&&j(e.dataTransfer))return l=e.clientX,c=e.clientY,a||(w(),y++),null!==k&&(k=null),e.dataTransfer.dropEffect=p=E(e),i.preventDefault(e)},this.onDragLeave=function(e){if(--y<=0&&a)return x(),p=null,i.preventDefault(e)},this.onDrop=function(e){if(m){var n=e.dataTransfer;if(h)switch(p){case"move":d=d.contains(m.row,m.column)?{start:m,end:m}:t.moveText(d,m);break;case"copy":d=t.moveText(d,m,!0)}else{var r=n.getData("Text");d={start:m,end:t.session.insert(m,r)},t.focus(),p=null}return x(),i.preventDefault(e)}},i.addListener(b,"dragstart",this.onDragStart.bind(e),t),i.addListener(b,"dragend",this.onDragEnd.bind(e),t),i.addListener(b,"dragenter",this.onDragEnter.bind(e),t),i.addListener(b,"dragover",this.onDragOver.bind(e),t),i.addListener(b,"dragleave",this.onDragLeave.bind(e),t),i.addListener(b,"drop",this.onDrop.bind(e),t);var k=null;function O(){null==k&&(k=setTimeout((function(){null!=k&&a&&x()}),20))}function j(e){var t=e.types;return!t||Array.prototype.some.call(t,(function(e){return"text/plain"==e||"Text"==e}))}function E(e){var t=["copy","copymove","all","uninitialized"],n=o.isMac?e.altKey:e.ctrlKey,r="uninitialized";try{r=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var i="none";return n&&t.indexOf(r)>=0?i="copy":["move","copymove","linkmove","all","uninitialized"].indexOf(r)>=0?i="move":t.indexOf(r)>=0&&(i="copy"),i}}function s(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}(function(){this.dragWait=function(){Date.now()-this.mousedownEvent.time>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor;e.container.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var t=o.isWin?"default":"move";e.renderer.setCursorStyle(t),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;o.isIE&&"dragReady"==this.state&&(s(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>3&&t.dragDrop());"dragWait"===this.state&&(s(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition())))},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton();if(1===(e.domEvent.detail||1)&&0===r&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var i=e.domEvent.target||e.domEvent.srcElement;if("unselectable"in i&&(i.unselectable="on"),t.getDragDelay()){if(o.isWebKit)this.cancelDrag=!0,t.container.draggable=!0;this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(a.prototype),t.DragdropHandler=a})),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],(function(e,t,n){"use strict";var r=e("./mouse_event").MouseEvent,i=e("../lib/event"),o=e("../lib/dom");t.addTouchListeners=function(e,t){var n,a,s,l,c,u,d,m,p,h="scroll",f=0,_=0,g=0,b=0;function y(){var e=window.navigator&&window.navigator.clipboard,n=!1,r=function(r){var i,a,s=r.target.getAttribute("action");if("more"==s||!n)return n=!n,i=t.getCopyText(),a=t.session.getUndoManager().hasUndo(),void p.replaceChild(o.buildDom(n?["span",!i&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],i&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],i&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],e&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],a&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],["span",{class:"ace_mobile-button",action:"find"},"Find"],["span",{class:"ace_mobile-button",action:"openCommandPallete"},"Pallete"]]:["span"]),p.firstChild);"paste"==s?e.readText().then((function(e){t.execCommand(s,e)})):s&&("cut"!=s&&"copy"!=s||(e?e.writeText(t.getCopyText()):document.execCommand("copy")),t.execCommand(s)),p.firstChild.style.display="none",n=!1,"openCommandPallete"!=s&&t.focus()};p=o.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(e){h="menu",e.stopPropagation(),e.preventDefault(),t.textInput.focus()},ontouchend:function(e){e.stopPropagation(),e.preventDefault(),r(e)},onclick:r},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],t.container)}function v(){p||y();var e=t.selection.cursor,n=t.renderer.textToScreenCoordinates(e.row,e.column),r=t.renderer.textToScreenCoordinates(0,0).pageX,i=t.renderer.scrollLeft,o=t.container.getBoundingClientRect();p.style.top=n.pageY-o.top-3+"px",n.pageX-o.left<o.width-70?(p.style.left="",p.style.right="10px"):(p.style.right="",p.style.left=r+i-o.left+"px"),p.style.display="",p.firstChild.style.display="none",t.on("input",w)}function w(e){p&&(p.style.display="none"),t.off("input",w)}function x(){c=null,clearTimeout(c);var e=t.selection.getRange(),n=e.contains(d.row,d.column);!e.isEmpty()&&n||(t.selection.moveToPosition(d),t.selection.selectWord()),h="wait",v()}i.addListener(e,"contextmenu",(function(e){m&&t.textInput.getElement().focus()}),t),i.addListener(e,"touchstart",(function(e){var i=e.touches;if(c||i.length>1)return clearTimeout(c),c=null,s=-1,void(h="zoom");m=t.$mouseHandler.isMousePressed=!0;var o=t.renderer.layerConfig.lineHeight,u=t.renderer.layerConfig.lineHeight,p=e.timeStamp;l=p;var y=i[0],v=y.clientX,w=y.clientY;Math.abs(n-v)+Math.abs(a-w)>o&&(s=-1),n=e.clientX=v,a=e.clientY=w,g=b=0;var k=new r(e,t);if(d=k.getDocumentPosition(),p-s<500&&1==i.length&&!f)_++,e.preventDefault(),e.button=0,function(){c=null,clearTimeout(c),t.selection.moveToPosition(d);var e=_>=2?t.selection.getLineRange(d.row):t.session.getBracketRange(d);e&&!e.isEmpty()?t.selection.setRange(e):t.selection.selectWord(),h="wait"}();else{_=0;var O=t.selection.cursor,j=t.selection.isEmpty()?O:t.selection.anchor,E=t.renderer.$cursorLayer.getPixelPosition(O,!0),S=t.renderer.$cursorLayer.getPixelPosition(j,!0),C=t.renderer.scroller.getBoundingClientRect(),R=t.renderer.layerConfig.offset,T=t.renderer.scrollLeft,L=function(e,t){return(e/=u)*e+(t=t/o-.75)*t};if(e.clientX<C.left)return void(h="zoom");var A=L(e.clientX-C.left-E.left+T,e.clientY-C.top-E.top+R),M=L(e.clientX-C.left-S.left+T,e.clientY-C.top-S.top+R);A<3.5&&M<3.5&&(h=A>M?"cursor":"anchor"),h=M<3.5?"anchor":A<3.5?"cursor":"scroll",c=setTimeout(x,450)}s=p}),t),i.addListener(e,"touchend",(function(e){m=t.$mouseHandler.isMousePressed=!1,u&&clearInterval(u),"zoom"==h?(h="",f=0):c?(t.selection.moveToPosition(d),f=0,v()):"scroll"==h?(f+=60,u=setInterval((function(){f--<=0&&(clearInterval(u),u=null),Math.abs(g)<.01&&(g=0),Math.abs(b)<.01&&(b=0),f<20&&(g*=.9),f<20&&(b*=.9);var e=t.session.getScrollTop();t.renderer.scrollBy(10*g,10*b),e==t.session.getScrollTop()&&(f=0)}),10),w()):v(),clearTimeout(c),c=null}),t),i.addListener(e,"touchmove",(function(e){c&&(clearTimeout(c),c=null);var i=e.touches;if(!(i.length>1||"zoom"==h)){var o=i[0],s=n-o.clientX,u=a-o.clientY;if("wait"==h){if(!(s*s+u*u>4))return e.preventDefault();h="cursor"}n=o.clientX,a=o.clientY,e.clientX=o.clientX,e.clientY=o.clientY;var d=e.timeStamp,m=d-l;if(l=d,"scroll"==h){var p=new r(e,t);p.speed=1,p.wheelX=s,p.wheelY=u,10*Math.abs(s)<Math.abs(u)&&(s=0),10*Math.abs(u)<Math.abs(s)&&(u=0),0!=m&&(g=s/m,b=u/m),t._emit("mousewheel",p),p.propagationStopped||(g=b=0)}else{var f=new r(e,t).getDocumentPosition();"cursor"==h?t.selection.moveCursorToPosition(f):"anchor"==h&&t.selection.setSelectionAnchor(f.row,f.column),t.renderer.scrollCursorIntoView(f),e.preventDefault()}}}),t)}})),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],(function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){4===n.readyState&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){!n&&i.readyState&&"loaded"!=i.readyState&&"complete"!=i.readyState||(i=i.onload=i.onreadystatechange=null,n||t())}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}})),ace.define("ace/lib/event_emitter",["require","exports","module"],(function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},o=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(n.length||r){"object"==typeof t&&t||(t={}),t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=o),n=n.slice();for(var a=0;a<n.length&&(n[a](t,this),!t.propagationStopped);a++);return r&&!t.defaultPrevented?r(t,this):void 0}},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(n){n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)}},r.once=function(e,t){var n=this;if(this.on(e,(function r(){n.off(e,r),t.apply(null,arguments)})),!t)return new Promise((function(e){t=e}))},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;if(n||(n=this._defaultHandlers={_disabled_:{}}),n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var o=i.indexOf(t);-1!=o&&i.splice(o,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(n){var r=n._disabled_[e];if(n[e]==t)r&&this.setDefaultHandler(e,r.pop());else if(r){var i=r.indexOf(t);-1!=i&&r.splice(i,1)}}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),-1==r.indexOf(t)&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(n){var r=n.indexOf(t);-1!==r&&n.splice(r,1)}},r.removeAllListeners=function(e){e||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[e]=void 0),this._defaultHandlers&&(this._defaultHandlers[e]=void 0)},t.EventEmitter=r})),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],(function(e,t,n){var r=e("./oop"),i=e("./event_emitter").EventEmitter,o={setOptions:function(e){Object.keys(e).forEach((function(t){this.setOption(t,e[t])}),this)},getOptions:function(e){var t={};if(e)Array.isArray(e)||(t=e,e=Object.keys(t));else{var n=this.$options;e=Object.keys(n).filter((function(e){return!n[e].hidden}))}return e.forEach((function(e){t[e]=this.getOption(e)}),this),t},setOption:function(e,t){if(this["$"+e]!==t){var n=this.$options[e];if(!n)return a('misspelled option "'+e+'"');if(n.forwardTo)return this[n.forwardTo]&&this[n.forwardTo].setOption(e,t);n.handlesSet||(this["$"+e]=t),n&&n.set&&n.set.call(this,t)}},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:a('misspelled option "'+e+'"')}};function a(e){"undefined"!=typeof console&&console.warn&&console.warn.apply(console,arguments)}function s(e,t){var n=new Error(e);n.data=t,"object"==typeof console&&console.error&&console.error(n),setTimeout((function(){throw n}))}var l=function(){this.$defaultOptions={}};(function(){r.implement(this,i),this.defineOptions=function(e,t,n){return e.$options||(this.$defaultOptions[t]=e.$options={}),Object.keys(n).forEach((function(t){var r=n[t];"string"==typeof r&&(r={forwardTo:r}),r.name||(r.name=t),e.$options[r.name]=r,"initialValue"in r&&(e["$"+r.name]=r.initialValue)})),r.implement(e,o),this},this.resetOptions=function(e){Object.keys(e.$options).forEach((function(t){var n=e.$options[t];"value"in n&&e.setOption(t,n.value)}))},this.setDefaultValue=function(e,t,n){if(!e){for(e in this.$defaultOptions)if(this.$defaultOptions[e][t])break;if(!this.$defaultOptions[e][t])return!1}var r=this.$defaultOptions[e]||(this.$defaultOptions[e]={});r[t]&&(r.forwardTo?this.setDefaultValue(r.forwardTo,t,n):r[t].value=n)},this.setDefaultValues=function(e,t){Object.keys(t).forEach((function(n){this.setDefaultValue(e,n,t[n])}),this)},this.warn=a,this.reportError=s}).call(l.prototype),t.AppConfig=l})),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"],(function(e,t,r){var i=e("./lib/lang"),o=(e("./lib/oop"),e("./lib/net")),a=e("./lib/app_config").AppConfig;r.exports=t=new a;var s=function(){return this||"undefined"!=typeof window&&window}(),l={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1};t.get=function(e){if(!l.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return l[e]},t.set=function(e,t){if(l.hasOwnProperty(e))l[e]=t;else if(0==this.setDefaultValue("",e,t))throw new Error("Unknown config key: "+e)},t.all=function(){return i.copyObject(l)},t.$modes={},t.moduleUrl=function(e,t){if(l.$moduleUrls[e])return l.$moduleUrls[e];var n=e.split("/"),r="snippets"==(t=t||n[n.length-2]||"")?"/":"-",i=n[n.length-1];if("worker"==t&&"-"==r){var o=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");i=i.replace(o,"")}(!i||i==t)&&n.length>1&&(i=n[n.length-2]);var a=l[t+"Path"];return null==a?a=l.basePath:"/"==r&&(t=r=""),a&&"/"!=a.slice(-1)&&(a+="/"),a+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return l.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,a;Array.isArray(n)&&(a=n[0],n=n[1]);try{i=e(n)}catch(e){}if(i&&!t.$loading[n])return r&&r(i);if(t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r),!(t.$loading[n].length>1)){var s=function(){e([n],(function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach((function(t){t&&t(e)}))}))};if(!t.get("packaged"))return s();o.loadScript(t.moduleUrl(n,a),s),c()}};var c=function(){l.basePath||l.workerPath||l.modePath||l.themePath||Object.keys(l.$moduleUrls).length||(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),c=function(){})};function u(i){if(s&&s.document){l.packaged=i||e.packaged||r.packaged||s.define&&n(42).packaged;for(var o,a={},c="",u=document.currentScript||document._currentScript,d=(u&&u.ownerDocument||document).getElementsByTagName("script"),m=0;m<d.length;m++){var p=d[m],h=p.src||p.getAttribute("src");if(h){for(var f=p.attributes,_=0,g=f.length;_<g;_++){var b=f[_];0===b.name.indexOf("data-ace-")&&(a[(o=b.name.replace(/^data-ace-/,""),o.replace(/-(.)/g,(function(e,t){return t.toUpperCase()})))]=b.value)}var y=h.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);y&&(c=y[1])}}for(var v in c&&(a.base=a.base||c,a.packaged=!0),a.basePath=a.base,a.workerPath=a.workerPath||a.base,a.modePath=a.modePath||a.base,a.themePath=a.themePath||a.base,delete a.base,a)void 0!==a[v]&&t.set(v,a[v])}}u(!0),t.init=u,t.version="1.4.12"})),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],(function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),o=e("./default_handlers").DefaultHandlers,a=e("./default_gutter_handler").GutterHandler,s=e("./mouse_event").MouseEvent,l=e("./dragdrop_handler").DragdropHandler,c=e("./touch_handler").addTouchListeners,u=e("../config"),d=function(e){var t=this;this.editor=e,new o(this),new a(this),new l(this);var n=function(t){(!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement()))&&window.focus(),e.focus()},s=e.renderer.getMouseEventTarget();r.addListener(s,"click",this.onMouseEvent.bind(this,"click"),e),r.addListener(s,"mousemove",this.onMouseMove.bind(this,"mousemove"),e),r.addMultiMouseDownListener([s,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",e),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel"),e),c(e.container,e);var u=e.renderer.$gutter;r.addListener(u,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),e),r.addListener(u,"click",this.onMouseEvent.bind(this,"gutterclick"),e),r.addListener(u,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),e),r.addListener(u,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),e),r.addListener(s,"mousedown",n,e),r.addListener(u,"mousedown",n,e),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n,e),r.addListener(e.renderer.scrollBarH.element,"mousedown",n,e)),e.on("mousemove",(function(n){if(!t.state&&!t.$dragDelay&&t.$dragEnabled){var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),o=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?o.setCursorStyle("default"):o.setCursorStyle("")}}),e)};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new s(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;n&&n.length&&this.editor._emit(e,new s(t,this.editor))},this.onMouseWheel=function(e,t){var n=new s(t,this.editor);n.speed=2*this.$scrollSpeed,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor,o=this.editor.renderer;o.$isMousePressed=!0;var a=this,l=function(e){if(e){if(i.isWebKit&&!e.which&&a.releaseMouse)return a.releaseMouse();a.x=e.clientX,a.y=e.clientY,t&&t(e),a.mouseEvent=new s(e,a.editor),a.$mouseMoved=!0}},c=function(e){n.off("beforeEndOperation",d),clearInterval(m),u(),a[a.state+"End"]&&a[a.state+"End"](e),a.state="",a.isMousePressed=o.$isMousePressed=!1,o.$keepTextAreaAtCursor&&o.$moveTextAreaToCursor(),a.$onCaptureMouseMove=a.releaseMouse=null,e&&a.onMouseEvent("mouseup",e),n.endOperation()},u=function(){a[a.state]&&a[a.state](),a.$mouseMoved=!1};if(i.isOldIE&&"dblclick"==e.domEvent.type)return setTimeout((function(){c(e)}));var d=function(e){a.releaseMouse&&n.curOp.command.name&&n.curOp.selectionChanged&&(a[a.state+"End"]&&a[a.state+"End"](),a.state="",a.releaseMouse())};n.on("beforeEndOperation",d),n.startOperation({command:{name:"mouse"}}),a.$onCaptureMouseMove=l,a.releaseMouse=r.capture(this.editor.container,l,c);var m=setInterval(u,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){t&&t.domEvent&&"contextmenu"!=t.domEvent.type||(this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent))}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)},this.destroy=function(){this.releaseMouse&&this.releaseMouse()}}).call(d.prototype),u.defineOptions(d.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=d})),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],(function(e,t,n){"use strict";var r=e("../lib/dom");t.FoldHandler=function(e){e.on("click",(function(t){var n=t.getDocumentPosition(),i=e.session,o=i.getFoldAt(n.row,n.column,1);o&&(t.getAccelKey()?i.removeFold(o):i.expandFold(o),t.stop());var a=t.domEvent&&t.domEvent.target;a&&r.hasCssClass(a,"ace_inline_button")&&r.hasCssClass(a,"ace_toggle_wrap")&&(i.setOption("wrap",!i.getUseWrapMode()),e.renderer.scrollCursorIntoView())})),e.on("gutterclick",(function(t){if("foldWidgets"==e.renderer.$gutterLayer.getRegion(t)){var n=t.getDocumentPosition().row,r=e.session;r.foldWidgets&&r.foldWidgets[n]&&e.session.onFoldWidgetClick(n,t),e.isFocused()||e.focus(),t.stop()}})),e.on("gutterdblclick",(function(t){if("foldWidgets"==e.renderer.$gutterLayer.getRegion(t)){var n=t.getDocumentPosition().row,r=e.session,i=r.getParentFoldRangeData(n,!0),o=i.range||i.firstRange;if(o){n=o.start.row;var a=r.getFoldAt(n,r.getLine(n).length,1);a?r.removeFold(a):(r.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}}))}})),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],(function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),o=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]!=e){for(;t[t.length-1]&&t[t.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)}},this.addKeyboardHandler=function(e,t){if(e){"function"!=typeof e||e.handleKeyboard||(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);-1!=n&&this.$handlers.splice(n,1),null==t?this.$handlers.push(e):this.$handlers.splice(t,0,e),-1==n&&e.attach&&e.attach(this.$editor)}},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return-1!=t&&(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map((function(n){return n.getStatusText&&n.getStatusText(t,e)||""})).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){for(var o,a=!1,s=this.$editor.commands,l=this.$handlers.length;l--&&!((o=this.$handlers[l].handleKeyboard(this.$data,e,t,n,r))&&o.command&&((a="null"==o.command||s.exec(o.command,this.$editor,o.args,r))&&r&&-1!=e&&1!=o.passEvent&&1!=o.command.passEvent&&i.stopEvent(r),a)););return a||-1!=e||(o={command:"insertstring"},a=s.exec("insertstring",this.$editor,t)),a&&this.$editor._signal&&this.$editor._signal("keyboardActivity",o),a},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);return this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){return this.$callKeyboardHandlers(-1,e)}}).call(o.prototype),t.KeyBinding=o})),ace.define("ace/lib/bidiutil",["require","exports","module"],(function(e,t,n){"use strict";var r=0,i=0,o=!1,a=!1,s=!1,l=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],c=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],u=[18,18,18,18,18,18,18,18,18,6,5,6,8,5,18,18,18,18,18,18,18,18,18,18,18,18,18,18,5,5,5,6,8,4,4,11,11,11,4,4,4,4,4,10,9,10,9,9,2,2,2,2,2,2,2,2,2,2,9,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,18,18,18,18,18,18,5,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,9,4,11,11,11,11,4,4,4,4,0,4,4,18,4,4,11,11,2,2,4,0,4,4,4,2,0,4,4,4,4,4],d=[8,8,8,8,8,8,8,8,8,8,8,18,18,18,0,1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,5,13,14,15,16,17,9,11,11,11,11,11,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8];function m(e,t,n){if(!(i<e))if(1!=e||1!=r||a)for(var o,s,l,c,u=n.length,d=0;d<u;){if(t[d]>=e){for(o=d+1;o<u&&t[o]>=e;)o++;for(s=d,l=o-1;s<l;s++,l--)c=n[s],n[s]=n[l],n[l]=c;d=o}d++}else n.reverse()}function p(e,t,n,i){var l,c,u,d,m=t[i];switch(m){case 0:case 1:o=!1;case 4:case 3:return m;case 2:return o?3:2;case 7:return o=!0,!0,1;case 8:return 4;case 9:return i<1||i+1>=t.length||2!=(l=n[i-1])&&3!=l||2!=(c=t[i+1])&&3!=c?4:(o&&(c=3),c==l?c:4);case 10:return 2==(l=i>0?n[i-1]:5)&&i+1<t.length&&2==t[i+1]?2:4;case 11:if(i>0&&2==n[i-1])return 2;if(o)return 4;for(d=i+1,u=t.length;d<u&&11==t[d];)d++;return d<u&&2==t[d]?2:4;case 12:for(u=t.length,d=i+1;d<u&&12==t[d];)d++;if(d<u){var p=e[i],h=p>=1425&&p<=2303||64286==p;if(l=t[d],h&&(1==l||7==l))return 1}return i<1||5==(l=t[i-1])?4:n[i-1];case 5:return o=!1,a=!0,r;case 6:return s=!0,4;case 13:case 14:case 16:case 17:case 15:o=!1;case 18:return 4}}function h(e){var t=e.charCodeAt(0),n=t>>8;return 0==n?t>191?0:u[t]:5==n?/[\u0591-\u05f4]/.test(e)?1:0:6==n?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?12:/[\u0660-\u0669\u066b-\u066c]/.test(e)?3:1642==t?11:/[\u06f0-\u06f9]/.test(e)?2:7:32==n&&t<=8287?d[255&t]:254==n&&t>=65136?7:4}t.L=0,t.R=1,t.EN=2,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.RLE=7,t.DOT="·",t.doBidiReorder=function(e,n,u){if(e.length<2)return{};var d=e.split(""),f=new Array(d.length),_=new Array(d.length),g=[];r=u?1:0,function(e,t,n,u){var d=r?c:l,m=null,f=null,_=null,g=0,b=null,y=-1,v=null,w=null,x=[];if(!u)for(v=0,u=[];v<n;v++)u[v]=h(e[v]);for(i=r,o=!1,!1,a=!1,s=!1,w=0;w<n;w++){if(m=g,x[w]=f=p(e,u,x,w),b=240&(g=d[m][f]),g&=15,t[w]=_=d[g][5],b>0)if(16==b){for(v=y;v<w;v++)t[v]=1;y=-1}else y=-1;if(d[g][6])-1==y&&(y=w);else if(y>-1){for(v=y;v<w;v++)t[v]=_;y=-1}5==u[w]&&(t[w]=0),i|=_}if(s)for(v=0;v<n;v++)if(6==u[v]){t[v]=r;for(var k=v-1;k>=0&&8==u[k];k--)t[k]=r}}(d,g,d.length,n);for(var b=0;b<f.length;f[b]=b,b++);m(2,g,f),m(1,g,f);for(b=0;b<f.length-1;b++)3===n[b]?g[b]=t.AN:1===g[b]&&(n[b]>7&&n[b]<13||4===n[b]||18===n[b])?g[b]=t.ON_R:b>0&&"ل"===d[b-1]&&/\u0622|\u0623|\u0625|\u0627/.test(d[b])&&(g[b-1]=g[b]=t.R_H,b++);d[d.length-1]===t.DOT&&(g[d.length-1]=t.B),"‫"===d[0]&&(g[0]=t.RLE);for(b=0;b<f.length;b++)_[b]=g[f[b]];return{logicalFromVisual:f,bidiLevels:_}},t.hasBidiCharacters=function(e,t){for(var n=!1,r=0;r<e.length;r++)t[r]=h(e.charAt(r)),n||1!=t[r]&&7!=t[r]&&3!=t[r]||(n=!0);return n},t.getVisualFromLogicalIdx=function(e,t){for(var n=0;n<t.logicalFromVisual.length;n++)if(t.logicalFromVisual[n]==e)return n;return 0}})),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],(function(e,t,n){"use strict";var r=e("./lib/bidiutil"),i=e("./lib/lang"),o=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,a=function(e){this.session=e,this.bidiMap={},this.currentRow=null,this.bidiUtil=r,this.charWidths=[],this.EOL="¬",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="¶",this.RLE="‫",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=o.test(e.getValue())};(function(){this.isBidiRow=function(e,t,n){return!!this.seenBidi&&(e!==this.currentRow&&(this.currentRow=e,this.updateRowLine(t,n),this.updateBidiMap()),this.bidiMap.bidiLevels)},this.onChange=function(e){this.seenBidi?this.currentRow=null:"insert"==e.action&&o.test(e.lines.join("\n"))&&(this.seenBidi=!0,this.currentRow=null)},this.getDocumentRow=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n=this.session.$getRowCacheIndex(t,this.currentRow);n>=0&&(e=this.session.$docRowCache[n])}return e},this.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length)for(var n,r=this.session.$getRowCacheIndex(t,this.currentRow);this.currentRow-e>0&&(n=this.session.$getRowCacheIndex(t,this.currentRow-e-1))===r;)r=n,e++;else e=this.currentRow;return e},this.updateRowLine=function(e,t){void 0===e&&(e=this.getDocumentRow());var n=e===this.session.getLength()-1?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var o=this.session.$wrapData[e];o&&(void 0===t&&(t=this.getSplitIndex()),t>0&&o.length?(this.wrapIndent=o.indent,this.wrapOffset=this.wrapIndent*this.charWidths[r.L],this.line=t<o.length?this.line.substring(o[t-1],o[t]):this.line.substring(o[o.length-1])):this.line=this.line.substring(0,o[t])),t==o.length&&(this.line+=this.showInvisibles?n:r.DOT)}else this.line+=this.showInvisibles?n:r.DOT;var a,s=this.session,l=0;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,(function(e,t){return"\t"===e||s.isFullWidth(e.charCodeAt(0))?(a="\t"===e?s.getScreenTabSize(t+l):2,l+=a-1,i.stringRepeat(r.DOT,a)):e})),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==r.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},this.updateBidiMap=function(){var e=[];r.hasBidiCharacters(this.line,e)||this.isRtlDir?this.bidiMap=r.doBidiReorder(this.line,e,this.isRtlDir):this.bidiMap={}},this.markAsDirty=function(){this.currentRow=null},this.updateCharacterWidths=function(e){if(this.characterWidth!==e.$characterSize.width){this.fontMetrics=e;var t=this.characterWidth=e.$characterSize.width,n=e.$measureCharWidth("ה");this.charWidths[r.L]=this.charWidths[r.EN]=this.charWidths[r.ON_R]=t,this.charWidths[r.R]=this.charWidths[r.AN]=n,this.charWidths[r.R_H]=.45*n,this.charWidths[r.B]=this.charWidths[r.RLE]=0,this.currentRow=null}},this.setShowInvisibles=function(e){this.showInvisibles=e,this.currentRow=null},this.setEolChar=function(e){this.EOL=e},this.setContentWidth=function(e){this.contentWidth=e},this.isRtlLine=function(e){return!!this.$isRtl||(null!=e?this.session.getLine(e).charAt(0)==this.RLE:this.isRtlDir)},this.setRtlDirection=function(e,t){for(var n=e.getCursorPosition(),r=e.selection.getSelectionAnchor().row;r<=n.row;r++)t||e.session.getLine(r).charAt(0)!==e.session.$bidiHandler.RLE?t&&e.session.getLine(r).charAt(0)!==e.session.$bidiHandler.RLE&&e.session.doc.insert({column:0,row:r},e.session.$bidiHandler.RLE):e.session.doc.removeInLine(r,0,1)},this.getPosLeft=function(e){e-=this.wrapIndent;var t=this.line.charAt(0)===this.RLE?1:0,n=e>t?this.session.getOverwrite()?e:e-1:t,i=r.getVisualFromLogicalIdx(n,this.bidiMap),o=this.bidiMap.bidiLevels,a=0;!this.session.getOverwrite()&&e<=t&&o[i]%2!=0&&i++;for(var s=0;s<i;s++)a+=this.charWidths[o[s]];return!this.session.getOverwrite()&&e>t&&o[i]%2==0&&(a+=this.charWidths[o[i]]),this.wrapIndent&&(a+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(a+=this.rtlLineOffset),a},this.getSelections=function(e,t){var n,r=this.bidiMap,i=r.bidiLevels,o=[],a=0,s=Math.min(e,t)-this.wrapIndent,l=Math.max(e,t)-this.wrapIndent,c=!1,u=!1,d=0;this.wrapIndent&&(a+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var m,p=0;p<i.length;p++)m=r.logicalFromVisual[p],n=i[p],(c=m>=s&&m<l)&&!u?d=a:!c&&u&&o.push({left:d,width:a-d}),a+=this.charWidths[n],u=c;if(c&&p===i.length&&o.push({left:d,width:a-d}),this.isRtlDir)for(var h=0;h<o.length;h++)o[h].left+=this.rtlLineOffset;return o},this.offsetToCol=function(e){this.isRtlDir&&(e-=this.rtlLineOffset);var t=0,n=(e=Math.max(e,0),0),r=0,i=this.bidiMap.bidiLevels,o=this.charWidths[i[r]];for(this.wrapIndent&&(e-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);e>n+o/2;){if(n+=o,r===i.length-1){o=0;break}o=this.charWidths[i[++r]]}return r>0&&i[r-1]%2!=0&&i[r]%2==0?(e<n&&r--,t=this.bidiMap.logicalFromVisual[r]):r>0&&i[r-1]%2==0&&i[r]%2!=0?t=1+(e>n?this.bidiMap.logicalFromVisual[r]:this.bidiMap.logicalFromVisual[r-1]):this.isRtlDir&&r===i.length-1&&0===o&&i[r-1]%2==0||!this.isRtlDir&&0===r&&i[r]%2!=0?t=1+this.bidiMap.logicalFromVisual[r]:(r>0&&i[r-1]%2!=0&&0!==o&&r--,t=this.bidiMap.logicalFromVisual[r]),0===t&&this.isRtlDir&&t++,t+this.wrapIndent}}).call(a.prototype),t.BidiHandler=a})),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],(function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),o=e("./lib/event_emitter").EventEmitter,a=e("./range").Range,s=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var t=this;this.cursor.on("change",(function(e){t.$cursorChanged=!0,t.$silent||t._emit("changeCursor"),t.$isEmpty||t.$silent||t._emit("changeSelection"),t.$keepDesiredColumnOnChange||e.old.column==e.value.column||(t.$desiredColumn=null)})),this.anchor.on("change",(function(){t.$anchorChanged=!0,t.$isEmpty||t.$silent||t._emit("changeSelection")}))};(function(){r.implement(this,o),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.$isEmpty=!1,this.anchor.setPosition(e,t)},this.getAnchor=this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?a.fromPoints(t,t):this.isBackwards()?a.fromPoints(t,e):a.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},this.setRange=this.setSelectionRange=function(e,t){var n=t?e.end:e.start,r=t?e.start:e.end;this.$setSelection(n.row,n.column,r.row,r.column)},this.$setSelection=function(e,t,n,r){if(!this.$silent){var i=this.$isEmpty,o=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(n,r),this.$isEmpty=!a.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||i!=this.$isEmpty||o)&&this._emit("changeSelection")}},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection((function(){this.moveCursorTo(e,t)}))},this.selectToPosition=function(e){this.$moveSelection((function(){this.moveCursorToPosition(e)}))},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(void 0===t){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n,r="number"==typeof e?e:this.lead.row,i=this.session.getFoldLine(r);return i?(r=i.start.row,n=i.end.row):n=r,!0===t?new a(r,0,n,this.session.getLine(n).length):new a(r,0,n+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,n){var r=e.column,i=e.column+t;return n<0&&(r=e.column-t,i=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(r,i).split(" ").length-1==t},this.moveCursorLeft=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(e.start.row,e.start.column);else if(0===t.column)t.row>0&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(t,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(e.end.row,e.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var n=this.session.getTabSize();t=this.lead;this.wouldMoveIntoSoftTab(t,n,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,n):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,n=this.session.documentToScreenRow(e,t),r=this.session.screenToDocumentPosition(n,0),i=this.session.getDisplayLine(e,null,r.row,r.column).match(/^\s*/);i[0].length==t||this.session.$useEmacsStyleLineStart||(r.column+=i[0].length),this.moveCursorToPosition(r)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var n=this.session.getLine(t.row);if(t.column==n.length){var r=n.search(/\s+$/);r>0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(e,t,1);if(i)this.moveCursorTo(i.end.row,i.end.column);else{if(this.session.nonTokenRe.exec(r)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t)),t>=n.length)return this.moveCursorTo(e,n.length),this.moveCursorRight(),void(e<this.doc.getLength()-1&&this.moveCursorWordRight());this.session.tokenRe.exec(r)&&(t+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)}},this.moveCursorLongWordLeft=function(){var e,t=this.lead.row,n=this.lead.column;if(e=this.session.getFoldAt(t,n,-1))this.moveCursorTo(e.start.row,e.start.column);else{var r=this.session.getFoldStringAt(t,n,-1);null==r&&(r=this.doc.getLine(t).substring(0,n));var o=i.stringReverse(r);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(o)&&(n-=this.session.nonTokenRe.lastIndex,o=o.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),n<=0)return this.moveCursorTo(t,0),this.moveCursorLeft(),void(t>0&&this.moveCursorWordLeft());this.session.tokenRe.exec(o)&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,n)}},this.$shortWordEndIndex=function(e){var t,n=0,r=/\s/,i=this.session.tokenRe;if(i.lastIndex=0,this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{for(;(t=e[n])&&r.test(t);)n++;if(n<1)for(i.lastIndex=0;(t=e[n])&&!i.test(t);)if(i.lastIndex=0,n++,r.test(t)){if(n>2){n--;break}for(;(t=e[n])&&r.test(t);)n++;if(n>2)break}}return i.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var o=this.doc.getLength();do{e++,r=this.doc.getLine(e)}while(e<o&&/^\s*$/.test(r));/^\s+/.test(r)||(r=""),t=0}var a=this.$shortWordEndIndex(r);this.moveCursorTo(e,t+a)},this.moveCursorShortWordLeft=function(){var e,t=this.lead.row,n=this.lead.column;if(e=this.session.getFoldAt(t,n,-1))return this.moveCursorTo(e.start.row,e.start.column);var r=this.session.getLine(t).substring(0,n);if(0===n){do{t--,r=this.doc.getLine(t)}while(t>0&&/^\s*$/.test(r));n=r.length,/\s+$/.test(r)||(r="")}var o=i.stringReverse(r),a=this.$shortWordEndIndex(o);return this.moveCursorTo(t,n-a)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n,r=this.session.documentToScreenPosition(this.lead.row,this.lead.column);if(0===t&&(0!==e&&(this.session.$bidiHandler.isBidiRow(r.row,this.lead.row)?(n=this.session.$bidiHandler.getPosLeft(r.column),r.column=Math.round(n/this.session.$bidiHandler.charWidths[0])):n=r.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?r.column=this.$desiredColumn:this.$desiredColumn=r.column),0!=e&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var i=this.session.lineWidgets[this.lead.row];e<0?e-=i.rowsAbove||0:e>0&&(e+=i.rowCount-(i.rowsAbove||0))}var o=this.session.screenToDocumentPosition(r.row+e,r.column,n);0!==e&&0===t&&o.row===this.lead.row&&(o.column,this.lead.column),this.moveCursorTo(o.row,o.column+t,0===t)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0;var i=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(i.charAt(t))&&i.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return a.fromPoints(t,n)}catch(e){return a.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map((function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t}));else(e=this.getRange()).isBackwards=this.isBackwards();return e},this.fromJSON=function(e){if(null==e.start){if(this.rangeList&&e.length>1){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=a.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(s.prototype),t.Selection=s})),ace.define("ace/tokenizer",["require","exports","module","ace/config"],(function(e,t,n){"use strict";var r=e("./config"),i=2e3,o=function(e){for(var t in this.states=e,this.regExps={},this.matchMappings={},this.states){for(var n=this.states[t],r=[],i=0,o=this.matchMappings[t]={defaultToken:"text"},a="g",s=[],l=0;l<n.length;l++){var c=n[l];if(c.defaultToken&&(o.defaultToken=c.defaultToken),c.caseInsensitive&&(a="gi"),null!=c.regex){c.regex instanceof RegExp&&(c.regex=c.regex.toString().slice(1,-1));var u=c.regex,d=new RegExp("(?:("+u+")|(.))").exec("a").length-2;Array.isArray(c.token)?1==c.token.length||1==d?c.token=c.token[0]:d-1!=c.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:c,groupCount:d-1}),c.token=c.token[0]):(c.tokenArray=c.token,c.token=null,c.onMatch=this.$arrayTokens):"function"!=typeof c.token||c.onMatch||(c.onMatch=d>1?this.$applyToken:c.token),d>1&&(/\\\d/.test(c.regex)?u=c.regex.replace(/\\([0-9]+)/g,(function(e,t){return"\\"+(parseInt(t,10)+i+1)})):(d=1,u=this.removeCapturingGroups(c.regex)),c.splitRegex||"string"==typeof c.token||s.push(c)),o[i]=l,i+=d,r.push(u),c.onMatch||(c.onMatch=null)}}r.length||(o[0]=0,r.push("$")),s.forEach((function(e){e.splitRegex=this.createSplitterRegexp(e.regex,a)}),this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",a)}};(function(){this.$setMaxTokenCount=function(e){i=0|e},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if("string"==typeof n)return[{type:n,value:e}];for(var r=[],i=0,o=n.length;i<o;i++)t[i]&&(r[r.length]={type:n[i],value:t[i]});return r},this.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return"text";for(var n=[],r=this.tokenArray,i=0,o=r.length;i<o;i++)t[i+1]&&(n[n.length]={type:r[i],value:t[i+1]});return n},this.removeCapturingGroups=function(e){return e.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!]|(\()/g,(function(e,t){return t?"(?:":e}))},this.createSplitterRegexp=function(e,t){if(-1!=e.indexOf("(?=")){var n=0,r=!1,i={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,(function(e,t,o,a,s,l){return r?r="]"!=s:s?r=!0:a?(n==i.stack&&(i.end=l+1,i.stack=-1),n--):o&&(n++,1!=o.length&&(i.stack=n,i.start=l)),e})),null!=i.end&&/^\)*$/.test(e.substr(i.end))&&(e=e.substring(0,i.start)+e.substr(i.end))}return"^"!=e.charAt(0)&&(e="^"+e),"$"!=e.charAt(e.length-1)&&(e+="$"),new RegExp(e,(t||"").replace("g",""))},this.getLineTokens=function(e,t){if(t&&"string"!=typeof t){var n=t.slice(0);"#tmp"===(t=n[0])&&(n.shift(),t=n.shift())}else n=[];var r=t||"start",o=this.states[r];o||(r="start",o=this.states[r]);var a=this.matchMappings[r],s=this.regExps[r];s.lastIndex=0;for(var l,c=[],u=0,d=0,m={type:null,value:""};l=s.exec(e);){var p=a.defaultToken,h=null,f=l[0],_=s.lastIndex;if(_-f.length>u){var g=e.substring(u,_-f.length);m.type==p?m.value+=g:(m.type&&c.push(m),m={type:p,value:g})}for(var b=0;b<l.length-2;b++)if(void 0!==l[b+1]){p=(h=o[a[b]]).onMatch?h.onMatch(f,r,n,e):h.token,h.next&&(r="string"==typeof h.next?h.next:h.next(r,n),(o=this.states[r])||(this.reportError("state doesn't exist",r),r="start",o=this.states[r]),a=this.matchMappings[r],u=_,(s=this.regExps[r]).lastIndex=_),h.consumeLineEnd&&(u=_);break}if(f)if("string"==typeof p)h&&!1===h.merge||m.type!==p?(m.type&&c.push(m),m={type:p,value:f}):m.value+=f;else if(p){m.type&&c.push(m),m={type:null,value:""};for(b=0;b<p.length;b++)c.push(p[b])}if(u==e.length)break;if(u=_,d++>i){for(d>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});u<e.length;)m.type&&c.push(m),m={value:e.substring(u,u+=500),type:"overflow"};r="start",n=[];break}}return m.type&&c.push(m),n.length>1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:c,state:n.length?n:r}},this.reportError=r.reportError}).call(o.prototype),t.Tokenizer=o})),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],(function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(t)for(var n in e){for(var r=e[n],i=0;i<r.length;i++){var o=r[i];(o.next||o.onMatch)&&("string"==typeof o.next&&0!==o.next.indexOf(t)&&(o.next=t+o.next),o.nextState&&0!==o.nextState.indexOf(t)&&(o.nextState=t+o.nextState))}this.$rules[t+n]=r}else for(var n in e)this.$rules[n]=e[n]},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,i,o){var a="function"==typeof e?(new e).getRules():e;if(i)for(var s=0;s<i.length;s++)i[s]=t+i[s];else for(var l in i=[],a)i.push(t+l);if(this.addRules(a,t),n){var c=Array.prototype[o?"push":"unshift"];for(s=0;s<i.length;s++)c.apply(this.$rules[i[s]],r.deepCopy(n))}this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return("start"!=e||t.length)&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t.shift(),t.shift()||"start"};this.normalizeRules=function(){var n=0,r=this.$rules;Object.keys(r).forEach((function i(o){var a=r[o];a.processed=!0;for(var s=0;s<a.length;s++){var l=a[s],c=null;Array.isArray(l)&&(c=l,l={}),!l.regex&&l.start&&(l.regex=l.start,l.next||(l.next=[]),l.next.push({defaultToken:l.token},{token:l.token+".end",regex:l.end||l.start,next:"pop"}),l.token=l.token+".start",l.push=!0);var u=l.next||l.push;if(u&&Array.isArray(u)){var d=l.stateName;d||("string"!=typeof(d=l.token)&&(d=d[0]||""),r[d]&&(d+=n++)),r[d]=u,l.next=d,i(d)}else"pop"==u&&(l.next=t);if(l.push&&(l.nextState=l.next||l.push,l.next=e,delete l.push),l.rules)for(var m in l.rules)r[m]?r[m].push&&r[m].push.apply(r[m],l.rules[m]):r[m]=l.rules[m];var p="string"==typeof l?l:l.include;if(p&&(c=Array.isArray(p)?p.map((function(e){return r[e]})):r[p]),c){var h=[s,1].concat(c);l.noEscape&&(h=h.filter((function(e){return!e.next}))),a.splice.apply(a,h),s--}l.keywordMap&&(l.token=this.createKeywordMapper(l.keywordMap,l.defaultToken||"text",l.caseInsensitive),delete l.defaultToken)}}),this)},this.createKeywordMapper=function(e,t,n,r){var i=Object.create(null);return this.$keywordList=[],Object.keys(e).forEach((function(t){for(var o=e[t].split(r||"|"),a=o.length;a--;){var s=o[a];this.$keywordList.push(s),n&&(s=s.toLowerCase()),i[s]=t}}),this),e=null,n?function(e){return i[e.toLowerCase()]||t}:function(e){return i[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(i.prototype),t.TextHighlightRules=i})),ace.define("ace/mode/behaviour",["require","exports","module"],(function(e,t,n){"use strict";var r=function(){this.$behaviours={}};(function(){this.add=function(e,t,n){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=n},this.addBehaviours=function(e){for(var t in e)for(var n in e[t])this.add(t,n,e[t][n])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if("function"==typeof e)var n=(new e).getBehaviours(t);else n=e.getBehaviours(t);this.addBehaviours(n)},this.getBehaviours=function(e){if(e){for(var t={},n=0;n<e.length;n++)this.$behaviours[e[n]]&&(t[e[n]]=this.$behaviours[e[n]]);return t}return this.$behaviours}}).call(r.prototype),t.Behaviour=r})),ace.define("ace/token_iterator",["require","exports","module","ace/range"],(function(e,t,n){"use strict";var r=e("./range").Range,i=function(e,t,n){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var r=e.getTokenAt(t,n);this.$tokenIndex=r?r.index:-1};(function(){this.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){var e;for(this.$tokenIndex+=1;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,e||(e=this.$session.getLength()),this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(void 0!==n)return n;for(n=0;t>0;)n+=e[t-=1].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new r(this.$row,t,this.$row,t+e.value.length)}}).call(i.prototype),t.TokenIterator=i})),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],(function(e,t,n){"use strict";var r,i=e("../../lib/oop"),o=e("../behaviour").Behaviour,a=e("../../token_iterator").TokenIterator,s=e("../../lib/lang"),l=["text","paren.rparen","rparen","paren","punctuation.operator"],c=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],u={},d={'"':'"',"'":"'"},m=function(e){var t=-1;if(e.multiSelect&&(t=e.selection.index,u.rangeCount!=e.multiSelect.rangeCount&&(u={rangeCount:e.multiSelect.rangeCount})),u[t])return r=u[t];r=u[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},p=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},h=function(e){this.add("braces","insertion",(function(t,n,i,o,a){var l=i.getCursorPosition(),c=o.doc.getLine(l.row);if("{"==a){m(i);var u=i.getSelectionRange(),d=o.doc.getTextRange(u);if(""!==d&&"{"!==d&&i.getWrapBehavioursEnabled())return p(u,d,"{","}");if(h.isSaneInsertion(i,o))return/[\]\}\)]/.test(c[l.column])||i.inMultiSelectMode||e&&e.braces?(h.recordAutoInsert(i,o,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(i,o,"{"),{text:"{",selection:[1,1]})}else if("}"==a){if(m(i),"}"==c.substring(l.column,l.column+1))if(null!==o.$findOpeningBracket("}",{column:l.column+1,row:l.row})&&h.isAutoInsertedClosing(l,c,a))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}else{if("\n"==a||"\r\n"==a){m(i);var f="";if(h.isMaybeInsertedClosing(l,c)&&(f=s.stringRepeat("}",r.maybeInsertedBrackets),h.clearMaybeInsertedClosing()),"}"===c.substring(l.column,l.column+1)){var _=o.findMatchingBracket({row:l.row,column:l.column+1},"}");if(!_)return null;var g=this.$getIndent(o.getLine(_.row))}else{if(!f)return void h.clearMaybeInsertedClosing();g=this.$getIndent(c)}var b=g+o.getTabString();return{text:"\n"+b+"\n"+g+f,selection:[1,b.length,1,b.length]}}h.clearMaybeInsertedClosing()}})),this.add("braces","deletion",(function(e,t,n,i,o){var a=i.doc.getTextRange(o);if(!o.isMultiLine()&&"{"==a){if(m(n),"}"==i.doc.getLine(o.start.row).substring(o.end.column,o.end.column+1))return o.end.column++,o;r.maybeInsertedBrackets--}})),this.add("parens","insertion",(function(e,t,n,r,i){if("("==i){m(n);var o=n.getSelectionRange(),a=r.doc.getTextRange(o);if(""!==a&&n.getWrapBehavioursEnabled())return p(o,a,"(",")");if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(")"==i){m(n);var s=n.getCursorPosition(),l=r.doc.getLine(s.row);if(")"==l.substring(s.column,s.column+1))if(null!==r.$findOpeningBracket(")",{column:s.column+1,row:s.row})&&h.isAutoInsertedClosing(s,l,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("parens","deletion",(function(e,t,n,r,i){var o=r.doc.getTextRange(i);if(!i.isMultiLine()&&"("==o&&(m(n),")"==r.doc.getLine(i.start.row).substring(i.start.column+1,i.start.column+2)))return i.end.column++,i})),this.add("brackets","insertion",(function(e,t,n,r,i){if("["==i){m(n);var o=n.getSelectionRange(),a=r.doc.getTextRange(o);if(""!==a&&n.getWrapBehavioursEnabled())return p(o,a,"[","]");if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if("]"==i){m(n);var s=n.getCursorPosition(),l=r.doc.getLine(s.row);if("]"==l.substring(s.column,s.column+1))if(null!==r.$findOpeningBracket("]",{column:s.column+1,row:s.row})&&h.isAutoInsertedClosing(s,l,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("brackets","deletion",(function(e,t,n,r,i){var o=r.doc.getTextRange(i);if(!i.isMultiLine()&&"["==o&&(m(n),"]"==r.doc.getLine(i.start.row).substring(i.start.column+1,i.start.column+2)))return i.end.column++,i})),this.add("string_dquotes","insertion",(function(e,t,n,r,i){var o=r.$mode.$quotes||d;if(1==i.length&&o[i]){if(this.lineCommentStart&&-1!=this.lineCommentStart.indexOf(i))return;m(n);var a=i,s=n.getSelectionRange(),l=r.doc.getTextRange(s);if(!(""===l||1==l.length&&o[l])&&n.getWrapBehavioursEnabled())return p(s,l,a,a);if(!l){var c=n.getCursorPosition(),u=r.doc.getLine(c.row),h=u.substring(c.column-1,c.column),f=u.substring(c.column,c.column+1),_=r.getTokenAt(c.row,c.column),g=r.getTokenAt(c.row,c.column+1);if("\\"==h&&_&&/escape/.test(_.type))return null;var b,y=_&&/string|escape/.test(_.type),v=!g||/string|escape/.test(g.type);if(f==a)(b=y!==v)&&/string\.end/.test(g.type)&&(b=!1);else{if(y&&!v)return null;if(y&&v)return null;var w=r.$mode.tokenRe;w.lastIndex=0;var x=w.test(h);w.lastIndex=0;var k=w.test(h);if(x||k)return null;if(f&&!/[\s;,.})\]\\]/.test(f))return null;var O=u[c.column-2];if(h==a&&(O==a||w.test(O)))return null;b=!0}return{text:b?a+a:"",selection:[1,1]}}}})),this.add("string_dquotes","deletion",(function(e,t,n,r,i){var o=r.$mode.$quotes||d,a=r.doc.getTextRange(i);if(!i.isMultiLine()&&o.hasOwnProperty(a)&&(m(n),r.doc.getLine(i.start.row).substring(i.start.column+1,i.start.column+2)==a))return i.end.column++,i}))};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new a(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",l)){if(/[)}\]]/.test(e.session.getLine(n.row)[n.column]))return!0;var i=new a(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",l))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",c)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var i=e.getCursorPosition(),o=t.doc.getLine(i.row);this.isAutoInsertedClosing(i,o,r.autoInsertedLineEnd[0])||(r.autoInsertedBrackets=0),r.autoInsertedRow=i.row,r.autoInsertedLineEnd=n+o.substr(i.column),r.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var i=e.getCursorPosition(),o=t.doc.getLine(i.row);this.isMaybeInsertedClosing(i,o)||(r.maybeInsertedBrackets=0),r.maybeInsertedRow=i.row,r.maybeInsertedLineStart=o.substr(0,i.column)+n,r.maybeInsertedLineEnd=o.substr(i.column),r.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return r.autoInsertedBrackets>0&&e.row===r.autoInsertedRow&&n===r.autoInsertedLineEnd[0]&&t.substr(e.column)===r.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return r.maybeInsertedBrackets>0&&e.row===r.maybeInsertedRow&&t.substr(e.column)===r.maybeInsertedLineEnd&&t.substr(0,e.column)==r.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){r.autoInsertedLineEnd=r.autoInsertedLineEnd.substr(1),r.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){r&&(r.maybeInsertedBrackets=0,r.maybeInsertedRow=-1)},i.inherits(h,o),t.CstyleBehaviour=h})),ace.define("ace/unicode",["require","exports","module"],(function(e,t,n){"use strict";for(var r=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],i=0,o=[],a=0;a<r.length;a+=2)o.push(i+=r[a]),r[a+1]&&o.push(45,i+=r[a+1]);t.wordChars=String.fromCharCode.apply(null,o)})),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],(function(e,t,n){"use strict";var r=e("../config"),i=e("../tokenizer").Tokenizer,o=e("./text_highlight_rules").TextHighlightRules,a=e("./behaviour/cstyle").CstyleBehaviour,s=e("../unicode"),l=e("../lib/lang"),c=e("../token_iterator").TokenIterator,u=e("../range").Range,d=function(){this.HighlightRules=o};(function(){this.$defaultBehaviour=new a,this.tokenRe=new RegExp("^["+s.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+s.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new i(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){var i=t.doc,o=!0,a=!0,s=1/0,c=t.getTabSize(),u=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))f=this.lineCommentStart.map(l.escapeRegExp).join("|"),p=this.lineCommentStart[0];else f=l.escapeRegExp(this.lineCommentStart),p=this.lineCommentStart;f=new RegExp("^(\\s*)(?:"+f+") ?"),u=t.getUseSoftTabs();b=function(e,t){var n=e.match(f);if(n){var r=n[1].length,o=n[0].length;m(e,r,o)||" "!=n[0][o-1]||o--,i.removeInLine(t,r,o)}};var d=p+" ",m=(g=function(e,t){o&&!/\S/.test(e)||(m(e,s,s)?i.insertInLine({row:t,column:s},d):i.insertInLine({row:t,column:s},p))},y=function(e,t){return f.test(e)},function(e,t,n){for(var r=0;t--&&" "==e.charAt(t);)r++;if(r%c!=0)return!1;for(r=0;" "==e.charAt(n++);)r++;return c>2?r%c!=c-1:r%c==0})}else{if(!this.blockComment)return!1;var p=this.blockComment.start,h=this.blockComment.end,f=new RegExp("^(\\s*)(?:"+l.escapeRegExp(p)+")"),_=new RegExp("(?:"+l.escapeRegExp(h)+")\\s*$"),g=function(e,t){y(e,t)||o&&!/\S/.test(e)||(i.insertInLine({row:t,column:e.length},h),i.insertInLine({row:t,column:s},p))},b=function(e,t){var n;(n=e.match(_))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(f))&&i.removeInLine(t,n[1].length,n[0].length)},y=function(e,n){if(f.test(e))return!0;for(var r=t.getTokens(n),i=0;i<r.length;i++)if("comment"===r[i].type)return!0}}function v(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var w=1/0;v((function(e,t){var n=e.search(/\S/);-1!==n?(n<s&&(s=n),a&&!y(e,t)&&(a=!1)):w>e.length&&(w=e.length)})),s==1/0&&(s=w,o=!1,a=!1),u&&s%c!=0&&(s=Math.floor(s/c)*c),v(a?b:g)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(i){!i.start&&i[0]&&(i=i[0]);var o,a,s=(f=new c(t,r.row,r.column)).getCurrentToken(),l=(t.selection,t.selection.toOrientedRange());if(s&&/comment/.test(s.type)){for(var d,m;s&&/comment/.test(s.type);){if(-1!=(_=s.value.indexOf(i.start))){var p=f.getCurrentTokenRow(),h=f.getCurrentTokenColumn()+_;d=new u(p,h,p,h+i.start.length);break}s=f.stepBackward()}var f;for(s=(f=new c(t,r.row,r.column)).getCurrentToken();s&&/comment/.test(s.type);){var _;if(-1!=(_=s.value.indexOf(i.end))){p=f.getCurrentTokenRow(),h=f.getCurrentTokenColumn()+_;m=new u(p,h,p,h+i.end.length);break}s=f.stepForward()}m&&t.remove(m),d&&(t.remove(d),o=d.start.row,a=-i.start.length)}else a=i.start.length,o=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);l.start.row==o&&(l.start.column+=a),l.end.row==o&&(l.end.column+=a),t.selection.fromOrientedRange(l)}},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){for(var t in this.$embeds=[],this.$modes={},e)if(e[t]){var n=e[t],i=n.prototype.$id,o=r.$modes[i];o||(r.$modes[i]=o=new n),r.$modes[t]||(r.$modes[t]=o),this.$embeds.push(t),this.$modes[t]=o}var a=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(t=0;t<a.length;t++)!function(e){var n=a[t],r=e[n];e[a[t]]=function(){return this.$delegator(n,arguments,r)}}(this)},this.$delegator=function(e,t,n){var r=t[0]||"start";if("string"!=typeof r){if(Array.isArray(r[2])){var i=r[2][r[2].length-1];if(a=this.$modes[i])return a[e].apply(a,[r[1]].concat([].slice.call(t,1)))}r=r[0]||"start"}for(var o=0;o<this.$embeds.length;o++)if(this.$modes[this.$embeds[o]]){var a,s=r.split(this.$embeds[o]);if(!s[0]&&s[1])return t[0]=s[1],(a=this.$modes[this.$embeds[o]])[e].apply(a,t)}var l=n.apply(this,t);return n?l:void 0},this.transformAction=function(e,t,n,r,i){if(this.$behaviour){var o=this.$behaviour.getBehaviours();for(var a in o)if(o[a][t]){var s=o[a][t].apply(this,arguments);if(s)return s}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,n=[];for(var r in t)for(var i=t[r],o=0,a=i.length;o<a;o++)if("string"==typeof i[o].token)/keyword|support|storage/.test(i[o].token)&&n.push(i[o].regex);else if("object"==typeof i[o].token)for(var s=0,l=i[o].token.length;s<l;s++)if(/keyword|support|storage/.test(i[o].token[s])){r=i[o].regex.match(/\(.+?\)/g)[s];n.push(r.substr(1,r.length-2))}this.completionKeywords=n}return e?n.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,t,n,r){return(this.$keywordList||this.$createKeywordList()).map((function(e){return{name:e,value:e,score:0,meta:"keyword"}}))},this.$id="ace/mode/text"}).call(d.prototype),t.Mode=d})),ace.define("ace/apply_delta",["require","exports","module"],(function(e,t,n){"use strict";t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,o=e[r]||"";switch(t.action){case"insert":if(1===t.lines.length)e[r]=o.substring(0,i)+t.lines[0]+o.substring(i);else{var a=[r,1].concat(t.lines);e.splice.apply(e,a),e[r]=o.substring(0,i)+e[r],e[r+t.lines.length-1]+=o.substring(i)}break;case"remove":var s=t.end.column,l=t.end.row;r===l?e[r]=o.substring(0,i)+o.substring(s):e.splice(r,l-r+1,o.substring(0,i)+e[l].substring(s))}}})),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],(function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,o=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),void 0===n?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(t){if(!(t.start.row==t.end.row&&t.start.row!=this.row||t.start.row>this.row)){var n=function(t,n,r){var i="insert"==t.action,o=(i?1:-1)*(t.end.row-t.start.row),a=(i?1:-1)*(t.end.column-t.start.column),s=t.start,l=i?s:t.end;if(e(n,s,r))return{row:n.row,column:n.column};if(e(l,n,!r))return{row:n.row+o,column:n.column+(n.row==l.row?a:0)};return{row:s.row,column:s.column}}(t,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)}},this.setPosition=function(e,t,n){var r;if(r=n?{row:e,column:t}:this.$clipPositionToDocument(e,t),this.row!=r.row||this.column!=r.column){var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})}},this.detach=function(){this.document.off("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(o.prototype)})),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],(function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,o=e("./lib/event_emitter").EventEmitter,a=e("./range").Range,s=e("./anchor").Anchor,l=function(e){this.$lines=[""],0===e.length?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,o),this.setValue=function(e){var t=this.getLength()-1;this.remove(new a(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new s(this,e,t)},0==="aaa".split(/a/).length?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return"\r\n"==e||"\r"==e||"\n"==e},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{(t=this.getLines(e.start.row,e.end.row))[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();void 0===e?e=n:e<0?e=0:e>=n&&(e=n-1,t=void 0);var r=this.getLine(e);return null==t&&(t=r.length),{row:e,column:t=Math.min(Math.max(t,0),r.length)}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){var n=0;(e=Math.min(Math.max(e,0),this.getLength()))<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(1==t.length?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1);var n=(t=Math.min(Math.max(0,t),this.getLength()-1))==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,o=n?this.getLine(i).length:0,s=r?t+1:t,l=r?0:this.getLine(s).length,c=new a(i,o,s,l),u=this.$lines.slice(e,t+1);return this.applyDelta({start:c.start,end:c.end,action:"remove",lines:this.getLinesForRange(c)}),u},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){return e instanceof a||(e=a.fromPoints(e.start,e.end)),0===t.length&&e.isEmpty()?e.start:t==this.getTextRange(e)?e.end:(this.remove(e),t?this.insert(e.start,t):e.start)},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n="insert"==e.action;(n?e.lines.length<=1&&!e.lines[0]:!a.comparePoints(e.start,e.end))||(n&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(i(this.$lines,e,t),this._signal("change",e)))},this.$safeApplyDelta=function(e){var t=this.$lines.length;("remove"==e.action&&e.start.row<t&&e.end.row<t||"insert"==e.action&&e.start.row<=t)&&this.applyDelta(e)},this.$splitAndapplyLargeDelta=function(e,t){for(var n=e.lines,r=n.length-t+1,i=e.start.row,o=e.start.column,a=0,s=0;a<r;a=s){s+=t-1;var l=n.slice(a,s);l.push(""),this.applyDelta({start:this.pos(i+a,o),end:this.pos(i+s,o=0),action:e.action,lines:l},!0)}e.lines=n.slice(a),e.start.row=i+a,e.start.column=o,this.applyDelta(e,!0)},this.revertDelta=function(e){this.$safeApplyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:"insert"==e.action?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=t||0,o=n.length;i<o;i++)if((e-=n[i].length+r)<0)return{row:i,column:e+n[i].length+r};return{row:o-1,column:e+n[o-1].length+r}},this.positionToIndex=function(e,t){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,o=Math.min(e.row,n.length),a=t||0;a<o;++a)i+=n[a].length+r;return i+e.column}}).call(l.prototype),t.Document=l})),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],(function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,o=function(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(n.running){for(var e=new Date,t=n.currentLine,r=-1,i=n.doc,o=t;n.lines[t];)t++;var a=i.getLength(),s=0;for(n.running=!1;t<a;){n.$tokenizeRow(t),r=t;do{t++}while(n.lines[t]);if(++s%5==0&&new Date-e>20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,-1==r&&(r=t),o<=r&&n.fireUpdateEvent(o,r)}}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(0===n)this.lines[t]=null;else if("remove"==e.action)this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(o.prototype),t.BackgroundTokenizer=o})),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],(function(e,t,n){"use strict";var r=e("./lib/lang"),i=(e("./lib/oop"),e("./range").Range),o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){this.regExp+""!=e+""&&(this.regExp=e,this.cache=[])},this.update=function(e,t,n,o){if(this.regExp)for(var a=o.firstRow,s=o.lastRow,l=a;l<=s;l++){var c=this.cache[l];null==c&&((c=r.getMatchOffsets(n.getLine(l),this.regExp)).length>this.MAX_RANGES&&(c=c.slice(0,this.MAX_RANGES)),c=c.map((function(e){return new i(l,e.offset,l,e.offset+e.length)})),this.cache[l]=c.length?c:"");for(var u=c.length;u--;)t.drawSingleLineMarker(e,c[u].toScreenRange(n),this.clazz,o)}}}).call(o.prototype),t.SearchHighlight=o})),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],(function(e,t,n){"use strict";var r=e("../range").Range;function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach((function(e){e.setFoldLine(this)}),this)}(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach((function(t){t.start.row+=e,t.end.row+=e}))},this.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort((function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)})),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r,i,o=0,a=this.folds,s=!0;null==t&&(t=this.end.row,n=this.end.column);for(var l=0;l<a.length;l++){if(-1==(i=(r=a[l]).range.compareStart(t,n)))return void e(null,t,n,o,s);if(!e(null,r.start.row,r.start.column,o,s)&&e(r.placeholder,r.start.row,r.start.column,o)||0===i)return;s=!r.sameRow,o=r.end.column}e(null,t,n,o,s)},this.getNextFoldTo=function(e,t){for(var n,r,i=0;i<this.folds.length;i++){if(-1==(r=(n=this.folds[i]).range.compareEnd(e,t)))return{fold:n,kind:"after"};if(0===r)return{fold:n,kind:"inside"}}return null},this.addRemoveChars=function(e,t,n){var r,i,o=this.getNextFoldTo(e,t);if(o)if(r=o.fold,"inside"==o.kind&&r.start.column!=t&&r.start.row!=e)window.console&&window.console.log(e,t,r);else if(r.start.row==e){var a=(i=this.folds).indexOf(r);for(0===a&&(this.start.column+=n);a<i.length;a++){if((r=i[a]).start.column+=n,!r.sameRow)return;r.end.column+=n}this.end.column+=n}},this.split=function(e,t){var n=this.getNextFoldTo(e,t);if(!n||"inside"==n.kind)return null;var r=n.fold,o=this.folds,a=this.foldData,s=o.indexOf(r),l=o[s-1];this.end.row=l.end.row,this.end.column=l.end.column;var c=new i(a,o=o.splice(s,o.length-s));return a.splice(a.indexOf(this)+1,0,c),c},this.merge=function(e){for(var t=e.folds,n=0;n<t.length;n++)this.addFold(t[n]);var r=this.foldData;r.splice(r.indexOf(e),1)},this.toString=function(){var e=[this.range.toString()+": ["];return this.folds.forEach((function(t){e.push(" "+t.toString())})),e.push("]"),e.join("\n")},this.idxToPosition=function(e){for(var t=0,n=0;n<this.folds.length;n++){var r=this.folds[n];if((e-=r.start.column-t)<0)return{row:r.start.row,column:r.start.column+e};if((e-=r.placeholder.length)<0)return r.start;t=r.end.column}return{row:this.end.row,column:this.end.column+e}}}).call(i.prototype),t.FoldLine=i})),ace.define("ace/range_list",["require","exports","module","ace/range"],(function(e,t,n){"use strict";var r=e("./range").Range.comparePoints,i=function(){this.ranges=[],this.$bias=1};(function(){this.comparePoints=r,this.pointIndex=function(e,t,n){for(var i=this.ranges,o=n||0;o<i.length;o++){var a=i[o],s=r(e,a.end);if(!(s>0)){var l=r(e,a.start);return 0===s?t&&0!==l?-o-2:o:l>0||0===l&&!t?o:-o-1}}return-o-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){for(var t=[],n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){for(var e,t=[],n=this.ranges,i=(n=n.sort((function(e,t){return r(e.start,t.start)})))[0],o=1;o<n.length;o++){e=i,i=n[o];var a=r(e.end,i.start);a<0||(0!=a||e.isEmpty()||i.isEmpty())&&(r(e.end,i.end)<0&&(e.end.row=i.end.row,e.end.column=i.end.column),n.splice(o,1),t.push(i),i=e,o--)}return this.ranges=n,t},this.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row<e)return[];var r=this.pointIndex({row:e,column:0});r<0&&(r=-r-1);var i=this.pointIndex({row:t,column:0},r);i<0&&(i=-i-1);for(var o=[],a=r;a<i;a++)o.push(n[a]);return o},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},this.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},this.$onChange=function(e){for(var t=e.start,n=e.end,r=t.row,i=n.row,o=this.ranges,a=0,s=o.length;a<s;a++){if((u=o[a]).end.row>=r)break}if("insert"==e.action)for(var l=i-r,c=-t.column+n.column;a<s;a++){if((u=o[a]).start.row>r)break;if(u.start.row==r&&u.start.column>=t.column&&(u.start.column==t.column&&this.$bias<=0||(u.start.column+=c,u.start.row+=l)),u.end.row==r&&u.end.column>=t.column){if(u.end.column==t.column&&this.$bias<0)continue;u.end.column==t.column&&c>0&&a<s-1&&u.end.column>u.start.column&&u.end.column==o[a+1].start.column&&(u.end.column-=c),u.end.column+=c,u.end.row+=l}}else for(l=r-i,c=t.column-n.column;a<s;a++){if((u=o[a]).start.row>i)break;u.end.row<i&&(r<u.end.row||r==u.end.row&&t.column<u.end.column)?(u.end.row=r,u.end.column=t.column):u.end.row==i?u.end.column<=n.column?(l||u.end.column>t.column)&&(u.end.column=t.column,u.end.row=t.row):(u.end.column+=c,u.end.row+=l):u.end.row>i&&(u.end.row+=l),u.start.row<i&&(r<u.start.row||r==u.start.row&&t.column<u.start.column)?(u.start.row=r,u.start.column=t.column):u.start.row==i?u.start.column<=n.column?(l||u.start.column>t.column)&&(u.start.column=t.column,u.start.row=t.row):(u.start.column+=c,u.start.row+=l):u.start.row>i&&(u.start.row+=l)}if(0!=l&&a<s)for(;a<s;a++){var u;(u=o[a]).start.row+=l,u.end.row+=l}}}).call(i.prototype),t.RangeList=i})),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list","ace/lib/oop"],(function(e,t,n){"use strict";var r=e("../range_list").RangeList,i=e("../lib/oop"),o=t.Fold=function(e,t){this.foldLine=null,this.placeholder=t,this.range=e,this.start=e.start,this.end=e.end,this.sameRow=e.start.row==e.end.row,this.subFolds=this.ranges=[]};function a(e,t){e.row-=t.row,0==e.row&&(e.column-=t.column)}function s(e,t){0==e.row&&(e.column+=t.column),e.row+=t.row}i.inherits(o,r),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach((function(t){t.setFoldLine(e)}))},this.clone=function(){var e=this.range.clone(),t=new o(e,this.placeholder);return this.subFolds.forEach((function(e){t.subFolds.push(e.clone())})),t.collapseChildren=this.collapseChildren,t},this.addSubFold=function(e){if(!this.range.isEqual(e)){var t,n;t=e,n=this.start,a(t.start,n),a(t.end,n);for(var r=e.start.row,i=e.start.column,o=0,s=-1;o<this.subFolds.length&&1==(s=this.subFolds[o].range.compare(r,i));o++);var l=this.subFolds[o],c=0;if(0==s){if(l.range.containsRange(e))return l.addSubFold(e);c=1}r=e.range.end.row,i=e.range.end.column;var u=o;for(s=-1;u<this.subFolds.length&&1==(s=this.subFolds[u].range.compare(r,i));u++);0==s&&u++;for(var d=this.subFolds.splice(o,u-o,e),m=0==s?d.length-1:d.length,p=c;p<m;p++)e.addSubFold(d[p]);return e.setFoldLine(this.foldLine),e}},this.restoreRange=function(e){return function(e,t){s(e.start,t),s(e.end,t)}(e,this.start)}}.call(o.prototype)})),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],(function(e,t,n){"use strict";var r=e("../range").Range,i=e("./fold_line").FoldLine,o=e("./fold").Fold,a=e("../token_iterator").TokenIterator;t.Folding=function(){this.getFoldAt=function(e,t,n){var r=this.getFoldLine(e);if(!r)return null;for(var i=r.folds,o=0;o<i.length;o++){var a=i[o].range;if(a.contains(e,t)){if(1==n&&a.isEnd(e,t)&&!a.isEmpty())continue;if(-1==n&&a.isStart(e,t)&&!a.isEmpty())continue;return i[o]}}},this.getFoldsInRange=function(e){var t=e.start,n=e.end,r=this.$foldData,i=[];t.column+=1,n.column-=1;for(var o=0;o<r.length;o++){var a=r[o].range.compareRange(e);if(2!=a){if(-2==a)break;for(var s=r[o].folds,l=0;l<s.length;l++){var c=s[l];if(-2==(a=c.range.compareRange(e)))break;if(2!=a){if(42==a)break;i.push(c)}}}}return t.column-=1,n.column+=1,i},this.getFoldsInRangeList=function(e){if(Array.isArray(e)){var t=[];e.forEach((function(e){t=t.concat(this.getFoldsInRange(e))}),this)}else t=this.getFoldsInRange(e);return t},this.getAllFolds=function(){for(var e=[],t=this.$foldData,n=0;n<t.length;n++)for(var r=0;r<t[n].folds.length;r++)e.push(t[n].folds[r]);return e},this.getFoldStringAt=function(e,t,n,r){if(!(r=r||this.getFoldLine(e)))return null;for(var i,o,a={end:{column:0}},s=0;s<r.folds.length;s++){var l=(o=r.folds[s]).range.compareEnd(e,t);if(-1==l){i=this.getLine(o.start.row).substring(a.end.column,o.start.column);break}if(0===l)return null;a=o}return i||(i=this.getLine(o.start.row).substring(a.end.column)),-1==n?i.substring(0,t-a.end.column):1==n?i.substring(t-a.end.column):i},this.getFoldLine=function(e,t){var n=this.$foldData,r=0;for(t&&(r=n.indexOf(t)),-1==r&&(r=0);r<n.length;r++){var i=n[r];if(i.start.row<=e&&i.end.row>=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;for(t&&(r=n.indexOf(t)),-1==r&&(r=0);r<n.length;r++){var i=n[r];if(i.end.row>=e)return i}return null},this.getFoldedRowCount=function(e,t){for(var n=this.$foldData,r=t-e+1,i=0;i<n.length;i++){var o=n[i],a=o.end.row,s=o.start.row;if(a>=t){s<t&&(s>=e?r-=t-s:r=0);break}a>=e&&(r-=s>=e?a-s:a-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort((function(e,t){return e.start.row-t.start.row})),e},this.addFold=function(e,t){var n,r=this.$foldData,a=!1;e instanceof o?n=e:(n=new o(t,e)).collapseChildren=t.collapseChildren,this.$clipRangeToDocument(n.range);var s=n.start.row,l=n.start.column,c=n.end.row,u=n.end.column,d=this.getFoldAt(s,l,1),m=this.getFoldAt(c,u,-1);if(d&&m==d)return d.addSubFold(n);d&&!d.range.isStart(s,l)&&this.removeFold(d),m&&!m.range.isEnd(c,u)&&this.removeFold(m);var p=this.getFoldsInRange(n.range);p.length>0&&(this.removeFolds(p),n.collapseChildren||p.forEach((function(e){n.addSubFold(e)})));for(var h=0;h<r.length;h++){var f=r[h];if(c==f.start.row){f.addFold(n),a=!0;break}if(s==f.end.row){if(f.addFold(n),a=!0,!n.sameRow){var _=r[h+1];if(_&&_.start.row==c){f.merge(_);break}}break}if(c<=f.start.row)break}return a||(f=this.$addFoldLine(new i(this.$foldData,n))),this.$useWrapMode?this.$updateWrapData(f.start.row,f.start.row):this.$updateRowLengthCache(f.start.row,f.start.row),this.$modified=!0,this._signal("changeFold",{data:n,action:"add"}),n},this.addFolds=function(e){e.forEach((function(e){this.addFold(e)}),this)},this.removeFold=function(e){var t=e.foldLine,n=t.start.row,r=t.end.row,i=this.$foldData,o=t.folds;if(1==o.length)i.splice(i.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))o.pop(),t.end.row=o[o.length-1].end.row,t.end.column=o[o.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))o.shift(),t.start.row=o[0].start.row,t.start.column=o[0].start.column;else if(e.sameRow)o.splice(o.indexOf(e),1);else{var a=t.split(e.start.row,e.start.column);(o=a.folds).shift(),a.start.row=o[0].start.row,a.start.column=o[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(n,r):this.$updateRowLengthCache(n,r)),this.$modified=!0,this._signal("changeFold",{data:e,action:"remove"})},this.removeFolds=function(e){for(var t=[],n=0;n<e.length;n++)t.push(e[n]);t.forEach((function(e){this.removeFold(e)}),this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach((function(t){e.restoreRange(t),this.addFold(t)}),this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach((function(e){this.expandFold(e)}),this)},this.unfold=function(e,t){var n,i;if(null==e?(n=new r(0,0,this.getLength(),0),null==t&&(t=!0)):n="number"==typeof e?new r(e,0,e,this.getLine(e).length):"row"in e?r.fromPoints(e,e):e,i=this.getFoldsInRangeList(n),0!=t?this.removeFolds(i):this.expandFolds(i),i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){null==r&&(r=e.start.row),null==i&&(i=0),null==t&&(t=e.end.row),null==n&&(n=this.getLine(t).length);var o=this.doc,a="";return e.walk((function(e,t,n,s){if(!(t<r)){if(t==r){if(n<i)return;s=Math.max(i,s)}a+=null!=e?e:o.getLine(t).substring(s,n)}}),t,n),a},this.getDisplayLine=function(e,t,n,r){var i,o=this.getFoldLine(e);return o?this.getFoldDisplayLine(o,e,t,n,r):(i=this.doc.getLine(e)).substring(r||0,t||i.length)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map((function(t){var n=t.folds.map((function(e){return e.clone()}));return new i(e,n)}))},this.toggleFold=function(e){var t,n,r=this.selection.getRange();if(r.isEmpty()){var i=r.start;if(t=this.getFoldAt(i.row,i.column))return void this.expandFold(t);(n=this.findMatchingBracket(i))?1==r.comparePoint(n)?r.end=n:(r.start=n,r.start.column++,r.end.column--):(n=this.findMatchingBracket({row:i.row,column:i.column+1}))?(1==r.comparePoint(n)?r.end=n:r.start=n,r.start.column++):r=this.getCommentFoldRange(i.row,i.column)||r}else{var o=this.getFoldsInRange(r);if(e&&o.length)return void this.expandFolds(o);1==o.length&&(t=o[0])}if(t||(t=this.getFoldAt(r.start.row,r.start.column)),t&&t.range.toString()==r.toString())this.expandFold(t);else{var a="...";if(!r.isMultiLine()){if((a=this.getTextRange(r)).length<4)return;a=a.trim().substring(0,2)+".."}this.addFold(a,r)}},this.getCommentFoldRange=function(e,t,n){var i=new a(this,e,t),o=i.getCurrentToken(),s=o&&o.type;if(o&&/^comment|string/.test(s)){"comment"==(s=s.match(/comment|string/)[0])&&(s+="|doc-start");var l=new RegExp(s),c=new r;if(1!=n){do{o=i.stepBackward()}while(o&&l.test(o.type));i.stepForward()}if(c.start.row=i.getCurrentTokenRow(),c.start.column=i.getCurrentTokenColumn()+2,i=new a(this,e,t),-1!=n){var u=-1;do{if(o=i.stepForward(),-1==u){var d=this.getState(i.$row);l.test(d)||(u=i.$row)}else if(i.$row>u)break}while(o&&l.test(o.type));o=i.stepBackward()}else o=i.getCurrentToken();return c.end.row=i.getCurrentTokenRow(),c.end.column=i.getCurrentTokenColumn()+o.value.length-2,c}},this.foldAll=function(e,t,n,r){null==n&&(n=1e5);var i=this.foldWidgets;if(i){t=t||this.getLength();for(var o=e=e||0;o<t;o++)if(null==i[o]&&(i[o]=this.getFoldWidget(o)),"start"==i[o]&&(!r||r(o))){var a=this.getFoldWidgetRange(o);a&&a.isMultiLine()&&a.end.row<=t&&a.start.row>=e&&(o=a.end.row,a.collapseChildren=n,this.addFold("...",a))}}},this.foldToLevel=function(e){for(this.foldAll();e-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var e=this;this.foldAll(null,null,null,(function(t){for(var n=e.getTokens(t),r=0;r<n.length;r++){var i=n[r];if("text"!=i.type||!/^\s+$/.test(i.value))return!!/comment/.test(i.type)}}))},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=e){this.$foldStyle=e,"manual"==e&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)}},this.$setFolding=function(e){this.$foldMode!=e&&(this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),e&&"manual"!=this.$foldStyle?(this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)):this.foldWidgets=null)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};for(var r,i=e-1;i>=0;){var o=n[i];if(null==o&&(o=n[i]=this.getFoldWidget(i)),"start"==o){var a=this.getFoldWidgetRange(i);if(r||(r=a),a&&a.end.row>=e)break}i--}return{range:-1!==i&&a,firstRange:r}},this.onFoldWidgetClick=function(e,t){var n={children:(t=t.domEvent).shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey};if(!this.$toggleFoldWidget(e,n)){var r=t.target||t.srcElement;r&&/ace_fold-widget/.test(r.className)&&(r.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(this.getFoldWidget){var n=this.getFoldWidget(e),r=this.getLine(e),i="end"===n?-1:1,o=this.getFoldAt(e,-1===i?0:r.length,i);if(o)return t.children||t.all?this.removeFold(o):this.expandFold(o),o;var a=this.getFoldWidgetRange(e,!0);if(a&&!a.isMultiLine()&&(o=this.getFoldAt(a.start.row,a.start.column,1))&&a.isEqual(o.range))return this.removeFold(o),o;if(t.siblings){var s=this.getParentFoldRangeData(e);if(s.range)var l=s.range.start.row+1,c=s.range.end.row;this.foldAll(l,c,t.all?1e4:0)}else t.children?(c=a?a.end.row:this.getLength(),this.foldAll(e+1,c,t.all?1e4:0)):a&&(t.all&&(a.collapseChildren=1e4),this.addFold("...",a));return a}},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(!n){var r=this.getParentFoldRangeData(t,!0);if(n=r.range||r.firstRange){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(0===n)this.foldWidgets[t]=null;else if("remove"==e.action)this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}})),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],(function(e,t,n){"use strict";var r=e("../token_iterator").TokenIterator,i=e("../range").Range;t.BracketMatch=function(){this.findMatchingBracket=function(e,t){if(0==e.column)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(""==n)return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t,n=this.getLine(e.row),r=!0,o=n.charAt(e.column-1),a=o&&o.match(/([\(\[\{])|([\)\]\}])/);if(a||(o=n.charAt(e.column),e={row:e.row,column:e.column+1},a=o&&o.match(/([\(\[\{])|([\)\]\}])/),r=!1),!a)return null;if(a[1]){if(!(s=this.$findClosingBracket(a[1],e)))return null;t=i.fromPoints(e,s),r||(t.end.column++,t.start.column--),t.cursor=t.end}else{var s;if(!(s=this.$findOpeningBracket(a[2],e)))return null;t=i.fromPoints(s,e),r||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.getMatchingBracketRanges=function(e){var t=this.getLine(e.row),n=t.charAt(e.column-1),r=n&&n.match(/([\(\[\{])|([\)\]\}])/);if(r||(n=t.charAt(e.column),e={row:e.row,column:e.column+1},r=n&&n.match(/([\(\[\{])|([\)\]\}])/)),!r)return null;var o=new i(e.row,e.column-1,e.row,e.column),a=r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e);return a?[o,new i(a.row,a.column,a.row,a.column+1)]:[o]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],o=1,a=new r(this,t.row,t.column),s=a.getCurrentToken();if(s||(s=a.stepForward()),s){n||(n=new RegExp("(\\.?"+s.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));for(var l=t.column-a.getCurrentTokenColumn()-2,c=s.value;;){for(;l>=0;){var u=c.charAt(l);if(u==i){if(0==(o-=1))return{row:a.getCurrentTokenRow(),column:l+a.getCurrentTokenColumn()}}else u==e&&(o+=1);l-=1}do{s=a.stepBackward()}while(s&&!n.test(s.type));if(null==s)break;l=(c=s.value).length-1}return null}},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],o=1,a=new r(this,t.row,t.column),s=a.getCurrentToken();if(s||(s=a.stepForward()),s){n||(n=new RegExp("(\\.?"+s.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));for(var l=t.column-a.getCurrentTokenColumn();;){for(var c=s.value,u=c.length;l<u;){var d=c.charAt(l);if(d==i){if(0==(o-=1))return{row:a.getCurrentTokenRow(),column:l+a.getCurrentTokenColumn()}}else d==e&&(o+=1);l+=1}do{s=a.stepForward()}while(s&&!n.test(s.type));if(null==s)break;l=0}return null}}}})),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],(function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),o=e("./bidihandler").BidiHandler,a=e("./config"),s=e("./lib/event_emitter").EventEmitter,l=e("./selection").Selection,c=e("./mode/text").Mode,u=e("./range").Range,d=e("./document").Document,m=e("./background_tokenizer").BackgroundTokenizer,p=e("./search_highlight").SearchHighlight,h=function(e,t){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.id="session"+ ++h.$uid,this.$foldData.toString=function(){return this.join("\n")},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),"object"==typeof e&&e.getLine||(e=new d(e)),this.setDocument(e),this.selection=new l(this),this.$bidiHandler=new o(this),a.resetOptions(this),this.setMode(t),a._signal("session",this)};h.$uid=0,function(){r.implement(this,s),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e)return this.$docRowCache=[],void(this.$screenRowCache=[]);var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){for(var n=0,r=e.length-1;n<=r;){var i=n+r>>1,o=e[i];if(t>o)n=i+1;else{if(!(t<o))return i;r=i-1}}return n-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},this.onChange=function(e){this.$modified=!0,this.$bidiHandler.onChange(e),this.$resetRowCache(e.start.row);var t=this.$updateInternalDataOnChange(e);!this.$fromUndo&&this.$undoManager&&(t&&t.length&&(this.$undoManager.add({action:"removeFolds",folds:t},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(e,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer&&this.bgTokenizer.$updateOnChange(e),this._signal("change",e)},this.setValue=function(e){this.doc.setValue(e),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(e){return this.bgTokenizer.getState(e)},this.getTokens=function(e){return this.bgTokenizer.getTokens(e)},this.getTokenAt=function(e,t){var n,r=this.bgTokenizer.getTokens(e),i=0;if(null==t){var o=r.length-1;i=this.getLine(e).length}else for(o=0;o<r.length&&!((i+=r[o].value.length)>=t);o++);return(n=r[o])?(n.index=o,n.start=i-n.value.length,n):null},this.setUndoManager=function(e){if(this.$undoManager=e,this.$informUndoManager&&this.$informUndoManager.cancel(),e){var t=this;e.addSession(this),this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.mergeUndoDeltas=!1},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):"\t"},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize==0},this.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]="ace_breakpoint";this._signal("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},this.setBreakpoint=function(e,t){void 0===t&&(t="ace_breakpoint"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.addMarker=function(e,t,n,r){var i=this.$markerId++,o={range:e,type:n||"line",renderer:"function"==typeof n?n:null,clazz:t,inFront:!!r,id:i};return r?(this.$frontMarkers[i]=o,this._signal("changeFrontMarker")):(this.$backMarkers[i]=o,this._signal("changeBackMarker")),i},this.addDynamicMarker=function(e,t){if(e.update){var n=this.$markerId++;return e.id=n,e.inFront=!!t,t?(this.$frontMarkers[n]=e,this._signal("changeFrontMarker")):(this.$backMarkers[n]=e,this._signal("changeBackMarker")),e}},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];t&&(delete(t.inFront?this.$frontMarkers:this.$backMarkers)[e],this._signal(t.inFront?"changeFrontMarker":"changeBackMarker"))},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.highlight=function(e){if(!this.$searchHighlight){var t=new p(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,n,r){"number"!=typeof t&&(n=t,t=e),n||(n="ace_step");var i=new u(e,0,t,1/0);return i.id=this.addMarker(i,n,"fullLine",r),i},this.setAnnotations=function(e){this.$annotations=e,this._signal("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);this.$autoNewLine=t?t[1]:"\n"},this.getWordRange=function(e,t){var n=this.getLine(e),r=!1;if(t>0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe)),r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))i=/\s/;else i=this.nonTokenRe;var o=t;if(o>0){do{o--}while(o>=0&&n.charAt(o).match(i));o++}for(var a=t;a<n.length&&n.charAt(a).match(i);)a++;return new u(e,o,e,a)},this.getAWordRange=function(e,t){for(var n=this.getWordRange(e,t),r=this.getLine(n.end.row);r.charAt(n.end.column).match(/[ \t]/);)n.end.column+=1;return n},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(e){this.setOption("useWorker",e)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._signal("tokenizerUpdate",e)},this.$modes=a.$modes,this.$mode=null,this.$modeId=null,this.setMode=function(e,t){if(e&&"object"==typeof e){if(e.getTokenizer)return this.$onChangeMode(e);var n=e,r=n.path}else r=e||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new c),this.$modes[r]&&!n)return this.$onChangeMode(this.$modes[r]),void(t&&t());this.$modeId=r,a.loadModule(["mode",r],function(e){if(this.$modeId!==r)return t&&t();this.$modes[r]&&!n?this.$onChangeMode(this.$modes[r]):e&&e.Mode&&(e=new e.Mode(n),n||(this.$modes[r]=e,e.$id=r),this.$onChangeMode(e)),t&&t()}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},this.$onChangeMode=function(e,t){if(t||(this.$modeId=e.$id),this.$mode!==e){var n=this.$mode;this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var r=e.getTokenizer();if(void 0!==r.on){var i=this.onReloadTokenizer.bind(this);r.on("update",i)}if(this.bgTokenizer)this.bgTokenizer.setTokenizer(r);else{this.bgTokenizer=new m(r);var o=this;this.bgTokenizer.on("update",(function(e){o._signal("tokenizerUpdate",e)}))}this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,t||(e.attachToSession&&e.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(e.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:n,mode:e}))}},this.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},this.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(e){a.warn("Could not load worker",e),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(e){this.$scrollTop===e||isNaN(e)||(this.$scrollTop=e,this._signal("changeScrollTop",e))},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(e){this.$scrollLeft===e||isNaN(e)||(this.$scrollLeft=e,this._signal("changeScrollLeft",e))},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},this.getLineWidgetMaxWidth=function(){if(null!=this.lineWidgetsWidth)return this.lineWidgetsWidth;var e=0;return this.lineWidgets.forEach((function(t){t&&t.screenWidth>e&&(e=t.screenWidth)})),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,o=this.$foldData[i],a=o?o.start.row:1/0,s=t.length,l=0;l<s;l++){if(l>a){if((l=o.end.row+1)>=s)break;a=(o=this.$foldData[i++])?o.start.row:1/0}null==n[l]&&(n[l]=this.$getStringScreenWidth(t[l])[0]),n[l]>r&&(r=n[l])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var n=e.length-1;-1!=n;n--){var r=e[n];"insert"==r.action||"remove"==r.action?this.doc.revertDelta(r):r.folds&&this.addFolds(r.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1}},this.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var n=0;n<e.length;n++){var r=e[n];"insert"!=r.action&&"remove"!=r.action||this.doc.$safeApplyDelta(r)}!t&&this.$undoSelect&&(e.selectionAfter?this.selection.fromJSON(e.selectionAfter):this.selection.setRange(this.$getUndoSelection(e,!1))),this.$fromUndo=!1}},this.setUndoSelect=function(e){this.$undoSelect=e},this.$getUndoSelection=function(e,t){function n(e){return t?"insert"!==e.action:"insert"===e.action}for(var r,i,o=0;o<e.length;o++){var a=e[o];a.start&&(r?n(a)?(i=a.start,-1==r.compare(i.row,i.column)&&r.setStart(i),i=a.end,1==r.compare(i.row,i.column)&&r.setEnd(i)):(i=a.start,-1==r.compare(i.row,i.column)&&(r=u.fromPoints(a.start,a.start))):r=n(a)?u.fromPoints(a.start,a.end):u.fromPoints(a.start,a.start))}return r},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t,n){var r=this.getTextRange(e),i=this.getFoldsInRange(e),o=u.fromPoints(t,t);if(!n){this.remove(e);var a=e.start.row-e.end.row;(c=a?-e.end.column:e.start.column-e.end.column)&&(o.start.row==e.end.row&&o.start.column>e.end.column&&(o.start.column+=c),o.end.row==e.end.row&&o.end.column>e.end.column&&(o.end.column+=c)),a&&o.start.row>=e.end.row&&(o.start.row+=a,o.end.row+=a)}if(o.end=this.insert(o.start,r),i.length){var s=e.start,l=o.start,c=(a=l.row-s.row,l.column-s.column);this.addFolds(i.map((function(e){return(e=e.clone()).start.row==s.row&&(e.start.column+=c),e.end.row==s.row&&(e.end.column+=c),e.start.row+=a,e.end.row+=a,e})))}return o},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){for(var t=e.collapseRows(),n=new u(0,0,0,0),r=this.getTabSize(),i=t.start.row;i<=t.end.row;++i){var o=this.getLine(i);n.start.row=i,n.end.row=i;for(var a=0;a<r&&" "==o.charAt(a);++a);a<r&&"\t"==o.charAt(a)?(n.start.column=a,n.end.column=a+1):(n.start.column=0,n.end.column=a),this.remove(n)}},this.$moveLines=function(e,t,n){if(e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t),n<0){if((i=this.getRowFoldStart(e+n))<0)return 0;var r=i-e}else if(n>0){var i;if((i=this.getRowFoldEnd(t+n))>this.doc.getLength()-1)return 0;r=i-t}else{e=this.$clipRowToDocument(e);r=(t=this.$clipRowToDocument(t))-e+1}var o=new u(e,0,t,Number.MAX_VALUE),a=this.getFoldsInRange(o).map((function(e){return(e=e.clone()).start.row+=r,e.end.row+=r,e})),s=0==n?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+r,s),a.length&&this.addFolds(a),r},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){if(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){this.$wrapLimitRange.min===e&&this.$wrapLimitRange.max===t||(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1&&(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0)},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,o=r.row,a=i.row,s=a-o,l=null;if(this.$updating=!0,0!=s)if("remove"===n){this[t?"$wrapData":"$rowLengthCache"].splice(o,s);var c=this.$foldData;l=this.getFoldsInRange(e),this.removeFolds(l);var u=0;if(f=this.getFoldLine(i.row)){f.addRemoveChars(i.row,i.column,r.column-i.column),f.shiftRow(-s);var d=this.getFoldLine(o);d&&d!==f&&(d.merge(f),f=d),u=c.indexOf(f)+1}for(;u<c.length;u++){(f=c[u]).start.row>=i.row&&f.shiftRow(-s)}a=o}else{var m=Array(s);m.unshift(o,0);var p=t?this.$wrapData:this.$rowLengthCache;p.splice.apply(p,m);c=this.$foldData,u=0;if(f=this.getFoldLine(o)){var h=f.range.compareInside(r.row,r.column);0==h?(f=f.split(r.row,r.column))&&(f.shiftRow(s),f.addRemoveChars(a,0,i.column-r.column)):-1==h&&(f.addRemoveChars(o,0,i.column-r.column),f.shiftRow(s)),u=c.indexOf(f)+1}for(;u<c.length;u++){var f;(f=c[u]).start.row>=o&&f.shiftRow(s)}}else s=Math.abs(e.start.column-e.end.column),"remove"===n&&(l=this.getFoldsInRange(e),this.removeFolds(l),s=-s),(f=this.getFoldLine(o))&&f.addRemoveChars(o,r.column,s);return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(o,a):this.$updateRowLengthCache(o,a),l},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(n,r){var i,o,a=this.doc.getAllLines(),s=this.getTabSize(),l=this.$wrapData,c=this.$wrapLimit,u=n;for(r=Math.min(r,a.length-1);u<=r;)(o=this.getFoldLine(u,o))?(i=[],o.walk(function(n,r,o,s){var l;if(null!=n){(l=this.$getDisplayTokens(n,i.length))[0]=e;for(var c=1;c<l.length;c++)l[c]=t}else l=this.$getDisplayTokens(a[r].substring(s,o),i.length);i=i.concat(l)}.bind(this),o.end.row,a[o.end.row].length+1),l[o.start.row]=this.$computeWrapSplits(i,c,s),u=o.end.row+1):(i=this.$getDisplayTokens(a[u]),l[u]=this.$computeWrapSplits(i,c,s),u++)};var e=3,t=4;function n(e){return!(e<4352)&&(e>=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510)}this.$computeWrapSplits=function(n,r,i){if(0==n.length)return[];var o=[],a=n.length,s=0,l=0,c=this.$wrapAsCode,u=this.$indentedSoftWrap,d=r<=Math.max(2*i,8)||!1===u?0:Math.floor(r/2);function m(e){for(var t=e-s,r=s;r<e;r++){var a=n[r];12!==a&&2!==a||(t-=1)}o.length||(p=function(){var e=0;if(0===d)return e;if(u)for(var t=0;t<n.length;t++){var r=n[t];if(10==r)e+=1;else{if(11!=r){if(12==r)continue;break}e+=i}}return c&&!1!==u&&(e+=i),Math.min(e,d)}(),o.indent=p),l+=t,o.push(l),s=e}for(var p=0;a-s>r-p;){var h=s+r-p;if(n[h-1]>=10&&n[h]>=10)m(h);else if(n[h]!=e&&n[h]!=t){for(var f=Math.max(h-(r-(r>>2)),s-1);h>f&&n[h]<e;)h--;if(c){for(;h>f&&n[h]<e;)h--;for(;h>f&&9==n[h];)h--}else for(;h>f&&n[h]<10;)h--;h>f?m(++h):(2==n[h=s+r]&&h--,m(h-p))}else{for(;h!=s-1&&n[h]!=e;h--);if(h>s){m(h);continue}for(h=s+r;h<n.length&&n[h]==t;h++);if(h==n.length)break;m(h)}}return o},this.$getDisplayTokens=function(e,t){var r,i=[];t=t||0;for(var o=0;o<e.length;o++){var a=e.charCodeAt(o);if(9==a){r=this.getScreenTabSize(i.length+t),i.push(11);for(var s=1;s<r;s++)i.push(12)}else 32==a?i.push(10):a>39&&a<48||a>57&&a<64?i.push(9):a>=4352&&n(a)?i.push(1,2):i.push(1)}return i},this.$getStringScreenWidth=function(e,t,r){if(0==t)return[0,0];var i,o;for(null==t&&(t=1/0),r=r||0,o=0;o<e.length&&(9==(i=e.charCodeAt(o))?r+=this.getScreenTabSize(r):i>=4352&&n(i)?r+=2:r+=1,!(r>t));o++);return[r,o]},this.lineWidgets=null,this.getRowLength=function(e){var t=1;return this.lineWidgets&&(t+=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0),this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+t:t},this.getRowLineCount=function(e){return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1:1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]<t.column?n.indent:0}return 0},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:void 0},this.getScreenTabSize=function(e){return this.$tabSize-(e%this.$tabSize|0)},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t,n){if(e<0)return{row:0,column:0};var r,i,o=0,a=0,s=0,l=0,c=this.$screenRowCache,u=this.$getRowCacheIndex(c,e),d=c.length;if(d&&u>=0){s=c[u],o=this.$docRowCache[u];var m=e>c[d-1]}else m=!d;for(var p=this.getLength()-1,h=this.getNextFoldLine(o),f=h?h.start.row:1/0;s<=e&&!(s+(l=this.getRowLength(o))>e||o>=p);)s+=l,++o>f&&(o=h.end.row+1,f=(h=this.getNextFoldLine(o,h))?h.start.row:1/0),m&&(this.$docRowCache.push(o),this.$screenRowCache.push(s));if(h&&h.start.row<=o)r=this.getFoldDisplayLine(h),o=h.start.row;else{if(s+l<=e||o>p)return{row:p,column:this.getLine(p).length};r=this.getLine(o),h=null}var _=0,g=Math.floor(e-s);if(this.$useWrapMode){var b=this.$wrapData[o];b&&(i=b[g],g>0&&b.length&&(_=b.indent,a=b[g-1]||b[b.length-1],r=r.substring(a)))}return void 0!==n&&this.$bidiHandler.isBidiRow(s+g,o,g)&&(t=this.$bidiHandler.offsetToCol(n)),a+=this.$getStringScreenWidth(r,t-_)[1],this.$useWrapMode&&a>=i&&(a=i-1),h?h.idxToPosition(a):{row:o,column:a}},this.documentToScreenPosition=function(e,t){if(void 0===t)var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r,i=0,o=null;(r=this.getFoldAt(e,t,1))&&(e=r.start.row,t=r.start.column);var a,s=0,l=this.$docRowCache,c=this.$getRowCacheIndex(l,e),u=l.length;if(u&&c>=0){s=l[c],i=this.$screenRowCache[c];var d=e>l[u-1]}else d=!u;for(var m=this.getNextFoldLine(s),p=m?m.start.row:1/0;s<e;){if(s>=p){if((a=m.end.row+1)>e)break;p=(m=this.getNextFoldLine(a,m))?m.start.row:1/0}else a=s+1;i+=this.getRowLength(s),s=a,d&&(this.$docRowCache.push(s),this.$screenRowCache.push(i))}var h="";m&&s>=p?(h=this.getFoldDisplayLine(m,e,t),o=m.start.row):(h=this.getLine(e).substring(0,t),o=e);var f=0;if(this.$useWrapMode){var _=this.$wrapData[o];if(_){for(var g=0;h.length>=_[g];)i++,g++;h=h.substring(_[g-1]||0,h.length),f=g>0?_.indent:0}}return this.lineWidgets&&this.lineWidgets[s]&&this.lineWidgets[s].rowsAbove&&(i+=this.lineWidgets[s].rowsAbove),{row:i,column:f+this.$getStringScreenWidth(h)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(this.$useWrapMode)for(var n=this.$wrapData.length,r=0,i=(s=0,(t=this.$foldData[s++])?t.start.row:1/0);r<n;){var o=this.$wrapData[r];e+=o?o.length+1:1,++r>i&&(r=t.end.row+1,i=(t=this.$foldData[s++])?t.start.row:1/0)}else{e=this.getLength();for(var a=this.$foldData,s=0;s<a.length;s++)e-=(t=a[s]).end.row-t.start.row}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){this.$enableVarChar&&(this.$getStringScreenWidth=function(t,n,r){if(0===n)return[0,0];var i,o;for(n||(n=1/0),r=r||0,o=0;o<t.length&&!((r+="\t"===(i=t.charAt(o))?this.getScreenTabSize(r):e.getCharacterWidth(i))>n);o++);return[r,o]})},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker(),this.removeAllListeners(),this.selection.detach()},this.isFullWidth=n}.call(h.prototype),e("./edit_session/folding").Folding.call(h.prototype),e("./edit_session/bracket_match").BracketMatch.call(h.prototype),a.defineOptions(h.prototype,"session",{wrap:{set:function(e){if(e&&"off"!=e?"free"==e?e=!0:"printMargin"==e?e=-1:"string"==typeof e&&(e=parseInt(e,10)||!1):e=!1,this.$wrap!=e)if(this.$wrap=e,e){var t="number"==typeof e?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1)},get:function(){return this.getUseWrapMode()?-1==this.$wrap?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){(e="auto"==e?"text"!=this.$mode.type:"text"!=e)!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){(e=parseInt(e))>0&&this.$tabSize!==e&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(e){this.setFoldStyle(e)},handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId},handlesSet:!0}}),t.EditSession=h})),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],(function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),o=e("./range").Range,a=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach((function(e,n,i,a){return r=new o(e,n,i,a),!(n==a&&t.start&&t.start.start&&0!=t.skipCurrent&&r.isEqual(t.start))||(r=null,!1)})),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),a=[],s=t.re;if(t.$isMultiLine){var l,c=s.length,u=i.length-c;e:for(var d=s.offset||0;d<=u;d++){for(var m=0;m<c;m++)if(-1==i[d+m].search(s[m]))continue e;var p=i[d],h=i[d+c-1],f=p.length-p.match(s[0])[0].length,_=h.match(s[c-1])[0].length;l&&l.end.row===d&&l.end.column>f||(a.push(l=new o(d,f,d+c-1,_)),c>2&&(d=d+c-2))}}else for(var g=0;g<i.length;g++){var b=r.getMatchOffsets(i[g],s);for(m=0;m<b.length;m++){var y=b[m];a.push(new o(g,y.offset,g,y.offset+y.length))}}if(n){var v=n.start.column,w=n.start.column;for(g=0,m=a.length-1;g<m&&a[g].start.column<v&&a[g].start.row==n.start.row;)g++;for(;g<m&&a[m].end.column>w&&a[m].end.row==n.end.row;)m--;for(a=a.slice(g,m+1),g=0,m=a.length;g<m;g++)a[g].start.row+=n.start.row,a[g].end.row+=n.start.row}return a},this.replace=function(e,t){var n=this.$options,r=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(r){var i=r.exec(e);if(!i||i[0].length!=e.length)return null;if(t=e.replace(r,t),n.preserveCase){t=t.split("");for(var o=Math.min(e.length,e.length);o--;){var a=e[o];a&&a.toLowerCase()!=a?t[o]=t[o].toUpperCase():t[o]=t[o].toLowerCase()}t=t.join("")}return t}},this.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var n=e.needle;if(!e.needle)return e.re=!1;e.regExp||(n=r.escapeRegExp(n)),e.wholeWord&&(n=function(e,t){function n(e){return/\w/.test(e)||t.regExp?"\\b":""}return n(e[0])+e+n(e[e.length-1])}(n,e));var i=e.caseSensitive?"gm":"gmi";if(e.$isMultiLine=!t&&/[\n\r]/.test(n),e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(n,i);try{var o=new RegExp(n,i)}catch(e){o=!1}return e.re=o},this.$assembleMultilineRegExp=function(e,t){for(var n=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),r=[],i=0;i<n.length;i++)try{r.push(new RegExp(n[i],t))}catch(e){return!1}return r},this.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var r=1==t.backwards,i=0!=t.skipCurrent,o=t.range,a=t.start;a||(a=o?o[r?"end":"start"]:e.selection.getRange()),a.start&&(a=a[i!=r?"end":"start"]);var s=o?o.start.row:0,l=o?o.end.row:e.getLength()-1;if(r)var c=function(e){var n=a.row;if(!d(n,a.column,e)){for(n--;n>=s;n--)if(d(n,Number.MAX_VALUE,e))return;if(0!=t.wrap)for(n=l,s=a.row;n>=s;n--)if(d(n,Number.MAX_VALUE,e))return}};else c=function(e){var n=a.row;if(!d(n,a.column,e)){for(n+=1;n<=l;n++)if(d(n,0,e))return;if(0!=t.wrap)for(n=s,l=a.row;n<=l;n++)if(d(n,0,e))return}};if(t.$isMultiLine)var u=n.length,d=function(t,i,o){var a=r?t-u+1:t;if(!(a<0)){var s=e.getLine(a),l=s.search(n[0]);if(!(!r&&l<i||-1===l)){for(var c=1;c<u;c++)if(-1==(s=e.getLine(a+c)).search(n[c]))return;var d=s.match(n[u-1])[0].length;if(!(r&&d>i))return!!o(a,l,a+u-1,d)||void 0}}};else if(r)d=function(t,r,i){var o,a=e.getLine(t),s=[],l=0;for(n.lastIndex=0;o=n.exec(a);){var c=o[0].length;if(l=o.index,!c){if(l>=a.length)break;n.lastIndex=l+=1}if(o.index+c>r)break;s.push(o.index,c)}for(var u=s.length-1;u>=0;u-=2){var d=s[u-1];if(i(t,d,t,d+(c=s[u])))return!0}};else d=function(t,r,i){var o,a,s=e.getLine(t);for(n.lastIndex=r;a=n.exec(s);){var l=a[0].length;if(i(t,o=a.index,t,o+l))return!0;if(!l&&(n.lastIndex=o+=1,o>=s.length))return!1}};return{forEach:c}}}).call(a.prototype),t.Search=a})),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],(function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/useragent"),o=r.KEY_MODS;function a(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function s(e,t){a.call(this,e,t),this.$singleCommand=!1}s.prototype=a.prototype,function(){function e(e){return"object"==typeof e&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&("string"==typeof e?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var o=r[i];if(o==e)delete r[i];else if(Array.isArray(o)){var a=o.indexOf(e);-1!=a&&(o.splice(a,1),1==o.length&&(r[i]=o[0]))}}},this.bindKey=function(e,t,n){if("object"==typeof e&&e&&(null==n&&(n=e.position),e=e[this.platform]),e)return"function"==typeof t?this.addCommand({exec:t,bindKey:e,name:t.name||e}):void e.split("|").forEach((function(e){var r="";if(-1!=e.indexOf(" ")){var i=e.split(/\s+/);e=i.pop(),i.forEach((function(e){var t=this.parseKeys(e),n=o[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")}),this),r+=" "}var a=this.parseKeys(e),s=o[a.hashId]+a.key;this._addCommandToBinding(r+s,t,n)}),this)},this._addCommandToBinding=function(t,n,r){var i,o=this.commandKeyBinding;if(n)if(!o[t]||this.$singleCommand)o[t]=n;else{Array.isArray(o[t])?-1!=(i=o[t].indexOf(n))&&o[t].splice(i,1):o[t]=[o[t]],"number"!=typeof r&&(r=e(n));var a=o[t];for(i=0;i<a.length;i++){if(e(a[i])>r)break}a.splice(i,0,n)}else delete o[t]},this.addCommands=function(e){e&&Object.keys(e).forEach((function(t){var n=e[t];if(n){if("string"==typeof n)return this.bindKey(n,t);"function"==typeof n&&(n={exec:n}),"object"==typeof n&&(n.name||(n.name=t),this.addCommand(n))}}),this)},this.removeCommands=function(e){Object.keys(e).forEach((function(t){this.removeCommand(e[t])}),this)},this.bindKeys=function(e){Object.keys(e).forEach((function(t){this.bindKey(t,e[t])}),this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter((function(e){return e})),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(1==t.length&&"shift"==t[0])return{key:n.toUpperCase(),hashId:-1}}for(var o=0,a=t.length;a--;){var s=r.KEY_MODS[t[a]];if(null==s)return"undefined"!=typeof console&&console.error("invalid modifier "+t[a]+" in "+e),!1;o|=s}return{key:n,hashId:o}},this.findKeyCommand=function(e,t){var n=o[e]+t;return this.commandKeyBinding[n]},this.handleKeyboard=function(e,t,n,r){if(!(r<0)){var i=o[t]+n,a=this.commandKeyBinding[i];return e.$keyChain&&(e.$keyChain+=" "+i,a=this.commandKeyBinding[e.$keyChain]||a),!a||"chainKeys"!=a&&"chainKeys"!=a[a.length-1]?(e.$keyChain&&(t&&4!=t||1!=n.length?(-1==t||r>0)&&(e.$keyChain=""):e.$keyChain=e.$keyChain.slice(0,-i.length-1)),{command:a}):(e.$keyChain=e.$keyChain||i,{command:"null"})}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(a.prototype),t.HashHandler=a,t.MultiHashHandler=s})),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],(function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,o=e("../lib/event_emitter").EventEmitter,a=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",(function(e){return e.command.exec(e.editor,e.args||{})}))};r.inherits(a,i),function(){r.implement(this,o),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}if("string"==typeof e&&(e=this.commands[e]),!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;if(0!=this.$checkCommandState&&e.isAvailable&&!e.isAvailable(t))return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),!1!==i.returnValue},this.toggleRecording=function(e){if(!this.$inReplay)return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach((function(t){"string"==typeof t?this.exec(t,e):this.exec(t[0],e,t[1])}),this)}finally{this.$inReplay=!1}}},this.trimMacro=function(e){return e.map((function(e){return"string"!=typeof e[0]&&(e[0]=e[0].name),e[1]||(e=e[0]),e}))}}.call(a.prototype),t.CommandManager=a})),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],(function(e,t,n){"use strict";var r=e("../lib/lang"),i=e("../config"),o=e("../range").Range;function a(e,t){return{win:e,mac:t}}t.commands=[{name:"showSettingsMenu",bindKey:a("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",(function(t){t.init(e),e.showSettingsMenu()}))},readOnly:!0},{name:"goToNextError",bindKey:a("Alt-E","F4"),exec:function(e){i.loadModule("./ext/error_marker",(function(t){t.showErrorMarker(e,1)}))},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:a("Alt-Shift-E","Shift-F4"),exec:function(e){i.loadModule("./ext/error_marker",(function(t){t.showErrorMarker(e,-1)}))},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:a("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:a(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:a("Ctrl-L","Command-L"),exec:function(e,t){"number"!=typeof t||isNaN(t)||e.gotoLine(t),e.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:a("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:a("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:a("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:a("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:a(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:a(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:a("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:a("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:a("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:a("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:a("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:a("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:a("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",(function(t){t.Search(e)}))},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:a("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:a("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:a("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:a("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:a("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:a("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:a("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:a("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:a("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:a("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:a("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:a("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:a("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:a("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:a("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:a("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:a("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:a("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:a("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:a("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:a(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:a("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:a(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:a("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:a("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:a("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:a("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:a("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:a("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:a("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:a(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(e){},readOnly:!0},{name:"cut",description:"Cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty()?e.selection.getLineRange():e.selection.getRange();e._emit("cut",t),t.isEmpty()||e.session.remove(t),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:a("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:a("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:a("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:a("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:a("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:a("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:a("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:a("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",(function(t){t.Search(e,!0)}))}},{name:"undo",description:"Undo",bindKey:a("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",description:"Redo",bindKey:a("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:a("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:a("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:a("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:a("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:a("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:a("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:a("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:a("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:a("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:a("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:a("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:a("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:a("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:a("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:a("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:a("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:a("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:a(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:a("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:a("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:a("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:a(null,null),exec:function(e){e.autoIndent()},multiSelectAction:"forEachLine",scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:a("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",description:"Join lines",bindKey:a(null,null),exec:function(e){for(var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),a=e.session.doc.getLine(n.row).length,s=e.session.doc.getTextRange(e.selection.getRange()).replace(/\n\s*/," ").length,l=e.session.doc.getLine(n.row),c=n.row+1;c<=i.row+1;c++){var u=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(c)));0!==u.length&&(u=" "+u),l+=u}i.row+1<e.session.doc.getLength()-1&&(l+=e.session.doc.getNewLineCharacter()),e.clearSelection(),e.session.doc.replace(new o(n.row,0,i.row+2,0),l),s>0?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+s)):(a=e.session.doc.getLine(n.row).length>a?a+1:a,e.selection.moveCursorTo(n.row,a))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:a(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var a=0;a<r.length;a++)a==r.length-1&&(r[a].end.row===t&&r[a].end.column===n||i.push(new o(r[a].end.row,r[a].end.column,t,n))),0===a?0===r[a].start.row&&0===r[a].start.column||i.push(new o(0,0,r[a].start.row,r[a].start.column)):i.push(new o(r[a-1].end.row,r[a-1].end.column,r[a].start.row,r[a].start.column));e.exitMultiSelectMode(),e.clearSelection();for(a=0;a<i.length;a++)e.selection.addRange(i[a],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",exec:function(e){e.selection.clearSelection(),e.navigateLineEnd(),e.insert("\n")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",exec:function(e){e.selection.clearSelection();var t=e.getCursorPosition();e.selection.moveTo(t.row-1,Number.MAX_VALUE),e.insert("\n"),0===t.row&&e.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",description:"Open command pallete",bindKey:a("F1","F1"),exec:function(e){e.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:a(null,null),exec:function(e){e.prompt({$type:"modes"})},readOnly:!0}];for(var s=1;s<9;s++)t.commands.push({name:"foldToLevel"+s,description:"Fold To Level "+s,level:s,exec:function(e){e.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})})),ace.define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/clipboard"],(function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/oop"),i=e("./lib/dom"),o=e("./lib/lang"),a=e("./lib/useragent"),s=e("./keyboard/textinput").TextInput,l=e("./mouse/mouse_handler").MouseHandler,c=e("./mouse/fold_handler").FoldHandler,u=e("./keyboard/keybinding").KeyBinding,d=e("./edit_session").EditSession,m=e("./search").Search,p=e("./range").Range,h=e("./lib/event_emitter").EventEmitter,f=e("./commands/command_manager").CommandManager,_=e("./commands/default_commands").commands,g=e("./config"),b=e("./token_iterator").TokenIterator,y=e("./clipboard"),v=function(e,t,n){this.$toDestroy=[];var r=e.getContainerElement();this.container=r,this.renderer=e,this.id="editor"+ ++v.$uid,this.commands=new f(a.isMac?"mac":"win",_),"object"==typeof document&&(this.textInput=new s(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new l(this),new c(this)),this.keyBinding=new u(this),this.$search=(new m).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=o.delayedCall(function(){this._signal("input",{}),this.session&&this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",(function(e,t){t._$emitInputEvent.schedule(31)})),this.setSession(t||n&&n.session||new d("")),g.resetOptions(this),n&&this.setOptions(n),g._signal("editor",this)};v.$uid=0,function(){r.implement(this,h),this.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=o.delayedCall(this.endOperation.bind(this,!0)),this.on("change",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(this.previousCommand=null,e={}),this.$opResetTimer.schedule(),this.curOp=this.session.curOp={command:e.command||{},args:e.args,scrollTop:this.renderer.scrollTop},this.curOp.selectionBefore=this.selection.toJSON()},this.endOperation=function(e){if(this.curOp&&this.session){if(e&&!1===e.returnValue||!this.session)return this.curOp=null;if(1==e&&this.curOp.command&&"mouse"==this.curOp.command.name)return;if(this._signal("beforeEndOperation"),!this.curOp)return;var t=this.curOp.command,n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var r=this.selection.getRange(),i=this.renderer.layerConfig;(r.start.row>=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==n&&this.renderer.animateScrolling(this.curOp.scrollTop)}var o=this.selection.toJSON();this.curOp.selectionAfter=o,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(o),this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(this.$mergeUndoDeltas){var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if("insertstring"==e.command.name){var i=e.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&-1!==n.indexOf(e.command.name);"always"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:-1!==n.indexOf(e.command.name)&&(this.sequenceStartTime=Date.now())}},this.setKeyboardHandler=function(e,t){if(e&&"string"==typeof e&&"ace"!=e){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],(function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()}))}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session!=e){this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this}),e&&e.bgTokenizer&&e.bgTokenizer.scheduleStart()}},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?1==t?this.navigateFileEnd():-1==t&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container).fontSize},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){if(!this.$highlightPending){var e=this;this.$highlightPending=!0,setTimeout((function(){e.$highlightPending=!1;var t=e.session;if(t&&t.bgTokenizer){t.$bracketHighlight&&(t.$bracketHighlight.markerIds.forEach((function(e){t.removeMarker(e)})),t.$bracketHighlight=null);var n=t.getMatchingBracketRanges(e.getCursorPosition());if(!n&&t.$mode.getMatching&&(n=t.$mode.getMatching(e.session)),n){var r="ace_bracket";Array.isArray(n)?1==n.length&&(r="ace_error_bracket"):n=[n],2==n.length&&(0==p.comparePoints(n[0].end,n[1].start)?n=[p.fromPoints(n[0].start,n[1].end)]:0==p.comparePoints(n[0].start,n[1].end)&&(n=[p.fromPoints(n[1].start,n[0].end)])),t.$bracketHighlight={ranges:n,markerIds:n.map((function(e){return t.addMarker(e,r,"text")}))}}}}),50)}},this.$highlightTags=function(){if(!this.$highlightTagPending){var e=this;this.$highlightTagPending=!0,setTimeout((function(){e.$highlightTagPending=!1;var t=e.session;if(t&&t.bgTokenizer){var n=e.getCursorPosition(),r=new b(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type))return t.removeMarker(t.$tagHighlight),void(t.$tagHighlight=null);if(-1===i.type.indexOf("tag-open")||(i=r.stepForward())){var o=i.value,a=i.value,s=0,l=r.stepBackward();if("<"===l.value)do{l=i,(i=r.stepForward())&&(-1!==i.type.indexOf("tag-name")?o===(a=i.value)&&("<"===l.value?s++:"</"===l.value&&s--):o===a&&"/>"===i.value&&s--)}while(i&&s>=0);else{do{if(i=l,l=r.stepBackward(),i)if(-1!==i.type.indexOf("tag-name"))o===i.value&&("<"===l.value?s++:"</"===l.value&&s--);else if("/>"===i.value){for(var c=0,u=l;u;){if(-1!==u.type.indexOf("tag-name")&&u.value===o){s--;break}if("<"===u.value)break;u=r.stepBackward(),c++}for(var d=0;d<c;d++)r.stepForward()}}while(l&&s<=0);r.stepForward()}if(!i)return t.removeMarker(t.$tagHighlight),void(t.$tagHighlight=null);var m=r.getCurrentTokenRow(),h=r.getCurrentTokenColumn(),f=new p(m,h,m,h+i.value.length),_=t.$backMarkers[t.$tagHighlight];t.$tagHighlight&&null!=_&&0!==f.compareRange(_.range)&&(t.removeMarker(t.$tagHighlight),t.$tagHighlight=null),t.$tagHighlight||(t.$tagHighlight=t.addMarker(f,"ace_bracket","text"))}}}),50)}},this.focus=function(){var e=this;setTimeout((function(){e.isFocused()||e.textInput.focus()})),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(e){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",e))},this.onBlur=function(e){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",e))},this.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$highlightTags(),this.$updateHighlightActiveLine()},this.onDocumentChange=function(e){var t=this.session.$useWrapMode,n=e.start.row==e.end.row?e.end.row:1/0;this.renderer.updateLines(e.start.row,n,t),this._signal("change",e),this.$cursorChange()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},this.$updateHighlightActiveLine=function(){var e,t=this.getSession();if(this.$highlightActiveLine&&("line"==this.$selectionStyle&&this.selection.isMultiLine()||(e=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(e=!1),!this.renderer.$maxLines||1!==this.session.getLength()||this.renderer.$minLines>1||(e=!1)),t.$highlightLineMarker&&!e)t.removeMarker(t.$highlightLineMarker.id),t.$highlightLineMarker=null;else if(!t.$highlightLineMarker&&e){var n=new p(e.row,e.column,e.row,1/0);n.id=t.addMarker(n,"ace_active-line","screenLine"),t.$highlightLineMarker=n}else e&&(t.$highlightLineMarker.start.row=e.row,t.$highlightLineMarker.end.row=e.row,t.$highlightLineMarker.start.column=e.column,t._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;if(t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(!t.isEmpty()&&!t.isMultiLine()){var n=t.start.column,r=t.end.column,i=e.getLine(t.start.row),o=i.substring(n,r);if(!(o.length>5e3)&&/[\w\d]/.test(o)){var a=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o}),s=i.substring(n-1,r+1);if(a.test(s))return a}}},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText(),t=this.session.doc.getNewLineCharacter(),n=!1;if(!e&&this.$copyWithEmptySelection){n=!0;for(var r=this.selection.getAllRanges(),i=0;i<r.length;i++){var o=r[i];i&&r[i-1].start.row==o.start.row||(e+=this.session.getLine(o.start.row)+t)}}var a={text:e};return this._signal("copy",a),y.lineMode=n?a.text:"",a.text},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec("paste",this,n)},this.$handlePaste=function(e){"string"==typeof e&&(e={text:e}),this._signal("paste",e);var t=e.text,n=t==y.lineMode,r=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)n?r.insert({row:this.selection.lead.row,column:0},t):this.insert(t);else if(n)this.selection.rangeList.ranges.forEach((function(e){r.insert({row:e.start.row,column:0},t)}));else{var i=t.split(/\r\n|\r|\n/),o=this.selection.rangeList.ranges,a=!(2!=i.length||i[0]&&i[1]);if(i.length!=o.length||a)return this.commands.exec("insertstring",this,t);for(var s=o.length;s--;){var l=o[s];l.isEmpty()||r.remove(l),r.insert(l.start,i[s])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var o=r.transformAction(n.getState(i.row),"insertion",this,n,e);o&&(e!==o.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),e=o.text)}if("\t"==e&&(e=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&-1==e.indexOf("\n")){(a=new p.fromPoints(i,i)).end.column+=e.length,this.session.remove(a)}}else{var a=this.getSelectionRange();i=this.session.remove(a),this.clearSelection()}if("\n"==e||"\r\n"==e){var s=n.getLine(i.row);if(i.column>s.search(/\S|$/)){var l=s.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+l)}}this.clearSelection();var c=i.column,u=n.getState(i.row),d=(s=n.getLine(i.row),r.checkOutdent(u,s,e));if(n.insert(i,e),o&&o.selection&&(2==o.selection.length?this.selection.setSelectionRange(new p(i.row,c+o.selection[0],i.row,c+o.selection[1])):this.selection.setSelectionRange(new p(i.row+o.selection[0],o.selection[1],i.row+o.selection[2],o.selection[3]))),this.$enableAutoIndent){if(n.getDocument().isNewLine(e)){var m=r.getNextLineIndent(u,s.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},m)}d&&r.autoOutdent(u,n,i.row)}},this.autoIndent=function(){var e,t,n=this.session,r=n.getMode();if(this.selection.isEmpty())e=0,t=n.doc.getLength()-1;else{var i=this.getSelectionRange();e=i.start.row,t=i.end.row}for(var o,a,s,l="",c="",u="",d=n.getTabString(),m=e;m<=t;m++)m>0&&(l=n.getState(m-1),c=n.getLine(m-1),u=r.getNextLineIndent(l,c,d)),o=n.getLine(m),u!==(a=r.$getIndent(o))&&(a.length>0&&(s=new p(m,0,m,a.length),n.remove(s)),u.length>0&&n.insert({row:m,column:0},u)),r.autoOutdent(l,n,m)},this.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:"insertstring"}});var n=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(n):n(),this.endOperation()},this.applyComposition=function(e,t){var n;(t.extendLeft||t.extendRight)&&((n=this.selection.getRange()).start.column-=t.extendLeft,n.end.column+=t.extendRight,n.start.column<0&&(n.start.row--,n.start.column+=this.session.getLine(n.start.row).length+1),this.selection.setRange(n),e||n.isEmpty()||this.remove());(!e&&this.selection.isEmpty()||this.insert(e,!0),t.restoreStart||t.restoreEnd)&&((n=this.selection.getRange()).start.column-=t.restoreStart,n.end.column-=t.restoreEnd,this.selection.setRange(n))},this.onCommandKey=function(e,t,n){return this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&("left"==e?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(0===t.end.column){var o=n.getTextRange(t);if("\n"==o[o.length-1]){var a=n.getLine(t.end.row);/^\s+$/.test(a)&&(t.end.column=a.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(this.selection.isEmpty()){var e=this.getCursorPosition(),t=e.column;if(0!==t){var n,r,i=this.session.getLine(e.row);t<i.length?(n=i.charAt(t)+i.charAt(t-1),r=new p(e.row,t-1,e.row,t+1)):(n=i.charAt(t-1)+i.charAt(t-2),r=new p(e.row,t-2,e.row,t)),this.session.replace(r,n),this.session.selection.moveToPosition(r.end)}}},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(!(t.start.row<t.end.row)){if(t.start.column<t.end.column){var n=e.getTextRange(t);if(!/^\s+$/.test(n)){u=this.$getSelectedRows();return void e.indentRows(u.first,u.last,"\t")}}var r=e.getLine(t.start.row),i=t.start,a=e.getTabSize(),s=e.documentToScreenColumn(i.row,i.column);if(this.session.getUseSoftTabs())var l=a-s%a,c=o.stringRepeat(" ",l);else{for(l=s%a;" "==r[t.start.column-1]&&l;)t.start.column--,l--;this.selection.setSelectionRange(t),c="\t"}return this.insert(c)}var u=this.$getSelectedRows();e.indentRows(u.first,u.last,"\t")},this.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last,"\t")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){for(var e=this.$getSelectedRows(),t=this.session,n=[],r=e.first;r<=e.last;r++)n.push(t.getLine(r));n.sort((function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0}));var i=new p(0,0,0,0);for(r=e.first;r<=e.last;r++){var o=t.getLine(r);i.start.row=r,i.end.row=r,i.end.column=o.length,t.replace(i,n[r-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;for(var r=this.session.getLine(e);n.lastIndex<t;){var i=n.exec(r);if(i.index<=t&&i.index+i[0].length>=t)return{value:i[0],start:i.index,end:i.index+i[0].length}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var o=this.getNumberAt(t,n);if(o){var a=o.value.indexOf(".")>=0?o.start+o.value.indexOf(".")+1:o.end,s=o.start+o.value.length-a,l=parseFloat(o.value);l*=Math.pow(10,s),a!==o.end&&n<a?e*=Math.pow(10,o.end-n-1):e*=Math.pow(10,o.end-n),l+=e;var c=(l/=Math.pow(10,s)).toFixed(s),u=new p(t,o.start,t,o.end);this.session.replace(u,c),this.moveCursorTo(t,Math.max(o.start+1,n+c.length-o.value.length))}}else this.toggleWord()},this.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],this.toggleWord=function(){var e=this.selection.getCursor().row,t=this.selection.getCursor().column;this.selection.selectWord();var n=this.getSelectedText(),r=this.selection.getWordRange().start.column,i=n.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),a=t-r-1;a<0&&(a=0);var s=0,l=0,c=this;n.match(/[A-Za-z0-9_]+/)&&i.forEach((function(t,i){l=s+t.length,a>=s&&a<=l&&(n=t,c.selection.clearSelection(),c.moveCursorTo(e,s+r),c.selection.selectTo(e,l+r)),s=l}));for(var u,d=this.$toggleWordPairs,m=0;m<d.length;m++)for(var p=d[m],h=0;h<=1;h++){var f=+!h,_=n.match(new RegExp("^\\s?_?("+o.escapeRegExp(p[h])+")\\s?$","i"));if(_)n.match(new RegExp("([_]|^|\\s)("+o.escapeRegExp(_[1])+")($|\\s)","g"))&&(u=n.replace(new RegExp(o.escapeRegExp(p[h]),"i"),(function(e){var t=p[f];return e.toUpperCase()==e?t=t.toUpperCase():e.charAt(0).toUpperCase()==e.charAt(0)&&(t=t.substr(0,0)+p[f].charAt(0).toUpperCase()+t.substr(1)),t})),this.insert(u),u="")}},this.removeLines=function(){var e=this.$getSelectedRows();this.session.removeFullLines(e.first,e.last),this.clearSelection()},this.duplicateSelection=function(){var e=this.selection,t=this.session,n=e.getRange(),r=e.isBackwards();if(n.isEmpty()){var i=n.start.row;t.duplicateLines(i,i)}else{var o=r?n.start:n.end,a=t.insert(o,t.getTextRange(n),!1);n.start=o,n.end=a,e.setSelectionRange(n,r)}},this.moveLinesDown=function(){this.$moveLines(1,!1)},this.moveLinesUp=function(){this.$moveLines(-1,!1)},this.moveText=function(e,t,n){return this.session.moveText(e,t,n)},this.copyLinesUp=function(){this.$moveLines(-1,!0)},this.copyLinesDown=function(){this.$moveLines(1,!0)},this.$moveLines=function(e,t){var n,r,i=this.selection;if(!i.inMultiSelectMode||this.inVirtualSelectionMode){var o=i.toOrientedRange();n=this.$getSelectedRows(o),r=this.session.$moveLines(n.first,n.last,t?0:e),t&&-1==e&&(r=0),o.moveBy(r,0),i.fromOrientedRange(o)}else{var a=i.rangeList.ranges;i.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var s=0,l=0,c=a.length,u=0;u<c;u++){var d=u;a[u].moveBy(s,0);for(var m=(n=this.$getSelectedRows(a[u])).first,p=n.last;++u<c;){l&&a[u].moveBy(l,0);var h=this.$getSelectedRows(a[u]);if(t&&h.first!=p)break;if(!t&&h.first>p+1)break;p=h.last}for(u--,s=this.session.$moveLines(m,p,t?0:e),t&&-1==e&&(d=u+1);d<=u;)a[d].moveBy(s,0),d++;t||(s=0),l+=s}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(e)},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);!0===t?this.selection.$moveSelection((function(){this.moveCursorBy(i,0)})):!1===t&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection());var o=n.scrollTop;n.scrollBy(0,i*r.lineHeight),null!=t&&n.scrollCursorIntoView(null,.5),n.animateScrolling(o)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.selection.selectAll()},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new b(this.session,n.row,n.column),i=r.getCurrentToken(),o=i||r.stepForward();if(o){var a,s,l=!1,c={},u=n.column-o.start,d={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(o.value.match(/[{}()\[\]]/g)){for(;u<o.value.length&&!l;u++)if(d[o.value[u]])switch(s=d[o.value[u]]+"."+o.type.replace("rparen","lparen"),isNaN(c[s])&&(c[s]=0),o.value[u]){case"(":case"[":case"{":c[s]++;break;case")":case"]":case"}":c[s]--,-1===c[s]&&(a="bracket",l=!0)}}else-1!==o.type.indexOf("tag-name")&&(isNaN(c[o.value])&&(c[o.value]=0),"<"===i.value?c[o.value]++:"</"===i.value&&c[o.value]--,-1===c[o.value]&&(a="tag",l=!0));l||(i=o,o=r.stepForward(),u=0)}while(o&&!l);if(a){var m,h;if("bracket"===a)(m=this.session.getBracketRange(n))||(h=(m=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+u-1,r.getCurrentTokenRow(),r.getCurrentTokenColumn()+u-1)).start,(t||h.row===n.row&&Math.abs(h.column-n.column)<2)&&(m=this.session.getBracketRange(h)));else if("tag"===a){if(!o||-1===o.type.indexOf("tag-name"))return;var f=o.value;if(0===(m=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2,r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2)).compare(n.row,n.column)){l=!1;do{o=i,(i=r.stepBackward())&&(-1!==i.type.indexOf("tag-close")&&m.setEnd(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+1),o.value===f&&-1!==o.type.indexOf("tag-name")&&("<"===i.value?c[f]++:"</"===i.value&&c[f]--,0===c[f]&&(l=!0)))}while(i&&!l)}o&&o.type.indexOf("tag-name")&&(h=m.start).row==n.row&&Math.abs(h.column-n.column)<2&&(h=m.end)}(h=m&&m.cursor||h)&&(e?m&&t?this.selection.setRange(m):m&&m.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(h.row,h.column):this.selection.moveTo(h.row,h.column))}}},this.gotoLine=function(e,t,n){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,n)},this.navigateTo=function(e,t){this.selection.moveTo(e,t)},this.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(-e||-1,0)},this.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(e||1,0)},this.navigateLeft=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorLeft();else{var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateRight=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorRight();else{var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var n=this.$search.find(this.session),r=0;return n?(this.$tryReplace(n,e)&&(r=1),this.selection.setSelectionRange(n),this.renderer.scrollSelectionIntoView(n.start,n.end),r):r},this.replaceAll=function(e,t){t&&this.$search.set(t);var n=this.$search.findAll(this.session),r=0;if(!n.length)return r;var i=this.getSelectionRange();this.selection.moveTo(0,0);for(var o=n.length-1;o>=0;--o)this.$tryReplace(n[o],e)&&r++;return this.selection.setSelectionRange(i),r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return null!==(t=this.$search.replace(n,t))?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),"string"==typeof e||e instanceof RegExp?t.needle=e:"object"==typeof e&&r.mixin(t,e);var i=this.selection.getRange();null==t.needle&&((e=this.session.getTextRange(i)||this.$search.$options.needle)||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var o=this.$search.find(this.session);return t.preventScroll?o:o?(this.revealRange(o,n),o):(t.backwards?i.start=i.end:i.end=i.start,void this.selection.setRange(i))},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.session.unfold(e),this.selection.setSelectionRange(e);var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),!1!==t&&this.renderer.animateScrolling(n)},this.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach((function(e){e.destroy()})),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},this.setAutoScrollEditorIntoView=function(e){if(e){var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var o=this.on("changeSelection",(function(){r=!0})),a=this.renderer.on("beforeRender",(function(){r&&(t=n.renderer.container.getBoundingClientRect())})),s=this.renderer.on("afterRender",(function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,o=e.$cursorLayer.$pixelPos,a=e.layerConfig,s=o.top-a.offset;null!=(r=o.top>=0&&s+t.top<0||!(o.top<a.height&&o.top+t.top+a.lineHeight>window.innerHeight)&&null)&&(i.style.top=s+"px",i.style.left=o.left+"px",i.style.height=a.lineHeight+"px",i.scrollIntoView(r)),r=t=null}}));this.setAutoScrollEditorIntoView=function(e){e||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",o),this.renderer.off("afterRender",s),this.renderer.off("beforeRender",a))}}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&"wide"!=e,i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e)))},this.prompt=function(e,t,n){var r=this;g.loadModule("./ext/prompt",(function(i){i.prompt(r,e,t,n)}))}}.call(v.prototype),g.defineOptions(v.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.textInput.setReadOnly(e),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?w.attach(this):w.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?w.attach(this):w.detach(this)}},placeholder:{set:function(e){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var e=this.session&&(this.renderer.$composition||this.getValue());if(e&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),i.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(e||this.renderer.placeholderNode)!e&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"");else{this.renderer.on("afterRender",this.$updatePlaceholder),i.addCssClass(this.container,"ace_hasPlaceholder");var t=i.createElement("div");t.className="ace_placeholder",t.textContent=this.$placeholder||"",this.renderer.placeholderNode=t,this.renderer.content.appendChild(this.renderer.placeholderNode)}}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var w={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"·":""))+""},getWidth:function(e,t,n){return Math.max(t.toString().length,(n.lastRow+1).toString().length,2)*n.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}};t.Editor=v})),ace.define("ace/undomanager",["require","exports","module","ace/range"],(function(e,t,n){"use strict";var r=function(){this.$maxRev=0,this.$fromUndo=!1,this.reset()};(function(){this.addSession=function(e){this.$session=e},this.add=function(e,t,n){this.$fromUndo||e!=this.$lastDelta&&(this.$keepRedoStack||(this.$redoStack.length=0),!1!==t&&this.lastDeltas||(this.lastDeltas=[],this.$undoStack.push(this.lastDeltas),e.id=this.$rev=++this.$maxRev),"remove"!=e.action&&"insert"!=e.action||(this.$lastDelta=e),this.lastDeltas.push(e))},this.addSelection=function(e,t){this.selections.push({value:e,rev:t||this.$rev})},this.startNewGroup=function(){return this.lastDeltas=null,this.$rev},this.markIgnored=function(e,t){null==t&&(t=this.$rev+1);for(var n=this.$undoStack,r=n.length;r--;){var i=n[r][0];if(i.id<=e)break;i.id<t&&(i.ignore=!0)}this.lastDeltas=null},this.getSelection=function(e,t){for(var n=this.selections,r=n.length;r--;){var i=n[r];if(i.rev<e)return t&&(i=n[r+1]),i}},this.getRevision=function(){return this.$rev},this.getDeltas=function(e,t){null==t&&(t=this.$rev+1);for(var n=this.$undoStack,r=null,i=0,o=n.length;o--;){var a=n[o][0];if(a.id<t&&!r&&(r=o+1),a.id<=e){i=o+1;break}}return n.slice(i,r)},this.getChangedRanges=function(e,t){null==t&&(t=this.$rev+1)},this.getChangedLines=function(e,t){null==t&&(t=this.$rev+1)},this.undo=function(e,t){this.lastDeltas=null;var n=this.$undoStack;if(function(e,t){for(var n=t;n--;){var r=e[n];if(r&&!r[0].ignore){for(;n<t-1;){var i=u(e[n],e[n+1]);e[n]=i[0],e[n+1]=i[1],n++}return!0}}}(n,n.length)){e||(e=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var r=n.pop(),i=null;return r&&(i=e.undoChanges(r,t),this.$redoStack.push(r),this.$syncRev()),this.$fromUndo=!1,i}},this.redo=function(e,t){if(this.lastDeltas=null,e||(e=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var n=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);!function(e,t){for(var n=0;n<t.length;n++)for(var r=t[n],i=0;i<r.length;i++)f(e,r[i])}(this.$redoStack,n),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach((function(e){e[0].id=++this.$maxRev}),this)}var r=this.$redoStack.pop(),i=null;return r&&(i=e.redoChanges(r,t),this.$undoStack.push(r),this.$syncRev()),this.$fromUndo=!1,i},this.$syncRev=function(){var e=this.$undoStack,t=e[e.length-1],n=t&&t[0].id||0;this.$redoStackBaseRev=n,this.$rev=n},this.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},this.canUndo=function(){return this.$undoStack.length>0},this.canRedo=function(){return this.$redoStack.length>0},this.bookmark=function(e){null==e&&(e=this.$rev),this.mark=e},this.isAtBookmark=function(){return this.$rev===this.mark},this.toJSON=function(){},this.fromJSON=function(){},this.hasUndo=this.canUndo,this.hasRedo=this.canRedo,this.isClean=this.isAtBookmark,this.markClean=this.bookmark,this.$prettyPrint=function(e){return e?s(e):s(this.$undoStack)+"\n---\n"+s(this.$redoStack)}}).call(r.prototype);var i=e("./range").Range,o=i.comparePoints;i.comparePoints;function a(e){return{row:e.row,column:e.column}}function s(e){if(e=e||this,Array.isArray(e))return e.map(s).join("\n");var t="";return e.action?(t="insert"==e.action?"+":"-",t+="["+e.lines+"]"):e.value&&(t=Array.isArray(e.value)?e.value.map(l).join("\n"):l(e.value)),e.start&&(t+=l(e)),(e.id||e.rev)&&(t+="\t("+(e.id||e.rev)+")"),t}function l(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e.end.column}function c(e,t){var n="insert"==e.action,r="insert"==t.action;if(n&&r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}else if(!n&&r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(!n&&!r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}return[t,e]}function u(e,t){for(var n=e.length;n--;)for(var r=0;r<t.length;r++)if(!c(e[n],t[r])){for(;n<e.length;){for(;r--;)c(t[r],e[n]);r=t.length,n++}return[e,t]}return e.selectionBefore=t.selectionBefore=e.selectionAfter=t.selectionAfter=null,[t,e]}function d(e,t){var n="insert"==e.action,r="insert"==t.action;if(n&&r)o(e.start,t.start)<0?m(t,e,1):m(e,t,1);else if(n&&!r)o(e.start,t.end)>=0?m(e,t,-1):(o(e.start,t.start)<=0||m(e,i.fromPoints(t.start,e.start),-1),m(t,e,1));else if(!n&&r)o(t.start,e.end)>=0?m(t,e,-1):(o(t.start,e.start)<=0||m(t,i.fromPoints(e.start,t.start),-1),m(e,t,1));else if(!n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{var a,s;if(!(o(t.end,e.start)<=0))return o(e.start,t.start)<0&&(a=e,e=h(e,t.start)),o(e.end,t.end)>0&&(s=h(e,t.end)),p(t.end,e.start,e.end,-1),s&&!a&&(e.lines=s.lines,e.start=s.start,e.end=s.end,s=e),[t,a,s].filter(Boolean);m(e,t,-1)}return[t,e]}function m(e,t,n){p(e.start,t.start,t.end,n),p(e.end,t.start,t.end,n)}function p(e,t,n,r){e.row==(1==r?t:n).row&&(e.column+=r*(n.column-t.column)),e.row+=r*(n.row-t.row)}function h(e,t){var n=e.lines,r=e.end;e.end=a(t);var i=e.end.row-e.start.row,o=n.splice(i,n.length),s=i?t.column:t.column-e.start.column;return n.push(o[0].substring(0,s)),o[0]=o[0].substr(s),{start:a(t),end:r,lines:o,action:e.action}}function f(e,t){t=function(e){return{start:a(e.start),end:a(e.end),action:e.action,lines:e.lines.slice()}}(t);for(var n=e.length;n--;){for(var r=e[n],i=0;i<r.length;i++){var o=d(r[i],t);t=o[0],2!=o.length&&(o[2]?(r.splice(i+1,1,o[1],o[2]),i++):o[1]||(r.splice(i,1),i--))}r.length||e.splice(n,1)}return e}t.UndoManager=r})),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],(function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(e,t){this.element=e,this.canvasHeight=t||5e5,this.element.style.height=2*this.canvasHeight+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0};(function(){this.moveContainer=function(e){r.translate(this.element,0,-e.firstRowScreen*e.lineHeight%this.canvasHeight-e.offset*this.$offsetCoefficient)},this.pageChanged=function(e,t){return Math.floor(e.firstRowScreen*e.lineHeight/this.canvasHeight)!==Math.floor(t.firstRowScreen*t.lineHeight/this.canvasHeight)},this.computeLineTop=function(e,t,n){var r=t.firstRowScreen*t.lineHeight,i=Math.floor(r/this.canvasHeight);return n.documentToScreenRow(e,0)*t.lineHeight-i*this.canvasHeight},this.computeLineHeight=function(e,t,n){return t.lineHeight*n.getRowLineCount(e)},this.getLength=function(){return this.cells.length},this.get=function(e){return this.cells[e]},this.shift=function(){this.$cacheCell(this.cells.shift())},this.pop=function(){this.$cacheCell(this.cells.pop())},this.push=function(e){if(Array.isArray(e)){this.cells.push.apply(this.cells,e);for(var t=r.createFragment(this.element),n=0;n<e.length;n++)t.appendChild(e[n].element);this.element.appendChild(t)}else this.cells.push(e),this.element.appendChild(e.element)},this.unshift=function(e){if(Array.isArray(e)){this.cells.unshift.apply(this.cells,e);for(var t=r.createFragment(this.element),n=0;n<e.length;n++)t.appendChild(e[n].element);this.element.firstChild?this.element.insertBefore(t,this.element.firstChild):this.element.appendChild(t)}else this.cells.unshift(e),this.element.insertAdjacentElement("afterbegin",e.element)},this.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},this.$cacheCell=function(e){e&&(e.element.remove(),this.cellCache.push(e))},this.createCell=function(e,t,n,i){var o=this.cellCache.pop();if(!o){var a=r.createElement("div");i&&i(a),this.element.appendChild(a),o={element:a,text:"",row:e}}return o.row=e,o}}).call(i.prototype),t.Lines=i})),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines"],(function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),o=e("../lib/lang"),a=e("../lib/event_emitter").EventEmitter,s=e("./lines").Lines,l=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new s(this.element),this.$lines.$offsetCoefficient=1};function c(e){var t=document.createTextNode("");e.appendChild(t);var n=r.createElement("span");return e.appendChild(n),e}(function(){i.implement(this,a),this.setSession=function(e){this.session&&this.session.off("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;t<e.length;t++){var n=e[t],r=n.row,i=this.$annotations[r];i||(i=this.$annotations[r]={text:[]});var a=n.text;a=a?o.escapeHTML(a):n.html||"",-1===i.text.indexOf(a)&&i.text.push(a);var s=n.type;"error"==s?i.className=" ace_error":"warning"==s&&" ace_error"!=i.className?i.className=" ace_warning":"info"!=s||i.className||(i.className=" ace_info")}},this.$updateAnnotations=function(e){if(this.$annotations.length){var t=e.start.row,n=e.end.row-t;if(0===n);else if("remove"==e.action)this.$annotations.splice(t,n+1,null);else{var r=new Array(n+1);r.unshift(t,1),this.$annotations.splice.apply(this.$annotations,r)}}},this.update=function(e){this.config=e;var t=this.session,n=e.firstRow,r=Math.min(e.lastRow+e.gutterOffset,t.getLength()-1);this.oldLastRow=r,this.config=e,this.$lines.moveContainer(e),this.$updateCursorRow();for(var i=t.getNextFoldLine(n),o=i?i.start.row:1/0,a=null,s=-1,l=n;;){if(l>o&&(l=i.end.row+1,o=(i=t.getNextFoldLine(l,i))?i.start.row:1/0),l>r){for(;this.$lines.getLength()>s+1;)this.$lines.pop();break}(a=this.$lines.get(++s))?a.row=l:(a=this.$lines.createCell(l,e,this.session,c),this.$lines.push(a)),this.$renderCell(a,e,i,l),l++}this._signal("afterRender"),this.$updateGutterWidth(e)},this.$updateGutterWidth=function(e){var t=this.session,n=t.gutterRenderer||this.$renderer,r=t.$firstLineNumber,i=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||t.$useWrapMode)&&(i=t.getLength()+r-1);var o=n?n.getWidth(t,i,e):i.toString().length*e.characterWidth,a=this.$padding||this.$computePadding();(o+=a.left+a.right)===this.gutterWidth||isNaN(o)||(this.gutterWidth=o,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",o))},this.$updateCursorRow=function(){if(this.$highlightGutterLine){var e=this.session.selection.getCursor();this.$cursorRow!==e.row&&(this.$cursorRow=e.row)}},this.updateLineHighlight=function(){if(this.$highlightGutterLine){var e=this.session.selection.cursor.row;if(this.$cursorRow=e,!this.$cursorCell||this.$cursorCell.row!=e){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var n=0;n<t.length;n++){var r=t[n];if(r.row>=this.$cursorRow){if(r.row>this.$cursorRow){var i=this.session.getFoldLine(this.$cursorRow);if(!(n>0&&i&&i.start.row==t[n-1].row))break;r=t[n-1]}r.element.className="ace_gutter-active-line "+r.element.className,this.$cursorCell=r;break}}}}},this.scrollLines=function(e){var t=this.config;if(this.config=e,this.$updateCursorRow(),this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),r=this.oldLastRow;if(this.oldLastRow=n,!t||r<e.firstRow)return this.update(e);if(n<t.firstRow)return this.update(e);if(t.firstRow<e.firstRow)for(var i=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);i>0;i--)this.$lines.shift();if(r>n)for(i=this.session.getFoldedRowCount(n+1,r);i>0;i--)this.$lines.pop();e.firstRow<t.firstRow&&this.$lines.unshift(this.$renderLines(e,e.firstRow,t.firstRow-1)),n>r&&this.$lines.push(this.$renderLines(e,r+1,n)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},this.$renderLines=function(e,t,n){for(var r=[],i=t,o=this.session.getNextFoldLine(i),a=o?o.start.row:1/0;i>a&&(i=o.end.row+1,a=(o=this.session.getNextFoldLine(i,o))?o.start.row:1/0),!(i>n);){var s=this.$lines.createCell(i,e,this.session,c);this.$renderCell(s,e,o,i),r.push(s),i++}return r},this.$renderCell=function(e,t,n,i){var o=e.element,a=this.session,s=o.childNodes[0],l=o.childNodes[1],c=a.$firstLineNumber,u=a.$breakpoints,d=a.$decorations,m=a.gutterRenderer||this.$renderer,p=this.$showFoldWidgets&&a.foldWidgets,h=n?n.start.row:Number.MAX_VALUE,f="ace_gutter-cell ";if(this.$highlightGutterLine&&(i==this.$cursorRow||n&&i<this.$cursorRow&&i>=h&&this.$cursorRow<=n.end.row)&&(f+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),u[i]&&(f+=u[i]),d[i]&&(f+=d[i]),this.$annotations[i]&&(f+=this.$annotations[i].className),o.className!=f&&(o.className=f),p){var _=p[i];null==_&&(_=p[i]=a.getFoldWidget(i))}if(_){f="ace_fold-widget ace_"+_;"start"==_&&i==h&&i<n.end.row?f+=" ace_closed":f+=" ace_open",l.className!=f&&(l.className=f);var g=t.lineHeight+"px";r.setStyle(l.style,"height",g),r.setStyle(l.style,"display","inline-block")}else l&&r.setStyle(l.style,"display","none");var b=(m?m.getText(a,i):i+c).toString();return b!==s.data&&(s.data=b),r.setStyle(e.element.style,"height",this.$lines.computeLineHeight(i,t,a)+"px"),r.setStyle(e.element.style,"top",this.$lines.computeLineTop(i,t,a)+"px"),e.text=b,e},this.$fixedWidth=!1,this.$highlightGutterLine=!0,this.$renderer="",this.setHighlightGutterLine=function(e){this.$highlightGutterLine=e},this.$showLineNumbers=!0,this.$renderer="",this.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return 0},getText:function(){return""}}},this.getShowLineNumbers=function(){return this.$showLineNumbers},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(e){e?r.addCssClass(this.element,"ace_folding-enabled"):r.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=r.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(e.borderLeftWidth)||0)+(parseInt(e.paddingLeft)||0)+1,this.$padding.right=(parseInt(e.borderRightWidth)||0)+(parseInt(e.paddingRight)||0),this.$padding},this.getRegion=function(e){var t=this.$padding||this.$computePadding(),n=this.element.getBoundingClientRect();return e.x<t.left+n.left?"markers":this.$showFoldWidgets&&e.x>n.right-t.right?"foldWidgets":void 0}}).call(l.prototype),t.Gutter=l})),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],(function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),o=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.elt=function(e,t){var n=-1!=this.i&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=t,n.className=e},this.update=function(e){if(e){var t;for(var n in this.config=e,this.i=0,this.markers){var r=this.markers[n];if(r.range){var i=r.range.clipRows(e.firstRow,e.lastRow);if(!i.isEmpty())if(i=i.toScreenRange(this.session),r.renderer){var o=this.$getTop(i.start.row,e),a=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,a,o,e)}else"fullLine"==r.type?this.drawFullLineMarker(t,i,r.clazz,e):"screenLine"==r.type?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?"text"==r.type?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start ace_br15",e)}else r.update(t,this,this.session,e)}if(-1!=this.i)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(e,t,n,i,o){for(var a=this.session,s=t.start.row,l=t.end.row,c=s,u=0,d=0,m=a.getScreenLastRowColumn(c),p=new r(c,t.start.column,c,d);c<=l;c++)p.start.row=p.end.row=c,p.start.column=c==s?t.start.column:a.getRowWrapIndent(c),p.end.column=m,u=d,d=m,m=c+1<l?a.getScreenLastRowColumn(c+1):c==l?0:t.end.column,this.drawSingleLineMarker(e,p,n+(c==s?" ace_start":"")+" ace_br"+((c==s||c==s+1&&t.start.column?1:0)|(u<d?2:0)|(d>m?4:0)|(c==l?8:0)),i,c==l?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var o=this.$padding,a=r.lineHeight,s=this.$getTop(t.start.row,r),l=o+t.start.column*r.characterWidth;(i=i||"",this.session.$bidiHandler.isBidiRow(t.start.row))?((c=t.clone()).end.row=c.start.row,c.end.column=this.session.getLine(c.start.row).length,this.drawBidiSingleLineMarker(e,c,n+" ace_br1 ace_start",r,null,i)):this.elt(n+" ace_br1 ace_start","height:"+a+"px;right:0;top:"+s+"px;left:"+l+"px;"+(i||""));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var c;(c=t.clone()).start.row=c.end.row,c.start.column=0,this.drawBidiSingleLineMarker(e,c,n+" ace_br12",r,null,i)}else{s=this.$getTop(t.end.row,r);var u=t.end.column*r.characterWidth;this.elt(n+" ace_br12","height:"+a+"px;width:"+u+"px;top:"+s+"px;left:"+o+"px;"+(i||""))}if(!((a=(t.end.row-t.start.row-1)*r.lineHeight)<=0)){s=this.$getTop(t.start.row+1,r);var d=(t.start.column?1:0)|(t.end.column?0:8);this.elt(n+(d?" ace_br"+d:""),"height:"+a+"px;right:0;top:"+s+"px;left:"+o+"px;"+(i||""))}},this.drawSingleLineMarker=function(e,t,n,r,i,o){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,n,r,i,o);var a=r.lineHeight,s=(t.end.column+(i||0)-t.start.column)*r.characterWidth,l=this.$getTop(t.start.row,r),c=this.$padding+t.start.column*r.characterWidth;this.elt(n,"height:"+a+"px;width:"+s+"px;top:"+l+"px;left:"+c+"px;"+(o||""))},this.drawBidiSingleLineMarker=function(e,t,n,r,i,o){var a=r.lineHeight,s=this.$getTop(t.start.row,r),l=this.$padding;this.session.$bidiHandler.getSelections(t.start.column,t.end.column).forEach((function(e){this.elt(n,"height:"+a+"px;width:"+e.width+(i||0)+"px;top:"+s+"px;left:"+(l+e.left)+"px;"+(o||""))}),this)},this.drawFullLineMarker=function(e,t,n,r,i){var o=this.$getTop(t.start.row,r),a=r.lineHeight;t.start.row!=t.end.row&&(a+=this.$getTop(t.end.row,r)-o),this.elt(n,"height:"+a+"px;top:"+o+"px;left:0;right:0;"+(i||""))},this.drawScreenLineMarker=function(e,t,n,r,i){var o=this.$getTop(t.start.row,r),a=r.lineHeight;this.elt(n,"height:"+a+"px;top:"+o+"px;left:0;right:0;"+(i||""))}}).call(o.prototype),t.Marker=o})),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter"],(function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),o=e("../lib/lang"),a=e("./lines").Lines,s=e("../lib/event_emitter").EventEmitter,l=function(e){this.dom=i,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new a(this.element)};(function(){r.implement(this,s),this.EOF_CHAR="¶",this.EOL_CHAR_LF="¬",this.EOL_CHAR_CRLF="¤",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="—",this.SPACE_CHAR="·",this.$padding=0,this.MAX_LINE_LENGTH=1e4,this.$updateEolChar=function(){var e=this.session.doc,t="\n"==e.getNewLineCharacter()&&"windows"!=e.getNewLineMode()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=t)return this.EOL_CHAR=t,!0},this.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.showSpaces=!1,this.showTabs=!1,this.showEOL=!1,this.setShowInvisibles=function(e){return this.showInvisibles!=e&&(this.showInvisibles=e,"string"==typeof e?(this.showSpaces=/tab/i.test(e),this.showTabs=/space/i.test(e),this.showEOL=/eol/i.test(e)):this.showSpaces=this.showTabs=this.showEOL=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides!=e&&(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var t=this.$tabStrings=[0],n=1;n<e+1;n++){if(this.showTabs)(r=this.dom.createElement("span")).className="ace_invisible ace_invisible_tab",r.textContent=o.stringRepeat(this.TAB_CHAR,n),t.push(r);else t.push(this.dom.createTextNode(o.stringRepeat(" ",n),this.element))}if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r,i=this.showSpaces?" ace_invisible ace_invisible_space":"",a=this.showSpaces?o.stringRepeat(this.SPACE_CHAR,this.tabSize):o.stringRepeat(" ",this.tabSize),s=this.showTabs?" ace_invisible ace_invisible_tab":"",l=this.showTabs?o.stringRepeat(this.TAB_CHAR,this.tabSize):a;(r=this.dom.createElement("span")).className="ace_indent-guide"+i,r.textContent=a,this.$tabStrings[" "]=r,(r=this.dom.createElement("span")).className="ace_indent-guide"+s,r.textContent=l,this.$tabStrings["\t"]=r}},this.updateLines=function(e,t,n){if(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)return this.update(e);this.config=e;for(var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),o=this.element.childNodes,a=0,s=e.firstRow;s<r;s++){if(l=this.session.getFoldLine(s)){if(l.containsRow(r)){r=l.start.row;break}s=l.end.row}a++}for(var l,c=!1,u=(s=r,(l=this.session.getNextFoldLine(s))?l.start.row:1/0);s>u&&(s=l.end.row+1,u=(l=this.session.getNextFoldLine(s,l))?l.start.row:1/0),!(s>i);){var d=o[a++];if(d){this.dom.removeChildren(d),this.$renderLine(d,s,s==u&&l),c&&(d.style.top=this.$lines.computeLineTop(s,e,this.session)+"px");var m=e.lineHeight*this.session.getRowLength(s)+"px";d.style.height!=m&&(c=!0,d.style.height=m)}s++}if(c)for(;a<this.$lines.cells.length;){var p=this.$lines.cells[a++];p.element.style.top=this.$lines.computeLineTop(p.row,e,this.session)+"px"}},this.scrollLines=function(e){var t=this.config;if(this.config=e,this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=e.lastRow,r=t?t.lastRow:-1;if(!t||r<e.firstRow)return this.update(e);if(n<t.firstRow)return this.update(e);if(!t||t.lastRow<e.firstRow)return this.update(e);if(e.lastRow<t.firstRow)return this.update(e);if(t.firstRow<e.firstRow)for(var i=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);i>0;i--)this.$lines.shift();if(t.lastRow>e.lastRow)for(i=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);i>0;i--)this.$lines.pop();e.firstRow<t.firstRow&&this.$lines.unshift(this.$renderLinesFragment(e,e.firstRow,t.firstRow-1)),e.lastRow>t.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow))},this.$renderLinesFragment=function(e,t,n){for(var r=[],o=t,a=this.session.getNextFoldLine(o),s=a?a.start.row:1/0;o>s&&(o=a.end.row+1,s=(a=this.session.getNextFoldLine(o,a))?a.start.row:1/0),!(o>n);){var l=this.$lines.createCell(o,e,this.session),c=l.element;this.dom.removeChildren(c),i.setStyle(c.style,"height",this.$lines.computeLineHeight(o,e,this.session)+"px"),i.setStyle(c.style,"top",this.$lines.computeLineTop(o,e,this.session)+"px"),this.$renderLine(c,o,o==s&&a),this.$useLineGroups()?c.className="ace_line_group":c.className="ace_line",r.push(l),o++}return r},this.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var t=e.firstRow,n=e.lastRow,r=this.$lines;r.getLength();)r.pop();r.push(this.$renderLinesFragment(e,t,n))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){for(var i,a=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,s=this.dom.createFragment(this.element),l=0;i=a.exec(r);){var c=i[1],u=i[2],d=i[3],m=i[4],p=i[5];if(this.showSpaces||!u){var h=l!=i.index?r.slice(l,i.index):"";if(l=i.index+i[0].length,h&&s.appendChild(this.dom.createTextNode(h,this.element)),c){var f=this.session.getScreenTabSize(t+i.index);s.appendChild(this.$tabStrings[f].cloneNode(!0)),t+=f-1}else if(u){if(this.showSpaces)(g=this.dom.createElement("span")).className="ace_invisible ace_invisible_space",g.textContent=o.stringRepeat(this.SPACE_CHAR,u.length),s.appendChild(g);else s.appendChild(this.com.createTextNode(u,this.element))}else if(d){(g=this.dom.createElement("span")).className="ace_invisible ace_invisible_space ace_invalid",g.textContent=o.stringRepeat(this.SPACE_CHAR,d.length),s.appendChild(g)}else if(m){t+=1,(g=this.dom.createElement("span")).style.width=2*this.config.characterWidth+"px",g.className=this.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",g.textContent=this.showSpaces?this.SPACE_CHAR:m,s.appendChild(g)}else if(p){t+=1,(g=this.dom.createElement("span")).style.width=2*this.config.characterWidth+"px",g.className="ace_cjk",g.textContent=p,s.appendChild(g)}}}if(s.appendChild(this.dom.createTextNode(l?r.slice(l):r,this.element)),this.$textToken[n.type])e.appendChild(s);else{var _="ace_"+n.type.replace(/\./g," ace_"),g=this.dom.createElement("span");"fold"==n.type&&(g.style.width=n.value.length*this.config.characterWidth+"px"),g.className=_,g.appendChild(s),e.appendChild(g)}return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);if(r<=0||r>=n)return t;if(" "==t[0]){for(var i=(r-=r%this.tabSize)/this.tabSize,o=0;o<i;o++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return t.substr(r)}if("\t"==t[0]){for(o=0;o<r;o++)e.appendChild(this.$tabStrings["\t"].cloneNode(!0));return t.substr(r)}return t},this.$createLineElement=function(e){var t=this.dom.createElement("div");return t.className="ace_line",t.style.height=this.config.lineHeight+"px",t},this.$renderWrappedLine=function(e,t,n){var r=0,i=0,a=n[0],s=0,l=this.$createLineElement();e.appendChild(l);for(var c=0;c<t.length;c++){var u=t[c],d=u.value;if(0==c&&this.displayIndentGuides){if(r=d.length,!(d=this.renderIndentGuide(l,d,a)))continue;r-=d.length}if(r+d.length<a)s=this.$renderToken(l,s,u,d),r+=d.length;else{for(;r+d.length>=a;)s=this.$renderToken(l,s,u,d.substring(0,a-r)),d=d.substring(a-r),r=a,l=this.$createLineElement(),e.appendChild(l),l.appendChild(this.dom.createTextNode(o.stringRepeat(" ",n.indent),this.element)),s=0,a=n[++i]||Number.MAX_VALUE;0!=d.length&&(r+=d.length,s=this.$renderToken(l,s,u,d))}}n[n.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(l,s,null,"",!0)},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var o=1;o<t.length;o++){if(n+(i=(r=t[o]).value).length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,n,r,i);n=this.$renderToken(e,n,r,i)}},this.$renderOverflowMessage=function(e,t,n,r,i){n&&this.$renderToken(e,t,n,r.slice(0,this.MAX_LINE_LENGTH-t));var o=this.dom.createElement("span");o.className="ace_inline_button ace_keyword ace_toggle_wrap",o.textContent=i?"<hide>":"<click to see more...>",e.appendChild(o)},this.$renderLine=function(e,t,n){if(n||0==n||(n=this.session.getFoldLine(t)),n)var r=this.$getFoldLineTokens(t,n);else r=this.session.getTokens(t);var i=e;if(r.length){var o=this.session.getRowSplitData(t);if(o&&o.length){this.$renderWrappedLine(e,r,o);i=e.lastChild}else{i=e;this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i)),this.$renderSimpleLine(i,r)}}else this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i));if(this.showEOL&&i){n&&(t=n.end.row);var a=this.dom.createElement("span");a.className="ace_invisible ace_invisible_eol",a.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,i.appendChild(a)}},this.$getFoldLineTokens=function(e,t){var n=this.session,r=[];var i=n.getTokens(e);return t.walk((function(e,t,o,a,s){null!=e?r.push({type:"fold",value:e}):(s&&(i=n.getTokens(t)),i.length&&function(e,t,n){for(var i=0,o=0;o+e[i].value.length<t;)if(o+=e[i].value.length,++i==e.length)return;for(o!=t&&((a=e[i].value.substring(t-o)).length>n-t&&(a=a.substring(0,n-t)),r.push({type:e[i].type,value:a}),o=t+a.length,i+=1);o<n&&i<e.length;){var a;(a=e[i].value).length+o>n?r.push({type:e[i].type,value:a.substring(0,n-o)}):r.push(e[i]),o+=a.length,i+=1}}(i,a,o))}),t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){}}).call(l.prototype),t.Text=l})),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],(function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)};(function(){this.$updateOpacity=function(e){for(var t=this.cursors,n=t.length;n--;)r.setStyle(t[n].style,"opacity",e?"":"0")},this.$startCssAnimation=function(){for(var e=this.cursors,t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";setTimeout(function(){r.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},this.$stopCssAnimation=function(){r.removeCssClass(this.element,"ace_animate-blinking")},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0),this.isBlinking&&this.blinkInterval&&this.isVisible)if(this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this)),r.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var t=function(){this.timeoutId=setTimeout((function(){e(!1)}),.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval((function(){e(!0),t()}),this.blinkInterval),t()}else this.$stopCssAnimation()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e);return{left:this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e.row)?this.session.$bidiHandler.getPosLeft(n.column):n.column*this.config.characterWidth),top:(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight}},this.isCursorInView=function(e,t){return e.top>=0&&e.top<t.maxHeight},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,i=0;void 0!==t&&0!==t.length||(t=[{cursor:null}]);n=0;for(var o=t.length;n<o;n++){var a=this.getPixelPosition(t[n].cursor,!0);if(!((a.top>e.height+e.offset||a.top<0)&&n>1)){var s=this.cursors[i++]||this.addCursor(),l=s.style;this.drawCursor?this.drawCursor(s,a,e,t[n],this.session):this.isCursorInView(a,e)?(r.setStyle(l,"display","block"),r.translate(s,a.left,a.top),r.setStyle(l,"width",Math.round(e.characterWidth)+"px"),r.setStyle(l,"height",e.lineHeight+"px")):r.setStyle(l,"display","none")}}for(;this.cursors.length>i;)this.removeCursor();var c=this.session.getOverwrite();this.$setOverwrite(c),this.$pixelPos=a,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(i.prototype),t.Cursor=i})),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],(function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),o=e("./lib/event"),a=e("./lib/event_emitter").EventEmitter,s=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,o.addListener(this.element,"scroll",this.onScroll.bind(this)),o.addListener(this.element,"mousedown",o.preventDefault)};(function(){r.implement(this,a),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(s.prototype);var l=function(e,t){s.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0};r.inherits(l,s),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>32768?(this.coeff=32768/e,e=32768):1!=this.coeff&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(l.prototype);var c=function(e,t){s.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(c,s),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(c.prototype),t.ScrollBar=l,t.ScrollBarV=l,t.ScrollBarH=c,t.VScrollBar=l,t.HScrollBar=c})),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],(function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var n=this;this._flush=function(e){n.pending=!1;var t=n.changes;if(t&&(r.blockIdle(100),n.changes=0,n.onRender(t)),n.changes){if(n.$recursionLimit--<0)return;n.schedule()}else n.$recursionLimit=2}};(function(){this.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(r.nextFrame(this._flush),this.pending=!0)},this.clear=function(e){var t=this.changes;return this.changes=0,t}}).call(i.prototype),t.RenderLoop=i})),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],(function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),o=e("../lib/lang"),a=e("../lib/event"),s=e("../lib/useragent"),l=e("../lib/event_emitter").EventEmitter,c="function"==typeof ResizeObserver,u=200,d=t.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.textContent=o.stringRepeat("X",256),this.$characterSize={width:0,height:0},c?this.$addObserver():this.checkForSizeChanges()};(function(){r.implement(this,l),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",s.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(e){if(void 0===e&&(e=this.$measureSizes()),e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$addObserver=function(){var e=this;this.$observer=new window.ResizeObserver((function(t){e.checkForSizeChanges()})),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=a.onIdle((function t(){e.checkForSizeChanges(),a.onIdle(t,500)}),500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/256};return 0===t.width||0===t.height?null:t},this.$measureCharWidth=function(e){return this.$main.textContent=o.stringRepeat(e,256),this.$main.getBoundingClientRect().width/256},this.getCharacterWidth=function(e){var t=this.charSizes[e];return void 0===t&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},this.$getZoom=function e(t){return t&&t.parentElement?(window.getComputedStyle(t).zoom||1)*e(t.parentElement):1},this.$initTransformMeasureNodes=function(){var e=function(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]};this.els=i.buildDom([e(0,0),e(u,0),e(0,u),e(u,u)],this.el)},this.transformCoordinates=function(e,t){e&&(e=o(1/this.$getZoom(this.el),e));function n(e,t,n){var r=e[1]*t[0]-e[0]*t[1];return[(-t[1]*n[0]+t[0]*n[1])/r,(+e[1]*n[0]-e[0]*n[1])/r]}function r(e,t){return[e[0]-t[0],e[1]-t[1]]}function i(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function a(e){var t=e.getBoundingClientRect();return[t.left,t.top]}this.els||this.$initTransformMeasureNodes();var s=a(this.els[0]),l=a(this.els[1]),c=a(this.els[2]),d=a(this.els[3]),m=n(r(d,l),r(d,c),r(i(l,c),i(d,s))),p=o(1+m[0],r(l,s)),h=o(1+m[1],r(c,s));if(t){var f=t,_=m[0]*f[0]/u+m[1]*f[1]/u+1,g=i(o(f[0],p),o(f[1],h));return i(o(1/_/u,g),s)}var b=r(e,s),y=n(r(p,o(m[0],b)),r(h,o(m[1],b)),b);return o(u,y)}}).call(d.prototype)})),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/lib/useragent"],(function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),o=e("./config"),a=e("./layer/gutter").Gutter,s=e("./layer/marker").Marker,l=e("./layer/text").Text,c=e("./layer/cursor").Cursor,u=e("./scrollbar").HScrollBar,d=e("./scrollbar").VScrollBar,m=e("./renderloop").RenderLoop,p=e("./layer/font_metrics").FontMetrics,h=e("./lib/event_emitter").EventEmitter,f='.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_editor {position: relative;overflow: hidden;padding: 0;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;box-sizing: border-box;min-width: 100%;contain: style size layout;font-variant-ligatures: no-common-ligatures;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;contain: style size layout;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {position: absolute;top: 0;left: 0;right: 0;padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {contain: strict;position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;contain: strict;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: transparent;color: inherit;z-index: 1000;opacity: 1;}.ace_composition_placeholder { color: transparent }.ace_composition_marker { border-bottom: 1px solid;position: absolute;border-radius: 0;margin-top: 1px;}[ace_nocontext=true] {transform: none!important;filter: none!important;clip-path: none!important;mask : none!important;contain: none!important;perspective: none!important;mix-blend-mode: initial!important;z-index: auto;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;height: 1000000px;contain: style size layout;}.ace_text-layer {font: inherit !important;position: absolute;height: 1000000px;width: 1000000px;contain: style size layout;}.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {contain: style size layout;position: absolute;top: 0;left: 0;right: 0;}.ace_hidpi .ace_text-layer,.ace_hidpi .ace_gutter-layer,.ace_hidpi .ace_content,.ace_hidpi .ace_gutter {contain: strict;will-change: transform;}.ace_hidpi .ace_text-layer > .ace_line, .ace_hidpi .ace_text-layer > .ace_line_group {contain: strict;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {opacity: 0;}.ace_smooth-blinking .ace_cursor {transition: opacity 0.18s;}.ace_animate-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: step-end;animation-name: blink-ace-animate;animation-iteration-count: infinite;}.ace_animate-blinking.ace_smooth-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: ease-in-out;animation-name: blink-ace-animate-smooth;}@keyframes blink-ace-animate {from, to { opacity: 1; }60% { opacity: 0; }}@keyframes blink-ace-animate-smooth {from, to { opacity: 1; }45% { opacity: 1; }60% { opacity: 0; }85% { opacity: 0; }}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_error_bracket {position: absolute;border-bottom: 1px solid #DE5555;border-radius: 0;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;box-sizing: border-box;}.ace_line .ace_fold {box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_inline_button {border: 1px solid lightgray;display: inline-block;margin: -1px 8px;padding: 0 5px;pointer-events: auto;cursor: pointer;}.ace_inline_button:hover {border-color: gray;background: rgba(200,200,200,0.2);display: inline-block;pointer-events: auto;}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_mobile-menu {position: absolute;line-height: 1.5;border-radius: 4px;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;background: white;box-shadow: 1px 3px 2px grey;border: 1px solid #dcdcdc;color: black;}.ace_dark > .ace_mobile-menu {background: #333;color: #ccc;box-shadow: 1px 3px 2px grey;border: 1px solid #444;}.ace_mobile-button {padding: 2px;cursor: pointer;overflow: hidden;}.ace_mobile-button:hover {background-color: #eee;opacity:1;}.ace_mobile-button:active {background-color: #ddd;}.ace_placeholder {font-family: arial;transform: scale(0.9);transform-origin: left;white-space: pre;opacity: 0.7;margin: 0 10px;}',_=e("./lib/useragent"),g=_.isIE;i.importCssString(f,"ace_editor.css");var b=function(e,t){var n=this;this.container=e||i.createElement("div"),i.addCssClass(this.container,"ace_editor"),i.HI_DPI&&i.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new a(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new s(this.content);var r=this.$textLayer=new l(this.content);this.canvas=r.element,this.$markerFront=new s(this.content),this.$cursorLayer=new c(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new d(this.container,this),this.scrollBarH=new u(this.container,this),this.scrollBarV.on("scroll",(function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)})),this.scrollBarH.on("scroll",(function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)})),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new p(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",(function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)})),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!_.isIOS,this.$loop=new m(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),o.resetOptions(this),o._signal("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,h),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),i.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),e&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},this.updateLines=function(e,t,n){if(void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t},this.$changedLines.lastRow<this.layerConfig.firstRow){if(!n)return;this.$changedLines.lastRow=this.layerConfig.lastRow}this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var o=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(o|this.$changes,!0):this.$loop.schedule(o|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null}},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var o=0,a=this.$size,s={width:a.width,height:a.height,scrollerHeight:a.scrollerHeight,scrollerWidth:a.scrollerWidth};if(r&&(e||a.height!=r)&&(a.height=r,o|=this.CHANGE_SIZE,a.scrollerHeight=a.height,this.$horizScroll&&(a.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",o|=this.CHANGE_SCROLL),n&&(e||a.width!=n)){o|=this.CHANGE_SIZE,a.width=n,null==t&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,i.setStyle(this.scrollBarH.element.style,"left",t+"px"),i.setStyle(this.scroller.style,"left",t+this.margin.left+"px"),a.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()-this.margin.h),i.setStyle(this.$gutter.style,"left",this.margin.left+"px");var l=this.scrollBarV.getWidth()+"px";i.setStyle(this.scrollBarH.element.style,"right",l),i.setStyle(this.scroller.style,"right",l),i.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)&&(o|=this.CHANGE_FULL)}return a.$dirty=!n||!r,o&&this._signal("resize",s),o},this.onGutterResize=function(e){var t=this.$showGutter?e:0;t!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,t,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()||this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-2*this.$padding,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&-1==this.session.$wrap&&this.adjustWrapLimit()}},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var e=this.textarea.style,t=this.$composition;if(this.$keepTextAreaAtCursor||t){var n=this.$cursorLayer.$pixelPos;if(n){t&&t.markerRange&&(n=this.$cursorLayer.getPixelPosition(t.markerRange.start,!0));var r=this.layerConfig,o=n.top,a=n.left;o-=r.offset;var s=t&&t.useTextareaForIME?this.lineHeight:g?0:1;if(o<0||o>r.height-s)i.translate(this.textarea,0,0);else{var l=1,c=this.$size.height-s;if(t)if(t.useTextareaForIME){var u=this.textarea.value;l=this.characterWidth*this.session.$getStringScreenWidth(u)[0]}else o+=this.lineHeight+2;else o+=this.lineHeight;(a-=this.scrollLeft)>this.$size.scrollerWidth-l&&(a=this.$size.scrollerWidth-l),a+=this.gutterWidth+this.margin.left,i.setStyle(e,"height",s+"px"),i.setStyle(e,"width",l+"px"),i.translate(this.textarea,Math.min(a,this.$size.scrollerWidth-l),Math.min(o,c))}}}else i.translate(this.textarea,-100,0)}},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow;return this.session.documentToScreenRow(t,0)*e.lineHeight-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=0|e,i.bottom=0|t,i.right=0|r,i.left=0|n,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.setMargin=function(e,t,n,r){var i=this.margin;i.top=0|e,i.bottom=0|t,i.right=0|r,i.left=0|n,i.v=i.top+i.bottom,i.h=i.left+i.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){if(this.$changes&&(e|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&(e||t)){if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",e),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){if(e|=this.$computeLayerConfig()|this.$loop.clear(),n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig()|this.$loop.clear())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),i.translate(this.content,-this.scrollLeft,-n.offset);var o=n.width+2*this.$padding+"px",a=n.minHeight+"px";i.setStyle(this.content.style,"width",o),i.setStyle(this.content.style,"height",a)}if(e&this.CHANGE_H_SCROLL&&(i.translate(this.content,-this.scrollLeft,-n.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left"),e&this.CHANGE_FULL)return this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),void this._signal("afterRender",e);if(e&this.CHANGE_SCROLL)return this.$changedLines=null,e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(n):this.$gutterLayer.scrollLines(n)),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),void this._signal("afterRender",e);e&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?this.$showGutter&&this.$gutterLayer.update(n):e&this.CHANGE_CURSOR&&this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender",e)}else this.$changes|=e},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=!(n<=2*this.lineHeight)&&e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var i=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,i,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength()*this.lineHeight,i=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-i-2*this.$padding<0),a=this.$horizScroll!==o;a&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var s=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var l=t.scrollerHeight+this.lineHeight,c=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;r+=c;var u=this.scrollMargin;this.session.setScrollTop(Math.max(-u.top,Math.min(this.scrollTop,r-t.scrollerHeight+u.bottom))),this.session.setScrollLeft(Math.max(-u.left,Math.min(this.scrollLeft,i+2*this.$padding-t.scrollerWidth+u.right)));var d=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-r+c<0||this.scrollTop>u.top),m=s!==d;m&&(this.$vScroll=d,this.scrollBarV.setVisible(d));var p,h,f=this.scrollTop%this.lineHeight,_=Math.ceil(l/this.lineHeight)-1,g=Math.max(0,Math.round((this.scrollTop-f)/this.lineHeight)),b=g+_,y=this.lineHeight;g=e.screenToDocumentRow(g,0);var v=e.getFoldLine(g);v&&(g=v.start.row),p=e.documentToScreenRow(g,0),h=e.getRowLength(g)*y,b=Math.min(e.screenToDocumentRow(b,0),e.getLength()-1),l=t.scrollerHeight+e.getRowLength(b)*y+h,f=this.scrollTop-p*y;var w=0;return(this.layerConfig.width!=i||a)&&(w=this.CHANGE_H_SCROLL),(a||m)&&(w|=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),m&&(i=this.$getLongestLine())),this.layerConfig={width:i,padding:this.$padding,firstRow:g,firstRowScreen:p,lastRow:b,lineHeight:y,characterWidth:this.characterWidth,minHeight:l,maxHeight:r,offset:f,gutterOffset:y?Math.max(0,Math.ceil((f+t.height-t.scrollerHeight)/y)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(i-this.$padding),w},this.$updateLines=function(){if(this.$changedLines){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(!(e>n.lastRow+1||t<n.firstRow))return t===1/0?(this.$showGutter&&this.$gutterLayer.update(n),void this.$textLayer.update(n)):(this.$textLayer.updateLines(n,e,t),!0)}},this.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),this.$textLayer&&e>this.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t,n){if(0!==this.$size.scrollerHeight){var r=this.$cursorLayer.getPixelPosition(e),i=r.left,o=r.top,a=n&&n.top||0,s=n&&n.bottom||0,l=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;l+a>o?(t&&l+a>o+this.lineHeight&&(o-=t*this.$size.scrollerHeight),0===o&&(o=-this.scrollMargin.top),this.session.setScrollTop(o)):l+this.$size.scrollerHeight-s<o+this.lineHeight&&(t&&l+this.$size.scrollerHeight-s<o-this.lineHeight&&(o+=t*this.$size.scrollerHeight),this.session.setScrollTop(o+this.lineHeight+s-this.$size.scrollerHeight));var c=this.scrollLeft;c>i?(i<this.$padding+2*this.layerConfig.characterWidth&&(i=-this.scrollMargin.left),this.session.setScrollLeft(i)):c+this.$size.scrollerWidth<i+this.characterWidth?this.session.setScrollLeft(Math.round(i+this.characterWidth-this.$size.scrollerWidth)):c<=this.$padding&&i-c<this.characterWidth&&this.session.setScrollLeft(0)}},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},this.alignCursor=function(e,t){"number"==typeof e&&(e={row:e,column:0});var n=this.$cursorLayer.getPixelPosition(e),r=this.$size.scrollerHeight-this.lineHeight,i=n.top-r*(t||0);return this.session.setScrollTop(i),i},this.STEPS=8,this.$calcSteps=function(e,t){var n,r,i=0,o=this.STEPS,a=[];for(i=0;i<o;++i)a.push((n=i/this.STEPS,r=e,(t-e)*(Math.pow(n-1,3)+1)+r));return a},this.scrollToLine=function(e,t,n,r){var i=this.$cursorLayer.getPixelPosition({row:e,column:0}).top;t&&(i-=this.$size.scrollerHeight/2);var o=this.scrollTop;this.session.setScrollTop(i),!1!==n&&this.animateScrolling(o,r)},this.animateScrolling=function(e,t){var n=this.scrollTop;if(this.$animatedScroll){var r=this;if(e!=n){if(this.$scrollAnimation){var i=this.$scrollAnimation.steps;if(i.length&&(e=i[0])==n)return}var o=r.$calcSteps(e,n);this.$scrollAnimation={from:e,to:n,steps:o},clearInterval(this.$timer),r.session.setScrollTop(o.shift()),r.session.$scrollTop=n,this.$timer=setInterval((function(){if(!r.session)return clearInterval(r.$timer);o.length?(r.session.setScrollTop(o.shift()),r.session.$scrollTop=n):null!=n?(r.session.$scrollTop=-1,r.session.setScrollTop(n),n=null):(r.$timer=clearInterval(r.$timer),r.$scrollAnimation=null,t&&t())}),10)}}},this.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},this.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(t)},this.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},this.isScrollableBy=function(e,t){return t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right||void 0)))},this.pixelToScreenCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,o=i/this.characterWidth,a=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),s=this.$blockCursor?Math.floor(o):Math.round(o);return{row:a,column:s,side:o-s>0?1:-1,offsetX:i}},this.screenToTextCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,o=i/this.characterWidth,a=this.$blockCursor?Math.floor(o):Math.round(o),s=Math.floor((t+this.scrollTop-n.top)/this.lineHeight);return this.session.screenToDocumentPosition(s,Math.max(a,0),i)},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,e)?this.session.$bidiHandler.getPosLeft(r.column):Math.round(r.column*this.characterWidth)),o=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+o-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition=e,e.cssText||(e.cssText=this.textarea.style.cssText),null==e.useTextareaForIME&&(e.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):e.markerId=this.session.addMarker(e.markerRange,"ace_composition_marker","text")},this.setCompositionText=function(e){var t=this.session.selection.cursor;this.addToken(e,"composition_placeholder",t.row,t.column),this.$moveTextAreaToCursor()},this.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),i.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var e=this.session.selection.cursor;this.removeExtraToken(e.row,e.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},this.addToken=function(e,t,n,r){var i=this.session;i.bgTokenizer.lines[n]=null;var o={type:t,value:e},a=i.getTokens(n);if(null==r)a.push(o);else for(var s=0,l=0;l<a.length;l++){var c=a[l];if(r<=(s+=c.value.length)){var u=c.value.length-(s-r),d=c.value.slice(0,u),m=c.value.slice(u);a.splice(l,1,{type:c.type,value:d},o,{type:c.type,value:m});break}}this.updateLines(n,n)},this.removeExtraToken=function(e,t){this.updateLines(e,e)},this.setTheme=function(e,t){var n=this;if(this.$themeId=e,n._dispatchEvent("themeChange",{theme:e}),e&&"string"!=typeof e)a(e);else{var r=e||this.$options.theme.initialValue;o.loadModule(["theme",r],a)}function a(r){if(n.$themeId!=e)return t&&t();if(!r||!r.cssClass)throw new Error("couldn't load module "+e+" or it didn't call define");r.$id&&(n.$themeId=r.$id),i.importCssString(r.cssText,r.cssClass,n.container),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var o="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&o!=n.$padding&&n.setPadding(o),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,!1!==t)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){i.setStyle(this.scroller.style,"cursor",e)},this.setMouseCursor=function(e){i.setStyle(this.scroller.style,"cursor",e)},this.attachToShadowRoot=function(){i.importCssString(f,"ace_editor.css",this.container)},this.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent=""}}).call(b.prototype),o.defineOptions(b.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){"number"==typeof e&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){this.$gutterLayer.setHighlightGutterLine(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(e){this.$hScrollBarAlwaysVisible&&this.$horizScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){this.$vScrollBarAlwaysVisible&&this.$vScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){"number"==typeof e&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0,this.$scrollPastEnd!=e&&(this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!_.isMobile&&!_.isIE}}),t.VirtualRenderer=b})),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],(function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/net"),o=e("../lib/event_emitter").EventEmitter,a=e("../config");function s(e){if("undefined"==typeof Worker)return{postMessage:function(){},terminate:function(){}};if(a.get("loadWorkerFromBlob")){var t=function(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(e){var n=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return n.append(t),n.getBlob("application/javascript")}}(e),n=(window.URL||window.webkitURL).createObjectURL(t);return new Worker(n)}return new Worker(e)}var l=function(e){e.postMessage||(e=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=e,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,o),this.$createWorkerFromOldConfig=function(t,n,r,i,o){if(e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl),a.get("packaged")||!e.toUrl)i=i||a.moduleUrl(n,"worker");else{var l=this.$normalizePath;i=i||l(e.toUrl("ace/worker/worker.js",null,"_"));var c={};t.forEach((function(t){c[t]=l(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))}))}return this.$worker=s(i),o&&this.send("importScripts",o),this.$worker.postMessage({init:!0,tlns:c,module:n,classname:r}),this.$worker},this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{t.data&&t.data.err&&(t.data.err={message:t.data.err.message,stack:t.data.err.stack,code:t.data.err.code}),this.$worker.postMessage({event:e,data:{data:t.data}})}catch(e){console.error(e.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),"insert"==e.action?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;e&&(this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e}))}}).call(l.prototype);t.UIWorkerClient=function(e,t,n){var r=null,i=!1,s=Object.create(o),c=[],u=new l({messageBuffer:c,terminate:function(){},postMessage:function(e){c.push(e),r&&(i?setTimeout(d):d())}});u.setEmitSync=function(e){i=e};var d=function(){var e=c.shift();e.command?r[e.command].apply(r,e.args):e.event&&s._signal(e.event,e.data)};return s.postMessage=function(e){u.onMessage({data:e})},s.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},s.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},a.loadModule(["worker",t],(function(e){for(r=new e[n](s);c.length;)d()})),u},t.WorkerClient=l,t.createWorker=s})),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],(function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,o=e("./lib/oop"),a=function(e,t,n,r,i,o){var a=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=o,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout((function(){a.onCursorChange()}))},this.$pos=n;var s=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=s.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){o.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach((function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)})),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(!this.othersActive){var e=this.session,t=this;this.othersActive=!0,this.others.forEach((function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)}))}},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)}},this.onUpdate=function(e){if(this.$updating)return this.updateAnchors(e);var t=e;if(t.start.row===t.end.row&&t.start.row===this.pos.row){this.$updating=!0;var n="insert"===e.action?t.end.column-t.start.column:t.start.column-t.end.column,i=t.start.column>=this.pos.column&&t.start.column<=this.pos.column+this.length+1,o=t.start.column-this.pos.column;if(this.updateAnchors(e),i&&(this.length+=n),i&&!this.session.$fromUndo)if("insert"===e.action)for(var a=this.others.length-1;a>=0;a--){var s={row:(l=this.others[a]).row,column:l.column+o};this.doc.insertMergedLines(s,e.lines)}else if("remove"===e.action)for(a=this.others.length-1;a>=0;a--){var l;s={row:(l=this.others[a]).row,column:l.column+o};this.doc.remove(new r(s.row,s.column,s.row,s.column-n))}this.$updating=!1,this.updateMarkers()}},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(!this.$updating){var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)}},this.onCursorChange=function(e){if(!this.$updating&&this.session){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))}},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(-1!==this.$undoStackDepth){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,n=0;n<t;n++)e.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}}).call(a.prototype),t.PlaceHolder=a})),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],(function(e,t,n){var r=e("../lib/event"),i=e("../lib/useragent");function o(e,t){return e.row==t.row&&e.column==t.column}t.onMouseDown=function(e){var t=e.domEvent,n=t.altKey,a=t.shiftKey,s=t.ctrlKey,l=e.getAccelKey(),c=e.getButton();if(s&&i.isMac&&(c=t.button),e.editor.inMultiSelectMode&&2==c)e.editor.textInput.onContextMenu(e.domEvent);else if(s||n||l){if(0===c){var u,d=e.editor,m=d.selection,p=d.inMultiSelectMode,h=e.getDocumentPosition(),f=m.getCursor(),_=e.inSelection()||m.isEmpty()&&o(h,f),g=e.x,b=e.y,y=d.session,v=d.renderer.pixelToScreenCoordinates(g,b),w=v;if(d.$mouseHandler.$enableJumpToDef)s&&n||l&&n?u=a?"block":"add":n&&d.$blockSelectEnabled&&(u="block");else if(l&&!n){if(u="add",!p&&a)return}else n&&d.$blockSelectEnabled&&(u="block");if(u&&i.isMac&&t.ctrlKey&&d.$mouseHandler.cancelContextMenu(),"add"==u){if(!p&&_)return;if(!p){var x=m.toOrientedRange();d.addSelectionMarker(x)}var k=m.rangeList.rangeAtPoint(h);d.inVirtualSelectionMode=!0,a&&(k=null,x=m.ranges[0]||x,d.removeSelectionMarker(x)),d.once("mouseup",(function(){var e=m.toOrientedRange();k&&e.isEmpty()&&o(k.cursor,e.cursor)?m.substractPoint(e.cursor):(a?m.substractPoint(x.cursor):x&&(d.removeSelectionMarker(x),m.addRange(x)),m.addRange(e)),d.inVirtualSelectionMode=!1}))}else if("block"==u){var O;e.stop(),d.inVirtualSelectionMode=!0;var j=[],E=function(){var e=d.renderer.pixelToScreenCoordinates(g,b),t=y.screenToDocumentPosition(e.row,e.column,e.offsetX);o(w,e)&&o(t,m.lead)||(w=e,d.selection.moveToPosition(t),d.renderer.scrollCursorIntoView(),d.removeSelectionMarkers(j),j=m.rectangularRangeBlock(w,v),d.$mouseHandler.$clickSelection&&1==j.length&&j[0].isEmpty()&&(j[0]=d.$mouseHandler.$clickSelection.clone()),j.forEach(d.addSelectionMarker,d),d.updateSelectionMarkers())};p&&!l?m.toSingleRange():!p&&l&&(O=m.toOrientedRange(),d.addSelectionMarker(O)),a?v=y.documentToScreenPosition(m.lead):m.moveToPosition(h),w={row:-1,column:-1};var S=E;r.capture(d.container,(function(e){g=e.clientX,b=e.clientY}),(function(e){E(),clearInterval(C),d.removeSelectionMarkers(j),j.length||(j=[m.toOrientedRange()]),O&&(d.removeSelectionMarker(O),m.toSingleRange(O));for(var t=0;t<j.length;t++)m.addRange(j[t]);d.inVirtualSelectionMode=!1,d.$mouseHandler.$clickSelection=null}));var C=setInterval((function(){S()}),20);return e.preventDefault()}}}else 0===c&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode()}})),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],(function(e,t,n){t.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(e){e.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(e){e.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(e){e.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(e){e.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(e){e.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(e){e.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(e){e.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split into lines",exec:function(e){e.multiSelect.rangeCount>1?e.multiSelect.joinSelections():e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(e){e.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],t.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var r=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new r(t.multiSelectCommands)})),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],(function(e,t,n){var r=e("./range_list").RangeList,i=e("./range").Range,o=e("./selection").Selection,a=e("./mouse/multi_select_handler").onMouseDown,s=e("./lib/event"),l=e("./lib/lang"),c=e("./commands/multi_select_commands");t.commands=c.defaultCommands.concat(c.multiSelectCommands);var u=new(0,e("./search").Search);var d=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(d.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(e){if(!this.inMultiSelectMode&&0===this.rangeCount){var n=this.toOrientedRange();if(this.rangeList.add(n),this.rangeList.add(e),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)}},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length&&this.$onRemoveRange(e)},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),(t=t||this.ranges[0])&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new r,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var e=this.ranges.length?this.ranges:[this.getRange()],t=[],n=0;n<e.length;n++){var r=e[n],o=r.start.row,a=r.end.row;if(o===a)t.push(r.clone());else{for(t.push(new i(o,r.start.column,o,this.session.getLine(o).length));++o<a;)t.push(this.getLineRange(o,!0));t.push(new i(a,0,a,r.end.column))}0!=n||this.isBackwards()||(t=t.reverse())}this.toSingleRange();for(n=t.length;n--;)this.addRange(t[n])},this.joinSelections=function(){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.cursor),o=this.session.documentToScreenPosition(this.anchor);this.rectangularRangeBlock(r,o).forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],o=e.column<t.column;if(o)var a=e.column,s=t.column,l=e.offsetX,c=t.offsetX;else a=t.column,s=e.column,l=t.offsetX,c=e.offsetX;var u,d,m,p=e.row<t.row;if(p)var h=e.row,f=t.row;else h=t.row,f=e.row;a<0&&(a=0),h<0&&(h=0),h==f&&(n=!0);for(var _=h;_<=f;_++){var g=i.fromPoints(this.session.screenToDocumentPosition(_,a,l),this.session.screenToDocumentPosition(_,s,c));if(g.isEmpty()){if(u&&(d=g.end,m=u,d.row==m.row&&d.column==m.column))break;u=g.end}g.cursor=o?g.start:g.end,r.push(g)}if(p&&r.reverse(),!n){for(var b=r.length-1;r[b].isEmpty()&&b>0;)b--;if(b>0)for(var y=0;r[y].isEmpty();)y++;for(var v=b;v>=y;v--)r[v].isEmpty()&&r.splice(v,1)}return r}}.call(o.prototype);var m=e("./editor").Editor;function p(e){e.$multiselectOnSessionChange||(e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",a),e.commands.addCommands(c.defaultCommands),function(e){if(!e.textInput)return;var t=e.textInput.getElement(),n=!1;function r(t){n&&(e.renderer.setMouseCursor(""),n=!1)}s.addListener(t,"keydown",(function(t){var i=18==t.keyCode&&!(t.ctrlKey||t.shiftKey||t.metaKey);e.$blockSelectEnabled&&i?n||(e.renderer.setMouseCursor("crosshair"),n=!0):n&&r()}),e),s.addListener(t,"keyup",r,e),s.addListener(t,"blur",r,e)}(e))}(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(e.marker){this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);-1!=t&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(e){for(var t=this.session.$selectionMarkers,n=e.length;n--;){var r=e[n];if(r.marker){this.session.removeMarker(r.marker);var i=t.indexOf(r);-1!=i&&t.splice(i,1)}}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(c.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(e){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(c.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(n.multiSelect){if(t.multiSelectAction)"forEach"==t.multiSelectAction?r=n.forEachSelection(t,e.args):"forEachLine"==t.multiSelectAction?r=n.forEachSelection(t,e.args,!0):"single"==t.multiSelectAction?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});else{var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}return r}},this.forEachSelection=function(e,t,n){if(!this.inVirtualSelectionMode){var r,i=n&&n.keepOrder,a=1==n||n&&n.$byLines,s=this.session,l=this.selection,c=l.rangeList,u=(i?l:c).ranges;if(!u.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var d=l._eventRegistry;l._eventRegistry={};var m=new o(s);this.inVirtualSelectionMode=!0;for(var p=u.length;p--;){if(a)for(;p>0&&u[p].start.row==u[p-1].end.row;)p--;m.fromOrientedRange(u[p]),m.index=p,this.selection=s.selection=m;var h=e.exec?e.exec(this,t||{}):e(this,t||{});r||void 0===h||(r=h),m.toOrientedRange(u[p])}m.detach(),this.selection=s.selection=l,this.inVirtualSelectionMode=!1,l._eventRegistry=d,l.mergeOverlappingRanges(),l.ranges[0]&&l.fromOrientedRange(l.ranges[0]);var f=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),f&&f.from==f.to&&this.renderer.animateScrolling(f.from),r}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var t=this.multiSelect.rangeList.ranges,n=[],r=0;r<t.length;r++)n.push(this.session.getTextRange(t[r]));var i=this.session.getDocument().getNewLineCharacter();(e=n.join(i)).length==(n.length-1)*i.length&&(e="")}else this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange()));return e},this.$checkMultiselectChange=function(e,t){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var n=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&t==this.multiSelect.anchor)return;var r=t==this.multiSelect.anchor?n.cursor==n.start?n.end:n.start:n.cursor;r.row!=t.row||this.session.$clipPositionToDocument(r.row,r.column).column!=t.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(e,t,n){if((t=t||{}).needle=e||t.needle,null==t.needle){var r=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();t.needle=this.session.getTextRange(r)}this.$search.set(t);var i=this.$search.findAll(this.session);if(!i.length)return 0;var o=this.multiSelect;n||o.toSingleRange(i[0]);for(var a=i.length;a--;)o.addRange(i[a],!0);return r&&o.rangeList.rangeAtPoint(r.start)&&o.addRange(r,!0),i.length},this.selectMoreLines=function(e,t){var n=this.selection.toOrientedRange(),r=n.cursor==n.end,o=this.session.documentToScreenPosition(n.cursor);this.selection.$desiredColumn&&(o.column=this.selection.$desiredColumn);var a,s=this.session.screenToDocumentPosition(o.row+e,o.column);if(n.isEmpty())c=s;else var l=this.session.documentToScreenPosition(r?n.end:n.start),c=this.session.screenToDocumentPosition(l.row+e,l.column);r?(a=i.fromPoints(s,c)).cursor=a.start:(a=i.fromPoints(c,s)).cursor=a.end;if(a.desiredColumn=o.column,this.selection.inMultiSelectMode){if(t)var u=n.cursor}else this.selection.addRange(n);this.selection.addRange(a),u&&this.selection.substractPoint(u)},this.transposeSelections=function(e){for(var t=this.session,n=t.multiSelect,r=n.ranges,i=r.length;i--;){if((s=r[i]).isEmpty()){var o=t.getWordRange(s.start.row,s.start.column);s.start.row=o.start.row,s.start.column=o.start.column,s.end.row=o.end.row,s.end.column=o.end.column}}n.mergeOverlappingRanges();var a=[];for(i=r.length;i--;){var s=r[i];a.unshift(t.getTextRange(s))}e<0?a.unshift(a.pop()):a.push(a.shift());for(i=r.length;i--;){o=(s=r[i]).clone();t.replace(s,a[i]),s.start.row=o.start.row,s.start.column=o.start.column}n.fromOrientedRange(n.ranges[0])},this.selectMore=function(e,t,n){var r=this.session,i=r.multiSelect.toOrientedRange();if(!i.isEmpty()||((i=r.getWordRange(i.start.row,i.start.column)).cursor=-1==e?i.start:i.end,this.multiSelect.addRange(i),!n)){var o=r.getTextRange(i),a=function(e,t,n){return u.$options.wrap=!0,u.$options.needle=t,u.$options.backwards=-1==n,u.find(e)}(r,o,e);a&&(a.cursor=-1==e?a.start:a.end,this.session.unfold(a),this.multiSelect.addRange(a),this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(i.cursor)}},this.alignCursors=function(){var e=this.session,t=e.multiSelect,n=t.ranges,r=-1,o=n.filter((function(e){if(e.cursor.row==r)return!0;r=e.cursor.row}));if(n.length&&o.length!=n.length-1){o.forEach((function(e){t.substractPoint(e.cursor)}));var a=0,s=1/0,c=n.map((function(t){var n=t.cursor,r=e.getLine(n.row).substr(n.column).search(/\S/g);return-1==r&&(r=0),n.column>a&&(a=n.column),r<s&&(s=r),r}));n.forEach((function(t,n){var r=t.cursor,o=a-r.column,u=c[n]-s;o>u?e.insert(r,l.stringRepeat(" ",o-u)):e.remove(new i(r.row,r.column,r.row,r.column-o+u)),t.start.column=t.end.column=a,t.start.row=t.end.row=r.row,t.cursor=t.end})),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var u=this.selection.getRange(),d=u.start.row,m=u.end.row,p=d==m;if(p){var h,f=this.session.getLength();do{h=this.session.getLine(m)}while(/[=:]/.test(h)&&++m<f);do{h=this.session.getLine(d)}while(/[=:]/.test(h)&&--d>0);d<0&&(d=0),m>=f&&(m=f-1)}var _=this.session.removeFullLines(d,m);_=this.$reAlignText(_,p),this.session.insert({row:d,column:0},_.join("\n")+"\n"),p||(u.start.column=0,u.end.column=_[_.length-1].length),this.selection.setRange(u)}},this.$reAlignText=function(e,t){var n,r,i,o=!0,a=!0;return e.map((function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?null==n?(n=t[1].length,r=t[2].length,i=t[3].length,t):(n+r+i!=t[1].length+t[2].length+t[3].length&&(a=!1),n!=t[1].length&&(o=!1),n>t[1].length&&(n=t[1].length),r<t[2].length&&(r=t[2].length),i>t[3].length&&(i=t[3].length),t):[e]})).map(t?c:o?a?function(e){return e[2]?s(n+r-e[2].length)+e[2]+s(i)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}:c:function(e){return e[2]?s(n)+e[2]+s(i)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]});function s(e){return l.stringRepeat(" ",e)}function c(e){return e[2]?s(n)+e[2]+s(r-e[2].length+i)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}}}).call(m.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=p,e("./config").defineOptions(m.prototype,"editor",{enableMultiselect:{set:function(e){p(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",a)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",a))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})})),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],(function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":"markbeginend"==t&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,o=e.getLine(t),a=o.search(i);if(-1!=a){for(var s=n||o.length,l=e.getLength(),c=t,u=t;++t<l;){var d=e.getLine(t).search(i);if(-1!=d){if(d<=a){var m=e.getTokenAt(t,0);if(!m||"string"!==m.type)break}u=t}}if(u>c){var p=e.getLine(u).length;return new r(c,s,u,p)}}},this.openingBracketBlock=function(e,t,n,i,o){var a={row:n,column:i+1},s=e.$findClosingBracket(t,a,o);if(s){var l=e.foldWidgets[s.row];return null==l&&(l=e.getFoldWidget(s.row)),"start"==l&&s.row>a.row&&(s.row--,s.column=e.getLine(s.row).length),r.fromPoints(a,s)}},this.closingBracketBlock=function(e,t,n,i,o){var a={row:n,column:i},s=e.$findOpeningBracket(t,a);if(s)return s.column++,a.column--,r.fromPoints(s,a)}}).call(i.prototype)})),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],(function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.$id="ace/theme/textmate",e("../lib/dom").importCssString(t.cssText,t.cssClass)})),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],(function(e,t,n){"use strict";var r=e("./lib/dom");function i(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}(function(){this.getRowLength=function(e){var t;return t=this.lineWidgets&&this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0,this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach((function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)})),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach(),this.editor!=e&&(this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets)))},this.detach=function(e){var t=this.editor;if(t){this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach((function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))}))}},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(n&&e.action){for(var r=e.data,i=r.start.row,o=r.end.row,a="add"==e.action,s=i+1;s<o;s++)n[s]&&(n[s].hidden=a);n[o]&&(a?n[i]?n[o].hidden=a:n[i]=n[o]:(n[i]==n[o]&&(n[i]=void 0),n[o].hidden=a))}},this.updateOnChange=function(e){var t=this.session.lineWidgets;if(t){var n=e.start.row,r=e.end.row-n;if(0===r);else if("remove"==e.action){var i=t.splice(n+1,r);!t[n]&&i[i.length-1]&&(t[n]=i.pop()),i.forEach((function(e){e&&this.removeLineWidget(e)}),this),this.$updateRows()}else{var o=new Array(r);t[n]&&null!=t[n].column&&e.start.column>t[n].column&&n++,o.unshift(n,0),t.splice.apply(t,o),this.$updateRows()}}},this.$updateRows=function(){var e=this.session.lineWidgets;if(e){var t=!0;e.forEach((function(e,n){if(e)for(t=!1,e.row=n;e.$oldWidget;)e.$oldWidget.row=n,e=e.$oldWidget})),t&&(this.session.lineWidgets=null)}},this.$registerLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];return t&&(e.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e},this.addLineWidget=function(e){if(this.$registerLineWidget(e),e.session=this.session,!this.editor)return e;var t=this.editor.renderer;e.html&&!e.el&&(e.el=r.createElement("div"),e.el.innerHTML=e.html),e.el&&(r.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,t.container.appendChild(e.el),e._inDocument=!0,e.coverGutter||(e.el.style.zIndex=3),null==e.pixelHeight&&(e.pixelHeight=e.el.offsetHeight)),null==e.rowCount&&(e.rowCount=e.pixelHeight/t.layerConfig.lineHeight);var n=this.session.getFoldAt(e.row,0);if(e.$fold=n,n){var i=this.session.lineWidgets;e.row!=n.end.row||i[n.start.row]?e.hidden=!0:i[n.start.row]=e}return this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,t),this.onWidgetChanged(e),e},this.removeLineWidget=function(e){if(e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el),e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(e){}if(this.session.lineWidgets){var t=this.session.lineWidgets[e.row];if(t==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else for(;t;){if(t.$oldWidget==e){t.$oldWidget=e.$oldWidget;break}t=t.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(e){for(var t=this.session.lineWidgets,n=t&&t[e],r=[];n;)r.push(n),n=n.$oldWidget;return r},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(n&&n.length){for(var i=1/0,o=0;o<n.length;o++){var a=n[o];if(a&&a.el&&a.session==this.session){if(!a._inDocument){if(this.session.lineWidgets[a.row]!=a)continue;a._inDocument=!0,t.container.appendChild(a.el)}a.h=a.el.offsetHeight,a.fixedWidth||(a.w=a.el.offsetWidth,a.screenWidth=Math.ceil(a.w/r.characterWidth));var s=a.h/r.lineHeight;a.coverLine&&(s-=this.session.getRowLineCount(a.row))<0&&(s=0),a.rowCount!=s&&(a.rowCount=s,a.row<i&&(i=a.row))}}i!=1/0&&(this.session._emit("changeFold",{data:{start:{row:i}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},this.renderWidgets=function(e,t){var n=t.layerConfig,r=this.session.lineWidgets;if(r){for(var i=Math.min(this.firstRow,n.firstRow),o=Math.max(this.lastRow,n.lastRow,r.length);i>0&&!r[i];)i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var a=i;a<=o;a++){var s=r[a];if(s&&s.el)if(s.hidden)s.el.style.top=-100-(s.pixelHeight||0)+"px";else{s._inDocument||(s._inDocument=!0,t.container.appendChild(s.el));var l=t.$cursorLayer.getPixelPosition({row:a,column:0},!0).top;s.coverLine||(l+=n.lineHeight*this.session.getRowLineCount(s.row)),s.el.style.top=l-n.offset+"px";var c=s.coverGutter?0:t.gutterWidth;s.fixedWidth||(c-=t.scrollLeft),s.el.style.left=c+"px",s.fullWidth&&s.screenWidth&&(s.el.style.minWidth=n.width+2*n.padding+"px"),s.fixedWidth?s.el.style.right=t.scrollBar.getWidth()+"px":s.el.style.right=""}}}}}).call(i.prototype),t.LineWidgets=i})),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],(function(e,t,n){"use strict";var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),o=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var a=e.getCursorPosition(),s=a.row,l=n.widgetManager.getWidgetsAtRow(s).filter((function(e){return"errorMarker"==e.type}))[0];l?l.destroy():s-=t;var c,u=function(e,t,n){var r=e.getAnnotations().sort(o.comparePoints);if(r.length){var i=function(e,t,n){for(var r=0,i=e.length-1;r<=i;){var o=r+i>>1,a=n(t,e[o]);if(a>0)r=o+1;else{if(!(a<0))return o;i=o-1}}return-(r+1)}(r,{row:t,column:-1},o.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:0===i&&n<0&&(i=r.length-1);var a=r[i];if(a&&n){if(a.row===t){do{a=r[i+=n]}while(a&&a.row===t);if(!a)return r.slice()}var s=[];t=a.row;do{s[n<0?"unshift":"push"](a),a=r[i+=n]}while(a&&a.row==t);return s.length&&s}}}(n,s,t);if(u){var d=u[0];a.column=(d.pos&&"number"!=typeof d.column?d.pos.sc:d.column)||0,a.row=d.row,c=e.renderer.$gutterLayer.$annotations[a.row]}else{if(l)return;c={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(a.row),e.selection.moveToPosition(a);var m={row:a.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},p=m.el.appendChild(i.createElement("div")),h=m.el.appendChild(i.createElement("div"));h.className="error_widget_arrow "+c.className;var f=e.renderer.$cursorLayer.getPixelPosition(a).left;h.style.left=f+e.renderer.gutterWidth-5+"px",m.el.className="error_widget_wrapper",p.className="error_widget "+c.className,p.innerHTML=c.text.join("<br>"),p.appendChild(i.createElement("div"));var _=function(e,t,n){if(0===t&&("esc"===n||"return"===n))return m.destroy(),{command:"null"}};m.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(_),n.widgetManager.removeLineWidget(m),e.off("changeSelection",m.destroy),e.off("changeSession",m.destroy),e.off("mouseup",m.destroy),e.off("change",m.destroy))},e.keyBinding.addKeyboardHandler(_),e.on("changeSelection",m.destroy),e.on("changeSession",m.destroy),e.on("mouseup",m.destroy),e.on("change",m.destroy),e.session.widgetManager.addLineWidget(m),m.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:m.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")})),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],(function(e,t,r){"use strict";e("./lib/fixoldbrowsers");var i=e("./lib/dom"),o=e("./lib/event"),a=e("./range").Range,s=e("./editor").Editor,l=e("./edit_session").EditSession,c=e("./undomanager").UndoManager,u=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,t.define=n(42),t.edit=function(e,n){if("string"==typeof e){var r=e;if(!(e=document.getElementById(r)))throw new Error("ace.edit can't find div #"+r)}if(e&&e.env&&e.env.editor instanceof s)return e.env.editor;var a="";if(e&&/input|textarea/i.test(e.tagName)){var l=e;a=l.value,e=i.createElement("pre"),l.parentNode.replaceChild(e,l)}else e&&(a=e.textContent,e.innerHTML="");var c=t.createEditSession(a),d=new s(new u(e),c,n),m={document:c,editor:d,onResize:d.resize.bind(d,null)};return l&&(m.textarea=l),o.addListener(window,"resize",m.onResize),d.on("destroy",(function(){o.removeListener(window,"resize",m.onResize),m.editor.container.env=null})),d.container.env=d.env=m,d},t.createEditSession=function(e,t){var n=new l(e,t);return n.setUndoManager(new c),n},t.Range=a,t.Editor=s,t.EditSession=l,t.UndoManager=c,t.VirtualRenderer=u,t.version=t.config.version})),ace.require(["ace/ace"],(function(t){for(var n in t&&(t.config.init(!0),t.define=ace.define),window.ace||(window.ace=t),t)t.hasOwnProperty(n)&&(window.ace[n]=t[n]);window.ace.default=window.ace,e&&(e.exports=window.ace)}))}).call(this,n(22)(e))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),a=l(o),s=l(n(6));function l(e){return e&&e.__esModule?e:{default:e}}var c={position:"absolute",top:0,left:0,visibility:"hidden",height:0,overflow:"scroll",whiteSpace:"pre"},u=["extraWidth","injectStyles","inputClassName","inputRef","inputStyle","minWidth","onAutosize","placeholderIsMinWidth"],d=function(e,t){t.style.fontSize=e.fontSize,t.style.fontFamily=e.fontFamily,t.style.fontWeight=e.fontWeight,t.style.fontStyle=e.fontStyle,t.style.letterSpacing=e.letterSpacing,t.style.textTransform=e.textTransform},m=!("undefined"==typeof window||!window.navigator)&&/MSIE |Trident\/|Edge\//.test(window.navigator.userAgent),p=function(){return m?"_"+Math.random().toString(36).substr(2,12):void 0},h=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.inputRef=function(e){n.input=e,"function"==typeof n.props.inputRef&&n.props.inputRef(e)},n.placeHolderSizerRef=function(e){n.placeHolderSizer=e},n.sizerRef=function(e){n.sizer=e},n.state={inputWidth:e.minWidth,inputId:e.id||p(),prevId:e.id},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,null,[{key:"getDerivedStateFromProps",value:function(e,t){var n=e.id;return n!==t.prevId?{inputId:n||p(),prevId:n}:null}}]),i(t,[{key:"componentDidMount",value:function(){this.mounted=!0,this.copyInputStyles(),this.updateInputWidth()}},{key:"componentDidUpdate",value:function(e,t){t.inputWidth!==this.state.inputWidth&&"function"==typeof this.props.onAutosize&&this.props.onAutosize(this.state.inputWidth),this.updateInputWidth()}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"copyInputStyles",value:function(){if(this.mounted&&window.getComputedStyle){var e=this.input&&window.getComputedStyle(this.input);e&&(d(e,this.sizer),this.placeHolderSizer&&d(e,this.placeHolderSizer))}}},{key:"updateInputWidth",value:function(){if(this.mounted&&this.sizer&&void 0!==this.sizer.scrollWidth){var e=void 0;e=this.props.placeholder&&(!this.props.value||this.props.value&&this.props.placeholderIsMinWidth)?Math.max(this.sizer.scrollWidth,this.placeHolderSizer.scrollWidth)+2:this.sizer.scrollWidth+2,(e+="number"===this.props.type&&void 0===this.props.extraWidth?16:parseInt(this.props.extraWidth)||0)<this.props.minWidth&&(e=this.props.minWidth),e!==this.state.inputWidth&&this.setState({inputWidth:e})}}},{key:"getInput",value:function(){return this.input}},{key:"focus",value:function(){this.input.focus()}},{key:"blur",value:function(){this.input.blur()}},{key:"select",value:function(){this.input.select()}},{key:"renderStyles",value:function(){var e=this.props.injectStyles;return m&&e?a.default.createElement("style",{dangerouslySetInnerHTML:{__html:"input#"+this.state.inputId+"::-ms-clear {display: none;}"}}):null}},{key:"render",value:function(){var e=[this.props.defaultValue,this.props.value,""].reduce((function(e,t){return null!=e?e:t})),t=r({},this.props.style);t.display||(t.display="inline-block");var n=r({boxSizing:"content-box",width:this.state.inputWidth+"px"},this.props.inputStyle),i=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){u.forEach((function(t){return delete e[t]}))}(i),i.className=this.props.inputClassName,i.id=this.state.inputId,i.style=n,a.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),a.default.createElement("input",r({},i,{ref:this.inputRef})),a.default.createElement("div",{ref:this.sizerRef,style:c},e),this.props.placeholder?a.default.createElement("div",{ref:this.placeHolderSizerRef,style:c},this.props.placeholder):null)}}]),t}(o.Component);h.propTypes={className:s.default.string,defaultValue:s.default.any,extraWidth:s.default.oneOfType([s.default.number,s.default.string]),id:s.default.string,injectStyles:s.default.bool,inputClassName:s.default.string,inputRef:s.default.func,inputStyle:s.default.object,minWidth:s.default.oneOfType([s.default.number,s.default.string]),onAutosize:s.default.func,onChange:s.default.func,placeholder:s.default.string,placeholderIsMinWidth:s.default.bool,style:s.default.object,value:s.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},,function(e,t,n){"use strict";(function(e,r){function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){a(e,t,n[t])}))}return e}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}n.d(t,"a",(function(){return Oe})),n.d(t,"b",(function(){return ke}));var c=function(){},u={},d={},m={mark:c,measure:c};try{"undefined"!=typeof window&&(u=window),"undefined"!=typeof document&&(d=document),"undefined"!=typeof MutationObserver&&MutationObserver,"undefined"!=typeof performance&&(m=performance)}catch(e){}var p=(u.navigator||{}).userAgent,h=void 0===p?"":p,f=u,_=d,g=m,b=(f.document,!!_.documentElement&&!!_.head&&"function"==typeof _.addEventListener&&"function"==typeof _.createElement),y=(~h.indexOf("MSIE")||h.indexOf("Trident/"),function(){try{}catch(e){return!1}}(),[1,2,3,4,5,6,7,8,9,10]),v=y.concat([11,12,13,14,15,16,17,18,19,20]),w={GROUP:"group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},x=(["xs","sm","lg","fw","ul","li","border","pull-left","pull-right","spin","pulse","rotate-90","rotate-180","rotate-270","flip-horizontal","flip-vertical","flip-both","stack","stack-1x","stack-2x","inverse","layers","layers-text","layers-counter",w.GROUP,w.SWAP_OPACITY,w.PRIMARY,w.SECONDARY].concat(y.map((function(e){return"".concat(e,"x")}))).concat(v.map((function(e){return"w-".concat(e)}))),f.FontAwesomeConfig||{});if(_&&"function"==typeof _.querySelector){[["data-family-prefix","familyPrefix"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach((function(e){var t=l(e,2),n=t[0],r=t[1],i=function(e){return""===e||"false"!==e&&("true"===e||e)}(function(e){var t=_.querySelector("script["+e+"]");if(t)return t.getAttribute(e)}(n));null!=i&&(x[r]=i)}))}var k=s({},{familyPrefix:"fa",replacementClass:"svg-inline--fa",autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0},x);k.autoReplaceSvg||(k.observeMutations=!1);var O=s({},k);f.FontAwesomeConfig=O;var j=f||{};j.___FONT_AWESOME___||(j.___FONT_AWESOME___={}),j.___FONT_AWESOME___.styles||(j.___FONT_AWESOME___.styles={}),j.___FONT_AWESOME___.hooks||(j.___FONT_AWESOME___.hooks={}),j.___FONT_AWESOME___.shims||(j.___FONT_AWESOME___.shims=[]);var E=j.___FONT_AWESOME___,S=[];b&&((_.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(_.readyState)||_.addEventListener("DOMContentLoaded",(function e(){_.removeEventListener("DOMContentLoaded",e),1,S.map((function(e){return e()}))})));var C,R=function(){},T=void 0!==e&&void 0!==e.process&&"function"==typeof e.process.emit,L=void 0===r?setTimeout:r,A=[];function M(){for(var e=0;e<A.length;e++)A[e][0](A[e][1]);A=[],C=!1}function $(e,t){A.push([e,t]),C||(C=!0,L(M,0))}function N(e){var t=e.owner,n=t._state,r=t._data,i=e[n],o=e.then;if("function"==typeof i){n="fulfilled";try{r=i(r)}catch(e){q(o,e)}}P(o,r)||("fulfilled"===n&&I(o,r),"rejected"===n&&q(o,r))}function P(e,t){var n;try{if(e===t)throw new TypeError("A promises callback cannot return that same promise.");if(t&&("function"==typeof t||"object"===i(t))){var r=t.then;if("function"==typeof r)return r.call(t,(function(r){n||(n=!0,t===r?D(e,r):I(e,r))}),(function(t){n||(n=!0,q(e,t))})),!0}}catch(t){return n||q(e,t),!0}return!1}function I(e,t){e!==t&&P(e,t)||D(e,t)}function D(e,t){"pending"===e._state&&(e._state="settled",e._data=t,$(F,e))}function q(e,t){"pending"===e._state&&(e._state="settled",e._data=t,$(U,e))}function z(e){e._then=e._then.forEach(N)}function F(e){e._state="fulfilled",z(e)}function U(t){t._state="rejected",z(t),!t._handled&&T&&e.process.emit("unhandledRejection",t._data,t)}function H(t){e.process.emit("rejectionHandled",t)}function B(e){if("function"!=typeof e)throw new TypeError("Promise resolver "+e+" is not a function");if(this instanceof B==!1)throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");this._then=[],function(e,t){function n(e){q(t,e)}try{e((function(e){I(t,e)}),n)}catch(e){n(e)}}(e,this)}B.prototype={constructor:B,_state:"pending",_then:null,_data:void 0,_handled:!1,then:function(e,t){var n={owner:this,then:new this.constructor(R),fulfilled:e,rejected:t};return!t&&!e||this._handled||(this._handled=!0,"rejected"===this._state&&T&&$(H,this)),"fulfilled"===this._state||"rejected"===this._state?$(N,n):this._then.push(n),n.then},catch:function(e){return this.then(null,e)}},B.all=function(e){if(!Array.isArray(e))throw new TypeError("You must pass an array to Promise.all().");return new B((function(t,n){var r=[],i=0;function o(e){return i++,function(n){r[e]=n,--i||t(r)}}for(var a,s=0;s<e.length;s++)(a=e[s])&&"function"==typeof a.then?a.then(o(s),n):r[s]=a;i||t(r)}))},B.race=function(e){if(!Array.isArray(e))throw new TypeError("You must pass an array to Promise.race().");return new B((function(t,n){for(var r,i=0;i<e.length;i++)(r=e[i])&&"function"==typeof r.then?r.then(t,n):t(r)}))},B.resolve=function(e){return e&&"object"===i(e)&&e.constructor===B?e:new B((function(t){t(e)}))},B.reject=function(e){return new B((function(t,n){n(e)}))};var W={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function G(e){if(e&&b){var t=_.createElement("style");t.setAttribute("type","text/css"),t.innerHTML=e;for(var n=_.head.childNodes,r=null,i=n.length-1;i>-1;i--){var o=n[i],a=(o.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(a)>-1&&(r=o)}return _.head.insertBefore(t,r),e}}function V(){for(var e=12,t="";e-- >0;)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return t}function K(e){return"".concat(e).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Y(e){return Object.keys(e||{}).reduce((function(t,n){return t+"".concat(n,": ").concat(e[n],";")}),"")}function Q(e){return e.size!==W.size||e.x!==W.x||e.y!==W.y||e.rotate!==W.rotate||e.flipX||e.flipY}function X(e){var t=e.transform,n=e.containerWidth,r=e.iconWidth,i={transform:"translate(".concat(n/2," 256)")},o="translate(".concat(32*t.x,", ").concat(32*t.y,") "),a="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),s="rotate(".concat(t.rotate," 0 0)");return{outer:i,inner:{transform:"".concat(o," ").concat(a," ").concat(s)},path:{transform:"translate(".concat(r/2*-1," -256)")}}}var Z={x:0,y:0,width:"100%",height:"100%"};function J(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function ee(e){var t=e.icons,n=t.main,r=t.mask,i=e.prefix,o=e.iconName,a=e.transform,l=e.symbol,c=e.title,u=e.maskId,d=e.titleId,m=e.extra,p=e.watchable,h=void 0!==p&&p,f=r.found?r:n,_=f.width,g=f.height,b="fa-w-".concat(Math.ceil(_/g*16)),y=[O.replacementClass,o?"".concat(O.familyPrefix,"-").concat(o):"",b].filter((function(e){return-1===m.classes.indexOf(e)})).concat(m.classes).join(" "),v={children:[],attributes:s({},m.attributes,{"data-prefix":i,"data-icon":o,class:y,role:m.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(_," ").concat(g)})};h&&(v.attributes["data-fa-i2svg"]=""),c&&v.children.push({tag:"title",attributes:{id:v.attributes["aria-labelledby"]||"title-".concat(d||V())},children:[c]});var w=s({},v,{prefix:i,iconName:o,main:n,mask:r,maskId:u,transform:a,symbol:l,styles:m.styles}),x=r.found&&n.found?function(e){var t,n=e.children,r=e.attributes,i=e.main,o=e.mask,a=e.maskId,l=e.transform,c=i.width,u=i.icon,d=o.width,m=o.icon,p=X({transform:l,containerWidth:d,iconWidth:c}),h={tag:"rect",attributes:s({},Z,{fill:"white"})},f=u.children?{children:u.children.map(J)}:{},_={tag:"g",attributes:s({},p.inner),children:[J(s({tag:u.tag,attributes:s({},u.attributes,p.path)},f))]},g={tag:"g",attributes:s({},p.outer),children:[_]},b="mask-".concat(a||V()),y="clip-".concat(a||V()),v={tag:"mask",attributes:s({},Z,{id:b,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[h,g]},w={tag:"defs",children:[{tag:"clipPath",attributes:{id:y},children:(t=m,"g"===t.tag?t.children:[t])},v]};return n.push(w,{tag:"rect",attributes:s({fill:"currentColor","clip-path":"url(#".concat(y,")"),mask:"url(#".concat(b,")")},Z)}),{children:n,attributes:r}}(w):function(e){var t=e.children,n=e.attributes,r=e.main,i=e.transform,o=Y(e.styles);if(o.length>0&&(n.style=o),Q(i)){var a=X({transform:i,containerWidth:r.width,iconWidth:r.width});t.push({tag:"g",attributes:s({},a.outer),children:[{tag:"g",attributes:s({},a.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:s({},r.icon.attributes,a.path)}]}]})}else t.push(r.icon);return{children:t,attributes:n}}(w),k=x.children,j=x.attributes;return w.children=k,w.attributes=j,l?function(e){var t=e.prefix,n=e.iconName,r=e.children,i=e.attributes,o=e.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:s({},i,{id:!0===o?"".concat(t,"-").concat(O.familyPrefix,"-").concat(n):o}),children:r}]}]}(w):function(e){var t=e.children,n=e.main,r=e.mask,i=e.attributes,o=e.styles,a=e.transform;if(Q(a)&&n.found&&!r.found){var l={x:n.width/n.height/2,y:.5};i.style=Y(s({},o,{"transform-origin":"".concat(l.x+a.x/16,"em ").concat(l.y+a.y/16,"em")}))}return[{tag:"svg",attributes:i,children:t}]}(w)}var te=function(){},ne=(O.measurePerformance&&g&&g.mark&&g.measure,function(e,t,n,r){var i,o,a,s=Object.keys(e),l=s.length,c=void 0!==r?function(e,t){return function(n,r,i,o){return e.call(t,n,r,i,o)}}(t,r):t;for(void 0===n?(i=1,a=e[s[0]]):(i=0,a=n);i<l;i++)a=c(a,e[o=s[i]],o,e);return a});function re(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.skipHooks,i=void 0!==r&&r,o=Object.keys(t).reduce((function(e,n){var r=t[n];return!!r.icon?e[r.iconName]=r.icon:e[n]=r,e}),{});"function"!=typeof E.hooks.addPack||i?E.styles[e]=s({},E.styles[e]||{},o):E.hooks.addPack(e,o),"fas"===e&&re("fa",t)}var ie=E.styles,oe=E.shims,ae=function(){var e=function(e){return ne(ie,(function(t,n,r){return t[r]=ne(n,e,{}),t}),{})};e((function(e,t,n){return t[3]&&(e[t[3]]=n),e})),e((function(e,t,n){var r=t[2];return e[n]=n,r.forEach((function(t){e[t]=n})),e}));var t="far"in ie;ne(oe,(function(e,n){var r=n[0],i=n[1],o=n[2];return"far"!==i||t||(i="fas"),e[r]={prefix:i,iconName:o},e}),{})};ae();E.styles;function se(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}function le(e){var t=e.tag,n=e.attributes,r=void 0===n?{}:n,i=e.children,o=void 0===i?[]:i;return"string"==typeof e?K(e):"<".concat(t," ").concat(function(e){return Object.keys(e||{}).reduce((function(t,n){return t+"".concat(n,'="').concat(K(e[n]),'" ')}),"").trim()}(r),">").concat(o.map(le).join(""),"</").concat(t,">")}var ce=function(e){var t={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e?e.toLowerCase().split(" ").reduce((function(e,t){var n=t.toLowerCase().split("-"),r=n[0],i=n.slice(1).join("-");if(r&&"h"===i)return e.flipX=!0,e;if(r&&"v"===i)return e.flipY=!0,e;if(i=parseFloat(i),isNaN(i))return e;switch(r){case"grow":e.size=e.size+i;break;case"shrink":e.size=e.size-i;break;case"left":e.x=e.x-i;break;case"right":e.x=e.x+i;break;case"up":e.y=e.y-i;break;case"down":e.y=e.y+i;break;case"rotate":e.rotate=e.rotate+i}return e}),t):t};function ue(e){this.name="MissingIcon",this.message=e||"Icon unavailable",this.stack=(new Error).stack}ue.prototype=Object.create(Error.prototype),ue.prototype.constructor=ue;var de={fill:"currentColor"},me={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},pe={tag:"path",attributes:s({},de,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})},he=s({},me,{attributeName:"opacity"});s({},de,{cx:"256",cy:"364",r:"28"}),s({},me,{attributeName:"r",values:"28;14;28;28;14;28;"}),s({},he,{values:"1;0;1;1;0;1;"}),s({},de,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),s({},he,{values:"1;0;0;0;0;1;"}),s({},de,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),s({},he,{values:"0;0;1;1;0;0;"}),E.styles;function fe(e){var t=e[0],n=e[1],r=l(e.slice(4),1)[0];return{found:!0,width:t,height:n,icon:Array.isArray(r)?{tag:"g",attributes:{class:"".concat(O.familyPrefix,"-").concat(w.GROUP)},children:[{tag:"path",attributes:{class:"".concat(O.familyPrefix,"-").concat(w.SECONDARY),fill:"currentColor",d:r[0]}},{tag:"path",attributes:{class:"".concat(O.familyPrefix,"-").concat(w.PRIMARY),fill:"currentColor",d:r[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:r}}}}E.styles;function _e(){var e="svg-inline--fa",t=O.familyPrefix,n=O.replacementClass,r='svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse {\n color: #fff;\n}';if("fa"!==t||n!==e){var i=new RegExp("\\.".concat("fa","\\-"),"g"),o=new RegExp("\\--".concat("fa","\\-"),"g"),a=new RegExp("\\.".concat(e),"g");r=r.replace(i,".".concat(t,"-")).replace(o,"--".concat(t,"-")).replace(a,".".concat(n))}return r}function ge(){O.autoAddCss&&!xe&&(G(_e()),xe=!0)}function be(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map((function(e){return le(e)}))}}),Object.defineProperty(e,"node",{get:function(){if(b){var t=_.createElement("div");return t.innerHTML=e.html,t.children}}}),e}function ye(e){var t=e.prefix,n=void 0===t?"fa":t,r=e.iconName;if(r)return se(we.definitions,n,r)||se(E.styles,n,r)}var ve,we=new(function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.definitions={}}var t,n,r;return t=e,(n=[{key:"add",value:function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];var i=n.reduce(this._pullDefinitions,{});Object.keys(i).forEach((function(t){e.definitions[t]=s({},e.definitions[t]||{},i[t]),re(t,i[t]),ae()}))}},{key:"reset",value:function(){this.definitions={}}},{key:"_pullDefinitions",value:function(e,t){var n=t.prefix&&t.iconName&&t.icon?{0:t}:t;return Object.keys(n).map((function(t){var r=n[t],i=r.prefix,o=r.iconName,a=r.icon;e[i]||(e[i]={}),e[i][o]=a})),e}}])&&o(t.prototype,n),r&&o(t,r),e}()),xe=!1,ke={transform:function(e){return ce(e)}},Oe=(ve=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.transform,r=void 0===n?W:n,i=t.symbol,o=void 0!==i&&i,a=t.mask,l=void 0===a?null:a,c=t.maskId,u=void 0===c?null:c,d=t.title,m=void 0===d?null:d,p=t.titleId,h=void 0===p?null:p,f=t.classes,_=void 0===f?[]:f,g=t.attributes,b=void 0===g?{}:g,y=t.styles,v=void 0===y?{}:y;if(e){var w=e.prefix,x=e.iconName,k=e.icon;return be(s({type:"icon"},e),(function(){return ge(),O.autoA11y&&(m?b["aria-labelledby"]="".concat(O.replacementClass,"-title-").concat(h||V()):(b["aria-hidden"]="true",b.focusable="false")),ee({icons:{main:fe(k),mask:l?fe(l.icon):{found:!1,width:null,height:null,icon:{}}},prefix:w,iconName:x,transform:s({},W,r),symbol:o,title:m,maskId:u,titleId:h,extra:{attributes:b,styles:v,classes:_}})}))}},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(e||{}).icon?e:ye(e||{}),r=t.mask;return r&&(r=(r||{}).icon?r:ye(r||{})),ve(n,s({},t,{mask:r}))})}).call(this,n(19),n(58).setImmediate)},function(e,t,n){"use strict";(function(e){var r=n(0),i=n.n(r),o=n(10),a=n(6),s=n.n(a),l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==e?e:{};function c(e){var t=[];return{on:function(e){t.push(e)},off:function(e){t=t.filter((function(t){return t!==e}))},get:function(){return e},set:function(n,r){e=n,t.forEach((function(t){return t(e,r)}))}}}var u=i.a.createContext||function(e,t){var n,i,a,u="__create-react-context-"+((l[a="__global_unique_id__"]=(l[a]||0)+1)+"__"),d=function(e){function n(){var t;return(t=e.apply(this,arguments)||this).emitter=c(t.props.value),t}Object(o.a)(n,e);var r=n.prototype;return r.getChildContext=function(){var e;return(e={})[u]=this.emitter,e},r.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,i=e.value;((o=r)===(a=i)?0!==o||1/o==1/a:o!=o&&a!=a)?n=0:(n="function"==typeof t?t(r,i):1073741823,0!==(n|=0)&&this.emitter.set(e.value,n))}var o,a},r.render=function(){return this.props.children},n}(r.Component);d.childContextTypes=((n={})[u]=s.a.object.isRequired,n);var m=function(t){function n(){var e;return(e=t.apply(this,arguments)||this).state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}Object(o.a)(n,t);var r=n.prototype;return r.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?1073741823:t},r.componentDidMount=function(){this.context[u]&&this.context[u].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?1073741823:e},r.componentWillUnmount=function(){this.context[u]&&this.context[u].off(this.onUpdate)},r.getValue=function(){return this.context[u]?this.context[u].get():e},r.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(r.Component);return m.contextTypes=((i={})[u]=s.a.object,i),{Provider:d,Consumer:m}};t.a=u}).call(this,n(19))},function(e,t,n){var r=n(65);e.exports=p,e.exports.parse=o,e.exports.compile=function(e,t){return s(o(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=m;var i=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,a=0,s="",u=t&&t.delimiter||"/";null!=(n=i.exec(e));){var d=n[0],m=n[1],p=n.index;if(s+=e.slice(a,p),a=p+d.length,m)s+=m[1];else{var h=e[a],f=n[2],_=n[3],g=n[4],b=n[5],y=n[6],v=n[7];s&&(r.push(s),s="");var w=null!=f&&null!=h&&h!==f,x="+"===y||"*"===y,k="?"===y||"*"===y,O=n[2]||u,j=g||b;r.push({name:_||o++,prefix:f||"",delimiter:O,optional:k,repeat:x,partial:w,asterisk:!!v,pattern:j?c(j):v?".*":"[^"+l(O)+"]+?"})}}return a<e.length&&(s+=e.substr(a)),s&&r.push(s),r}function a(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function s(e,t){for(var n=new Array(e.length),i=0;i<e.length;i++)"object"==typeof e[i]&&(n[i]=new RegExp("^(?:"+e[i].pattern+")$",d(t)));return function(t,i){for(var o="",s=t||{},l=(i||{}).pretty?a:encodeURIComponent,c=0;c<e.length;c++){var u=e[c];if("string"!=typeof u){var d,m=s[u.name];if(null==m){if(u.optional){u.partial&&(o+=u.prefix);continue}throw new TypeError('Expected "'+u.name+'" to be defined')}if(r(m)){if(!u.repeat)throw new TypeError('Expected "'+u.name+'" to not repeat, but received `'+JSON.stringify(m)+"`");if(0===m.length){if(u.optional)continue;throw new TypeError('Expected "'+u.name+'" to not be empty')}for(var p=0;p<m.length;p++){if(d=l(m[p]),!n[c].test(d))throw new TypeError('Expected all "'+u.name+'" to match "'+u.pattern+'", but received `'+JSON.stringify(d)+"`");o+=(0===p?u.prefix:u.delimiter)+d}}else{if(d=u.asterisk?encodeURI(m).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):l(m),!n[c].test(d))throw new TypeError('Expected "'+u.name+'" to match "'+u.pattern+'", but received "'+d+'"');o+=u.prefix+d}}else o+=u}return o}}function l(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function c(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function u(e,t){return e.keys=t,e}function d(e){return e&&e.sensitive?"":"i"}function m(e,t,n){r(t)||(n=t||n,t=[]);for(var i=(n=n||{}).strict,o=!1!==n.end,a="",s=0;s<e.length;s++){var c=e[s];if("string"==typeof c)a+=l(c);else{var m=l(c.prefix),p="(?:"+c.pattern+")";t.push(c),c.repeat&&(p+="(?:"+m+p+")*"),a+=p=c.optional?c.partial?m+"("+p+")?":"(?:"+m+"("+p+"))?":m+"("+p+")"}}var h=l(n.delimiter||"/"),f=a.slice(-h.length)===h;return i||(a=(f?a.slice(0,-h.length):a)+"(?:"+h+"(?=$))?"),a+=o?"$":i&&f?"":"(?="+h+"|$)",u(new RegExp("^"+a,d(n)),t)}function p(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return u(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],i=0;i<e.length;i++)r.push(p(e[i],t,n).source);return u(new RegExp("(?:"+r.join("|")+")",d(n)),t)}(e,t,n):function(e,t,n){return m(o(e,n),t,n)}(e,t,n)}},function(e,t,n){var r=n(34);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}},function(e,t,n){"use strict";
12
+ /*
13
+ object-assign
14
+ (c) Sindre Sorhus
15
+ @license MIT
16
+ */var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,l=a(e),c=1;c<arguments.length;c++){for(var u in n=Object(arguments[c]))i.call(n,u)&&(l[u]=n[u]);if(r){s=r(n);for(var d=0;d<s.length;d++)o.call(n,s[d])&&(l[s[d]]=n[s[d]])}}return l}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(t,n,r,i,o){var a=r||"<<anonymous>>",s=o||n;if(null==t[n])return new Error("The "+i+" `"+s+"` is required to make `"+a+"` accessible for users of assistive technologies such as screen readers.");for(var l=arguments.length,c=Array(l>5?l-5:0),u=5;u<l;u++)c[u-5]=arguments[u];return e.apply(void 0,[t,n,r,i,o].concat(c))}},e.exports=t.default},function(e,t,n){"use strict";e.exports=n(66)},function(e,t){e.exports=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=n=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),n(t)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(76),i=n(77),o=n(78),a=n(79);e.exports=function(e){return r(e)||i(e)||o(e)||a()},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new Error("define cannot be used indirect")}},function(e,t,n){(function(e,n){var r="[object Arguments]",i="[object Map]",o="[object Object]",a="[object Set]",s=/^\[object .+?Constructor\]$/,l=/^(?:0|[1-9]\d*)$/,c={};c["[object Float32Array]"]=c["[object Float64Array]"]=c["[object Int8Array]"]=c["[object Int16Array]"]=c["[object Int32Array]"]=c["[object Uint8Array]"]=c["[object Uint8ClampedArray]"]=c["[object Uint16Array]"]=c["[object Uint32Array]"]=!0,c[r]=c["[object Array]"]=c["[object ArrayBuffer]"]=c["[object Boolean]"]=c["[object DataView]"]=c["[object Date]"]=c["[object Error]"]=c["[object Function]"]=c[i]=c["[object Number]"]=c[o]=c["[object RegExp]"]=c[a]=c["[object String]"]=c["[object WeakMap]"]=!1;var u="object"==typeof e&&e&&e.Object===Object&&e,d="object"==typeof self&&self&&self.Object===Object&&self,m=u||d||Function("return this")(),p=t&&!t.nodeType&&t,h=p&&"object"==typeof n&&n&&!n.nodeType&&n,f=h&&h.exports===p,_=f&&u.process,g=function(){try{return _&&_.binding&&_.binding("util")}catch(e){}}(),b=g&&g.isTypedArray;function y(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function v(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function w(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var x,k,O,j=Array.prototype,E=Function.prototype,S=Object.prototype,C=m["__core-js_shared__"],R=E.toString,T=S.hasOwnProperty,L=(x=/[^.]+$/.exec(C&&C.keys&&C.keys.IE_PROTO||""))?"Symbol(src)_1."+x:"",A=S.toString,M=RegExp("^"+R.call(T).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),$=f?m.Buffer:void 0,N=m.Symbol,P=m.Uint8Array,I=S.propertyIsEnumerable,D=j.splice,q=N?N.toStringTag:void 0,z=Object.getOwnPropertySymbols,F=$?$.isBuffer:void 0,U=(k=Object.keys,O=Object,function(e){return k(O(e))}),H=ge(m,"DataView"),B=ge(m,"Map"),W=ge(m,"Promise"),G=ge(m,"Set"),V=ge(m,"WeakMap"),K=ge(Object,"create"),Y=we(H),Q=we(B),X=we(W),Z=we(G),J=we(V),ee=N?N.prototype:void 0,te=ee?ee.valueOf:void 0;function ne(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function re(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function ie(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function oe(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new ie;++t<n;)this.add(e[t])}function ae(e){var t=this.__data__=new re(e);this.size=t.size}function se(e,t){var n=Oe(e),r=!n&&ke(e),i=!n&&!r&&je(e),o=!n&&!r&&!i&&Te(e),a=n||r||i||o,s=a?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],l=s.length;for(var c in e)!t&&!T.call(e,c)||a&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||ve(c,l))||s.push(c);return s}function le(e,t){for(var n=e.length;n--;)if(xe(e[n][0],t))return n;return-1}function ce(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":q&&q in Object(e)?function(e){var t=T.call(e,q),n=e[q];try{e[q]=void 0;var r=!0}catch(e){}var i=A.call(e);r&&(t?e[q]=n:delete e[q]);return i}(e):function(e){return A.call(e)}(e)}function ue(e){return Re(e)&&ce(e)==r}function de(e,t,n,s,l){return e===t||(null==e||null==t||!Re(e)&&!Re(t)?e!=e&&t!=t:function(e,t,n,s,l,c){var u=Oe(e),d=Oe(t),m=u?"[object Array]":ye(e),p=d?"[object Array]":ye(t),h=(m=m==r?o:m)==o,f=(p=p==r?o:p)==o,_=m==p;if(_&&je(e)){if(!je(t))return!1;u=!0,h=!1}if(_&&!h)return c||(c=new ae),u||Te(e)?he(e,t,n,s,l,c):function(e,t,n,r,o,s,l){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!s(new P(e),new P(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return xe(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case i:var c=v;case a:var u=1&r;if(c||(c=w),e.size!=t.size&&!u)return!1;var d=l.get(e);if(d)return d==t;r|=2,l.set(e,t);var m=he(c(e),c(t),r,o,s,l);return l.delete(e),m;case"[object Symbol]":if(te)return te.call(e)==te.call(t)}return!1}(e,t,m,n,s,l,c);if(!(1&n)){var g=h&&T.call(e,"__wrapped__"),b=f&&T.call(t,"__wrapped__");if(g||b){var y=g?e.value():e,x=b?t.value():t;return c||(c=new ae),l(y,x,n,s,c)}}if(!_)return!1;return c||(c=new ae),function(e,t,n,r,i,o){var a=1&n,s=fe(e),l=s.length,c=fe(t).length;if(l!=c&&!a)return!1;var u=l;for(;u--;){var d=s[u];if(!(a?d in t:T.call(t,d)))return!1}var m=o.get(e);if(m&&o.get(t))return m==t;var p=!0;o.set(e,t),o.set(t,e);var h=a;for(;++u<l;){d=s[u];var f=e[d],_=t[d];if(r)var g=a?r(_,f,d,t,e,o):r(f,_,d,e,t,o);if(!(void 0===g?f===_||i(f,_,n,r,o):g)){p=!1;break}h||(h="constructor"==d)}if(p&&!h){var b=e.constructor,y=t.constructor;b==y||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof y&&y instanceof y||(p=!1)}return o.delete(e),o.delete(t),p}(e,t,n,s,l,c)}(e,t,n,s,de,l))}function me(e){return!(!Ce(e)||function(e){return!!L&&L in e}(e))&&(Ee(e)?M:s).test(we(e))}function pe(e){if(n=(t=e)&&t.constructor,r="function"==typeof n&&n.prototype||S,t!==r)return U(e);var t,n,r,i=[];for(var o in Object(e))T.call(e,o)&&"constructor"!=o&&i.push(o);return i}function he(e,t,n,r,i,o){var a=1&n,s=e.length,l=t.length;if(s!=l&&!(a&&l>s))return!1;var c=o.get(e);if(c&&o.get(t))return c==t;var u=-1,d=!0,m=2&n?new oe:void 0;for(o.set(e,t),o.set(t,e);++u<s;){var p=e[u],h=t[u];if(r)var f=a?r(h,p,u,t,e,o):r(p,h,u,e,t,o);if(void 0!==f){if(f)continue;d=!1;break}if(m){if(!y(t,(function(e,t){if(a=t,!m.has(a)&&(p===e||i(p,e,n,r,o)))return m.push(t);var a}))){d=!1;break}}else if(p!==h&&!i(p,h,n,r,o)){d=!1;break}}return o.delete(e),o.delete(t),d}function fe(e){return function(e,t,n){var r=t(e);return Oe(e)?r:function(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}(r,n(e))}(e,Le,be)}function _e(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map}function ge(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return me(n)?n:void 0}ne.prototype.clear=function(){this.__data__=K?K(null):{},this.size=0},ne.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},ne.prototype.get=function(e){var t=this.__data__;if(K){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return T.call(t,e)?t[e]:void 0},ne.prototype.has=function(e){var t=this.__data__;return K?void 0!==t[e]:T.call(t,e)},ne.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=K&&void 0===t?"__lodash_hash_undefined__":t,this},re.prototype.clear=function(){this.__data__=[],this.size=0},re.prototype.delete=function(e){var t=this.__data__,n=le(t,e);return!(n<0)&&(n==t.length-1?t.pop():D.call(t,n,1),--this.size,!0)},re.prototype.get=function(e){var t=this.__data__,n=le(t,e);return n<0?void 0:t[n][1]},re.prototype.has=function(e){return le(this.__data__,e)>-1},re.prototype.set=function(e,t){var n=this.__data__,r=le(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},ie.prototype.clear=function(){this.size=0,this.__data__={hash:new ne,map:new(B||re),string:new ne}},ie.prototype.delete=function(e){var t=_e(this,e).delete(e);return this.size-=t?1:0,t},ie.prototype.get=function(e){return _e(this,e).get(e)},ie.prototype.has=function(e){return _e(this,e).has(e)},ie.prototype.set=function(e,t){var n=_e(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},oe.prototype.add=oe.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},oe.prototype.has=function(e){return this.__data__.has(e)},ae.prototype.clear=function(){this.__data__=new re,this.size=0},ae.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},ae.prototype.get=function(e){return this.__data__.get(e)},ae.prototype.has=function(e){return this.__data__.has(e)},ae.prototype.set=function(e,t){var n=this.__data__;if(n instanceof re){var r=n.__data__;if(!B||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new ie(r)}return n.set(e,t),this.size=n.size,this};var be=z?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var a=e[n];t(a,n,e)&&(o[i++]=a)}return o}(z(e),(function(t){return I.call(e,t)})))}:function(){return[]},ye=ce;function ve(e,t){return!!(t=null==t?9007199254740991:t)&&("number"==typeof e||l.test(e))&&e>-1&&e%1==0&&e<t}function we(e){if(null!=e){try{return R.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function xe(e,t){return e===t||e!=e&&t!=t}(H&&"[object DataView]"!=ye(new H(new ArrayBuffer(1)))||B&&ye(new B)!=i||W&&"[object Promise]"!=ye(W.resolve())||G&&ye(new G)!=a||V&&"[object WeakMap]"!=ye(new V))&&(ye=function(e){var t=ce(e),n=t==o?e.constructor:void 0,r=n?we(n):"";if(r)switch(r){case Y:return"[object DataView]";case Q:return i;case X:return"[object Promise]";case Z:return a;case J:return"[object WeakMap]"}return t});var ke=ue(function(){return arguments}())?ue:function(e){return Re(e)&&T.call(e,"callee")&&!I.call(e,"callee")},Oe=Array.isArray;var je=F||function(){return!1};function Ee(e){if(!Ce(e))return!1;var t=ce(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Se(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Ce(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Re(e){return null!=e&&"object"==typeof e}var Te=b?function(e){return function(t){return e(t)}}(b):function(e){return Re(e)&&Se(e.length)&&!!c[ce(e)]};function Le(e){return null!=(t=e)&&Se(t.length)&&!Ee(t)?se(e):pe(e);var t}n.exports=function(e,t){return de(e,t)}}).call(this,n(19),n(22)(e))},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.getAceInstance=t.debounce=t.editorEvents=t.editorOptions=void 0;t.editorOptions=["minLines","maxLines","readOnly","highlightActiveLine","tabSize","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets"];t.editorEvents=["onChange","onFocus","onInput","onBlur","onCopy","onPaste","onSelectionChange","onCursorChange","onScroll","handleOptions","updateRef"];t.getAceInstance=function(){var t;return"undefined"==typeof window?(e.window={},t=n(27),delete e.window):window.ace?(t=window.ace).acequire=window.ace.require||window.ace.acequire:t=n(27),t};t.debounce=function(e,t){var n=null;return function(){var r=this,i=arguments;clearTimeout(n),n=setTimeout((function(){e.apply(r,i)}),t)}}}).call(this,n(19))},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__assign||function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0});var a=n(44),s=a.getAceInstance(),l=n(27),c=n(88),u=n(6),d=n(0),m=n(43),p=n(89),h=function(e){function t(t){var n=e.call(this,t)||this;return a.editorEvents.forEach((function(e){n[e]=n[e].bind(n)})),n.debounce=a.debounce,n}return i(t,e),t.prototype.isInShadow=function(e){for(var t=e&&e.parentNode;t;){if("[object ShadowRoot]"===t.toString())return!0;t=t.parentNode}return!1},t.prototype.componentDidMount=function(){var e=this,t=this.props,n=t.className,r=t.onBeforeLoad,i=t.mode,o=t.focus,l=t.theme,u=t.fontSize,d=t.value,m=t.defaultValue,h=t.cursorStart,f=t.showGutter,_=t.wrapEnabled,g=t.showPrintMargin,b=t.scrollMargin,y=void 0===b?[0,0,0,0]:b,v=t.keyboardHandler,w=t.onLoad,x=t.commands,k=t.annotations,O=t.markers,j=t.splits;this.editor=s.edit(this.refEditor),this.isInShadow(this.refEditor)&&this.editor.renderer.attachToShadowRoot(),this.editor.setTheme("ace/theme/"+l),r&&r(s);var E=Object.keys(this.props.editorProps),S=new c.Split(this.editor.container,"ace/theme/"+l,j);this.editor.env.split=S,this.splitEditor=S.getEditor(0),this.split=S,this.editor.setShowPrintMargin(!1),this.editor.renderer.setShowGutter(!1);var C=this.splitEditor.$options;this.props.debounceChangePeriod&&(this.onChange=this.debounce(this.onChange,this.props.debounceChangePeriod)),S.forEach((function(t,n){for(var r=0;r<E.length;r++)t[E[r]]=e.props.editorProps[E[r]];var o=p(m,n),c=p(d,n,"");t.session.setUndoManager(new s.UndoManager),t.setTheme("ace/theme/"+l),t.renderer.setScrollMargin(y[0],y[1],y[2],y[3]),t.getSession().setMode("ace/mode/"+i),t.setFontSize(u),t.renderer.setShowGutter(f),t.getSession().setUseWrapMode(_),t.setShowPrintMargin(g),t.on("focus",e.onFocus),t.on("blur",e.onBlur),t.on("input",e.onInput),t.on("copy",e.onCopy),t.on("paste",e.onPaste),t.on("change",e.onChange),t.getSession().selection.on("changeSelection",e.onSelectionChange),t.getSession().selection.on("changeCursor",e.onCursorChange),t.session.on("changeScrollTop",e.onScroll),t.setValue(void 0===o?c:o,h);var b=p(k,n,[]),w=p(O,n,[]);t.getSession().setAnnotations(b),w&&w.length>0&&e.handleMarkers(w,t);for(r=0;r<a.editorOptions.length;r++){var j=a.editorOptions[r];C.hasOwnProperty(j)?t.setOption(j,e.props[j]):e.props[j]&&console.warn("ReaceAce: editor option "+j+" was activated but not found. Did you need to import a related tool or did you possibly mispell the option?")}e.handleOptions(e.props,t),Array.isArray(x)&&x.forEach((function(e){"string"==typeof e.exec?t.commands.bindKey(e.bindKey,e.exec):t.commands.addCommand(e)})),v&&t.setKeyboardHandler("ace/keyboard/"+v)})),n&&(this.refEditor.className+=" "+n),o&&this.splitEditor.focus();var R=this.editor.env.split;R.setOrientation("below"===this.props.orientation?R.BELOW:R.BESIDE),R.resize(!0),w&&w(R)},t.prototype.componentDidUpdate=function(e){var t=this,n=e,r=this.props,i=this.editor.env.split;if(r.splits!==n.splits&&i.setSplits(r.splits),r.orientation!==n.orientation&&i.setOrientation("below"===r.orientation?i.BELOW:i.BESIDE),i.forEach((function(e,i){r.mode!==n.mode&&e.getSession().setMode("ace/mode/"+r.mode),r.keyboardHandler!==n.keyboardHandler&&(r.keyboardHandler?e.setKeyboardHandler("ace/keyboard/"+r.keyboardHandler):e.setKeyboardHandler(null)),r.fontSize!==n.fontSize&&e.setFontSize(r.fontSize),r.wrapEnabled!==n.wrapEnabled&&e.getSession().setUseWrapMode(r.wrapEnabled),r.showPrintMargin!==n.showPrintMargin&&e.setShowPrintMargin(r.showPrintMargin),r.showGutter!==n.showGutter&&e.renderer.setShowGutter(r.showGutter);for(var o=0;o<a.editorOptions.length;o++){var s=a.editorOptions[o];r[s]!==n[s]&&e.setOption(s,r[s])}m(r.setOptions,n.setOptions)||t.handleOptions(r,e);var l=p(r.value,i,"");if(e.getValue()!==l){t.silent=!0;var c=e.session.selection.toJSON();e.setValue(l,r.cursorStart),e.session.selection.fromJSON(c),t.silent=!1}var u=p(r.annotations,i,[]),d=p(n.annotations,i,[]);m(u,d)||e.getSession().setAnnotations(u);var h=p(r.markers,i,[]),f=p(n.markers,i,[]);!m(h,f)&&Array.isArray(h)&&t.handleMarkers(h,e)})),r.className!==n.className){var o=this.refEditor.className.trim().split(" ");n.className.trim().split(" ").forEach((function(e){var t=o.indexOf(e);o.splice(t,1)})),this.refEditor.className=" "+r.className+" "+o.join(" ")}r.theme!==n.theme&&i.setTheme("ace/theme/"+r.theme),r.focus&&!n.focus&&this.splitEditor.focus(),r.height===this.props.height&&r.width===this.props.width||this.editor.resize()},t.prototype.componentWillUnmount=function(){this.editor.destroy(),this.editor=null},t.prototype.onChange=function(e){if(this.props.onChange&&!this.silent){var t=[];this.editor.env.split.forEach((function(e){t.push(e.getValue())})),this.props.onChange(t,e)}},t.prototype.onSelectionChange=function(e){if(this.props.onSelectionChange){var t=[];this.editor.env.split.forEach((function(e){t.push(e.getSelection())})),this.props.onSelectionChange(t,e)}},t.prototype.onCursorChange=function(e){if(this.props.onCursorChange){var t=[];this.editor.env.split.forEach((function(e){t.push(e.getSelection())})),this.props.onCursorChange(t,e)}},t.prototype.onFocus=function(e){this.props.onFocus&&this.props.onFocus(e)},t.prototype.onInput=function(e){this.props.onInput&&this.props.onInput(e)},t.prototype.onBlur=function(e){this.props.onBlur&&this.props.onBlur(e)},t.prototype.onCopy=function(e){this.props.onCopy&&this.props.onCopy(e)},t.prototype.onPaste=function(e){this.props.onPaste&&this.props.onPaste(e)},t.prototype.onScroll=function(){this.props.onScroll&&this.props.onScroll(this.editor)},t.prototype.handleOptions=function(e,t){for(var n=Object.keys(e.setOptions),r=0;r<n.length;r++)t.setOption(n[r],e.setOptions[n[r]])},t.prototype.handleMarkers=function(e,t){var n=t.getSession().getMarkers(!0);for(var r in n)n.hasOwnProperty(r)&&t.getSession().removeMarker(n[r].id);for(var r in n=t.getSession().getMarkers(!1))n.hasOwnProperty(r)&&t.getSession().removeMarker(n[r].id);e.forEach((function(e){var n=e.startRow,r=e.startCol,i=e.endRow,o=e.endCol,a=e.className,s=e.type,c=e.inFront,u=void 0!==c&&c,d=new l.Range(n,r,i,o);t.getSession().addMarker(d,a,s,u)}))},t.prototype.updateRef=function(e){this.refEditor=e},t.prototype.render=function(){var e=this.props,t=e.name,n=e.width,r=e.height,i=e.style,a=o({width:n,height:r},i);return d.createElement("div",{ref:this.updateRef,id:t,style:a})},t.propTypes={className:u.string,debounceChangePeriod:u.number,defaultValue:u.arrayOf(u.string),focus:u.bool,fontSize:u.oneOfType([u.number,u.string]),height:u.string,mode:u.string,name:u.string,onBlur:u.func,onChange:u.func,onCopy:u.func,onFocus:u.func,onInput:u.func,onLoad:u.func,onPaste:u.func,onScroll:u.func,orientation:u.string,showGutter:u.bool,splits:u.number,theme:u.string,value:u.arrayOf(u.string),width:u.string,onSelectionChange:u.func,onCursorChange:u.func,onBeforeLoad:u.func,minLines:u.number,maxLines:u.number,readOnly:u.bool,highlightActiveLine:u.bool,tabSize:u.number,showPrintMargin:u.bool,cursorStart:u.number,editorProps:u.object,setOptions:u.object,style:u.object,scrollMargin:u.array,annotations:u.array,markers:u.array,keyboardHandler:u.string,wrapEnabled:u.bool,enableBasicAutocompletion:u.oneOfType([u.bool,u.array]),enableLiveAutocompletion:u.oneOfType([u.bool,u.array]),commands:u.array},t.defaultProps={name:"ace-editor",focus:!1,orientation:"beside",splits:2,mode:"",theme:"",height:"500px",width:"500px",value:[],fontSize:12,showGutter:!0,onChange:null,onPaste:null,onLoad:null,onScroll:null,minLines:null,maxLines:null,readOnly:!1,highlightActiveLine:!0,showPrintMargin:!0,tabSize:4,cursorStart:1,editorProps:{},style:{},scrollMargin:[0,0,0,0],setOptions:{},wrapEnabled:!1,enableBasicAutocompletion:!1,enableLiveAutocompletion:!1},t}(d.Component);t.default=h},function(e,t,n){},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){var n=void 0===t?{}:t,r=n.propTypes,o=n.defaultProps,a=n.allowFallback,s=void 0!==a&&a,l=n.displayName,c=void 0===l?e.name||e.displayName:l,u=function(t,n){return e(t,n)};return Object.assign(i.default.forwardRef||!s?i.default.forwardRef(u):function(e){return u(e,null)},{displayName:c,propTypes:r,defaultProps:o})};var r,i=(r=n(0))&&r.__esModule?r:{default:r}},function(e,t,n){e.exports=function(){"use strict";return function(e,t,n){e=e||{};var r=t.prototype,i={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};n.en.relativeTime=i;var o=function(t,r,o,a){for(var s,l,c,u=o.$locale().relativeTime||i,d=e.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],m=d.length,p=0;p<m;p+=1){var h=d[p];h.d&&(s=a?n(t).diff(o,h.d,!0):o.diff(t,h.d,!0));var f=(e.rounding||Math.round)(Math.abs(s));if(c=s>0,f<=h.r||!h.r){f<=1&&p>0&&(h=d[p-1]);var _=u[h.l];l="string"==typeof _?_.replace("%d",f):_(f,r,h.l,c);break}}return r?l:(c?u.future:u.past).replace("%s",l)};r.to=function(e,t){return o(e,t,this,!0)},r.from=function(e,t){return o(e,t,this)};var a=function(e){return e.$u?n.utc():n()};r.toNow=function(e){return this.to(a(this),e)},r.fromNow=function(e){return this.from(a(this),e)}}}()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.diff=t.split=void 0;var r=n(86),i=n(87);t.diff=i.default;var o=n(45);t.split=o.default,t.default=r.default},function(e,t){e.exports=function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(e,t,n){"use strict";
17
+ /** @license React v16.13.1
18
+ * react.production.min.js
19
+ *
20
+ * Copyright (c) Facebook, Inc. and its affiliates.
21
+ *
22
+ * This source code is licensed under the MIT license found in the
23
+ * LICENSE file in the root directory of this source tree.
24
+ */var r=n(35),i="function"==typeof Symbol&&Symbol.for,o=i?Symbol.for("react.element"):60103,a=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,c=i?Symbol.for("react.profiler"):60114,u=i?Symbol.for("react.provider"):60109,d=i?Symbol.for("react.context"):60110,m=i?Symbol.for("react.forward_ref"):60112,p=i?Symbol.for("react.suspense"):60113,h=i?Symbol.for("react.memo"):60115,f=i?Symbol.for("react.lazy"):60116,_="function"==typeof Symbol&&Symbol.iterator;function g(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y={};function v(e,t,n){this.props=e,this.context=t,this.refs=y,this.updater=n||b}function w(){}function x(e,t,n){this.props=e,this.context=t,this.refs=y,this.updater=n||b}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(g(85));this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},w.prototype=v.prototype;var k=x.prototype=new w;k.constructor=x,r(k,v.prototype),k.isPureReactComponent=!0;var O={current:null},j=Object.prototype.hasOwnProperty,E={key:!0,ref:!0,__self:!0,__source:!0};function S(e,t,n){var r,i={},a=null,s=null;if(null!=t)for(r in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(a=""+t.key),t)j.call(t,r)&&!E.hasOwnProperty(r)&&(i[r]=t[r]);var l=arguments.length-2;if(1===l)i.children=n;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];i.children=c}if(e&&e.defaultProps)for(r in l=e.defaultProps)void 0===i[r]&&(i[r]=l[r]);return{$$typeof:o,type:e,key:a,ref:s,props:i,_owner:O.current}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var R=/\/+/g,T=[];function L(e,t,n,r){if(T.length){var i=T.pop();return i.result=e,i.keyPrefix=t,i.func=n,i.context=r,i.count=0,i}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function A(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>T.length&&T.push(e)}function M(e,t,n){return null==e?0:function e(t,n,r,i){var s=typeof t;"undefined"!==s&&"boolean"!==s||(t=null);var l=!1;if(null===t)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(t.$$typeof){case o:case a:l=!0}}if(l)return r(i,t,""===n?"."+$(t,0):n),1;if(l=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c<t.length;c++){var u=n+$(s=t[c],c);l+=e(s,u,r,i)}else if(null===t||"object"!=typeof t?u=null:u="function"==typeof(u=_&&t[_]||t["@@iterator"])?u:null,"function"==typeof u)for(t=u.call(t),c=0;!(s=t.next()).done;)l+=e(s=s.value,u=n+$(s,c++),r,i);else if("object"===s)throw r=""+t,Error(g(31,"[object Object]"===r?"object with keys {"+Object.keys(t).join(", ")+"}":r,""));return l}(e,"",t,n)}function $(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,(function(e){return t[e]}))}(e.key):t.toString(36)}function N(e,t){e.func.call(e.context,t,e.count++)}function P(e,t,n){var r=e.result,i=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?I(e,r,n,(function(e){return e})):null!=e&&(C(e)&&(e=function(e,t){return{$$typeof:o,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,i+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(R,"$&/")+"/")+n)),r.push(e))}function I(e,t,n,r,i){var o="";null!=n&&(o=(""+n).replace(R,"$&/")+"/"),M(e,P,t=L(t,o,r,i)),A(t)}var D={current:null};function q(){var e=D.current;if(null===e)throw Error(g(321));return e}var z={ReactCurrentDispatcher:D,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:O,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:function(e,t,n){if(null==e)return e;var r=[];return I(e,r,null,t,n),r},forEach:function(e,t,n){if(null==e)return e;M(e,N,t=L(null,null,t,n)),A(t)},count:function(e){return M(e,(function(){return null}),null)},toArray:function(e){var t=[];return I(e,t,null,(function(e){return e})),t},only:function(e){if(!C(e))throw Error(g(143));return e}},t.Component=v,t.Fragment=s,t.Profiler=c,t.PureComponent=x,t.StrictMode=l,t.Suspense=p,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=z,t.cloneElement=function(e,t,n){if(null==e)throw Error(g(267,e));var i=r({},e.props),a=e.key,s=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,l=O.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(u in t)j.call(t,u)&&!E.hasOwnProperty(u)&&(i[u]=void 0===t[u]&&void 0!==c?c[u]:t[u])}var u=arguments.length-2;if(1===u)i.children=n;else if(1<u){c=Array(u);for(var d=0;d<u;d++)c[d]=arguments[d+2];i.children=c}return{$$typeof:o,type:e.type,key:a,ref:s,props:i,_owner:l}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:d,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:u,_context:e},e.Consumer=e},t.createElement=S,t.createFactory=function(e){var t=S.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:m,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:f,_ctor:e,_status:-1,_result:null}},t.memo=function(e,t){return{$$typeof:h,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return q().useCallback(e,t)},t.useContext=function(e,t){return q().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return q().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return q().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return q().useLayoutEffect(e,t)},t.useMemo=function(e,t){return q().useMemo(e,t)},t.useReducer=function(e,t,n){return q().useReducer(e,t,n)},t.useRef=function(e){return q().useRef(e)},t.useState=function(e){return q().useState(e)},t.version="16.13.1"},function(e,t,n){"use strict";
25
+ /** @license React v16.13.1
26
+ * react-dom.production.min.js
27
+ *
28
+ * Copyright (c) Facebook, Inc. and its affiliates.
29
+ *
30
+ * This source code is licensed under the MIT license found in the
31
+ * LICENSE file in the root directory of this source tree.
32
+ */var r=n(0),i=n(35),o=n(56);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!r)throw Error(a(227));function s(e,t,n,r,i,o,a,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(e){this.onError(e)}}var l=!1,c=null,u=!1,d=null,m={onError:function(e){l=!0,c=e}};function p(e,t,n,r,i,o,a,u,d){l=!1,c=null,s.apply(m,arguments)}var h=null,f=null,_=null;function g(e,t,n){var r=e.type||"unknown-event";e.currentTarget=_(n),function(e,t,n,r,i,o,s,m,h){if(p.apply(this,arguments),l){if(!l)throw Error(a(198));var f=c;l=!1,c=null,u||(u=!0,d=f)}}(r,t,void 0,e),e.currentTarget=null}var b=null,y={};function v(){if(b)for(var e in y){var t=y[e],n=b.indexOf(e);if(!(-1<n))throw Error(a(96,e));if(!x[n]){if(!t.extractEvents)throw Error(a(97,e));for(var r in x[n]=t,n=t.eventTypes){var i=void 0,o=n[r],s=t,l=r;if(k.hasOwnProperty(l))throw Error(a(99,l));k[l]=o;var c=o.phasedRegistrationNames;if(c){for(i in c)c.hasOwnProperty(i)&&w(c[i],s,l);i=!0}else o.registrationName?(w(o.registrationName,s,l),i=!0):i=!1;if(!i)throw Error(a(98,r,e))}}}}function w(e,t,n){if(O[e])throw Error(a(100,e));O[e]=t,j[e]=t.eventTypes[n].dependencies}var x=[],k={},O={},j={};function E(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var r=e[t];if(!y.hasOwnProperty(t)||y[t]!==r){if(y[t])throw Error(a(102,t));y[t]=r,n=!0}}n&&v()}var S=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),C=null,R=null,T=null;function L(e){if(e=f(e)){if("function"!=typeof C)throw Error(a(280));var t=e.stateNode;t&&(t=h(t),C(e.stateNode,e.type,t))}}function A(e){R?T?T.push(e):T=[e]:R=e}function M(){if(R){var e=R,t=T;if(T=R=null,L(e),t)for(e=0;e<t.length;e++)L(t[e])}}function $(e,t){return e(t)}function N(e,t,n,r,i){return e(t,n,r,i)}function P(){}var I=$,D=!1,q=!1;function z(){null===R&&null===T||(P(),M())}function F(e,t,n){if(q)return e(t,n);q=!0;try{return I(e,t,n)}finally{q=!1,z()}}var U=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,H=Object.prototype.hasOwnProperty,B={},W={};function G(e,t,n,r,i,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o}var V={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){V[e]=new G(e,0,!1,e,null,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];V[t]=new G(t,1,!1,e[1],null,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){V[e]=new G(e,2,!1,e.toLowerCase(),null,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){V[e]=new G(e,2,!1,e,null,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){V[e]=new G(e,3,!1,e.toLowerCase(),null,!1)})),["checked","multiple","muted","selected"].forEach((function(e){V[e]=new G(e,3,!0,e,null,!1)})),["capture","download"].forEach((function(e){V[e]=new G(e,4,!1,e,null,!1)})),["cols","rows","size","span"].forEach((function(e){V[e]=new G(e,6,!1,e,null,!1)})),["rowSpan","start"].forEach((function(e){V[e]=new G(e,5,!1,e.toLowerCase(),null,!1)}));var K=/[\-:]([a-z])/g;function Y(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(K,Y);V[t]=new G(t,1,!1,e,null,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(K,Y);V[t]=new G(t,1,!1,e,"http://www.w3.org/1999/xlink",!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(K,Y);V[t]=new G(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1)})),["tabIndex","crossOrigin"].forEach((function(e){V[e]=new G(e,1,!1,e.toLowerCase(),null,!1)})),V.xlinkHref=new G("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0),["src","href","action","formAction"].forEach((function(e){V[e]=new G(e,1,!1,e.toLowerCase(),null,!0)}));var Q=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function X(e,t,n,r){var i=V.hasOwnProperty(t)?V[t]:null;(null!==i?0===i.type:!r&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,i,r)&&(n=null),r||null===i?function(e){return!!H.call(W,e)||!H.call(B,e)&&(U.test(e)?W[e]=!0:(B[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):i.mustUseProperty?e[i.propertyName]=null===n?3!==i.type&&"":n:(t=i.attributeName,r=i.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(i=i.type)||4===i&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}Q.hasOwnProperty("ReactCurrentDispatcher")||(Q.ReactCurrentDispatcher={current:null}),Q.hasOwnProperty("ReactCurrentBatchConfig")||(Q.ReactCurrentBatchConfig={suspense:null});var Z=/^(.*)[\\\/]/,J="function"==typeof Symbol&&Symbol.for,ee=J?Symbol.for("react.element"):60103,te=J?Symbol.for("react.portal"):60106,ne=J?Symbol.for("react.fragment"):60107,re=J?Symbol.for("react.strict_mode"):60108,ie=J?Symbol.for("react.profiler"):60114,oe=J?Symbol.for("react.provider"):60109,ae=J?Symbol.for("react.context"):60110,se=J?Symbol.for("react.concurrent_mode"):60111,le=J?Symbol.for("react.forward_ref"):60112,ce=J?Symbol.for("react.suspense"):60113,ue=J?Symbol.for("react.suspense_list"):60120,de=J?Symbol.for("react.memo"):60115,me=J?Symbol.for("react.lazy"):60116,pe=J?Symbol.for("react.block"):60121,he="function"==typeof Symbol&&Symbol.iterator;function fe(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=he&&e[he]||e["@@iterator"])?e:null}function _e(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case ne:return"Fragment";case te:return"Portal";case ie:return"Profiler";case re:return"StrictMode";case ce:return"Suspense";case ue:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case ae:return"Context.Consumer";case oe:return"Context.Provider";case le:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case de:return _e(e.type);case pe:return _e(e.render);case me:if(e=1===e._status?e._result:null)return _e(e)}return null}function ge(e){var t="";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var n="";break e;default:var r=e._debugOwner,i=e._debugSource,o=_e(e.type);n=null,r&&(n=_e(r.type)),r=o,o="",i?o=" (at "+i.fileName.replace(Z,"")+":"+i.lineNumber+")":n&&(o=" (created by "+n+")"),n="\n in "+(r||"Unknown")+o}t+=n,e=e.return}while(e);return t}function be(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function ye(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function ve(e){e._valueTracker||(e._valueTracker=function(e){var t=ye(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function we(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=ye(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function xe(e,t){var n=t.checked;return i({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ke(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=be(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Oe(e,t){null!=(t=t.checked)&&X(e,"checked",t,!1)}function je(e,t){Oe(e,t);var n=be(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?Se(e,t.type,n):t.hasOwnProperty("defaultValue")&&Se(e,t.type,be(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Ee(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function Se(e,t,n){"number"===t&&e.ownerDocument.activeElement===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function Ce(e,t){return e=i({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function Re(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t["$"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty("$"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=""+be(n),t=null,i=0;i<e.length;i++){if(e[i].value===n)return e[i].selected=!0,void(r&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function Te(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return i({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Le(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(a(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:be(n)}}function Ae(e,t){var n=be(t.value),r=be(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function Me(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var $e="http://www.w3.org/1999/xhtml",Ne="http://www.w3.org/2000/svg";function Pe(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Ie(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Pe(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var De,qe=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction((function(){return e(t,n)}))}:e}((function(e,t){if(e.namespaceURI!==Ne||"innerHTML"in e)e.innerHTML=t;else{for((De=De||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=De.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}));function ze(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}function Fe(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Ue={animationend:Fe("Animation","AnimationEnd"),animationiteration:Fe("Animation","AnimationIteration"),animationstart:Fe("Animation","AnimationStart"),transitionend:Fe("Transition","TransitionEnd")},He={},Be={};function We(e){if(He[e])return He[e];if(!Ue[e])return e;var t,n=Ue[e];for(t in n)if(n.hasOwnProperty(t)&&t in Be)return He[e]=n[t];return e}S&&(Be=document.createElement("div").style,"AnimationEvent"in window||(delete Ue.animationend.animation,delete Ue.animationiteration.animation,delete Ue.animationstart.animation),"TransitionEvent"in window||delete Ue.transitionend.transition);var Ge=We("animationend"),Ve=We("animationiteration"),Ke=We("animationstart"),Ye=We("transitionend"),Qe="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Xe=new("function"==typeof WeakMap?WeakMap:Map);function Ze(e){var t=Xe.get(e);return void 0===t&&(t=new Map,Xe.set(e,t)),t}function Je(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).effectTag)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function et(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function tt(e){if(Je(e)!==e)throw Error(a(188))}function nt(e){if(!(e=function(e){var t=e.alternate;if(!t){if(null===(t=Je(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var i=n.return;if(null===i)break;var o=i.alternate;if(null===o){if(null!==(r=i.return)){n=r;continue}break}if(i.child===o.child){for(o=i.child;o;){if(o===n)return tt(i),e;if(o===r)return tt(i),t;o=o.sibling}throw Error(a(188))}if(n.return!==r.return)n=i,r=o;else{for(var s=!1,l=i.child;l;){if(l===n){s=!0,n=i,r=o;break}if(l===r){s=!0,r=i,n=o;break}l=l.sibling}if(!s){for(l=o.child;l;){if(l===n){s=!0,n=o,r=i;break}if(l===r){s=!0,r=o,n=i;break}l=l.sibling}if(!s)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function rt(e,t){if(null==t)throw Error(a(30));return null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function it(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var ot=null;function at(e){if(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t))for(var r=0;r<t.length&&!e.isPropagationStopped();r++)g(e,t[r],n[r]);else t&&g(e,t,n);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}function st(e){if(null!==e&&(ot=rt(ot,e)),e=ot,ot=null,e){if(it(e,at),ot)throw Error(a(95));if(u)throw e=d,u=!1,d=null,e}}function lt(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function ct(e){if(!S)return!1;var t=(e="on"+e)in document;return t||((t=document.createElement("div")).setAttribute(e,"return;"),t="function"==typeof t[e]),t}var ut=[];function dt(e){e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,10>ut.length&&ut.push(e)}function mt(e,t,n,r){if(ut.length){var i=ut.pop();return i.topLevelType=e,i.eventSystemFlags=r,i.nativeEvent=t,i.targetInst=n,i}return{topLevelType:e,eventSystemFlags:r,nativeEvent:t,targetInst:n,ancestors:[]}}function pt(e){var t=e.targetInst,n=t;do{if(!n){e.ancestors.push(n);break}var r=n;if(3===r.tag)r=r.stateNode.containerInfo;else{for(;r.return;)r=r.return;r=3!==r.tag?null:r.stateNode.containerInfo}if(!r)break;5!==(t=n.tag)&&6!==t||e.ancestors.push(n),n=Sn(r)}while(n);for(n=0;n<e.ancestors.length;n++){t=e.ancestors[n];var i=lt(e.nativeEvent);r=e.topLevelType;var o=e.nativeEvent,a=e.eventSystemFlags;0===n&&(a|=64);for(var s=null,l=0;l<x.length;l++){var c=x[l];c&&(c=c.extractEvents(r,t,o,i,a))&&(s=rt(s,c))}st(s)}}function ht(e,t,n){if(!n.has(e)){switch(e){case"scroll":Kt(t,"scroll",!0);break;case"focus":case"blur":Kt(t,"focus",!0),Kt(t,"blur",!0),n.set("blur",null),n.set("focus",null);break;case"cancel":case"close":ct(e)&&Kt(t,e,!0);break;case"invalid":case"submit":case"reset":break;default:-1===Qe.indexOf(e)&&Vt(e,t)}n.set(e,null)}}var ft,_t,gt,bt=!1,yt=[],vt=null,wt=null,xt=null,kt=new Map,Ot=new Map,jt=[],Et="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit".split(" "),St="focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture".split(" ");function Ct(e,t,n,r,i){return{blockedOn:e,topLevelType:t,eventSystemFlags:32|n,nativeEvent:i,container:r}}function Rt(e,t){switch(e){case"focus":case"blur":vt=null;break;case"dragenter":case"dragleave":wt=null;break;case"mouseover":case"mouseout":xt=null;break;case"pointerover":case"pointerout":kt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ot.delete(t.pointerId)}}function Tt(e,t,n,r,i,o){return null===e||e.nativeEvent!==o?(e=Ct(t,n,r,i,o),null!==t&&(null!==(t=Cn(t))&&_t(t)),e):(e.eventSystemFlags|=r,e)}function Lt(e){var t=Sn(e.target);if(null!==t){var n=Je(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=et(n)))return e.blockedOn=t,void o.unstable_runWithPriority(e.priority,(function(){gt(n)}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function At(e){if(null!==e.blockedOn)return!1;var t=Zt(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);if(null!==t){var n=Cn(t);return null!==n&&_t(n),e.blockedOn=t,!1}return!0}function Mt(e,t,n){At(e)&&n.delete(t)}function $t(){for(bt=!1;0<yt.length;){var e=yt[0];if(null!==e.blockedOn){null!==(e=Cn(e.blockedOn))&&ft(e);break}var t=Zt(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);null!==t?e.blockedOn=t:yt.shift()}null!==vt&&At(vt)&&(vt=null),null!==wt&&At(wt)&&(wt=null),null!==xt&&At(xt)&&(xt=null),kt.forEach(Mt),Ot.forEach(Mt)}function Nt(e,t){e.blockedOn===t&&(e.blockedOn=null,bt||(bt=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,$t)))}function Pt(e){function t(t){return Nt(t,e)}if(0<yt.length){Nt(yt[0],e);for(var n=1;n<yt.length;n++){var r=yt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==vt&&Nt(vt,e),null!==wt&&Nt(wt,e),null!==xt&&Nt(xt,e),kt.forEach(t),Ot.forEach(t),n=0;n<jt.length;n++)(r=jt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<jt.length&&null===(n=jt[0]).blockedOn;)Lt(n),null===n.blockedOn&&jt.shift()}var It={},Dt=new Map,qt=new Map,zt=["abort","abort",Ge,"animationEnd",Ve,"animationIteration",Ke,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Ye,"transitionEnd","waiting","waiting"];function Ft(e,t){for(var n=0;n<e.length;n+=2){var r=e[n],i=e[n+1],o="on"+(i[0].toUpperCase()+i.slice(1));o={phasedRegistrationNames:{bubbled:o,captured:o+"Capture"},dependencies:[r],eventPriority:t},qt.set(r,t),Dt.set(r,o),It[i]=o}}Ft("blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),Ft("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),Ft(zt,2);for(var Ut="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),Ht=0;Ht<Ut.length;Ht++)qt.set(Ut[Ht],0);var Bt=o.unstable_UserBlockingPriority,Wt=o.unstable_runWithPriority,Gt=!0;function Vt(e,t){Kt(t,e,!1)}function Kt(e,t,n){var r=qt.get(t);switch(void 0===r?2:r){case 0:r=Yt.bind(null,t,1,e);break;case 1:r=Qt.bind(null,t,1,e);break;default:r=Xt.bind(null,t,1,e)}n?e.addEventListener(t,r,!0):e.addEventListener(t,r,!1)}function Yt(e,t,n,r){D||P();var i=Xt,o=D;D=!0;try{N(i,e,t,n,r)}finally{(D=o)||z()}}function Qt(e,t,n,r){Wt(Bt,Xt.bind(null,e,t,n,r))}function Xt(e,t,n,r){if(Gt)if(0<yt.length&&-1<Et.indexOf(e))e=Ct(null,e,t,n,r),yt.push(e);else{var i=Zt(e,t,n,r);if(null===i)Rt(e,r);else if(-1<Et.indexOf(e))e=Ct(i,e,t,n,r),yt.push(e);else if(!function(e,t,n,r,i){switch(t){case"focus":return vt=Tt(vt,e,t,n,r,i),!0;case"dragenter":return wt=Tt(wt,e,t,n,r,i),!0;case"mouseover":return xt=Tt(xt,e,t,n,r,i),!0;case"pointerover":var o=i.pointerId;return kt.set(o,Tt(kt.get(o)||null,e,t,n,r,i)),!0;case"gotpointercapture":return o=i.pointerId,Ot.set(o,Tt(Ot.get(o)||null,e,t,n,r,i)),!0}return!1}(i,e,t,n,r)){Rt(e,r),e=mt(e,r,null,t);try{F(pt,e)}finally{dt(e)}}}}function Zt(e,t,n,r){if(null!==(n=Sn(n=lt(r)))){var i=Je(n);if(null===i)n=null;else{var o=i.tag;if(13===o){if(null!==(n=et(i)))return n;n=null}else if(3===o){if(i.stateNode.hydrate)return 3===i.tag?i.stateNode.containerInfo:null;n=null}else i!==n&&(n=null)}}e=mt(e,r,n,t);try{F(pt,e)}finally{dt(e)}return null}var Jt={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},en=["Webkit","ms","Moz","O"];function tn(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||Jt.hasOwnProperty(e)&&Jt[e]?(""+t).trim():t+"px"}function nn(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),i=tn(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}Object.keys(Jt).forEach((function(e){en.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Jt[t]=Jt[e]}))}));var rn=i({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function on(e,t){if(t){if(rn[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e,""));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(a(62,""))}}function an(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var sn=$e;function ln(e,t){var n=Ze(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=j[t];for(var r=0;r<t.length;r++)ht(t[r],e,n)}function cn(){}function un(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function dn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function mn(e,t){var n,r=dn(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=dn(r)}}function pn(){for(var e=window,t=un();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=un((e=t.contentWindow).document)}return t}function hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var fn=null,_n=null;function gn(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function bn(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var yn="function"==typeof setTimeout?setTimeout:void 0,vn="function"==typeof clearTimeout?clearTimeout:void 0;function wn(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function xn(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var kn=Math.random().toString(36).slice(2),On="__reactInternalInstance$"+kn,jn="__reactEventHandlers$"+kn,En="__reactContainere$"+kn;function Sn(e){var t=e[On];if(t)return t;for(var n=e.parentNode;n;){if(t=n[En]||n[On]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=xn(e);null!==e;){if(n=e[On])return n;e=xn(e)}return t}n=(e=n).parentNode}return null}function Cn(e){return!(e=e[On]||e[En])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Rn(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function Tn(e){return e[jn]||null}function Ln(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function An(e,t){var n=e.stateNode;if(!n)return null;var r=h(n);if(!r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(a(231,t,typeof n));return n}function Mn(e,t,n){(t=An(e,n.dispatchConfig.phasedRegistrationNames[t]))&&(n._dispatchListeners=rt(n._dispatchListeners,t),n._dispatchInstances=rt(n._dispatchInstances,e))}function $n(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t=e._targetInst,n=[];t;)n.push(t),t=Ln(t);for(t=n.length;0<t--;)Mn(n[t],"captured",e);for(t=0;t<n.length;t++)Mn(n[t],"bubbled",e)}}function Nn(e,t,n){e&&n&&n.dispatchConfig.registrationName&&(t=An(e,n.dispatchConfig.registrationName))&&(n._dispatchListeners=rt(n._dispatchListeners,t),n._dispatchInstances=rt(n._dispatchInstances,e))}function Pn(e){e&&e.dispatchConfig.registrationName&&Nn(e._targetInst,null,e)}function In(e){it(e,$n)}var Dn=null,qn=null,zn=null;function Fn(){if(zn)return zn;var e,t,n=qn,r=n.length,i="value"in Dn?Dn.value:Dn.textContent,o=i.length;for(e=0;e<r&&n[e]===i[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===i[o-t];t++);return zn=i.slice(e,1<t?1-t:void 0)}function Un(){return!0}function Hn(){return!1}function Bn(e,t,n,r){for(var i in this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n,e=this.constructor.Interface)e.hasOwnProperty(i)&&((t=e[i])?this[i]=t(n):"target"===i?this.target=r:this[i]=n[i]);return this.isDefaultPrevented=(null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue)?Un:Hn,this.isPropagationStopped=Hn,this}function Wn(e,t,n,r){if(this.eventPool.length){var i=this.eventPool.pop();return this.call(i,e,t,n,r),i}return new this(e,t,n,r)}function Gn(e){if(!(e instanceof this))throw Error(a(279));e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function Vn(e){e.eventPool=[],e.getPooled=Wn,e.release=Gn}i(Bn.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=Un)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Un)},persist:function(){this.isPersistent=Un},isPersistent:Hn,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=Hn,this._dispatchInstances=this._dispatchListeners=null}}),Bn.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},Bn.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var o=new t;return i(o,n.prototype),n.prototype=o,n.prototype.constructor=n,n.Interface=i({},r.Interface,e),n.extend=r.extend,Vn(n),n},Vn(Bn);var Kn=Bn.extend({data:null}),Yn=Bn.extend({data:null}),Qn=[9,13,27,32],Xn=S&&"CompositionEvent"in window,Zn=null;S&&"documentMode"in document&&(Zn=document.documentMode);var Jn=S&&"TextEvent"in window&&!Zn,er=S&&(!Xn||Zn&&8<Zn&&11>=Zn),tr=String.fromCharCode(32),nr={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},rr=!1;function ir(e,t){switch(e){case"keyup":return-1!==Qn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function or(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var ar=!1;var sr={eventTypes:nr,extractEvents:function(e,t,n,r){var i;if(Xn)e:{switch(e){case"compositionstart":var o=nr.compositionStart;break e;case"compositionend":o=nr.compositionEnd;break e;case"compositionupdate":o=nr.compositionUpdate;break e}o=void 0}else ar?ir(e,n)&&(o=nr.compositionEnd):"keydown"===e&&229===n.keyCode&&(o=nr.compositionStart);return o?(er&&"ko"!==n.locale&&(ar||o!==nr.compositionStart?o===nr.compositionEnd&&ar&&(i=Fn()):(qn="value"in(Dn=r)?Dn.value:Dn.textContent,ar=!0)),o=Kn.getPooled(o,t,n,r),i?o.data=i:null!==(i=or(n))&&(o.data=i),In(o),i=o):i=null,(e=Jn?function(e,t){switch(e){case"compositionend":return or(t);case"keypress":return 32!==t.which?null:(rr=!0,tr);case"textInput":return(e=t.data)===tr&&rr?null:e;default:return null}}(e,n):function(e,t){if(ar)return"compositionend"===e||!Xn&&ir(e,t)?(e=Fn(),zn=qn=Dn=null,ar=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return er&&"ko"!==t.locale?null:t.data;default:return null}}(e,n))?((t=Yn.getPooled(nr.beforeInput,t,n,r)).data=e,In(t)):t=null,null===i?t:null===t?i:[i,t]}},lr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function cr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!lr[e.type]:"textarea"===t}var ur={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function dr(e,t,n){return(e=Bn.getPooled(ur.change,e,t,n)).type="change",A(n),In(e),e}var mr=null,pr=null;function hr(e){st(e)}function fr(e){if(we(Rn(e)))return e}function _r(e,t){if("change"===e)return t}var gr=!1;function br(){mr&&(mr.detachEvent("onpropertychange",yr),pr=mr=null)}function yr(e){if("value"===e.propertyName&&fr(pr))if(e=dr(pr,e,lt(e)),D)st(e);else{D=!0;try{$(hr,e)}finally{D=!1,z()}}}function vr(e,t,n){"focus"===e?(br(),pr=n,(mr=t).attachEvent("onpropertychange",yr)):"blur"===e&&br()}function wr(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return fr(pr)}function xr(e,t){if("click"===e)return fr(t)}function kr(e,t){if("input"===e||"change"===e)return fr(t)}S&&(gr=ct("input")&&(!document.documentMode||9<document.documentMode));var Or={eventTypes:ur,_isInputEventSupported:gr,extractEvents:function(e,t,n,r){var i=t?Rn(t):window,o=i.nodeName&&i.nodeName.toLowerCase();if("select"===o||"input"===o&&"file"===i.type)var a=_r;else if(cr(i))if(gr)a=kr;else{a=wr;var s=vr}else(o=i.nodeName)&&"input"===o.toLowerCase()&&("checkbox"===i.type||"radio"===i.type)&&(a=xr);if(a&&(a=a(e,t)))return dr(a,n,r);s&&s(e,i,t),"blur"===e&&(e=i._wrapperState)&&e.controlled&&"number"===i.type&&Se(i,"number",i.value)}},jr=Bn.extend({view:null,detail:null}),Er={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Sr(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Er[e])&&!!t[e]}function Cr(){return Sr}var Rr=0,Tr=0,Lr=!1,Ar=!1,Mr=jr.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Cr,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},movementX:function(e){if("movementX"in e)return e.movementX;var t=Rr;return Rr=e.screenX,Lr?"mousemove"===e.type?e.screenX-t:0:(Lr=!0,0)},movementY:function(e){if("movementY"in e)return e.movementY;var t=Tr;return Tr=e.screenY,Ar?"mousemove"===e.type?e.screenY-t:0:(Ar=!0,0)}}),$r=Mr.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Nr={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},Pr={eventTypes:Nr,extractEvents:function(e,t,n,r,i){var o="mouseover"===e||"pointerover"===e,a="mouseout"===e||"pointerout"===e;if(o&&0==(32&i)&&(n.relatedTarget||n.fromElement)||!a&&!o)return null;(o=r.window===r?r:(o=r.ownerDocument)?o.defaultView||o.parentWindow:window,a)?(a=t,null!==(t=(t=n.relatedTarget||n.toElement)?Sn(t):null)&&(t!==Je(t)||5!==t.tag&&6!==t.tag)&&(t=null)):a=null;if(a===t)return null;if("mouseout"===e||"mouseover"===e)var s=Mr,l=Nr.mouseLeave,c=Nr.mouseEnter,u="mouse";else"pointerout"!==e&&"pointerover"!==e||(s=$r,l=Nr.pointerLeave,c=Nr.pointerEnter,u="pointer");if(e=null==a?o:Rn(a),o=null==t?o:Rn(t),(l=s.getPooled(l,a,n,r)).type=u+"leave",l.target=e,l.relatedTarget=o,(n=s.getPooled(c,t,n,r)).type=u+"enter",n.target=o,n.relatedTarget=e,u=t,(r=a)&&u)e:{for(c=u,a=0,e=s=r;e;e=Ln(e))a++;for(e=0,t=c;t;t=Ln(t))e++;for(;0<a-e;)s=Ln(s),a--;for(;0<e-a;)c=Ln(c),e--;for(;a--;){if(s===c||s===c.alternate)break e;s=Ln(s),c=Ln(c)}s=null}else s=null;for(c=s,s=[];r&&r!==c&&(null===(a=r.alternate)||a!==c);)s.push(r),r=Ln(r);for(r=[];u&&u!==c&&(null===(a=u.alternate)||a!==c);)r.push(u),u=Ln(u);for(u=0;u<s.length;u++)Nn(s[u],"bubbled",l);for(u=r.length;0<u--;)Nn(r[u],"captured",n);return 0==(64&i)?[l]:[l,n]}};var Ir="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},Dr=Object.prototype.hasOwnProperty;function qr(e,t){if(Ir(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!Dr.call(t,n[r])||!Ir(e[n[r]],t[n[r]]))return!1;return!0}var zr=S&&"documentMode"in document&&11>=document.documentMode,Fr={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},Ur=null,Hr=null,Br=null,Wr=!1;function Gr(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;return Wr||null==Ur||Ur!==un(n)?null:("selectionStart"in(n=Ur)&&hn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},Br&&qr(Br,n)?null:(Br=n,(e=Bn.getPooled(Fr.select,Hr,e,t)).type="select",e.target=Ur,In(e),e))}var Vr={eventTypes:Fr,extractEvents:function(e,t,n,r,i,o){if(!(o=!(i=o||(r.window===r?r.document:9===r.nodeType?r:r.ownerDocument)))){e:{i=Ze(i),o=j.onSelect;for(var a=0;a<o.length;a++)if(!i.has(o[a])){i=!1;break e}i=!0}o=!i}if(o)return null;switch(i=t?Rn(t):window,e){case"focus":(cr(i)||"true"===i.contentEditable)&&(Ur=i,Hr=t,Br=null);break;case"blur":Br=Hr=Ur=null;break;case"mousedown":Wr=!0;break;case"contextmenu":case"mouseup":case"dragend":return Wr=!1,Gr(n,r);case"selectionchange":if(zr)break;case"keydown":case"keyup":return Gr(n,r)}return null}},Kr=Bn.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Yr=Bn.extend({clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Qr=jr.extend({relatedTarget:null});function Xr(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}var Zr={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Jr={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},ei=jr.extend({key:function(e){if(e.key){var t=Zr[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=Xr(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Jr[e.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Cr,charCode:function(e){return"keypress"===e.type?Xr(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?Xr(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),ti=Mr.extend({dataTransfer:null}),ni=jr.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Cr}),ri=Bn.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),ii=Mr.extend({deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),oi={eventTypes:It,extractEvents:function(e,t,n,r){var i=Dt.get(e);if(!i)return null;switch(e){case"keypress":if(0===Xr(n))return null;case"keydown":case"keyup":e=ei;break;case"blur":case"focus":e=Qr;break;case"click":if(2===n.button)return null;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":e=Mr;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":e=ti;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":e=ni;break;case Ge:case Ve:case Ke:e=Kr;break;case Ye:e=ri;break;case"scroll":e=jr;break;case"wheel":e=ii;break;case"copy":case"cut":case"paste":e=Yr;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":e=$r;break;default:e=Bn}return In(t=e.getPooled(i,t,n,r)),t}};if(b)throw Error(a(101));b=Array.prototype.slice.call("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" ")),v(),h=Tn,f=Cn,_=Rn,E({SimpleEventPlugin:oi,EnterLeaveEventPlugin:Pr,ChangeEventPlugin:Or,SelectEventPlugin:Vr,BeforeInputEventPlugin:sr});var ai=[],si=-1;function li(e){0>si||(e.current=ai[si],ai[si]=null,si--)}function ci(e,t){si++,ai[si]=e.current,e.current=t}var ui={},di={current:ui},mi={current:!1},pi=ui;function hi(e,t){var n=e.type.contextTypes;if(!n)return ui;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,o={};for(i in n)o[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function fi(e){return null!=(e=e.childContextTypes)}function _i(){li(mi),li(di)}function gi(e,t,n){if(di.current!==ui)throw Error(a(168));ci(di,t),ci(mi,n)}function bi(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in e))throw Error(a(108,_e(t)||"Unknown",o));return i({},n,{},r)}function yi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ui,pi=di.current,ci(di,e),ci(mi,mi.current),!0}function vi(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(e=bi(e,t,pi),r.__reactInternalMemoizedMergedChildContext=e,li(mi),li(di),ci(di,e)):li(mi),ci(mi,n)}var wi=o.unstable_runWithPriority,xi=o.unstable_scheduleCallback,ki=o.unstable_cancelCallback,Oi=o.unstable_requestPaint,ji=o.unstable_now,Ei=o.unstable_getCurrentPriorityLevel,Si=o.unstable_ImmediatePriority,Ci=o.unstable_UserBlockingPriority,Ri=o.unstable_NormalPriority,Ti=o.unstable_LowPriority,Li=o.unstable_IdlePriority,Ai={},Mi=o.unstable_shouldYield,$i=void 0!==Oi?Oi:function(){},Ni=null,Pi=null,Ii=!1,Di=ji(),qi=1e4>Di?ji:function(){return ji()-Di};function zi(){switch(Ei()){case Si:return 99;case Ci:return 98;case Ri:return 97;case Ti:return 96;case Li:return 95;default:throw Error(a(332))}}function Fi(e){switch(e){case 99:return Si;case 98:return Ci;case 97:return Ri;case 96:return Ti;case 95:return Li;default:throw Error(a(332))}}function Ui(e,t){return e=Fi(e),wi(e,t)}function Hi(e,t,n){return e=Fi(e),xi(e,t,n)}function Bi(e){return null===Ni?(Ni=[e],Pi=xi(Si,Gi)):Ni.push(e),Ai}function Wi(){if(null!==Pi){var e=Pi;Pi=null,ki(e)}Gi()}function Gi(){if(!Ii&&null!==Ni){Ii=!0;var e=0;try{var t=Ni;Ui(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),Ni=null}catch(t){throw null!==Ni&&(Ni=Ni.slice(e+1)),xi(Si,Wi),t}finally{Ii=!1}}}function Vi(e,t,n){return 1073741821-(1+((1073741821-e+t/10)/(n/=10)|0))*n}function Ki(e,t){if(e&&e.defaultProps)for(var n in t=i({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}var Yi={current:null},Qi=null,Xi=null,Zi=null;function Ji(){Zi=Xi=Qi=null}function eo(e){var t=Yi.current;li(Yi),e.type._context._currentValue=t}function to(e,t){for(;null!==e;){var n=e.alternate;if(e.childExpirationTime<t)e.childExpirationTime=t,null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t);else{if(!(null!==n&&n.childExpirationTime<t))break;n.childExpirationTime=t}e=e.return}}function no(e,t){Qi=e,Zi=Xi=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(e.expirationTime>=t&&(Ta=!0),e.firstContext=null)}function ro(e,t){if(Zi!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(Zi=e,t=1073741823),t={context:e,observedBits:t,next:null},null===Xi){if(null===Qi)throw Error(a(308));Xi=t,Qi.dependencies={expirationTime:0,firstContext:t,responders:null}}else Xi=Xi.next=t;return e._currentValue}var io=!1;function oo(e){e.updateQueue={baseState:e.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}function ao(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,baseQueue:e.baseQueue,shared:e.shared,effects:e.effects})}function so(e,t){return(e={expirationTime:e,suspenseConfig:t,tag:0,payload:null,callback:null,next:null}).next=e}function lo(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function co(e,t){var n=e.alternate;null!==n&&ao(n,e),null===(n=(e=e.updateQueue).baseQueue)?(e.baseQueue=t.next=t,t.next=t):(t.next=n.next,n.next=t)}function uo(e,t,n,r){var o=e.updateQueue;io=!1;var a=o.baseQueue,s=o.shared.pending;if(null!==s){if(null!==a){var l=a.next;a.next=s.next,s.next=l}a=s,o.shared.pending=null,null!==(l=e.alternate)&&(null!==(l=l.updateQueue)&&(l.baseQueue=s))}if(null!==a){l=a.next;var c=o.baseState,u=0,d=null,m=null,p=null;if(null!==l)for(var h=l;;){if((s=h.expirationTime)<r){var f={expirationTime:h.expirationTime,suspenseConfig:h.suspenseConfig,tag:h.tag,payload:h.payload,callback:h.callback,next:null};null===p?(m=p=f,d=c):p=p.next=f,s>u&&(u=s)}else{null!==p&&(p=p.next={expirationTime:1073741823,suspenseConfig:h.suspenseConfig,tag:h.tag,payload:h.payload,callback:h.callback,next:null}),ol(s,h.suspenseConfig);e:{var _=e,g=h;switch(s=t,f=n,g.tag){case 1:if("function"==typeof(_=g.payload)){c=_.call(f,c,s);break e}c=_;break e;case 3:_.effectTag=-4097&_.effectTag|64;case 0:if(null==(s="function"==typeof(_=g.payload)?_.call(f,c,s):_))break e;c=i({},c,s);break e;case 2:io=!0}}null!==h.callback&&(e.effectTag|=32,null===(s=o.effects)?o.effects=[h]:s.push(h))}if(null===(h=h.next)||h===l){if(null===(s=o.shared.pending))break;h=a.next=s.next,s.next=l,o.baseQueue=a=s,o.shared.pending=null}}null===p?d=c:p.next=m,o.baseState=d,o.baseQueue=p,al(u),e.expirationTime=u,e.memoizedState=c}}function mo(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],i=r.callback;if(null!==i){if(r.callback=null,r=i,i=n,"function"!=typeof r)throw Error(a(191,r));r.call(i)}}}var po=Q.ReactCurrentBatchConfig,ho=(new r.Component).refs;function fo(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:i({},t,n),e.memoizedState=n,0===e.expirationTime&&(e.updateQueue.baseState=n)}var _o={isMounted:function(e){return!!(e=e._reactInternalFiber)&&Je(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternalFiber;var r=Gs(),i=po.suspense;(i=so(r=Vs(r,e,i),i)).payload=t,null!=n&&(i.callback=n),lo(e,i),Ks(e,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternalFiber;var r=Gs(),i=po.suspense;(i=so(r=Vs(r,e,i),i)).tag=1,i.payload=t,null!=n&&(i.callback=n),lo(e,i),Ks(e,r)},enqueueForceUpdate:function(e,t){e=e._reactInternalFiber;var n=Gs(),r=po.suspense;(r=so(n=Vs(n,e,r),r)).tag=2,null!=t&&(r.callback=t),lo(e,r),Ks(e,n)}};function go(e,t,n,r,i,o,a){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,a):!t.prototype||!t.prototype.isPureReactComponent||(!qr(n,r)||!qr(i,o))}function bo(e,t,n){var r=!1,i=ui,o=t.contextType;return"object"==typeof o&&null!==o?o=ro(o):(i=fi(t)?pi:di.current,o=(r=null!=(r=t.contextTypes))?hi(e,i):ui),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=_o,e.stateNode=t,t._reactInternalFiber=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=o),t}function yo(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&_o.enqueueReplaceState(t,t.state,null)}function vo(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs=ho,oo(e);var o=t.contextType;"object"==typeof o&&null!==o?i.context=ro(o):(o=fi(t)?pi:di.current,i.context=hi(e,o)),uo(e,n,i,r),i.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&(fo(e,t,o,n),i.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(t=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&_o.enqueueReplaceState(i,i.state,null),uo(e,n,i,r),i.state=e.memoizedState),"function"==typeof i.componentDidMount&&(e.effectTag|=4)}var wo=Array.isArray;function xo(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var r=n.stateNode}if(!r)throw Error(a(147,e));var i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:((t=function(e){var t=r.refs;t===ho&&(t=r.refs={}),null===e?delete t[i]:t[i]=e})._stringRef=i,t)}if("string"!=typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function ko(e,t){if("textarea"!==e.type)throw Error(a(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t,""))}function Oo(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.effectTag=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t){return(e=El(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.effectTag=2,n):r:(t.effectTag=2,n):n}function s(t){return e&&null===t.alternate&&(t.effectTag=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Rl(n,e.mode,r)).return=e,t):((t=i(t,n)).return=e,t)}function c(e,t,n,r){return null!==t&&t.elementType===n.type?((r=i(t,n.props)).ref=xo(e,t,n),r.return=e,r):((r=Sl(n.type,n.key,n.props,null,e.mode,r)).ref=xo(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Tl(n,e.mode,r)).return=e,t):((t=i(t,n.children||[])).return=e,t)}function d(e,t,n,r,o){return null===t||7!==t.tag?((t=Cl(n,e.mode,r,o)).return=e,t):((t=i(t,n)).return=e,t)}function m(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=Rl(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case ee:return(n=Sl(t.type,t.key,t.props,null,e.mode,n)).ref=xo(e,null,t),n.return=e,n;case te:return(t=Tl(t,e.mode,n)).return=e,t}if(wo(t)||fe(t))return(t=Cl(t,e.mode,n,null)).return=e,t;ko(e,t)}return null}function p(e,t,n,r){var i=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==i?null:l(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case ee:return n.key===i?n.type===ne?d(e,t,n.props.children,r,i):c(e,t,n,r):null;case te:return n.key===i?u(e,t,n,r):null}if(wo(n)||fe(n))return null!==i?null:d(e,t,n,r,null);ko(e,n)}return null}function h(e,t,n,r,i){if("string"==typeof r||"number"==typeof r)return l(t,e=e.get(n)||null,""+r,i);if("object"==typeof r&&null!==r){switch(r.$$typeof){case ee:return e=e.get(null===r.key?n:r.key)||null,r.type===ne?d(t,e,r.props.children,i,r.key):c(t,e,r,i);case te:return u(t,e=e.get(null===r.key?n:r.key)||null,r,i)}if(wo(r)||fe(r))return d(t,e=e.get(n)||null,r,i,null);ko(t,r)}return null}function f(i,a,s,l){for(var c=null,u=null,d=a,f=a=0,_=null;null!==d&&f<s.length;f++){d.index>f?(_=d,d=null):_=d.sibling;var g=p(i,d,s[f],l);if(null===g){null===d&&(d=_);break}e&&d&&null===g.alternate&&t(i,d),a=o(g,a,f),null===u?c=g:u.sibling=g,u=g,d=_}if(f===s.length)return n(i,d),c;if(null===d){for(;f<s.length;f++)null!==(d=m(i,s[f],l))&&(a=o(d,a,f),null===u?c=d:u.sibling=d,u=d);return c}for(d=r(i,d);f<s.length;f++)null!==(_=h(d,i,f,s[f],l))&&(e&&null!==_.alternate&&d.delete(null===_.key?f:_.key),a=o(_,a,f),null===u?c=_:u.sibling=_,u=_);return e&&d.forEach((function(e){return t(i,e)})),c}function _(i,s,l,c){var u=fe(l);if("function"!=typeof u)throw Error(a(150));if(null==(l=u.call(l)))throw Error(a(151));for(var d=u=null,f=s,_=s=0,g=null,b=l.next();null!==f&&!b.done;_++,b=l.next()){f.index>_?(g=f,f=null):g=f.sibling;var y=p(i,f,b.value,c);if(null===y){null===f&&(f=g);break}e&&f&&null===y.alternate&&t(i,f),s=o(y,s,_),null===d?u=y:d.sibling=y,d=y,f=g}if(b.done)return n(i,f),u;if(null===f){for(;!b.done;_++,b=l.next())null!==(b=m(i,b.value,c))&&(s=o(b,s,_),null===d?u=b:d.sibling=b,d=b);return u}for(f=r(i,f);!b.done;_++,b=l.next())null!==(b=h(f,i,_,b.value,c))&&(e&&null!==b.alternate&&f.delete(null===b.key?_:b.key),s=o(b,s,_),null===d?u=b:d.sibling=b,d=b);return e&&f.forEach((function(e){return t(i,e)})),u}return function(e,r,o,l){var c="object"==typeof o&&null!==o&&o.type===ne&&null===o.key;c&&(o=o.props.children);var u="object"==typeof o&&null!==o;if(u)switch(o.$$typeof){case ee:e:{for(u=o.key,c=r;null!==c;){if(c.key===u){switch(c.tag){case 7:if(o.type===ne){n(e,c.sibling),(r=i(c,o.props.children)).return=e,e=r;break e}break;default:if(c.elementType===o.type){n(e,c.sibling),(r=i(c,o.props)).ref=xo(e,c,o),r.return=e,e=r;break e}}n(e,c);break}t(e,c),c=c.sibling}o.type===ne?((r=Cl(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=Sl(o.type,o.key,o.props,null,e.mode,l)).ref=xo(e,r,o),l.return=e,e=l)}return s(e);case te:e:{for(c=o.key;null!==r;){if(r.key===c){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Tl(o,e.mode,l)).return=e,e=r}return s(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o)).return=e,e=r):(n(e,r),(r=Rl(o,e.mode,l)).return=e,e=r),s(e);if(wo(o))return f(e,r,o,l);if(fe(o))return _(e,r,o,l);if(u&&ko(e,o),void 0===o&&!c)switch(e.tag){case 1:case 0:throw e=e.type,Error(a(152,e.displayName||e.name||"Component"))}return n(e,r)}}var jo=Oo(!0),Eo=Oo(!1),So={},Co={current:So},Ro={current:So},To={current:So};function Lo(e){if(e===So)throw Error(a(174));return e}function Ao(e,t){switch(ci(To,t),ci(Ro,e),ci(Co,So),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Ie(null,"");break;default:t=Ie(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}li(Co),ci(Co,t)}function Mo(){li(Co),li(Ro),li(To)}function $o(e){Lo(To.current);var t=Lo(Co.current),n=Ie(t,e.type);t!==n&&(ci(Ro,e),ci(Co,n))}function No(e){Ro.current===e&&(li(Co),li(Ro))}var Po={current:0};function Io(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.effectTag))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function Do(e,t){return{responder:e,props:t}}var qo=Q.ReactCurrentDispatcher,zo=Q.ReactCurrentBatchConfig,Fo=0,Uo=null,Ho=null,Bo=null,Wo=!1;function Go(){throw Error(a(321))}function Vo(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Ir(e[n],t[n]))return!1;return!0}function Ko(e,t,n,r,i,o){if(Fo=o,Uo=t,t.memoizedState=null,t.updateQueue=null,t.expirationTime=0,qo.current=null===e||null===e.memoizedState?ga:ba,e=n(r,i),t.expirationTime===Fo){o=0;do{if(t.expirationTime=0,!(25>o))throw Error(a(301));o+=1,Bo=Ho=null,t.updateQueue=null,qo.current=ya,e=n(r,i)}while(t.expirationTime===Fo)}if(qo.current=_a,t=null!==Ho&&null!==Ho.next,Fo=0,Bo=Ho=Uo=null,Wo=!1,t)throw Error(a(300));return e}function Yo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Bo?Uo.memoizedState=Bo=e:Bo=Bo.next=e,Bo}function Qo(){if(null===Ho){var e=Uo.alternate;e=null!==e?e.memoizedState:null}else e=Ho.next;var t=null===Bo?Uo.memoizedState:Bo.next;if(null!==t)Bo=t,Ho=e;else{if(null===e)throw Error(a(310));e={memoizedState:(Ho=e).memoizedState,baseState:Ho.baseState,baseQueue:Ho.baseQueue,queue:Ho.queue,next:null},null===Bo?Uo.memoizedState=Bo=e:Bo=Bo.next=e}return Bo}function Xo(e,t){return"function"==typeof t?t(e):t}function Zo(e){var t=Qo(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=Ho,i=r.baseQueue,o=n.pending;if(null!==o){if(null!==i){var s=i.next;i.next=o.next,o.next=s}r.baseQueue=i=o,n.pending=null}if(null!==i){i=i.next,r=r.baseState;var l=s=o=null,c=i;do{var u=c.expirationTime;if(u<Fo){var d={expirationTime:c.expirationTime,suspenseConfig:c.suspenseConfig,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null};null===l?(s=l=d,o=r):l=l.next=d,u>Uo.expirationTime&&(Uo.expirationTime=u,al(u))}else null!==l&&(l=l.next={expirationTime:1073741823,suspenseConfig:c.suspenseConfig,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null}),ol(u,c.suspenseConfig),r=c.eagerReducer===e?c.eagerState:e(r,c.action);c=c.next}while(null!==c&&c!==i);null===l?o=r:l.next=s,Ir(r,t.memoizedState)||(Ta=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=l,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function Jo(e){var t=Qo(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,o=t.memoizedState;if(null!==i){n.pending=null;var s=i=i.next;do{o=e(o,s.action),s=s.next}while(s!==i);Ir(o,t.memoizedState)||(Ta=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function ea(e){var t=Yo();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:Xo,lastRenderedState:e}).dispatch=fa.bind(null,Uo,e),[t.memoizedState,e]}function ta(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=Uo.updateQueue)?(t={lastEffect:null},Uo.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function na(){return Qo().memoizedState}function ra(e,t,n,r){var i=Yo();Uo.effectTag|=e,i.memoizedState=ta(1|t,n,void 0,void 0===r?null:r)}function ia(e,t,n,r){var i=Qo();r=void 0===r?null:r;var o=void 0;if(null!==Ho){var a=Ho.memoizedState;if(o=a.destroy,null!==r&&Vo(r,a.deps))return void ta(t,n,o,r)}Uo.effectTag|=e,i.memoizedState=ta(1|t,n,o,r)}function oa(e,t){return ra(516,4,e,t)}function aa(e,t){return ia(516,4,e,t)}function sa(e,t){return ia(4,2,e,t)}function la(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function ca(e,t,n){return n=null!=n?n.concat([e]):null,ia(4,2,la.bind(null,t,e),n)}function ua(){}function da(e,t){return Yo().memoizedState=[e,void 0===t?null:t],e}function ma(e,t){var n=Qo();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Vo(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function pa(e,t){var n=Qo();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Vo(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function ha(e,t,n){var r=zi();Ui(98>r?98:r,(function(){e(!0)})),Ui(97<r?97:r,(function(){var r=zo.suspense;zo.suspense=void 0===t?null:t;try{e(!1),n()}finally{zo.suspense=r}}))}function fa(e,t,n){var r=Gs(),i=po.suspense;i={expirationTime:r=Vs(r,e,i),suspenseConfig:i,action:n,eagerReducer:null,eagerState:null,next:null};var o=t.pending;if(null===o?i.next=i:(i.next=o.next,o.next=i),t.pending=i,o=e.alternate,e===Uo||null!==o&&o===Uo)Wo=!0,i.expirationTime=Fo,Uo.expirationTime=Fo;else{if(0===e.expirationTime&&(null===o||0===o.expirationTime)&&null!==(o=t.lastRenderedReducer))try{var a=t.lastRenderedState,s=o(a,n);if(i.eagerReducer=o,i.eagerState=s,Ir(s,a))return}catch(e){}Ks(e,r)}}var _a={readContext:ro,useCallback:Go,useContext:Go,useEffect:Go,useImperativeHandle:Go,useLayoutEffect:Go,useMemo:Go,useReducer:Go,useRef:Go,useState:Go,useDebugValue:Go,useResponder:Go,useDeferredValue:Go,useTransition:Go},ga={readContext:ro,useCallback:da,useContext:ro,useEffect:oa,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,ra(4,2,la.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ra(4,2,e,t)},useMemo:function(e,t){var n=Yo();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Yo();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=fa.bind(null,Uo,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},Yo().memoizedState=e},useState:ea,useDebugValue:ua,useResponder:Do,useDeferredValue:function(e,t){var n=ea(e),r=n[0],i=n[1];return oa((function(){var n=zo.suspense;zo.suspense=void 0===t?null:t;try{i(e)}finally{zo.suspense=n}}),[e,t]),r},useTransition:function(e){var t=ea(!1),n=t[0];return t=t[1],[da(ha.bind(null,t,e),[t,e]),n]}},ba={readContext:ro,useCallback:ma,useContext:ro,useEffect:aa,useImperativeHandle:ca,useLayoutEffect:sa,useMemo:pa,useReducer:Zo,useRef:na,useState:function(){return Zo(Xo)},useDebugValue:ua,useResponder:Do,useDeferredValue:function(e,t){var n=Zo(Xo),r=n[0],i=n[1];return aa((function(){var n=zo.suspense;zo.suspense=void 0===t?null:t;try{i(e)}finally{zo.suspense=n}}),[e,t]),r},useTransition:function(e){var t=Zo(Xo),n=t[0];return t=t[1],[ma(ha.bind(null,t,e),[t,e]),n]}},ya={readContext:ro,useCallback:ma,useContext:ro,useEffect:aa,useImperativeHandle:ca,useLayoutEffect:sa,useMemo:pa,useReducer:Jo,useRef:na,useState:function(){return Jo(Xo)},useDebugValue:ua,useResponder:Do,useDeferredValue:function(e,t){var n=Jo(Xo),r=n[0],i=n[1];return aa((function(){var n=zo.suspense;zo.suspense=void 0===t?null:t;try{i(e)}finally{zo.suspense=n}}),[e,t]),r},useTransition:function(e){var t=Jo(Xo),n=t[0];return t=t[1],[ma(ha.bind(null,t,e),[t,e]),n]}},va=null,wa=null,xa=!1;function ka(e,t){var n=Ol(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Oa(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);case 13:default:return!1}}function ja(e){if(xa){var t=wa;if(t){var n=t;if(!Oa(e,t)){if(!(t=wn(n.nextSibling))||!Oa(e,t))return e.effectTag=-1025&e.effectTag|2,xa=!1,void(va=e);ka(va,n)}va=e,wa=wn(t.firstChild)}else e.effectTag=-1025&e.effectTag|2,xa=!1,va=e}}function Ea(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;va=e}function Sa(e){if(e!==va)return!1;if(!xa)return Ea(e),xa=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!bn(t,e.memoizedProps))for(t=wa;t;)ka(e,t),t=wn(t.nextSibling);if(Ea(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){wa=wn(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}wa=null}}else wa=va?wn(e.stateNode.nextSibling):null;return!0}function Ca(){wa=va=null,xa=!1}var Ra=Q.ReactCurrentOwner,Ta=!1;function La(e,t,n,r){t.child=null===e?Eo(t,null,n,r):jo(t,e.child,n,r)}function Aa(e,t,n,r,i){n=n.render;var o=t.ref;return no(t,i),r=Ko(e,t,n,r,o,i),null===e||Ta?(t.effectTag|=1,La(e,t,r,i),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=i&&(e.expirationTime=0),Ka(e,t,i))}function Ma(e,t,n,r,i,o){if(null===e){var a=n.type;return"function"!=typeof a||jl(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Sl(n.type,null,r,null,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,$a(e,t,a,r,i,o))}return a=e.child,i<o&&(i=a.memoizedProps,(n=null!==(n=n.compare)?n:qr)(i,r)&&e.ref===t.ref)?Ka(e,t,o):(t.effectTag|=1,(e=El(a,r)).ref=t.ref,e.return=t,t.child=e)}function $a(e,t,n,r,i,o){return null!==e&&qr(e.memoizedProps,r)&&e.ref===t.ref&&(Ta=!1,i<o)?(t.expirationTime=e.expirationTime,Ka(e,t,o)):Pa(e,t,n,r,o)}function Na(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function Pa(e,t,n,r,i){var o=fi(n)?pi:di.current;return o=hi(t,o),no(t,i),n=Ko(e,t,n,r,o,i),null===e||Ta?(t.effectTag|=1,La(e,t,n,i),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=i&&(e.expirationTime=0),Ka(e,t,i))}function Ia(e,t,n,r,i){if(fi(n)){var o=!0;yi(t)}else o=!1;if(no(t,i),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),bo(t,n,r),vo(t,n,r,i),r=!0;else if(null===e){var a=t.stateNode,s=t.memoizedProps;a.props=s;var l=a.context,c=n.contextType;"object"==typeof c&&null!==c?c=ro(c):c=hi(t,c=fi(n)?pi:di.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof a.getSnapshotBeforeUpdate;d||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(s!==r||l!==c)&&yo(t,a,r,c),io=!1;var m=t.memoizedState;a.state=m,uo(t,r,a,i),l=t.memoizedState,s!==r||m!==l||mi.current||io?("function"==typeof u&&(fo(t,n,u,r),l=t.memoizedState),(s=io||go(t,n,s,r,m,l,c))?(d||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||("function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"==typeof a.componentDidMount&&(t.effectTag|=4)):("function"==typeof a.componentDidMount&&(t.effectTag|=4),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=c,r=s):("function"==typeof a.componentDidMount&&(t.effectTag|=4),r=!1)}else a=t.stateNode,ao(e,t),s=t.memoizedProps,a.props=t.type===t.elementType?s:Ki(t.type,s),l=a.context,"object"==typeof(c=n.contextType)&&null!==c?c=ro(c):c=hi(t,c=fi(n)?pi:di.current),(d="function"==typeof(u=n.getDerivedStateFromProps)||"function"==typeof a.getSnapshotBeforeUpdate)||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(s!==r||l!==c)&&yo(t,a,r,c),io=!1,l=t.memoizedState,a.state=l,uo(t,r,a,i),m=t.memoizedState,s!==r||l!==m||mi.current||io?("function"==typeof u&&(fo(t,n,u,r),m=t.memoizedState),(u=io||go(t,n,s,r,l,m,c))?(d||"function"!=typeof a.UNSAFE_componentWillUpdate&&"function"!=typeof a.componentWillUpdate||("function"==typeof a.componentWillUpdate&&a.componentWillUpdate(r,m,c),"function"==typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(r,m,c)),"function"==typeof a.componentDidUpdate&&(t.effectTag|=4),"function"==typeof a.getSnapshotBeforeUpdate&&(t.effectTag|=256)):("function"!=typeof a.componentDidUpdate||s===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=4),"function"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=256),t.memoizedProps=r,t.memoizedState=m),a.props=r,a.state=m,a.context=c,r=u):("function"!=typeof a.componentDidUpdate||s===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=4),"function"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=256),r=!1);return Da(e,t,n,r,o,i)}function Da(e,t,n,r,i,o){Na(e,t);var a=0!=(64&t.effectTag);if(!r&&!a)return i&&vi(t,n,!1),Ka(e,t,o);r=t.stateNode,Ra.current=t;var s=a&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.effectTag|=1,null!==e&&a?(t.child=jo(t,e.child,null,o),t.child=jo(t,null,s,o)):La(e,t,s,o),t.memoizedState=r.state,i&&vi(t,n,!0),t.child}function qa(e){var t=e.stateNode;t.pendingContext?gi(0,t.pendingContext,t.pendingContext!==t.context):t.context&&gi(0,t.context,!1),Ao(e,t.containerInfo)}var za,Fa,Ua,Ha={dehydrated:null,retryTime:0};function Ba(e,t,n){var r,i=t.mode,o=t.pendingProps,a=Po.current,s=!1;if((r=0!=(64&t.effectTag))||(r=0!=(2&a)&&(null===e||null!==e.memoizedState)),r?(s=!0,t.effectTag&=-65):null!==e&&null===e.memoizedState||void 0===o.fallback||!0===o.unstable_avoidThisFallback||(a|=1),ci(Po,1&a),null===e){if(void 0!==o.fallback&&ja(t),s){if(s=o.fallback,(o=Cl(null,i,0,null)).return=t,0==(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,o.child=e;null!==e;)e.return=o,e=e.sibling;return(n=Cl(s,i,n,null)).return=t,o.sibling=n,t.memoizedState=Ha,t.child=o,n}return i=o.children,t.memoizedState=null,t.child=Eo(t,null,i,n)}if(null!==e.memoizedState){if(i=(e=e.child).sibling,s){if(o=o.fallback,(n=El(e,e.pendingProps)).return=t,0==(2&t.mode)&&(s=null!==t.memoizedState?t.child.child:t.child)!==e.child)for(n.child=s;null!==s;)s.return=n,s=s.sibling;return(i=El(i,o)).return=t,n.sibling=i,n.childExpirationTime=0,t.memoizedState=Ha,t.child=n,i}return n=jo(t,e.child,o.children,n),t.memoizedState=null,t.child=n}if(e=e.child,s){if(s=o.fallback,(o=Cl(null,i,0,null)).return=t,o.child=e,null!==e&&(e.return=o),0==(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,o.child=e;null!==e;)e.return=o,e=e.sibling;return(n=Cl(s,i,n,null)).return=t,o.sibling=n,n.effectTag|=2,o.childExpirationTime=0,t.memoizedState=Ha,t.child=o,n}return t.memoizedState=null,t.child=jo(t,e,o.children,n)}function Wa(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t),to(e.return,t)}function Ga(e,t,n,r,i,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailExpiration:0,tailMode:i,lastEffect:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailExpiration=0,a.tailMode=i,a.lastEffect=o)}function Va(e,t,n){var r=t.pendingProps,i=r.revealOrder,o=r.tail;if(La(e,t,r.children,n),0!=(2&(r=Po.current)))r=1&r|2,t.effectTag|=64;else{if(null!==e&&0!=(64&e.effectTag))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Wa(e,n);else if(19===e.tag)Wa(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(ci(Po,r),0==(2&t.mode))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;null!==n;)null!==(e=n.alternate)&&null===Io(e)&&(i=n),n=n.sibling;null===(n=i)?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Ga(t,!1,i,n,o,t.lastEffect);break;case"backwards":for(n=null,i=t.child,t.child=null;null!==i;){if(null!==(e=i.alternate)&&null===Io(e)){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Ga(t,!0,n,null,o,t.lastEffect);break;case"together":Ga(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function Ka(e,t,n){null!==e&&(t.dependencies=e.dependencies);var r=t.expirationTime;if(0!==r&&al(r),t.childExpirationTime<n)return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=El(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=El(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Ya(e,t){switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Qa(e,t,n){var r=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return fi(t.type)&&_i(),null;case 3:return Mo(),li(mi),li(di),(n=t.stateNode).pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||!Sa(t)||(t.effectTag|=4),null;case 5:No(t),n=Lo(To.current);var o=t.type;if(null!==e&&null!=t.stateNode)Fa(e,t,o,r,n),e.ref!==t.ref&&(t.effectTag|=128);else{if(!r){if(null===t.stateNode)throw Error(a(166));return null}if(e=Lo(Co.current),Sa(t)){r=t.stateNode,o=t.type;var s=t.memoizedProps;switch(r[On]=t,r[jn]=s,o){case"iframe":case"object":case"embed":Vt("load",r);break;case"video":case"audio":for(e=0;e<Qe.length;e++)Vt(Qe[e],r);break;case"source":Vt("error",r);break;case"img":case"image":case"link":Vt("error",r),Vt("load",r);break;case"form":Vt("reset",r),Vt("submit",r);break;case"details":Vt("toggle",r);break;case"input":ke(r,s),Vt("invalid",r),ln(n,"onChange");break;case"select":r._wrapperState={wasMultiple:!!s.multiple},Vt("invalid",r),ln(n,"onChange");break;case"textarea":Le(r,s),Vt("invalid",r),ln(n,"onChange")}for(var l in on(o,s),e=null,s)if(s.hasOwnProperty(l)){var c=s[l];"children"===l?"string"==typeof c?r.textContent!==c&&(e=["children",c]):"number"==typeof c&&r.textContent!==""+c&&(e=["children",""+c]):O.hasOwnProperty(l)&&null!=c&&ln(n,l)}switch(o){case"input":ve(r),Ee(r,s,!0);break;case"textarea":ve(r),Me(r);break;case"select":case"option":break;default:"function"==typeof s.onClick&&(r.onclick=cn)}n=e,t.updateQueue=n,null!==n&&(t.effectTag|=4)}else{switch(l=9===n.nodeType?n:n.ownerDocument,e===sn&&(e=Pe(o)),e===sn?"script"===o?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=l.createElement(o,{is:r.is}):(e=l.createElement(o),"select"===o&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,o),e[On]=t,e[jn]=r,za(e,t),t.stateNode=e,l=an(o,r),o){case"iframe":case"object":case"embed":Vt("load",e),c=r;break;case"video":case"audio":for(c=0;c<Qe.length;c++)Vt(Qe[c],e);c=r;break;case"source":Vt("error",e),c=r;break;case"img":case"image":case"link":Vt("error",e),Vt("load",e),c=r;break;case"form":Vt("reset",e),Vt("submit",e),c=r;break;case"details":Vt("toggle",e),c=r;break;case"input":ke(e,r),c=xe(e,r),Vt("invalid",e),ln(n,"onChange");break;case"option":c=Ce(e,r);break;case"select":e._wrapperState={wasMultiple:!!r.multiple},c=i({},r,{value:void 0}),Vt("invalid",e),ln(n,"onChange");break;case"textarea":Le(e,r),c=Te(e,r),Vt("invalid",e),ln(n,"onChange");break;default:c=r}on(o,c);var u=c;for(s in u)if(u.hasOwnProperty(s)){var d=u[s];"style"===s?nn(e,d):"dangerouslySetInnerHTML"===s?null!=(d=d?d.__html:void 0)&&qe(e,d):"children"===s?"string"==typeof d?("textarea"!==o||""!==d)&&ze(e,d):"number"==typeof d&&ze(e,""+d):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(O.hasOwnProperty(s)?null!=d&&ln(n,s):null!=d&&X(e,s,d,l))}switch(o){case"input":ve(e),Ee(e,r,!1);break;case"textarea":ve(e),Me(e);break;case"option":null!=r.value&&e.setAttribute("value",""+be(r.value));break;case"select":e.multiple=!!r.multiple,null!=(n=r.value)?Re(e,!!r.multiple,n,!1):null!=r.defaultValue&&Re(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof c.onClick&&(e.onclick=cn)}gn(o,r)&&(t.effectTag|=4)}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)Ua(0,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(a(166));n=Lo(To.current),Lo(Co.current),Sa(t)?(n=t.stateNode,r=t.memoizedProps,n[On]=t,n.nodeValue!==r&&(t.effectTag|=4)):((n=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[On]=t,t.stateNode=n)}return null;case 13:return li(Po),r=t.memoizedState,0!=(64&t.effectTag)?(t.expirationTime=n,t):(n=null!==r,r=!1,null===e?void 0!==t.memoizedProps.fallback&&Sa(t):(r=null!==(o=e.memoizedState),n||null===o||null!==(o=e.child.sibling)&&(null!==(s=t.firstEffect)?(t.firstEffect=o,o.nextEffect=s):(t.firstEffect=t.lastEffect=o,o.nextEffect=null),o.effectTag=8)),n&&!r&&0!=(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&Po.current)?Ss===vs&&(Ss=ws):(Ss!==vs&&Ss!==ws||(Ss=xs),0!==As&&null!==Os&&(Ml(Os,Es),$l(Os,As)))),(n||r)&&(t.effectTag|=4),null);case 4:return Mo(),null;case 10:return eo(t),null;case 17:return fi(t.type)&&_i(),null;case 19:if(li(Po),null===(r=t.memoizedState))return null;if(o=0!=(64&t.effectTag),null===(s=r.rendering)){if(o)Ya(r,!1);else if(Ss!==vs||null!==e&&0!=(64&e.effectTag))for(s=t.child;null!==s;){if(null!==(e=Io(s))){for(t.effectTag|=64,Ya(r,!1),null!==(o=e.updateQueue)&&(t.updateQueue=o,t.effectTag|=4),null===r.lastEffect&&(t.firstEffect=null),t.lastEffect=r.lastEffect,r=t.child;null!==r;)s=n,(o=r).effectTag&=2,o.nextEffect=null,o.firstEffect=null,o.lastEffect=null,null===(e=o.alternate)?(o.childExpirationTime=0,o.expirationTime=s,o.child=null,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null):(o.childExpirationTime=e.childExpirationTime,o.expirationTime=e.expirationTime,o.child=e.child,o.memoizedProps=e.memoizedProps,o.memoizedState=e.memoizedState,o.updateQueue=e.updateQueue,s=e.dependencies,o.dependencies=null===s?null:{expirationTime:s.expirationTime,firstContext:s.firstContext,responders:s.responders}),r=r.sibling;return ci(Po,1&Po.current|2),t.child}s=s.sibling}}else{if(!o)if(null!==(e=Io(s))){if(t.effectTag|=64,o=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.effectTag|=4),Ya(r,!0),null===r.tail&&"hidden"===r.tailMode&&!s.alternate)return null!==(t=t.lastEffect=r.lastEffect)&&(t.nextEffect=null),null}else 2*qi()-r.renderingStartTime>r.tailExpiration&&1<n&&(t.effectTag|=64,o=!0,Ya(r,!1),t.expirationTime=t.childExpirationTime=n-1);r.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=r.last)?n.sibling=s:t.child=s,r.last=s)}return null!==r.tail?(0===r.tailExpiration&&(r.tailExpiration=qi()+500),n=r.tail,r.rendering=n,r.tail=n.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=qi(),n.sibling=null,t=Po.current,ci(Po,o?1&t|2:1&t),n):null}throw Error(a(156,t.tag))}function Xa(e){switch(e.tag){case 1:fi(e.type)&&_i();var t=e.effectTag;return 4096&t?(e.effectTag=-4097&t|64,e):null;case 3:if(Mo(),li(mi),li(di),0!=(64&(t=e.effectTag)))throw Error(a(285));return e.effectTag=-4097&t|64,e;case 5:return No(e),null;case 13:return li(Po),4096&(t=e.effectTag)?(e.effectTag=-4097&t|64,e):null;case 19:return li(Po),null;case 4:return Mo(),null;case 10:return eo(e),null;default:return null}}function Za(e,t){return{value:e,source:t,stack:ge(t)}}za=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Fa=function(e,t,n,r,o){var a=e.memoizedProps;if(a!==r){var s,l,c=t.stateNode;switch(Lo(Co.current),e=null,n){case"input":a=xe(c,a),r=xe(c,r),e=[];break;case"option":a=Ce(c,a),r=Ce(c,r),e=[];break;case"select":a=i({},a,{value:void 0}),r=i({},r,{value:void 0}),e=[];break;case"textarea":a=Te(c,a),r=Te(c,r),e=[];break;default:"function"!=typeof a.onClick&&"function"==typeof r.onClick&&(c.onclick=cn)}for(s in on(n,r),n=null,a)if(!r.hasOwnProperty(s)&&a.hasOwnProperty(s)&&null!=a[s])if("style"===s)for(l in c=a[s])c.hasOwnProperty(l)&&(n||(n={}),n[l]="");else"dangerouslySetInnerHTML"!==s&&"children"!==s&&"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(O.hasOwnProperty(s)?e||(e=[]):(e=e||[]).push(s,null));for(s in r){var u=r[s];if(c=null!=a?a[s]:void 0,r.hasOwnProperty(s)&&u!==c&&(null!=u||null!=c))if("style"===s)if(c){for(l in c)!c.hasOwnProperty(l)||u&&u.hasOwnProperty(l)||(n||(n={}),n[l]="");for(l in u)u.hasOwnProperty(l)&&c[l]!==u[l]&&(n||(n={}),n[l]=u[l])}else n||(e||(e=[]),e.push(s,n)),n=u;else"dangerouslySetInnerHTML"===s?(u=u?u.__html:void 0,c=c?c.__html:void 0,null!=u&&c!==u&&(e=e||[]).push(s,u)):"children"===s?c===u||"string"!=typeof u&&"number"!=typeof u||(e=e||[]).push(s,""+u):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&(O.hasOwnProperty(s)?(null!=u&&ln(o,s),e||c===u||(e=[])):(e=e||[]).push(s,u))}n&&(e=e||[]).push("style",n),o=e,(t.updateQueue=o)&&(t.effectTag|=4)}},Ua=function(e,t,n,r){n!==r&&(t.effectTag|=4)};var Ja="function"==typeof WeakSet?WeakSet:Set;function es(e,t){var n=t.source,r=t.stack;null===r&&null!==n&&(r=ge(n)),null!==n&&_e(n.type),t=t.value,null!==e&&1===e.tag&&_e(e.type);try{console.error(t)}catch(e){setTimeout((function(){throw e}))}}function ts(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(t){bl(e,t)}else t.current=null}function ns(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:Ki(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(a(163))}function rs(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.destroy;n.destroy=void 0,void 0!==r&&r()}n=n.next}while(n!==t)}}function is(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function os(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:return void is(3,n);case 1:if(e=n.stateNode,4&n.effectTag)if(null===t)e.componentDidMount();else{var r=n.elementType===n.type?t.memoizedProps:Ki(n.type,t.memoizedProps);e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate)}return void(null!==(t=n.updateQueue)&&mo(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=n.child.stateNode;break;case 1:e=n.child.stateNode}mo(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.effectTag&&gn(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&Pt(n)))));case 19:case 17:case 20:case 21:return}throw Error(a(163))}function as(e,t,n){switch("function"==typeof xl&&xl(t),t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var r=e.next;Ui(97<n?97:n,(function(){var e=r;do{var n=e.destroy;if(void 0!==n){var i=t;try{n()}catch(e){bl(i,e)}}e=e.next}while(e!==r)}))}break;case 1:ts(t),"function"==typeof(n=t.stateNode).componentWillUnmount&&function(e,t){try{t.props=e.memoizedProps,t.state=e.memoizedState,t.componentWillUnmount()}catch(t){bl(e,t)}}(t,n);break;case 5:ts(t);break;case 4:us(e,t,n)}}function ss(e){var t=e.alternate;e.return=null,e.child=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.alternate=null,e.firstEffect=null,e.lastEffect=null,e.pendingProps=null,e.memoizedProps=null,e.stateNode=null,null!==t&&ss(t)}function ls(e){return 5===e.tag||3===e.tag||4===e.tag}function cs(e){e:{for(var t=e.return;null!==t;){if(ls(t)){var n=t;break e}t=t.return}throw Error(a(160))}switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(a(161))}16&n.effectTag&&(ze(t,""),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||ls(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}r?function e(t,n,r){var i=t.tag,o=5===i||6===i;if(o)t=o?t.stateNode:t.stateNode.instance,n?8===r.nodeType?r.parentNode.insertBefore(t,n):r.insertBefore(t,n):(8===r.nodeType?(n=r.parentNode).insertBefore(t,r):(n=r).appendChild(t),null!==(r=r._reactRootContainer)&&void 0!==r||null!==n.onclick||(n.onclick=cn));else if(4!==i&&null!==(t=t.child))for(e(t,n,r),t=t.sibling;null!==t;)e(t,n,r),t=t.sibling}(e,n,t):function e(t,n,r){var i=t.tag,o=5===i||6===i;if(o)t=o?t.stateNode:t.stateNode.instance,n?r.insertBefore(t,n):r.appendChild(t);else if(4!==i&&null!==(t=t.child))for(e(t,n,r),t=t.sibling;null!==t;)e(t,n,r),t=t.sibling}(e,n,t)}function us(e,t,n){for(var r,i,o=t,s=!1;;){if(!s){s=o.return;e:for(;;){if(null===s)throw Error(a(160));switch(r=s.stateNode,s.tag){case 5:i=!1;break e;case 3:case 4:r=r.containerInfo,i=!0;break e}s=s.return}s=!0}if(5===o.tag||6===o.tag){e:for(var l=e,c=o,u=n,d=c;;)if(as(l,d,u),null!==d.child&&4!==d.tag)d.child.return=d,d=d.child;else{if(d===c)break e;for(;null===d.sibling;){if(null===d.return||d.return===c)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}i?(l=r,c=o.stateNode,8===l.nodeType?l.parentNode.removeChild(c):l.removeChild(c)):r.removeChild(o.stateNode)}else if(4===o.tag){if(null!==o.child){r=o.stateNode.containerInfo,i=!0,o.child.return=o,o=o.child;continue}}else if(as(e,o,n),null!==o.child){o.child.return=o,o=o.child;continue}if(o===t)break;for(;null===o.sibling;){if(null===o.return||o.return===t)return;4===(o=o.return).tag&&(s=!1)}o.sibling.return=o.return,o=o.sibling}}function ds(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:return void rs(3,t);case 1:return;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps,i=null!==e?e.memoizedProps:r;e=t.type;var o=t.updateQueue;if(t.updateQueue=null,null!==o){for(n[jn]=r,"input"===e&&"radio"===r.type&&null!=r.name&&Oe(n,r),an(e,i),t=an(e,r),i=0;i<o.length;i+=2){var s=o[i],l=o[i+1];"style"===s?nn(n,l):"dangerouslySetInnerHTML"===s?qe(n,l):"children"===s?ze(n,l):X(n,s,l,t)}switch(e){case"input":je(n,r);break;case"textarea":Ae(n,r);break;case"select":t=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!r.multiple,null!=(e=r.value)?Re(n,!!r.multiple,e,!1):t!==!!r.multiple&&(null!=r.defaultValue?Re(n,!!r.multiple,r.defaultValue,!0):Re(n,!!r.multiple,r.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(a(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((t=t.stateNode).hydrate&&(t.hydrate=!1,Pt(t.containerInfo)));case 12:return;case 13:if(n=t,null===t.memoizedState?r=!1:(r=!0,n=t.child,$s=qi()),null!==n)e:for(e=n;;){if(5===e.tag)o=e.stateNode,r?"function"==typeof(o=o.style).setProperty?o.setProperty("display","none","important"):o.display="none":(o=e.stateNode,i=null!=(i=e.memoizedProps.style)&&i.hasOwnProperty("display")?i.display:null,o.style.display=tn("display",i));else if(6===e.tag)e.stateNode.nodeValue=r?"":e.memoizedProps;else{if(13===e.tag&&null!==e.memoizedState&&null===e.memoizedState.dehydrated){(o=e.child.sibling).return=e,e=o;continue}if(null!==e.child){e.child.return=e,e=e.child;continue}}if(e===n)break;for(;null===e.sibling;){if(null===e.return||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}return void ms(t);case 19:return void ms(t);case 17:return}throw Error(a(163))}function ms(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Ja),t.forEach((function(t){var r=vl.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}var ps="function"==typeof WeakMap?WeakMap:Map;function hs(e,t,n){(n=so(n,null)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ps||(Ps=!0,Is=r),es(e,t)},n}function fs(e,t,n){(n=so(n,null)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var i=t.value;n.payload=function(){return es(e,t),r(i)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===Ds?Ds=new Set([this]):Ds.add(this),es(e,t));var n=t.stack;this.componentDidCatch(t.value,{componentStack:null!==n?n:""})}),n}var _s,gs=Math.ceil,bs=Q.ReactCurrentDispatcher,ys=Q.ReactCurrentOwner,vs=0,ws=3,xs=4,ks=0,Os=null,js=null,Es=0,Ss=vs,Cs=null,Rs=1073741823,Ts=1073741823,Ls=null,As=0,Ms=!1,$s=0,Ns=null,Ps=!1,Is=null,Ds=null,qs=!1,zs=null,Fs=90,Us=null,Hs=0,Bs=null,Ws=0;function Gs(){return 0!=(48&ks)?1073741821-(qi()/10|0):0!==Ws?Ws:Ws=1073741821-(qi()/10|0)}function Vs(e,t,n){if(0==(2&(t=t.mode)))return 1073741823;var r=zi();if(0==(4&t))return 99===r?1073741823:1073741822;if(0!=(16&ks))return Es;if(null!==n)e=Vi(e,0|n.timeoutMs||5e3,250);else switch(r){case 99:e=1073741823;break;case 98:e=Vi(e,150,100);break;case 97:case 96:e=Vi(e,5e3,250);break;case 95:e=2;break;default:throw Error(a(326))}return null!==Os&&e===Es&&--e,e}function Ks(e,t){if(50<Hs)throw Hs=0,Bs=null,Error(a(185));if(null!==(e=Ys(e,t))){var n=zi();1073741823===t?0!=(8&ks)&&0==(48&ks)?Js(e):(Xs(e),0===ks&&Wi()):Xs(e),0==(4&ks)||98!==n&&99!==n||(null===Us?Us=new Map([[e,t]]):(void 0===(n=Us.get(e))||n>t)&&Us.set(e,t))}}function Ys(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t);var r=e.return,i=null;if(null===r&&3===e.tag)i=e.stateNode;else for(;null!==r;){if(n=r.alternate,r.childExpirationTime<t&&(r.childExpirationTime=t),null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t),null===r.return&&3===r.tag){i=r.stateNode;break}r=r.return}return null!==i&&(Os===i&&(al(t),Ss===xs&&Ml(i,Es)),$l(i,t)),i}function Qs(e){var t=e.lastExpiredTime;if(0!==t)return t;if(!Al(e,t=e.firstPendingTime))return t;var n=e.lastPingedTime;return 2>=(e=n>(e=e.nextKnownPendingLevel)?n:e)&&t!==e?0:e}function Xs(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=Bi(Js.bind(null,e));else{var t=Qs(e),n=e.callbackNode;if(0===t)null!==n&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var r=Gs();if(1073741823===t?r=99:1===t||2===t?r=95:r=0>=(r=10*(1073741821-t)-10*(1073741821-r))?99:250>=r?98:5250>=r?97:95,null!==n){var i=e.callbackPriority;if(e.callbackExpirationTime===t&&i>=r)return;n!==Ai&&ki(n)}e.callbackExpirationTime=t,e.callbackPriority=r,t=1073741823===t?Bi(Js.bind(null,e)):Hi(r,Zs.bind(null,e),{timeout:10*(1073741821-t)-qi()}),e.callbackNode=t}}}function Zs(e,t){if(Ws=0,t)return Nl(e,t=Gs()),Xs(e),null;var n=Qs(e);if(0!==n){if(t=e.callbackNode,0!=(48&ks))throw Error(a(327));if(fl(),e===Os&&n===Es||nl(e,n),null!==js){var r=ks;ks|=16;for(var i=il();;)try{ll();break}catch(t){rl(e,t)}if(Ji(),ks=r,bs.current=i,1===Ss)throw t=Cs,nl(e,n),Ml(e,n),Xs(e),t;if(null===js)switch(i=e.finishedWork=e.current.alternate,e.finishedExpirationTime=n,r=Ss,Os=null,r){case vs:case 1:throw Error(a(345));case 2:Nl(e,2<n?2:n);break;case ws:if(Ml(e,n),n===(r=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=dl(i)),1073741823===Rs&&10<(i=$s+500-qi())){if(Ms){var o=e.lastPingedTime;if(0===o||o>=n){e.lastPingedTime=n,nl(e,n);break}}if(0!==(o=Qs(e))&&o!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}e.timeoutHandle=yn(ml.bind(null,e),i);break}ml(e);break;case xs:if(Ml(e,n),n===(r=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=dl(i)),Ms&&(0===(i=e.lastPingedTime)||i>=n)){e.lastPingedTime=n,nl(e,n);break}if(0!==(i=Qs(e))&&i!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}if(1073741823!==Ts?r=10*(1073741821-Ts)-qi():1073741823===Rs?r=0:(r=10*(1073741821-Rs)-5e3,0>(r=(i=qi())-r)&&(r=0),(n=10*(1073741821-n)-i)<(r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*gs(r/1960))-r)&&(r=n)),10<r){e.timeoutHandle=yn(ml.bind(null,e),r);break}ml(e);break;case 5:if(1073741823!==Rs&&null!==Ls){o=Rs;var s=Ls;if(0>=(r=0|s.busyMinDurationMs)?r=0:(i=0|s.busyDelayMs,r=(o=qi()-(10*(1073741821-o)-(0|s.timeoutMs||5e3)))<=i?0:i+r-o),10<r){Ml(e,n),e.timeoutHandle=yn(ml.bind(null,e),r);break}}ml(e);break;default:throw Error(a(329))}if(Xs(e),e.callbackNode===t)return Zs.bind(null,e)}}return null}function Js(e){var t=e.lastExpiredTime;if(t=0!==t?t:1073741823,0!=(48&ks))throw Error(a(327));if(fl(),e===Os&&t===Es||nl(e,t),null!==js){var n=ks;ks|=16;for(var r=il();;)try{sl();break}catch(t){rl(e,t)}if(Ji(),ks=n,bs.current=r,1===Ss)throw n=Cs,nl(e,t),Ml(e,t),Xs(e),n;if(null!==js)throw Error(a(261));e.finishedWork=e.current.alternate,e.finishedExpirationTime=t,Os=null,ml(e),Xs(e)}return null}function el(e,t){var n=ks;ks|=1;try{return e(t)}finally{0===(ks=n)&&Wi()}}function tl(e,t){var n=ks;ks&=-2,ks|=8;try{return e(t)}finally{0===(ks=n)&&Wi()}}function nl(e,t){e.finishedWork=null,e.finishedExpirationTime=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,vn(n)),null!==js)for(n=js.return;null!==n;){var r=n;switch(r.tag){case 1:null!=(r=r.type.childContextTypes)&&_i();break;case 3:Mo(),li(mi),li(di);break;case 5:No(r);break;case 4:Mo();break;case 13:case 19:li(Po);break;case 10:eo(r)}n=n.return}Os=e,js=El(e.current,null),Es=t,Ss=vs,Cs=null,Ts=Rs=1073741823,Ls=null,As=0,Ms=!1}function rl(e,t){for(;;){try{if(Ji(),qo.current=_a,Wo)for(var n=Uo.memoizedState;null!==n;){var r=n.queue;null!==r&&(r.pending=null),n=n.next}if(Fo=0,Bo=Ho=Uo=null,Wo=!1,null===js||null===js.return)return Ss=1,Cs=t,js=null;e:{var i=e,o=js.return,a=js,s=t;if(t=Es,a.effectTag|=2048,a.firstEffect=a.lastEffect=null,null!==s&&"object"==typeof s&&"function"==typeof s.then){var l=s;if(0==(2&a.mode)){var c=a.alternate;c?(a.updateQueue=c.updateQueue,a.memoizedState=c.memoizedState,a.expirationTime=c.expirationTime):(a.updateQueue=null,a.memoizedState=null)}var u=0!=(1&Po.current),d=o;do{var m;if(m=13===d.tag){var p=d.memoizedState;if(null!==p)m=null!==p.dehydrated;else{var h=d.memoizedProps;m=void 0!==h.fallback&&(!0!==h.unstable_avoidThisFallback||!u)}}if(m){var f=d.updateQueue;if(null===f){var _=new Set;_.add(l),d.updateQueue=_}else f.add(l);if(0==(2&d.mode)){if(d.effectTag|=64,a.effectTag&=-2981,1===a.tag)if(null===a.alternate)a.tag=17;else{var g=so(1073741823,null);g.tag=2,lo(a,g)}a.expirationTime=1073741823;break e}s=void 0,a=t;var b=i.pingCache;if(null===b?(b=i.pingCache=new ps,s=new Set,b.set(l,s)):void 0===(s=b.get(l))&&(s=new Set,b.set(l,s)),!s.has(a)){s.add(a);var y=yl.bind(null,i,l,a);l.then(y,y)}d.effectTag|=4096,d.expirationTime=t;break e}d=d.return}while(null!==d);s=Error((_e(a.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+ge(a))}5!==Ss&&(Ss=2),s=Za(s,a),d=o;do{switch(d.tag){case 3:l=s,d.effectTag|=4096,d.expirationTime=t,co(d,hs(d,l,t));break e;case 1:l=s;var v=d.type,w=d.stateNode;if(0==(64&d.effectTag)&&("function"==typeof v.getDerivedStateFromError||null!==w&&"function"==typeof w.componentDidCatch&&(null===Ds||!Ds.has(w)))){d.effectTag|=4096,d.expirationTime=t,co(d,fs(d,l,t));break e}}d=d.return}while(null!==d)}js=ul(js)}catch(e){t=e;continue}break}}function il(){var e=bs.current;return bs.current=_a,null===e?_a:e}function ol(e,t){e<Rs&&2<e&&(Rs=e),null!==t&&e<Ts&&2<e&&(Ts=e,Ls=t)}function al(e){e>As&&(As=e)}function sl(){for(;null!==js;)js=cl(js)}function ll(){for(;null!==js&&!Mi();)js=cl(js)}function cl(e){var t=_s(e.alternate,e,Es);return e.memoizedProps=e.pendingProps,null===t&&(t=ul(e)),ys.current=null,t}function ul(e){js=e;do{var t=js.alternate;if(e=js.return,0==(2048&js.effectTag)){if(t=Qa(t,js,Es),1===Es||1!==js.childExpirationTime){for(var n=0,r=js.child;null!==r;){var i=r.expirationTime,o=r.childExpirationTime;i>n&&(n=i),o>n&&(n=o),r=r.sibling}js.childExpirationTime=n}if(null!==t)return t;null!==e&&0==(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=js.firstEffect),null!==js.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=js.firstEffect),e.lastEffect=js.lastEffect),1<js.effectTag&&(null!==e.lastEffect?e.lastEffect.nextEffect=js:e.firstEffect=js,e.lastEffect=js))}else{if(null!==(t=Xa(js)))return t.effectTag&=2047,t;null!==e&&(e.firstEffect=e.lastEffect=null,e.effectTag|=2048)}if(null!==(t=js.sibling))return t;js=e}while(null!==js);return Ss===vs&&(Ss=5),null}function dl(e){var t=e.expirationTime;return t>(e=e.childExpirationTime)?t:e}function ml(e){var t=zi();return Ui(99,pl.bind(null,e,t)),null}function pl(e,t){do{fl()}while(null!==zs);if(0!=(48&ks))throw Error(a(327));var n=e.finishedWork,r=e.finishedExpirationTime;if(null===n)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var i=dl(n);if(e.firstPendingTime=i,r<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:r<=e.firstSuspendedTime&&(e.firstSuspendedTime=r-1),r<=e.lastPingedTime&&(e.lastPingedTime=0),r<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===Os&&(js=Os=null,Es=0),1<n.effectTag?null!==n.lastEffect?(n.lastEffect.nextEffect=n,i=n.firstEffect):i=n:i=n.firstEffect,null!==i){var o=ks;ks|=32,ys.current=null,fn=Gt;var s=pn();if(hn(s)){if("selectionStart"in s)var l={start:s.selectionStart,end:s.selectionEnd};else e:{var c=(l=(l=s.ownerDocument)&&l.defaultView||window).getSelection&&l.getSelection();if(c&&0!==c.rangeCount){l=c.anchorNode;var u=c.anchorOffset,d=c.focusNode;c=c.focusOffset;try{l.nodeType,d.nodeType}catch(e){l=null;break e}var m=0,p=-1,h=-1,f=0,_=0,g=s,b=null;t:for(;;){for(var y;g!==l||0!==u&&3!==g.nodeType||(p=m+u),g!==d||0!==c&&3!==g.nodeType||(h=m+c),3===g.nodeType&&(m+=g.nodeValue.length),null!==(y=g.firstChild);)b=g,g=y;for(;;){if(g===s)break t;if(b===l&&++f===u&&(p=m),b===d&&++_===c&&(h=m),null!==(y=g.nextSibling))break;b=(g=b).parentNode}g=y}l=-1===p||-1===h?null:{start:p,end:h}}else l=null}l=l||{start:0,end:0}}else l=null;_n={activeElementDetached:null,focusedElem:s,selectionRange:l},Gt=!1,Ns=i;do{try{hl()}catch(e){if(null===Ns)throw Error(a(330));bl(Ns,e),Ns=Ns.nextEffect}}while(null!==Ns);Ns=i;do{try{for(s=e,l=t;null!==Ns;){var v=Ns.effectTag;if(16&v&&ze(Ns.stateNode,""),128&v){var w=Ns.alternate;if(null!==w){var x=w.ref;null!==x&&("function"==typeof x?x(null):x.current=null)}}switch(1038&v){case 2:cs(Ns),Ns.effectTag&=-3;break;case 6:cs(Ns),Ns.effectTag&=-3,ds(Ns.alternate,Ns);break;case 1024:Ns.effectTag&=-1025;break;case 1028:Ns.effectTag&=-1025,ds(Ns.alternate,Ns);break;case 4:ds(Ns.alternate,Ns);break;case 8:us(s,u=Ns,l),ss(u)}Ns=Ns.nextEffect}}catch(e){if(null===Ns)throw Error(a(330));bl(Ns,e),Ns=Ns.nextEffect}}while(null!==Ns);if(x=_n,w=pn(),v=x.focusedElem,l=x.selectionRange,w!==v&&v&&v.ownerDocument&&function e(t,n){return!(!t||!n)&&(t===n||(!t||3!==t.nodeType)&&(n&&3===n.nodeType?e(t,n.parentNode):"contains"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}(v.ownerDocument.documentElement,v)){null!==l&&hn(v)&&(w=l.start,void 0===(x=l.end)&&(x=w),"selectionStart"in v?(v.selectionStart=w,v.selectionEnd=Math.min(x,v.value.length)):(x=(w=v.ownerDocument||document)&&w.defaultView||window).getSelection&&(x=x.getSelection(),u=v.textContent.length,s=Math.min(l.start,u),l=void 0===l.end?s:Math.min(l.end,u),!x.extend&&s>l&&(u=l,l=s,s=u),u=mn(v,s),d=mn(v,l),u&&d&&(1!==x.rangeCount||x.anchorNode!==u.node||x.anchorOffset!==u.offset||x.focusNode!==d.node||x.focusOffset!==d.offset)&&((w=w.createRange()).setStart(u.node,u.offset),x.removeAllRanges(),s>l?(x.addRange(w),x.extend(d.node,d.offset)):(w.setEnd(d.node,d.offset),x.addRange(w))))),w=[];for(x=v;x=x.parentNode;)1===x.nodeType&&w.push({element:x,left:x.scrollLeft,top:x.scrollTop});for("function"==typeof v.focus&&v.focus(),v=0;v<w.length;v++)(x=w[v]).element.scrollLeft=x.left,x.element.scrollTop=x.top}Gt=!!fn,_n=fn=null,e.current=n,Ns=i;do{try{for(v=e;null!==Ns;){var k=Ns.effectTag;if(36&k&&os(v,Ns.alternate,Ns),128&k){w=void 0;var O=Ns.ref;if(null!==O){var j=Ns.stateNode;switch(Ns.tag){case 5:w=j;break;default:w=j}"function"==typeof O?O(w):O.current=w}}Ns=Ns.nextEffect}}catch(e){if(null===Ns)throw Error(a(330));bl(Ns,e),Ns=Ns.nextEffect}}while(null!==Ns);Ns=null,$i(),ks=o}else e.current=n;if(qs)qs=!1,zs=e,Fs=t;else for(Ns=i;null!==Ns;)t=Ns.nextEffect,Ns.nextEffect=null,Ns=t;if(0===(t=e.firstPendingTime)&&(Ds=null),1073741823===t?e===Bs?Hs++:(Hs=0,Bs=e):Hs=0,"function"==typeof wl&&wl(n.stateNode,r),Xs(e),Ps)throw Ps=!1,e=Is,Is=null,e;return 0!=(8&ks)||Wi(),null}function hl(){for(;null!==Ns;){var e=Ns.effectTag;0!=(256&e)&&ns(Ns.alternate,Ns),0==(512&e)||qs||(qs=!0,Hi(97,(function(){return fl(),null}))),Ns=Ns.nextEffect}}function fl(){if(90!==Fs){var e=97<Fs?97:Fs;return Fs=90,Ui(e,_l)}}function _l(){if(null===zs)return!1;var e=zs;if(zs=null,0!=(48&ks))throw Error(a(331));var t=ks;for(ks|=32,e=e.current.firstEffect;null!==e;){try{var n=e;if(0!=(512&n.effectTag))switch(n.tag){case 0:case 11:case 15:case 22:rs(5,n),is(5,n)}}catch(t){if(null===e)throw Error(a(330));bl(e,t)}n=e.nextEffect,e.nextEffect=null,e=n}return ks=t,Wi(),!0}function gl(e,t,n){lo(e,t=hs(e,t=Za(n,t),1073741823)),null!==(e=Ys(e,1073741823))&&Xs(e)}function bl(e,t){if(3===e.tag)gl(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){gl(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Ds||!Ds.has(r))){lo(n,e=fs(n,e=Za(t,e),1073741823)),null!==(n=Ys(n,1073741823))&&Xs(n);break}}n=n.return}}function yl(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),Os===e&&Es===n?Ss===xs||Ss===ws&&1073741823===Rs&&qi()-$s<500?nl(e,Es):Ms=!0:Al(e,n)&&(0!==(t=e.lastPingedTime)&&t<n||(e.lastPingedTime=n,Xs(e)))}function vl(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(t=Vs(t=Gs(),e,null)),null!==(e=Ys(e,t))&&Xs(e)}_s=function(e,t,n){var r=t.expirationTime;if(null!==e){var i=t.pendingProps;if(e.memoizedProps!==i||mi.current)Ta=!0;else{if(r<n){switch(Ta=!1,t.tag){case 3:qa(t),Ca();break;case 5:if($o(t),4&t.mode&&1!==n&&i.hidden)return t.expirationTime=t.childExpirationTime=1,null;break;case 1:fi(t.type)&&yi(t);break;case 4:Ao(t,t.stateNode.containerInfo);break;case 10:r=t.memoizedProps.value,i=t.type._context,ci(Yi,i._currentValue),i._currentValue=r;break;case 13:if(null!==t.memoizedState)return 0!==(r=t.child.childExpirationTime)&&r>=n?Ba(e,t,n):(ci(Po,1&Po.current),null!==(t=Ka(e,t,n))?t.sibling:null);ci(Po,1&Po.current);break;case 19:if(r=t.childExpirationTime>=n,0!=(64&e.effectTag)){if(r)return Va(e,t,n);t.effectTag|=64}if(null!==(i=t.memoizedState)&&(i.rendering=null,i.tail=null),ci(Po,Po.current),!r)return null}return Ka(e,t,n)}Ta=!1}}else Ta=!1;switch(t.expirationTime=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,i=hi(t,di.current),no(t,n),i=Ko(null,t,r,e,i,n),t.effectTag|=1,"object"==typeof i&&null!==i&&"function"==typeof i.render&&void 0===i.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,fi(r)){var o=!0;yi(t)}else o=!1;t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,oo(t);var s=r.getDerivedStateFromProps;"function"==typeof s&&fo(t,r,s,e),i.updater=_o,t.stateNode=i,i._reactInternalFiber=t,vo(t,r,e,n),t=Da(null,t,r,!0,o,n)}else t.tag=0,La(null,t,i,n),t=t.child;return t;case 16:e:{if(i=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,function(e){if(-1===e._status){e._status=0;var t=e._ctor;t=t(),e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}}(i),1!==i._status)throw i._result;switch(i=i._result,t.type=i,o=t.tag=function(e){if("function"==typeof e)return jl(e)?1:0;if(null!=e){if((e=e.$$typeof)===le)return 11;if(e===de)return 14}return 2}(i),e=Ki(i,e),o){case 0:t=Pa(null,t,i,e,n);break e;case 1:t=Ia(null,t,i,e,n);break e;case 11:t=Aa(null,t,i,e,n);break e;case 14:t=Ma(null,t,i,Ki(i.type,e),r,n);break e}throw Error(a(306,i,""))}return t;case 0:return r=t.type,i=t.pendingProps,Pa(e,t,r,i=t.elementType===r?i:Ki(r,i),n);case 1:return r=t.type,i=t.pendingProps,Ia(e,t,r,i=t.elementType===r?i:Ki(r,i),n);case 3:if(qa(t),r=t.updateQueue,null===e||null===r)throw Error(a(282));if(r=t.pendingProps,i=null!==(i=t.memoizedState)?i.element:null,ao(e,t),uo(t,r,null,n),(r=t.memoizedState.element)===i)Ca(),t=Ka(e,t,n);else{if((i=t.stateNode.hydrate)&&(wa=wn(t.stateNode.containerInfo.firstChild),va=t,i=xa=!0),i)for(n=Eo(t,null,r,n),t.child=n;n;)n.effectTag=-3&n.effectTag|1024,n=n.sibling;else La(e,t,r,n),Ca();t=t.child}return t;case 5:return $o(t),null===e&&ja(t),r=t.type,i=t.pendingProps,o=null!==e?e.memoizedProps:null,s=i.children,bn(r,i)?s=null:null!==o&&bn(r,o)&&(t.effectTag|=16),Na(e,t),4&t.mode&&1!==n&&i.hidden?(t.expirationTime=t.childExpirationTime=1,t=null):(La(e,t,s,n),t=t.child),t;case 6:return null===e&&ja(t),null;case 13:return Ba(e,t,n);case 4:return Ao(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=jo(t,null,r,n):La(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,Aa(e,t,r,i=t.elementType===r?i:Ki(r,i),n);case 7:return La(e,t,t.pendingProps,n),t.child;case 8:case 12:return La(e,t,t.pendingProps.children,n),t.child;case 10:e:{r=t.type._context,i=t.pendingProps,s=t.memoizedProps,o=i.value;var l=t.type._context;if(ci(Yi,l._currentValue),l._currentValue=o,null!==s)if(l=s.value,0===(o=Ir(l,o)?0:0|("function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,o):1073741823))){if(s.children===i.children&&!mi.current){t=Ka(e,t,n);break e}}else for(null!==(l=t.child)&&(l.return=t);null!==l;){var c=l.dependencies;if(null!==c){s=l.child;for(var u=c.firstContext;null!==u;){if(u.context===r&&0!=(u.observedBits&o)){1===l.tag&&((u=so(n,null)).tag=2,lo(l,u)),l.expirationTime<n&&(l.expirationTime=n),null!==(u=l.alternate)&&u.expirationTime<n&&(u.expirationTime=n),to(l.return,n),c.expirationTime<n&&(c.expirationTime=n);break}u=u.next}}else s=10===l.tag&&l.type===t.type?null:l.child;if(null!==s)s.return=l;else for(s=l;null!==s;){if(s===t){s=null;break}if(null!==(l=s.sibling)){l.return=s.return,s=l;break}s=s.return}l=s}La(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=(o=t.pendingProps).children,no(t,n),r=r(i=ro(i,o.unstable_observedBits)),t.effectTag|=1,La(e,t,r,n),t.child;case 14:return o=Ki(i=t.type,t.pendingProps),Ma(e,t,i,o=Ki(i.type,o),r,n);case 15:return $a(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ki(r,i),null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),t.tag=1,fi(r)?(e=!0,yi(t)):e=!1,no(t,n),bo(t,r,i),vo(t,r,i,n),Da(null,t,r,!0,e,n);case 19:return Va(e,t,n)}throw Error(a(156,t.tag))};var wl=null,xl=null;function kl(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function Ol(e,t,n,r){return new kl(e,t,n,r)}function jl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function El(e,t){var n=e.alternate;return null===n?((n=Ol(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.effectTag=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childExpirationTime=e.childExpirationTime,n.expirationTime=e.expirationTime,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{expirationTime:t.expirationTime,firstContext:t.firstContext,responders:t.responders},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Sl(e,t,n,r,i,o){var s=2;if(r=e,"function"==typeof e)jl(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case ne:return Cl(n.children,i,o,t);case se:s=8,i|=7;break;case re:s=8,i|=1;break;case ie:return(e=Ol(12,n,t,8|i)).elementType=ie,e.type=ie,e.expirationTime=o,e;case ce:return(e=Ol(13,n,t,i)).type=ce,e.elementType=ce,e.expirationTime=o,e;case ue:return(e=Ol(19,n,t,i)).elementType=ue,e.expirationTime=o,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case oe:s=10;break e;case ae:s=9;break e;case le:s=11;break e;case de:s=14;break e;case me:s=16,r=null;break e;case pe:s=22;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=Ol(s,n,t,i)).elementType=e,t.type=r,t.expirationTime=o,t}function Cl(e,t,n,r){return(e=Ol(7,e,r,t)).expirationTime=n,e}function Rl(e,t,n){return(e=Ol(6,e,null,t)).expirationTime=n,e}function Tl(e,t,n){return(t=Ol(4,null!==e.children?e.children:[],e.key,t)).expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Ll(e,t,n){this.tag=t,this.current=null,this.containerInfo=e,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function Al(e,t){var n=e.firstSuspendedTime;return e=e.lastSuspendedTime,0!==n&&n>=t&&e<=t}function Ml(e,t){var n=e.firstSuspendedTime,r=e.lastSuspendedTime;n<t&&(e.firstSuspendedTime=t),(r>t||0===n)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function $l(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var n=e.firstSuspendedTime;0!==n&&(t>=n?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function Nl(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTime=t)}function Pl(e,t,n,r){var i=t.current,o=Gs(),s=po.suspense;o=Vs(o,i,s);e:if(n){t:{if(Je(n=n._reactInternalFiber)!==n||1!==n.tag)throw Error(a(170));var l=n;do{switch(l.tag){case 3:l=l.stateNode.context;break t;case 1:if(fi(l.type)){l=l.stateNode.__reactInternalMemoizedMergedChildContext;break t}}l=l.return}while(null!==l);throw Error(a(171))}if(1===n.tag){var c=n.type;if(fi(c)){n=bi(n,c,l);break e}}n=l}else n=ui;return null===t.context?t.context=n:t.pendingContext=n,(t=so(o,s)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),lo(i,t),Ks(i,o),o}function Il(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function Dl(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retryTime<t&&(e.retryTime=t)}function ql(e,t){Dl(e,t),(e=e.alternate)&&Dl(e,t)}function zl(e,t,n){var r=new Ll(e,t,n=null!=n&&!0===n.hydrate),i=Ol(3,null,null,2===t?7:1===t?3:0);r.current=i,i.stateNode=r,oo(i),e[En]=r.current,n&&0!==t&&function(e,t){var n=Ze(t);Et.forEach((function(e){ht(e,t,n)})),St.forEach((function(e){ht(e,t,n)}))}(0,9===e.nodeType?e:e.ownerDocument),this._internalRoot=r}function Fl(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Ul(e,t,n,r,i){var o=n._reactRootContainer;if(o){var a=o._internalRoot;if("function"==typeof i){var s=i;i=function(){var e=Il(a);s.call(e)}}Pl(t,a,e,i)}else{if(o=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new zl(e,0,t?{hydrate:!0}:void 0)}(n,r),a=o._internalRoot,"function"==typeof i){var l=i;i=function(){var e=Il(a);l.call(e)}}tl((function(){Pl(t,a,e,i)}))}return Il(a)}function Hl(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:te,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}function Bl(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Fl(t))throw Error(a(200));return Hl(e,t,null,n)}zl.prototype.render=function(e){Pl(e,this._internalRoot,null,null)},zl.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;Pl(null,e,null,(function(){t[En]=null}))},ft=function(e){if(13===e.tag){var t=Vi(Gs(),150,100);Ks(e,t),ql(e,t)}},_t=function(e){13===e.tag&&(Ks(e,3),ql(e,3))},gt=function(e){if(13===e.tag){var t=Gs();Ks(e,t=Vs(t,e,null)),ql(e,t)}},C=function(e,t,n){switch(t){case"input":if(je(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=Tn(r);if(!i)throw Error(a(90));we(r),je(r,i)}}}break;case"textarea":Ae(e,n);break;case"select":null!=(t=n.value)&&Re(e,!!n.multiple,t,!1)}},$=el,N=function(e,t,n,r,i){var o=ks;ks|=4;try{return Ui(98,e.bind(null,t,n,r,i))}finally{0===(ks=o)&&Wi()}},P=function(){0==(49&ks)&&(function(){if(null!==Us){var e=Us;Us=null,e.forEach((function(e,t){Nl(t,e),Xs(t)})),Wi()}}(),fl())},I=function(e,t){var n=ks;ks|=2;try{return e(t)}finally{0===(ks=n)&&Wi()}};var Wl,Gl,Vl={Events:[Cn,Rn,Tn,E,k,In,function(e){it(e,Pn)},A,M,Xt,st,fl,{current:!1}]};Gl=(Wl={findFiberByHostInstance:Sn,bundleType:0,version:"16.13.1",rendererPackageName:"react-dom"}).findFiberByHostInstance,function(e){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);wl=function(e){try{t.onCommitFiberRoot(n,e,void 0,64==(64&e.current.effectTag))}catch(e){}},xl=function(e){try{t.onCommitFiberUnmount(n,e)}catch(e){}}}catch(e){}}(i({},Wl,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Q.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=nt(e))?null:e.stateNode},findFiberByHostInstance:function(e){return Gl?Gl(e):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null})),t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Vl,t.createPortal=Bl,t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternalFiber;if(void 0===t){if("function"==typeof e.render)throw Error(a(188));throw Error(a(268,Object.keys(e)))}return e=null===(e=nt(t))?null:e.stateNode},t.flushSync=function(e,t){if(0!=(48&ks))throw Error(a(187));var n=ks;ks|=1;try{return Ui(99,e.bind(null,t))}finally{ks=n,Wi()}},t.hydrate=function(e,t,n){if(!Fl(t))throw Error(a(200));return Ul(null,e,t,!0,n)},t.render=function(e,t,n){if(!Fl(t))throw Error(a(200));return Ul(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Fl(e))throw Error(a(40));return!!e._reactRootContainer&&(tl((function(){Ul(null,null,e,!1,(function(){e._reactRootContainer=null,e[En]=null}))})),!0)},t.unstable_batchedUpdates=el,t.unstable_createPortal=function(e,t){return Bl(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Fl(n))throw Error(a(200));if(null==e||void 0===e._reactInternalFiber)throw Error(a(38));return Ul(e,t,n,!1,r)},t.version="16.13.1"},function(e,t,n){"use strict";e.exports=n(57)},function(e,t,n){"use strict";
33
+ /** @license React v0.19.1
34
+ * scheduler.production.min.js
35
+ *
36
+ * Copyright (c) Facebook, Inc. and its affiliates.
37
+ *
38
+ * This source code is licensed under the MIT license found in the
39
+ * LICENSE file in the root directory of this source tree.
40
+ */var r,i,o,a,s;if("undefined"==typeof window||"function"!=typeof MessageChannel){var l=null,c=null,u=function(){if(null!==l)try{var e=t.unstable_now();l(!0,e),l=null}catch(e){throw setTimeout(u,0),e}},d=Date.now();t.unstable_now=function(){return Date.now()-d},r=function(e){null!==l?setTimeout(r,0,e):(l=e,setTimeout(u,0))},i=function(e,t){c=setTimeout(e,t)},o=function(){clearTimeout(c)},a=function(){return!1},s=t.unstable_forceFrameRate=function(){}}else{var m=window.performance,p=window.Date,h=window.setTimeout,f=window.clearTimeout;if("undefined"!=typeof console){var _=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof _&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"==typeof m&&"function"==typeof m.now)t.unstable_now=function(){return m.now()};else{var g=p.now();t.unstable_now=function(){return p.now()-g}}var b=!1,y=null,v=-1,w=5,x=0;a=function(){return t.unstable_now()>=x},s=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):w=0<e?Math.floor(1e3/e):5};var k=new MessageChannel,O=k.port2;k.port1.onmessage=function(){if(null!==y){var e=t.unstable_now();x=e+w;try{y(!0,e)?O.postMessage(null):(b=!1,y=null)}catch(e){throw O.postMessage(null),e}}else b=!1},r=function(e){y=e,b||(b=!0,O.postMessage(null))},i=function(e,n){v=h((function(){e(t.unstable_now())}),n)},o=function(){f(v),v=-1}}function j(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,i=e[r];if(!(void 0!==i&&0<C(i,t)))break e;e[r]=t,e[n]=i,n=r}}function E(e){return void 0===(e=e[0])?null:e}function S(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,i=e.length;r<i;){var o=2*(r+1)-1,a=e[o],s=o+1,l=e[s];if(void 0!==a&&0>C(a,n))void 0!==l&&0>C(l,a)?(e[r]=l,e[s]=n,r=s):(e[r]=a,e[o]=n,r=o);else{if(!(void 0!==l&&0>C(l,n)))break e;e[r]=l,e[s]=n,r=s}}}return t}return null}function C(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var R=[],T=[],L=1,A=null,M=3,$=!1,N=!1,P=!1;function I(e){for(var t=E(T);null!==t;){if(null===t.callback)S(T);else{if(!(t.startTime<=e))break;S(T),t.sortIndex=t.expirationTime,j(R,t)}t=E(T)}}function D(e){if(P=!1,I(e),!N)if(null!==E(R))N=!0,r(q);else{var t=E(T);null!==t&&i(D,t.startTime-e)}}function q(e,n){N=!1,P&&(P=!1,o()),$=!0;var r=M;try{for(I(n),A=E(R);null!==A&&(!(A.expirationTime>n)||e&&!a());){var s=A.callback;if(null!==s){A.callback=null,M=A.priorityLevel;var l=s(A.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?A.callback=l:A===E(R)&&S(R),I(n)}else S(R);A=E(R)}if(null!==A)var c=!0;else{var u=E(T);null!==u&&i(D,u.startTime-n),c=!1}return c}finally{A=null,M=r,$=!1}}function z(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var F=s;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){N||$||(N=!0,r(q))},t.unstable_getCurrentPriorityLevel=function(){return M},t.unstable_getFirstCallbackNode=function(){return E(R)},t.unstable_next=function(e){switch(M){case 1:case 2:case 3:var t=3;break;default:t=M}var n=M;M=t;try{return e()}finally{M=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=F,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=M;M=e;try{return t()}finally{M=n}},t.unstable_scheduleCallback=function(e,n,a){var s=t.unstable_now();if("object"==typeof a&&null!==a){var l=a.delay;l="number"==typeof l&&0<l?s+l:s,a="number"==typeof a.timeout?a.timeout:z(e)}else a=z(e),l=s;return e={id:L++,callback:n,priorityLevel:e,startTime:l,expirationTime:a=l+a,sortIndex:-1},l>s?(e.sortIndex=l,j(T,e),null===E(R)&&e===E(T)&&(P?o():P=!0,i(D,l-s))):(e.sortIndex=a,j(R,e),N||$||(N=!0,r(q))),e},t.unstable_shouldYield=function(){var e=t.unstable_now();I(e);var n=E(R);return n!==A&&null!==A&&null!==n&&null!==n.callback&&n.startTime<=e&&n.expirationTime<A.expirationTime||a()},t.unstable_wrapCallback=function(e){var t=M;return function(){var n=M;M=t;try{return e.apply(this,arguments)}finally{M=n}}}},function(e,t,n){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function o(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new o(i.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new o(i.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(59),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(19))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,i,o,a,s,l=1,c={},u=!1,d=e.document,m=Object.getPrototypeOf&&Object.getPrototypeOf(e);m=m&&m.setTimeout?m:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){h(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){h(e.data)},r=function(e){o.port2.postMessage(e)}):d&&"onreadystatechange"in d.createElement("script")?(i=d.documentElement,r=function(e){var t=d.createElement("script");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):r=function(e){setTimeout(h,0,e)}:(a="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&h(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),r=function(t){e.postMessage(a+t,"*")}),m.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var i={callback:e,args:t};return c[l]=i,r(l),l++},m.clearImmediate=p}function p(e){delete c[e]}function h(e){if(u)setTimeout(h,0,e);else{var t=c[e];if(t){u=!0;try{!function(e){var t=e.callback,n=e.args;switch(n.length){case 0:t();break;case 1:t(n[0]);break;case 2:t(n[0],n[1]);break;case 3:t(n[0],n[1],n[2]);break;default:t.apply(void 0,n)}}(t)}finally{p(e),u=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,n(19),n(60))},function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var l,c=[],u=!1,d=-1;function m(){u&&l&&(u=!1,l.length?c=l.concat(c):d=-1,c.length&&p())}function p(){if(!u){var e=s(m);u=!0;for(var t=c.length;t;){for(l=c,c=[];++d<t;)l&&l[d].run();d=-1,t=c.length}l=null,u=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function f(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new h(e,t)),1!==c.length||u||s(p)},h.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=f,i.addListener=f,i.once=f,i.off=f,i.removeListener=f,i.removeAllListeners=f,i.emit=f,i.prependListener=f,i.prependOnceListener=f,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,n){"use strict";var r=n(62);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}},function(e,t,n){},function(e,t){e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},function(e,t,n){"use strict";
41
+ /** @license React v16.13.1
42
+ * react-is.production.min.js
43
+ *
44
+ * Copyright (c) Facebook, Inc. and its affiliates.
45
+ *
46
+ * This source code is licensed under the MIT license found in the
47
+ * LICENSE file in the root directory of this source tree.
48
+ */var r="function"==typeof Symbol&&Symbol.for,i=r?Symbol.for("react.element"):60103,o=r?Symbol.for("react.portal"):60106,a=r?Symbol.for("react.fragment"):60107,s=r?Symbol.for("react.strict_mode"):60108,l=r?Symbol.for("react.profiler"):60114,c=r?Symbol.for("react.provider"):60109,u=r?Symbol.for("react.context"):60110,d=r?Symbol.for("react.async_mode"):60111,m=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,h=r?Symbol.for("react.suspense"):60113,f=r?Symbol.for("react.suspense_list"):60120,_=r?Symbol.for("react.memo"):60115,g=r?Symbol.for("react.lazy"):60116,b=r?Symbol.for("react.block"):60121,y=r?Symbol.for("react.fundamental"):60117,v=r?Symbol.for("react.responder"):60118,w=r?Symbol.for("react.scope"):60119;function x(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case i:switch(e=e.type){case d:case m:case a:case l:case s:case h:return e;default:switch(e=e&&e.$$typeof){case u:case p:case g:case _:case c:return e;default:return t}}case o:return t}}}function k(e){return x(e)===m}t.AsyncMode=d,t.ConcurrentMode=m,t.ContextConsumer=u,t.ContextProvider=c,t.Element=i,t.ForwardRef=p,t.Fragment=a,t.Lazy=g,t.Memo=_,t.Portal=o,t.Profiler=l,t.StrictMode=s,t.Suspense=h,t.isAsyncMode=function(e){return k(e)||x(e)===d},t.isConcurrentMode=k,t.isContextConsumer=function(e){return x(e)===u},t.isContextProvider=function(e){return x(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===i},t.isForwardRef=function(e){return x(e)===p},t.isFragment=function(e){return x(e)===a},t.isLazy=function(e){return x(e)===g},t.isMemo=function(e){return x(e)===_},t.isPortal=function(e){return x(e)===o},t.isProfiler=function(e){return x(e)===l},t.isStrictMode=function(e){return x(e)===s},t.isSuspense=function(e){return x(e)===h},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===m||e===l||e===s||e===h||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===_||e.$$typeof===c||e.$$typeof===u||e.$$typeof===p||e.$$typeof===y||e.$$typeof===v||e.$$typeof===w||e.$$typeof===b)},t.typeOf=x},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){function t(t,n,r,i,o,a){var s=i||"<<anonymous>>",l=a||r;if(null==n[r])return t?new Error("Required "+o+" `"+l+"` was not specified in `"+s+"`."):null;for(var c=arguments.length,u=Array(c>6?c-6:0),d=6;d<c;d++)u[d-6]=arguments[d];return e.apply(void 0,[n,r,s,o,l].concat(u))}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n},e.exports=t.default},function(e,t,n){},function(e,t,n){},function(e,t,n){var r=n(34);e.exports=function(e){if(Array.isArray(e))return r(e)}},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(e,t){
49
+ /*! https://mths.be/scrollingelement v1.5.2 by @diegoperini & @mathias | MIT license */
50
+ "scrollingElement"in document||function(){function e(e){return window.getComputedStyle?getComputedStyle(e,null):e.currentStyle}var t;function n(e){return"none"!=e.display&&!("collapse"==e.visibility&&/^table-(.+-group|row|column)$/.test(e.display))}var r=function(){if(function(){if(!/^CSS1/.test(document.compatMode))return!1;if(void 0===t){var e=document.createElement("iframe");e.style.height="1px",(document.body||document.documentElement||document).appendChild(e);var n=e.contentWindow.document;n.write('<!DOCTYPE html><div style="height:9999em">x</div>'),n.close(),t=n.documentElement.scrollHeight>n.body.scrollHeight,e.parentNode.removeChild(e)}return t}())return document.documentElement;var r=document.body;return(r=r&&!/body/i.test(r.tagName)?function(e){for(var t,n=e;n=n.nextSibling;)if(1==n.nodeType&&(t=n,window.HTMLBodyElement?t instanceof HTMLBodyElement:/body/i.test(t.tagName)))return n;return null}(r):r)&&function(t){var r=e(t),i=e(document.documentElement);return"visible"!=r.overflow&&"visible"!=i.overflow&&n(r)&&n(i)}(r)?null:r};Object.defineProperty?Object.defineProperty(document,"scrollingElement",{get:r}):document.__defineGetter__?document.__defineGetter__("scrollingElement",r):(document.scrollingElement=r(),document.attachEvent&&document.attachEvent("onpropertychange",(function(){"activeElement"==window.event.propertyName&&(document.scrollingElement=r())})))}()},function(e,t,n){},function(e,t,n){},function(e,t,n){var r=n(41);e.exports=function(e){if(Array.isArray(e))return r(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(41);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){},function(e,t){function n(){return e.exports=n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},e.exports.default=e.exports,e.exports.__esModule=!0,n.apply(this,arguments)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(83);e.exports=function(e,t){if(null==e)return{};var n,i,o=r(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__assign||function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0});var a=n(27),s=n(6),l=n(0),c=n(43),u=n(44),d=u.getAceInstance(),m=function(e){function t(t){var n=e.call(this,t)||this;return u.editorEvents.forEach((function(e){n[e]=n[e].bind(n)})),n.debounce=u.debounce,n}return i(t,e),t.prototype.isInShadow=function(e){for(var t=e&&e.parentNode;t;){if("[object ShadowRoot]"===t.toString())return!0;t=t.parentNode}return!1},t.prototype.componentDidMount=function(){var e=this,t=this.props,n=t.className,r=t.onBeforeLoad,i=t.onValidate,o=t.mode,a=t.focus,s=t.theme,l=t.fontSize,c=t.value,m=t.defaultValue,p=t.showGutter,h=t.wrapEnabled,f=t.showPrintMargin,_=t.scrollMargin,g=void 0===_?[0,0,0,0]:_,b=t.keyboardHandler,y=t.onLoad,v=t.commands,w=t.annotations,x=t.markers,k=t.placeholder;this.editor=d.edit(this.refEditor),r&&r(d);for(var O=Object.keys(this.props.editorProps),j=0;j<O.length;j++)this.editor[O[j]]=this.props.editorProps[O[j]];this.props.debounceChangePeriod&&(this.onChange=this.debounce(this.onChange,this.props.debounceChangePeriod)),this.editor.renderer.setScrollMargin(g[0],g[1],g[2],g[3]),this.isInShadow(this.refEditor)&&this.editor.renderer.attachToShadowRoot(),this.editor.getSession().setMode("string"==typeof o?"ace/mode/"+o:o),s&&""!==s&&this.editor.setTheme("ace/theme/"+s),this.editor.setFontSize("number"==typeof l?l+"px":l),this.editor.getSession().setValue(m||(c||"")),this.props.navigateToFileEnd&&this.editor.navigateFileEnd(),this.editor.renderer.setShowGutter(p),this.editor.getSession().setUseWrapMode(h),this.editor.setShowPrintMargin(f),this.editor.on("focus",this.onFocus),this.editor.on("blur",this.onBlur),this.editor.on("copy",this.onCopy),this.editor.on("paste",this.onPaste),this.editor.on("change",this.onChange),this.editor.on("input",this.onInput),k&&this.updatePlaceholder(),this.editor.getSession().selection.on("changeSelection",this.onSelectionChange),this.editor.getSession().selection.on("changeCursor",this.onCursorChange),i&&this.editor.getSession().on("changeAnnotation",(function(){var t=e.editor.getSession().getAnnotations();e.props.onValidate(t)})),this.editor.session.on("changeScrollTop",this.onScroll),this.editor.getSession().setAnnotations(w||[]),x&&x.length>0&&this.handleMarkers(x);var E=this.editor.$options;u.editorOptions.forEach((function(t){E.hasOwnProperty(t)?e.editor.setOption(t,e.props[t]):e.props[t]&&console.warn("ReactAce: editor option "+t+" was activated but not found. Did you need to import a related tool or did you possibly mispell the option?")})),this.handleOptions(this.props),Array.isArray(v)&&v.forEach((function(t){"string"==typeof t.exec?e.editor.commands.bindKey(t.bindKey,t.exec):e.editor.commands.addCommand(t)})),b&&this.editor.setKeyboardHandler("ace/keyboard/"+b),n&&(this.refEditor.className+=" "+n),y&&y(this.editor),this.editor.resize(),a&&this.editor.focus()},t.prototype.componentDidUpdate=function(e){for(var t=e,n=this.props,r=0;r<u.editorOptions.length;r++){var i=u.editorOptions[r];n[i]!==t[i]&&this.editor.setOption(i,n[i])}if(n.className!==t.className){var o=this.refEditor.className.trim().split(" ");t.className.trim().split(" ").forEach((function(e){var t=o.indexOf(e);o.splice(t,1)})),this.refEditor.className=" "+n.className+" "+o.join(" ")}if(this.editor&&null!=n.value&&this.editor.getValue()!==n.value){this.silent=!0;var a=this.editor.session.selection.toJSON();this.editor.setValue(n.value,n.cursorStart),this.editor.session.selection.fromJSON(a),this.silent=!1}n.placeholder!==t.placeholder&&this.updatePlaceholder(),n.mode!==t.mode&&this.editor.getSession().setMode("string"==typeof n.mode?"ace/mode/"+n.mode:n.mode),n.theme!==t.theme&&this.editor.setTheme("ace/theme/"+n.theme),n.keyboardHandler!==t.keyboardHandler&&(n.keyboardHandler?this.editor.setKeyboardHandler("ace/keyboard/"+n.keyboardHandler):this.editor.setKeyboardHandler(null)),n.fontSize!==t.fontSize&&this.editor.setFontSize("number"==typeof n.fontSize?n.fontSize+"px":n.fontSize),n.wrapEnabled!==t.wrapEnabled&&this.editor.getSession().setUseWrapMode(n.wrapEnabled),n.showPrintMargin!==t.showPrintMargin&&this.editor.setShowPrintMargin(n.showPrintMargin),n.showGutter!==t.showGutter&&this.editor.renderer.setShowGutter(n.showGutter),c(n.setOptions,t.setOptions)||this.handleOptions(n),c(n.annotations,t.annotations)||this.editor.getSession().setAnnotations(n.annotations||[]),!c(n.markers,t.markers)&&Array.isArray(n.markers)&&this.handleMarkers(n.markers),c(n.scrollMargin,t.scrollMargin)||this.handleScrollMargins(n.scrollMargin),e.height===this.props.height&&e.width===this.props.width||this.editor.resize(),this.props.focus&&!e.focus&&this.editor.focus()},t.prototype.handleScrollMargins=function(e){void 0===e&&(e=[0,0,0,0]),this.editor.renderer.setScrollMargin(e[0],e[1],e[2],e[3])},t.prototype.componentWillUnmount=function(){this.editor.destroy(),this.editor=null},t.prototype.onChange=function(e){if(this.props.onChange&&!this.silent){var t=this.editor.getValue();this.props.onChange(t,e)}},t.prototype.onSelectionChange=function(e){if(this.props.onSelectionChange){var t=this.editor.getSelection();this.props.onSelectionChange(t,e)}},t.prototype.onCursorChange=function(e){if(this.props.onCursorChange){var t=this.editor.getSelection();this.props.onCursorChange(t,e)}},t.prototype.onInput=function(e){this.props.onInput&&this.props.onInput(e),this.props.placeholder&&this.updatePlaceholder()},t.prototype.onFocus=function(e){this.props.onFocus&&this.props.onFocus(e,this.editor)},t.prototype.onBlur=function(e){this.props.onBlur&&this.props.onBlur(e,this.editor)},t.prototype.onCopy=function(e){var t=e.text;this.props.onCopy&&this.props.onCopy(t)},t.prototype.onPaste=function(e){var t=e.text;this.props.onPaste&&this.props.onPaste(t)},t.prototype.onScroll=function(){this.props.onScroll&&this.props.onScroll(this.editor)},t.prototype.handleOptions=function(e){for(var t=Object.keys(e.setOptions),n=0;n<t.length;n++)this.editor.setOption(t[n],e.setOptions[t[n]])},t.prototype.handleMarkers=function(e){var t=this,n=this.editor.getSession().getMarkers(!0);for(var r in n)n.hasOwnProperty(r)&&this.editor.getSession().removeMarker(n[r].id);for(var r in n=this.editor.getSession().getMarkers(!1))n.hasOwnProperty(r)&&"ace_active-line"!==n[r].clazz&&"ace_selected-word"!==n[r].clazz&&this.editor.getSession().removeMarker(n[r].id);e.forEach((function(e){var n=e.startRow,r=e.startCol,i=e.endRow,o=e.endCol,s=e.className,l=e.type,c=e.inFront,u=void 0!==c&&c,d=new a.Range(n,r,i,o);t.editor.getSession().addMarker(d,s,l,u)}))},t.prototype.updatePlaceholder=function(){var e=this.editor,t=this.props.placeholder,n=!e.session.getValue().length,r=e.renderer.placeholderNode;!n&&r?(e.renderer.scroller.removeChild(e.renderer.placeholderNode),e.renderer.placeholderNode=null):n&&!r?((r=e.renderer.placeholderNode=document.createElement("div")).textContent=t||"",r.className="ace_comment ace_placeholder",r.style.padding="0 9px",r.style.position="absolute",r.style.zIndex="3",e.renderer.scroller.appendChild(r)):n&&r&&(r.textContent=t)},t.prototype.updateRef=function(e){this.refEditor=e},t.prototype.render=function(){var e=this.props,t=e.name,n=e.width,r=e.height,i=e.style,a=o({width:n,height:r},i);return l.createElement("div",{ref:this.updateRef,id:t,style:a})},t.propTypes={mode:s.oneOfType([s.string,s.object]),focus:s.bool,theme:s.string,name:s.string,className:s.string,height:s.string,width:s.string,fontSize:s.oneOfType([s.number,s.string]),showGutter:s.bool,onChange:s.func,onCopy:s.func,onPaste:s.func,onFocus:s.func,onInput:s.func,onBlur:s.func,onScroll:s.func,value:s.string,defaultValue:s.string,onLoad:s.func,onSelectionChange:s.func,onCursorChange:s.func,onBeforeLoad:s.func,onValidate:s.func,minLines:s.number,maxLines:s.number,readOnly:s.bool,highlightActiveLine:s.bool,tabSize:s.number,showPrintMargin:s.bool,cursorStart:s.number,debounceChangePeriod:s.number,editorProps:s.object,setOptions:s.object,style:s.object,scrollMargin:s.array,annotations:s.array,markers:s.array,keyboardHandler:s.string,wrapEnabled:s.bool,enableSnippets:s.bool,enableBasicAutocompletion:s.oneOfType([s.bool,s.array]),enableLiveAutocompletion:s.oneOfType([s.bool,s.array]),navigateToFileEnd:s.bool,commands:s.array,placeholder:s.string},t.defaultProps={name:"ace-editor",focus:!1,mode:"",theme:"",height:"500px",width:"500px",fontSize:12,enableSnippets:!1,showGutter:!0,onChange:null,onPaste:null,onLoad:null,onScroll:null,minLines:null,maxLines:null,readOnly:!1,highlightActiveLine:!0,showPrintMargin:!0,tabSize:4,cursorStart:1,editorProps:{},style:{},scrollMargin:[0,0,0,0],setOptions:{},wrapEnabled:!1,enableBasicAutocompletion:!1,enableLiveAutocompletion:!1,placeholder:null,navigateToFileEnd:!0},t}(l.Component);t.default=m},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(6),a=n(0),s=n(45),l=n(90),c=function(e){function t(t){var n=e.call(this,t)||this;return n.state={value:n.props.value},n.onChange=n.onChange.bind(n),n.diff=n.diff.bind(n),n}return i(t,e),t.prototype.componentDidUpdate=function(){var e=this.props.value;e!==this.state.value&&this.setState({value:e})},t.prototype.onChange=function(e){this.setState({value:e}),this.props.onChange&&this.props.onChange(e)},t.prototype.diff=function(){var e=new l,t=this.state.value[0],n=this.state.value[1];if(0===t.length&&0===n.length)return[];var r=e.diff_main(t,n);e.diff_cleanupSemantic(r);var i=this.generateDiffedLines(r);return this.setCodeMarkers(i)},t.prototype.generateDiffedLines=function(e){var t=0,n=-1,r=1,i={left:[],right:[]},o={left:1,right:1};return e.forEach((function(e){var a=e[0],s=e[1],l=s.split("\n").length-1;if(0!==s.length){var c=s[0],u=s[s.length-1],d=0;switch(a){case t:o.left+=l,o.right+=l;break;case n:"\n"===c&&(o.left++,l--),0===(d=l)&&i.right.push({startLine:o.right,endLine:o.right}),"\n"===u&&(d-=1),i.left.push({startLine:o.left,endLine:o.left+d}),o.left+=l;break;case r:"\n"===c&&(o.right++,l--),0===(d=l)&&i.left.push({startLine:o.left,endLine:o.left}),"\n"===u&&(d-=1),i.right.push({startLine:o.right,endLine:o.right+d}),o.right+=l;break;default:throw new Error("Diff type was not defined.")}}})),i},t.prototype.setCodeMarkers=function(e){void 0===e&&(e={left:[],right:[]});for(var t=[],n={left:[],right:[]},r=0;r<e.left.length;r++){var i={startRow:e.left[r].startLine-1,endRow:e.left[r].endLine,type:"text",className:"codeMarker"};n.left.push(i)}for(r=0;r<e.right.length;r++){i={startRow:e.right[r].startLine-1,endRow:e.right[r].endLine,type:"text",className:"codeMarker"};n.right.push(i)}return t[0]=n.left,t[1]=n.right,t},t.prototype.render=function(){var e=this.diff();return a.createElement(s.default,{name:this.props.name,className:this.props.className,focus:this.props.focus,orientation:this.props.orientation,splits:this.props.splits,mode:this.props.mode,theme:this.props.theme,height:this.props.height,width:this.props.width,fontSize:this.props.fontSize,showGutter:this.props.showGutter,onChange:this.onChange,onPaste:this.props.onPaste,onLoad:this.props.onLoad,onScroll:this.props.onScroll,minLines:this.props.minLines,maxLines:this.props.maxLines,readOnly:this.props.readOnly,highlightActiveLine:this.props.highlightActiveLine,showPrintMargin:this.props.showPrintMargin,tabSize:this.props.tabSize,cursorStart:this.props.cursorStart,editorProps:this.props.editorProps,style:this.props.style,scrollMargin:this.props.scrollMargin,setOptions:this.props.setOptions,wrapEnabled:this.props.wrapEnabled,enableBasicAutocompletion:this.props.enableBasicAutocompletion,enableLiveAutocompletion:this.props.enableLiveAutocompletion,value:this.state.value,markers:e})},t.propTypes={cursorStart:o.number,editorProps:o.object,enableBasicAutocompletion:o.bool,enableLiveAutocompletion:o.bool,focus:o.bool,fontSize:o.number,height:o.string,highlightActiveLine:o.bool,maxLines:o.number,minLines:o.number,mode:o.string,name:o.string,className:o.string,onLoad:o.func,onPaste:o.func,onScroll:o.func,onChange:o.func,orientation:o.string,readOnly:o.bool,scrollMargin:o.array,setOptions:o.object,showGutter:o.bool,showPrintMargin:o.bool,splits:o.number,style:o.object,tabSize:o.number,theme:o.string,value:o.array,width:o.string,wrapEnabled:o.bool},t.defaultProps={cursorStart:1,editorProps:{},enableBasicAutocompletion:!1,enableLiveAutocompletion:!1,focus:!1,fontSize:12,height:"500px",highlightActiveLine:!0,maxLines:null,minLines:null,mode:"",name:"ace-editor",onLoad:null,onScroll:null,onPaste:null,onChange:null,orientation:"beside",readOnly:!1,scrollMargin:[0,0,0,0],setOptions:{},showGutter:!0,showPrintMargin:!0,splits:2,style:{},tabSize:4,theme:"github",value:["",""],width:"500px",wrapEnabled:!0},t}(a.Component);t.default=c},function(e,t,n){(function(e){ace.define("ace/split",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/editor","ace/virtual_renderer","ace/edit_session"],(function(e,t,n){"use strict";var r=e("./lib/oop"),i=(e("./lib/lang"),e("./lib/event_emitter").EventEmitter),o=e("./editor").Editor,a=e("./virtual_renderer").VirtualRenderer,s=e("./edit_session").EditSession,l=function(e,t,n){this.BELOW=1,this.BESIDE=0,this.$container=e,this.$theme=t,this.$splits=0,this.$editorCSS="",this.$editors=[],this.$orientation=this.BESIDE,this.setSplits(n||1),this.$cEditor=this.$editors[0],this.on("focus",function(e){this.$cEditor=e}.bind(this))};(function(){r.implement(this,i),this.$createEditor=function(){var e=document.createElement("div");e.className=this.$editorCSS,e.style.cssText="position: absolute; top:0px; bottom:0px",this.$container.appendChild(e);var t=new o(new a(e,this.$theme));return t.on("focus",function(){this._emit("focus",t)}.bind(this)),this.$editors.push(t),t.setFontSize(this.$fontSize),t},this.setSplits=function(e){var t;if(e<1)throw"The number of splits have to be > 0!";if(e!=this.$splits){if(e>this.$splits){for(;this.$splits<this.$editors.length&&this.$splits<e;)t=this.$editors[this.$splits],this.$container.appendChild(t.container),t.setFontSize(this.$fontSize),this.$splits++;for(;this.$splits<e;)this.$createEditor(),this.$splits++}else for(;this.$splits>e;)t=this.$editors[this.$splits-1],this.$container.removeChild(t.container),this.$splits--;this.resize()}},this.getSplits=function(){return this.$splits},this.getEditor=function(e){return this.$editors[e]},this.getCurrentEditor=function(){return this.$cEditor},this.focus=function(){this.$cEditor.focus()},this.blur=function(){this.$cEditor.blur()},this.setTheme=function(e){this.$editors.forEach((function(t){t.setTheme(e)}))},this.setKeyboardHandler=function(e){this.$editors.forEach((function(t){t.setKeyboardHandler(e)}))},this.forEach=function(e,t){this.$editors.forEach(e,t)},this.$fontSize="",this.setFontSize=function(e){this.$fontSize=e,this.forEach((function(t){t.setFontSize(e)}))},this.$cloneSession=function(e){var t=new s(e.getDocument(),e.getMode()),n=e.getUndoManager();return t.setUndoManager(n),t.setTabSize(e.getTabSize()),t.setUseSoftTabs(e.getUseSoftTabs()),t.setOverwrite(e.getOverwrite()),t.setBreakpoints(e.getBreakpoints()),t.setUseWrapMode(e.getUseWrapMode()),t.setUseWorker(e.getUseWorker()),t.setWrapLimitRange(e.$wrapLimitRange.min,e.$wrapLimitRange.max),t.$foldData=e.$cloneFoldData(),t},this.setSession=function(e,t){var n;return n=null==t?this.$cEditor:this.$editors[t],this.$editors.some((function(t){return t.session===e}))&&(e=this.$cloneSession(e)),n.setSession(e),e},this.getOrientation=function(){return this.$orientation},this.setOrientation=function(e){this.$orientation!=e&&(this.$orientation=e,this.resize())},this.resize=function(){var e,t=this.$container.clientWidth,n=this.$container.clientHeight;if(this.$orientation==this.BESIDE)for(var r=t/this.$splits,i=0;i<this.$splits;i++)(e=this.$editors[i]).container.style.width=r+"px",e.container.style.top="0px",e.container.style.left=i*r+"px",e.container.style.height=n+"px",e.resize();else{var o=n/this.$splits;for(i=0;i<this.$splits;i++)(e=this.$editors[i]).container.style.width=t+"px",e.container.style.top=i*o+"px",e.container.style.left="0px",e.container.style.height=o+"px",e.resize()}}}).call(l.prototype),t.Split=l})),ace.define("ace/ext/split",["require","exports","module","ace/split"],(function(e,t,n){"use strict";n.exports=e("../split")})),ace.require(["ace/ext/split"],(function(t){e&&(e.exports=t)}))}).call(this,n(22)(e))},function(e,t,n){(function(t){var n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/,i=/^\./,o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,s=/^\[object .+?Constructor\]$/,l="object"==typeof t&&t&&t.Object===Object&&t,c="object"==typeof self&&self&&self.Object===Object&&self,u=l||c||Function("return this")();var d,m=Array.prototype,p=Function.prototype,h=Object.prototype,f=u["__core-js_shared__"],_=(d=/[^.]+$/.exec(f&&f.keys&&f.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",g=p.toString,b=h.hasOwnProperty,y=h.toString,v=RegExp("^"+g.call(b).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),w=u.Symbol,x=m.splice,k=$(u,"Map"),O=$(Object,"create"),j=w?w.prototype:void 0,E=j?j.toString:void 0;function S(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function C(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function R(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function T(e,t){for(var n,r,i=e.length;i--;)if((n=e[i][0])===(r=t)||n!=n&&r!=r)return i;return-1}function L(e,t){for(var i,o=0,a=(t=function(e,t){if(D(e))return!1;var i=typeof e;if("number"==i||"symbol"==i||"boolean"==i||null==e||z(e))return!0;return r.test(e)||!n.test(e)||null!=t&&e in Object(t)}(t,e)?[t]:D(i=t)?i:N(i)).length;null!=e&&o<a;)e=e[P(t[o++])];return o&&o==a?e:void 0}function A(e){return!(!q(e)||(t=e,_&&_ in t))&&(function(e){var t=q(e)?y.call(e):"";return"[object Function]"==t||"[object GeneratorFunction]"==t}(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e)?v:s).test(function(e){if(null!=e){try{return g.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e));var t}function M(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map}function $(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return A(n)?n:void 0}S.prototype.clear=function(){this.__data__=O?O(null):{}},S.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},S.prototype.get=function(e){var t=this.__data__;if(O){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return b.call(t,e)?t[e]:void 0},S.prototype.has=function(e){var t=this.__data__;return O?void 0!==t[e]:b.call(t,e)},S.prototype.set=function(e,t){return this.__data__[e]=O&&void 0===t?"__lodash_hash_undefined__":t,this},C.prototype.clear=function(){this.__data__=[]},C.prototype.delete=function(e){var t=this.__data__,n=T(t,e);return!(n<0)&&(n==t.length-1?t.pop():x.call(t,n,1),!0)},C.prototype.get=function(e){var t=this.__data__,n=T(t,e);return n<0?void 0:t[n][1]},C.prototype.has=function(e){return T(this.__data__,e)>-1},C.prototype.set=function(e,t){var n=this.__data__,r=T(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},R.prototype.clear=function(){this.__data__={hash:new S,map:new(k||C),string:new S}},R.prototype.delete=function(e){return M(this,e).delete(e)},R.prototype.get=function(e){return M(this,e).get(e)},R.prototype.has=function(e){return M(this,e).has(e)},R.prototype.set=function(e,t){return M(this,e).set(e,t),this};var N=I((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(z(e))return E?E.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return i.test(e)&&n.push(""),e.replace(o,(function(e,t,r,i){n.push(r?i.replace(a,"$1"):t||e)})),n}));function P(e){if("string"==typeof e||z(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function I(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a),a};return n.cache=new(I.Cache||R),n}I.Cache=R;var D=Array.isArray;function q(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function z(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==y.call(e)}e.exports=function(e,t,n){var r=null==e?void 0:L(e,t);return void 0===r?n:r}}).call(this,n(19))},function(e,t){var n=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32};n.Diff=function(e,t){return[e,t]},n.prototype.diff_main=function(e,t,r,i){void 0===i&&(i=this.Diff_Timeout<=0?Number.MAX_VALUE:(new Date).getTime()+1e3*this.Diff_Timeout);var o=i;if(null==e||null==t)throw new Error("Null input. (diff_main)");if(e==t)return e?[new n.Diff(0,e)]:[];void 0===r&&(r=!0);var a=r,s=this.diff_commonPrefix(e,t),l=e.substring(0,s);e=e.substring(s),t=t.substring(s),s=this.diff_commonSuffix(e,t);var c=e.substring(e.length-s);e=e.substring(0,e.length-s),t=t.substring(0,t.length-s);var u=this.diff_compute_(e,t,a,o);return l&&u.unshift(new n.Diff(0,l)),c&&u.push(new n.Diff(0,c)),this.diff_cleanupMerge(u),u},n.prototype.diff_compute_=function(e,t,r,i){var o;if(!e)return[new n.Diff(1,t)];if(!t)return[new n.Diff(-1,e)];var a=e.length>t.length?e:t,s=e.length>t.length?t:e,l=a.indexOf(s);if(-1!=l)return o=[new n.Diff(1,a.substring(0,l)),new n.Diff(0,s),new n.Diff(1,a.substring(l+s.length))],e.length>t.length&&(o[0][0]=o[2][0]=-1),o;if(1==s.length)return[new n.Diff(-1,e),new n.Diff(1,t)];var c=this.diff_halfMatch_(e,t);if(c){var u=c[0],d=c[1],m=c[2],p=c[3],h=c[4],f=this.diff_main(u,m,r,i),_=this.diff_main(d,p,r,i);return f.concat([new n.Diff(0,h)],_)}return r&&e.length>100&&t.length>100?this.diff_lineMode_(e,t,i):this.diff_bisect_(e,t,i)},n.prototype.diff_lineMode_=function(e,t,r){var i=this.diff_linesToChars_(e,t);e=i.chars1,t=i.chars2;var o=i.lineArray,a=this.diff_main(e,t,!1,r);this.diff_charsToLines_(a,o),this.diff_cleanupSemantic(a),a.push(new n.Diff(0,""));for(var s=0,l=0,c=0,u="",d="";s<a.length;){switch(a[s][0]){case 1:c++,d+=a[s][1];break;case-1:l++,u+=a[s][1];break;case 0:if(l>=1&&c>=1){a.splice(s-l-c,l+c),s=s-l-c;for(var m=this.diff_main(u,d,!1,r),p=m.length-1;p>=0;p--)a.splice(s,0,m[p]);s+=m.length}c=0,l=0,u="",d=""}s++}return a.pop(),a},n.prototype.diff_bisect_=function(e,t,r){for(var i=e.length,o=t.length,a=Math.ceil((i+o)/2),s=a,l=2*a,c=new Array(l),u=new Array(l),d=0;d<l;d++)c[d]=-1,u[d]=-1;c[s+1]=0,u[s+1]=0;for(var m=i-o,p=m%2!=0,h=0,f=0,_=0,g=0,b=0;b<a&&!((new Date).getTime()>r);b++){for(var y=-b+h;y<=b-f;y+=2){for(var v=s+y,w=(E=y==-b||y!=b&&c[v-1]<c[v+1]?c[v+1]:c[v-1]+1)-y;E<i&&w<o&&e.charAt(E)==t.charAt(w);)E++,w++;if(c[v]=E,E>i)f+=2;else if(w>o)h+=2;else if(p){if((O=s+m-y)>=0&&O<l&&-1!=u[O])if(E>=(k=i-u[O]))return this.diff_bisectSplit_(e,t,E,w,r)}}for(var x=-b+_;x<=b-g;x+=2){for(var k,O=s+x,j=(k=x==-b||x!=b&&u[O-1]<u[O+1]?u[O+1]:u[O-1]+1)-x;k<i&&j<o&&e.charAt(i-k-1)==t.charAt(o-j-1);)k++,j++;if(u[O]=k,k>i)g+=2;else if(j>o)_+=2;else if(!p){if((v=s+m-x)>=0&&v<l&&-1!=c[v]){var E;w=s+(E=c[v])-v;if(E>=(k=i-k))return this.diff_bisectSplit_(e,t,E,w,r)}}}}return[new n.Diff(-1,e),new n.Diff(1,t)]},n.prototype.diff_bisectSplit_=function(e,t,n,r,i){var o=e.substring(0,n),a=t.substring(0,r),s=e.substring(n),l=t.substring(r),c=this.diff_main(o,a,!1,i),u=this.diff_main(s,l,!1,i);return c.concat(u)},n.prototype.diff_linesToChars_=function(e,t){var n=[],r={};function i(e){for(var t="",i=0,a=-1,s=n.length;a<e.length-1;){-1==(a=e.indexOf("\n",i))&&(a=e.length-1);var l=e.substring(i,a+1);(r.hasOwnProperty?r.hasOwnProperty(l):void 0!==r[l])?t+=String.fromCharCode(r[l]):(s==o&&(l=e.substring(i),a=e.length),t+=String.fromCharCode(s),r[l]=s,n[s++]=l),i=a+1}return t}n[0]="";var o=4e4,a=i(e);return o=65535,{chars1:a,chars2:i(t),lineArray:n}},n.prototype.diff_charsToLines_=function(e,t){for(var n=0;n<e.length;n++){for(var r=e[n][1],i=[],o=0;o<r.length;o++)i[o]=t[r.charCodeAt(o)];e[n][1]=i.join("")}},n.prototype.diff_commonPrefix=function(e,t){if(!e||!t||e.charAt(0)!=t.charAt(0))return 0;for(var n=0,r=Math.min(e.length,t.length),i=r,o=0;n<i;)e.substring(o,i)==t.substring(o,i)?o=n=i:r=i,i=Math.floor((r-n)/2+n);return i},n.prototype.diff_commonSuffix=function(e,t){if(!e||!t||e.charAt(e.length-1)!=t.charAt(t.length-1))return 0;for(var n=0,r=Math.min(e.length,t.length),i=r,o=0;n<i;)e.substring(e.length-i,e.length-o)==t.substring(t.length-i,t.length-o)?o=n=i:r=i,i=Math.floor((r-n)/2+n);return i},n.prototype.diff_commonOverlap_=function(e,t){var n=e.length,r=t.length;if(0==n||0==r)return 0;n>r?e=e.substring(n-r):n<r&&(t=t.substring(0,n));var i=Math.min(n,r);if(e==t)return i;for(var o=0,a=1;;){var s=e.substring(i-a),l=t.indexOf(s);if(-1==l)return o;a+=l,0!=l&&e.substring(i-a)!=t.substring(0,a)||(o=a,a++)}},n.prototype.diff_halfMatch_=function(e,t){if(this.Diff_Timeout<=0)return null;var n=e.length>t.length?e:t,r=e.length>t.length?t:e;if(n.length<4||2*r.length<n.length)return null;var i=this;function o(e,t,n){for(var r,o,a,s,l=e.substring(n,n+Math.floor(e.length/4)),c=-1,u="";-1!=(c=t.indexOf(l,c+1));){var d=i.diff_commonPrefix(e.substring(n),t.substring(c)),m=i.diff_commonSuffix(e.substring(0,n),t.substring(0,c));u.length<m+d&&(u=t.substring(c-m,c)+t.substring(c,c+d),r=e.substring(0,n-m),o=e.substring(n+d),a=t.substring(0,c-m),s=t.substring(c+d))}return 2*u.length>=e.length?[r,o,a,s,u]:null}var a,s,l,c,u,d=o(n,r,Math.ceil(n.length/4)),m=o(n,r,Math.ceil(n.length/2));return d||m?(a=m?d&&d[4].length>m[4].length?d:m:d,e.length>t.length?(s=a[0],l=a[1],c=a[2],u=a[3]):(c=a[0],u=a[1],s=a[2],l=a[3]),[s,l,c,u,a[4]]):null},n.prototype.diff_cleanupSemantic=function(e){for(var t=!1,r=[],i=0,o=null,a=0,s=0,l=0,c=0,u=0;a<e.length;)0==e[a][0]?(r[i++]=a,s=c,l=u,c=0,u=0,o=e[a][1]):(1==e[a][0]?c+=e[a][1].length:u+=e[a][1].length,o&&o.length<=Math.max(s,l)&&o.length<=Math.max(c,u)&&(e.splice(r[i-1],0,new n.Diff(-1,o)),e[r[i-1]+1][0]=1,i--,a=--i>0?r[i-1]:-1,s=0,l=0,c=0,u=0,o=null,t=!0)),a++;for(t&&this.diff_cleanupMerge(e),this.diff_cleanupSemanticLossless(e),a=1;a<e.length;){if(-1==e[a-1][0]&&1==e[a][0]){var d=e[a-1][1],m=e[a][1],p=this.diff_commonOverlap_(d,m),h=this.diff_commonOverlap_(m,d);p>=h?(p>=d.length/2||p>=m.length/2)&&(e.splice(a,0,new n.Diff(0,m.substring(0,p))),e[a-1][1]=d.substring(0,d.length-p),e[a+1][1]=m.substring(p),a++):(h>=d.length/2||h>=m.length/2)&&(e.splice(a,0,new n.Diff(0,d.substring(0,h))),e[a-1][0]=1,e[a-1][1]=m.substring(0,m.length-h),e[a+1][0]=-1,e[a+1][1]=d.substring(h),a++),a++}a++}},n.prototype.diff_cleanupSemanticLossless=function(e){function t(e,t){if(!e||!t)return 6;var r=e.charAt(e.length-1),i=t.charAt(0),o=r.match(n.nonAlphaNumericRegex_),a=i.match(n.nonAlphaNumericRegex_),s=o&&r.match(n.whitespaceRegex_),l=a&&i.match(n.whitespaceRegex_),c=s&&r.match(n.linebreakRegex_),u=l&&i.match(n.linebreakRegex_),d=c&&e.match(n.blanklineEndRegex_),m=u&&t.match(n.blanklineStartRegex_);return d||m?5:c||u?4:o&&!s&&l?3:s||l?2:o||a?1:0}for(var r=1;r<e.length-1;){if(0==e[r-1][0]&&0==e[r+1][0]){var i=e[r-1][1],o=e[r][1],a=e[r+1][1],s=this.diff_commonSuffix(i,o);if(s){var l=o.substring(o.length-s);i=i.substring(0,i.length-s),o=l+o.substring(0,o.length-s),a=l+a}for(var c=i,u=o,d=a,m=t(i,o)+t(o,a);o.charAt(0)===a.charAt(0);){i+=o.charAt(0),o=o.substring(1)+a.charAt(0),a=a.substring(1);var p=t(i,o)+t(o,a);p>=m&&(m=p,c=i,u=o,d=a)}e[r-1][1]!=c&&(c?e[r-1][1]=c:(e.splice(r-1,1),r--),e[r][1]=u,d?e[r+1][1]=d:(e.splice(r+1,1),r--))}r++}},n.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,n.whitespaceRegex_=/\s/,n.linebreakRegex_=/[\r\n]/,n.blanklineEndRegex_=/\n\r?\n$/,n.blanklineStartRegex_=/^\r?\n\r?\n/,n.prototype.diff_cleanupEfficiency=function(e){for(var t=!1,r=[],i=0,o=null,a=0,s=!1,l=!1,c=!1,u=!1;a<e.length;)0==e[a][0]?(e[a][1].length<this.Diff_EditCost&&(c||u)?(r[i++]=a,s=c,l=u,o=e[a][1]):(i=0,o=null),c=u=!1):(-1==e[a][0]?u=!0:c=!0,o&&(s&&l&&c&&u||o.length<this.Diff_EditCost/2&&s+l+c+u==3)&&(e.splice(r[i-1],0,new n.Diff(-1,o)),e[r[i-1]+1][0]=1,i--,o=null,s&&l?(c=u=!0,i=0):(a=--i>0?r[i-1]:-1,c=u=!1),t=!0)),a++;t&&this.diff_cleanupMerge(e)},n.prototype.diff_cleanupMerge=function(e){e.push(new n.Diff(0,""));for(var t,r=0,i=0,o=0,a="",s="";r<e.length;)switch(e[r][0]){case 1:o++,s+=e[r][1],r++;break;case-1:i++,a+=e[r][1],r++;break;case 0:i+o>1?(0!==i&&0!==o&&(0!==(t=this.diff_commonPrefix(s,a))&&(r-i-o>0&&0==e[r-i-o-1][0]?e[r-i-o-1][1]+=s.substring(0,t):(e.splice(0,0,new n.Diff(0,s.substring(0,t))),r++),s=s.substring(t),a=a.substring(t)),0!==(t=this.diff_commonSuffix(s,a))&&(e[r][1]=s.substring(s.length-t)+e[r][1],s=s.substring(0,s.length-t),a=a.substring(0,a.length-t))),r-=i+o,e.splice(r,i+o),a.length&&(e.splice(r,0,new n.Diff(-1,a)),r++),s.length&&(e.splice(r,0,new n.Diff(1,s)),r++),r++):0!==r&&0==e[r-1][0]?(e[r-1][1]+=e[r][1],e.splice(r,1)):r++,o=0,i=0,a="",s=""}""===e[e.length-1][1]&&e.pop();var l=!1;for(r=1;r<e.length-1;)0==e[r-1][0]&&0==e[r+1][0]&&(e[r][1].substring(e[r][1].length-e[r-1][1].length)==e[r-1][1]?(e[r][1]=e[r-1][1]+e[r][1].substring(0,e[r][1].length-e[r-1][1].length),e[r+1][1]=e[r-1][1]+e[r+1][1],e.splice(r-1,1),l=!0):e[r][1].substring(0,e[r+1][1].length)==e[r+1][1]&&(e[r-1][1]+=e[r+1][1],e[r][1]=e[r][1].substring(e[r+1][1].length)+e[r+1][1],e.splice(r+1,1),l=!0)),r++;l&&this.diff_cleanupMerge(e)},n.prototype.diff_xIndex=function(e,t){var n,r=0,i=0,o=0,a=0;for(n=0;n<e.length&&(1!==e[n][0]&&(r+=e[n][1].length),-1!==e[n][0]&&(i+=e[n][1].length),!(r>t));n++)o=r,a=i;return e.length!=n&&-1===e[n][0]?a:a+(t-o)},n.prototype.diff_prettyHtml=function(e){for(var t=[],n=/&/g,r=/</g,i=/>/g,o=/\n/g,a=0;a<e.length;a++){var s=e[a][0],l=e[a][1].replace(n,"&amp;").replace(r,"&lt;").replace(i,"&gt;").replace(o,"&para;<br>");switch(s){case 1:t[a]='<ins style="background:#e6ffe6;">'+l+"</ins>";break;case-1:t[a]='<del style="background:#ffe6e6;">'+l+"</del>";break;case 0:t[a]="<span>"+l+"</span>"}}return t.join("")},n.prototype.diff_text1=function(e){for(var t=[],n=0;n<e.length;n++)1!==e[n][0]&&(t[n]=e[n][1]);return t.join("")},n.prototype.diff_text2=function(e){for(var t=[],n=0;n<e.length;n++)-1!==e[n][0]&&(t[n]=e[n][1]);return t.join("")},n.prototype.diff_levenshtein=function(e){for(var t=0,n=0,r=0,i=0;i<e.length;i++){var o=e[i][0],a=e[i][1];switch(o){case 1:n+=a.length;break;case-1:r+=a.length;break;case 0:t+=Math.max(n,r),n=0,r=0}}return t+=Math.max(n,r)},n.prototype.diff_toDelta=function(e){for(var t=[],n=0;n<e.length;n++)switch(e[n][0]){case 1:t[n]="+"+encodeURI(e[n][1]);break;case-1:t[n]="-"+e[n][1].length;break;case 0:t[n]="="+e[n][1].length}return t.join("\t").replace(/%20/g," ")},n.prototype.diff_fromDelta=function(e,t){for(var r=[],i=0,o=0,a=t.split(/\t/g),s=0;s<a.length;s++){var l=a[s].substring(1);switch(a[s].charAt(0)){case"+":try{r[i++]=new n.Diff(1,decodeURI(l))}catch(e){throw new Error("Illegal escape in diff_fromDelta: "+l)}break;case"-":case"=":var c=parseInt(l,10);if(isNaN(c)||c<0)throw new Error("Invalid number in diff_fromDelta: "+l);var u=e.substring(o,o+=c);"="==a[s].charAt(0)?r[i++]=new n.Diff(0,u):r[i++]=new n.Diff(-1,u);break;default:if(a[s])throw new Error("Invalid diff operation in diff_fromDelta: "+a[s])}}if(o!=e.length)throw new Error("Delta length ("+o+") does not equal source text length ("+e.length+").");return r},n.prototype.match_main=function(e,t,n){if(null==e||null==t||null==n)throw new Error("Null input. (match_main)");return n=Math.max(0,Math.min(n,e.length)),e==t?0:e.length?e.substring(n,n+t.length)==t?n:this.match_bitap_(e,t,n):-1},n.prototype.match_bitap_=function(e,t,n){if(t.length>this.Match_MaxBits)throw new Error("Pattern too long for this browser.");var r=this.match_alphabet_(t),i=this;function o(e,r){var o=e/t.length,a=Math.abs(n-r);return i.Match_Distance?o+a/i.Match_Distance:a?1:o}var a=this.Match_Threshold,s=e.indexOf(t,n);-1!=s&&(a=Math.min(o(0,s),a),-1!=(s=e.lastIndexOf(t,n+t.length))&&(a=Math.min(o(0,s),a)));var l,c,u=1<<t.length-1;s=-1;for(var d,m=t.length+e.length,p=0;p<t.length;p++){for(l=0,c=m;l<c;)o(p,n+c)<=a?l=c:m=c,c=Math.floor((m-l)/2+l);m=c;var h=Math.max(1,n-c+1),f=Math.min(n+c,e.length)+t.length,_=Array(f+2);_[f+1]=(1<<p)-1;for(var g=f;g>=h;g--){var b=r[e.charAt(g-1)];if(_[g]=0===p?(_[g+1]<<1|1)&b:(_[g+1]<<1|1)&b|(d[g+1]|d[g])<<1|1|d[g+1],_[g]&u){var y=o(p,g-1);if(y<=a){if(a=y,!((s=g-1)>n))break;h=Math.max(1,2*n-s)}}}if(o(p+1,n)>a)break;d=_}return s},n.prototype.match_alphabet_=function(e){for(var t={},n=0;n<e.length;n++)t[e.charAt(n)]=0;for(n=0;n<e.length;n++)t[e.charAt(n)]|=1<<e.length-n-1;return t},n.prototype.patch_addContext_=function(e,t){if(0!=t.length){if(null===e.start2)throw Error("patch not initialized");for(var r=t.substring(e.start2,e.start2+e.length1),i=0;t.indexOf(r)!=t.lastIndexOf(r)&&r.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)i+=this.Patch_Margin,r=t.substring(e.start2-i,e.start2+e.length1+i);i+=this.Patch_Margin;var o=t.substring(e.start2-i,e.start2);o&&e.diffs.unshift(new n.Diff(0,o));var a=t.substring(e.start2+e.length1,e.start2+e.length1+i);a&&e.diffs.push(new n.Diff(0,a)),e.start1-=o.length,e.start2-=o.length,e.length1+=o.length+a.length,e.length2+=o.length+a.length}},n.prototype.patch_make=function(e,t,r){var i,o;if("string"==typeof e&&"string"==typeof t&&void 0===r)i=e,(o=this.diff_main(i,t,!0)).length>2&&(this.diff_cleanupSemantic(o),this.diff_cleanupEfficiency(o));else if(e&&"object"==typeof e&&void 0===t&&void 0===r)o=e,i=this.diff_text1(o);else if("string"==typeof e&&t&&"object"==typeof t&&void 0===r)i=e,o=t;else{if("string"!=typeof e||"string"!=typeof t||!r||"object"!=typeof r)throw new Error("Unknown call format to patch_make.");i=e,o=r}if(0===o.length)return[];for(var a=[],s=new n.patch_obj,l=0,c=0,u=0,d=i,m=i,p=0;p<o.length;p++){var h=o[p][0],f=o[p][1];switch(l||0===h||(s.start1=c,s.start2=u),h){case 1:s.diffs[l++]=o[p],s.length2+=f.length,m=m.substring(0,u)+f+m.substring(u);break;case-1:s.length1+=f.length,s.diffs[l++]=o[p],m=m.substring(0,u)+m.substring(u+f.length);break;case 0:f.length<=2*this.Patch_Margin&&l&&o.length!=p+1?(s.diffs[l++]=o[p],s.length1+=f.length,s.length2+=f.length):f.length>=2*this.Patch_Margin&&l&&(this.patch_addContext_(s,d),a.push(s),s=new n.patch_obj,l=0,d=m,c=u)}1!==h&&(c+=f.length),-1!==h&&(u+=f.length)}return l&&(this.patch_addContext_(s,d),a.push(s)),a},n.prototype.patch_deepCopy=function(e){for(var t=[],r=0;r<e.length;r++){var i=e[r],o=new n.patch_obj;o.diffs=[];for(var a=0;a<i.diffs.length;a++)o.diffs[a]=new n.Diff(i.diffs[a][0],i.diffs[a][1]);o.start1=i.start1,o.start2=i.start2,o.length1=i.length1,o.length2=i.length2,t[r]=o}return t},n.prototype.patch_apply=function(e,t){if(0==e.length)return[t,[]];e=this.patch_deepCopy(e);var n=this.patch_addPadding(e);t=n+t+n,this.patch_splitMax(e);for(var r=0,i=[],o=0;o<e.length;o++){var a,s,l=e[o].start2+r,c=this.diff_text1(e[o].diffs),u=-1;if(c.length>this.Match_MaxBits?-1!=(a=this.match_main(t,c.substring(0,this.Match_MaxBits),l))&&(-1==(u=this.match_main(t,c.substring(c.length-this.Match_MaxBits),l+c.length-this.Match_MaxBits))||a>=u)&&(a=-1):a=this.match_main(t,c,l),-1==a)i[o]=!1,r-=e[o].length2-e[o].length1;else if(i[o]=!0,r=a-l,c==(s=-1==u?t.substring(a,a+c.length):t.substring(a,u+this.Match_MaxBits)))t=t.substring(0,a)+this.diff_text2(e[o].diffs)+t.substring(a+c.length);else{var d=this.diff_main(c,s,!1);if(c.length>this.Match_MaxBits&&this.diff_levenshtein(d)/c.length>this.Patch_DeleteThreshold)i[o]=!1;else{this.diff_cleanupSemanticLossless(d);for(var m,p=0,h=0;h<e[o].diffs.length;h++){var f=e[o].diffs[h];0!==f[0]&&(m=this.diff_xIndex(d,p)),1===f[0]?t=t.substring(0,a+m)+f[1]+t.substring(a+m):-1===f[0]&&(t=t.substring(0,a+m)+t.substring(a+this.diff_xIndex(d,p+f[1].length))),-1!==f[0]&&(p+=f[1].length)}}}}return[t=t.substring(n.length,t.length-n.length),i]},n.prototype.patch_addPadding=function(e){for(var t=this.Patch_Margin,r="",i=1;i<=t;i++)r+=String.fromCharCode(i);for(i=0;i<e.length;i++)e[i].start1+=t,e[i].start2+=t;var o=e[0],a=o.diffs;if(0==a.length||0!=a[0][0])a.unshift(new n.Diff(0,r)),o.start1-=t,o.start2-=t,o.length1+=t,o.length2+=t;else if(t>a[0][1].length){var s=t-a[0][1].length;a[0][1]=r.substring(a[0][1].length)+a[0][1],o.start1-=s,o.start2-=s,o.length1+=s,o.length2+=s}if(0==(a=(o=e[e.length-1]).diffs).length||0!=a[a.length-1][0])a.push(new n.Diff(0,r)),o.length1+=t,o.length2+=t;else if(t>a[a.length-1][1].length){s=t-a[a.length-1][1].length;a[a.length-1][1]+=r.substring(0,s),o.length1+=s,o.length2+=s}return r},n.prototype.patch_splitMax=function(e){for(var t=this.Match_MaxBits,r=0;r<e.length;r++)if(!(e[r].length1<=t)){var i=e[r];e.splice(r--,1);for(var o=i.start1,a=i.start2,s="";0!==i.diffs.length;){var l=new n.patch_obj,c=!0;for(l.start1=o-s.length,l.start2=a-s.length,""!==s&&(l.length1=l.length2=s.length,l.diffs.push(new n.Diff(0,s)));0!==i.diffs.length&&l.length1<t-this.Patch_Margin;){var u=i.diffs[0][0],d=i.diffs[0][1];1===u?(l.length2+=d.length,a+=d.length,l.diffs.push(i.diffs.shift()),c=!1):-1===u&&1==l.diffs.length&&0==l.diffs[0][0]&&d.length>2*t?(l.length1+=d.length,o+=d.length,c=!1,l.diffs.push(new n.Diff(u,d)),i.diffs.shift()):(d=d.substring(0,t-l.length1-this.Patch_Margin),l.length1+=d.length,o+=d.length,0===u?(l.length2+=d.length,a+=d.length):c=!1,l.diffs.push(new n.Diff(u,d)),d==i.diffs[0][1]?i.diffs.shift():i.diffs[0][1]=i.diffs[0][1].substring(d.length))}s=(s=this.diff_text2(l.diffs)).substring(s.length-this.Patch_Margin);var m=this.diff_text1(i.diffs).substring(0,this.Patch_Margin);""!==m&&(l.length1+=m.length,l.length2+=m.length,0!==l.diffs.length&&0===l.diffs[l.diffs.length-1][0]?l.diffs[l.diffs.length-1][1]+=m:l.diffs.push(new n.Diff(0,m))),c||e.splice(++r,0,l)}}},n.prototype.patch_toText=function(e){for(var t=[],n=0;n<e.length;n++)t[n]=e[n];return t.join("")},n.prototype.patch_fromText=function(e){var t=[];if(!e)return t;for(var r=e.split("\n"),i=0,o=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;i<r.length;){var a=r[i].match(o);if(!a)throw new Error("Invalid patch string: "+r[i]);var s=new n.patch_obj;for(t.push(s),s.start1=parseInt(a[1],10),""===a[2]?(s.start1--,s.length1=1):"0"==a[2]?s.length1=0:(s.start1--,s.length1=parseInt(a[2],10)),s.start2=parseInt(a[3],10),""===a[4]?(s.start2--,s.length2=1):"0"==a[4]?s.length2=0:(s.start2--,s.length2=parseInt(a[4],10)),i++;i<r.length;){var l=r[i].charAt(0);try{var c=decodeURI(r[i].substring(1))}catch(e){throw new Error("Illegal escape in patch_fromText: "+c)}if("-"==l)s.diffs.push(new n.Diff(-1,c));else if("+"==l)s.diffs.push(new n.Diff(1,c));else if(" "==l)s.diffs.push(new n.Diff(0,c));else{if("@"==l)break;if(""!==l)throw new Error('Invalid patch mode "'+l+'" in: '+c)}i++}}return t},(n.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0}).prototype.toString=function(){for(var e,t=["@@ -"+(0===this.length1?this.start1+",0":1==this.length1?this.start1+1:this.start1+1+","+this.length1)+" +"+(0===this.length2?this.start2+",0":1==this.length2?this.start2+1:this.start2+1+","+this.length2)+" @@\n"],n=0;n<this.diffs.length;n++){switch(this.diffs[n][0]){case 1:e="+";break;case-1:e="-";break;case 0:e=" "}t[n+1]=e+encodeURI(this.diffs[n][1])+"\n"}return t.join("").replace(/%20/g," ")},e.exports=n,e.exports.diff_match_patch=n,e.exports.DIFF_DELETE=-1,e.exports.DIFF_INSERT=1,e.exports.DIFF_EQUAL=0},function(e,t,n){(function(e){ace.define("ace/theme/terminal",["require","exports","module","ace/lib/dom"],(function(e,t,n){t.isDark=!0,t.cssClass="ace-terminal-theme",t.cssText=".ace-terminal-theme .ace_gutter {background: #1a0005;color: steelblue}.ace-terminal-theme .ace_print-margin {width: 1px;background: #1a1a1a}.ace-terminal-theme {background-color: black;color: #DEDEDE}.ace-terminal-theme .ace_cursor {color: #9F9F9F}.ace-terminal-theme .ace_marker-layer .ace_selection {background: #424242}.ace-terminal-theme.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px black;}.ace-terminal-theme .ace_marker-layer .ace_step {background: rgb(0, 0, 0)}.ace-terminal-theme .ace_marker-layer .ace_bracket {background: #090;}.ace-terminal-theme .ace_marker-layer .ace_bracket-start {background: #090;}.ace-terminal-theme .ace_marker-layer .ace_bracket-unmatched {margin: -1px 0 0 -1px;border: 1px solid #900}.ace-terminal-theme .ace_marker-layer .ace_active-line {background: #2A2A2A}.ace-terminal-theme .ace_gutter-active-line {background-color: #2A112A}.ace-terminal-theme .ace_marker-layer .ace_selected-word {border: 1px solid #424242}.ace-terminal-theme .ace_invisible {color: #343434}.ace-terminal-theme .ace_keyword,.ace-terminal-theme .ace_meta,.ace-terminal-theme .ace_storage,.ace-terminal-theme .ace_storage.ace_type,.ace-terminal-theme .ace_support.ace_type {color: tomato}.ace-terminal-theme .ace_keyword.ace_operator {color: deeppink}.ace-terminal-theme .ace_constant.ace_character,.ace-terminal-theme .ace_constant.ace_language,.ace-terminal-theme .ace_constant.ace_numeric,.ace-terminal-theme .ace_keyword.ace_other.ace_unit,.ace-terminal-theme .ace_support.ace_constant,.ace-terminal-theme .ace_variable.ace_parameter {color: #E78C45}.ace-terminal-theme .ace_constant.ace_other {color: gold}.ace-terminal-theme .ace_invalid {color: yellow;background-color: red}.ace-terminal-theme .ace_invalid.ace_deprecated {color: #CED2CF;background-color: #B798BF}.ace-terminal-theme .ace_fold {background-color: #7AA6DA;border-color: #DEDEDE}.ace-terminal-theme .ace_entity.ace_name.ace_function,.ace-terminal-theme .ace_support.ace_function,.ace-terminal-theme .ace_variable {color: #7AA6DA}.ace-terminal-theme .ace_support.ace_class,.ace-terminal-theme .ace_support.ace_type {color: #E7C547}.ace-terminal-theme .ace_heading,.ace-terminal-theme .ace_string {color: #B9CA4A}.ace-terminal-theme .ace_entity.ace_name.ace_tag,.ace-terminal-theme .ace_entity.ace_other.ace_attribute-name,.ace-terminal-theme .ace_meta.ace_tag,.ace-terminal-theme .ace_string.ace_regexp,.ace-terminal-theme .ace_variable {color: #D54E53}.ace-terminal-theme .ace_comment {color: orangered}.ace-terminal-theme .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYLBWV/8PAAK4AYnhiq+xAAAAAElFTkSuQmCC) right repeat-y;}",e("../lib/dom").importCssString(t.cssText,t.cssClass)})),ace.require(["ace/theme/terminal"],(function(t){e&&(e.exports=t)}))}).call(this,n(22)(e))},function(e,t,n){(function(e){ace.define("ace/theme/github",["require","exports","module","ace/lib/dom"],(function(e,t,n){t.isDark=!1,t.cssClass="ace-github",t.cssText='.ace-github .ace_gutter {background: #e8e8e8;color: #AAA;}.ace-github {background: #fff;color: #000;}.ace-github .ace_keyword {font-weight: bold;}.ace-github .ace_string {color: #D14;}.ace-github .ace_variable.ace_class {color: teal;}.ace-github .ace_constant.ace_numeric {color: #099;}.ace-github .ace_constant.ace_buildin {color: #0086B3;}.ace-github .ace_support.ace_function {color: #0086B3;}.ace-github .ace_comment {color: #998;font-style: italic;}.ace-github .ace_variable.ace_language {color: #0086B3;}.ace-github .ace_paren {font-weight: bold;}.ace-github .ace_boolean {font-weight: bold;}.ace-github .ace_string.ace_regexp {color: #009926;font-weight: normal;}.ace-github .ace_variable.ace_instance {color: teal;}.ace-github .ace_constant.ace_language {font-weight: bold;}.ace-github .ace_cursor {color: black;}.ace-github.ace_focus .ace_marker-layer .ace_active-line {background: rgb(255, 255, 204);}.ace-github .ace_marker-layer .ace_active-line {background: rgb(245, 245, 245);}.ace-github .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-github.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-github.ace_nobold .ace_line > span {font-weight: normal !important;}.ace-github .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-github .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-github .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-github .ace_gutter-active-line {background-color : rgba(0, 0, 0, 0.07);}.ace-github .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-github .ace_invisible {color: #BFBFBF}.ace-github .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-github .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',e("../lib/dom").importCssString(t.cssText,t.cssClass)})),ace.require(["ace/theme/github"],(function(t){e&&(e.exports=t)}))}).call(this,n(22)(e))},function(e,t,n){(function(e){ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,o=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},o.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(o,i),o.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},o.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},o.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=o})),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],(function(e,t,n){"use strict";var r=e("../lib/oop"),i=(e("../lib/lang"),e("./text_highlight_rules").TextHighlightRules),o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",a=t.supportFunction="rgb|rgba|url|attr|counter|counters",s=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",l=t.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",c=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",u=t.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",d=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",m=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",p=function(){var e=this.createKeywordMapper({"support.function":a,"support.constant":s,"support.type":o,"support.constant.color":l,"support.constant.fonts":c},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:u},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+u+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:u},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:d},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:m},{include:"url"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};r.inherits(p,i),t.CssHighlightRules=p})),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],(function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,a="[a-zA-Z\\$_¡-][a-zA-Z\\d\\$_¡-]*",s=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),c("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+a+")(\\.)(prototype)(\\.)("+a+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+a+")(\\.)("+a+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+a+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+a+")(\\.)("+a+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+a+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+a+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:a},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+a+")(\\.)("+a+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:a},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),c("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:a},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},e&&e.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){if(this.next="{"==e?this.nextState:"","{"==e&&n.length)n.unshift("start",t);else if("}"==e&&n.length&&(n.shift(),this.next=n.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==e?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:n},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),e&&0==e.jsx||l.call(this)),this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};function l(){var e=a.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r="/"==e.charAt(1)?2:1;return 1==r?(t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++):2==r&&t==this.nextState&&(n[1]--,(!n[1]||n[1]<0)&&(n.shift(),n.shift())),[{type:"meta.tag.punctuation."+(1==r?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e,next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),2==e.length&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,c("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function c(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}r.inherits(s,o),t.JavaScriptHighlightRules=s})),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,o=function(e){var t="[_:a-zA-ZÀ-][-_:.a-zA-Z0-9À-]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:t},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"--\x3e",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:t},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(o,i),t.XmlHighlightRules=o})),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],(function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),o=e("./css_highlight_rules").CssHighlightRules,a=e("./javascript_highlight_rules").JavaScriptHighlightRules,s=e("./xml_highlight_rules").XmlHighlightRules,l=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),c=function(){s.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=l[t];return["meta.tag.punctuation."+("<"==e?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(o,"css-","style"),this.embedTagRules(new a({jsx:!1}).getRules(),"js-","script"),this.constructor===c&&this.normalizeRules()};r.inherits(c,s),t.HtmlHighlightRules=c})),ace.define("ace/mode/php_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"],(function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),o=e("./doc_comment_highlight_rules").DocCommentHighlightRules,a=e("./text_highlight_rules").TextHighlightRules,s=e("./html_highlight_rules").HtmlHighlightRules,l=function(){var e=o,t=i.arrayToMap("abs|acos|acosh|addcslashes|addslashes|aggregate|aggregate_info|aggregate_methods|aggregate_methods_by_list|aggregate_methods_by_regexp|aggregate_properties|aggregate_properties_by_list|aggregate_properties_by_regexp|aggregation_info|amqpconnection|amqpexchange|amqpqueue|apache_child_terminate|apache_get_modules|apache_get_version|apache_getenv|apache_lookup_uri|apache_note|apache_request_headers|apache_reset_timeout|apache_response_headers|apache_setenv|apc_add|apc_bin_dump|apc_bin_dumpfile|apc_bin_load|apc_bin_loadfile|apc_cache_info|apc_cas|apc_clear_cache|apc_compile_file|apc_dec|apc_define_constants|apc_delete|apc_delete_file|apc_exists|apc_fetch|apc_inc|apc_load_constants|apc_sma_info|apc_store|apciterator|apd_breakpoint|apd_callstack|apd_clunk|apd_continue|apd_croak|apd_dump_function_table|apd_dump_persistent_resources|apd_dump_regular_resources|apd_echo|apd_get_active_symbols|apd_set_pprof_trace|apd_set_session|apd_set_session_trace|apd_set_session_trace_socket|appenditerator|array|array_change_key_case|array_chunk|array_combine|array_count_values|array_diff|array_diff_assoc|array_diff_key|array_diff_uassoc|array_diff_ukey|array_fill|array_fill_keys|array_filter|array_flip|array_intersect|array_intersect_assoc|array_intersect_key|array_intersect_uassoc|array_intersect_ukey|array_key_exists|array_keys|array_map|array_merge|array_merge_recursive|array_multisort|array_pad|array_pop|array_product|array_push|array_rand|array_reduce|array_replace|array_replace_recursive|array_reverse|array_search|array_shift|array_slice|array_splice|array_sum|array_udiff|array_udiff_assoc|array_udiff_uassoc|array_uintersect|array_uintersect_assoc|array_uintersect_uassoc|array_unique|array_unshift|array_values|array_walk|array_walk_recursive|arrayaccess|arrayiterator|arrayobject|arsort|asin|asinh|asort|assert|assert_options|atan|atan2|atanh|audioproperties|badfunctioncallexception|badmethodcallexception|base64_decode|base64_encode|base_convert|basename|bbcode_add_element|bbcode_add_smiley|bbcode_create|bbcode_destroy|bbcode_parse|bbcode_set_arg_parser|bbcode_set_flags|bcadd|bccomp|bcdiv|bcmod|bcmul|bcompiler_load|bcompiler_load_exe|bcompiler_parse_class|bcompiler_read|bcompiler_write_class|bcompiler_write_constant|bcompiler_write_exe_footer|bcompiler_write_file|bcompiler_write_footer|bcompiler_write_function|bcompiler_write_functions_from_file|bcompiler_write_header|bcompiler_write_included_filename|bcpow|bcpowmod|bcscale|bcsqrt|bcsub|bin2hex|bind_textdomain_codeset|bindec|bindtextdomain|bson_decode|bson_encode|bumpValue|bzclose|bzcompress|bzdecompress|bzerrno|bzerror|bzerrstr|bzflush|bzopen|bzread|bzwrite|cachingiterator|cairo|cairo_create|cairo_font_face_get_type|cairo_font_face_status|cairo_font_options_create|cairo_font_options_equal|cairo_font_options_get_antialias|cairo_font_options_get_hint_metrics|cairo_font_options_get_hint_style|cairo_font_options_get_subpixel_order|cairo_font_options_hash|cairo_font_options_merge|cairo_font_options_set_antialias|cairo_font_options_set_hint_metrics|cairo_font_options_set_hint_style|cairo_font_options_set_subpixel_order|cairo_font_options_status|cairo_format_stride_for_width|cairo_image_surface_create|cairo_image_surface_create_for_data|cairo_image_surface_create_from_png|cairo_image_surface_get_data|cairo_image_surface_get_format|cairo_image_surface_get_height|cairo_image_surface_get_stride|cairo_image_surface_get_width|cairo_matrix_create_scale|cairo_matrix_create_translate|cairo_matrix_invert|cairo_matrix_multiply|cairo_matrix_rotate|cairo_matrix_transform_distance|cairo_matrix_transform_point|cairo_matrix_translate|cairo_pattern_add_color_stop_rgb|cairo_pattern_add_color_stop_rgba|cairo_pattern_create_for_surface|cairo_pattern_create_linear|cairo_pattern_create_radial|cairo_pattern_create_rgb|cairo_pattern_create_rgba|cairo_pattern_get_color_stop_count|cairo_pattern_get_color_stop_rgba|cairo_pattern_get_extend|cairo_pattern_get_filter|cairo_pattern_get_linear_points|cairo_pattern_get_matrix|cairo_pattern_get_radial_circles|cairo_pattern_get_rgba|cairo_pattern_get_surface|cairo_pattern_get_type|cairo_pattern_set_extend|cairo_pattern_set_filter|cairo_pattern_set_matrix|cairo_pattern_status|cairo_pdf_surface_create|cairo_pdf_surface_set_size|cairo_ps_get_levels|cairo_ps_level_to_string|cairo_ps_surface_create|cairo_ps_surface_dsc_begin_page_setup|cairo_ps_surface_dsc_begin_setup|cairo_ps_surface_dsc_comment|cairo_ps_surface_get_eps|cairo_ps_surface_restrict_to_level|cairo_ps_surface_set_eps|cairo_ps_surface_set_size|cairo_scaled_font_create|cairo_scaled_font_extents|cairo_scaled_font_get_ctm|cairo_scaled_font_get_font_face|cairo_scaled_font_get_font_matrix|cairo_scaled_font_get_font_options|cairo_scaled_font_get_scale_matrix|cairo_scaled_font_get_type|cairo_scaled_font_glyph_extents|cairo_scaled_font_status|cairo_scaled_font_text_extents|cairo_surface_copy_page|cairo_surface_create_similar|cairo_surface_finish|cairo_surface_flush|cairo_surface_get_content|cairo_surface_get_device_offset|cairo_surface_get_font_options|cairo_surface_get_type|cairo_surface_mark_dirty|cairo_surface_mark_dirty_rectangle|cairo_surface_set_device_offset|cairo_surface_set_fallback_resolution|cairo_surface_show_page|cairo_surface_status|cairo_surface_write_to_png|cairo_svg_surface_create|cairo_svg_surface_restrict_to_version|cairo_svg_version_to_string|cairoantialias|cairocontent|cairocontext|cairoexception|cairoextend|cairofillrule|cairofilter|cairofontface|cairofontoptions|cairofontslant|cairofonttype|cairofontweight|cairoformat|cairogradientpattern|cairohintmetrics|cairohintstyle|cairoimagesurface|cairolineargradient|cairolinecap|cairolinejoin|cairomatrix|cairooperator|cairopath|cairopattern|cairopatterntype|cairopdfsurface|cairopslevel|cairopssurface|cairoradialgradient|cairoscaledfont|cairosolidpattern|cairostatus|cairosubpixelorder|cairosurface|cairosurfacepattern|cairosurfacetype|cairosvgsurface|cairosvgversion|cairotoyfontface|cal_days_in_month|cal_from_jd|cal_info|cal_to_jd|calcul_hmac|calculhmac|call_user_func|call_user_func_array|call_user_method|call_user_method_array|callbackfilteriterator|ceil|chdb|chdb_create|chdir|checkdate|checkdnsrr|chgrp|chmod|chop|chown|chr|chroot|chunk_split|class_alias|class_exists|class_implements|class_parents|class_uses|classkit_import|classkit_method_add|classkit_method_copy|classkit_method_redefine|classkit_method_remove|classkit_method_rename|clearstatcache|clone|closedir|closelog|collator|com|com_addref|com_create_guid|com_event_sink|com_get|com_get_active_object|com_invoke|com_isenum|com_load|com_load_typelib|com_message_pump|com_print_typeinfo|com_propget|com_propput|com_propset|com_release|com_set|compact|connection_aborted|connection_status|connection_timeout|constant|construct|construct|construct|convert_cyr_string|convert_uudecode|convert_uuencode|copy|cos|cosh|count|count_chars|countable|counter_bump|counter_bump_value|counter_create|counter_get|counter_get_meta|counter_get_named|counter_get_value|counter_reset|counter_reset_value|crack_check|crack_closedict|crack_getlastmessage|crack_opendict|crc32|create_function|crypt|ctype_alnum|ctype_alpha|ctype_cntrl|ctype_digit|ctype_graph|ctype_lower|ctype_print|ctype_punct|ctype_space|ctype_upper|ctype_xdigit|cubrid_affected_rows|cubrid_bind|cubrid_client_encoding|cubrid_close|cubrid_close_prepare|cubrid_close_request|cubrid_col_get|cubrid_col_size|cubrid_column_names|cubrid_column_types|cubrid_commit|cubrid_connect|cubrid_connect_with_url|cubrid_current_oid|cubrid_data_seek|cubrid_db_name|cubrid_disconnect|cubrid_drop|cubrid_errno|cubrid_error|cubrid_error_code|cubrid_error_code_facility|cubrid_error_msg|cubrid_execute|cubrid_fetch|cubrid_fetch_array|cubrid_fetch_assoc|cubrid_fetch_field|cubrid_fetch_lengths|cubrid_fetch_object|cubrid_fetch_row|cubrid_field_flags|cubrid_field_len|cubrid_field_name|cubrid_field_seek|cubrid_field_table|cubrid_field_type|cubrid_free_result|cubrid_get|cubrid_get_autocommit|cubrid_get_charset|cubrid_get_class_name|cubrid_get_client_info|cubrid_get_db_parameter|cubrid_get_server_info|cubrid_insert_id|cubrid_is_instance|cubrid_list_dbs|cubrid_load_from_glo|cubrid_lob_close|cubrid_lob_export|cubrid_lob_get|cubrid_lob_send|cubrid_lob_size|cubrid_lock_read|cubrid_lock_write|cubrid_move_cursor|cubrid_new_glo|cubrid_next_result|cubrid_num_cols|cubrid_num_fields|cubrid_num_rows|cubrid_ping|cubrid_prepare|cubrid_put|cubrid_query|cubrid_real_escape_string|cubrid_result|cubrid_rollback|cubrid_save_to_glo|cubrid_schema|cubrid_send_glo|cubrid_seq_drop|cubrid_seq_insert|cubrid_seq_put|cubrid_set_add|cubrid_set_autocommit|cubrid_set_db_parameter|cubrid_set_drop|cubrid_unbuffered_query|cubrid_version|curl_close|curl_copy_handle|curl_errno|curl_error|curl_exec|curl_getinfo|curl_init|curl_multi_add_handle|curl_multi_close|curl_multi_exec|curl_multi_getcontent|curl_multi_info_read|curl_multi_init|curl_multi_remove_handle|curl_multi_select|curl_setopt|curl_setopt_array|curl_version|current|cyrus_authenticate|cyrus_bind|cyrus_close|cyrus_connect|cyrus_query|cyrus_unbind|date|date_add|date_create|date_create_from_format|date_date_set|date_default_timezone_get|date_default_timezone_set|date_diff|date_format|date_get_last_errors|date_interval_create_from_date_string|date_interval_format|date_isodate_set|date_modify|date_offset_get|date_parse|date_parse_from_format|date_sub|date_sun_info|date_sunrise|date_sunset|date_time_set|date_timestamp_get|date_timestamp_set|date_timezone_get|date_timezone_set|dateinterval|dateperiod|datetime|datetimezone|db2_autocommit|db2_bind_param|db2_client_info|db2_close|db2_column_privileges|db2_columns|db2_commit|db2_conn_error|db2_conn_errormsg|db2_connect|db2_cursor_type|db2_escape_string|db2_exec|db2_execute|db2_fetch_array|db2_fetch_assoc|db2_fetch_both|db2_fetch_object|db2_fetch_row|db2_field_display_size|db2_field_name|db2_field_num|db2_field_precision|db2_field_scale|db2_field_type|db2_field_width|db2_foreign_keys|db2_free_result|db2_free_stmt|db2_get_option|db2_last_insert_id|db2_lob_read|db2_next_result|db2_num_fields|db2_num_rows|db2_pclose|db2_pconnect|db2_prepare|db2_primary_keys|db2_procedure_columns|db2_procedures|db2_result|db2_rollback|db2_server_info|db2_set_option|db2_special_columns|db2_statistics|db2_stmt_error|db2_stmt_errormsg|db2_table_privileges|db2_tables|dba_close|dba_delete|dba_exists|dba_fetch|dba_firstkey|dba_handlers|dba_insert|dba_key_split|dba_list|dba_nextkey|dba_open|dba_optimize|dba_popen|dba_replace|dba_sync|dbase_add_record|dbase_close|dbase_create|dbase_delete_record|dbase_get_header_info|dbase_get_record|dbase_get_record_with_names|dbase_numfields|dbase_numrecords|dbase_open|dbase_pack|dbase_replace_record|dbplus_add|dbplus_aql|dbplus_chdir|dbplus_close|dbplus_curr|dbplus_errcode|dbplus_errno|dbplus_find|dbplus_first|dbplus_flush|dbplus_freealllocks|dbplus_freelock|dbplus_freerlocks|dbplus_getlock|dbplus_getunique|dbplus_info|dbplus_last|dbplus_lockrel|dbplus_next|dbplus_open|dbplus_prev|dbplus_rchperm|dbplus_rcreate|dbplus_rcrtexact|dbplus_rcrtlike|dbplus_resolve|dbplus_restorepos|dbplus_rkeys|dbplus_ropen|dbplus_rquery|dbplus_rrename|dbplus_rsecindex|dbplus_runlink|dbplus_rzap|dbplus_savepos|dbplus_setindex|dbplus_setindexbynumber|dbplus_sql|dbplus_tcl|dbplus_tremove|dbplus_undo|dbplus_undoprepare|dbplus_unlockrel|dbplus_unselect|dbplus_update|dbplus_xlockrel|dbplus_xunlockrel|dbx_close|dbx_compare|dbx_connect|dbx_error|dbx_escape_string|dbx_fetch_row|dbx_query|dbx_sort|dcgettext|dcngettext|deaggregate|debug_backtrace|debug_print_backtrace|debug_zval_dump|decbin|dechex|decoct|define|define_syslog_variables|defined|deg2rad|delete|dgettext|die|dio_close|dio_fcntl|dio_open|dio_read|dio_seek|dio_stat|dio_tcsetattr|dio_truncate|dio_write|dir|directoryiterator|dirname|disk_free_space|disk_total_space|diskfreespace|dl|dngettext|dns_check_record|dns_get_mx|dns_get_record|dom_import_simplexml|domainexception|domattr|domattribute_name|domattribute_set_value|domattribute_specified|domattribute_value|domcharacterdata|domcomment|domdocument|domdocument_add_root|domdocument_create_attribute|domdocument_create_cdata_section|domdocument_create_comment|domdocument_create_element|domdocument_create_element_ns|domdocument_create_entity_reference|domdocument_create_processing_instruction|domdocument_create_text_node|domdocument_doctype|domdocument_document_element|domdocument_dump_file|domdocument_dump_mem|domdocument_get_element_by_id|domdocument_get_elements_by_tagname|domdocument_html_dump_mem|domdocument_xinclude|domdocumentfragment|domdocumenttype|domdocumenttype_entities|domdocumenttype_internal_subset|domdocumenttype_name|domdocumenttype_notations|domdocumenttype_public_id|domdocumenttype_system_id|domelement|domelement_get_attribute|domelement_get_attribute_node|domelement_get_elements_by_tagname|domelement_has_attribute|domelement_remove_attribute|domelement_set_attribute|domelement_set_attribute_node|domelement_tagname|domentity|domentityreference|domexception|domimplementation|domnamednodemap|domnode|domnode_add_namespace|domnode_append_child|domnode_append_sibling|domnode_attributes|domnode_child_nodes|domnode_clone_node|domnode_dump_node|domnode_first_child|domnode_get_content|domnode_has_attributes|domnode_has_child_nodes|domnode_insert_before|domnode_is_blank_node|domnode_last_child|domnode_next_sibling|domnode_node_name|domnode_node_type|domnode_node_value|domnode_owner_document|domnode_parent_node|domnode_prefix|domnode_previous_sibling|domnode_remove_child|domnode_replace_child|domnode_replace_node|domnode_set_content|domnode_set_name|domnode_set_namespace|domnode_unlink_node|domnodelist|domnotation|domprocessinginstruction|domprocessinginstruction_data|domprocessinginstruction_target|domtext|domxml_new_doc|domxml_open_file|domxml_open_mem|domxml_version|domxml_xmltree|domxml_xslt_stylesheet|domxml_xslt_stylesheet_doc|domxml_xslt_stylesheet_file|domxml_xslt_version|domxpath|domxsltstylesheet_process|domxsltstylesheet_result_dump_file|domxsltstylesheet_result_dump_mem|dotnet|dotnet_load|doubleval|each|easter_date|easter_days|echo|empty|emptyiterator|enchant_broker_describe|enchant_broker_dict_exists|enchant_broker_free|enchant_broker_free_dict|enchant_broker_get_error|enchant_broker_init|enchant_broker_list_dicts|enchant_broker_request_dict|enchant_broker_request_pwl_dict|enchant_broker_set_ordering|enchant_dict_add_to_personal|enchant_dict_add_to_session|enchant_dict_check|enchant_dict_describe|enchant_dict_get_error|enchant_dict_is_in_session|enchant_dict_quick_check|enchant_dict_store_replacement|enchant_dict_suggest|end|ereg|ereg_replace|eregi|eregi_replace|error_get_last|error_log|error_reporting|errorexception|escapeshellarg|escapeshellcmd|eval|event_add|event_base_free|event_base_loop|event_base_loopbreak|event_base_loopexit|event_base_new|event_base_priority_init|event_base_set|event_buffer_base_set|event_buffer_disable|event_buffer_enable|event_buffer_fd_set|event_buffer_free|event_buffer_new|event_buffer_priority_set|event_buffer_read|event_buffer_set_callback|event_buffer_timeout_set|event_buffer_watermark_set|event_buffer_write|event_del|event_free|event_new|event_set|exception|exec|exif_imagetype|exif_read_data|exif_tagname|exif_thumbnail|exit|exp|expect_expectl|expect_popen|explode|expm1|export|export|extension_loaded|extract|ezmlm_hash|fam_cancel_monitor|fam_close|fam_monitor_collection|fam_monitor_directory|fam_monitor_file|fam_next_event|fam_open|fam_pending|fam_resume_monitor|fam_suspend_monitor|fbsql_affected_rows|fbsql_autocommit|fbsql_blob_size|fbsql_change_user|fbsql_clob_size|fbsql_close|fbsql_commit|fbsql_connect|fbsql_create_blob|fbsql_create_clob|fbsql_create_db|fbsql_data_seek|fbsql_database|fbsql_database_password|fbsql_db_query|fbsql_db_status|fbsql_drop_db|fbsql_errno|fbsql_error|fbsql_fetch_array|fbsql_fetch_assoc|fbsql_fetch_field|fbsql_fetch_lengths|fbsql_fetch_object|fbsql_fetch_row|fbsql_field_flags|fbsql_field_len|fbsql_field_name|fbsql_field_seek|fbsql_field_table|fbsql_field_type|fbsql_free_result|fbsql_get_autostart_info|fbsql_hostname|fbsql_insert_id|fbsql_list_dbs|fbsql_list_fields|fbsql_list_tables|fbsql_next_result|fbsql_num_fields|fbsql_num_rows|fbsql_password|fbsql_pconnect|fbsql_query|fbsql_read_blob|fbsql_read_clob|fbsql_result|fbsql_rollback|fbsql_rows_fetched|fbsql_select_db|fbsql_set_characterset|fbsql_set_lob_mode|fbsql_set_password|fbsql_set_transaction|fbsql_start_db|fbsql_stop_db|fbsql_table_name|fbsql_tablename|fbsql_username|fbsql_warnings|fclose|fdf_add_doc_javascript|fdf_add_template|fdf_close|fdf_create|fdf_enum_values|fdf_errno|fdf_error|fdf_get_ap|fdf_get_attachment|fdf_get_encoding|fdf_get_file|fdf_get_flags|fdf_get_opt|fdf_get_status|fdf_get_value|fdf_get_version|fdf_header|fdf_next_field_name|fdf_open|fdf_open_string|fdf_remove_item|fdf_save|fdf_save_string|fdf_set_ap|fdf_set_encoding|fdf_set_file|fdf_set_flags|fdf_set_javascript_action|fdf_set_on_import_javascript|fdf_set_opt|fdf_set_status|fdf_set_submit_form_action|fdf_set_target_frame|fdf_set_value|fdf_set_version|feof|fflush|fgetc|fgetcsv|fgets|fgetss|file|file_exists|file_get_contents|file_put_contents|fileatime|filectime|filegroup|fileinode|filemtime|fileowner|fileperms|filepro|filepro_fieldcount|filepro_fieldname|filepro_fieldtype|filepro_fieldwidth|filepro_retrieve|filepro_rowcount|filesize|filesystemiterator|filetype|filter_has_var|filter_id|filter_input|filter_input_array|filter_list|filter_var|filter_var_array|filteriterator|finfo_buffer|finfo_close|finfo_file|finfo_open|finfo_set_flags|floatval|flock|floor|flush|fmod|fnmatch|fopen|forward_static_call|forward_static_call_array|fpassthru|fprintf|fputcsv|fputs|fread|frenchtojd|fribidi_log2vis|fscanf|fseek|fsockopen|fstat|ftell|ftok|ftp_alloc|ftp_cdup|ftp_chdir|ftp_chmod|ftp_close|ftp_connect|ftp_delete|ftp_exec|ftp_fget|ftp_fput|ftp_get|ftp_get_option|ftp_login|ftp_mdtm|ftp_mkdir|ftp_nb_continue|ftp_nb_fget|ftp_nb_fput|ftp_nb_get|ftp_nb_put|ftp_nlist|ftp_pasv|ftp_put|ftp_pwd|ftp_quit|ftp_raw|ftp_rawlist|ftp_rename|ftp_rmdir|ftp_set_option|ftp_site|ftp_size|ftp_ssl_connect|ftp_systype|ftruncate|func_get_arg|func_get_args|func_num_args|function_exists|fwrite|gc_collect_cycles|gc_disable|gc_enable|gc_enabled|gd_info|gearmanclient|gearmanjob|gearmantask|gearmanworker|geoip_continent_code_by_name|geoip_country_code3_by_name|geoip_country_code_by_name|geoip_country_name_by_name|geoip_database_info|geoip_db_avail|geoip_db_filename|geoip_db_get_all_info|geoip_id_by_name|geoip_isp_by_name|geoip_org_by_name|geoip_record_by_name|geoip_region_by_name|geoip_region_name_by_code|geoip_time_zone_by_country_and_region|getMeta|getNamed|getValue|get_browser|get_called_class|get_cfg_var|get_class|get_class_methods|get_class_vars|get_current_user|get_declared_classes|get_declared_interfaces|get_declared_traits|get_defined_constants|get_defined_functions|get_defined_vars|get_extension_funcs|get_headers|get_html_translation_table|get_include_path|get_included_files|get_loaded_extensions|get_magic_quotes_gpc|get_magic_quotes_runtime|get_meta_tags|get_object_vars|get_parent_class|get_required_files|get_resource_type|getallheaders|getconstant|getconstants|getconstructor|getcwd|getdate|getdefaultproperties|getdoccomment|getendline|getenv|getextension|getextensionname|getfilename|gethostbyaddr|gethostbyname|gethostbynamel|gethostname|getimagesize|getinterfacenames|getinterfaces|getlastmod|getmethod|getmethods|getmodifiers|getmxrr|getmygid|getmyinode|getmypid|getmyuid|getname|getnamespacename|getopt|getparentclass|getproperties|getproperty|getprotobyname|getprotobynumber|getrandmax|getrusage|getservbyname|getservbyport|getshortname|getstartline|getstaticproperties|getstaticpropertyvalue|gettext|gettimeofday|gettype|glob|globiterator|gmagick|gmagickdraw|gmagickpixel|gmdate|gmmktime|gmp_abs|gmp_add|gmp_and|gmp_clrbit|gmp_cmp|gmp_com|gmp_div|gmp_div_q|gmp_div_qr|gmp_div_r|gmp_divexact|gmp_fact|gmp_gcd|gmp_gcdext|gmp_hamdist|gmp_init|gmp_intval|gmp_invert|gmp_jacobi|gmp_legendre|gmp_mod|gmp_mul|gmp_neg|gmp_nextprime|gmp_or|gmp_perfect_square|gmp_popcount|gmp_pow|gmp_powm|gmp_prob_prime|gmp_random|gmp_scan0|gmp_scan1|gmp_setbit|gmp_sign|gmp_sqrt|gmp_sqrtrem|gmp_strval|gmp_sub|gmp_testbit|gmp_xor|gmstrftime|gnupg_adddecryptkey|gnupg_addencryptkey|gnupg_addsignkey|gnupg_cleardecryptkeys|gnupg_clearencryptkeys|gnupg_clearsignkeys|gnupg_decrypt|gnupg_decryptverify|gnupg_encrypt|gnupg_encryptsign|gnupg_export|gnupg_geterror|gnupg_getprotocol|gnupg_import|gnupg_init|gnupg_keyinfo|gnupg_setarmor|gnupg_seterrormode|gnupg_setsignmode|gnupg_sign|gnupg_verify|gopher_parsedir|grapheme_extract|grapheme_stripos|grapheme_stristr|grapheme_strlen|grapheme_strpos|grapheme_strripos|grapheme_strrpos|grapheme_strstr|grapheme_substr|gregoriantojd|gupnp_context_get_host_ip|gupnp_context_get_port|gupnp_context_get_subscription_timeout|gupnp_context_host_path|gupnp_context_new|gupnp_context_set_subscription_timeout|gupnp_context_timeout_add|gupnp_context_unhost_path|gupnp_control_point_browse_start|gupnp_control_point_browse_stop|gupnp_control_point_callback_set|gupnp_control_point_new|gupnp_device_action_callback_set|gupnp_device_info_get|gupnp_device_info_get_service|gupnp_root_device_get_available|gupnp_root_device_get_relative_location|gupnp_root_device_new|gupnp_root_device_set_available|gupnp_root_device_start|gupnp_root_device_stop|gupnp_service_action_get|gupnp_service_action_return|gupnp_service_action_return_error|gupnp_service_action_set|gupnp_service_freeze_notify|gupnp_service_info_get|gupnp_service_info_get_introspection|gupnp_service_introspection_get_state_variable|gupnp_service_notify|gupnp_service_proxy_action_get|gupnp_service_proxy_action_set|gupnp_service_proxy_add_notify|gupnp_service_proxy_callback_set|gupnp_service_proxy_get_subscribed|gupnp_service_proxy_remove_notify|gupnp_service_proxy_set_subscribed|gupnp_service_thaw_notify|gzclose|gzcompress|gzdecode|gzdeflate|gzencode|gzeof|gzfile|gzgetc|gzgets|gzgetss|gzinflate|gzopen|gzpassthru|gzputs|gzread|gzrewind|gzseek|gztell|gzuncompress|gzwrite|halt_compiler|haruannotation|haruannotation_setborderstyle|haruannotation_sethighlightmode|haruannotation_seticon|haruannotation_setopened|harudestination|harudestination_setfit|harudestination_setfitb|harudestination_setfitbh|harudestination_setfitbv|harudestination_setfith|harudestination_setfitr|harudestination_setfitv|harudestination_setxyz|harudoc|harudoc_addpage|harudoc_addpagelabel|harudoc_construct|harudoc_createoutline|harudoc_getcurrentencoder|harudoc_getcurrentpage|harudoc_getencoder|harudoc_getfont|harudoc_getinfoattr|harudoc_getpagelayout|harudoc_getpagemode|harudoc_getstreamsize|harudoc_insertpage|harudoc_loadjpeg|harudoc_loadpng|harudoc_loadraw|harudoc_loadttc|harudoc_loadttf|harudoc_loadtype1|harudoc_output|harudoc_readfromstream|harudoc_reseterror|harudoc_resetstream|harudoc_save|harudoc_savetostream|harudoc_setcompressionmode|harudoc_setcurrentencoder|harudoc_setencryptionmode|harudoc_setinfoattr|harudoc_setinfodateattr|harudoc_setopenaction|harudoc_setpagelayout|harudoc_setpagemode|harudoc_setpagesconfiguration|harudoc_setpassword|harudoc_setpermission|harudoc_usecnsencodings|harudoc_usecnsfonts|harudoc_usecntencodings|harudoc_usecntfonts|harudoc_usejpencodings|harudoc_usejpfonts|harudoc_usekrencodings|harudoc_usekrfonts|haruencoder|haruencoder_getbytetype|haruencoder_gettype|haruencoder_getunicode|haruencoder_getwritingmode|haruexception|harufont|harufont_getascent|harufont_getcapheight|harufont_getdescent|harufont_getencodingname|harufont_getfontname|harufont_gettextwidth|harufont_getunicodewidth|harufont_getxheight|harufont_measuretext|haruimage|haruimage_getbitspercomponent|haruimage_getcolorspace|haruimage_getheight|haruimage_getsize|haruimage_getwidth|haruimage_setcolormask|haruimage_setmaskimage|haruoutline|haruoutline_setdestination|haruoutline_setopened|harupage|harupage_arc|harupage_begintext|harupage_circle|harupage_closepath|harupage_concat|harupage_createdestination|harupage_createlinkannotation|harupage_createtextannotation|harupage_createurlannotation|harupage_curveto|harupage_curveto2|harupage_curveto3|harupage_drawimage|harupage_ellipse|harupage_endpath|harupage_endtext|harupage_eofill|harupage_eofillstroke|harupage_fill|harupage_fillstroke|harupage_getcharspace|harupage_getcmykfill|harupage_getcmykstroke|harupage_getcurrentfont|harupage_getcurrentfontsize|harupage_getcurrentpos|harupage_getcurrenttextpos|harupage_getdash|harupage_getfillingcolorspace|harupage_getflatness|harupage_getgmode|harupage_getgrayfill|harupage_getgraystroke|harupage_getheight|harupage_gethorizontalscaling|harupage_getlinecap|harupage_getlinejoin|harupage_getlinewidth|harupage_getmiterlimit|harupage_getrgbfill|harupage_getrgbstroke|harupage_getstrokingcolorspace|harupage_gettextleading|harupage_gettextmatrix|harupage_gettextrenderingmode|harupage_gettextrise|harupage_gettextwidth|harupage_gettransmatrix|harupage_getwidth|harupage_getwordspace|harupage_lineto|harupage_measuretext|harupage_movetextpos|harupage_moveto|harupage_movetonextline|harupage_rectangle|harupage_setcharspace|harupage_setcmykfill|harupage_setcmykstroke|harupage_setdash|harupage_setflatness|harupage_setfontandsize|harupage_setgrayfill|harupage_setgraystroke|harupage_setheight|harupage_sethorizontalscaling|harupage_setlinecap|harupage_setlinejoin|harupage_setlinewidth|harupage_setmiterlimit|harupage_setrgbfill|harupage_setrgbstroke|harupage_setrotate|harupage_setsize|harupage_setslideshow|harupage_settextleading|harupage_settextmatrix|harupage_settextrenderingmode|harupage_settextrise|harupage_setwidth|harupage_setwordspace|harupage_showtext|harupage_showtextnextline|harupage_stroke|harupage_textout|harupage_textrect|hasconstant|hash|hash_algos|hash_copy|hash_file|hash_final|hash_hmac|hash_hmac_file|hash_init|hash_update|hash_update_file|hash_update_stream|hasmethod|hasproperty|header|header_register_callback|header_remove|headers_list|headers_sent|hebrev|hebrevc|hex2bin|hexdec|highlight_file|highlight_string|html_entity_decode|htmlentities|htmlspecialchars|htmlspecialchars_decode|http_build_cookie|http_build_query|http_build_str|http_build_url|http_cache_etag|http_cache_last_modified|http_chunked_decode|http_date|http_deflate|http_get|http_get_request_body|http_get_request_body_stream|http_get_request_headers|http_head|http_inflate|http_match_etag|http_match_modified|http_match_request_header|http_negotiate_charset|http_negotiate_content_type|http_negotiate_language|http_parse_cookie|http_parse_headers|http_parse_message|http_parse_params|http_persistent_handles_clean|http_persistent_handles_count|http_persistent_handles_ident|http_post_data|http_post_fields|http_put_data|http_put_file|http_put_stream|http_redirect|http_request|http_request_body_encode|http_request_method_exists|http_request_method_name|http_request_method_register|http_request_method_unregister|http_response_code|http_send_content_disposition|http_send_content_type|http_send_data|http_send_file|http_send_last_modified|http_send_status|http_send_stream|http_support|http_throttle|httpdeflatestream|httpdeflatestream_construct|httpdeflatestream_factory|httpdeflatestream_finish|httpdeflatestream_flush|httpdeflatestream_update|httpinflatestream|httpinflatestream_construct|httpinflatestream_factory|httpinflatestream_finish|httpinflatestream_flush|httpinflatestream_update|httpmessage|httpmessage_addheaders|httpmessage_construct|httpmessage_detach|httpmessage_factory|httpmessage_fromenv|httpmessage_fromstring|httpmessage_getbody|httpmessage_getheader|httpmessage_getheaders|httpmessage_gethttpversion|httpmessage_getparentmessage|httpmessage_getrequestmethod|httpmessage_getrequesturl|httpmessage_getresponsecode|httpmessage_getresponsestatus|httpmessage_gettype|httpmessage_guesscontenttype|httpmessage_prepend|httpmessage_reverse|httpmessage_send|httpmessage_setbody|httpmessage_setheaders|httpmessage_sethttpversion|httpmessage_setrequestmethod|httpmessage_setrequesturl|httpmessage_setresponsecode|httpmessage_setresponsestatus|httpmessage_settype|httpmessage_tomessagetypeobject|httpmessage_tostring|httpquerystring|httpquerystring_construct|httpquerystring_get|httpquerystring_mod|httpquerystring_set|httpquerystring_singleton|httpquerystring_toarray|httpquerystring_tostring|httpquerystring_xlate|httprequest|httprequest_addcookies|httprequest_addheaders|httprequest_addpostfields|httprequest_addpostfile|httprequest_addputdata|httprequest_addquerydata|httprequest_addrawpostdata|httprequest_addssloptions|httprequest_clearhistory|httprequest_construct|httprequest_enablecookies|httprequest_getcontenttype|httprequest_getcookies|httprequest_getheaders|httprequest_gethistory|httprequest_getmethod|httprequest_getoptions|httprequest_getpostfields|httprequest_getpostfiles|httprequest_getputdata|httprequest_getputfile|httprequest_getquerydata|httprequest_getrawpostdata|httprequest_getrawrequestmessage|httprequest_getrawresponsemessage|httprequest_getrequestmessage|httprequest_getresponsebody|httprequest_getresponsecode|httprequest_getresponsecookies|httprequest_getresponsedata|httprequest_getresponseheader|httprequest_getresponseinfo|httprequest_getresponsemessage|httprequest_getresponsestatus|httprequest_getssloptions|httprequest_geturl|httprequest_resetcookies|httprequest_send|httprequest_setcontenttype|httprequest_setcookies|httprequest_setheaders|httprequest_setmethod|httprequest_setoptions|httprequest_setpostfields|httprequest_setpostfiles|httprequest_setputdata|httprequest_setputfile|httprequest_setquerydata|httprequest_setrawpostdata|httprequest_setssloptions|httprequest_seturl|httprequestpool|httprequestpool_attach|httprequestpool_construct|httprequestpool_destruct|httprequestpool_detach|httprequestpool_getattachedrequests|httprequestpool_getfinishedrequests|httprequestpool_reset|httprequestpool_send|httprequestpool_socketperform|httprequestpool_socketselect|httpresponse|httpresponse_capture|httpresponse_getbuffersize|httpresponse_getcache|httpresponse_getcachecontrol|httpresponse_getcontentdisposition|httpresponse_getcontenttype|httpresponse_getdata|httpresponse_getetag|httpresponse_getfile|httpresponse_getgzip|httpresponse_getheader|httpresponse_getlastmodified|httpresponse_getrequestbody|httpresponse_getrequestbodystream|httpresponse_getrequestheaders|httpresponse_getstream|httpresponse_getthrottledelay|httpresponse_guesscontenttype|httpresponse_redirect|httpresponse_send|httpresponse_setbuffersize|httpresponse_setcache|httpresponse_setcachecontrol|httpresponse_setcontentdisposition|httpresponse_setcontenttype|httpresponse_setdata|httpresponse_setetag|httpresponse_setfile|httpresponse_setgzip|httpresponse_setheader|httpresponse_setlastmodified|httpresponse_setstream|httpresponse_setthrottledelay|httpresponse_status|hw_array2objrec|hw_changeobject|hw_children|hw_childrenobj|hw_close|hw_connect|hw_connection_info|hw_cp|hw_deleteobject|hw_docbyanchor|hw_docbyanchorobj|hw_document_attributes|hw_document_bodytag|hw_document_content|hw_document_setcontent|hw_document_size|hw_dummy|hw_edittext|hw_error|hw_errormsg|hw_free_document|hw_getanchors|hw_getanchorsobj|hw_getandlock|hw_getchildcoll|hw_getchildcollobj|hw_getchilddoccoll|hw_getchilddoccollobj|hw_getobject|hw_getobjectbyquery|hw_getobjectbyquerycoll|hw_getobjectbyquerycollobj|hw_getobjectbyqueryobj|hw_getparents|hw_getparentsobj|hw_getrellink|hw_getremote|hw_getremotechildren|hw_getsrcbydestobj|hw_gettext|hw_getusername|hw_identify|hw_incollections|hw_info|hw_inscoll|hw_insdoc|hw_insertanchors|hw_insertdocument|hw_insertobject|hw_mapid|hw_modifyobject|hw_mv|hw_new_document|hw_objrec2array|hw_output_document|hw_pconnect|hw_pipedocument|hw_root|hw_setlinkroot|hw_stat|hw_unlock|hw_who|hwapi_attribute|hwapi_attribute_key|hwapi_attribute_langdepvalue|hwapi_attribute_value|hwapi_attribute_values|hwapi_checkin|hwapi_checkout|hwapi_children|hwapi_content|hwapi_content_mimetype|hwapi_content_read|hwapi_copy|hwapi_dbstat|hwapi_dcstat|hwapi_dstanchors|hwapi_dstofsrcanchor|hwapi_error_count|hwapi_error_reason|hwapi_find|hwapi_ftstat|hwapi_hgcsp|hwapi_hwstat|hwapi_identify|hwapi_info|hwapi_insert|hwapi_insertanchor|hwapi_insertcollection|hwapi_insertdocument|hwapi_link|hwapi_lock|hwapi_move|hwapi_new_content|hwapi_object|hwapi_object_assign|hwapi_object_attreditable|hwapi_object_count|hwapi_object_insert|hwapi_object_new|hwapi_object_remove|hwapi_object_title|hwapi_object_value|hwapi_objectbyanchor|hwapi_parents|hwapi_reason_description|hwapi_reason_type|hwapi_remove|hwapi_replace|hwapi_setcommittedversion|hwapi_srcanchors|hwapi_srcsofdst|hwapi_unlock|hwapi_user|hwapi_userlist|hypot|ibase_add_user|ibase_affected_rows|ibase_backup|ibase_blob_add|ibase_blob_cancel|ibase_blob_close|ibase_blob_create|ibase_blob_echo|ibase_blob_get|ibase_blob_import|ibase_blob_info|ibase_blob_open|ibase_close|ibase_commit|ibase_commit_ret|ibase_connect|ibase_db_info|ibase_delete_user|ibase_drop_db|ibase_errcode|ibase_errmsg|ibase_execute|ibase_fetch_assoc|ibase_fetch_object|ibase_fetch_row|ibase_field_info|ibase_free_event_handler|ibase_free_query|ibase_free_result|ibase_gen_id|ibase_maintain_db|ibase_modify_user|ibase_name_result|ibase_num_fields|ibase_num_params|ibase_param_info|ibase_pconnect|ibase_prepare|ibase_query|ibase_restore|ibase_rollback|ibase_rollback_ret|ibase_server_info|ibase_service_attach|ibase_service_detach|ibase_set_event_handler|ibase_timefmt|ibase_trans|ibase_wait_event|iconv|iconv_get_encoding|iconv_mime_decode|iconv_mime_decode_headers|iconv_mime_encode|iconv_set_encoding|iconv_strlen|iconv_strpos|iconv_strrpos|iconv_substr|id3_get_frame_long_name|id3_get_frame_short_name|id3_get_genre_id|id3_get_genre_list|id3_get_genre_name|id3_get_tag|id3_get_version|id3_remove_tag|id3_set_tag|id3v2attachedpictureframe|id3v2frame|id3v2tag|idate|idn_to_ascii|idn_to_unicode|idn_to_utf8|ifx_affected_rows|ifx_blobinfile_mode|ifx_byteasvarchar|ifx_close|ifx_connect|ifx_copy_blob|ifx_create_blob|ifx_create_char|ifx_do|ifx_error|ifx_errormsg|ifx_fetch_row|ifx_fieldproperties|ifx_fieldtypes|ifx_free_blob|ifx_free_char|ifx_free_result|ifx_get_blob|ifx_get_char|ifx_getsqlca|ifx_htmltbl_result|ifx_nullformat|ifx_num_fields|ifx_num_rows|ifx_pconnect|ifx_prepare|ifx_query|ifx_textasvarchar|ifx_update_blob|ifx_update_char|ifxus_close_slob|ifxus_create_slob|ifxus_free_slob|ifxus_open_slob|ifxus_read_slob|ifxus_seek_slob|ifxus_tell_slob|ifxus_write_slob|ignore_user_abort|iis_add_server|iis_get_dir_security|iis_get_script_map|iis_get_server_by_comment|iis_get_server_by_path|iis_get_server_rights|iis_get_service_state|iis_remove_server|iis_set_app_settings|iis_set_dir_security|iis_set_script_map|iis_set_server_rights|iis_start_server|iis_start_service|iis_stop_server|iis_stop_service|image2wbmp|image_type_to_extension|image_type_to_mime_type|imagealphablending|imageantialias|imagearc|imagechar|imagecharup|imagecolorallocate|imagecolorallocatealpha|imagecolorat|imagecolorclosest|imagecolorclosestalpha|imagecolorclosesthwb|imagecolordeallocate|imagecolorexact|imagecolorexactalpha|imagecolormatch|imagecolorresolve|imagecolorresolvealpha|imagecolorset|imagecolorsforindex|imagecolorstotal|imagecolortransparent|imageconvolution|imagecopy|imagecopymerge|imagecopymergegray|imagecopyresampled|imagecopyresized|imagecreate|imagecreatefromgd|imagecreatefromgd2|imagecreatefromgd2part|imagecreatefromgif|imagecreatefromjpeg|imagecreatefrompng|imagecreatefromstring|imagecreatefromwbmp|imagecreatefromxbm|imagecreatefromxpm|imagecreatetruecolor|imagedashedline|imagedestroy|imageellipse|imagefill|imagefilledarc|imagefilledellipse|imagefilledpolygon|imagefilledrectangle|imagefilltoborder|imagefilter|imagefontheight|imagefontwidth|imageftbbox|imagefttext|imagegammacorrect|imagegd|imagegd2|imagegif|imagegrabscreen|imagegrabwindow|imageinterlace|imageistruecolor|imagejpeg|imagelayereffect|imageline|imageloadfont|imagepalettecopy|imagepng|imagepolygon|imagepsbbox|imagepsencodefont|imagepsextendfont|imagepsfreefont|imagepsloadfont|imagepsslantfont|imagepstext|imagerectangle|imagerotate|imagesavealpha|imagesetbrush|imagesetpixel|imagesetstyle|imagesetthickness|imagesettile|imagestring|imagestringup|imagesx|imagesy|imagetruecolortopalette|imagettfbbox|imagettftext|imagetypes|imagewbmp|imagexbm|imagick|imagick_adaptiveblurimage|imagick_adaptiveresizeimage|imagick_adaptivesharpenimage|imagick_adaptivethresholdimage|imagick_addimage|imagick_addnoiseimage|imagick_affinetransformimage|imagick_animateimages|imagick_annotateimage|imagick_appendimages|imagick_averageimages|imagick_blackthresholdimage|imagick_blurimage|imagick_borderimage|imagick_charcoalimage|imagick_chopimage|imagick_clear|imagick_clipimage|imagick_clippathimage|imagick_clone|imagick_clutimage|imagick_coalesceimages|imagick_colorfloodfillimage|imagick_colorizeimage|imagick_combineimages|imagick_commentimage|imagick_compareimagechannels|imagick_compareimagelayers|imagick_compareimages|imagick_compositeimage|imagick_construct|imagick_contrastimage|imagick_contraststretchimage|imagick_convolveimage|imagick_cropimage|imagick_cropthumbnailimage|imagick_current|imagick_cyclecolormapimage|imagick_decipherimage|imagick_deconstructimages|imagick_deleteimageartifact|imagick_despeckleimage|imagick_destroy|imagick_displayimage|imagick_displayimages|imagick_distortimage|imagick_drawimage|imagick_edgeimage|imagick_embossimage|imagick_encipherimage|imagick_enhanceimage|imagick_equalizeimage|imagick_evaluateimage|imagick_extentimage|imagick_flattenimages|imagick_flipimage|imagick_floodfillpaintimage|imagick_flopimage|imagick_frameimage|imagick_fximage|imagick_gammaimage|imagick_gaussianblurimage|imagick_getcolorspace|imagick_getcompression|imagick_getcompressionquality|imagick_getcopyright|imagick_getfilename|imagick_getfont|imagick_getformat|imagick_getgravity|imagick_gethomeurl|imagick_getimage|imagick_getimagealphachannel|imagick_getimageartifact|imagick_getimagebackgroundcolor|imagick_getimageblob|imagick_getimageblueprimary|imagick_getimagebordercolor|imagick_getimagechanneldepth|imagick_getimagechanneldistortion|imagick_getimagechanneldistortions|imagick_getimagechannelextrema|imagick_getimagechannelmean|imagick_getimagechannelrange|imagick_getimagechannelstatistics|imagick_getimageclipmask|imagick_getimagecolormapcolor|imagick_getimagecolors|imagick_getimagecolorspace|imagick_getimagecompose|imagick_getimagecompression|imagick_getimagecompressionquality|imagick_getimagedelay|imagick_getimagedepth|imagick_getimagedispose|imagick_getimagedistortion|imagick_getimageextrema|imagick_getimagefilename|imagick_getimageformat|imagick_getimagegamma|imagick_getimagegeometry|imagick_getimagegravity|imagick_getimagegreenprimary|imagick_getimageheight|imagick_getimagehistogram|imagick_getimageindex|imagick_getimageinterlacescheme|imagick_getimageinterpolatemethod|imagick_getimageiterations|imagick_getimagelength|imagick_getimagemagicklicense|imagick_getimagematte|imagick_getimagemattecolor|imagick_getimageorientation|imagick_getimagepage|imagick_getimagepixelcolor|imagick_getimageprofile|imagick_getimageprofiles|imagick_getimageproperties|imagick_getimageproperty|imagick_getimageredprimary|imagick_getimageregion|imagick_getimagerenderingintent|imagick_getimageresolution|imagick_getimagesblob|imagick_getimagescene|imagick_getimagesignature|imagick_getimagesize|imagick_getimagetickspersecond|imagick_getimagetotalinkdensity|imagick_getimagetype|imagick_getimageunits|imagick_getimagevirtualpixelmethod|imagick_getimagewhitepoint|imagick_getimagewidth|imagick_getinterlacescheme|imagick_getiteratorindex|imagick_getnumberimages|imagick_getoption|imagick_getpackagename|imagick_getpage|imagick_getpixeliterator|imagick_getpixelregioniterator|imagick_getpointsize|imagick_getquantumdepth|imagick_getquantumrange|imagick_getreleasedate|imagick_getresource|imagick_getresourcelimit|imagick_getsamplingfactors|imagick_getsize|imagick_getsizeoffset|imagick_getversion|imagick_hasnextimage|imagick_haspreviousimage|imagick_identifyimage|imagick_implodeimage|imagick_labelimage|imagick_levelimage|imagick_linearstretchimage|imagick_liquidrescaleimage|imagick_magnifyimage|imagick_mapimage|imagick_mattefloodfillimage|imagick_medianfilterimage|imagick_mergeimagelayers|imagick_minifyimage|imagick_modulateimage|imagick_montageimage|imagick_morphimages|imagick_mosaicimages|imagick_motionblurimage|imagick_negateimage|imagick_newimage|imagick_newpseudoimage|imagick_nextimage|imagick_normalizeimage|imagick_oilpaintimage|imagick_opaquepaintimage|imagick_optimizeimagelayers|imagick_orderedposterizeimage|imagick_paintfloodfillimage|imagick_paintopaqueimage|imagick_painttransparentimage|imagick_pingimage|imagick_pingimageblob|imagick_pingimagefile|imagick_polaroidimage|imagick_posterizeimage|imagick_previewimages|imagick_previousimage|imagick_profileimage|imagick_quantizeimage|imagick_quantizeimages|imagick_queryfontmetrics|imagick_queryfonts|imagick_queryformats|imagick_radialblurimage|imagick_raiseimage|imagick_randomthresholdimage|imagick_readimage|imagick_readimageblob|imagick_readimagefile|imagick_recolorimage|imagick_reducenoiseimage|imagick_removeimage|imagick_removeimageprofile|imagick_render|imagick_resampleimage|imagick_resetimagepage|imagick_resizeimage|imagick_rollimage|imagick_rotateimage|imagick_roundcorners|imagick_sampleimage|imagick_scaleimage|imagick_separateimagechannel|imagick_sepiatoneimage|imagick_setbackgroundcolor|imagick_setcolorspace|imagick_setcompression|imagick_setcompressionquality|imagick_setfilename|imagick_setfirstiterator|imagick_setfont|imagick_setformat|imagick_setgravity|imagick_setimage|imagick_setimagealphachannel|imagick_setimageartifact|imagick_setimagebackgroundcolor|imagick_setimagebias|imagick_setimageblueprimary|imagick_setimagebordercolor|imagick_setimagechanneldepth|imagick_setimageclipmask|imagick_setimagecolormapcolor|imagick_setimagecolorspace|imagick_setimagecompose|imagick_setimagecompression|imagick_setimagecompressionquality|imagick_setimagedelay|imagick_setimagedepth|imagick_setimagedispose|imagick_setimageextent|imagick_setimagefilename|imagick_setimageformat|imagick_setimagegamma|imagick_setimagegravity|imagick_setimagegreenprimary|imagick_setimageindex|imagick_setimageinterlacescheme|imagick_setimageinterpolatemethod|imagick_setimageiterations|imagick_setimagematte|imagick_setimagemattecolor|imagick_setimageopacity|imagick_setimageorientation|imagick_setimagepage|imagick_setimageprofile|imagick_setimageproperty|imagick_setimageredprimary|imagick_setimagerenderingintent|imagick_setimageresolution|imagick_setimagescene|imagick_setimagetickspersecond|imagick_setimagetype|imagick_setimageunits|imagick_setimagevirtualpixelmethod|imagick_setimagewhitepoint|imagick_setinterlacescheme|imagick_setiteratorindex|imagick_setlastiterator|imagick_setoption|imagick_setpage|imagick_setpointsize|imagick_setresolution|imagick_setresourcelimit|imagick_setsamplingfactors|imagick_setsize|imagick_setsizeoffset|imagick_settype|imagick_shadeimage|imagick_shadowimage|imagick_sharpenimage|imagick_shaveimage|imagick_shearimage|imagick_sigmoidalcontrastimage|imagick_sketchimage|imagick_solarizeimage|imagick_spliceimage|imagick_spreadimage|imagick_steganoimage|imagick_stereoimage|imagick_stripimage|imagick_swirlimage|imagick_textureimage|imagick_thresholdimage|imagick_thumbnailimage|imagick_tintimage|imagick_transformimage|imagick_transparentpaintimage|imagick_transposeimage|imagick_transverseimage|imagick_trimimage|imagick_uniqueimagecolors|imagick_unsharpmaskimage|imagick_valid|imagick_vignetteimage|imagick_waveimage|imagick_whitethresholdimage|imagick_writeimage|imagick_writeimagefile|imagick_writeimages|imagick_writeimagesfile|imagickdraw|imagickdraw_affine|imagickdraw_annotation|imagickdraw_arc|imagickdraw_bezier|imagickdraw_circle|imagickdraw_clear|imagickdraw_clone|imagickdraw_color|imagickdraw_comment|imagickdraw_composite|imagickdraw_construct|imagickdraw_destroy|imagickdraw_ellipse|imagickdraw_getclippath|imagickdraw_getcliprule|imagickdraw_getclipunits|imagickdraw_getfillcolor|imagickdraw_getfillopacity|imagickdraw_getfillrule|imagickdraw_getfont|imagickdraw_getfontfamily|imagickdraw_getfontsize|imagickdraw_getfontstyle|imagickdraw_getfontweight|imagickdraw_getgravity|imagickdraw_getstrokeantialias|imagickdraw_getstrokecolor|imagickdraw_getstrokedasharray|imagickdraw_getstrokedashoffset|imagickdraw_getstrokelinecap|imagickdraw_getstrokelinejoin|imagickdraw_getstrokemiterlimit|imagickdraw_getstrokeopacity|imagickdraw_getstrokewidth|imagickdraw_gettextalignment|imagickdraw_gettextantialias|imagickdraw_gettextdecoration|imagickdraw_gettextencoding|imagickdraw_gettextundercolor|imagickdraw_getvectorgraphics|imagickdraw_line|imagickdraw_matte|imagickdraw_pathclose|imagickdraw_pathcurvetoabsolute|imagickdraw_pathcurvetoquadraticbezierabsolute|imagickdraw_pathcurvetoquadraticbezierrelative|imagickdraw_pathcurvetoquadraticbeziersmoothabsolute|imagickdraw_pathcurvetoquadraticbeziersmoothrelative|imagickdraw_pathcurvetorelative|imagickdraw_pathcurvetosmoothabsolute|imagickdraw_pathcurvetosmoothrelative|imagickdraw_pathellipticarcabsolute|imagickdraw_pathellipticarcrelative|imagickdraw_pathfinish|imagickdraw_pathlinetoabsolute|imagickdraw_pathlinetohorizontalabsolute|imagickdraw_pathlinetohorizontalrelative|imagickdraw_pathlinetorelative|imagickdraw_pathlinetoverticalabsolute|imagickdraw_pathlinetoverticalrelative|imagickdraw_pathmovetoabsolute|imagickdraw_pathmovetorelative|imagickdraw_pathstart|imagickdraw_point|imagickdraw_polygon|imagickdraw_polyline|imagickdraw_pop|imagickdraw_popclippath|imagickdraw_popdefs|imagickdraw_poppattern|imagickdraw_push|imagickdraw_pushclippath|imagickdraw_pushdefs|imagickdraw_pushpattern|imagickdraw_rectangle|imagickdraw_render|imagickdraw_rotate|imagickdraw_roundrectangle|imagickdraw_scale|imagickdraw_setclippath|imagickdraw_setcliprule|imagickdraw_setclipunits|imagickdraw_setfillalpha|imagickdraw_setfillcolor|imagickdraw_setfillopacity|imagickdraw_setfillpatternurl|imagickdraw_setfillrule|imagickdraw_setfont|imagickdraw_setfontfamily|imagickdraw_setfontsize|imagickdraw_setfontstretch|imagickdraw_setfontstyle|imagickdraw_setfontweight|imagickdraw_setgravity|imagickdraw_setstrokealpha|imagickdraw_setstrokeantialias|imagickdraw_setstrokecolor|imagickdraw_setstrokedasharray|imagickdraw_setstrokedashoffset|imagickdraw_setstrokelinecap|imagickdraw_setstrokelinejoin|imagickdraw_setstrokemiterlimit|imagickdraw_setstrokeopacity|imagickdraw_setstrokepatternurl|imagickdraw_setstrokewidth|imagickdraw_settextalignment|imagickdraw_settextantialias|imagickdraw_settextdecoration|imagickdraw_settextencoding|imagickdraw_settextundercolor|imagickdraw_setvectorgraphics|imagickdraw_setviewbox|imagickdraw_skewx|imagickdraw_skewy|imagickdraw_translate|imagickpixel|imagickpixel_clear|imagickpixel_construct|imagickpixel_destroy|imagickpixel_getcolor|imagickpixel_getcolorasstring|imagickpixel_getcolorcount|imagickpixel_getcolorvalue|imagickpixel_gethsl|imagickpixel_issimilar|imagickpixel_setcolor|imagickpixel_setcolorvalue|imagickpixel_sethsl|imagickpixeliterator|imagickpixeliterator_clear|imagickpixeliterator_construct|imagickpixeliterator_destroy|imagickpixeliterator_getcurrentiteratorrow|imagickpixeliterator_getiteratorrow|imagickpixeliterator_getnextiteratorrow|imagickpixeliterator_getpreviousiteratorrow|imagickpixeliterator_newpixeliterator|imagickpixeliterator_newpixelregioniterator|imagickpixeliterator_resetiterator|imagickpixeliterator_setiteratorfirstrow|imagickpixeliterator_setiteratorlastrow|imagickpixeliterator_setiteratorrow|imagickpixeliterator_synciterator|imap_8bit|imap_alerts|imap_append|imap_base64|imap_binary|imap_body|imap_bodystruct|imap_check|imap_clearflag_full|imap_close|imap_create|imap_createmailbox|imap_delete|imap_deletemailbox|imap_errors|imap_expunge|imap_fetch_overview|imap_fetchbody|imap_fetchheader|imap_fetchmime|imap_fetchstructure|imap_fetchtext|imap_gc|imap_get_quota|imap_get_quotaroot|imap_getacl|imap_getmailboxes|imap_getsubscribed|imap_header|imap_headerinfo|imap_headers|imap_last_error|imap_list|imap_listmailbox|imap_listscan|imap_listsubscribed|imap_lsub|imap_mail|imap_mail_compose|imap_mail_copy|imap_mail_move|imap_mailboxmsginfo|imap_mime_header_decode|imap_msgno|imap_num_msg|imap_num_recent|imap_open|imap_ping|imap_qprint|imap_rename|imap_renamemailbox|imap_reopen|imap_rfc822_parse_adrlist|imap_rfc822_parse_headers|imap_rfc822_write_address|imap_savebody|imap_scan|imap_scanmailbox|imap_search|imap_set_quota|imap_setacl|imap_setflag_full|imap_sort|imap_status|imap_subscribe|imap_thread|imap_timeout|imap_uid|imap_undelete|imap_unsubscribe|imap_utf7_decode|imap_utf7_encode|imap_utf8|implementsinterface|implode|import_request_variables|in_array|include|include_once|inclued_get_data|inet_ntop|inet_pton|infiniteiterator|ingres_autocommit|ingres_autocommit_state|ingres_charset|ingres_close|ingres_commit|ingres_connect|ingres_cursor|ingres_errno|ingres_error|ingres_errsqlstate|ingres_escape_string|ingres_execute|ingres_fetch_array|ingres_fetch_assoc|ingres_fetch_object|ingres_fetch_proc_return|ingres_fetch_row|ingres_field_length|ingres_field_name|ingres_field_nullable|ingres_field_precision|ingres_field_scale|ingres_field_type|ingres_free_result|ingres_next_error|ingres_num_fields|ingres_num_rows|ingres_pconnect|ingres_prepare|ingres_query|ingres_result_seek|ingres_rollback|ingres_set_environment|ingres_unbuffered_query|ini_alter|ini_get|ini_get_all|ini_restore|ini_set|innamespace|inotify_add_watch|inotify_init|inotify_queue_len|inotify_read|inotify_rm_watch|interface_exists|intl_error_name|intl_get_error_code|intl_get_error_message|intl_is_failure|intldateformatter|intval|invalidargumentexception|invoke|invokeargs|ip2long|iptcembed|iptcparse|is_a|is_array|is_bool|is_callable|is_dir|is_double|is_executable|is_file|is_finite|is_float|is_infinite|is_int|is_integer|is_link|is_long|is_nan|is_null|is_numeric|is_object|is_readable|is_real|is_resource|is_scalar|is_soap_fault|is_string|is_subclass_of|is_uploaded_file|is_writable|is_writeable|isabstract|iscloneable|isdisabled|isfinal|isinstance|isinstantiable|isinterface|isinternal|isiterateable|isset|issubclassof|isuserdefined|iterator|iterator_apply|iterator_count|iterator_to_array|iteratoraggregate|iteratoriterator|java_last_exception_clear|java_last_exception_get|jddayofweek|jdmonthname|jdtofrench|jdtogregorian|jdtojewish|jdtojulian|jdtounix|jewishtojd|join|jpeg2wbmp|json_decode|json_encode|json_last_error|jsonserializable|judy|judy_type|judy_version|juliantojd|kadm5_chpass_principal|kadm5_create_principal|kadm5_delete_principal|kadm5_destroy|kadm5_flush|kadm5_get_policies|kadm5_get_principal|kadm5_get_principals|kadm5_init_with_password|kadm5_modify_principal|key|krsort|ksort|lcfirst|lcg_value|lchgrp|lchown|ldap_8859_to_t61|ldap_add|ldap_bind|ldap_close|ldap_compare|ldap_connect|ldap_count_entries|ldap_delete|ldap_dn2ufn|ldap_err2str|ldap_errno|ldap_error|ldap_explode_dn|ldap_first_attribute|ldap_first_entry|ldap_first_reference|ldap_free_result|ldap_get_attributes|ldap_get_dn|ldap_get_entries|ldap_get_option|ldap_get_values|ldap_get_values_len|ldap_list|ldap_mod_add|ldap_mod_del|ldap_mod_replace|ldap_modify|ldap_next_attribute|ldap_next_entry|ldap_next_reference|ldap_parse_reference|ldap_parse_result|ldap_read|ldap_rename|ldap_sasl_bind|ldap_search|ldap_set_option|ldap_set_rebind_proc|ldap_sort|ldap_start_tls|ldap_t61_to_8859|ldap_unbind|lengthexception|levenshtein|libxml_clear_errors|libxml_disable_entity_loader|libxml_get_errors|libxml_get_last_error|libxml_set_streams_context|libxml_use_internal_errors|libxmlerror|limititerator|link|linkinfo|list|locale|localeconv|localtime|log|log10|log1p|logicexception|long2ip|lstat|ltrim|lzf_compress|lzf_decompress|lzf_optimized_for|m_checkstatus|m_completeauthorizations|m_connect|m_connectionerror|m_deletetrans|m_destroyconn|m_destroyengine|m_getcell|m_getcellbynum|m_getcommadelimited|m_getheader|m_initconn|m_initengine|m_iscommadelimited|m_maxconntimeout|m_monitor|m_numcolumns|m_numrows|m_parsecommadelimited|m_responsekeys|m_responseparam|m_returnstatus|m_setblocking|m_setdropfile|m_setip|m_setssl|m_setssl_cafile|m_setssl_files|m_settimeout|m_sslcert_gen_hash|m_transactionssent|m_transinqueue|m_transkeyval|m_transnew|m_transsend|m_uwait|m_validateidentifier|m_verifyconnection|m_verifysslcert|magic_quotes_runtime|mail|mailparse_determine_best_xfer_encoding|mailparse_msg_create|mailparse_msg_extract_part|mailparse_msg_extract_part_file|mailparse_msg_extract_whole_part_file|mailparse_msg_free|mailparse_msg_get_part|mailparse_msg_get_part_data|mailparse_msg_get_structure|mailparse_msg_parse|mailparse_msg_parse_file|mailparse_rfc822_parse_addresses|mailparse_stream_encode|mailparse_uudecode_all|main|max|maxdb_affected_rows|maxdb_autocommit|maxdb_bind_param|maxdb_bind_result|maxdb_change_user|maxdb_character_set_name|maxdb_client_encoding|maxdb_close|maxdb_close_long_data|maxdb_commit|maxdb_connect|maxdb_connect_errno|maxdb_connect_error|maxdb_data_seek|maxdb_debug|maxdb_disable_reads_from_master|maxdb_disable_rpl_parse|maxdb_dump_debug_info|maxdb_embedded_connect|maxdb_enable_reads_from_master|maxdb_enable_rpl_parse|maxdb_errno|maxdb_error|maxdb_escape_string|maxdb_execute|maxdb_fetch|maxdb_fetch_array|maxdb_fetch_assoc|maxdb_fetch_field|maxdb_fetch_field_direct|maxdb_fetch_fields|maxdb_fetch_lengths|maxdb_fetch_object|maxdb_fetch_row|maxdb_field_count|maxdb_field_seek|maxdb_field_tell|maxdb_free_result|maxdb_get_client_info|maxdb_get_client_version|maxdb_get_host_info|maxdb_get_metadata|maxdb_get_proto_info|maxdb_get_server_info|maxdb_get_server_version|maxdb_info|maxdb_init|maxdb_insert_id|maxdb_kill|maxdb_master_query|maxdb_more_results|maxdb_multi_query|maxdb_next_result|maxdb_num_fields|maxdb_num_rows|maxdb_options|maxdb_param_count|maxdb_ping|maxdb_prepare|maxdb_query|maxdb_real_connect|maxdb_real_escape_string|maxdb_real_query|maxdb_report|maxdb_rollback|maxdb_rpl_parse_enabled|maxdb_rpl_probe|maxdb_rpl_query_type|maxdb_select_db|maxdb_send_long_data|maxdb_send_query|maxdb_server_end|maxdb_server_init|maxdb_set_opt|maxdb_sqlstate|maxdb_ssl_set|maxdb_stat|maxdb_stmt_affected_rows|maxdb_stmt_bind_param|maxdb_stmt_bind_result|maxdb_stmt_close|maxdb_stmt_close_long_data|maxdb_stmt_data_seek|maxdb_stmt_errno|maxdb_stmt_error|maxdb_stmt_execute|maxdb_stmt_fetch|maxdb_stmt_free_result|maxdb_stmt_init|maxdb_stmt_num_rows|maxdb_stmt_param_count|maxdb_stmt_prepare|maxdb_stmt_reset|maxdb_stmt_result_metadata|maxdb_stmt_send_long_data|maxdb_stmt_sqlstate|maxdb_stmt_store_result|maxdb_store_result|maxdb_thread_id|maxdb_thread_safe|maxdb_use_result|maxdb_warning_count|mb_check_encoding|mb_convert_case|mb_convert_encoding|mb_convert_kana|mb_convert_variables|mb_decode_mimeheader|mb_decode_numericentity|mb_detect_encoding|mb_detect_order|mb_encode_mimeheader|mb_encode_numericentity|mb_encoding_aliases|mb_ereg|mb_ereg_match|mb_ereg_replace|mb_ereg_search|mb_ereg_search_getpos|mb_ereg_search_getregs|mb_ereg_search_init|mb_ereg_search_pos|mb_ereg_search_regs|mb_ereg_search_setpos|mb_eregi|mb_eregi_replace|mb_get_info|mb_http_input|mb_http_output|mb_internal_encoding|mb_language|mb_list_encodings|mb_output_handler|mb_parse_str|mb_preferred_mime_name|mb_regex_encoding|mb_regex_set_options|mb_send_mail|mb_split|mb_strcut|mb_strimwidth|mb_stripos|mb_stristr|mb_strlen|mb_strpos|mb_strrchr|mb_strrichr|mb_strripos|mb_strrpos|mb_strstr|mb_strtolower|mb_strtoupper|mb_strwidth|mb_substitute_character|mb_substr|mb_substr_count|mcrypt_cbc|mcrypt_cfb|mcrypt_create_iv|mcrypt_decrypt|mcrypt_ecb|mcrypt_enc_get_algorithms_name|mcrypt_enc_get_block_size|mcrypt_enc_get_iv_size|mcrypt_enc_get_key_size|mcrypt_enc_get_modes_name|mcrypt_enc_get_supported_key_sizes|mcrypt_enc_is_block_algorithm|mcrypt_enc_is_block_algorithm_mode|mcrypt_enc_is_block_mode|mcrypt_enc_self_test|mcrypt_encrypt|mcrypt_generic|mcrypt_generic_deinit|mcrypt_generic_end|mcrypt_generic_init|mcrypt_get_block_size|mcrypt_get_cipher_name|mcrypt_get_iv_size|mcrypt_get_key_size|mcrypt_list_algorithms|mcrypt_list_modes|mcrypt_module_close|mcrypt_module_get_algo_block_size|mcrypt_module_get_algo_key_size|mcrypt_module_get_supported_key_sizes|mcrypt_module_is_block_algorithm|mcrypt_module_is_block_algorithm_mode|mcrypt_module_is_block_mode|mcrypt_module_open|mcrypt_module_self_test|mcrypt_ofb|md5|md5_file|mdecrypt_generic|memcache|memcache_debug|memcached|memory_get_peak_usage|memory_get_usage|messageformatter|metaphone|method_exists|mhash|mhash_count|mhash_get_block_size|mhash_get_hash_name|mhash_keygen_s2k|microtime|mime_content_type|min|ming_keypress|ming_setcubicthreshold|ming_setscale|ming_setswfcompression|ming_useconstants|ming_useswfversion|mkdir|mktime|money_format|mongo|mongobindata|mongocode|mongocollection|mongoconnectionexception|mongocursor|mongocursorexception|mongocursortimeoutexception|mongodate|mongodb|mongodbref|mongoexception|mongogridfs|mongogridfscursor|mongogridfsexception|mongogridfsfile|mongoid|mongoint32|mongoint64|mongomaxkey|mongominkey|mongoregex|mongotimestamp|move_uploaded_file|mpegfile|mqseries_back|mqseries_begin|mqseries_close|mqseries_cmit|mqseries_conn|mqseries_connx|mqseries_disc|mqseries_get|mqseries_inq|mqseries_open|mqseries_put|mqseries_put1|mqseries_set|mqseries_strerror|msession_connect|msession_count|msession_create|msession_destroy|msession_disconnect|msession_find|msession_get|msession_get_array|msession_get_data|msession_inc|msession_list|msession_listvar|msession_lock|msession_plugin|msession_randstr|msession_set|msession_set_array|msession_set_data|msession_timeout|msession_uniq|msession_unlock|msg_get_queue|msg_queue_exists|msg_receive|msg_remove_queue|msg_send|msg_set_queue|msg_stat_queue|msql|msql_affected_rows|msql_close|msql_connect|msql_create_db|msql_createdb|msql_data_seek|msql_db_query|msql_dbname|msql_drop_db|msql_error|msql_fetch_array|msql_fetch_field|msql_fetch_object|msql_fetch_row|msql_field_flags|msql_field_len|msql_field_name|msql_field_seek|msql_field_table|msql_field_type|msql_fieldflags|msql_fieldlen|msql_fieldname|msql_fieldtable|msql_fieldtype|msql_free_result|msql_list_dbs|msql_list_fields|msql_list_tables|msql_num_fields|msql_num_rows|msql_numfields|msql_numrows|msql_pconnect|msql_query|msql_regcase|msql_result|msql_select_db|msql_tablename|mssql_bind|mssql_close|mssql_connect|mssql_data_seek|mssql_execute|mssql_fetch_array|mssql_fetch_assoc|mssql_fetch_batch|mssql_fetch_field|mssql_fetch_object|mssql_fetch_row|mssql_field_length|mssql_field_name|mssql_field_seek|mssql_field_type|mssql_free_result|mssql_free_statement|mssql_get_last_message|mssql_guid_string|mssql_init|mssql_min_error_severity|mssql_min_message_severity|mssql_next_result|mssql_num_fields|mssql_num_rows|mssql_pconnect|mssql_query|mssql_result|mssql_rows_affected|mssql_select_db|mt_getrandmax|mt_rand|mt_srand|multipleiterator|mysql_affected_rows|mysql_client_encoding|mysql_close|mysql_connect|mysql_create_db|mysql_data_seek|mysql_db_name|mysql_db_query|mysql_drop_db|mysql_errno|mysql_error|mysql_escape_string|mysql_fetch_array|mysql_fetch_assoc|mysql_fetch_field|mysql_fetch_lengths|mysql_fetch_object|mysql_fetch_row|mysql_field_flags|mysql_field_len|mysql_field_name|mysql_field_seek|mysql_field_table|mysql_field_type|mysql_free_result|mysql_get_client_info|mysql_get_host_info|mysql_get_proto_info|mysql_get_server_info|mysql_info|mysql_insert_id|mysql_list_dbs|mysql_list_fields|mysql_list_processes|mysql_list_tables|mysql_num_fields|mysql_num_rows|mysql_pconnect|mysql_ping|mysql_query|mysql_real_escape_string|mysql_result|mysql_select_db|mysql_set_charset|mysql_stat|mysql_tablename|mysql_thread_id|mysql_unbuffered_query|mysqli|mysqli_affected_rows|mysqli_autocommit|mysqli_bind_param|mysqli_bind_result|mysqli_cache_stats|mysqli_change_user|mysqli_character_set_name|mysqli_client_encoding|mysqli_close|mysqli_commit|mysqli_connect|mysqli_connect_errno|mysqli_connect_error|mysqli_data_seek|mysqli_debug|mysqli_disable_reads_from_master|mysqli_disable_rpl_parse|mysqli_driver|mysqli_dump_debug_info|mysqli_embedded_server_end|mysqli_embedded_server_start|mysqli_enable_reads_from_master|mysqli_enable_rpl_parse|mysqli_errno|mysqli_error|mysqli_escape_string|mysqli_execute|mysqli_fetch|mysqli_fetch_all|mysqli_fetch_array|mysqli_fetch_assoc|mysqli_fetch_field|mysqli_fetch_field_direct|mysqli_fetch_fields|mysqli_fetch_lengths|mysqli_fetch_object|mysqli_fetch_row|mysqli_field_count|mysqli_field_seek|mysqli_field_tell|mysqli_free_result|mysqli_get_charset|mysqli_get_client_info|mysqli_get_client_stats|mysqli_get_client_version|mysqli_get_connection_stats|mysqli_get_host_info|mysqli_get_metadata|mysqli_get_proto_info|mysqli_get_server_info|mysqli_get_server_version|mysqli_get_warnings|mysqli_info|mysqli_init|mysqli_insert_id|mysqli_kill|mysqli_link_construct|mysqli_master_query|mysqli_more_results|mysqli_multi_query|mysqli_next_result|mysqli_num_fields|mysqli_num_rows|mysqli_options|mysqli_param_count|mysqli_ping|mysqli_poll|mysqli_prepare|mysqli_query|mysqli_real_connect|mysqli_real_escape_string|mysqli_real_query|mysqli_reap_async_query|mysqli_refresh|mysqli_report|mysqli_result|mysqli_rollback|mysqli_rpl_parse_enabled|mysqli_rpl_probe|mysqli_rpl_query_type|mysqli_select_db|mysqli_send_long_data|mysqli_send_query|mysqli_set_charset|mysqli_set_local_infile_default|mysqli_set_local_infile_handler|mysqli_set_opt|mysqli_slave_query|mysqli_sqlstate|mysqli_ssl_set|mysqli_stat|mysqli_stmt|mysqli_stmt_affected_rows|mysqli_stmt_attr_get|mysqli_stmt_attr_set|mysqli_stmt_bind_param|mysqli_stmt_bind_result|mysqli_stmt_close|mysqli_stmt_data_seek|mysqli_stmt_errno|mysqli_stmt_error|mysqli_stmt_execute|mysqli_stmt_fetch|mysqli_stmt_field_count|mysqli_stmt_free_result|mysqli_stmt_get_result|mysqli_stmt_get_warnings|mysqli_stmt_init|mysqli_stmt_insert_id|mysqli_stmt_next_result|mysqli_stmt_num_rows|mysqli_stmt_param_count|mysqli_stmt_prepare|mysqli_stmt_reset|mysqli_stmt_result_metadata|mysqli_stmt_send_long_data|mysqli_stmt_sqlstate|mysqli_stmt_store_result|mysqli_store_result|mysqli_thread_id|mysqli_thread_safe|mysqli_use_result|mysqli_warning|mysqli_warning_count|mysqlnd_ms_get_stats|mysqlnd_ms_query_is_select|mysqlnd_ms_set_user_pick_server|mysqlnd_qc_change_handler|mysqlnd_qc_clear_cache|mysqlnd_qc_get_cache_info|mysqlnd_qc_get_core_stats|mysqlnd_qc_get_handler|mysqlnd_qc_get_query_trace_log|mysqlnd_qc_set_user_handlers|natcasesort|natsort|ncurses_addch|ncurses_addchnstr|ncurses_addchstr|ncurses_addnstr|ncurses_addstr|ncurses_assume_default_colors|ncurses_attroff|ncurses_attron|ncurses_attrset|ncurses_baudrate|ncurses_beep|ncurses_bkgd|ncurses_bkgdset|ncurses_border|ncurses_bottom_panel|ncurses_can_change_color|ncurses_cbreak|ncurses_clear|ncurses_clrtobot|ncurses_clrtoeol|ncurses_color_content|ncurses_color_set|ncurses_curs_set|ncurses_def_prog_mode|ncurses_def_shell_mode|ncurses_define_key|ncurses_del_panel|ncurses_delay_output|ncurses_delch|ncurses_deleteln|ncurses_delwin|ncurses_doupdate|ncurses_echo|ncurses_echochar|ncurses_end|ncurses_erase|ncurses_erasechar|ncurses_filter|ncurses_flash|ncurses_flushinp|ncurses_getch|ncurses_getmaxyx|ncurses_getmouse|ncurses_getyx|ncurses_halfdelay|ncurses_has_colors|ncurses_has_ic|ncurses_has_il|ncurses_has_key|ncurses_hide_panel|ncurses_hline|ncurses_inch|ncurses_init|ncurses_init_color|ncurses_init_pair|ncurses_insch|ncurses_insdelln|ncurses_insertln|ncurses_insstr|ncurses_instr|ncurses_isendwin|ncurses_keyok|ncurses_keypad|ncurses_killchar|ncurses_longname|ncurses_meta|ncurses_mouse_trafo|ncurses_mouseinterval|ncurses_mousemask|ncurses_move|ncurses_move_panel|ncurses_mvaddch|ncurses_mvaddchnstr|ncurses_mvaddchstr|ncurses_mvaddnstr|ncurses_mvaddstr|ncurses_mvcur|ncurses_mvdelch|ncurses_mvgetch|ncurses_mvhline|ncurses_mvinch|ncurses_mvvline|ncurses_mvwaddstr|ncurses_napms|ncurses_new_panel|ncurses_newpad|ncurses_newwin|ncurses_nl|ncurses_nocbreak|ncurses_noecho|ncurses_nonl|ncurses_noqiflush|ncurses_noraw|ncurses_pair_content|ncurses_panel_above|ncurses_panel_below|ncurses_panel_window|ncurses_pnoutrefresh|ncurses_prefresh|ncurses_putp|ncurses_qiflush|ncurses_raw|ncurses_refresh|ncurses_replace_panel|ncurses_reset_prog_mode|ncurses_reset_shell_mode|ncurses_resetty|ncurses_savetty|ncurses_scr_dump|ncurses_scr_init|ncurses_scr_restore|ncurses_scr_set|ncurses_scrl|ncurses_show_panel|ncurses_slk_attr|ncurses_slk_attroff|ncurses_slk_attron|ncurses_slk_attrset|ncurses_slk_clear|ncurses_slk_color|ncurses_slk_init|ncurses_slk_noutrefresh|ncurses_slk_refresh|ncurses_slk_restore|ncurses_slk_set|ncurses_slk_touch|ncurses_standend|ncurses_standout|ncurses_start_color|ncurses_termattrs|ncurses_termname|ncurses_timeout|ncurses_top_panel|ncurses_typeahead|ncurses_ungetch|ncurses_ungetmouse|ncurses_update_panels|ncurses_use_default_colors|ncurses_use_env|ncurses_use_extended_names|ncurses_vidattr|ncurses_vline|ncurses_waddch|ncurses_waddstr|ncurses_wattroff|ncurses_wattron|ncurses_wattrset|ncurses_wborder|ncurses_wclear|ncurses_wcolor_set|ncurses_werase|ncurses_wgetch|ncurses_whline|ncurses_wmouse_trafo|ncurses_wmove|ncurses_wnoutrefresh|ncurses_wrefresh|ncurses_wstandend|ncurses_wstandout|ncurses_wvline|newinstance|newinstanceargs|newt_bell|newt_button|newt_button_bar|newt_centered_window|newt_checkbox|newt_checkbox_get_value|newt_checkbox_set_flags|newt_checkbox_set_value|newt_checkbox_tree|newt_checkbox_tree_add_item|newt_checkbox_tree_find_item|newt_checkbox_tree_get_current|newt_checkbox_tree_get_entry_value|newt_checkbox_tree_get_multi_selection|newt_checkbox_tree_get_selection|newt_checkbox_tree_multi|newt_checkbox_tree_set_current|newt_checkbox_tree_set_entry|newt_checkbox_tree_set_entry_value|newt_checkbox_tree_set_width|newt_clear_key_buffer|newt_cls|newt_compact_button|newt_component_add_callback|newt_component_takes_focus|newt_create_grid|newt_cursor_off|newt_cursor_on|newt_delay|newt_draw_form|newt_draw_root_text|newt_entry|newt_entry_get_value|newt_entry_set|newt_entry_set_filter|newt_entry_set_flags|newt_finished|newt_form|newt_form_add_component|newt_form_add_components|newt_form_add_hot_key|newt_form_destroy|newt_form_get_current|newt_form_run|newt_form_set_background|newt_form_set_height|newt_form_set_size|newt_form_set_timer|newt_form_set_width|newt_form_watch_fd|newt_get_screen_size|newt_grid_add_components_to_form|newt_grid_basic_window|newt_grid_free|newt_grid_get_size|newt_grid_h_close_stacked|newt_grid_h_stacked|newt_grid_place|newt_grid_set_field|newt_grid_simple_window|newt_grid_v_close_stacked|newt_grid_v_stacked|newt_grid_wrapped_window|newt_grid_wrapped_window_at|newt_init|newt_label|newt_label_set_text|newt_listbox|newt_listbox_append_entry|newt_listbox_clear|newt_listbox_clear_selection|newt_listbox_delete_entry|newt_listbox_get_current|newt_listbox_get_selection|newt_listbox_insert_entry|newt_listbox_item_count|newt_listbox_select_item|newt_listbox_set_current|newt_listbox_set_current_by_key|newt_listbox_set_data|newt_listbox_set_entry|newt_listbox_set_width|newt_listitem|newt_listitem_get_data|newt_listitem_set|newt_open_window|newt_pop_help_line|newt_pop_window|newt_push_help_line|newt_radio_get_current|newt_radiobutton|newt_redraw_help_line|newt_reflow_text|newt_refresh|newt_resize_screen|newt_resume|newt_run_form|newt_scale|newt_scale_set|newt_scrollbar_set|newt_set_help_callback|newt_set_suspend_callback|newt_suspend|newt_textbox|newt_textbox_get_num_lines|newt_textbox_reflowed|newt_textbox_set_height|newt_textbox_set_text|newt_vertical_scrollbar|newt_wait_for_key|newt_win_choice|newt_win_entries|newt_win_menu|newt_win_message|newt_win_messagev|newt_win_ternary|next|ngettext|nl2br|nl_langinfo|norewinditerator|normalizer|notes_body|notes_copy_db|notes_create_db|notes_create_note|notes_drop_db|notes_find_note|notes_header_info|notes_list_msgs|notes_mark_read|notes_mark_unread|notes_nav_create|notes_search|notes_unread|notes_version|nsapi_request_headers|nsapi_response_headers|nsapi_virtual|nthmac|number_format|numberformatter|oauth|oauth_get_sbs|oauth_urlencode|oauthexception|oauthprovider|ob_clean|ob_deflatehandler|ob_end_clean|ob_end_flush|ob_etaghandler|ob_flush|ob_get_clean|ob_get_contents|ob_get_flush|ob_get_length|ob_get_level|ob_get_status|ob_gzhandler|ob_iconv_handler|ob_implicit_flush|ob_inflatehandler|ob_list_handlers|ob_start|ob_tidyhandler|oci_bind_array_by_name|oci_bind_by_name|oci_cancel|oci_client_version|oci_close|oci_collection_append|oci_collection_assign|oci_collection_element_assign|oci_collection_element_get|oci_collection_free|oci_collection_max|oci_collection_size|oci_collection_trim|oci_commit|oci_connect|oci_define_by_name|oci_error|oci_execute|oci_fetch|oci_fetch_all|oci_fetch_array|oci_fetch_assoc|oci_fetch_object|oci_fetch_row|oci_field_is_null|oci_field_name|oci_field_precision|oci_field_scale|oci_field_size|oci_field_type|oci_field_type_raw|oci_free_statement|oci_internal_debug|oci_lob_append|oci_lob_close|oci_lob_copy|oci_lob_eof|oci_lob_erase|oci_lob_export|oci_lob_flush|oci_lob_free|oci_lob_getbuffering|oci_lob_import|oci_lob_is_equal|oci_lob_load|oci_lob_read|oci_lob_rewind|oci_lob_save|oci_lob_savefile|oci_lob_seek|oci_lob_setbuffering|oci_lob_size|oci_lob_tell|oci_lob_truncate|oci_lob_write|oci_lob_writetemporary|oci_lob_writetofile|oci_new_collection|oci_new_connect|oci_new_cursor|oci_new_descriptor|oci_num_fields|oci_num_rows|oci_parse|oci_password_change|oci_pconnect|oci_result|oci_rollback|oci_server_version|oci_set_action|oci_set_client_identifier|oci_set_client_info|oci_set_edition|oci_set_module_name|oci_set_prefetch|oci_statement_type|ocibindbyname|ocicancel|ocicloselob|ocicollappend|ocicollassign|ocicollassignelem|ocicollgetelem|ocicollmax|ocicollsize|ocicolltrim|ocicolumnisnull|ocicolumnname|ocicolumnprecision|ocicolumnscale|ocicolumnsize|ocicolumntype|ocicolumntyperaw|ocicommit|ocidefinebyname|ocierror|ociexecute|ocifetch|ocifetchinto|ocifetchstatement|ocifreecollection|ocifreecursor|ocifreedesc|ocifreestatement|ociinternaldebug|ociloadlob|ocilogoff|ocilogon|ocinewcollection|ocinewcursor|ocinewdescriptor|ocinlogon|ocinumcols|ociparse|ociplogon|ociresult|ocirollback|ocirowcount|ocisavelob|ocisavelobfile|ociserverversion|ocisetprefetch|ocistatementtype|ociwritelobtofile|ociwritetemporarylob|octdec|odbc_autocommit|odbc_binmode|odbc_close|odbc_close_all|odbc_columnprivileges|odbc_columns|odbc_commit|odbc_connect|odbc_cursor|odbc_data_source|odbc_do|odbc_error|odbc_errormsg|odbc_exec|odbc_execute|odbc_fetch_array|odbc_fetch_into|odbc_fetch_object|odbc_fetch_row|odbc_field_len|odbc_field_name|odbc_field_num|odbc_field_precision|odbc_field_scale|odbc_field_type|odbc_foreignkeys|odbc_free_result|odbc_gettypeinfo|odbc_longreadlen|odbc_next_result|odbc_num_fields|odbc_num_rows|odbc_pconnect|odbc_prepare|odbc_primarykeys|odbc_procedurecolumns|odbc_procedures|odbc_result|odbc_result_all|odbc_rollback|odbc_setoption|odbc_specialcolumns|odbc_statistics|odbc_tableprivileges|odbc_tables|openal_buffer_create|openal_buffer_data|openal_buffer_destroy|openal_buffer_get|openal_buffer_loadwav|openal_context_create|openal_context_current|openal_context_destroy|openal_context_process|openal_context_suspend|openal_device_close|openal_device_open|openal_listener_get|openal_listener_set|openal_source_create|openal_source_destroy|openal_source_get|openal_source_pause|openal_source_play|openal_source_rewind|openal_source_set|openal_source_stop|openal_stream|opendir|openlog|openssl_cipher_iv_length|openssl_csr_export|openssl_csr_export_to_file|openssl_csr_get_public_key|openssl_csr_get_subject|openssl_csr_new|openssl_csr_sign|openssl_decrypt|openssl_dh_compute_key|openssl_digest|openssl_encrypt|openssl_error_string|openssl_free_key|openssl_get_cipher_methods|openssl_get_md_methods|openssl_get_privatekey|openssl_get_publickey|openssl_open|openssl_pkcs12_export|openssl_pkcs12_export_to_file|openssl_pkcs12_read|openssl_pkcs7_decrypt|openssl_pkcs7_encrypt|openssl_pkcs7_sign|openssl_pkcs7_verify|openssl_pkey_export|openssl_pkey_export_to_file|openssl_pkey_free|openssl_pkey_get_details|openssl_pkey_get_private|openssl_pkey_get_public|openssl_pkey_new|openssl_private_decrypt|openssl_private_encrypt|openssl_public_decrypt|openssl_public_encrypt|openssl_random_pseudo_bytes|openssl_seal|openssl_sign|openssl_verify|openssl_x509_check_private_key|openssl_x509_checkpurpose|openssl_x509_export|openssl_x509_export_to_file|openssl_x509_free|openssl_x509_parse|openssl_x509_read|ord|outeriterator|outofboundsexception|outofrangeexception|output_add_rewrite_var|output_reset_rewrite_vars|overflowexception|overload|override_function|ovrimos_close|ovrimos_commit|ovrimos_connect|ovrimos_cursor|ovrimos_exec|ovrimos_execute|ovrimos_fetch_into|ovrimos_fetch_row|ovrimos_field_len|ovrimos_field_name|ovrimos_field_num|ovrimos_field_type|ovrimos_free_result|ovrimos_longreadlen|ovrimos_num_fields|ovrimos_num_rows|ovrimos_prepare|ovrimos_result|ovrimos_result_all|ovrimos_rollback|pack|parentiterator|parse_ini_file|parse_ini_string|parse_str|parse_url|parsekit_compile_file|parsekit_compile_string|parsekit_func_arginfo|passthru|pathinfo|pclose|pcntl_alarm|pcntl_exec|pcntl_fork|pcntl_getpriority|pcntl_setpriority|pcntl_signal|pcntl_signal_dispatch|pcntl_sigprocmask|pcntl_sigtimedwait|pcntl_sigwaitinfo|pcntl_wait|pcntl_waitpid|pcntl_wexitstatus|pcntl_wifexited|pcntl_wifsignaled|pcntl_wifstopped|pcntl_wstopsig|pcntl_wtermsig|pdf_activate_item|pdf_add_annotation|pdf_add_bookmark|pdf_add_launchlink|pdf_add_locallink|pdf_add_nameddest|pdf_add_note|pdf_add_outline|pdf_add_pdflink|pdf_add_table_cell|pdf_add_textflow|pdf_add_thumbnail|pdf_add_weblink|pdf_arc|pdf_arcn|pdf_attach_file|pdf_begin_document|pdf_begin_font|pdf_begin_glyph|pdf_begin_item|pdf_begin_layer|pdf_begin_page|pdf_begin_page_ext|pdf_begin_pattern|pdf_begin_template|pdf_begin_template_ext|pdf_circle|pdf_clip|pdf_close|pdf_close_image|pdf_close_pdi|pdf_close_pdi_page|pdf_closepath|pdf_closepath_fill_stroke|pdf_closepath_stroke|pdf_concat|pdf_continue_text|pdf_create_3dview|pdf_create_action|pdf_create_annotation|pdf_create_bookmark|pdf_create_field|pdf_create_fieldgroup|pdf_create_gstate|pdf_create_pvf|pdf_create_textflow|pdf_curveto|pdf_define_layer|pdf_delete|pdf_delete_pvf|pdf_delete_table|pdf_delete_textflow|pdf_encoding_set_char|pdf_end_document|pdf_end_font|pdf_end_glyph|pdf_end_item|pdf_end_layer|pdf_end_page|pdf_end_page_ext|pdf_end_pattern|pdf_end_template|pdf_endpath|pdf_fill|pdf_fill_imageblock|pdf_fill_pdfblock|pdf_fill_stroke|pdf_fill_textblock|pdf_findfont|pdf_fit_image|pdf_fit_pdi_page|pdf_fit_table|pdf_fit_textflow|pdf_fit_textline|pdf_get_apiname|pdf_get_buffer|pdf_get_errmsg|pdf_get_errnum|pdf_get_font|pdf_get_fontname|pdf_get_fontsize|pdf_get_image_height|pdf_get_image_width|pdf_get_majorversion|pdf_get_minorversion|pdf_get_parameter|pdf_get_pdi_parameter|pdf_get_pdi_value|pdf_get_value|pdf_info_font|pdf_info_matchbox|pdf_info_table|pdf_info_textflow|pdf_info_textline|pdf_initgraphics|pdf_lineto|pdf_load_3ddata|pdf_load_font|pdf_load_iccprofile|pdf_load_image|pdf_makespotcolor|pdf_moveto|pdf_new|pdf_open_ccitt|pdf_open_file|pdf_open_gif|pdf_open_image|pdf_open_image_file|pdf_open_jpeg|pdf_open_memory_image|pdf_open_pdi|pdf_open_pdi_document|pdf_open_pdi_page|pdf_open_tiff|pdf_pcos_get_number|pdf_pcos_get_stream|pdf_pcos_get_string|pdf_place_image|pdf_place_pdi_page|pdf_process_pdi|pdf_rect|pdf_restore|pdf_resume_page|pdf_rotate|pdf_save|pdf_scale|pdf_set_border_color|pdf_set_border_dash|pdf_set_border_style|pdf_set_char_spacing|pdf_set_duration|pdf_set_gstate|pdf_set_horiz_scaling|pdf_set_info|pdf_set_info_author|pdf_set_info_creator|pdf_set_info_keywords|pdf_set_info_subject|pdf_set_info_title|pdf_set_layer_dependency|pdf_set_leading|pdf_set_parameter|pdf_set_text_matrix|pdf_set_text_pos|pdf_set_text_rendering|pdf_set_text_rise|pdf_set_value|pdf_set_word_spacing|pdf_setcolor|pdf_setdash|pdf_setdashpattern|pdf_setflat|pdf_setfont|pdf_setgray|pdf_setgray_fill|pdf_setgray_stroke|pdf_setlinecap|pdf_setlinejoin|pdf_setlinewidth|pdf_setmatrix|pdf_setmiterlimit|pdf_setpolydash|pdf_setrgbcolor|pdf_setrgbcolor_fill|pdf_setrgbcolor_stroke|pdf_shading|pdf_shading_pattern|pdf_shfill|pdf_show|pdf_show_boxed|pdf_show_xy|pdf_skew|pdf_stringwidth|pdf_stroke|pdf_suspend_page|pdf_translate|pdf_utf16_to_utf8|pdf_utf32_to_utf16|pdf_utf8_to_utf16|pdo|pdo_cubrid_schema|pdo_pgsqllobcreate|pdo_pgsqllobopen|pdo_pgsqllobunlink|pdo_sqlitecreateaggregate|pdo_sqlitecreatefunction|pdoexception|pdostatement|pfsockopen|pg_affected_rows|pg_cancel_query|pg_client_encoding|pg_close|pg_connect|pg_connection_busy|pg_connection_reset|pg_connection_status|pg_convert|pg_copy_from|pg_copy_to|pg_dbname|pg_delete|pg_end_copy|pg_escape_bytea|pg_escape_string|pg_execute|pg_fetch_all|pg_fetch_all_columns|pg_fetch_array|pg_fetch_assoc|pg_fetch_object|pg_fetch_result|pg_fetch_row|pg_field_is_null|pg_field_name|pg_field_num|pg_field_prtlen|pg_field_size|pg_field_table|pg_field_type|pg_field_type_oid|pg_free_result|pg_get_notify|pg_get_pid|pg_get_result|pg_host|pg_insert|pg_last_error|pg_last_notice|pg_last_oid|pg_lo_close|pg_lo_create|pg_lo_export|pg_lo_import|pg_lo_open|pg_lo_read|pg_lo_read_all|pg_lo_seek|pg_lo_tell|pg_lo_unlink|pg_lo_write|pg_meta_data|pg_num_fields|pg_num_rows|pg_options|pg_parameter_status|pg_pconnect|pg_ping|pg_port|pg_prepare|pg_put_line|pg_query|pg_query_params|pg_result_error|pg_result_error_field|pg_result_seek|pg_result_status|pg_select|pg_send_execute|pg_send_prepare|pg_send_query|pg_send_query_params|pg_set_client_encoding|pg_set_error_verbosity|pg_trace|pg_transaction_status|pg_tty|pg_unescape_bytea|pg_untrace|pg_update|pg_version|php_check_syntax|php_ini_loaded_file|php_ini_scanned_files|php_logo_guid|php_sapi_name|php_strip_whitespace|php_uname|phpcredits|phpinfo|phpversion|pi|png2wbmp|popen|pos|posix_access|posix_ctermid|posix_errno|posix_get_last_error|posix_getcwd|posix_getegid|posix_geteuid|posix_getgid|posix_getgrgid|posix_getgrnam|posix_getgroups|posix_getlogin|posix_getpgid|posix_getpgrp|posix_getpid|posix_getppid|posix_getpwnam|posix_getpwuid|posix_getrlimit|posix_getsid|posix_getuid|posix_initgroups|posix_isatty|posix_kill|posix_mkfifo|posix_mknod|posix_setegid|posix_seteuid|posix_setgid|posix_setpgid|posix_setsid|posix_setuid|posix_strerror|posix_times|posix_ttyname|posix_uname|pow|preg_filter|preg_grep|preg_last_error|preg_match|preg_match_all|preg_quote|preg_replace|preg_replace_callback|preg_split|prev|print|print_r|printer_abort|printer_close|printer_create_brush|printer_create_dc|printer_create_font|printer_create_pen|printer_delete_brush|printer_delete_dc|printer_delete_font|printer_delete_pen|printer_draw_bmp|printer_draw_chord|printer_draw_elipse|printer_draw_line|printer_draw_pie|printer_draw_rectangle|printer_draw_roundrect|printer_draw_text|printer_end_doc|printer_end_page|printer_get_option|printer_list|printer_logical_fontheight|printer_open|printer_select_brush|printer_select_font|printer_select_pen|printer_set_option|printer_start_doc|printer_start_page|printer_write|printf|proc_close|proc_get_status|proc_nice|proc_open|proc_terminate|property_exists|ps_add_bookmark|ps_add_launchlink|ps_add_locallink|ps_add_note|ps_add_pdflink|ps_add_weblink|ps_arc|ps_arcn|ps_begin_page|ps_begin_pattern|ps_begin_template|ps_circle|ps_clip|ps_close|ps_close_image|ps_closepath|ps_closepath_stroke|ps_continue_text|ps_curveto|ps_delete|ps_end_page|ps_end_pattern|ps_end_template|ps_fill|ps_fill_stroke|ps_findfont|ps_get_buffer|ps_get_parameter|ps_get_value|ps_hyphenate|ps_include_file|ps_lineto|ps_makespotcolor|ps_moveto|ps_new|ps_open_file|ps_open_image|ps_open_image_file|ps_open_memory_image|ps_place_image|ps_rect|ps_restore|ps_rotate|ps_save|ps_scale|ps_set_border_color|ps_set_border_dash|ps_set_border_style|ps_set_info|ps_set_parameter|ps_set_text_pos|ps_set_value|ps_setcolor|ps_setdash|ps_setflat|ps_setfont|ps_setgray|ps_setlinecap|ps_setlinejoin|ps_setlinewidth|ps_setmiterlimit|ps_setoverprintmode|ps_setpolydash|ps_shading|ps_shading_pattern|ps_shfill|ps_show|ps_show2|ps_show_boxed|ps_show_xy|ps_show_xy2|ps_string_geometry|ps_stringwidth|ps_stroke|ps_symbol|ps_symbol_name|ps_symbol_width|ps_translate|pspell_add_to_personal|pspell_add_to_session|pspell_check|pspell_clear_session|pspell_config_create|pspell_config_data_dir|pspell_config_dict_dir|pspell_config_ignore|pspell_config_mode|pspell_config_personal|pspell_config_repl|pspell_config_runtogether|pspell_config_save_repl|pspell_new|pspell_new_config|pspell_new_personal|pspell_save_wordlist|pspell_store_replacement|pspell_suggest|putenv|px_close|px_create_fp|px_date2string|px_delete|px_delete_record|px_get_field|px_get_info|px_get_parameter|px_get_record|px_get_schema|px_get_value|px_insert_record|px_new|px_numfields|px_numrecords|px_open_fp|px_put_record|px_retrieve_record|px_set_blob_file|px_set_parameter|px_set_tablename|px_set_targetencoding|px_set_value|px_timestamp2string|px_update_record|qdom_error|qdom_tree|quoted_printable_decode|quoted_printable_encode|quotemeta|rad2deg|radius_acct_open|radius_add_server|radius_auth_open|radius_close|radius_config|radius_create_request|radius_cvt_addr|radius_cvt_int|radius_cvt_string|radius_demangle|radius_demangle_mppe_key|radius_get_attr|radius_get_vendor_attr|radius_put_addr|radius_put_attr|radius_put_int|radius_put_string|radius_put_vendor_addr|radius_put_vendor_attr|radius_put_vendor_int|radius_put_vendor_string|radius_request_authenticator|radius_send_request|radius_server_secret|radius_strerror|rand|range|rangeexception|rar_wrapper_cache_stats|rararchive|rarentry|rarexception|rawurldecode|rawurlencode|read_exif_data|readdir|readfile|readgzfile|readline|readline_add_history|readline_callback_handler_install|readline_callback_handler_remove|readline_callback_read_char|readline_clear_history|readline_completion_function|readline_info|readline_list_history|readline_on_new_line|readline_read_history|readline_redisplay|readline_write_history|readlink|realpath|realpath_cache_get|realpath_cache_size|recode|recode_file|recode_string|recursivearrayiterator|recursivecachingiterator|recursivecallbackfilteriterator|recursivedirectoryiterator|recursivefilteriterator|recursiveiterator|recursiveiteratoriterator|recursiveregexiterator|recursivetreeiterator|reflection|reflectionclass|reflectionexception|reflectionextension|reflectionfunction|reflectionfunctionabstract|reflectionmethod|reflectionobject|reflectionparameter|reflectionproperty|reflector|regexiterator|register_shutdown_function|register_tick_function|rename|rename_function|require|require_once|reset|resetValue|resourcebundle|restore_error_handler|restore_exception_handler|restore_include_path|return|rewind|rewinddir|rmdir|round|rpm_close|rpm_get_tag|rpm_is_valid|rpm_open|rpm_version|rrd_create|rrd_error|rrd_fetch|rrd_first|rrd_graph|rrd_info|rrd_last|rrd_lastupdate|rrd_restore|rrd_tune|rrd_update|rrd_xport|rrdcreator|rrdgraph|rrdupdater|rsort|rtrim|runkit_class_adopt|runkit_class_emancipate|runkit_constant_add|runkit_constant_redefine|runkit_constant_remove|runkit_function_add|runkit_function_copy|runkit_function_redefine|runkit_function_remove|runkit_function_rename|runkit_import|runkit_lint|runkit_lint_file|runkit_method_add|runkit_method_copy|runkit_method_redefine|runkit_method_remove|runkit_method_rename|runkit_return_value_used|runkit_sandbox_output_handler|runkit_superglobals|runtimeexception|samconnection_commit|samconnection_connect|samconnection_constructor|samconnection_disconnect|samconnection_errno|samconnection_error|samconnection_isconnected|samconnection_peek|samconnection_peekall|samconnection_receive|samconnection_remove|samconnection_rollback|samconnection_send|samconnection_setDebug|samconnection_subscribe|samconnection_unsubscribe|sammessage_body|sammessage_constructor|sammessage_header|sca_createdataobject|sca_getservice|sca_localproxy_createdataobject|sca_soapproxy_createdataobject|scandir|sdo_das_changesummary_beginlogging|sdo_das_changesummary_endlogging|sdo_das_changesummary_getchangeddataobjects|sdo_das_changesummary_getchangetype|sdo_das_changesummary_getoldcontainer|sdo_das_changesummary_getoldvalues|sdo_das_changesummary_islogging|sdo_das_datafactory_addpropertytotype|sdo_das_datafactory_addtype|sdo_das_datafactory_getdatafactory|sdo_das_dataobject_getchangesummary|sdo_das_relational_applychanges|sdo_das_relational_construct|sdo_das_relational_createrootdataobject|sdo_das_relational_executepreparedquery|sdo_das_relational_executequery|sdo_das_setting_getlistindex|sdo_das_setting_getpropertyindex|sdo_das_setting_getpropertyname|sdo_das_setting_getvalue|sdo_das_setting_isset|sdo_das_xml_addtypes|sdo_das_xml_create|sdo_das_xml_createdataobject|sdo_das_xml_createdocument|sdo_das_xml_document_getrootdataobject|sdo_das_xml_document_getrootelementname|sdo_das_xml_document_getrootelementuri|sdo_das_xml_document_setencoding|sdo_das_xml_document_setxmldeclaration|sdo_das_xml_document_setxmlversion|sdo_das_xml_loadfile|sdo_das_xml_loadstring|sdo_das_xml_savefile|sdo_das_xml_savestring|sdo_datafactory_create|sdo_dataobject_clear|sdo_dataobject_createdataobject|sdo_dataobject_getcontainer|sdo_dataobject_getsequence|sdo_dataobject_gettypename|sdo_dataobject_gettypenamespaceuri|sdo_exception_getcause|sdo_list_insert|sdo_model_property_getcontainingtype|sdo_model_property_getdefault|sdo_model_property_getname|sdo_model_property_gettype|sdo_model_property_iscontainment|sdo_model_property_ismany|sdo_model_reflectiondataobject_construct|sdo_model_reflectiondataobject_export|sdo_model_reflectiondataobject_getcontainmentproperty|sdo_model_reflectiondataobject_getinstanceproperties|sdo_model_reflectiondataobject_gettype|sdo_model_type_getbasetype|sdo_model_type_getname|sdo_model_type_getnamespaceuri|sdo_model_type_getproperties|sdo_model_type_getproperty|sdo_model_type_isabstracttype|sdo_model_type_isdatatype|sdo_model_type_isinstance|sdo_model_type_isopentype|sdo_model_type_issequencedtype|sdo_sequence_getproperty|sdo_sequence_insert|sdo_sequence_move|seekableiterator|sem_acquire|sem_get|sem_release|sem_remove|serializable|serialize|session_cache_expire|session_cache_limiter|session_commit|session_decode|session_destroy|session_encode|session_get_cookie_params|session_id|session_is_registered|session_module_name|session_name|session_pgsql_add_error|session_pgsql_get_error|session_pgsql_get_field|session_pgsql_reset|session_pgsql_set_field|session_pgsql_status|session_regenerate_id|session_register|session_save_path|session_set_cookie_params|session_set_save_handler|session_start|session_unregister|session_unset|session_write_close|setCounterClass|set_error_handler|set_exception_handler|set_file_buffer|set_include_path|set_magic_quotes_runtime|set_socket_blocking|set_time_limit|setcookie|setlocale|setproctitle|setrawcookie|setstaticpropertyvalue|setthreadtitle|settype|sha1|sha1_file|shell_exec|shm_attach|shm_detach|shm_get_var|shm_has_var|shm_put_var|shm_remove|shm_remove_var|shmop_close|shmop_delete|shmop_open|shmop_read|shmop_size|shmop_write|show_source|shuffle|signeurlpaiement|similar_text|simplexml_import_dom|simplexml_load_file|simplexml_load_string|simplexmlelement|simplexmliterator|sin|sinh|sizeof|sleep|snmp|snmp2_get|snmp2_getnext|snmp2_real_walk|snmp2_set|snmp2_walk|snmp3_get|snmp3_getnext|snmp3_real_walk|snmp3_set|snmp3_walk|snmp_get_quick_print|snmp_get_valueretrieval|snmp_read_mib|snmp_set_enum_print|snmp_set_oid_numeric_print|snmp_set_oid_output_format|snmp_set_quick_print|snmp_set_valueretrieval|snmpget|snmpgetnext|snmprealwalk|snmpset|snmpwalk|snmpwalkoid|soapclient|soapfault|soapheader|soapparam|soapserver|soapvar|socket_accept|socket_bind|socket_clear_error|socket_close|socket_connect|socket_create|socket_create_listen|socket_create_pair|socket_get_option|socket_get_status|socket_getpeername|socket_getsockname|socket_last_error|socket_listen|socket_read|socket_recv|socket_recvfrom|socket_select|socket_send|socket_sendto|socket_set_block|socket_set_blocking|socket_set_nonblock|socket_set_option|socket_set_timeout|socket_shutdown|socket_strerror|socket_write|solr_get_version|solrclient|solrclientexception|solrdocument|solrdocumentfield|solrexception|solrgenericresponse|solrillegalargumentexception|solrillegaloperationexception|solrinputdocument|solrmodifiableparams|solrobject|solrparams|solrpingresponse|solrquery|solrqueryresponse|solrresponse|solrupdateresponse|solrutils|sort|soundex|sphinxclient|spl_autoload|spl_autoload_call|spl_autoload_extensions|spl_autoload_functions|spl_autoload_register|spl_autoload_unregister|spl_classes|spl_object_hash|splbool|spldoublylinkedlist|splenum|splfileinfo|splfileobject|splfixedarray|splfloat|splheap|splint|split|spliti|splmaxheap|splminheap|splobjectstorage|splobserver|splpriorityqueue|splqueue|splstack|splstring|splsubject|spltempfileobject|spoofchecker|sprintf|sql_regcase|sqlite3|sqlite3result|sqlite3stmt|sqlite_array_query|sqlite_busy_timeout|sqlite_changes|sqlite_close|sqlite_column|sqlite_create_aggregate|sqlite_create_function|sqlite_current|sqlite_error_string|sqlite_escape_string|sqlite_exec|sqlite_factory|sqlite_fetch_all|sqlite_fetch_array|sqlite_fetch_column_types|sqlite_fetch_object|sqlite_fetch_single|sqlite_fetch_string|sqlite_field_name|sqlite_has_more|sqlite_has_prev|sqlite_key|sqlite_last_error|sqlite_last_insert_rowid|sqlite_libencoding|sqlite_libversion|sqlite_next|sqlite_num_fields|sqlite_num_rows|sqlite_open|sqlite_popen|sqlite_prev|sqlite_query|sqlite_rewind|sqlite_seek|sqlite_single_query|sqlite_udf_decode_binary|sqlite_udf_encode_binary|sqlite_unbuffered_query|sqlite_valid|sqrt|srand|sscanf|ssdeep_fuzzy_compare|ssdeep_fuzzy_hash|ssdeep_fuzzy_hash_filename|ssh2_auth_hostbased_file|ssh2_auth_none|ssh2_auth_password|ssh2_auth_pubkey_file|ssh2_connect|ssh2_exec|ssh2_fetch_stream|ssh2_fingerprint|ssh2_methods_negotiated|ssh2_publickey_add|ssh2_publickey_init|ssh2_publickey_list|ssh2_publickey_remove|ssh2_scp_recv|ssh2_scp_send|ssh2_sftp|ssh2_sftp_lstat|ssh2_sftp_mkdir|ssh2_sftp_readlink|ssh2_sftp_realpath|ssh2_sftp_rename|ssh2_sftp_rmdir|ssh2_sftp_stat|ssh2_sftp_symlink|ssh2_sftp_unlink|ssh2_shell|ssh2_tunnel|stat|stats_absolute_deviation|stats_cdf_beta|stats_cdf_binomial|stats_cdf_cauchy|stats_cdf_chisquare|stats_cdf_exponential|stats_cdf_f|stats_cdf_gamma|stats_cdf_laplace|stats_cdf_logistic|stats_cdf_negative_binomial|stats_cdf_noncentral_chisquare|stats_cdf_noncentral_f|stats_cdf_poisson|stats_cdf_t|stats_cdf_uniform|stats_cdf_weibull|stats_covariance|stats_den_uniform|stats_dens_beta|stats_dens_cauchy|stats_dens_chisquare|stats_dens_exponential|stats_dens_f|stats_dens_gamma|stats_dens_laplace|stats_dens_logistic|stats_dens_negative_binomial|stats_dens_normal|stats_dens_pmf_binomial|stats_dens_pmf_hypergeometric|stats_dens_pmf_poisson|stats_dens_t|stats_dens_weibull|stats_harmonic_mean|stats_kurtosis|stats_rand_gen_beta|stats_rand_gen_chisquare|stats_rand_gen_exponential|stats_rand_gen_f|stats_rand_gen_funiform|stats_rand_gen_gamma|stats_rand_gen_ibinomial|stats_rand_gen_ibinomial_negative|stats_rand_gen_int|stats_rand_gen_ipoisson|stats_rand_gen_iuniform|stats_rand_gen_noncenral_chisquare|stats_rand_gen_noncentral_f|stats_rand_gen_noncentral_t|stats_rand_gen_normal|stats_rand_gen_t|stats_rand_get_seeds|stats_rand_phrase_to_seeds|stats_rand_ranf|stats_rand_setall|stats_skew|stats_standard_deviation|stats_stat_binomial_coef|stats_stat_correlation|stats_stat_gennch|stats_stat_independent_t|stats_stat_innerproduct|stats_stat_noncentral_t|stats_stat_paired_t|stats_stat_percentile|stats_stat_powersum|stats_variance|stomp|stomp_connect_error|stomp_version|stompexception|stompframe|str_getcsv|str_ireplace|str_pad|str_repeat|str_replace|str_rot13|str_shuffle|str_split|str_word_count|strcasecmp|strchr|strcmp|strcoll|strcspn|stream_bucket_append|stream_bucket_make_writeable|stream_bucket_new|stream_bucket_prepend|stream_context_create|stream_context_get_default|stream_context_get_options|stream_context_get_params|stream_context_set_default|stream_context_set_option|stream_context_set_params|stream_copy_to_stream|stream_encoding|stream_filter_append|stream_filter_prepend|stream_filter_register|stream_filter_remove|stream_get_contents|stream_get_filters|stream_get_line|stream_get_meta_data|stream_get_transports|stream_get_wrappers|stream_is_local|stream_notification_callback|stream_register_wrapper|stream_resolve_include_path|stream_select|stream_set_blocking|stream_set_read_buffer|stream_set_timeout|stream_set_write_buffer|stream_socket_accept|stream_socket_client|stream_socket_enable_crypto|stream_socket_get_name|stream_socket_pair|stream_socket_recvfrom|stream_socket_sendto|stream_socket_server|stream_socket_shutdown|stream_supports_lock|stream_wrapper_register|stream_wrapper_restore|stream_wrapper_unregister|streamwrapper|strftime|strip_tags|stripcslashes|stripos|stripslashes|stristr|strlen|strnatcasecmp|strnatcmp|strncasecmp|strncmp|strpbrk|strpos|strptime|strrchr|strrev|strripos|strrpos|strspn|strstr|strtok|strtolower|strtotime|strtoupper|strtr|strval|substr|substr_compare|substr_count|substr_replace|svm|svmmodel|svn_add|svn_auth_get_parameter|svn_auth_set_parameter|svn_blame|svn_cat|svn_checkout|svn_cleanup|svn_client_version|svn_commit|svn_delete|svn_diff|svn_export|svn_fs_abort_txn|svn_fs_apply_text|svn_fs_begin_txn2|svn_fs_change_node_prop|svn_fs_check_path|svn_fs_contents_changed|svn_fs_copy|svn_fs_delete|svn_fs_dir_entries|svn_fs_file_contents|svn_fs_file_length|svn_fs_is_dir|svn_fs_is_file|svn_fs_make_dir|svn_fs_make_file|svn_fs_node_created_rev|svn_fs_node_prop|svn_fs_props_changed|svn_fs_revision_prop|svn_fs_revision_root|svn_fs_txn_root|svn_fs_youngest_rev|svn_import|svn_log|svn_ls|svn_mkdir|svn_repos_create|svn_repos_fs|svn_repos_fs_begin_txn_for_commit|svn_repos_fs_commit_txn|svn_repos_hotcopy|svn_repos_open|svn_repos_recover|svn_revert|svn_status|svn_update|swf_actiongeturl|swf_actiongotoframe|swf_actiongotolabel|swf_actionnextframe|swf_actionplay|swf_actionprevframe|swf_actionsettarget|swf_actionstop|swf_actiontogglequality|swf_actionwaitforframe|swf_addbuttonrecord|swf_addcolor|swf_closefile|swf_definebitmap|swf_definefont|swf_defineline|swf_definepoly|swf_definerect|swf_definetext|swf_endbutton|swf_enddoaction|swf_endshape|swf_endsymbol|swf_fontsize|swf_fontslant|swf_fonttracking|swf_getbitmapinfo|swf_getfontinfo|swf_getframe|swf_labelframe|swf_lookat|swf_modifyobject|swf_mulcolor|swf_nextid|swf_oncondition|swf_openfile|swf_ortho|swf_ortho2|swf_perspective|swf_placeobject|swf_polarview|swf_popmatrix|swf_posround|swf_pushmatrix|swf_removeobject|swf_rotate|swf_scale|swf_setfont|swf_setframe|swf_shapearc|swf_shapecurveto|swf_shapecurveto3|swf_shapefillbitmapclip|swf_shapefillbitmaptile|swf_shapefilloff|swf_shapefillsolid|swf_shapelinesolid|swf_shapelineto|swf_shapemoveto|swf_showframe|swf_startbutton|swf_startdoaction|swf_startshape|swf_startsymbol|swf_textwidth|swf_translate|swf_viewport|swfaction|swfbitmap|swfbutton|swfdisplayitem|swffill|swffont|swffontchar|swfgradient|swfmorph|swfmovie|swfprebuiltclip|swfshape|swfsound|swfsoundinstance|swfsprite|swftext|swftextfield|swfvideostream|swish_construct|swish_getmetalist|swish_getpropertylist|swish_prepare|swish_query|swishresult_getmetalist|swishresult_stem|swishresults_getparsedwords|swishresults_getremovedstopwords|swishresults_nextresult|swishresults_seekresult|swishsearch_execute|swishsearch_resetlimit|swishsearch_setlimit|swishsearch_setphrasedelimiter|swishsearch_setsort|swishsearch_setstructure|sybase_affected_rows|sybase_close|sybase_connect|sybase_data_seek|sybase_deadlock_retry_count|sybase_fetch_array|sybase_fetch_assoc|sybase_fetch_field|sybase_fetch_object|sybase_fetch_row|sybase_field_seek|sybase_free_result|sybase_get_last_message|sybase_min_client_severity|sybase_min_error_severity|sybase_min_message_severity|sybase_min_server_severity|sybase_num_fields|sybase_num_rows|sybase_pconnect|sybase_query|sybase_result|sybase_select_db|sybase_set_message_handler|sybase_unbuffered_query|symlink|sys_get_temp_dir|sys_getloadavg|syslog|system|tag|tan|tanh|tcpwrap_check|tempnam|textdomain|tidy|tidy_access_count|tidy_config_count|tidy_diagnose|tidy_error_count|tidy_get_error_buffer|tidy_get_output|tidy_load_config|tidy_reset_config|tidy_save_config|tidy_set_encoding|tidy_setopt|tidy_warning_count|tidynode|time|time_nanosleep|time_sleep_until|timezone_abbreviations_list|timezone_identifiers_list|timezone_location_get|timezone_name_from_abbr|timezone_name_get|timezone_offset_get|timezone_open|timezone_transitions_get|timezone_version_get|tmpfile|token_get_all|token_name|tokyotyrant|tokyotyrantquery|tokyotyranttable|tostring|tostring|touch|trait_exists|transliterator|traversable|trigger_error|trim|uasort|ucfirst|ucwords|udm_add_search_limit|udm_alloc_agent|udm_alloc_agent_array|udm_api_version|udm_cat_list|udm_cat_path|udm_check_charset|udm_check_stored|udm_clear_search_limits|udm_close_stored|udm_crc32|udm_errno|udm_error|udm_find|udm_free_agent|udm_free_ispell_data|udm_free_res|udm_get_doc_count|udm_get_res_field|udm_get_res_param|udm_hash32|udm_load_ispell_data|udm_open_stored|udm_set_agent_param|uksort|umask|underflowexception|unexpectedvalueexception|uniqid|unixtojd|unlink|unpack|unregister_tick_function|unserialize|unset|urldecode|urlencode|use_soap_error_handler|user_error|usleep|usort|utf8_decode|utf8_encode|v8js|v8jsexception|var_dump|var_export|variant|variant_abs|variant_add|variant_and|variant_cast|variant_cat|variant_cmp|variant_date_from_timestamp|variant_date_to_timestamp|variant_div|variant_eqv|variant_fix|variant_get_type|variant_idiv|variant_imp|variant_int|variant_mod|variant_mul|variant_neg|variant_not|variant_or|variant_pow|variant_round|variant_set|variant_set_type|variant_sub|variant_xor|version_compare|vfprintf|virtual|vpopmail_add_alias_domain|vpopmail_add_alias_domain_ex|vpopmail_add_domain|vpopmail_add_domain_ex|vpopmail_add_user|vpopmail_alias_add|vpopmail_alias_del|vpopmail_alias_del_domain|vpopmail_alias_get|vpopmail_alias_get_all|vpopmail_auth_user|vpopmail_del_domain|vpopmail_del_domain_ex|vpopmail_del_user|vpopmail_error|vpopmail_passwd|vpopmail_set_user_quota|vprintf|vsprintf|w32api_deftype|w32api_init_dtype|w32api_invoke_function|w32api_register_function|w32api_set_call_method|wddx_add_vars|wddx_deserialize|wddx_packet_end|wddx_packet_start|wddx_serialize_value|wddx_serialize_vars|win32_continue_service|win32_create_service|win32_delete_service|win32_get_last_control_message|win32_pause_service|win32_ps_list_procs|win32_ps_stat_mem|win32_ps_stat_proc|win32_query_service_status|win32_set_service_status|win32_start_service|win32_start_service_ctrl_dispatcher|win32_stop_service|wincache_fcache_fileinfo|wincache_fcache_meminfo|wincache_lock|wincache_ocache_fileinfo|wincache_ocache_meminfo|wincache_refresh_if_changed|wincache_rplist_fileinfo|wincache_rplist_meminfo|wincache_scache_info|wincache_scache_meminfo|wincache_ucache_add|wincache_ucache_cas|wincache_ucache_clear|wincache_ucache_dec|wincache_ucache_delete|wincache_ucache_exists|wincache_ucache_get|wincache_ucache_inc|wincache_ucache_info|wincache_ucache_meminfo|wincache_ucache_set|wincache_unlock|wordwrap|xattr_get|xattr_list|xattr_remove|xattr_set|xattr_supported|xdiff_file_bdiff|xdiff_file_bdiff_size|xdiff_file_bpatch|xdiff_file_diff|xdiff_file_diff_binary|xdiff_file_merge3|xdiff_file_patch|xdiff_file_patch_binary|xdiff_file_rabdiff|xdiff_string_bdiff|xdiff_string_bdiff_size|xdiff_string_bpatch|xdiff_string_diff|xdiff_string_diff_binary|xdiff_string_merge3|xdiff_string_patch|xdiff_string_patch_binary|xdiff_string_rabdiff|xhprof_disable|xhprof_enable|xhprof_sample_disable|xhprof_sample_enable|xml_error_string|xml_get_current_byte_index|xml_get_current_column_number|xml_get_current_line_number|xml_get_error_code|xml_parse|xml_parse_into_struct|xml_parser_create|xml_parser_create_ns|xml_parser_free|xml_parser_get_option|xml_parser_set_option|xml_set_character_data_handler|xml_set_default_handler|xml_set_element_handler|xml_set_end_namespace_decl_handler|xml_set_external_entity_ref_handler|xml_set_notation_decl_handler|xml_set_object|xml_set_processing_instruction_handler|xml_set_start_namespace_decl_handler|xml_set_unparsed_entity_decl_handler|xmlreader|xmlrpc_decode|xmlrpc_decode_request|xmlrpc_encode|xmlrpc_encode_request|xmlrpc_get_type|xmlrpc_is_fault|xmlrpc_parse_method_descriptions|xmlrpc_server_add_introspection_data|xmlrpc_server_call_method|xmlrpc_server_create|xmlrpc_server_destroy|xmlrpc_server_register_introspection_callback|xmlrpc_server_register_method|xmlrpc_set_type|xmlwriter_end_attribute|xmlwriter_end_cdata|xmlwriter_end_comment|xmlwriter_end_document|xmlwriter_end_dtd|xmlwriter_end_dtd_attlist|xmlwriter_end_dtd_element|xmlwriter_end_dtd_entity|xmlwriter_end_element|xmlwriter_end_pi|xmlwriter_flush|xmlwriter_full_end_element|xmlwriter_open_memory|xmlwriter_open_uri|xmlwriter_output_memory|xmlwriter_set_indent|xmlwriter_set_indent_string|xmlwriter_start_attribute|xmlwriter_start_attribute_ns|xmlwriter_start_cdata|xmlwriter_start_comment|xmlwriter_start_document|xmlwriter_start_dtd|xmlwriter_start_dtd_attlist|xmlwriter_start_dtd_element|xmlwriter_start_dtd_entity|xmlwriter_start_element|xmlwriter_start_element_ns|xmlwriter_start_pi|xmlwriter_text|xmlwriter_write_attribute|xmlwriter_write_attribute_ns|xmlwriter_write_cdata|xmlwriter_write_comment|xmlwriter_write_dtd|xmlwriter_write_dtd_attlist|xmlwriter_write_dtd_element|xmlwriter_write_dtd_entity|xmlwriter_write_element|xmlwriter_write_element_ns|xmlwriter_write_pi|xmlwriter_write_raw|xpath_eval|xpath_eval_expression|xpath_new_context|xpath_register_ns|xpath_register_ns_auto|xptr_eval|xptr_new_context|xslt_backend_info|xslt_backend_name|xslt_backend_version|xslt_create|xslt_errno|xslt_error|xslt_free|xslt_getopt|xslt_process|xslt_set_base|xslt_set_encoding|xslt_set_error_handler|xslt_set_log|xslt_set_object|xslt_set_sax_handler|xslt_set_sax_handlers|xslt_set_scheme_handler|xslt_set_scheme_handlers|xslt_setopt|xsltprocessor|yaml_emit|yaml_emit_file|yaml_parse|yaml_parse_file|yaml_parse_url|yaz_addinfo|yaz_ccl_conf|yaz_ccl_parse|yaz_close|yaz_connect|yaz_database|yaz_element|yaz_errno|yaz_error|yaz_es|yaz_es_result|yaz_get_option|yaz_hits|yaz_itemorder|yaz_present|yaz_range|yaz_record|yaz_scan|yaz_scan_result|yaz_schema|yaz_search|yaz_set_option|yaz_sort|yaz_syntax|yaz_wait|yp_all|yp_cat|yp_err_string|yp_errno|yp_first|yp_get_default_domain|yp_master|yp_match|yp_next|yp_order|zend_logo_guid|zend_thread_id|zend_version|zip_close|zip_entry_close|zip_entry_compressedsi