Version Description
- Improvement: Frequency of Security Tweak notifications reduced to 7 days
- Fix: GeoIP now compatible with new MaxMind policy
- Fix: Mask login URL now allow URL with an extension
- Fix: Lockout notification email now displays correct time unit
- Fix: Get started screen appears only where required
- Fix: Manage your email preferences & unsubscribe email link now works
- Fix: Strict Transport Security Header now shows subdomain option on the root domain
- Fix: On login lockout, Defender doesn't block IP permanently
- Fix: Mask login won't block admin links from email
- Other minor enhancements and fixes
Download this release
Release Info
Developer | BigTonny |
Plugin | Defender Security – Malware Scanner, Login Security & Firewall |
Version | 2.2.6 |
Comparing to | |
See all releases |
Code changes from version 2.2.5 to 2.2.6
- app/behavior/utils.php +12 -14
- app/component/cli.php +247 -15
- app/component/jed.php +71 -0
- app/controller/dashboard.php +4 -2
- app/controller/debug.php +3 -2
- app/module/advanced-tools/component/auth-listener.php +2 -1
- app/module/advanced-tools/component/mask-api.php +49 -40
- app/module/advanced-tools/component/mask-login-listener.php +57 -24
- app/module/advanced-tools/view/login/disabled.php +11 -6
- app/module/audit/controller/main-free.php +12 -14
- app/module/hardener/component/disable-file-editor-service.php +2 -2
- app/module/hardener/component/prevent-php.php +10 -5
- app/module/hardener/component/protect-information-service.php +13 -8
- app/module/hardener/controller/main.php +29 -29
- app/module/hardener/controller/rest.php +1 -1
- app/module/hardener/model/settings.php +9 -1
- app/module/hardener/rule-service.php +1 -1
- app/module/ip-lockout/component/notfound-listener.php +28 -20
- app/module/ip-lockout/controller/main.php +30 -2
- app/module/ip-lockout/controller/rest.php +11 -2
- app/module/ip-lockout/model/settings.php +2 -2
- app/module/ip-lockout/view/emails/404-ban.php +1 -1
- app/module/ip-lockout/view/emails/404-lockout.php +663 -660
- app/module/ip-lockout/view/emails/login-lockout.php +1 -1
- app/module/ip-lockout/view/emails/login-username-ban.php +1 -1
- app/module/scan/behavior/core-files.php +15 -0
- app/module/scan/behavior/core-result.php +40 -31
- app/module/scan/component/data-factory.php +1 -1
- app/module/scan/component/queue-factory.php +84 -0
- app/module/scan/component/scan-api.php +40 -299
- app/module/scan/component/scanning.php +177 -0
- app/module/scan/component/token-utils.php +1 -1
- app/module/scan/controller/main.php +84 -85
- app/module/scan/controller/rest.php +46 -43
- app/module/scan/model/settings.php +17 -16
- app/module/setting/component/backup-settings.php +39 -0
- app/view/debug.php +16 -0
- assets/app/advanced-tools.js +1 -1
- assets/app/audit.js +1 -1
- assets/app/dashboard.js +1 -1
- assets/app/ip-lockout.js +1 -1
app/behavior/utils.php
CHANGED
@@ -9,6 +9,7 @@ use Hammer\Base\Behavior;
|
|
9 |
use Hammer\Helper\Log_Helper;
|
10 |
use Hammer\Helper\WP_Helper;
|
11 |
use WP_Defender\Component\Error_Code;
|
|
|
12 |
use WP_Defender\Module\Advanced_Tools\Model\Auth_Settings;
|
13 |
use WP_Defender\Module\Hardener\Model\Settings;
|
14 |
use WP_Defender\Module\IP_Lockout\Component\Login_Protection_Api;
|
@@ -689,8 +690,10 @@ class Utils extends Behavior {
|
|
689 |
$mo_path = wp_defender()->getPluginPath() . 'languages/' . $mo_file;
|
690 |
$json_path = wp_defender()->getPluginPath() . 'languages/' . "wpdef-{$locale}-{$handle}.json";
|
691 |
if ( file_exists( $json_path ) ) {
|
692 |
-
|
693 |
-
|
|
|
|
|
694 |
}
|
695 |
if ( ! file_exists( $mo_path ) ) {
|
696 |
//no translation found
|
@@ -702,7 +705,7 @@ class Utils extends Behavior {
|
|
702 |
$translations->setDomain( 'messages' );
|
703 |
$translations->setLanguage( get_locale() );
|
704 |
//export to json
|
705 |
-
|
706 |
}
|
707 |
|
708 |
/**
|
@@ -1095,11 +1098,6 @@ class Utils extends Behavior {
|
|
1095 |
return $country_array;
|
1096 |
}
|
1097 |
|
1098 |
-
/**
|
1099 |
-
* @param $dir
|
1100 |
-
*
|
1101 |
-
* @return bool|void|\WP_Error
|
1102 |
-
*/
|
1103 |
public function removeDir( $dir ) {
|
1104 |
if ( ! is_dir( $dir ) ) {
|
1105 |
return;
|
@@ -1187,36 +1185,36 @@ class Utils extends Behavior {
|
|
1187 |
return $list[0];
|
1188 |
}
|
1189 |
|
1190 |
-
public function log( $log
|
1191 |
if ( ! defined( 'DEFENDER_DEBUG' ) ) {
|
1192 |
return;
|
1193 |
}
|
1194 |
$log_path = self::getDefUploadDir();
|
1195 |
-
$log_name = hash( 'sha256', network_home_url() .
|
1196 |
$log_path = $log_path . '/' . $log_name;
|
1197 |
|
1198 |
$log = sprintf( '%s - %s' . PHP_EOL, date( 'Y-m-d H:i:s', current_time( 'timestamp' ) ), $log );
|
1199 |
file_put_contents( $log_path, $log, FILE_APPEND );
|
1200 |
}
|
1201 |
|
1202 |
-
public function read_log(
|
1203 |
if ( ! defined( 'DEFENDER_DEBUG' ) ) {
|
1204 |
return;
|
1205 |
}
|
1206 |
$log_path = self::getDefUploadDir();
|
1207 |
-
$log_name = hash( 'sha256', network_home_url() .
|
1208 |
$log_path = $log_path . '/' . $log_name;
|
1209 |
$text = file( $log_path );
|
1210 |
|
1211 |
return implode( array_reverse( $text ), PHP_EOL );
|
1212 |
}
|
1213 |
|
1214 |
-
public function clear_log(
|
1215 |
if ( ! defined( 'DEFENDER_DEBUG' ) ) {
|
1216 |
return;
|
1217 |
}
|
1218 |
$log_path = self::getDefUploadDir();
|
1219 |
-
$log_name = hash( 'sha256', network_home_url() .
|
1220 |
$log_path = $log_path . '/' . $log_name;
|
1221 |
@unlink( $log_path );
|
1222 |
}
|
9 |
use Hammer\Helper\Log_Helper;
|
10 |
use Hammer\Helper\WP_Helper;
|
11 |
use WP_Defender\Component\Error_Code;
|
12 |
+
use WP_Defender\Component\Jed;
|
13 |
use WP_Defender\Module\Advanced_Tools\Model\Auth_Settings;
|
14 |
use WP_Defender\Module\Hardener\Model\Settings;
|
15 |
use WP_Defender\Module\IP_Lockout\Component\Login_Protection_Api;
|
690 |
$mo_path = wp_defender()->getPluginPath() . 'languages/' . $mo_file;
|
691 |
$json_path = wp_defender()->getPluginPath() . 'languages/' . "wpdef-{$locale}-{$handle}.json";
|
692 |
if ( file_exists( $json_path ) ) {
|
693 |
+
$data = json_decode( $json_path, true );
|
694 |
+
if ( isset( $data['version'] ) ) {
|
695 |
+
return;
|
696 |
+
}
|
697 |
}
|
698 |
if ( ! file_exists( $mo_path ) ) {
|
699 |
//no translation found
|
705 |
$translations->setDomain( 'messages' );
|
706 |
$translations->setLanguage( get_locale() );
|
707 |
//export to json
|
708 |
+
Jed::toFile( $translations, $json_path );
|
709 |
}
|
710 |
|
711 |
/**
|
1098 |
return $country_array;
|
1099 |
}
|
1100 |
|
|
|
|
|
|
|
|
|
|
|
1101 |
public function removeDir( $dir ) {
|
1102 |
if ( ! is_dir( $dir ) ) {
|
1103 |
return;
|
1185 |
return $list[0];
|
1186 |
}
|
1187 |
|
1188 |
+
public function log( $log ) {
|
1189 |
if ( ! defined( 'DEFENDER_DEBUG' ) ) {
|
1190 |
return;
|
1191 |
}
|
1192 |
$log_path = self::getDefUploadDir();
|
1193 |
+
$log_name = hash( 'sha256', network_home_url() . SECURE_AUTH_SALT );
|
1194 |
$log_path = $log_path . '/' . $log_name;
|
1195 |
|
1196 |
$log = sprintf( '%s - %s' . PHP_EOL, date( 'Y-m-d H:i:s', current_time( 'timestamp' ) ), $log );
|
1197 |
file_put_contents( $log_path, $log, FILE_APPEND );
|
1198 |
}
|
1199 |
|
1200 |
+
public function read_log() {
|
1201 |
if ( ! defined( 'DEFENDER_DEBUG' ) ) {
|
1202 |
return;
|
1203 |
}
|
1204 |
$log_path = self::getDefUploadDir();
|
1205 |
+
$log_name = hash( 'sha256', network_home_url() . SECURE_AUTH_SALT );
|
1206 |
$log_path = $log_path . '/' . $log_name;
|
1207 |
$text = file( $log_path );
|
1208 |
|
1209 |
return implode( array_reverse( $text ), PHP_EOL );
|
1210 |
}
|
1211 |
|
1212 |
+
public function clear_log() {
|
1213 |
if ( ! defined( 'DEFENDER_DEBUG' ) ) {
|
1214 |
return;
|
1215 |
}
|
1216 |
$log_path = self::getDefUploadDir();
|
1217 |
+
$log_name = hash( 'sha256', network_home_url() . SECURE_AUTH_SALT );
|
1218 |
$log_path = $log_path . '/' . $log_name;
|
1219 |
@unlink( $log_path );
|
1220 |
}
|
app/component/cli.php
CHANGED
@@ -2,50 +2,282 @@
|
|
2 |
|
3 |
namespace WP_Defender\Component;
|
4 |
|
|
|
|
|
|
|
5 |
use WP_Defender\Module\Scan\Component\Scan_Api;
|
|
|
|
|
|
|
|
|
6 |
|
7 |
class Cli {
|
8 |
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
echo 'Check if there is a scan ongoing...' . PHP_EOL;
|
11 |
$model = Scan_Api::getActiveScan();
|
|
|
12 |
if ( ! is_object( $model ) ) {
|
13 |
echo 'No active scan, create one now...' . PHP_EOL;
|
14 |
Scan_Api::createScan();
|
15 |
} else {
|
16 |
echo 'Found active scan, process...' . PHP_EOL;
|
17 |
}
|
18 |
-
echo sprintf( 'Total core files: %d' . PHP_EOL, count( Scan_Api::getCoreFiles() ) );
|
19 |
-
echo sprintf( 'Total content files: %d' . PHP_EOL, count( Scan_Api::getContentFiles() ) );
|
20 |
echo '=============================================' . PHP_EOL;
|
21 |
$is_done = false;
|
22 |
while ( $is_done == false ) {
|
23 |
-
|
24 |
-
|
25 |
-
echo 'Memory: ' . $memory . ' MB';
|
26 |
if ( $memory > 256 ) {
|
27 |
break;
|
28 |
}
|
29 |
-
$
|
30 |
-
$
|
|
|
|
|
|
|
|
|
31 |
echo 'Scanning at ' . $progress . PHP_EOL;
|
32 |
gc_collect_cycles();
|
33 |
}
|
34 |
if ( $is_done ) {
|
35 |
-
$model
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
\WP_CLI::success( 'Scan done.' );
|
38 |
} else {
|
39 |
-
\WP_CLI::log( 'Run the command wp defender scan again to continue process the scan.' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
}
|
41 |
}
|
42 |
|
43 |
/**
|
44 |
-
*
|
45 |
*/
|
46 |
-
public function
|
47 |
-
|
|
|
|
|
|
|
|
|
48 |
|
49 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
}
|
51 |
}
|
2 |
|
3 |
namespace WP_Defender\Component;
|
4 |
|
5 |
+
use Faker\Factory;
|
6 |
+
use WP_Defender\Module\Hardener\Component\Change_Admin_Service;
|
7 |
+
use WP_Defender\Module\Hardener\Model\Settings;
|
8 |
use WP_Defender\Module\Scan\Component\Scan_Api;
|
9 |
+
use WP_Defender\Module\Scan\Component\Scanning;
|
10 |
+
use WP_Defender\Module\Scan\Model\Result_Item;
|
11 |
+
use WP_Defender\Module\Setting\Component\Backup_Settings;
|
12 |
+
use function WP_CLI\Utils\format_items;
|
13 |
|
14 |
class Cli {
|
15 |
|
16 |
+
/**
|
17 |
+
*
|
18 |
+
* This is a helper for scan module
|
19 |
+
* #Options
|
20 |
+
* <command>
|
21 |
+
* : Value can be run - Perform a scan, or (un)ignore|delete|resolve to do the relevant task
|
22 |
+
*
|
23 |
+
* [--type=<type>]
|
24 |
+
* : Default is all, or core|plugins|content
|
25 |
+
*
|
26 |
+
* @param $args
|
27 |
+
* @param $options
|
28 |
+
*
|
29 |
+
* @throws \WP_CLI\ExitException
|
30 |
+
*/
|
31 |
+
public function scan( $args, $options ) {
|
32 |
+
if ( empty( $args ) ) {
|
33 |
+
\WP_CLI::error( sprintf( 'Invalid command' ) );
|
34 |
+
}
|
35 |
+
list( $command ) = $args;
|
36 |
+
switch ( $command ) {
|
37 |
+
case 'run':
|
38 |
+
$this->scan_all();
|
39 |
+
break;
|
40 |
+
default:
|
41 |
+
$commands = [
|
42 |
+
'ignore',
|
43 |
+
'unignore',
|
44 |
+
'resolve',
|
45 |
+
'delete'
|
46 |
+
];
|
47 |
+
if ( in_array( $command, $commands ) ) {
|
48 |
+
\WP_CLI::confirm( 'This can cause your site get fatal error and can\'t restore back unless you have a backup, are you sure to continue?', $options );
|
49 |
+
$this->scan_task( $command, $options );
|
50 |
+
} else {
|
51 |
+
\WP_CLI::error( sprintf( 'Unknown command %s', $command ) );
|
52 |
+
}
|
53 |
+
|
54 |
+
}
|
55 |
+
}
|
56 |
+
|
57 |
+
private function scan_task( $task, $options ) {
|
58 |
+
$type = isset( $options['type'] ) ? $options['type'] : null;
|
59 |
+
$active = Scan_Api::getActiveScan();
|
60 |
+
if ( is_object( $active ) ) {
|
61 |
+
return \WP_CLI::error( "A scan is running, you need to wait till it complete to continue" );
|
62 |
+
}
|
63 |
+
$model = Scan_Api::getLastScan();
|
64 |
+
switch ( $task ) {
|
65 |
+
case 'ignore':
|
66 |
+
$items = $model->getItems( 0, Result_Item::STATUS_ISSUE, $type );
|
67 |
+
foreach ( $items as $item ) {
|
68 |
+
$item->ignore();
|
69 |
+
}
|
70 |
+
\WP_CLI::log( sprintf( 'Ignored %s items', count( $items ) ) );
|
71 |
+
break;
|
72 |
+
case 'unignore':
|
73 |
+
$items = $model->getItems( 0, Result_Item::STATUS_IGNORED, $type );
|
74 |
+
foreach ( $items as $item ) {
|
75 |
+
$item->unignore();
|
76 |
+
}
|
77 |
+
\WP_CLI::log( sprintf( 'Unignored %s items', count( $items ) ) );
|
78 |
+
break;
|
79 |
+
case 'resolve':
|
80 |
+
$items = $model->getItems( 0, Result_Item::STATUS_ISSUE, $type );
|
81 |
+
$resolved = [];
|
82 |
+
foreach ( $items as $item ) {
|
83 |
+
if ( $item->type == 'core' ) {
|
84 |
+
\WP_CLI::log( sprintf( 'Reverting %s to original', $item->raw['file'] ) );
|
85 |
+
$ret = $item->resolve();
|
86 |
+
if ( ! is_wp_error( $ret ) ) {
|
87 |
+
$resolved[] = $item;
|
88 |
+
} else {
|
89 |
+
return \WP_CLI::error( $ret->get_error_message() );
|
90 |
+
}
|
91 |
+
} elseif ( $item->type == 'content' ) {
|
92 |
+
//if this is content, we will try to delete them
|
93 |
+
$whitelist = [
|
94 |
+
//wordfence waf
|
95 |
+
ABSPATH . '/wordfence-waf.php',
|
96 |
+
//any files inside plugins, if delete can cause fatal error
|
97 |
+
WP_CONTENT_DIR . '/plugins/',
|
98 |
+
//any files inside themes
|
99 |
+
WP_CONTENT_DIR . '/themes/'
|
100 |
+
];
|
101 |
+
$path = $item->raw['file'];
|
102 |
+
$can_delete = true;
|
103 |
+
$current = '';
|
104 |
+
foreach ( $whitelist as $value ) {
|
105 |
+
$current = $value;
|
106 |
+
if ( strpos( $value, $path ) > 0 ) {
|
107 |
+
//ignore this
|
108 |
+
$can_delete = false;
|
109 |
+
break;
|
110 |
+
}
|
111 |
+
}
|
112 |
+
if ( $can_delete == false ) {
|
113 |
+
\WP_CLI::log( sprintf( "Ignore file %s as it is in %s", $path, $current ) );
|
114 |
+
} else {
|
115 |
+
if ( @unlink( $path ) ) {
|
116 |
+
\WP_CLI::log( sprintf( 'Delete file %s', $path ) );
|
117 |
+
$item->markAsResolved();
|
118 |
+
$resolved[] = $item;
|
119 |
+
} else {
|
120 |
+
return \WP_CLI::error( sprintf( "Can't remove file %s", $path ) );
|
121 |
+
}
|
122 |
+
}
|
123 |
+
}
|
124 |
+
}
|
125 |
+
\WP_CLI::log( sprintf( 'Resolved %s items', count( $resolved ) ) );
|
126 |
+
break;
|
127 |
+
case 'delete':
|
128 |
+
break;
|
129 |
+
}
|
130 |
+
}
|
131 |
+
|
132 |
+
/**
|
133 |
+
* Perform a scan
|
134 |
+
*/
|
135 |
+
private function scan_all() {
|
136 |
echo 'Check if there is a scan ongoing...' . PHP_EOL;
|
137 |
$model = Scan_Api::getActiveScan();
|
138 |
+
$start = microtime( true );
|
139 |
if ( ! is_object( $model ) ) {
|
140 |
echo 'No active scan, create one now...' . PHP_EOL;
|
141 |
Scan_Api::createScan();
|
142 |
} else {
|
143 |
echo 'Found active scan, process...' . PHP_EOL;
|
144 |
}
|
145 |
+
//echo sprintf( 'Total core files: %d' . PHP_EOL, count( Scan_Api::getCoreFiles() ) );
|
146 |
+
//echo sprintf( 'Total content files: %d' . PHP_EOL, count( Scan_Api::getContentFiles() ) );
|
147 |
echo '=============================================' . PHP_EOL;
|
148 |
$is_done = false;
|
149 |
while ( $is_done == false ) {
|
150 |
+
$memory = ( memory_get_peak_usage( true ) / 1024 / 1024 );
|
151 |
+
echo 'Memory: ' . $memory . ' MB' . PHP_EOL;
|
|
|
152 |
if ( $memory > 256 ) {
|
153 |
break;
|
154 |
}
|
155 |
+
$scanning = new Scanning();
|
156 |
+
$scanning->releaseLock();
|
157 |
+
$is_done = $scanning->do();
|
158 |
+
$progress = $scanning->getScanProgress();
|
159 |
+
//$is_done = Scan_Api::processActiveScan();
|
160 |
+
//$progress = Scan_Api::getScanProgress();
|
161 |
echo 'Scanning at ' . $progress . PHP_EOL;
|
162 |
gc_collect_cycles();
|
163 |
}
|
164 |
if ( $is_done ) {
|
165 |
+
$model = Scan_Api::getLastScan();
|
166 |
+
$finish = microtime( true ) - $start;
|
167 |
+
//\WP_CLI::log( sprintf( 'Found %s issues. Please go to %s for more info.' . PHP_EOL, count( $model->getItems() ), network_admin_url( 'admin.php?page=wdf-scan&view=issues' ) ) );
|
168 |
+
$results = $model->getItemsAsJson();
|
169 |
+
if ( count( $results ) ) {
|
170 |
+
format_items( 'table', $results, [ 'type', 'short_desc', 'full_path' ] );
|
171 |
+
} else {
|
172 |
+
\WP_CLI::log( 'All good!' );
|
173 |
+
}
|
174 |
+
\WP_CLI::log( 'Scan take ' . round( $finish, 2 ) . 's to process.' );
|
175 |
\WP_CLI::success( 'Scan done.' );
|
176 |
} else {
|
177 |
+
\WP_CLI::log( 'Run the command wp defender scan run again to continue process the scan.' );
|
178 |
+
}
|
179 |
+
}
|
180 |
+
|
181 |
+
public function tweaks( $task, $options ) {
|
182 |
+
$task = array_shift( $task );
|
183 |
+
$model = Settings::instance();
|
184 |
+
switch ( $task ) {
|
185 |
+
case 'resolve':
|
186 |
+
$tweaks = $model->getDefinedRules( true );
|
187 |
+
foreach ( $tweaks as $tweak ) {
|
188 |
+
if ( $tweak->check() == false ) {
|
189 |
+
$slug = $tweak::$slug;
|
190 |
+
if ( in_array( $slug, [
|
191 |
+
'protect-information',
|
192 |
+
'prevent-php-executed'
|
193 |
+
] ) ) {
|
194 |
+
continue;
|
195 |
+
}
|
196 |
+
\WP_CLI::log( sprintf( 'Resolving %s', $tweak->getTitle() ) );
|
197 |
+
$service = $tweak->getService();
|
198 |
+
switch ( $slug ) {
|
199 |
+
case 'replace-admin-username':
|
200 |
+
fwrite( STDOUT, 'Please enter new admin username:' );
|
201 |
+
$username = strtolower( trim( fgets( STDIN ) ) );
|
202 |
+
$service->setUsername( $username );
|
203 |
+
break;
|
204 |
+
case 'db-prefix':
|
205 |
+
fwrite( STDOUT, 'Please enter new db prefix:' );
|
206 |
+
$prefix = strtolower( trim( fgets( STDIN ) ) );
|
207 |
+
$service->new_prefix = $prefix;
|
208 |
+
break;
|
209 |
+
case 'sh-xframe':
|
210 |
+
$service->mode = 'sameorigin';
|
211 |
+
break;
|
212 |
+
case 'sh-xss-protection':
|
213 |
+
$service->mode = 'sanitize';
|
214 |
+
break;
|
215 |
+
case 'sh-feature-policy':
|
216 |
+
$service->mode = 'self';
|
217 |
+
break;
|
218 |
+
case 'sh-referrer-policy':
|
219 |
+
$service->mode = 'origin-when-cross-origin';
|
220 |
+
break;
|
221 |
+
case 'sh-content-type-options':
|
222 |
+
$service->mode = 'nosniff';
|
223 |
+
break;
|
224 |
+
case 'sh-strict-transport':
|
225 |
+
$service->hsts_cache_duration = '7 days';
|
226 |
+
break;
|
227 |
+
}
|
228 |
+
$ret = $service->process();
|
229 |
+
if ( is_wp_error( $ret ) ) {
|
230 |
+
\WP_CLI::error( $ret->get_error_message() );
|
231 |
+
|
232 |
+
return;
|
233 |
+
}
|
234 |
+
\WP_CLI::success( 'Done' );
|
235 |
+
}
|
236 |
+
}
|
237 |
+
break;
|
238 |
+
case 'ignore':
|
239 |
+
$tweaks = $model->getIssues();
|
240 |
+
foreach ( $tweaks as $tweak ) {
|
241 |
+
$tweak->ignore();
|
242 |
+
\WP_CLI::success( sprintf( 'Ignored %s', $tweak->getTitle() ) );
|
243 |
+
}
|
244 |
+
break;
|
245 |
+
case 'revert':
|
246 |
+
$tweaks = $model->getFixed();
|
247 |
+
foreach ( $tweaks as $tweak ) {
|
248 |
+
$tweak->revert();
|
249 |
+
\WP_CLI::success( sprintf( 'Reverted %s', $tweak->getTitle() ) );
|
250 |
+
}
|
251 |
+
break;
|
252 |
+
case 'unignore':
|
253 |
+
$tweaks = $model->getIgnore();
|
254 |
+
foreach ( $tweaks as $tweak ) {
|
255 |
+
$tweak->restore();
|
256 |
+
\WP_CLI::success( sprintf( 'Restore %s', $tweak->getTitle() ) );
|
257 |
+
}
|
258 |
+
break;
|
259 |
+
default:
|
260 |
+
\WP_CLI::error( 'Invalid command, only resolve|ignore allow' );
|
261 |
+
break;
|
262 |
}
|
263 |
}
|
264 |
|
265 |
/**
|
266 |
+
* This will generate randomly settings, use to check upgrade scenario
|
267 |
*/
|
268 |
+
public function seeding() {
|
269 |
+
//reset all the data before generate
|
270 |
+
$this->reset();
|
271 |
+
$faker = Factory::create();
|
272 |
+
//start with tweaks
|
273 |
+
$tweaks = Settings::instance();
|
274 |
|
275 |
+
}
|
276 |
+
|
277 |
+
/**
|
278 |
+
* Reset all settings
|
279 |
+
*/
|
280 |
+
public function reset() {
|
281 |
+
Backup_Settings::resetSettings();
|
282 |
}
|
283 |
}
|
app/component/jed.php
ADDED
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WP_Defender\Component;
|
4 |
+
|
5 |
+
use Gettext\Generators\Generator;
|
6 |
+
use Gettext\Generators\GeneratorInterface;
|
7 |
+
use Gettext\Translations;
|
8 |
+
|
9 |
+
class Jed extends Generator implements GeneratorInterface {
|
10 |
+
public static $options = [
|
11 |
+
'json' => 0,
|
12 |
+
];
|
13 |
+
|
14 |
+
/**
|
15 |
+
* {@parentDoc}.
|
16 |
+
*/
|
17 |
+
public static function toString( Translations $translations, array $options = [] ) {
|
18 |
+
$domain = $translations->getDomain() ?: 'messages';
|
19 |
+
$options += static::$options;
|
20 |
+
|
21 |
+
return json_encode( [
|
22 |
+
"translation-revision-date" => date( 'Y-m-d' ),
|
23 |
+
"generator" => "wp-defender",
|
24 |
+
"version" => "1",
|
25 |
+
"domain" => "messages",
|
26 |
+
"locale_data" => [
|
27 |
+
"messages" => [
|
28 |
+
'' => [
|
29 |
+
'domain' => $domain,
|
30 |
+
'lang' => $translations->getLanguage() ?: 'en',
|
31 |
+
'plural-forms' => $translations->getHeader( 'Plural-Forms' ) ?: 'nplurals=2; plural=(n != 1);',
|
32 |
+
],
|
33 |
+
] + static::buildMessages( $translations ),
|
34 |
+
],
|
35 |
+
], $options['json'] );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Generates an array with all translations.
|
40 |
+
*
|
41 |
+
* @param Translations $translations
|
42 |
+
*
|
43 |
+
* @return array
|
44 |
+
*/
|
45 |
+
protected static function buildMessages( Translations $translations ) {
|
46 |
+
$pluralForm = $translations->getPluralForms();
|
47 |
+
$pluralSize = is_array( $pluralForm ) ? ( $pluralForm[0] - 1 ) : null;
|
48 |
+
$messages = [];
|
49 |
+
$context_glue = '\u0004';
|
50 |
+
|
51 |
+
foreach ( $translations as $translation ) {
|
52 |
+
if ( $translation->isDisabled() ) {
|
53 |
+
continue;
|
54 |
+
}
|
55 |
+
|
56 |
+
$key = ( $translation->hasContext() ? $translation->getContext() . $context_glue : '' )
|
57 |
+
. $translation->getOriginal();
|
58 |
+
|
59 |
+
if ( $translation->hasPluralTranslations( true ) ) {
|
60 |
+
$message = $translation->getPluralTranslations( $pluralSize );
|
61 |
+
array_unshift( $message, $translation->getTranslation() );
|
62 |
+
} else {
|
63 |
+
$message = [ $translation->getTranslation() ];
|
64 |
+
}
|
65 |
+
|
66 |
+
$messages[ $key ] = $message;
|
67 |
+
}
|
68 |
+
|
69 |
+
return $messages;
|
70 |
+
}
|
71 |
+
}
|
app/controller/dashboard.php
CHANGED
@@ -14,6 +14,7 @@ use WP_Defender\Module\Audit\Component\Audit_API;
|
|
14 |
use WP_Defender\Module\IP_Lockout;
|
15 |
use WP_Defender\Module\IP_Lockout\Component\Login_Protection_Api;
|
16 |
use WP_Defender\Module\Scan\Component\Scan_Api;
|
|
|
17 |
use WP_Defender\Module\Scan\Model\Result_Item;
|
18 |
use WP_Defender\Module\Scan\Model\Settings;
|
19 |
use WP_Defender\Module\Setting\Component\Backup_Settings;
|
@@ -152,13 +153,14 @@ class Dashboard extends Controller {
|
|
152 |
}
|
153 |
|
154 |
public function getScanProgress() {
|
155 |
-
$
|
|
|
156 |
if ( is_wp_error( $ret ) ) {
|
157 |
wp_send_json_error( array(
|
158 |
'message' => $ret->get_error_message()
|
159 |
) );
|
160 |
} else {
|
161 |
-
$percent =
|
162 |
if ( $ret == true ) {
|
163 |
$percent = 100;
|
164 |
}
|
14 |
use WP_Defender\Module\IP_Lockout;
|
15 |
use WP_Defender\Module\IP_Lockout\Component\Login_Protection_Api;
|
16 |
use WP_Defender\Module\Scan\Component\Scan_Api;
|
17 |
+
use WP_Defender\Module\Scan\Component\Scanning;
|
18 |
use WP_Defender\Module\Scan\Model\Result_Item;
|
19 |
use WP_Defender\Module\Scan\Model\Settings;
|
20 |
use WP_Defender\Module\Setting\Component\Backup_Settings;
|
153 |
}
|
154 |
|
155 |
public function getScanProgress() {
|
156 |
+
$scanning = new Scanning();
|
157 |
+
$ret = $scanning->do();
|
158 |
if ( is_wp_error( $ret ) ) {
|
159 |
wp_send_json_error( array(
|
160 |
'message' => $ret->get_error_message()
|
161 |
) );
|
162 |
} else {
|
163 |
+
$percent = $scanning->getScanProgress();
|
164 |
if ( $ret == true ) {
|
165 |
$percent = 100;
|
166 |
}
|
app/controller/debug.php
CHANGED
@@ -59,11 +59,12 @@ class Debug extends Controller {
|
|
59 |
}
|
60 |
|
61 |
public function actionIndex() {
|
62 |
-
$cache
|
|
|
63 |
$this->render( 'debug', [
|
64 |
'core' => $cache->get( Scan_Api::CACHE_CORE, [] ),
|
65 |
'content' => $cache->get( Scan_Api::CACHE_CONTENT, [] ),
|
66 |
-
'progress' =>
|
67 |
] );
|
68 |
}
|
69 |
|
59 |
}
|
60 |
|
61 |
public function actionIndex() {
|
62 |
+
$cache = Container::instance()->get( 'cache' );
|
63 |
+
$scanning = new Scanning();
|
64 |
$this->render( 'debug', [
|
65 |
'core' => $cache->get( Scan_Api::CACHE_CORE, [] ),
|
66 |
'content' => $cache->get( Scan_Api::CACHE_CONTENT, [] ),
|
67 |
+
'progress' => $scanning->getScanProgress()
|
68 |
] );
|
69 |
}
|
70 |
|
app/module/advanced-tools/component/auth-listener.php
CHANGED
@@ -201,7 +201,8 @@ class Auth_Listener extends Component {
|
|
201 |
$token = HTTP_Helper::retrieveGet( 'token' );
|
202 |
$query = new \WP_User_Query( array(
|
203 |
'meta_key' => 'defOTPLoginToken',
|
204 |
-
'meta_value' => $token
|
|
|
205 |
) );
|
206 |
$res = $query->get_results();
|
207 |
if ( empty( $res ) ) {
|
201 |
$token = HTTP_Helper::retrieveGet( 'token' );
|
202 |
$query = new \WP_User_Query( array(
|
203 |
'meta_key' => 'defOTPLoginToken',
|
204 |
+
'meta_value' => $token,
|
205 |
+
'blog_id' => 0
|
206 |
) );
|
207 |
$res = $query->get_results();
|
208 |
if ( empty( $res ) ) {
|
app/module/advanced-tools/component/mask-api.php
CHANGED
@@ -19,7 +19,7 @@ class Mask_Api extends Component {
|
|
19 |
*
|
20 |
* @return mixed|string
|
21 |
*/
|
22 |
-
|
23 |
public static function getRequestPath( $requestUri = null ) {
|
24 |
if ( empty( $requestUri ) ) {
|
25 |
$requestUri = $_SERVER['REQUEST_URI'];
|
@@ -53,10 +53,10 @@ class Mask_Api extends Component {
|
|
53 |
if ( substr( $requestPath, 0, 1 ) != '/' ) {
|
54 |
$requestPath = '/' . $requestPath;
|
55 |
}
|
56 |
-
|
57 |
return $requestPath;
|
58 |
}
|
59 |
-
|
60 |
/**
|
61 |
* A clone of network_site_url but remove the filter
|
62 |
*
|
@@ -73,16 +73,16 @@ class Mask_Api extends Component {
|
|
73 |
$url = get_option( 'siteurl' );
|
74 |
restore_current_blog();
|
75 |
}
|
76 |
-
|
77 |
$url = set_url_scheme( $url, $scheme );
|
78 |
-
|
79 |
if ( $path && is_string( $path ) ) {
|
80 |
$url .= '/' . ltrim( $path, '/' );
|
81 |
}
|
82 |
-
|
83 |
return $url;
|
84 |
}
|
85 |
-
|
86 |
/**
|
87 |
* Generate a random unique onetime pass and store in user meta
|
88 |
* Laterly we can use it to by pass the mask admin
|
@@ -98,10 +98,10 @@ class Mask_Api extends Component {
|
|
98 |
'used' => 0
|
99 |
];
|
100 |
$settings->save();
|
101 |
-
|
102 |
return $otp;
|
103 |
}
|
104 |
-
|
105 |
/**
|
106 |
* @param $ticket
|
107 |
*
|
@@ -113,33 +113,33 @@ class Mask_Api extends Component {
|
|
113 |
if ( $detail === false ) {
|
114 |
return false;
|
115 |
}
|
116 |
-
|
117 |
/**
|
118 |
* ticket expired
|
119 |
*/
|
120 |
if ( $detail['expiry'] < time() ) {
|
121 |
unset( $settings->otps[ $ticket ] );
|
122 |
$settings->save();
|
123 |
-
|
124 |
return false;
|
125 |
}
|
126 |
-
|
127 |
$userIP = Utils::instance()->getUserIp();
|
128 |
if ( $detail['bind_to'] !== null && $detail['bind_to'] != $userIP ) {
|
129 |
//this is binded to an IP but current IP not the same, not allow
|
130 |
return false;
|
131 |
}
|
132 |
-
|
133 |
if ( $detail['bind_to'] === null ) {
|
134 |
$detail['bind_to'] = $userIP;
|
135 |
}
|
136 |
$detail['used'] += 1;
|
137 |
$settings->otps[ $ticket ] = $detail;
|
138 |
$settings->save();
|
139 |
-
|
140 |
return true;
|
141 |
}
|
142 |
-
|
143 |
/**
|
144 |
* @param $url
|
145 |
* @param $user_id
|
@@ -149,7 +149,7 @@ class Mask_Api extends Component {
|
|
149 |
public static function maybeAppendTicketToUrl( $url ) {
|
150 |
return add_query_arg( 'ticket', self::generateTicket(), $url );
|
151 |
}
|
152 |
-
|
153 |
/**
|
154 |
* A clone of network_site_url but remove the filter
|
155 |
*
|
@@ -160,20 +160,20 @@ class Mask_Api extends Component {
|
|
160 |
*/
|
161 |
private static function networkSiteUrl( $path = '', $scheme = null ) {
|
162 |
$current_network = get_network();
|
163 |
-
|
164 |
if ( 'relative' == $scheme ) {
|
165 |
$url = $current_network->path;
|
166 |
} else {
|
167 |
$url = set_url_scheme( 'http://' . $current_network->domain . $current_network->path, $scheme );
|
168 |
}
|
169 |
-
|
170 |
if ( $path && is_string( $path ) ) {
|
171 |
$url .= ltrim( $path, '/' );
|
172 |
}
|
173 |
-
|
174 |
return $url;
|
175 |
}
|
176 |
-
|
177 |
/**
|
178 |
* clone from get_home_url function without the filter
|
179 |
*
|
@@ -185,9 +185,9 @@ class Mask_Api extends Component {
|
|
185 |
*/
|
186 |
private static function getHomeUrl( $blog_id = null, $path = '', $scheme = null ) {
|
187 |
global $pagenow;
|
188 |
-
|
189 |
$orig_scheme = $scheme;
|
190 |
-
|
191 |
if ( empty( $blog_id ) || ! is_multisite() ) {
|
192 |
$url = get_option( 'home' );
|
193 |
} else {
|
@@ -195,7 +195,7 @@ class Mask_Api extends Component {
|
|
195 |
$url = get_option( 'home' );
|
196 |
restore_current_blog();
|
197 |
}
|
198 |
-
|
199 |
if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) {
|
200 |
if ( is_ssl() && ! is_admin() && 'wp-login.php' !== $pagenow ) {
|
201 |
$scheme = 'https';
|
@@ -203,25 +203,25 @@ class Mask_Api extends Component {
|
|
203 |
$scheme = parse_url( $url, PHP_URL_SCHEME );
|
204 |
}
|
205 |
}
|
206 |
-
|
207 |
$url = set_url_scheme( $url, $scheme );
|
208 |
-
|
209 |
if ( $path && is_string( $path ) ) {
|
210 |
$url .= '/' . ltrim( $path, '/' );
|
211 |
}
|
212 |
-
|
213 |
return $url;
|
214 |
}
|
215 |
-
|
216 |
/**
|
217 |
* @return string
|
218 |
*/
|
219 |
public static function getRedirectUrl() {
|
220 |
$settings = Mask_Settings::instance();
|
221 |
-
|
222 |
return untrailingslashit( get_home_url( get_current_blog_id() ) ) . '/' . ltrim( $settings->redirect_traffic_url, '/' );
|
223 |
}
|
224 |
-
|
225 |
/**
|
226 |
* @return string
|
227 |
*/
|
@@ -230,10 +230,19 @@ class Mask_Api extends Component {
|
|
230 |
if ( $domain == null ) {
|
231 |
$domain = site_url();
|
232 |
}
|
233 |
-
|
234 |
return untrailingslashit( $domain . '/' . ltrim( $settings->mask_url, '/' ) );
|
235 |
}
|
236 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
/**
|
238 |
* @param null $slug
|
239 |
*
|
@@ -243,7 +252,7 @@ class Mask_Api extends Component {
|
|
243 |
if ( empty( $slug ) ) {
|
244 |
return true;
|
245 |
}
|
246 |
-
|
247 |
if ( $context == 'redirect' && $slug == '/' ) {
|
248 |
//redirect to home
|
249 |
return true;
|
@@ -257,7 +266,7 @@ class Mask_Api extends Component {
|
|
257 |
if ( in_array( $slug, array( 'admin', 'backend', 'wp-login', 'wp-login.php', 'login' ) ) ) {
|
258 |
return new \WP_Error( Error_Code::VALIDATE, __( "A page already exists at this URL, please pick a unique page for your new login area.", "defender-security" ) );
|
259 |
}
|
260 |
-
|
261 |
//check if any URL appear
|
262 |
$post = get_posts( array(
|
263 |
'name' => $slug,
|
@@ -269,10 +278,10 @@ class Mask_Api extends Component {
|
|
269 |
return new \WP_Error( Error_Code::VALIDATE, __( "A page already exists at this URL, please pick a unique page for your new login area.", "defender-security" ) );
|
270 |
}
|
271 |
}
|
272 |
-
|
273 |
return true;
|
274 |
}
|
275 |
-
|
276 |
/**
|
277 |
* @return null|string
|
278 |
*/
|
@@ -280,15 +289,15 @@ class Mask_Api extends Component {
|
|
280 |
if ( ! is_user_logged_in() ) {
|
281 |
return null;
|
282 |
}
|
283 |
-
|
284 |
$secret = Auth_API::getUserSecret();
|
285 |
$otp = uniqid();
|
286 |
$key = md5( $otp . $secret );
|
287 |
set_site_transient( $key, $otp, 300 );
|
288 |
-
|
289 |
return $otp;
|
290 |
}
|
291 |
-
|
292 |
/**
|
293 |
* @param $otp
|
294 |
*
|
@@ -301,10 +310,10 @@ class Mask_Api extends Component {
|
|
301 |
$check = get_site_transient( $key );
|
302 |
if ( $check == $otp ) {
|
303 |
delete_site_transient( $key );
|
304 |
-
|
305 |
return true;
|
306 |
}
|
307 |
-
|
308 |
return false;
|
309 |
}
|
310 |
}
|
19 |
*
|
20 |
* @return mixed|string
|
21 |
*/
|
22 |
+
|
23 |
public static function getRequestPath( $requestUri = null ) {
|
24 |
if ( empty( $requestUri ) ) {
|
25 |
$requestUri = $_SERVER['REQUEST_URI'];
|
53 |
if ( substr( $requestPath, 0, 1 ) != '/' ) {
|
54 |
$requestPath = '/' . $requestPath;
|
55 |
}
|
56 |
+
|
57 |
return $requestPath;
|
58 |
}
|
59 |
+
|
60 |
/**
|
61 |
* A clone of network_site_url but remove the filter
|
62 |
*
|
73 |
$url = get_option( 'siteurl' );
|
74 |
restore_current_blog();
|
75 |
}
|
76 |
+
|
77 |
$url = set_url_scheme( $url, $scheme );
|
78 |
+
|
79 |
if ( $path && is_string( $path ) ) {
|
80 |
$url .= '/' . ltrim( $path, '/' );
|
81 |
}
|
82 |
+
|
83 |
return $url;
|
84 |
}
|
85 |
+
|
86 |
/**
|
87 |
* Generate a random unique onetime pass and store in user meta
|
88 |
* Laterly we can use it to by pass the mask admin
|
98 |
'used' => 0
|
99 |
];
|
100 |
$settings->save();
|
101 |
+
|
102 |
return $otp;
|
103 |
}
|
104 |
+
|
105 |
/**
|
106 |
* @param $ticket
|
107 |
*
|
113 |
if ( $detail === false ) {
|
114 |
return false;
|
115 |
}
|
116 |
+
|
117 |
/**
|
118 |
* ticket expired
|
119 |
*/
|
120 |
if ( $detail['expiry'] < time() ) {
|
121 |
unset( $settings->otps[ $ticket ] );
|
122 |
$settings->save();
|
123 |
+
|
124 |
return false;
|
125 |
}
|
126 |
+
|
127 |
$userIP = Utils::instance()->getUserIp();
|
128 |
if ( $detail['bind_to'] !== null && $detail['bind_to'] != $userIP ) {
|
129 |
//this is binded to an IP but current IP not the same, not allow
|
130 |
return false;
|
131 |
}
|
132 |
+
|
133 |
if ( $detail['bind_to'] === null ) {
|
134 |
$detail['bind_to'] = $userIP;
|
135 |
}
|
136 |
$detail['used'] += 1;
|
137 |
$settings->otps[ $ticket ] = $detail;
|
138 |
$settings->save();
|
139 |
+
|
140 |
return true;
|
141 |
}
|
142 |
+
|
143 |
/**
|
144 |
* @param $url
|
145 |
* @param $user_id
|
149 |
public static function maybeAppendTicketToUrl( $url ) {
|
150 |
return add_query_arg( 'ticket', self::generateTicket(), $url );
|
151 |
}
|
152 |
+
|
153 |
/**
|
154 |
* A clone of network_site_url but remove the filter
|
155 |
*
|
160 |
*/
|
161 |
private static function networkSiteUrl( $path = '', $scheme = null ) {
|
162 |
$current_network = get_network();
|
163 |
+
|
164 |
if ( 'relative' == $scheme ) {
|
165 |
$url = $current_network->path;
|
166 |
} else {
|
167 |
$url = set_url_scheme( 'http://' . $current_network->domain . $current_network->path, $scheme );
|
168 |
}
|
169 |
+
|
170 |
if ( $path && is_string( $path ) ) {
|
171 |
$url .= ltrim( $path, '/' );
|
172 |
}
|
173 |
+
|
174 |
return $url;
|
175 |
}
|
176 |
+
|
177 |
/**
|
178 |
* clone from get_home_url function without the filter
|
179 |
*
|
185 |
*/
|
186 |
private static function getHomeUrl( $blog_id = null, $path = '', $scheme = null ) {
|
187 |
global $pagenow;
|
188 |
+
|
189 |
$orig_scheme = $scheme;
|
190 |
+
|
191 |
if ( empty( $blog_id ) || ! is_multisite() ) {
|
192 |
$url = get_option( 'home' );
|
193 |
} else {
|
195 |
$url = get_option( 'home' );
|
196 |
restore_current_blog();
|
197 |
}
|
198 |
+
|
199 |
if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) {
|
200 |
if ( is_ssl() && ! is_admin() && 'wp-login.php' !== $pagenow ) {
|
201 |
$scheme = 'https';
|
203 |
$scheme = parse_url( $url, PHP_URL_SCHEME );
|
204 |
}
|
205 |
}
|
206 |
+
|
207 |
$url = set_url_scheme( $url, $scheme );
|
208 |
+
|
209 |
if ( $path && is_string( $path ) ) {
|
210 |
$url .= '/' . ltrim( $path, '/' );
|
211 |
}
|
212 |
+
|
213 |
return $url;
|
214 |
}
|
215 |
+
|
216 |
/**
|
217 |
* @return string
|
218 |
*/
|
219 |
public static function getRedirectUrl() {
|
220 |
$settings = Mask_Settings::instance();
|
221 |
+
|
222 |
return untrailingslashit( get_home_url( get_current_blog_id() ) ) . '/' . ltrim( $settings->redirect_traffic_url, '/' );
|
223 |
}
|
224 |
+
|
225 |
/**
|
226 |
* @return string
|
227 |
*/
|
230 |
if ( $domain == null ) {
|
231 |
$domain = site_url();
|
232 |
}
|
233 |
+
|
234 |
return untrailingslashit( $domain . '/' . ltrim( $settings->mask_url, '/' ) );
|
235 |
}
|
236 |
+
|
237 |
+
/**
|
238 |
+
* @return bool
|
239 |
+
*/
|
240 |
+
public static function isEnabled() {
|
241 |
+
$model = Mask_Settings::instance();
|
242 |
+
|
243 |
+
return $model->isEnabled();
|
244 |
+
}
|
245 |
+
|
246 |
/**
|
247 |
* @param null $slug
|
248 |
*
|
252 |
if ( empty( $slug ) ) {
|
253 |
return true;
|
254 |
}
|
255 |
+
|
256 |
if ( $context == 'redirect' && $slug == '/' ) {
|
257 |
//redirect to home
|
258 |
return true;
|
266 |
if ( in_array( $slug, array( 'admin', 'backend', 'wp-login', 'wp-login.php', 'login' ) ) ) {
|
267 |
return new \WP_Error( Error_Code::VALIDATE, __( "A page already exists at this URL, please pick a unique page for your new login area.", "defender-security" ) );
|
268 |
}
|
269 |
+
|
270 |
//check if any URL appear
|
271 |
$post = get_posts( array(
|
272 |
'name' => $slug,
|
278 |
return new \WP_Error( Error_Code::VALIDATE, __( "A page already exists at this URL, please pick a unique page for your new login area.", "defender-security" ) );
|
279 |
}
|
280 |
}
|
281 |
+
|
282 |
return true;
|
283 |
}
|
284 |
+
|
285 |
/**
|
286 |
* @return null|string
|
287 |
*/
|
289 |
if ( ! is_user_logged_in() ) {
|
290 |
return null;
|
291 |
}
|
292 |
+
|
293 |
$secret = Auth_API::getUserSecret();
|
294 |
$otp = uniqid();
|
295 |
$key = md5( $otp . $secret );
|
296 |
set_site_transient( $key, $otp, 300 );
|
297 |
+
|
298 |
return $otp;
|
299 |
}
|
300 |
+
|
301 |
/**
|
302 |
* @param $otp
|
303 |
*
|
310 |
$check = get_site_transient( $key );
|
311 |
if ( $check == $otp ) {
|
312 |
delete_site_transient( $key );
|
313 |
+
|
314 |
return true;
|
315 |
}
|
316 |
+
|
317 |
return false;
|
318 |
}
|
319 |
}
|
app/module/advanced-tools/component/mask-login-listener.php
CHANGED
@@ -13,7 +13,7 @@ class Mask_Login_Listener extends Component {
|
|
13 |
public function __construct() {
|
14 |
$settings = Mask_Settings::instance();
|
15 |
$emergencySwitch = apply_filters( 'wpd_masklogin_disabled', 0 );
|
16 |
-
|
17 |
if ( $settings->isEnabled() == true && $emergencySwitch == 0 ) {
|
18 |
$isJetpackSSO = Auth_API::isJetPackSSO();
|
19 |
$isTML = Auth_API::isTML();
|
@@ -22,8 +22,9 @@ class Mask_Login_Listener extends Component {
|
|
22 |
$this->addFilter( 'wp_redirect', 'filterWPRedirect', 10, 2 );
|
23 |
$this->addFilter( 'site_url', 'filterSiteUrl', 9999, 4 );
|
24 |
$this->addFilter( 'network_site_url', 'filterNetworkSiteUrl', 9999, 3 );
|
25 |
-
|
26 |
-
|
|
|
27 |
remove_action( 'template_redirect', 'wp_redirect_admin_locations' );
|
28 |
//if prosite is activate and useremail is not defined, we need to update the
|
29 |
//email to match the new login URL
|
@@ -39,7 +40,32 @@ class Mask_Login_Listener extends Component {
|
|
39 |
}
|
40 |
}
|
41 |
}
|
42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
/**
|
44 |
* @param $logs_url
|
45 |
* @param $email
|
@@ -53,10 +79,10 @@ class Mask_Login_Listener extends Component {
|
|
53 |
} else {
|
54 |
$logs_url = add_query_arg( 'redirect_to', $logs_url, Mask_Api::getNewLoginUrl() );
|
55 |
}
|
56 |
-
|
57 |
return $logs_url;
|
58 |
}
|
59 |
-
|
60 |
public function handleLoginRequest() {
|
61 |
//need to check if the current request is for signup, login, if those is not the slug, then we redirect
|
62 |
//to the 404 redirect, or 403 wp die
|
@@ -78,7 +104,7 @@ class Mask_Login_Listener extends Component {
|
|
78 |
$this->_handleRequestToLoginPage();
|
79 |
}
|
80 |
}
|
81 |
-
|
82 |
/**
|
83 |
* @param $welcome_email
|
84 |
* @param $blog_id
|
@@ -92,10 +118,10 @@ class Mask_Login_Listener extends Component {
|
|
92 |
public function updateWelcomeEmailPrositeCase( $welcome_email, $blog_id, $user_id, $password, $title, $meta ) {
|
93 |
$url = get_blogaddress_by_id( $blog_id );
|
94 |
$welcome_email = str_replace( $url . 'wp-login.php', Mask_Api::getNewLoginUrl( rtrim( $url, '/' ) ), $welcome_email );
|
95 |
-
|
96 |
return $welcome_email;
|
97 |
}
|
98 |
-
|
99 |
/**
|
100 |
* @param $url
|
101 |
* @param $path
|
@@ -106,7 +132,7 @@ class Mask_Login_Listener extends Component {
|
|
106 |
public function filterNetworkSiteUrl( $url, $path, $scheme ) {
|
107 |
return $this->alterLoginUrl( $url, $scheme );
|
108 |
}
|
109 |
-
|
110 |
/**
|
111 |
* @param $url
|
112 |
* @param $path
|
@@ -118,7 +144,7 @@ class Mask_Login_Listener extends Component {
|
|
118 |
public function filterSiteUrl( $url, $path, $scheme, $blog_id ) {
|
119 |
return $this->alterLoginUrl( $url, $scheme );
|
120 |
}
|
121 |
-
|
122 |
/**
|
123 |
* @param $location
|
124 |
* @param $status
|
@@ -128,7 +154,7 @@ class Mask_Login_Listener extends Component {
|
|
128 |
public function filterWPRedirect( $location, $status ) {
|
129 |
return $this->alterLoginUrl( $location );
|
130 |
}
|
131 |
-
|
132 |
/**
|
133 |
* @param $currentUrl
|
134 |
* @param null $scheme
|
@@ -141,7 +167,7 @@ class Mask_Login_Listener extends Component {
|
|
141 |
$parts = parse_url( $currentUrl );
|
142 |
if ( isset( $parts['query'] ) ) {
|
143 |
parse_str( $parts['query'], $strings );
|
144 |
-
|
145 |
return add_query_arg( $strings, Mask_Api::getNewLoginUrl() );
|
146 |
} else {
|
147 |
return Mask_Api::getNewLoginUrl();
|
@@ -169,16 +195,16 @@ class Mask_Login_Listener extends Component {
|
|
169 |
//case inside my sites page, sometime the login session does not share between sites and we get block
|
170 |
//we will add an OTP key for redirect to wp-admin without get block
|
171 |
$otp = Mask_Api::createOTPKey();
|
172 |
-
|
173 |
return add_query_arg( array(
|
174 |
'otp' => $otp
|
175 |
), $currentUrl );
|
176 |
}
|
177 |
}
|
178 |
-
|
179 |
return $currentUrl;
|
180 |
}
|
181 |
-
|
182 |
/**
|
183 |
* Filter admin URL when sync with HUB
|
184 |
*
|
@@ -188,10 +214,15 @@ class Mask_Login_Listener extends Component {
|
|
188 |
* @return mixed
|
189 |
*/
|
190 |
public function filterAdminUrl( $currentUrl, $scheme = null ) {
|
191 |
-
|
|
|
|
|
|
|
|
|
|
|
192 |
return $currentUrl;
|
193 |
}
|
194 |
-
|
195 |
/**
|
196 |
* Catch any request to wp-admin/*, block or redirect it base on settings.
|
197 |
* This wont apply for logged in user
|
@@ -205,25 +236,27 @@ class Mask_Login_Listener extends Component {
|
|
205 |
if ( is_user_logged_in() ) {
|
206 |
return;
|
207 |
}
|
208 |
-
|
209 |
if ( ( $key = HTTP_Helper::retrieveGet( 'otp', false ) ) !== false
|
210 |
&& Mask_Api::verifyOTP( $key ) ) {
|
211 |
return;
|
212 |
}
|
213 |
-
|
214 |
$this->_maybeLock();
|
215 |
}
|
216 |
-
|
217 |
private function _handleRequestToLoginPage() {
|
218 |
-
|
|
|
|
|
219 |
}
|
220 |
-
|
221 |
private function _showLoginPage() {
|
222 |
global $error, $interim_login, $action, $user_login, $user, $redirect_to;
|
223 |
require_once ABSPATH . 'wp-login.php';
|
224 |
die;
|
225 |
}
|
226 |
-
|
227 |
private function _maybeLock() {
|
228 |
$settings = Mask_Settings::instance();
|
229 |
if ( $settings->isRedirect() == true ) {
|
13 |
public function __construct() {
|
14 |
$settings = Mask_Settings::instance();
|
15 |
$emergencySwitch = apply_filters( 'wpd_masklogin_disabled', 0 );
|
16 |
+
|
17 |
if ( $settings->isEnabled() == true && $emergencySwitch == 0 ) {
|
18 |
$isJetpackSSO = Auth_API::isJetPackSSO();
|
19 |
$isTML = Auth_API::isTML();
|
22 |
$this->addFilter( 'wp_redirect', 'filterWPRedirect', 10, 2 );
|
23 |
$this->addFilter( 'site_url', 'filterSiteUrl', 9999, 4 );
|
24 |
$this->addFilter( 'network_site_url', 'filterNetworkSiteUrl', 9999, 3 );
|
25 |
+
$this->addFilter( 'wp_mail', 'filterEmailBody', 999 );
|
26 |
+
//$this->addFilter( 'network_admin_url', 'filterAdminUrl', 9999, 2 );
|
27 |
+
//$this->add_filter( 'adminUrl', 'filterAdminUrl', 9999, 2 );
|
28 |
remove_action( 'template_redirect', 'wp_redirect_admin_locations' );
|
29 |
//if prosite is activate and useremail is not defined, we need to update the
|
30 |
//email to match the new login URL
|
40 |
}
|
41 |
}
|
42 |
}
|
43 |
+
|
44 |
+
public function filterEmailBody( $args ) {
|
45 |
+
$patterns = [
|
46 |
+
//approve comment
|
47 |
+
'/(' . preg_quote( site_url(), '/' ) . '\/wp-admin\/comment\.php\?.+)/',
|
48 |
+
//all comments
|
49 |
+
'/(' . preg_quote( site_url(), '/' ) . '\/wp-admin\/edit-comments\.php\?.+$)/'
|
50 |
+
];
|
51 |
+
|
52 |
+
$message = $args['message'];
|
53 |
+
foreach ( $patterns as $pattern ) {
|
54 |
+
if ( preg_match_all( $pattern, $message, $matches ) ) {
|
55 |
+
foreach ( $matches[0] as $url ) {
|
56 |
+
parse_str( parse_url( $url, PHP_URL_QUERY ), $parts );
|
57 |
+
if ( ! isset( $parts['ticket'] ) ) {
|
58 |
+
$new_url = add_query_arg( 'ticket', Mask_Api::generateTicket(), $url );
|
59 |
+
$message = str_replace( $url, $new_url, $message );
|
60 |
+
}
|
61 |
+
}
|
62 |
+
}
|
63 |
+
}
|
64 |
+
$args['message'] = $message;
|
65 |
+
|
66 |
+
return $args;
|
67 |
+
}
|
68 |
+
|
69 |
/**
|
70 |
* @param $logs_url
|
71 |
* @param $email
|
79 |
} else {
|
80 |
$logs_url = add_query_arg( 'redirect_to', $logs_url, Mask_Api::getNewLoginUrl() );
|
81 |
}
|
82 |
+
|
83 |
return $logs_url;
|
84 |
}
|
85 |
+
|
86 |
public function handleLoginRequest() {
|
87 |
//need to check if the current request is for signup, login, if those is not the slug, then we redirect
|
88 |
//to the 404 redirect, or 403 wp die
|
104 |
$this->_handleRequestToLoginPage();
|
105 |
}
|
106 |
}
|
107 |
+
|
108 |
/**
|
109 |
* @param $welcome_email
|
110 |
* @param $blog_id
|
118 |
public function updateWelcomeEmailPrositeCase( $welcome_email, $blog_id, $user_id, $password, $title, $meta ) {
|
119 |
$url = get_blogaddress_by_id( $blog_id );
|
120 |
$welcome_email = str_replace( $url . 'wp-login.php', Mask_Api::getNewLoginUrl( rtrim( $url, '/' ) ), $welcome_email );
|
121 |
+
|
122 |
return $welcome_email;
|
123 |
}
|
124 |
+
|
125 |
/**
|
126 |
* @param $url
|
127 |
* @param $path
|
132 |
public function filterNetworkSiteUrl( $url, $path, $scheme ) {
|
133 |
return $this->alterLoginUrl( $url, $scheme );
|
134 |
}
|
135 |
+
|
136 |
/**
|
137 |
* @param $url
|
138 |
* @param $path
|
144 |
public function filterSiteUrl( $url, $path, $scheme, $blog_id ) {
|
145 |
return $this->alterLoginUrl( $url, $scheme );
|
146 |
}
|
147 |
+
|
148 |
/**
|
149 |
* @param $location
|
150 |
* @param $status
|
154 |
public function filterWPRedirect( $location, $status ) {
|
155 |
return $this->alterLoginUrl( $location );
|
156 |
}
|
157 |
+
|
158 |
/**
|
159 |
* @param $currentUrl
|
160 |
* @param null $scheme
|
167 |
$parts = parse_url( $currentUrl );
|
168 |
if ( isset( $parts['query'] ) ) {
|
169 |
parse_str( $parts['query'], $strings );
|
170 |
+
|
171 |
return add_query_arg( $strings, Mask_Api::getNewLoginUrl() );
|
172 |
} else {
|
173 |
return Mask_Api::getNewLoginUrl();
|
195 |
//case inside my sites page, sometime the login session does not share between sites and we get block
|
196 |
//we will add an OTP key for redirect to wp-admin without get block
|
197 |
$otp = Mask_Api::createOTPKey();
|
198 |
+
|
199 |
return add_query_arg( array(
|
200 |
'otp' => $otp
|
201 |
), $currentUrl );
|
202 |
}
|
203 |
}
|
204 |
+
|
205 |
return $currentUrl;
|
206 |
}
|
207 |
+
|
208 |
/**
|
209 |
* Filter admin URL when sync with HUB
|
210 |
*
|
214 |
* @return mixed
|
215 |
*/
|
216 |
public function filterAdminUrl( $currentUrl, $scheme = null ) {
|
217 |
+
//we just need to add a otp if not any
|
218 |
+
parse_str( parse_url( $currentUrl, PHP_URL_QUERY ), $parts );
|
219 |
+
if ( ! isset( $parts['ticket'] ) ) {
|
220 |
+
|
221 |
+
}
|
222 |
+
|
223 |
return $currentUrl;
|
224 |
}
|
225 |
+
|
226 |
/**
|
227 |
* Catch any request to wp-admin/*, block or redirect it base on settings.
|
228 |
* This wont apply for logged in user
|
236 |
if ( is_user_logged_in() ) {
|
237 |
return;
|
238 |
}
|
239 |
+
|
240 |
if ( ( $key = HTTP_Helper::retrieveGet( 'otp', false ) ) !== false
|
241 |
&& Mask_Api::verifyOTP( $key ) ) {
|
242 |
return;
|
243 |
}
|
244 |
+
|
245 |
$this->_maybeLock();
|
246 |
}
|
247 |
+
|
248 |
private function _handleRequestToLoginPage() {
|
249 |
+
if ( ! is_user_logged_in() ) {
|
250 |
+
$this->_maybeLock();
|
251 |
+
}
|
252 |
}
|
253 |
+
|
254 |
private function _showLoginPage() {
|
255 |
global $error, $interim_login, $action, $user_login, $user, $redirect_to;
|
256 |
require_once ABSPATH . 'wp-login.php';
|
257 |
die;
|
258 |
}
|
259 |
+
|
260 |
private function _maybeLock() {
|
261 |
$settings = Mask_Settings::instance();
|
262 |
if ( $settings->isRedirect() == true ) {
|
app/module/advanced-tools/view/login/disabled.php
CHANGED
@@ -1,12 +1,20 @@
|
|
1 |
<h2><?php _e( "Security", "defender-security" ) ?></h2>
|
2 |
-
<table class="form-table">
|
3 |
<tbody>
|
4 |
<tr class="user-sessions-wrap hide-if-no-js">
|
5 |
<th><?php _e( "Two Factor Authentication", "defender-security" ) ?></th>
|
6 |
<td aria-live="assertive">
|
7 |
<?php
|
8 |
$settings = \WP_Defender\Module\Advanced_Tools\Model\Auth_Settings::instance();
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
?>
|
11 |
<div class="def-warning">
|
12 |
<i class="dashicons dashicons-warning" aria-hidden="true"></i>
|
@@ -16,7 +24,6 @@
|
|
16 |
</div>
|
17 |
<?php endif; ?>
|
18 |
<?php
|
19 |
-
$user = wp_get_current_user();
|
20 |
$email = '';
|
21 |
if ( is_object( $user ) ) {
|
22 |
$email = $user->user_email;
|
@@ -72,8 +79,6 @@
|
|
72 |
</tr>
|
73 |
</tbody>
|
74 |
</table>
|
75 |
-
<script type="text/javascript"
|
76 |
-
src="<?php echo wp_defender()->getPluginUrl() . 'app/module/advanced-tools/js/qrcode.min.js' ?>"></script>
|
77 |
<script type="text/javascript">
|
78 |
jQuery(function ($) {
|
79 |
$('#def2qr').hide();
|
@@ -141,7 +146,7 @@
|
|
141 |
});
|
142 |
})
|
143 |
</script>
|
144 |
-
<?php if ( $settings->force_auth ): ?>
|
145 |
<script type="text/javascript">
|
146 |
jQuery(function ($) {
|
147 |
$('html, body').animate({scrollTop: $("#show2AuthActivator").offset().top}, 1000);
|
1 |
<h2><?php _e( "Security", "defender-security" ) ?></h2>
|
2 |
+
<table class="form-table" id="defender-security">
|
3 |
<tbody>
|
4 |
<tr class="user-sessions-wrap hide-if-no-js">
|
5 |
<th><?php _e( "Two Factor Authentication", "defender-security" ) ?></th>
|
6 |
<td aria-live="assertive">
|
7 |
<?php
|
8 |
$settings = \WP_Defender\Module\Advanced_Tools\Model\Auth_Settings::instance();
|
9 |
+
$force_auth_for_curr_user = false;
|
10 |
+
$user = wp_get_current_user();
|
11 |
+
if ( $user->ID && isset( $settings->force_auth_roles ) && ! empty( $settings->force_auth_roles ) ) {
|
12 |
+
$curr_user_roles = (array) $user->roles;
|
13 |
+
if ( ! empty( array_intersect( $curr_user_roles, $settings->force_auth_roles ) ) ) {
|
14 |
+
$force_auth_for_curr_user = true;
|
15 |
+
}
|
16 |
+
}
|
17 |
+
if ( $force_auth_for_curr_user && $settings->force_auth ):
|
18 |
?>
|
19 |
<div class="def-warning">
|
20 |
<i class="dashicons dashicons-warning" aria-hidden="true"></i>
|
24 |
</div>
|
25 |
<?php endif; ?>
|
26 |
<?php
|
|
|
27 |
$email = '';
|
28 |
if ( is_object( $user ) ) {
|
29 |
$email = $user->user_email;
|
79 |
</tr>
|
80 |
</tbody>
|
81 |
</table>
|
|
|
|
|
82 |
<script type="text/javascript">
|
83 |
jQuery(function ($) {
|
84 |
$('#def2qr').hide();
|
146 |
});
|
147 |
})
|
148 |
</script>
|
149 |
+
<?php if ( $force_auth_for_curr_user && $settings->force_auth ): ?>
|
150 |
<script type="text/javascript">
|
151 |
jQuery(function ($) {
|
152 |
$('html, body').animate({scrollTop: $("#show2AuthActivator").offset().top}, 1000);
|
app/module/audit/controller/main-free.php
CHANGED
@@ -58,21 +58,19 @@ class Main_Free extends \WP_Defender\Controller {
|
|
58 |
|
59 |
public function scripts() {
|
60 |
if ( $this->isInPage() ) {
|
61 |
-
|
62 |
-
|
63 |
-
wp_enqueue_style( 'defender' );
|
64 |
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
}
|
76 |
}
|
77 |
}
|
78 |
|
58 |
|
59 |
public function scripts() {
|
60 |
if ( $this->isInPage() ) {
|
61 |
+
wp_enqueue_style( 'wpmudev-sui' );
|
62 |
+
wp_enqueue_style( 'defender' );
|
|
|
63 |
|
64 |
+
wp_register_script( 'defender-audit', wp_defender()->getPluginUrl() . 'assets/app/audit.js', array(
|
65 |
+
'vue',
|
66 |
+
'defender',
|
67 |
+
'wp-i18n'
|
68 |
+
), wp_defender()->version, true );
|
69 |
+
Utils::instance()->createTranslationJson( 'defender-audit' );
|
70 |
+
wp_set_script_translations( 'defender-audit', 'wpdef', wp_defender()->getPluginPath() . 'languages' );
|
71 |
+
wp_localize_script( 'defender-audit', 'auditData', [] );
|
72 |
+
wp_enqueue_script( 'defender-audit' );
|
73 |
+
wp_enqueue_script( 'wpmudev-sui' );
|
|
|
74 |
}
|
75 |
}
|
76 |
|
app/module/hardener/component/disable-file-editor-service.php
CHANGED
@@ -33,7 +33,7 @@ class Disable_File_Editor_Service extends Rule_Service implements IRule_Service
|
|
33 |
}
|
34 |
$config = file( $config_path );
|
35 |
$line = $this->findLine( $config );
|
36 |
-
if ( $line
|
37 |
//no defined, we just need to inject
|
38 |
$hook_line = $this->findDefaultHookLine( $config );
|
39 |
if ( $hook_line === false ) {
|
@@ -44,7 +44,7 @@ class Disable_File_Editor_Service extends Rule_Service implements IRule_Service
|
|
44 |
return file_put_contents( $config_path, implode( null, $config ), LOCK_EX );
|
45 |
} else {
|
46 |
list( $value, $line ) = $line;
|
47 |
-
if ( $value
|
48 |
//already disable it, if we sitll here mean st not work, do nothing
|
49 |
return;
|
50 |
} else {
|
33 |
}
|
34 |
$config = file( $config_path );
|
35 |
$line = $this->findLine( $config );
|
36 |
+
if ( false === $line ) {
|
37 |
//no defined, we just need to inject
|
38 |
$hook_line = $this->findDefaultHookLine( $config );
|
39 |
if ( $hook_line === false ) {
|
44 |
return file_put_contents( $config_path, implode( null, $config ), LOCK_EX );
|
45 |
} else {
|
46 |
list( $value, $line ) = $line;
|
47 |
+
if ( true === $value ) {
|
48 |
//already disable it, if we sitll here mean st not work, do nothing
|
49 |
return;
|
50 |
} else {
|
app/module/hardener/component/prevent-php.php
CHANGED
@@ -118,14 +118,19 @@ class Prevent_Php extends Rule {
|
|
118 |
$ret = $service->process();
|
119 |
if ( ! is_wp_error( $ret ) ) {
|
120 |
$settings = Settings::instance();
|
121 |
-
|
122 |
-
|
123 |
-
|
|
|
|
|
|
|
|
|
|
|
124 |
}
|
|
|
|
|
125 |
$settings->setActiveServer( $server );
|
126 |
$settings->addToResolved( self::$slug );
|
127 |
-
$url = WP_Helper::getUploadUrl();
|
128 |
-
$url = $url . '/wp-defender/index.php';
|
129 |
$this->getService()->clearHeadRequest( $url );
|
130 |
} else {
|
131 |
wp_send_json_error( array(
|
118 |
$ret = $service->process();
|
119 |
if ( ! is_wp_error( $ret ) ) {
|
120 |
$settings = Settings::instance();
|
121 |
+
$url = WP_Helper::getUploadUrl();
|
122 |
+
$url = $url . '/wp-defender/index.php';
|
123 |
+
$this->getService()->clearHeadRequest( $url );
|
124 |
+
$ret = $this->getService()->check();
|
125 |
+
if ( $ret == false ) {
|
126 |
+
wp_send_json_error( [
|
127 |
+
'message' => __( "The rules can't apply to your host. This can because of your host doesn't allow for overriding, or you apply for the wrong webserver", "defender-security" )
|
128 |
+
] );
|
129 |
}
|
130 |
+
$settings->saveExcludedFilePaths( $service->getExcludedFilePaths() );
|
131 |
+
$settings->saveNewHtConfig( $service->getNewHtConfig() );
|
132 |
$settings->setActiveServer( $server );
|
133 |
$settings->addToResolved( self::$slug );
|
|
|
|
|
134 |
$this->getService()->clearHeadRequest( $url );
|
135 |
} else {
|
136 |
wp_send_json_error( array(
|
app/module/hardener/component/protect-information-service.php
CHANGED
@@ -19,12 +19,12 @@ class Protect_Information_Service extends Rule_Service implements IRule_Service
|
|
19 |
public function check() {
|
20 |
$cache = WP_Helper::getArrayCache()->get( 'Protect_Information_Service', null );
|
21 |
if ( $cache === null ) {
|
22 |
-
$url = wp_defender()->getPluginUrl() . '
|
23 |
$headers = $this->headRequest( $url, 'Protect Information', strtotime( '+1 day' ) );
|
24 |
-
|
25 |
if ( is_wp_error( $headers ) ) {
|
26 |
Utils::instance()->log( sprintf( 'Self ping error: %s', $headers->get_error_message() ), 'tweaks' );
|
27 |
-
|
28 |
return false;
|
29 |
}
|
30 |
|
@@ -73,8 +73,13 @@ class Protect_Information_Service extends Rule_Service implements IRule_Service
|
|
73 |
$htConfig = array_merge( $htConfig, $rules );
|
74 |
file_put_contents( $htPath, implode( PHP_EOL, $htConfig ), LOCK_EX );
|
75 |
}
|
76 |
-
$url = wp_defender()->getPluginUrl() . '
|
77 |
$this->clearHeadRequest( $url );
|
|
|
|
|
|
|
|
|
|
|
78 |
|
79 |
return true;
|
80 |
}
|
@@ -101,7 +106,7 @@ class Protect_Information_Service extends Rule_Service implements IRule_Service
|
|
101 |
}
|
102 |
$htConfig = trim( $htConfig );
|
103 |
file_put_contents( $htPath, $htConfig, LOCK_EX );
|
104 |
-
$url = wp_defender()->getPluginUrl() . '
|
105 |
$this->clearHeadRequest( $url );
|
106 |
|
107 |
return true;
|
@@ -135,7 +140,7 @@ location = /wp-config.php {
|
|
135 |
}
|
136 |
|
137 |
# Deny access to revealing or potentially dangerous files in the /wp-content/ directory (including sub-folders)
|
138 |
-
location ~* ^$wp_content/.*\.(
|
139 |
deny all;
|
140 |
}
|
141 |
";
|
@@ -153,7 +158,7 @@ location ~* ^$wp_content/.*\.(txt|md|exe|sh|bak|inc|pot|po|mo|log|sql)$ {
|
|
153 |
if ( floatval( $version ) >= 2.4 ) {
|
154 |
$rules = array(
|
155 |
PHP_EOL . '## WP Defender - Prevent information disclosure ##' . PHP_EOL,
|
156 |
-
'<FilesMatch "\.(
|
157 |
'Require all denied' . PHP_EOL .
|
158 |
'</FilesMatch>' . PHP_EOL,
|
159 |
'<Files robots.txt>' . PHP_EOL .
|
@@ -167,7 +172,7 @@ location ~* ^$wp_content/.*\.(txt|md|exe|sh|bak|inc|pot|po|mo|log|sql)$ {
|
|
167 |
} else {
|
168 |
$rules = array(
|
169 |
PHP_EOL . '## WP Defender - Prevent information disclosure ##' . PHP_EOL,
|
170 |
-
'<FilesMatch "\.(
|
171 |
'Order allow,deny' . PHP_EOL .
|
172 |
'Deny from all' . PHP_EOL .
|
173 |
'</FilesMatch>' . PHP_EOL,
|
19 |
public function check() {
|
20 |
$cache = WP_Helper::getArrayCache()->get( 'Protect_Information_Service', null );
|
21 |
if ( $cache === null ) {
|
22 |
+
$url = wp_defender()->getPluginUrl() . 'languages/wpdef-default.pot';
|
23 |
$headers = $this->headRequest( $url, 'Protect Information', strtotime( '+1 day' ) );
|
24 |
+
|
25 |
if ( is_wp_error( $headers ) ) {
|
26 |
Utils::instance()->log( sprintf( 'Self ping error: %s', $headers->get_error_message() ), 'tweaks' );
|
27 |
+
|
28 |
return false;
|
29 |
}
|
30 |
|
73 |
$htConfig = array_merge( $htConfig, $rules );
|
74 |
file_put_contents( $htPath, implode( PHP_EOL, $htConfig ), LOCK_EX );
|
75 |
}
|
76 |
+
$url = wp_defender()->getPluginUrl() . 'languages/wpdef-default.pot';
|
77 |
$this->clearHeadRequest( $url );
|
78 |
+
if ( ! $this->check() ) {
|
79 |
+
wp_send_json_error( [
|
80 |
+
'message' => __( "The rules can't apply to your host. This can because of your host doesn't allow for overriding, or you apply for the wrong webserver", "defender-security" )
|
81 |
+
] );
|
82 |
+
}
|
83 |
|
84 |
return true;
|
85 |
}
|
106 |
}
|
107 |
$htConfig = trim( $htConfig );
|
108 |
file_put_contents( $htPath, $htConfig, LOCK_EX );
|
109 |
+
$url = wp_defender()->getPluginUrl() . 'languages/wpdef-default.pot';
|
110 |
$this->clearHeadRequest( $url );
|
111 |
|
112 |
return true;
|
140 |
}
|
141 |
|
142 |
# Deny access to revealing or potentially dangerous files in the /wp-content/ directory (including sub-folders)
|
143 |
+
location ~* ^$wp_content/.*\.(md|exe|sh|bak|inc|pot|po|mo|log|sql)$ {
|
144 |
deny all;
|
145 |
}
|
146 |
";
|
158 |
if ( floatval( $version ) >= 2.4 ) {
|
159 |
$rules = array(
|
160 |
PHP_EOL . '## WP Defender - Prevent information disclosure ##' . PHP_EOL,
|
161 |
+
'<FilesMatch "\.(md|exe|sh|bak|inc|pot|po|mo|log|sql)$">' . PHP_EOL .
|
162 |
'Require all denied' . PHP_EOL .
|
163 |
'</FilesMatch>' . PHP_EOL,
|
164 |
'<Files robots.txt>' . PHP_EOL .
|
172 |
} else {
|
173 |
$rules = array(
|
174 |
PHP_EOL . '## WP Defender - Prevent information disclosure ##' . PHP_EOL,
|
175 |
+
'<FilesMatch "\.(md|exe|sh|bak|inc|pot|po|mo|log|sql)$">' . PHP_EOL .
|
176 |
'Order allow,deny' . PHP_EOL .
|
177 |
'Deny from all' . PHP_EOL .
|
178 |
'</FilesMatch>' . PHP_EOL,
|
app/module/hardener/controller/main.php
CHANGED
@@ -79,24 +79,39 @@ class Main extends Controller {
|
|
79 |
|
80 |
public function tweaksSendNotification() {
|
81 |
$settings = Hardener\Model\Settings::instance();
|
82 |
-
|
83 |
-
if (
|
84 |
-
|
85 |
-
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
}
|
88 |
|
89 |
-
if (
|
90 |
return;
|
91 |
}
|
|
|
92 |
$settings->refreshStatus();
|
93 |
$tweaks = $settings->getIssues();
|
94 |
|
95 |
-
if ( count( $tweaks )
|
96 |
-
//no issue no email
|
97 |
-
|
98 |
return;
|
99 |
}
|
|
|
100 |
$no_reply_email = "noreply@" . parse_url( get_site_url(), PHP_URL_HOST );
|
101 |
$no_reply_email = apply_filters( 'wd_scan_noreply_email', $no_reply_email );
|
102 |
$headers = array(
|
@@ -106,28 +121,13 @@ class Main extends Controller {
|
|
106 |
|
107 |
$subject = _n( 'Security Tweak Report for %s. %s tweak needs attention.', 'Security Tweak Report for %s. %s tweaks needs attention.', count( $tweaks ), "defender-security" );
|
108 |
$subject = sprintf( $subject, network_site_url(), count( $tweaks ) );
|
109 |
-
$canSend = false;
|
110 |
-
if ( $settings->last_sent == null ) {
|
111 |
-
//this is the case user install this and never check the page
|
112 |
-
//send report
|
113 |
-
$canSend = true;
|
114 |
-
} elseif ( strtotime( apply_filters( 'wd_tweaks_notification_interval', '+24 hours' ), apply_filters( 'wd_tweaks_last_notification_sent', $settings->last_sent ) ) < time() ) {
|
115 |
-
//this is the case email already sent once last 24 hours
|
116 |
-
if ( $settings->notification_repeat == false ) {
|
117 |
-
//no repeat
|
118 |
-
return;
|
119 |
-
}
|
120 |
-
$canSend = true;
|
121 |
-
}
|
122 |
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
$ret = wp_mail( $email, $subject, $this->prepareEmailContent( $receipt['first_name'], $email ), $headers );
|
127 |
-
}
|
128 |
-
$settings->last_sent = time();
|
129 |
-
$settings->save();
|
130 |
}
|
|
|
|
|
131 |
}
|
132 |
|
133 |
private function prepareEmailContent( $firstName, $email = null ) {
|
79 |
|
80 |
public function tweaksSendNotification() {
|
81 |
$settings = Hardener\Model\Settings::instance();
|
82 |
+
$canSend = false;
|
83 |
+
if ( $settings->last_sent ) {
|
84 |
+
if (
|
85 |
+
$settings->notification_repeat == true
|
86 |
+
&& strtotime( apply_filters( 'wd_tweaks_notification_interval', '+24 hours' ), apply_filters( 'wd_tweaks_last_notification_sent', $settings->last_sent ) ) < time() ) {
|
87 |
+
$canSend = true;
|
88 |
+
}
|
89 |
+
} else {
|
90 |
+
//this only happen one
|
91 |
+
if ( ! $settings->last_seen ) {
|
92 |
+
//should not in here
|
93 |
+
$settings->last_seen = time();
|
94 |
+
$settings->save();
|
95 |
+
}
|
96 |
+
|
97 |
+
if ( strtotime( apply_filters( 'wd_tweaks_notification_interval', '+7 days' ), apply_filters( 'wd_tweaks_last_action_time', $settings->last_seen ) ) > time() ) {
|
98 |
+
return;
|
99 |
+
}
|
100 |
+
|
101 |
+
$canSend = true;
|
102 |
}
|
103 |
|
104 |
+
if ( ! $canSend ) {
|
105 |
return;
|
106 |
}
|
107 |
+
|
108 |
$settings->refreshStatus();
|
109 |
$tweaks = $settings->getIssues();
|
110 |
|
111 |
+
if ( ! count( $tweaks ) ) {
|
|
|
|
|
112 |
return;
|
113 |
}
|
114 |
+
|
115 |
$no_reply_email = "noreply@" . parse_url( get_site_url(), PHP_URL_HOST );
|
116 |
$no_reply_email = apply_filters( 'wd_scan_noreply_email', $no_reply_email );
|
117 |
$headers = array(
|
121 |
|
122 |
$subject = _n( 'Security Tweak Report for %s. %s tweak needs attention.', 'Security Tweak Report for %s. %s tweaks needs attention.', count( $tweaks ), "defender-security" );
|
123 |
$subject = sprintf( $subject, network_site_url(), count( $tweaks ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
|
125 |
+
foreach ( $settings->receipts as $receipt ) {
|
126 |
+
$email = $receipt['email'];
|
127 |
+
$ret = wp_mail( $email, $subject, $this->prepareEmailContent( $receipt['first_name'], $email ), $headers );
|
|
|
|
|
|
|
|
|
128 |
}
|
129 |
+
$settings->last_sent = time();
|
130 |
+
$settings->save();
|
131 |
}
|
132 |
|
133 |
private function prepareEmailContent( $firstName, $email = null ) {
|
app/module/hardener/controller/rest.php
CHANGED
@@ -71,7 +71,7 @@ class Rest extends Controller {
|
|
71 |
$url = WP_Helper::getUploadUrl();
|
72 |
$url = $url . '/wp-defender/index.php';
|
73 |
} else {
|
74 |
-
$url = wp_defender()->getPluginUrl() . '
|
75 |
}
|
76 |
$model = Settings::instance();
|
77 |
$cache = $model->getDValues( 'head_requests' );
|
71 |
$url = WP_Helper::getUploadUrl();
|
72 |
$url = $url . '/wp-defender/index.php';
|
73 |
} else {
|
74 |
+
$url = wp_defender()->getPluginUrl() . 'languages/wpdef-default.pot';
|
75 |
}
|
76 |
$model = Settings::instance();
|
77 |
$cache = $model->getDValues( 'head_requests' );
|
app/module/hardener/model/settings.php
CHANGED
@@ -152,7 +152,6 @@ class Settings extends \Hammer\WP\Settings {
|
|
152 |
}
|
153 |
}
|
154 |
$this->active_server = Utils::instance()->determineServer();
|
155 |
-
$this->active_server = Utils::instance()->determineServer();
|
156 |
parent::__construct( $id, $is_multi );
|
157 |
$this->notification = ! ! $this->notification;
|
158 |
if ( ! is_array( $this->receipts ) ) {
|
@@ -501,4 +500,13 @@ class Settings extends \Hammer\WP\Settings {
|
|
501 |
|
502 |
return $labels;
|
503 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
504 |
}
|
152 |
}
|
153 |
}
|
154 |
$this->active_server = Utils::instance()->determineServer();
|
|
|
155 |
parent::__construct( $id, $is_multi );
|
156 |
$this->notification = ! ! $this->notification;
|
157 |
if ( ! is_array( $this->receipts ) ) {
|
500 |
|
501 |
return $labels;
|
502 |
}
|
503 |
+
|
504 |
+
public function resolve( $rules ) {
|
505 |
+
if ( $rules == true ) {
|
506 |
+
$rules = $this->getDefinedRules( true );
|
507 |
+
}
|
508 |
+
foreach ( $rules as $key => $rule ) {
|
509 |
+
$rule->process();
|
510 |
+
}
|
511 |
+
}
|
512 |
}
|
app/module/hardener/rule-service.php
CHANGED
@@ -100,7 +100,7 @@ class Rule_Service extends Component {
|
|
100 |
$cache = $cached[ $url ];
|
101 |
if ( $cache['ttl'] > time() ) {
|
102 |
//we'll use the cache
|
103 |
-
Utils::instance()->log( sprintf( 'Header for %s return from cached', $url ) );
|
104 |
|
105 |
return $cache['data'];
|
106 |
}
|
100 |
$cache = $cached[ $url ];
|
101 |
if ( $cache['ttl'] > time() ) {
|
102 |
//we'll use the cache
|
103 |
+
//Utils::instance()->log( sprintf( 'Header for %s return from cached', $url ) );
|
104 |
|
105 |
return $cache['data'];
|
106 |
}
|
app/module/ip-lockout/component/notfound-listener.php
CHANGED
@@ -17,34 +17,34 @@ class Notfound_Listener extends Controller {
|
|
17 |
$this->addAction( 'template_redirect', 'record404' );
|
18 |
}
|
19 |
}
|
20 |
-
|
21 |
public function record404() {
|
22 |
if ( ! is_404() ) {
|
23 |
return;
|
24 |
}
|
25 |
-
|
26 |
if ( is_user_logged_in() && current_user_can( 'edit_posts' ) ) {
|
27 |
//only track subscriber
|
28 |
return;
|
29 |
}
|
30 |
-
|
31 |
//now check if this from google
|
32 |
if ( Login_Protection_Api::isGoogleUA() && Login_Protection_Api::isGoogleIP( Utils::instance()->getUserIp() ) ) {
|
33 |
return;
|
34 |
}
|
35 |
-
|
36 |
//or bing
|
37 |
if ( Login_Protection_Api::isBingUA() && Login_Protection_Api::isBingIP( Utils::instance()->getUserIp() ) ) {
|
38 |
return;
|
39 |
}
|
40 |
-
|
41 |
$settings = Settings::instance();
|
42 |
if ( $settings->detect_404_logged == false && is_user_logged_in() ) {
|
43 |
return;
|
44 |
}
|
45 |
-
|
46 |
$uri = $_SERVER['REQUEST_URI'];
|
47 |
-
|
48 |
/**
|
49 |
* Priorities
|
50 |
* - Whitelist
|
@@ -55,12 +55,12 @@ class Notfound_Listener extends Controller {
|
|
55 |
* files & folders
|
56 |
* - attemps inside a window
|
57 |
*/
|
58 |
-
|
59 |
$ext = pathinfo( $uri, PATHINFO_EXTENSION );
|
60 |
if ( in_array( '.' . $ext, $settings->getDetect404IgnoredFiletypes() ) ) {
|
61 |
//ext is whitelist, log and return
|
62 |
$this->log( $uri, Log_Model::ERROR_404_IGNORE, sprintf( __( "Request for file %s which doesn't exist", "defender-security" ), $uri ) );
|
63 |
-
|
64 |
return;
|
65 |
}
|
66 |
foreach ( $settings->get404Whitelist() as $pattern ) {
|
@@ -75,16 +75,16 @@ class Notfound_Listener extends Controller {
|
|
75 |
//block it
|
76 |
$this->lock( $model, 'blacklist', $uri );
|
77 |
$this->log( $uri, Log_Model::LOCKOUT_404, sprintf( __( "Lockout occurred: Too many 404 requests for %s" ) ) );
|
78 |
-
|
79 |
return;
|
80 |
}
|
81 |
-
|
82 |
foreach ( $settings->getDetect404Blacklist() as $pattern ) {
|
83 |
$pattern = preg_quote( $pattern, '/' );
|
84 |
if ( preg_match( '/' . $pattern . '$/', $uri ) ) {
|
85 |
$this->lock( $model, 'blacklist', $uri );
|
86 |
$this->log( $uri, Log_Model::LOCKOUT_404, sprintf( __( "Lockout occurred: Too many 404 requests for %s" ) ) );
|
87 |
-
|
88 |
return;
|
89 |
}
|
90 |
}
|
@@ -99,21 +99,24 @@ class Notfound_Listener extends Controller {
|
|
99 |
'type' => Log_Model::ERROR_404,
|
100 |
'date' => [ 'compare' => '>', 'value' => $window ]
|
101 |
] );
|
102 |
-
|
103 |
if ( $attempts > $settings->detect_404_threshold ) {
|
104 |
//lock it
|
105 |
-
$this->lock( $model, $uri );
|
106 |
$this->log( $uri, Log_Model::LOCKOUT_404, sprintf( __( "Lockout occurred: Too many 404 requests for %s" ), $uri ) );
|
107 |
}
|
108 |
}
|
109 |
-
|
110 |
/**
|
111 |
* @param IP_Model $model
|
112 |
* @param $scenario
|
113 |
* @param $uri
|
114 |
*/
|
115 |
private function lock( IP_Model $model, $scenario = 'normal', $uri = '' ) {
|
116 |
-
$settings
|
|
|
|
|
|
|
117 |
$model->status = IP_Model::STATUS_BLOCKED;
|
118 |
$model->lock_time = time();
|
119 |
if ( $scenario == 'blacklist' ) {
|
@@ -127,11 +130,11 @@ class Notfound_Listener extends Controller {
|
|
127 |
$settings->addIpToList( $model->ip, 'blacklist' );
|
128 |
}
|
129 |
$model->lock_time = time();
|
130 |
-
|
131 |
do_action( 'wd_404_lockout', $model, $scenario );
|
132 |
$this->email( $model, $uri );
|
133 |
}
|
134 |
-
|
135 |
/**
|
136 |
* @param $uri
|
137 |
* @param $scenario
|
@@ -146,17 +149,21 @@ class Notfound_Listener extends Controller {
|
|
146 |
$log->tried = $uri;
|
147 |
$log->save();
|
148 |
}
|
149 |
-
|
150 |
/**
|
151 |
* @param IP_Model $model
|
152 |
* @param $uri
|
153 |
*/
|
154 |
private function email( IP_Model $model, $uri ) {
|
155 |
$settings = Settings::instance();
|
|
|
156 |
if ( ! Login_Protection_Api::maybeSendNotification( '404', $model, $settings ) ) {
|
157 |
return;
|
158 |
}
|
|
|
159 |
$isBlacklisted = $settings->isBlacklist( $model->ip );
|
|
|
|
|
160 |
foreach ( $settings->receipts as $item ) {
|
161 |
$content = $this->renderPartial( $isBlacklisted == true ? 'emails/404-ban' : 'emails/404-lockout', array(
|
162 |
'admin' => $item['first_name'],
|
@@ -169,7 +176,8 @@ class Notfound_Listener extends Controller {
|
|
169 |
'From: Defender <' . $no_reply_email . '>',
|
170 |
'Content-Type: text/html; charset=UTF-8'
|
171 |
);
|
172 |
-
wp_mail( $item['email'], sprintf( __( "404 lockout alert for %s", "defender-security" ), network_site_url() ), $content, $headers );
|
|
|
173 |
}
|
174 |
}
|
175 |
}
|
17 |
$this->addAction( 'template_redirect', 'record404' );
|
18 |
}
|
19 |
}
|
20 |
+
|
21 |
public function record404() {
|
22 |
if ( ! is_404() ) {
|
23 |
return;
|
24 |
}
|
25 |
+
|
26 |
if ( is_user_logged_in() && current_user_can( 'edit_posts' ) ) {
|
27 |
//only track subscriber
|
28 |
return;
|
29 |
}
|
30 |
+
|
31 |
//now check if this from google
|
32 |
if ( Login_Protection_Api::isGoogleUA() && Login_Protection_Api::isGoogleIP( Utils::instance()->getUserIp() ) ) {
|
33 |
return;
|
34 |
}
|
35 |
+
|
36 |
//or bing
|
37 |
if ( Login_Protection_Api::isBingUA() && Login_Protection_Api::isBingIP( Utils::instance()->getUserIp() ) ) {
|
38 |
return;
|
39 |
}
|
40 |
+
|
41 |
$settings = Settings::instance();
|
42 |
if ( $settings->detect_404_logged == false && is_user_logged_in() ) {
|
43 |
return;
|
44 |
}
|
45 |
+
|
46 |
$uri = $_SERVER['REQUEST_URI'];
|
47 |
+
|
48 |
/**
|
49 |
* Priorities
|
50 |
* - Whitelist
|
55 |
* files & folders
|
56 |
* - attemps inside a window
|
57 |
*/
|
58 |
+
|
59 |
$ext = pathinfo( $uri, PATHINFO_EXTENSION );
|
60 |
if ( in_array( '.' . $ext, $settings->getDetect404IgnoredFiletypes() ) ) {
|
61 |
//ext is whitelist, log and return
|
62 |
$this->log( $uri, Log_Model::ERROR_404_IGNORE, sprintf( __( "Request for file %s which doesn't exist", "defender-security" ), $uri ) );
|
63 |
+
|
64 |
return;
|
65 |
}
|
66 |
foreach ( $settings->get404Whitelist() as $pattern ) {
|
75 |
//block it
|
76 |
$this->lock( $model, 'blacklist', $uri );
|
77 |
$this->log( $uri, Log_Model::LOCKOUT_404, sprintf( __( "Lockout occurred: Too many 404 requests for %s" ) ) );
|
78 |
+
|
79 |
return;
|
80 |
}
|
81 |
+
|
82 |
foreach ( $settings->getDetect404Blacklist() as $pattern ) {
|
83 |
$pattern = preg_quote( $pattern, '/' );
|
84 |
if ( preg_match( '/' . $pattern . '$/', $uri ) ) {
|
85 |
$this->lock( $model, 'blacklist', $uri );
|
86 |
$this->log( $uri, Log_Model::LOCKOUT_404, sprintf( __( "Lockout occurred: Too many 404 requests for %s" ) ) );
|
87 |
+
|
88 |
return;
|
89 |
}
|
90 |
}
|
99 |
'type' => Log_Model::ERROR_404,
|
100 |
'date' => [ 'compare' => '>', 'value' => $window ]
|
101 |
] );
|
102 |
+
|
103 |
if ( $attempts > $settings->detect_404_threshold ) {
|
104 |
//lock it
|
105 |
+
$this->lock( $model, 'normal', $uri );
|
106 |
$this->log( $uri, Log_Model::LOCKOUT_404, sprintf( __( "Lockout occurred: Too many 404 requests for %s" ), $uri ) );
|
107 |
}
|
108 |
}
|
109 |
+
|
110 |
/**
|
111 |
* @param IP_Model $model
|
112 |
* @param $scenario
|
113 |
* @param $uri
|
114 |
*/
|
115 |
private function lock( IP_Model $model, $scenario = 'normal', $uri = '' ) {
|
116 |
+
$settings = Settings::instance();
|
117 |
+
if ( $settings->detect_404_lockout_ban == true ) {
|
118 |
+
$scenario = 'blacklist';
|
119 |
+
}
|
120 |
$model->status = IP_Model::STATUS_BLOCKED;
|
121 |
$model->lock_time = time();
|
122 |
if ( $scenario == 'blacklist' ) {
|
130 |
$settings->addIpToList( $model->ip, 'blacklist' );
|
131 |
}
|
132 |
$model->lock_time = time();
|
133 |
+
|
134 |
do_action( 'wd_404_lockout', $model, $scenario );
|
135 |
$this->email( $model, $uri );
|
136 |
}
|
137 |
+
|
138 |
/**
|
139 |
* @param $uri
|
140 |
* @param $scenario
|
149 |
$log->tried = $uri;
|
150 |
$log->save();
|
151 |
}
|
152 |
+
|
153 |
/**
|
154 |
* @param IP_Model $model
|
155 |
* @param $uri
|
156 |
*/
|
157 |
private function email( IP_Model $model, $uri ) {
|
158 |
$settings = Settings::instance();
|
159 |
+
Utils::instance()->log( 'Check to send 404 notification' );
|
160 |
if ( ! Login_Protection_Api::maybeSendNotification( '404', $model, $settings ) ) {
|
161 |
return;
|
162 |
}
|
163 |
+
Utils::instance()->log( 'Allow to send 404 notification' );
|
164 |
$isBlacklisted = $settings->isBlacklist( $model->ip );
|
165 |
+
Utils::instance()->log( sprintf( 'Recipients %d', count( $settings->receipts ) ) );
|
166 |
+
Utils::instance()->log( $uri );
|
167 |
foreach ( $settings->receipts as $item ) {
|
168 |
$content = $this->renderPartial( $isBlacklisted == true ? 'emails/404-ban' : 'emails/404-lockout', array(
|
169 |
'admin' => $item['first_name'],
|
176 |
'From: Defender <' . $no_reply_email . '>',
|
177 |
'Content-Type: text/html; charset=UTF-8'
|
178 |
);
|
179 |
+
$ret = wp_mail( $item['email'], sprintf( __( "404 lockout alert for %s", "defender-security" ), network_site_url() ), $content, $headers );
|
180 |
+
Utils::instance()->log( sprintf( 'Mail send result :%s', var_export( $ret, true ) ) );
|
181 |
}
|
182 |
}
|
183 |
}
|
app/module/ip-lockout/controller/main.php
CHANGED
@@ -6,6 +6,7 @@
|
|
6 |
namespace WP_Defender\Module\IP_Lockout\Controller;
|
7 |
|
8 |
use Hammer\Helper\HTTP_Helper;
|
|
|
9 |
use WP_Defender\Behavior\Utils;
|
10 |
use WP_Defender\Controller;
|
11 |
use WP_Defender\Module\IP_Lockout\Component\IP_API;
|
@@ -172,12 +173,24 @@ class Main extends Controller {
|
|
172 |
die;
|
173 |
}
|
174 |
|
175 |
-
$ip
|
176 |
-
$arr
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
|
178 |
if ( in_array( $ip, $arr ) ) {
|
179 |
return;
|
180 |
}
|
|
|
181 |
if ( $settings->isWhitelist( $ip ) ) {
|
182 |
return;
|
183 |
} elseif ( $settings->isBlacklist( $ip ) ) {
|
@@ -223,6 +236,20 @@ class Main extends Controller {
|
|
223 |
}
|
224 |
}
|
225 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
226 |
/**
|
227 |
* cron for delete old log
|
228 |
*/
|
@@ -242,6 +269,7 @@ class Main extends Controller {
|
|
242 |
* @param Log_Model $log
|
243 |
*/
|
244 |
public function updateIpStats( Log_Model $log ) {
|
|
|
245 |
if ( $log->type == Log_Model::AUTH_FAIL ) {
|
246 |
Login_Protection_Api::maybeLock( $log );
|
247 |
} elseif ( $log->type == Log_Model::ERROR_404 ) {
|
6 |
namespace WP_Defender\Module\IP_Lockout\Controller;
|
7 |
|
8 |
use Hammer\Helper\HTTP_Helper;
|
9 |
+
use Hammer\Helper\WP_Helper;
|
10 |
use WP_Defender\Behavior\Utils;
|
11 |
use WP_Defender\Controller;
|
12 |
use WP_Defender\Module\IP_Lockout\Component\IP_API;
|
173 |
die;
|
174 |
}
|
175 |
|
176 |
+
$ip = $this->getUserIp();
|
177 |
+
$arr = $this->defaultWhiteListIps();
|
178 |
+
$cache = WP_Helper::getCache();
|
179 |
+
$temp_whitelist = $cache->get( 'staff_ips', [] );
|
180 |
+
if ( $this->listenToStaffAccess() ) {
|
181 |
+
//tmp whitelist this ip till the access end
|
182 |
+
$temp_whitelist[] = $ip;
|
183 |
+
$temp_whitelist = array_unique( $temp_whitelist );
|
184 |
+
$temp_whitelist = array_filter( $temp_whitelist );
|
185 |
+
$cache->set( 'staff_ips', $temp_whitelist, DAY_IN_SECONDS );
|
186 |
+
Utils::instance()->log( sprintf( 'Temporary whitelist ip %s', $ip ), 'lockout' );
|
187 |
+
}
|
188 |
+
$arr = array_merge( $arr, $temp_whitelist );
|
189 |
|
190 |
if ( in_array( $ip, $arr ) ) {
|
191 |
return;
|
192 |
}
|
193 |
+
|
194 |
if ( $settings->isWhitelist( $ip ) ) {
|
195 |
return;
|
196 |
} elseif ( $settings->isBlacklist( $ip ) ) {
|
236 |
}
|
237 |
}
|
238 |
|
239 |
+
public function listenToStaffAccess() {
|
240 |
+
if ( defined( 'WPMUDEV_DISABLE_REMOTE_ACCESS' ) && constant( 'WPMUDEV_DISABLE_REMOTE_ACCESS' ) == true ) {
|
241 |
+
return false;
|
242 |
+
}
|
243 |
+
if ( class_exists( 'WPMUDEV_Dashboard' ) && Utils::instance()->getAPIKey() && isset( $_REQUEST['wdpunkey'] ) ) {
|
244 |
+
$access = \WPMUDEV_Dashboard::$site->get_option( 'remote_access' );
|
245 |
+
Utils::instance()->log( var_export( $access, true ), 'settings' );
|
246 |
+
|
247 |
+
return hash_equals( $_REQUEST['wdpunkey'], $access['key'] );
|
248 |
+
}
|
249 |
+
|
250 |
+
return false;
|
251 |
+
}
|
252 |
+
|
253 |
/**
|
254 |
* cron for delete old log
|
255 |
*/
|
269 |
* @param Log_Model $log
|
270 |
*/
|
271 |
public function updateIpStats( Log_Model $log ) {
|
272 |
+
|
273 |
if ( $log->type == Log_Model::AUTH_FAIL ) {
|
274 |
Login_Protection_Api::maybeLock( $log );
|
275 |
} elseif ( $log->type == Log_Model::ERROR_404 ) {
|
app/module/ip-lockout/controller/rest.php
CHANGED
@@ -290,8 +290,10 @@ class Rest extends Controller {
|
|
290 |
return;
|
291 |
}
|
292 |
|
293 |
-
$
|
294 |
-
$
|
|
|
|
|
295 |
if ( ! is_wp_error( $tmp ) ) {
|
296 |
$phar = new \PharData( $tmp );
|
297 |
$defPath = Utils::instance()->getDefUploadDir();
|
@@ -306,6 +308,10 @@ class Rest extends Controller {
|
|
306 |
wp_send_json_success( array(
|
307 |
'message' => __( "Database downloaded", "defender-security" )
|
308 |
) );
|
|
|
|
|
|
|
|
|
309 |
}
|
310 |
}
|
311 |
|
@@ -379,6 +385,9 @@ class Rest extends Controller {
|
|
379 |
$behaviors = array(
|
380 |
'utils' => '\WP_Defender\Behavior\Utils',
|
381 |
);
|
|
|
|
|
|
|
382 |
|
383 |
return $behaviors;
|
384 |
}
|
290 |
return;
|
291 |
}
|
292 |
|
293 |
+
$license_key = HTTP_Helper::retrievePost( 'api_key' );
|
294 |
+
$license_key = sanitize_text_field( $license_key );
|
295 |
+
$url = "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country&license_key=$license_key&suffix=tar.gz";
|
296 |
+
$tmp = download_url( $url );
|
297 |
if ( ! is_wp_error( $tmp ) ) {
|
298 |
$phar = new \PharData( $tmp );
|
299 |
$defPath = Utils::instance()->getDefUploadDir();
|
308 |
wp_send_json_success( array(
|
309 |
'message' => __( "Database downloaded", "defender-security" )
|
310 |
) );
|
311 |
+
} else {
|
312 |
+
wp_send_json_error( [
|
313 |
+
'message' => $tmp->get_error_message()
|
314 |
+
] );
|
315 |
}
|
316 |
}
|
317 |
|
385 |
$behaviors = array(
|
386 |
'utils' => '\WP_Defender\Behavior\Utils',
|
387 |
);
|
388 |
+
if ( class_exists( 'WP_Defender\Module\IP_Lockout\Behavior\Pro\Reporting' ) ) {
|
389 |
+
$behaviors['report'] = 'WP_Defender\Module\IP_Lockout\Behavior\Pro\Reporting';
|
390 |
+
}
|
391 |
|
392 |
return $behaviors;
|
393 |
}
|
app/module/ip-lockout/model/settings.php
CHANGED
@@ -670,9 +670,9 @@ class Settings extends \Hammer\WP\Settings {
|
|
670 |
'ip_whitelist' => __( "IP Addresses: Whitelist", "defender-security" ),
|
671 |
'country_blacklist' => __( "Country: Blacklist", "defender-security" ),
|
672 |
'country_whitelist' => __( "Country: Whitelist", "defender-security" ),
|
673 |
-
'ip_lockout_message' => __( "
|
674 |
'login_lockout_notification' => __( "Email Notifications: Login Protection Lockout", "defender-security" ),
|
675 |
-
'ip_lockout_notification' => __( "Email Notifications:
|
676 |
'receipts' => __( "Recipients for notification", "defender-security" ),
|
677 |
'cooldown_enabled' => __( "Repeat Lockouts", "defender-security" ),
|
678 |
'cooldown_number_lockout' => __( "Threshold", "defender-security" ),
|
670 |
'ip_whitelist' => __( "IP Addresses: Whitelist", "defender-security" ),
|
671 |
'country_blacklist' => __( "Country: Blacklist", "defender-security" ),
|
672 |
'country_whitelist' => __( "Country: Whitelist", "defender-security" ),
|
673 |
+
'ip_lockout_message' => __( "Lockout message", "defender-security" ),
|
674 |
'login_lockout_notification' => __( "Email Notifications: Login Protection Lockout", "defender-security" ),
|
675 |
+
'ip_lockout_notification' => __( "Email Notifications: 404 Protection Lockout", "defender-security" ),
|
676 |
'receipts' => __( "Recipients for notification", "defender-security" ),
|
677 |
'cooldown_enabled' => __( "Repeat Lockouts", "defender-security" ),
|
678 |
'cooldown_number_lockout' => __( "Threshold", "defender-security" ),
|
app/module/ip-lockout/view/emails/404-ban.php
CHANGED
@@ -585,7 +585,7 @@
|
|
585 |
<th class="small-12 large-8 columns first copy" align="center"
|
586 |
style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
|
587 |
<p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: center;">
|
588 |
-
<?php printf( __( "<a href=\"%s\">Configure reporting preferences</a>", "defender-security" ), apply_filters( 'wp_defeder/iplockout/email_report_link', network_admin_url( "admin.php?page=wdf-ip-lockout&view=
|
589 |
</p>
|
590 |
</th>
|
591 |
</tr>
|
585 |
<th class="small-12 large-8 columns first copy" align="center"
|
586 |
style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
|
587 |
<p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: center;">
|
588 |
+
<?php printf( __( "<a href=\"%s\">Configure reporting preferences</a>", "defender-security" ), apply_filters( 'wp_defeder/iplockout/email_report_link', network_admin_url( "admin.php?page=wdf-ip-lockout&view=notification" ) ) ) ?>
|
589 |
</p>
|
590 |
</th>
|
591 |
</tr>
|
app/module/ip-lockout/view/emails/404-lockout.php
CHANGED
@@ -2,692 +2,695 @@
|
|
2 |
<html xmlns="http://www.w3.org/1999/xhtml">
|
3 |
|
4 |
<head>
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
</head>
|
18 |
|
19 |
<body
|
20 |
-
|
21 |
<style>
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
</style>
|
388 |
|
389 |
<table class="body"
|
390 |
style="Margin: 0; background: #f3f3f3; background-color: #e9ebe7; border-collapse: collapse; border-spacing: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; height: 100%; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
<?php esc_html_e( "Protected By", "defender-security" ) ?></h2>
|
418 |
-
|
419 |
-
|
420 |
<?php esc_html_e( "Defender!", "defender-security" ) ?></h1>
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
<?php printf( __( "Hi %s", "defender-security" ), $admin ) ?>
|
456 |
-
|
457 |
<?php $setting = \WP_Defender\Module\IP_Lockout\Model\Settings::instance() ?>
|
458 |
<?php $utils = \WP_Defender\Behavior\Utils::instance() ?>
|
459 |
-
|
460 |
-
<?php
|
461 |
-
|
462 |
-
|
|
|
|
|
|
|
463 |
<?php printf( __( "You can view the full lockout logs <a href=\"%s\">here</a>", "defender-security" ), apply_filters( 'wp_defeder/iplockout/email_report_link', network_admin_url( "admin.php?page=wdf-ip-lockout&view=logs" ) ) ) ?>
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
<?php esc_html_e( "Stay vigilant.", "defender-security" ) ?></p>
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
<?php esc_html_e( "Security Hero", "defender-security" ) ?>
|
484 |
-
|
485 |
<?php esc_html_e( "WPMU DEV", "defender-security" ) ?>
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
<?php esc_html_e( "Related plugins worth giving a try", "defender-security" ) ?>
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
<span><?php esc_html_e( "Optimize your site with", "defender-security" ) ?></span>
|
533 |
<span class="plugin-title hummingbird"
|
534 |
style="color: #febd30; display: block;"><strong><?php esc_html_e( "Hummingbird", "defender-security" ) ?></strong></span>
|
535 |
</span>
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
<span><?php esc_html_e( "Back up your hard work with", "defender-security" ) ?></span>
|
552 |
<span class="plugin-title snapshot"
|
553 |
style="color: #642486; display: block;"><strong><?php _e( "Snapshot", "defender-security" ) ?></strong></span>
|
554 |
</span>
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
<?php printf( __( "<a href=\"%s\">Configure reporting preferences</a>", "defender-security" ), apply_filters( 'wp_defeder/iplockout/email_report_link', network_admin_url( "admin.php?page=wdf-ip-lockout&view=
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
</table>
|
692 |
<!-- end body -->
|
693 |
</body>
|
2 |
<html xmlns="http://www.w3.org/1999/xhtml">
|
3 |
|
4 |
<head>
|
5 |
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
6 |
+
<meta name="viewport" content="width=device-width">
|
7 |
+
<title><?php _e( "New 404 Lockout", "defender-security" ) ?></title>
|
8 |
+
<style>
|
9 |
+
a.plugin-brand:hover {
|
10 |
+
color: #e23717 !important;
|
11 |
+
}
|
12 |
+
|
13 |
+
table.top-content td a:hover {
|
14 |
+
color: #ff5c28 !important;
|
15 |
+
}
|
16 |
+
</style>
|
17 |
</head>
|
18 |
|
19 |
<body
|
20 |
+
style="-moz-box-sizing: border-box; -ms-text-size-adjust: 100%; -webkit-box-sizing: border-box; -webkit-text-size-adjust: 100%; Margin: 0; background-color: #e9ebe7; box-sizing: border-box; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; min-width: 100%; padding: 0; text-align: left; width: 100% !important;">
|
21 |
<style>
|
22 |
+
@media only screen {
|
23 |
+
html {
|
24 |
+
min-height: 100%;
|
25 |
+
background: #f3f3f3;
|
26 |
+
}
|
27 |
+
}
|
28 |
+
|
29 |
+
@media only screen and (max-width: 596px) {
|
30 |
+
.small-float-center {
|
31 |
+
margin: 0 auto !important;
|
32 |
+
float: none !important;
|
33 |
+
text-align: center !important;
|
34 |
+
}
|
35 |
+
|
36 |
+
.small-text-center {
|
37 |
+
text-align: center !important;
|
38 |
+
}
|
39 |
+
|
40 |
+
.small-text-left {
|
41 |
+
text-align: left !important;
|
42 |
+
}
|
43 |
+
|
44 |
+
.small-text-right {
|
45 |
+
text-align: right !important;
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
@media only screen and (max-width: 596px) {
|
50 |
+
.hide-for-large {
|
51 |
+
display: block !important;
|
52 |
+
width: auto !important;
|
53 |
+
overflow: visible !important;
|
54 |
+
max-height: none !important;
|
55 |
+
font-size: inherit !important;
|
56 |
+
line-height: inherit !important;
|
57 |
+
}
|
58 |
+
}
|
59 |
+
|
60 |
+
@media only screen and (max-width: 596px) {
|
61 |
+
table.body table.container .hide-for-large,
|
62 |
+
table.body table.container .row.hide-for-large {
|
63 |
+
display: table !important;
|
64 |
+
width: 100% !important;
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
@media only screen and (max-width: 596px) {
|
69 |
+
table.body table.container .callout-inner.hide-for-large {
|
70 |
+
display: table-cell !important;
|
71 |
+
width: 100% !important;
|
72 |
+
}
|
73 |
+
}
|
74 |
+
|
75 |
+
@media only screen and (max-width: 596px) {
|
76 |
+
table.body table.container .show-for-large {
|
77 |
+
display: none !important;
|
78 |
+
width: 0;
|
79 |
+
mso-hide: all;
|
80 |
+
overflow: hidden;
|
81 |
+
}
|
82 |
+
}
|
83 |
+
|
84 |
+
@media only screen and (max-width: 596px) {
|
85 |
+
table.body img {
|
86 |
+
width: auto;
|
87 |
+
height: auto;
|
88 |
+
}
|
89 |
+
|
90 |
+
table.body center {
|
91 |
+
min-width: 0 !important;
|
92 |
+
}
|
93 |
+
|
94 |
+
table.body .container {
|
95 |
+
width: 95% !important;
|
96 |
+
}
|
97 |
+
|
98 |
+
table.body .columns,
|
99 |
+
table.body .column {
|
100 |
+
height: auto !important;
|
101 |
+
-moz-box-sizing: border-box;
|
102 |
+
-webkit-box-sizing: border-box;
|
103 |
+
box-sizing: border-box;
|
104 |
+
padding-left: 16px !important;
|
105 |
+
padding-right: 16px !important;
|
106 |
+
}
|
107 |
+
|
108 |
+
table.body .columns .column,
|
109 |
+
table.body .columns .columns,
|
110 |
+
table.body .column .column,
|
111 |
+
table.body .column .columns {
|
112 |
+
padding-left: 0 !important;
|
113 |
+
padding-right: 0 !important;
|
114 |
+
}
|
115 |
+
|
116 |
+
table.body .collapse .columns,
|
117 |
+
table.body .collapse .column {
|
118 |
+
padding-left: 0 !important;
|
119 |
+
padding-right: 0 !important;
|
120 |
+
}
|
121 |
+
|
122 |
+
td.small-1,
|
123 |
+
th.small-1 {
|
124 |
+
display: inline-block !important;
|
125 |
+
width: 8.33333% !important;
|
126 |
+
}
|
127 |
+
|
128 |
+
td.small-2,
|
129 |
+
th.small-2 {
|
130 |
+
display: inline-block !important;
|
131 |
+
width: 16.66667% !important;
|
132 |
+
}
|
133 |
+
|
134 |
+
td.small-3,
|
135 |
+
th.small-3 {
|
136 |
+
display: inline-block !important;
|
137 |
+
width: 25% !important;
|
138 |
+
}
|
139 |
+
|
140 |
+
td.small-4,
|
141 |
+
th.small-4 {
|
142 |
+
display: inline-block !important;
|
143 |
+
width: 33.33333% !important;
|
144 |
+
}
|
145 |
+
|
146 |
+
td.small-5,
|
147 |
+
th.small-5 {
|
148 |
+
display: inline-block !important;
|
149 |
+
width: 41.66667% !important;
|
150 |
+
}
|
151 |
+
|
152 |
+
td.small-6,
|
153 |
+
th.small-6 {
|
154 |
+
display: inline-block !important;
|
155 |
+
width: 50% !important;
|
156 |
+
}
|
157 |
+
|
158 |
+
td.small-7,
|
159 |
+
th.small-7 {
|
160 |
+
display: inline-block !important;
|
161 |
+
width: 58.33333% !important;
|
162 |
+
}
|
163 |
+
|
164 |
+
td.small-8,
|
165 |
+
th.small-8 {
|
166 |
+
display: inline-block !important;
|
167 |
+
width: 66.66667% !important;
|
168 |
+
}
|
169 |
+
|
170 |
+
td.small-9,
|
171 |
+
th.small-9 {
|
172 |
+
display: inline-block !important;
|
173 |
+
width: 75% !important;
|
174 |
+
}
|
175 |
+
|
176 |
+
td.small-10,
|
177 |
+
th.small-10 {
|
178 |
+
display: inline-block !important;
|
179 |
+
width: 83.33333% !important;
|
180 |
+
}
|
181 |
+
|
182 |
+
td.small-11,
|
183 |
+
th.small-11 {
|
184 |
+
display: inline-block !important;
|
185 |
+
width: 91.66667% !important;
|
186 |
+
}
|
187 |
+
|
188 |
+
td.small-12,
|
189 |
+
th.small-12 {
|
190 |
+
display: inline-block !important;
|
191 |
+
width: 100% !important;
|
192 |
+
}
|
193 |
+
|
194 |
+
.columns td.small-12,
|
195 |
+
.column td.small-12,
|
196 |
+
.columns th.small-12,
|
197 |
+
.column th.small-12 {
|
198 |
+
display: block !important;
|
199 |
+
width: 100% !important;
|
200 |
+
}
|
201 |
+
|
202 |
+
table.body td.small-offset-1,
|
203 |
+
table.body th.small-offset-1 {
|
204 |
+
margin-left: 8.33333% !important;
|
205 |
+
Margin-left: 8.33333% !important;
|
206 |
+
}
|
207 |
+
|
208 |
+
table.body td.small-offset-2,
|
209 |
+
table.body th.small-offset-2 {
|
210 |
+
margin-left: 16.66667% !important;
|
211 |
+
Margin-left: 16.66667% !important;
|
212 |
+
}
|
213 |
+
|
214 |
+
table.body td.small-offset-3,
|
215 |
+
table.body th.small-offset-3 {
|
216 |
+
margin-left: 25% !important;
|
217 |
+
Margin-left: 25% !important;
|
218 |
+
}
|
219 |
+
|
220 |
+
table.body td.small-offset-4,
|
221 |
+
table.body th.small-offset-4 {
|
222 |
+
margin-left: 33.33333% !important;
|
223 |
+
Margin-left: 33.33333% !important;
|
224 |
+
}
|
225 |
+
|
226 |
+
table.body td.small-offset-5,
|
227 |
+
table.body th.small-offset-5 {
|
228 |
+
margin-left: 41.66667% !important;
|
229 |
+
Margin-left: 41.66667% !important;
|
230 |
+
}
|
231 |
+
|
232 |
+
table.body td.small-offset-6,
|
233 |
+
table.body th.small-offset-6 {
|
234 |
+
margin-left: 50% !important;
|
235 |
+
Margin-left: 50% !important;
|
236 |
+
}
|
237 |
+
|
238 |
+
table.body td.small-offset-7,
|
239 |
+
table.body th.small-offset-7 {
|
240 |
+
margin-left: 58.33333% !important;
|
241 |
+
Margin-left: 58.33333% !important;
|
242 |
+
}
|
243 |
+
|
244 |
+
table.body td.small-offset-8,
|
245 |
+
table.body th.small-offset-8 {
|
246 |
+
margin-left: 66.66667% !important;
|
247 |
+
Margin-left: 66.66667% !important;
|
248 |
+
}
|
249 |
+
|
250 |
+
table.body td.small-offset-9,
|
251 |
+
table.body th.small-offset-9 {
|
252 |
+
margin-left: 75% !important;
|
253 |
+
Margin-left: 75% !important;
|
254 |
+
}
|
255 |
+
|
256 |
+
table.body td.small-offset-10,
|
257 |
+
table.body th.small-offset-10 {
|
258 |
+
margin-left: 83.33333% !important;
|
259 |
+
Margin-left: 83.33333% !important;
|
260 |
+
}
|
261 |
+
|
262 |
+
table.body td.small-offset-11,
|
263 |
+
table.body th.small-offset-11 {
|
264 |
+
margin-left: 91.66667% !important;
|
265 |
+
Margin-left: 91.66667% !important;
|
266 |
+
}
|
267 |
+
|
268 |
+
table.body table.columns td.expander,
|
269 |
+
table.body table.columns th.expander {
|
270 |
+
display: none !important;
|
271 |
+
}
|
272 |
+
|
273 |
+
table.body .right-text-pad,
|
274 |
+
table.body .text-pad-right {
|
275 |
+
padding-left: 10px !important;
|
276 |
+
}
|
277 |
+
|
278 |
+
table.body .left-text-pad,
|
279 |
+
table.body .text-pad-left {
|
280 |
+
padding-right: 10px !important;
|
281 |
+
}
|
282 |
+
|
283 |
+
table.menu {
|
284 |
+
width: 100% !important;
|
285 |
+
}
|
286 |
+
|
287 |
+
table.menu td,
|
288 |
+
table.menu th {
|
289 |
+
width: auto !important;
|
290 |
+
display: inline-block !important;
|
291 |
+
}
|
292 |
+
|
293 |
+
table.menu.vertical td,
|
294 |
+
table.menu.vertical th,
|
295 |
+
table.menu.small-vertical td,
|
296 |
+
table.menu.small-vertical th {
|
297 |
+
display: block !important;
|
298 |
+
}
|
299 |
+
|
300 |
+
table.menu[align="center"] {
|
301 |
+
width: auto !important;
|
302 |
+
}
|
303 |
+
|
304 |
+
table.button.small-expand,
|
305 |
+
table.button.small-expanded {
|
306 |
+
width: 100% !important;
|
307 |
+
}
|
308 |
+
|
309 |
+
table.button.small-expand table,
|
310 |
+
table.button.small-expanded table {
|
311 |
+
width: 100%;
|
312 |
+
}
|
313 |
+
|
314 |
+
table.button.small-expand table a,
|
315 |
+
table.button.small-expanded table a {
|
316 |
+
text-align: center !important;
|
317 |
+
width: 100% !important;
|
318 |
+
padding-left: 0 !important;
|
319 |
+
padding-right: 0 !important;
|
320 |
+
}
|
321 |
+
|
322 |
+
table.button.small-expand center,
|
323 |
+
table.button.small-expanded center {
|
324 |
+
min-width: 0;
|
325 |
+
}
|
326 |
+
}
|
327 |
+
|
328 |
+
@media screen and (max-width: 596px) {
|
329 |
+
/* results list */
|
330 |
+
table.results-list thead th {
|
331 |
+
line-height: 34px !important;
|
332 |
+
}
|
333 |
+
|
334 |
+
/* top */
|
335 |
+
table.top-content td {
|
336 |
+
text-align: center !important;
|
337 |
+
}
|
338 |
+
|
339 |
+
/* related */
|
340 |
+
table.related table.related-items .columns {
|
341 |
+
padding-right: 0 !important;
|
342 |
+
padding-bottom: 15px !important;
|
343 |
+
padding-left: 0 !important;
|
344 |
+
}
|
345 |
+
|
346 |
+
table.related table.related-items .columns.last {
|
347 |
+
padding-bottom: 0 !important;
|
348 |
+
}
|
349 |
+
|
350 |
+
table.related a.related-item .plugin-info {
|
351 |
+
vertical-align: middle !important;
|
352 |
+
}
|
353 |
+
|
354 |
+
/* company info */
|
355 |
+
table.company-info .columns {
|
356 |
+
padding-right: 0 !important;
|
357 |
+
padding-left: 0 !important;
|
358 |
+
}
|
359 |
+
|
360 |
+
table.company-info .columns.last {
|
361 |
+
padding: 15px 0 0 !important;
|
362 |
+
}
|
363 |
+
|
364 |
+
table.company-info .logo,
|
365 |
+
table.company-info .logo-link,
|
366 |
+
table.company-info .logo img {
|
367 |
+
text-align: left !important;
|
368 |
+
}
|
369 |
+
}
|
370 |
+
|
371 |
+
@media screen and (max-width: 540px) {
|
372 |
+
/* hero */
|
373 |
+
table.hero table.hero-content {
|
374 |
+
width: 100%;
|
375 |
+
}
|
376 |
+
|
377 |
+
table.hero td.hero-title h1,
|
378 |
+
table.hero td.hero-title h2 {
|
379 |
+
padding: 0 !important;
|
380 |
+
text-align: center !important;
|
381 |
+
}
|
382 |
+
|
383 |
+
table.hero td.hero-image {
|
384 |
+
display: none;
|
385 |
+
}
|
386 |
+
}
|
387 |
</style>
|
388 |
|
389 |
<table class="body"
|
390 |
style="Margin: 0; background: #f3f3f3; background-color: #e9ebe7; border-collapse: collapse; border-spacing: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; height: 100%; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
|
391 |
+
<tbody>
|
392 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
393 |
+
<td class="center" align="center" valign="top"
|
394 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
|
395 |
+
|
396 |
+
<center style="min-width: 600px; width: 100%;">
|
397 |
+
|
398 |
+
<table class="container"
|
399 |
+
style="Margin: 0 auto; background: #fefefe; background-color: #fff; border-collapse: collapse; border-spacing: 0; margin: 0 auto; padding: 0; text-align: inherit; vertical-align: top; width: 600px;">
|
400 |
+
<tbody>
|
401 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
402 |
+
<td style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
|
403 |
+
<table class="wrapper hero" align="left"
|
404 |
+
style="background-color: #e9ebe7; border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
|
405 |
+
<tbody>
|
406 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
407 |
+
<td class="wrapper-inner hero-inner"
|
408 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 20px 0 0; text-align: left; vertical-align: top; word-wrap: break-word;">
|
409 |
+
|
410 |
+
<table class="hero-content" align="left"
|
411 |
+
style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
|
412 |
+
<tbody>
|
413 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
414 |
+
<td class="hero-title"
|
415 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; padding-bottom: 18px; text-align: left; vertical-align: bottom; word-wrap: break-word;">
|
416 |
+
<h2 style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 30px; font-weight: 700; line-height: 1em; margin: 0; margin-bottom: 0; padding: 0; padding-left: 9px; text-align: left; text-transform: uppercase; word-wrap: normal;">
|
417 |
<?php esc_html_e( "Protected By", "defender-security" ) ?></h2>
|
418 |
+
<h1 class="plugin-brand"
|
419 |
+
style="Margin: 0; Margin-bottom: 0; color: #ff5c28; font-family: Helvetica, Arial, sans-serif; font-size: 60px; font-weight: 700; line-height: 1em; margin: 0; margin-bottom: 0; padding: 0; padding-left: 6px; text-align: left; text-transform: uppercase; word-wrap: normal;">
|
420 |
<?php esc_html_e( "Defender!", "defender-security" ) ?></h1>
|
421 |
+
</td>
|
422 |
+
<td class="hero-image"
|
423 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
|
424 |
+
<a href="https://premium.wpmudev.org/"
|
425 |
+
style="Margin: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; padding: 0; text-align: left; text-decoration: none;"><img
|
426 |
+
src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/hero-defender.png"
|
427 |
+
alt="Defender"
|
428 |
+
style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: block; max-width: 100%; outline: none; text-decoration: none; width: auto;"></a>
|
429 |
+
</td>
|
430 |
+
</tr>
|
431 |
+
</tbody>
|
432 |
+
</table>
|
433 |
+
<!-- end hero-content -->
|
434 |
+
|
435 |
+
</td>
|
436 |
+
</tr>
|
437 |
+
</tbody>
|
438 |
+
</table>
|
439 |
+
<!-- end hero -->
|
440 |
+
|
441 |
+
<table class="wrapper main" align="center"
|
442 |
+
style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
|
443 |
+
<tbody>
|
444 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
445 |
+
<td class="wrapper-inner main-inner"
|
446 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 40px; text-align: left; vertical-align: top; word-wrap: break-word;">
|
447 |
+
|
448 |
+
<table class="main-intro"
|
449 |
+
style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
|
450 |
+
<tbody>
|
451 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
452 |
+
<td class="main-intro-content"
|
453 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
|
454 |
+
<h3 style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 32px; font-weight: normal; line-height: 32px; margin: 0; margin-bottom: 0; padding: 0 0 28px; text-align: left; word-wrap: normal;">
|
455 |
<?php printf( __( "Hi %s", "defender-security" ), $admin ) ?>
|
456 |
+
,</h3>
|
457 |
<?php $setting = \WP_Defender\Module\IP_Lockout\Model\Settings::instance() ?>
|
458 |
<?php $utils = \WP_Defender\Behavior\Utils::instance() ?>
|
459 |
+
<p style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; margin-bottom: 0; padding: 0 0 24px; text-align: left;">
|
460 |
+
<?php
|
461 |
+
\WP_Defender\Behavior\Utils::instance()->log($uri);
|
462 |
+
printf( __( "We've just locked out the host <strong>%s</strong> from %s due to more than <strong>%s</strong> 404 requests for the file <strong>%s</strong>. They have been locked out for <strong>%s %s.</strong>", "defender-security" ),
|
463 |
+
$ip, network_site_url(), $setting->detect_404_threshold, $uri, $setting->detect_404_lockout_duration, $setting->detect_404_lockout_duration_unit ) ?>
|
464 |
+
</p>
|
465 |
+
<p style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; margin-bottom: 0; padding: 0 0 24px; text-align: left;">
|
466 |
<?php printf( __( "You can view the full lockout logs <a href=\"%s\">here</a>", "defender-security" ), apply_filters( 'wp_defeder/iplockout/email_report_link', network_admin_url( "admin.php?page=wdf-ip-lockout&view=logs" ) ) ) ?>
|
467 |
+
.</p>
|
468 |
+
</td>
|
469 |
+
</tr>
|
470 |
+
</tbody>
|
471 |
+
</table>
|
472 |
+
<!-- end main-intro -->
|
473 |
+
|
474 |
+
<table class="main-signature"
|
475 |
+
style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
|
476 |
+
<tbody>
|
477 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
478 |
+
<td class="main-signature-content"
|
479 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
|
480 |
+
<p style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; margin-bottom: 0; padding: 0 0 24px; text-align: left;">
|
481 |
<?php esc_html_e( "Stay vigilant.", "defender-security" ) ?></p>
|
482 |
+
<p class="last-item"
|
483 |
+
style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; margin-bottom: 0; padding: 0; text-align: left;">
|
484 |
+
<strong><?php esc_html_e( "WP Defender", "defender-security" ) ?></strong>
|
485 |
+
<br>
|
486 |
<?php esc_html_e( "Security Hero", "defender-security" ) ?>
|
487 |
+
<br/>
|
488 |
<?php esc_html_e( "WPMU DEV", "defender-security" ) ?>
|
489 |
+
</p>
|
490 |
+
</td>
|
491 |
+
</tr>
|
492 |
+
</tbody>
|
493 |
+
</table>
|
494 |
+
<!-- end main-signature -->
|
495 |
+
|
496 |
+
</td>
|
497 |
+
</tr>
|
498 |
+
</tbody>
|
499 |
+
</table>
|
500 |
+
<!-- end main -->
|
501 |
+
|
502 |
+
<table class="related" align="center"
|
503 |
+
style="border-collapse: collapse; border-spacing: 0; margin: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
|
504 |
+
<tbody>
|
505 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
506 |
+
<td class="related-inner"
|
507 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; border-top: 2px solid #e9ebe7; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 15px 30px 15px 40px; text-align: left; vertical-align: top; word-wrap: break-word;">
|
508 |
+
<table
|
509 |
+
style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
|
510 |
+
<tbody>
|
511 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
512 |
+
<td class="related-items-title brand" align="left"
|
513 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #3eb4e4; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; padding-bottom: 10px; text-align: left; vertical-align: top; word-wrap: break-word;">
|
514 |
<?php esc_html_e( "Related plugins worth giving a try", "defender-security" ) ?>
|
515 |
+
</td>
|
516 |
+
</tr>
|
517 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
518 |
+
<td style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
|
519 |
+
<table class="related-items row collapse" align="center"
|
520 |
+
style="border-collapse: collapse; border-spacing: 0; display: table; padding: 0; position: relative; text-align: left; vertical-align: top; width: 100%;">
|
521 |
+
<tbody>
|
522 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
523 |
+
<th class="small-12 large-6 columns first" align="left"
|
524 |
+
valign="top"
|
525 |
+
style="Margin: 0 auto; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 298px;">
|
526 |
+
<a class="related-item plugin-link"
|
527 |
+
href="https://premium.wpmudev.org/project/wp-hummingbird/"
|
528 |
+
style="Margin: 0; color: #555555; display: table; font-family: Helvetica, Arial, sans-serif; font-size: 14px; font-weight: normal; line-height: 20px; margin: 0; padding: 0; text-align: left; text-decoration: none;">
|
529 |
+
<img
|
530 |
+
src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/plugin-hummingbird.png"
|
531 |
+
alt="Hummingbird" class="plugin-image"
|
532 |
+
style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: table-cell; max-width: 100%; outline: none; text-decoration: none; width: auto;">
|
533 |
+
<span class="plugin-info"
|
534 |
+
style="display: table-cell; padding-left: 10px; vertical-align: bottom;">
|
535 |
<span><?php esc_html_e( "Optimize your site with", "defender-security" ) ?></span>
|
536 |
<span class="plugin-title hummingbird"
|
537 |
style="color: #febd30; display: block;"><strong><?php esc_html_e( "Hummingbird", "defender-security" ) ?></strong></span>
|
538 |
</span>
|
539 |
+
</a>
|
540 |
+
</th>
|
541 |
+
<th class="small-12 large-6 columns last" align="left"
|
542 |
+
valign="top"
|
543 |
+
style="Margin: 0 auto; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 298px;">
|
544 |
+
<a class="related-item plugin-link"
|
545 |
+
href="https://premium.wpmudev.org/project/snapshot/"
|
546 |
+
style="Margin: 0; color: #555555; display: table; font-family: Helvetica, Arial, sans-serif; font-size: 14px; font-weight: normal; line-height: 20px; margin: 0; padding: 0; text-align: left; text-decoration: none;">
|
547 |
+
<img
|
548 |
+
src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/plugin-snapshot.png"
|
549 |
+
alt="Snapshot"
|
550 |
+
class="plugin-image"
|
551 |
+
style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: table-cell; max-width: 100%; outline: none; text-decoration: none; width: auto;">
|
552 |
+
<span class="plugin-info"
|
553 |
+
style="display: table-cell; padding-left: 10px; vertical-align: bottom;">
|
554 |
<span><?php esc_html_e( "Back up your hard work with", "defender-security" ) ?></span>
|
555 |
<span class="plugin-title snapshot"
|
556 |
style="color: #642486; display: block;"><strong><?php _e( "Snapshot", "defender-security" ) ?></strong></span>
|
557 |
</span>
|
558 |
+
</a>
|
559 |
+
</th>
|
560 |
+
<th class="expander"
|
561 |
+
style="Margin: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; padding: 0 !important; text-align: left; visibility: hidden; width: 0;"></th>
|
562 |
+
</tr>
|
563 |
+
</tbody>
|
564 |
+
</table>
|
565 |
+
</td>
|
566 |
+
</tr>
|
567 |
+
</tbody>
|
568 |
+
</table>
|
569 |
+
<!-- end related-inner -->
|
570 |
+
</td>
|
571 |
+
</tr>
|
572 |
+
</tbody>
|
573 |
+
</table>
|
574 |
+
<!-- end related -->
|
575 |
+
|
576 |
+
<!-- Preferences -->
|
577 |
+
<table class="email-preferences" align="center" valign="middle"
|
578 |
+
style="border-collapse: collapse; border-spacing: 0; margin: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
|
579 |
+
<tbody>
|
580 |
+
<tr style="padding: 0; text-align: center; vertical-align: top;">
|
581 |
+
<td class="email-preferences-inner"
|
582 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; border-top: 2px solid #e9ebe7; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 40px; text-align: left; vertical-align: top; word-wrap: break-word;">
|
583 |
+
<table class="email-preferences-content row collapse" align="center"
|
584 |
+
valign="top"
|
585 |
+
style="border-collapse: collapse; border-spacing: 0; display: table; padding: 0; position: relative; text-align: center; vertical-align: top; width: 100%;">
|
586 |
+
<tbody>
|
587 |
+
<tr style="padding: 0; text-align: center; vertical-align: top;">
|
588 |
+
<th class="small-12 large-8 columns first copy" align="center"
|
589 |
+
style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
|
590 |
+
<p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: center;">
|
591 |
+
<?php printf( __( "<a href=\"%s\">Configure reporting preferences</a>", "defender-security" ), apply_filters( 'wp_defeder/iplockout/email_report_link', network_admin_url( "admin.php?page=wdf-ip-lockout&view=notification" ) ) ) ?>
|
592 |
+
</p>
|
593 |
+
</th>
|
594 |
+
</tr>
|
595 |
+
</tbody>
|
596 |
+
</table>
|
597 |
+
</td>
|
598 |
+
</tr>
|
599 |
+
</tbody>
|
600 |
+
</table>
|
601 |
+
<!-- End Preferences -->
|
602 |
+
|
603 |
+
<table class="company-info" align="left" valign="middle"
|
604 |
+
style="border-collapse: collapse; border-spacing: 0; margin: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
|
605 |
+
<tbody>
|
606 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
607 |
+
<td class="company-info-inner"
|
608 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; border-top: 2px solid #e9ebe7; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 40px; text-align: left; vertical-align: top; word-wrap: break-word;">
|
609 |
+
<table class="company-info-content row collapse" align="left" valign="top"
|
610 |
+
style="border-collapse: collapse; border-spacing: 0; display: table; padding: 0; position: relative; text-align: left; vertical-align: top; width: 100%;">
|
611 |
+
<tbody>
|
612 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
613 |
+
<th class="small-12 large-8 columns first copy" align="left"
|
614 |
+
style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
|
615 |
+
<p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: left;">
|
616 |
+
Copyright © Incsub, All rights reserved.</p>
|
617 |
+
<p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: left;">
|
618 |
+
Incsub PO box 163 Albert Park, Victoria 3206 Australia</p>
|
619 |
+
</th>
|
620 |
+
<th class="small-12 large-4 columns last logo" align="right"
|
621 |
+
style="Margin: 0 auto; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: right; width: 201.33333px;">
|
622 |
+
<a href="https://premium.wpmudev.org" class="logo-link"
|
623 |
+
style="Margin: 0; color: #555555; display: inline-block; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; padding: 0; text-align: right; text-decoration: none;">
|
624 |
+
<img
|
625 |
+
src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/wpmudev-logo.png"
|
626 |
+
alt="WPMU DEV"
|
627 |
+
style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: inline-block; max-width: 100%; outline: none; text-align: right; text-decoration: none; width: auto;">
|
628 |
+
</a>
|
629 |
+
</th>
|
630 |
+
<th class="expander"
|
631 |
+
style="Margin: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; padding: 0 !important; text-align: left; visibility: hidden; width: 0;"></th>
|
632 |
+
</tr>
|
633 |
+
</tbody>
|
634 |
+
</table>
|
635 |
+
</td>
|
636 |
+
</tr>
|
637 |
+
</tbody>
|
638 |
+
</table>
|
639 |
+
<!-- end company-info -->
|
640 |
+
|
641 |
+
<table class="wrapper social" align="center"
|
642 |
+
style="background-color: #e9ebe7; border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
|
643 |
+
<tbody>
|
644 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
645 |
+
<td class="wrapper-inner social-inner"
|
646 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 40px 60px 20px; text-align: left; vertical-align: top; word-wrap: break-word;">
|
647 |
+
|
648 |
+
<table class="social-content" align="center"
|
649 |
+
style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
|
650 |
+
<tbody>
|
651 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
652 |
+
<td class="social-content-inner"
|
653 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: center; vertical-align: top; word-wrap: break-word;">
|
654 |
+
<a href="https://plus.google.com/+wpmuorg/" target="_blank"
|
655 |
+
class="gplus"
|
656 |
+
style="Margin: 0; color: #555555; display: inline-block; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; margin-right: 4px; padding: 0; text-align: left; text-decoration: none;"><img
|
657 |
+
src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/icon-gplus.png"
|
658 |
+
alt="WPMU DEV on Google+"
|
659 |
+
style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: block; max-width: 100%; outline: none; text-decoration: none; width: auto;"></a>
|
660 |
+
<a href="https://twitter.com/wpmudev" target="_blank"
|
661 |
+
class="twitter"
|
662 |
+
style="Margin: 0; color: #555555; display: inline-block; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; margin-right: 4px; padding: 0; text-align: left; text-decoration: none;"><img
|
663 |
+
src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/icon-twitter.png"
|
664 |
+
alt="WPMU DEV on Twitter"
|
665 |
+
style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: block; max-width: 100%; outline: none; text-decoration: none; width: auto;"></a>
|
666 |
+
<a href="https://www.facebook.com/wpmudev" target="_blank"
|
667 |
+
class="facebook"
|
668 |
+
style="Margin: 0; color: #555555; display: inline-block; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; margin-right: 0; padding: 0; text-align: left; text-decoration: none;"><img
|
669 |
+
src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/icon-facebook.png"
|
670 |
+
alt="WPMU DEV on Facebook"
|
671 |
+
style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: block; max-width: 100%; outline: none; text-decoration: none; width: auto;"></a>
|
672 |
+
</td>
|
673 |
+
</tr>
|
674 |
+
</tbody>
|
675 |
+
</table>
|
676 |
+
<!-- end social-content -->
|
677 |
+
|
678 |
+
</td>
|
679 |
+
</tr>
|
680 |
+
</tbody>
|
681 |
+
</table>
|
682 |
+
<!-- end top -->
|
683 |
+
</td>
|
684 |
+
</tr>
|
685 |
+
</tbody>
|
686 |
+
</table>
|
687 |
+
<!-- end main container -->
|
688 |
+
|
689 |
+
</center>
|
690 |
+
|
691 |
+
</td>
|
692 |
+
</tr>
|
693 |
+
</tbody>
|
694 |
</table>
|
695 |
<!-- end body -->
|
696 |
</body>
|
app/module/ip-lockout/view/emails/login-lockout.php
CHANGED
@@ -587,7 +587,7 @@
|
|
587 |
<th class="small-12 large-8 columns first copy" align="center"
|
588 |
style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
|
589 |
<p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: center;">
|
590 |
-
<?php printf( __( "<a href=\"%s\">Configure reporting preferences</a>", "defender-security" ), apply_filters( 'wp_defeder/iplockout/email_report_link', network_admin_url( "admin.php?page=wdf-ip-lockout&view=
|
591 |
</p>
|
592 |
</th>
|
593 |
</tr>
|
587 |
<th class="small-12 large-8 columns first copy" align="center"
|
588 |
style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
|
589 |
<p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: center;">
|
590 |
+
<?php printf( __( "<a href=\"%s\">Configure reporting preferences</a>", "defender-security" ), apply_filters( 'wp_defeder/iplockout/email_report_link', network_admin_url( "admin.php?page=wdf-ip-lockout&view=notification" ) ) ) ?>
|
591 |
</p>
|
592 |
</th>
|
593 |
</tr>
|
app/module/ip-lockout/view/emails/login-username-ban.php
CHANGED
@@ -586,7 +586,7 @@
|
|
586 |
<th class="small-12 large-8 columns first copy" align="center"
|
587 |
style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
|
588 |
<p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: center;">
|
589 |
-
<?php printf( __( "<a href=\"%s\">Configure reporting preferences</a>", "defender-security" ),
|
590 |
</p>
|
591 |
</th>
|
592 |
</tr>
|
586 |
<th class="small-12 large-8 columns first copy" align="center"
|
587 |
style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
|
588 |
<p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: center;">
|
589 |
+
<?php printf( __( "<a href=\"%s\">Configure reporting preferences</a>", "defender-security" ), network_admin_url( "admin.php?page=wdf-ip-lockout&view=notification" ) ) ?>
|
590 |
</p>
|
591 |
</th>
|
592 |
</tr>
|
app/module/scan/behavior/core-files.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WP_Defender\Module\Scan\Behavior;
|
4 |
+
|
5 |
+
use Hammer\Base\Behavior;
|
6 |
+
use WP_Defender\Module\Scan\Component\Scan_Api;
|
7 |
+
|
8 |
+
class Core_Files extends Behavior {
|
9 |
+
public function processItemInternal( $args, $current ) {
|
10 |
+
Scan_Api::getCoreFiles();
|
11 |
+
Scan_Api::getCoreChecksums();
|
12 |
+
|
13 |
+
return true;
|
14 |
+
}
|
15 |
+
}
|
app/module/scan/behavior/core-result.php
CHANGED
@@ -14,14 +14,14 @@ use WP_Defender\Module\Scan\Component\Scan_Api;
|
|
14 |
use WP_Defender\Module\Scan\Model\Result_Item;
|
15 |
|
16 |
class Core_Result extends Behavior {
|
17 |
-
|
18 |
/**
|
19 |
* Query all the info to show up on frontend
|
20 |
* @return array
|
21 |
*/
|
22 |
public function getInfo() {
|
23 |
$full_path = $this->getRaw()['file'];
|
24 |
-
|
25 |
return [
|
26 |
'id' => $this->getOwner()->id,
|
27 |
'type' => 'core',
|
@@ -33,42 +33,42 @@ class Core_Result extends Behavior {
|
|
33 |
'short_desc' => $this->getIssueDetail()
|
34 |
];
|
35 |
}
|
36 |
-
|
37 |
/**
|
38 |
* @return string
|
39 |
*/
|
40 |
public function getTitle() {
|
41 |
$raw = $this->getRaw();
|
42 |
-
|
43 |
return pathinfo( $raw['file'], PATHINFO_BASENAME );
|
44 |
}
|
45 |
-
|
46 |
/**
|
47 |
* @return mixed
|
48 |
*/
|
49 |
public function getSubtitle() {
|
50 |
$raw = $this->getRaw();
|
51 |
-
|
52 |
return $raw['file'];
|
53 |
}
|
54 |
-
|
55 |
/**
|
56 |
* Get this slug, will require for checking ignore status while scan
|
57 |
* @return string
|
58 |
*/
|
59 |
public function getSlug() {
|
60 |
$raw = $this->getRaw();
|
61 |
-
|
62 |
return $raw['file'];
|
63 |
}
|
64 |
-
|
65 |
/**
|
66 |
* @return string
|
67 |
*/
|
68 |
public function getIssueDetail() {
|
69 |
return $this->getIssueSummary();
|
70 |
}
|
71 |
-
|
72 |
/**
|
73 |
* @return string
|
74 |
*/
|
@@ -82,7 +82,7 @@ class Core_Result extends Behavior {
|
|
82 |
return esc_html__( "This WordPress core file appears modified", "defender-security" );
|
83 |
}
|
84 |
}
|
85 |
-
|
86 |
/**
|
87 |
* Delete file referenced by this item and delete item itself
|
88 |
* @return \WP_Error|bool
|
@@ -96,7 +96,7 @@ class Core_Result extends Behavior {
|
|
96 |
return new \WP_Error( Error_Code::NOT_WRITEABLE, __( "Defender doesn't have enough permission to remove this file", "defender-security" ) );
|
97 |
}
|
98 |
$this->getOwner()->delete();
|
99 |
-
|
100 |
return true;
|
101 |
} elseif ( $raw['type'] == 'modified' ) {
|
102 |
return new \WP_Error( Error_Code::INVALID, __( "This file can't be removed", "defender-security" ) );
|
@@ -106,11 +106,11 @@ class Core_Result extends Behavior {
|
|
106 |
return $res;
|
107 |
}
|
108 |
$this->getOwner()->delete();
|
109 |
-
|
110 |
return true;
|
111 |
}
|
112 |
}
|
113 |
-
|
114 |
/**
|
115 |
* Only if the file is modified, we will download the original source and replace it
|
116 |
* @return bool|\WP_Error
|
@@ -121,22 +121,32 @@ class Core_Result extends Behavior {
|
|
121 |
if ( $raw['type'] != 'modified' ) {
|
122 |
return new \WP_Error( Error_Code::INVALID, __( "This file is not resolvable", "defender-security" ) );
|
123 |
}
|
124 |
-
|
125 |
if ( ! is_writeable( $raw['file'] ) ) {
|
126 |
return new \WP_Error( Error_Code::NOT_WRITEABLE, sprintf( esc_html__( "It seems the %s file is currently using by another process or isn't writeable.", "defender-security" ), $raw['file'] ) );
|
127 |
}
|
128 |
-
|
129 |
file_put_contents( $raw['file'], $originSrc, LOCK_EX );
|
130 |
$this->getOwner()->markAsResolved();
|
131 |
-
|
132 |
return true;
|
133 |
}
|
134 |
-
|
135 |
/**
|
136 |
* @return string
|
137 |
*/
|
138 |
public function getSrcCode() {
|
139 |
if ( is_file( $this->getSubtitle() ) || is_dir( $this->getSubtitle() ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
$raw = $this->getRaw();
|
141 |
if ( $raw['type'] == 'unknown' ) {
|
142 |
$content = file_get_contents( $this->getSubtitle() );
|
@@ -144,22 +154,22 @@ class Core_Result extends Behavior {
|
|
144 |
$content = mb_convert_encoding( $content, 'UTF-8', 'ASCII' );
|
145 |
}
|
146 |
$entities = htmlentities( $content, null, 'UTF-8', false );
|
147 |
-
|
148 |
return $entities;
|
149 |
} elseif ( $raw['type'] == 'modified' ) {
|
150 |
$original = $this->getOriginalSource();
|
151 |
$current = file_get_contents( $this->getSubtitle() );
|
152 |
$diff = $this->textDiff( $original, $current );
|
153 |
-
|
154 |
return $diff;
|
155 |
} elseif ( $raw['type'] == 'dir' ) {
|
156 |
$files = File_Helper::findFiles( $raw['file'], true, false );
|
157 |
-
|
158 |
return implode( PHP_EOL, $files );
|
159 |
}
|
160 |
}
|
161 |
}
|
162 |
-
|
163 |
/**
|
164 |
* @param $left_string
|
165 |
* @param $right_string
|
@@ -170,7 +180,6 @@ class Core_Result extends Behavior {
|
|
170 |
if ( ! class_exists( 'Text_Diff', false ) || ! class_exists( 'Text_Diff_Renderer_inline', false ) ) {
|
171 |
require( ABSPATH . WPINC . DIRECTORY_SEPARATOR . 'wp-diff.php' );
|
172 |
}
|
173 |
-
|
174 |
$left_lines = explode( "\n", $left_string );
|
175 |
$right_lines = explode( "\n", $right_string );
|
176 |
$text_diff = new \Text_Diff( 'auto', array(
|
@@ -178,25 +187,25 @@ class Core_Result extends Behavior {
|
|
178 |
$left_lines
|
179 |
) );
|
180 |
$renderer = new \Text_Diff_Renderer_inline();
|
181 |
-
|
182 |
return $renderer->render( $text_diff );
|
183 |
}
|
184 |
-
|
185 |
/**
|
186 |
* @return Result_Item;
|
187 |
*/
|
188 |
protected function getOwner() {
|
189 |
return $this->owner;
|
190 |
}
|
191 |
-
|
192 |
/**
|
193 |
* @return array
|
194 |
*/
|
195 |
protected function getRaw() {
|
196 |
return $this->getOwner()->raw;
|
197 |
}
|
198 |
-
|
199 |
-
|
200 |
/**
|
201 |
* Getting the latest original source from svn.wordpress.org
|
202 |
* @return mixed|string
|
@@ -217,10 +226,10 @@ class Core_Result extends Behavior {
|
|
217 |
}
|
218 |
$content = file_get_contents( $tmp );
|
219 |
@unlink( $tmp );
|
220 |
-
|
221 |
return $content;
|
222 |
}
|
223 |
-
|
224 |
private function deleteFolder( $dir ) {
|
225 |
if ( ! is_dir( $dir ) ) {
|
226 |
return;
|
@@ -242,7 +251,7 @@ class Core_Result extends Behavior {
|
|
242 |
if ( $res == false ) {
|
243 |
return new \WP_Error( Error_Code::NOT_WRITEABLE, __( "Defender doesn't have enough permission to remove this file", "defender-security" ) );
|
244 |
}
|
245 |
-
|
246 |
return true;
|
247 |
}
|
248 |
}
|
14 |
use WP_Defender\Module\Scan\Model\Result_Item;
|
15 |
|
16 |
class Core_Result extends Behavior {
|
17 |
+
|
18 |
/**
|
19 |
* Query all the info to show up on frontend
|
20 |
* @return array
|
21 |
*/
|
22 |
public function getInfo() {
|
23 |
$full_path = $this->getRaw()['file'];
|
24 |
+
|
25 |
return [
|
26 |
'id' => $this->getOwner()->id,
|
27 |
'type' => 'core',
|
33 |
'short_desc' => $this->getIssueDetail()
|
34 |
];
|
35 |
}
|
36 |
+
|
37 |
/**
|
38 |
* @return string
|
39 |
*/
|
40 |
public function getTitle() {
|
41 |
$raw = $this->getRaw();
|
42 |
+
|
43 |
return pathinfo( $raw['file'], PATHINFO_BASENAME );
|
44 |
}
|
45 |
+
|
46 |
/**
|
47 |
* @return mixed
|
48 |
*/
|
49 |
public function getSubtitle() {
|
50 |
$raw = $this->getRaw();
|
51 |
+
|
52 |
return $raw['file'];
|
53 |
}
|
54 |
+
|
55 |
/**
|
56 |
* Get this slug, will require for checking ignore status while scan
|
57 |
* @return string
|
58 |
*/
|
59 |
public function getSlug() {
|
60 |
$raw = $this->getRaw();
|
61 |
+
|
62 |
return $raw['file'];
|
63 |
}
|
64 |
+
|
65 |
/**
|
66 |
* @return string
|
67 |
*/
|
68 |
public function getIssueDetail() {
|
69 |
return $this->getIssueSummary();
|
70 |
}
|
71 |
+
|
72 |
/**
|
73 |
* @return string
|
74 |
*/
|
82 |
return esc_html__( "This WordPress core file appears modified", "defender-security" );
|
83 |
}
|
84 |
}
|
85 |
+
|
86 |
/**
|
87 |
* Delete file referenced by this item and delete item itself
|
88 |
* @return \WP_Error|bool
|
96 |
return new \WP_Error( Error_Code::NOT_WRITEABLE, __( "Defender doesn't have enough permission to remove this file", "defender-security" ) );
|
97 |
}
|
98 |
$this->getOwner()->delete();
|
99 |
+
|
100 |
return true;
|
101 |
} elseif ( $raw['type'] == 'modified' ) {
|
102 |
return new \WP_Error( Error_Code::INVALID, __( "This file can't be removed", "defender-security" ) );
|
106 |
return $res;
|
107 |
}
|
108 |
$this->getOwner()->delete();
|
109 |
+
|
110 |
return true;
|
111 |
}
|
112 |
}
|
113 |
+
|
114 |
/**
|
115 |
* Only if the file is modified, we will download the original source and replace it
|
116 |
* @return bool|\WP_Error
|
121 |
if ( $raw['type'] != 'modified' ) {
|
122 |
return new \WP_Error( Error_Code::INVALID, __( "This file is not resolvable", "defender-security" ) );
|
123 |
}
|
124 |
+
|
125 |
if ( ! is_writeable( $raw['file'] ) ) {
|
126 |
return new \WP_Error( Error_Code::NOT_WRITEABLE, sprintf( esc_html__( "It seems the %s file is currently using by another process or isn't writeable.", "defender-security" ), $raw['file'] ) );
|
127 |
}
|
128 |
+
|
129 |
file_put_contents( $raw['file'], $originSrc, LOCK_EX );
|
130 |
$this->getOwner()->markAsResolved();
|
131 |
+
|
132 |
return true;
|
133 |
}
|
134 |
+
|
135 |
/**
|
136 |
* @return string
|
137 |
*/
|
138 |
public function getSrcCode() {
|
139 |
if ( is_file( $this->getSubtitle() ) || is_dir( $this->getSubtitle() ) ) {
|
140 |
+
// $mime = mime_content_type( $this->getSubtitle() );
|
141 |
+
// if ( strpos( $mime, 'text/' ) !== 0 ) {
|
142 |
+
// Utils::instance()->log( sprintf( 'file %s with mime %s',$this->getSubtitle(),$mime ), 'scan' );
|
143 |
+
//
|
144 |
+
// return __( "This file type is not supported", "defender-security" );
|
145 |
+
// }
|
146 |
+
$file_size = filesize( $this->getSubtitle() );
|
147 |
+
if ( $file_size > 3145728 ) {
|
148 |
+
return __( "This file size is too big", "defender-security" );
|
149 |
+
}
|
150 |
$raw = $this->getRaw();
|
151 |
if ( $raw['type'] == 'unknown' ) {
|
152 |
$content = file_get_contents( $this->getSubtitle() );
|
154 |
$content = mb_convert_encoding( $content, 'UTF-8', 'ASCII' );
|
155 |
}
|
156 |
$entities = htmlentities( $content, null, 'UTF-8', false );
|
157 |
+
|
158 |
return $entities;
|
159 |
} elseif ( $raw['type'] == 'modified' ) {
|
160 |
$original = $this->getOriginalSource();
|
161 |
$current = file_get_contents( $this->getSubtitle() );
|
162 |
$diff = $this->textDiff( $original, $current );
|
163 |
+
|
164 |
return $diff;
|
165 |
} elseif ( $raw['type'] == 'dir' ) {
|
166 |
$files = File_Helper::findFiles( $raw['file'], true, false );
|
167 |
+
|
168 |
return implode( PHP_EOL, $files );
|
169 |
}
|
170 |
}
|
171 |
}
|
172 |
+
|
173 |
/**
|
174 |
* @param $left_string
|
175 |
* @param $right_string
|
180 |
if ( ! class_exists( 'Text_Diff', false ) || ! class_exists( 'Text_Diff_Renderer_inline', false ) ) {
|
181 |
require( ABSPATH . WPINC . DIRECTORY_SEPARATOR . 'wp-diff.php' );
|
182 |
}
|
|
|
183 |
$left_lines = explode( "\n", $left_string );
|
184 |
$right_lines = explode( "\n", $right_string );
|
185 |
$text_diff = new \Text_Diff( 'auto', array(
|
187 |
$left_lines
|
188 |
) );
|
189 |
$renderer = new \Text_Diff_Renderer_inline();
|
190 |
+
|
191 |
return $renderer->render( $text_diff );
|
192 |
}
|
193 |
+
|
194 |
/**
|
195 |
* @return Result_Item;
|
196 |
*/
|
197 |
protected function getOwner() {
|
198 |
return $this->owner;
|
199 |
}
|
200 |
+
|
201 |
/**
|
202 |
* @return array
|
203 |
*/
|
204 |
protected function getRaw() {
|
205 |
return $this->getOwner()->raw;
|
206 |
}
|
207 |
+
|
208 |
+
|
209 |
/**
|
210 |
* Getting the latest original source from svn.wordpress.org
|
211 |
* @return mixed|string
|
226 |
}
|
227 |
$content = file_get_contents( $tmp );
|
228 |
@unlink( $tmp );
|
229 |
+
|
230 |
return $content;
|
231 |
}
|
232 |
+
|
233 |
private function deleteFolder( $dir ) {
|
234 |
if ( ! is_dir( $dir ) ) {
|
235 |
return;
|
251 |
if ( $res == false ) {
|
252 |
return new \WP_Error( Error_Code::NOT_WRITEABLE, __( "Defender doesn't have enough permission to remove this file", "defender-security" ) );
|
253 |
}
|
254 |
+
|
255 |
return true;
|
256 |
}
|
257 |
}
|
app/module/scan/component/data-factory.php
CHANGED
@@ -31,7 +31,7 @@ class Data_Factory {
|
|
31 |
$scan = [
|
32 |
'status' => $model->status,
|
33 |
'status_text' => $model->statusText,
|
34 |
-
'percent' =>
|
35 |
];
|
36 |
} else {
|
37 |
$issuesItems = $lastScan->getItemsAsJson( 0, Result_Item::STATUS_ISSUE, null );
|
31 |
$scan = [
|
32 |
'status' => $model->status,
|
33 |
'status_text' => $model->statusText,
|
34 |
+
'percent' => ( new Scanning() )->getScanProgress()
|
35 |
];
|
36 |
} else {
|
37 |
$issuesItems = $lastScan->getItemsAsJson( 0, Result_Item::STATUS_ISSUE, null );
|
app/module/scan/component/queue-factory.php
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WP_Defender\Module\Scan\Component;
|
4 |
+
|
5 |
+
use Hammer\Queue\Queue;
|
6 |
+
use Hammer\WP\Component;
|
7 |
+
use WP_Defender\Module\Scan\Behavior\Core_Files;
|
8 |
+
use WP_Defender\Module\Scan\Behavior\Core_Scan;
|
9 |
+
use WP_Defender\Module\Scan\Behavior\Pro\Content_Yara_Scan;
|
10 |
+
use WP_Defender\Module\Scan\Behavior\Pro\Vuln_Scan;
|
11 |
+
|
12 |
+
class Queue_Factory extends Component {
|
13 |
+
/**
|
14 |
+
* @param $slug
|
15 |
+
* @param array $args
|
16 |
+
*
|
17 |
+
* @return array|null
|
18 |
+
*/
|
19 |
+
public static function queueFactory( $slug, $args = array() ) {
|
20 |
+
switch ( $slug ) {
|
21 |
+
case 'gather_core_files':
|
22 |
+
$queue = new Queue( [ 'dummy' ], 'gather_core_files', true );
|
23 |
+
$queue->args = $args;
|
24 |
+
$queue->args['owner'] = $queue;
|
25 |
+
$queue->attachBehavior( 'core_files', new Core_Files() );
|
26 |
+
|
27 |
+
return [ $queue, __( "Analyzing WordPress Core...", "defender-security" ) ];
|
28 |
+
case 'core':
|
29 |
+
$queue = new Queue(
|
30 |
+
Scan_Api::getCoreFiles(),
|
31 |
+
'core',
|
32 |
+
true
|
33 |
+
);
|
34 |
+
$queue->args = $args;
|
35 |
+
$queue->args['owner'] = $queue;
|
36 |
+
$queue->attachBehavior( 'core', new Core_Scan() );
|
37 |
+
|
38 |
+
return [ $queue, __( "Analyzing WordPress Core...", "defender-security" ) ];
|
39 |
+
case 'vuln':
|
40 |
+
if ( ! class_exists( '\WP_Defender\Module\Scan\Behavior\Pro\Vuln_Scan' ) ) {
|
41 |
+
return null;
|
42 |
+
}
|
43 |
+
|
44 |
+
$queue = new Queue( array(
|
45 |
+
'dummy'
|
46 |
+
), 'vuln', true );
|
47 |
+
|
48 |
+
$queue->args = $args;
|
49 |
+
$queue->args['owner'] = $queue;
|
50 |
+
$queue->attachBehavior( 'vuln', new Vuln_Scan() );
|
51 |
+
|
52 |
+
return [
|
53 |
+
$queue,
|
54 |
+
__( "Checking for any published vulnerabilities your plugins & themes...", "defender-security" )
|
55 |
+
];
|
56 |
+
break;
|
57 |
+
case 'gather_content_files':
|
58 |
+
if ( ! class_exists( '\WP_Defender\Module\Scan\Behavior\Pro\Content_Yara_Scan' ) ) {
|
59 |
+
return null;
|
60 |
+
}
|
61 |
+
$queue = new Queue( [ 'dummy' ], 'gather_content_files', true );
|
62 |
+
|
63 |
+
return [ $queue, __( "Analyzing WordPress Content...", "defender-security" ) ];
|
64 |
+
case 'content':
|
65 |
+
if ( ! class_exists( '\WP_Defender\Module\Scan\Behavior\Pro\Content_Yara_Scan' ) ) {
|
66 |
+
return null;
|
67 |
+
}
|
68 |
+
//dont use composer autoload preventing bloating
|
69 |
+
$queue = new Queue( Scan_Api::getContentFiles(), 'content', true );
|
70 |
+
$queue->args = $args;
|
71 |
+
$queue->args['owner'] = $queue;
|
72 |
+
$patterns = Scan_Api::getPatterns();
|
73 |
+
$queue->args['patterns'] = $patterns;
|
74 |
+
$queue->attachBehavior( 'content', new Content_Yara_Scan() );
|
75 |
+
|
76 |
+
return [ $queue, __( "Analyzing WordPress Content...", "defender-security" ) ];
|
77 |
+
break;
|
78 |
+
default:
|
79 |
+
//param not from the button on frontend, log it
|
80 |
+
error_log( sprintf( 'Unexpected value %s from IP %s', $slug, Utils::instance()->getUserIp() ) );
|
81 |
+
break;
|
82 |
+
}
|
83 |
+
}
|
84 |
+
}
|
app/module/scan/component/scan-api.php
CHANGED
@@ -32,12 +32,13 @@ class Scan_Api extends Component {
|
|
32 |
*/
|
33 |
public static function createScan() {
|
34 |
if ( is_null( self::getActiveScan() ) ) {
|
35 |
-
|
36 |
|
37 |
$model = new Scan();
|
38 |
$model->status = Scan::STATUS_INIT;
|
39 |
$model->statusText = __( "Initializing...", "defender-security" );
|
40 |
$model->save();
|
|
|
41 |
|
42 |
return $model;
|
43 |
} else {
|
@@ -54,11 +55,14 @@ class Scan_Api extends Component {
|
|
54 |
|
55 |
/**
|
56 |
* Get the current scan on going
|
57 |
-
*
|
|
|
|
|
|
|
58 |
*/
|
59 |
-
public static function getActiveScan() {
|
60 |
$cache = WP_Helper::getArrayCache();
|
61 |
-
if ( $cache->exists( 'activeScan' ) ) {
|
62 |
return $cache->get( 'activeScan' );
|
63 |
}
|
64 |
$model = Scan::findOne( array(
|
@@ -90,7 +94,6 @@ class Scan_Api extends Component {
|
|
90 |
|
91 |
$cache->set( 'lastScan', $model );
|
92 |
|
93 |
-
|
94 |
return $model;
|
95 |
}
|
96 |
|
@@ -106,7 +109,7 @@ class Scan_Api extends Component {
|
|
106 |
if ( is_array( $cached ) && ! empty( $cached ) ) {
|
107 |
return $cached;
|
108 |
}
|
109 |
-
|
110 |
$settings = Settings::instance();
|
111 |
$firstLevelFiles = File_Helper::findFiles( ABSPATH, true, true, array(
|
112 |
'dir' => array(
|
@@ -128,6 +131,7 @@ class Scan_Api extends Component {
|
|
128 |
$files = array_merge( $firstLevelFiles, $coreFiles );
|
129 |
$files = apply_filters( 'wd_core_files', $files );
|
130 |
$cache->set( self::CACHE_CORE, $files, 0 );
|
|
|
131 |
|
132 |
return $files;
|
133 |
}
|
@@ -138,6 +142,7 @@ class Scan_Api extends Component {
|
|
138 |
public static function getContentFiles() {
|
139 |
$cache = Container::instance()->get( 'cache' );
|
140 |
$cached = $cache->get( self::CACHE_CONTENT, false );
|
|
|
141 |
if ( is_array( $cached ) && ! empty( $cached ) ) {
|
142 |
return $cached;
|
143 |
}
|
@@ -145,10 +150,14 @@ class Scan_Api extends Component {
|
|
145 |
$files = File_Helper::findFiles( WP_CONTENT_DIR, true, false, array(), array(
|
146 |
'ext' => array( 'php' )
|
147 |
), true, $settings->max_filesize, true );
|
|
|
|
|
|
|
148 |
//include wp-config.php here
|
149 |
$files[] = ABSPATH . 'wp-config.php';
|
150 |
$files = apply_filters( 'wd_content_files', $files );
|
151 |
$cache->set( self::CACHE_CONTENT, $files );
|
|
|
152 |
|
153 |
return $files;
|
154 |
}
|
@@ -186,144 +195,6 @@ class Scan_Api extends Component {
|
|
186 |
return $checksum;
|
187 |
}
|
188 |
|
189 |
-
/**
|
190 |
-
* Processing a scan, return bool if done or not
|
191 |
-
* @return bool|\WP_Error
|
192 |
-
*/
|
193 |
-
public static function processActiveScan() {
|
194 |
-
$model = self::getActiveScan();
|
195 |
-
$start = microtime( true );
|
196 |
-
if ( ! is_object( $model ) ) {
|
197 |
-
return new \WP_Error( Error_Code::INVALID, __( "No scan record exists", "defender-security" ) );
|
198 |
-
}
|
199 |
-
|
200 |
-
if ( $model->status == Scan::STATUS_ERROR ) {
|
201 |
-
//stop scan
|
202 |
-
self::releaseLock();
|
203 |
-
|
204 |
-
return new \WP_Error( Error_Code::SCAN_ERROR, $model->statusText );
|
205 |
-
}
|
206 |
-
|
207 |
-
$settings = Settings::instance();
|
208 |
-
$steps = $settings->getScansAvailable();
|
209 |
-
$done = 0;
|
210 |
-
if ( self::isLock() ) {
|
211 |
-
//locking
|
212 |
-
return false;
|
213 |
-
} else {
|
214 |
-
//create a safe lock
|
215 |
-
self::createLock();
|
216 |
-
}
|
217 |
-
|
218 |
-
/**
|
219 |
-
* loop through scanning steps, instance scan step as queue and process
|
220 |
-
*/
|
221 |
-
foreach ( $steps as $step ) {
|
222 |
-
$queue = Settings::queueFactory( $step, array(
|
223 |
-
'model' => $model,
|
224 |
-
'ignoreList' => self::getIgnoreList()
|
225 |
-
) );
|
226 |
-
|
227 |
-
if ( ! is_object( $queue ) || $queue->isEnd() ) {
|
228 |
-
$done ++;
|
229 |
-
continue;
|
230 |
-
}
|
231 |
-
|
232 |
-
$lastPost = $queue->key();
|
233 |
-
|
234 |
-
if ( $lastPost == 0 ) {
|
235 |
-
//this is newly, we will update the status text here
|
236 |
-
switch ( $step ) {
|
237 |
-
case 'core':
|
238 |
-
$model->statusText = __( "Analyzing WordPress Core...", "defender-security" );
|
239 |
-
break;
|
240 |
-
case 'md5':
|
241 |
-
$model->statusText = __( "Prepare Wordpress Content...", "defender-security" );
|
242 |
-
break;
|
243 |
-
case 'content':
|
244 |
-
$model->statusText = __( "Analyzing WordPress Content...", "defender-security" );
|
245 |
-
break;
|
246 |
-
case 'vuln':
|
247 |
-
$model->statusText = __( "Checking for any published vulnerabilities your plugins & themes...", "defender-security" );
|
248 |
-
break;
|
249 |
-
default:
|
250 |
-
//param not from the button on frontend, log it
|
251 |
-
error_log( sprintf( 'Unexpected value %s from IP %s', $step, Utils::instance()->getUserIp() ) );
|
252 |
-
break;
|
253 |
-
}
|
254 |
-
$model->save();
|
255 |
-
}
|
256 |
-
while ( ! $queue->isEnd() ) {
|
257 |
-
//while in the loop, the model can be set as ERROR, check and return of Error
|
258 |
-
if ( $queue->processItem() == false ) {
|
259 |
-
//we will by pass this if the process is fail
|
260 |
-
//todo we will output the error and let user know
|
261 |
-
$queue->next();
|
262 |
-
$queue->saveProcess();
|
263 |
-
self::releaseLock();
|
264 |
-
|
265 |
-
return false;
|
266 |
-
} else {
|
267 |
-
//each request onlly allow 10s, or when reached to 64MB ram
|
268 |
-
$est = microtime( true ) - $start;
|
269 |
-
$currMem = ( memory_get_peak_usage( true ) / 1024 / 1024 );
|
270 |
-
if ( php_sapi_name() == 'cli' ) {
|
271 |
-
echo $queue->current() . PHP_EOL;
|
272 |
-
}
|
273 |
-
//echo $currMem . PHP_EOL;
|
274 |
-
$memLimit = apply_filters( 'defender_scan_memory_alloc', 128 );
|
275 |
-
if ( $est >= 15 || $currMem >= $memLimit || $queue->isEnd() || $queue->key() == 1 ) {
|
276 |
-
//save current process and pause
|
277 |
-
$queue->saveProcess();
|
278 |
-
|
279 |
-
//unlock before return
|
280 |
-
self::releaseLock();
|
281 |
-
//we have to cache the checksum of content here
|
282 |
-
if ( $step == 'content' ) {
|
283 |
-
$altCache = WP_Helper::getArrayCache();
|
284 |
-
$oldChecksum = $altCache->get( Content_Scan::CONTENT_CHECKSUM, null );
|
285 |
-
$tries = $altCache->get( Content_Scan::FILES_TRIED, null );
|
286 |
-
$cache = WP_Helper::getCache();
|
287 |
-
if ( is_array( $oldChecksum ) ) {
|
288 |
-
$cache->set( Content_Scan::CONTENT_CHECKSUM, $oldChecksum );
|
289 |
-
}
|
290 |
-
if ( is_array( $tries ) ) {
|
291 |
-
$cache->set( Content_Scan::FILES_TRIED, $tries );
|
292 |
-
}
|
293 |
-
}
|
294 |
-
|
295 |
-
return false;
|
296 |
-
}
|
297 |
-
}
|
298 |
-
}
|
299 |
-
//break at the end to prevent it stuck so long when init, also the heavy part is in the while loop
|
300 |
-
break;
|
301 |
-
}
|
302 |
-
|
303 |
-
if ( $done == count( $steps ) ) {
|
304 |
-
//all done
|
305 |
-
//remove all old records
|
306 |
-
$lastScan = self::getLastScan();
|
307 |
-
if ( is_object( $lastScan ) ) {
|
308 |
-
$lastScan->delete();
|
309 |
-
}
|
310 |
-
//mark the current as complted
|
311 |
-
$model->status = Scan::STATUS_FINISH;
|
312 |
-
$model->save();
|
313 |
-
if ( $model->logs == 'report' ) {
|
314 |
-
$settings->last_report_sent = time();
|
315 |
-
$settings->save();
|
316 |
-
}
|
317 |
-
self::flushCache();
|
318 |
-
self::releaseLock();
|
319 |
-
|
320 |
-
return true;
|
321 |
-
}
|
322 |
-
self::releaseLock();
|
323 |
-
|
324 |
-
return false;
|
325 |
-
}
|
326 |
-
|
327 |
/**
|
328 |
* remove all scan models
|
329 |
*/
|
@@ -339,31 +210,19 @@ class Scan_Api extends Component {
|
|
339 |
* @return Result_Item[]
|
340 |
*/
|
341 |
public static function getIgnoreList() {
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
$ids = get_site_option( self::IGNORE_LIST );
|
347 |
-
if ( $ids == false ) {
|
348 |
-
$cache = Container::instance()->get( 'cache' );
|
349 |
-
$ids = $cache->get( self::IGNORE_LIST, array() );
|
350 |
-
update_site_option( self::IGNORE_LIST, $ids );
|
351 |
-
} elseif ( ! is_array( $ids ) ) {
|
352 |
-
$ids = unserialize( $ids );
|
353 |
-
}
|
354 |
-
|
355 |
-
if ( empty( $ids ) ) {
|
356 |
-
self::$ignoreList = array();
|
357 |
-
|
358 |
-
return array();
|
359 |
}
|
|
|
360 |
|
361 |
$ignoreList = Result_Item::findAll( array(
|
362 |
'id' => $ids
|
363 |
) );
|
364 |
|
365 |
-
|
366 |
-
|
367 |
|
368 |
return $ignoreList;
|
369 |
}
|
@@ -392,17 +251,9 @@ class Scan_Api extends Component {
|
|
392 |
* @param $id
|
393 |
*/
|
394 |
public static function indexIgnore( $id ) {
|
395 |
-
$ids
|
396 |
-
if ( $ids == false ) {
|
397 |
-
$cache = Container::instance()->get( 'cache' );
|
398 |
-
$ids = $cache->get( self::IGNORE_LIST, array() );
|
399 |
-
} elseif ( ! is_array( $ids ) ) {
|
400 |
-
$ids = unserialize( $ids );
|
401 |
-
}
|
402 |
-
if ( ! is_array( $ids ) ) {
|
403 |
-
$ids = array();
|
404 |
-
}
|
405 |
$ids[] = $id;
|
|
|
406 |
update_site_option( self::IGNORE_LIST, $ids );
|
407 |
}
|
408 |
|
@@ -412,91 +263,20 @@ class Scan_Api extends Component {
|
|
412 |
* @param $id
|
413 |
*/
|
414 |
public static function unIndexIgnore( $id ) {
|
415 |
-
$ids = get_site_option( self::IGNORE_LIST );
|
416 |
-
if ( $ids
|
417 |
-
|
418 |
-
$ids = $cache->get( self::IGNORE_LIST, array() );
|
419 |
-
} elseif ( ! is_array( $ids ) ) {
|
420 |
-
$ids = unserialize( $ids );
|
421 |
-
}
|
422 |
-
if ( ! is_array( $ids ) ) {
|
423 |
-
$ids = array();
|
424 |
}
|
425 |
unset( $ids[ array_search( $id, $ids ) ] );
|
426 |
update_site_option( self::IGNORE_LIST, $ids );
|
427 |
}
|
428 |
|
429 |
-
/**
|
430 |
-
* Get current percent, if $getFromCache set to true, we will get the last cached value
|
431 |
-
*
|
432 |
-
* @param bool $getFromCache
|
433 |
-
*
|
434 |
-
* @return float|int
|
435 |
-
*/
|
436 |
-
public static function getScanProgress( $getFromCache = false ) {
|
437 |
-
$cache = WP_Helper::getCache();
|
438 |
-
if ( $getFromCache ) {
|
439 |
-
$cache = $cache->get( 'defenderScanPercent' );
|
440 |
-
if ( $cache == false ) {
|
441 |
-
return 0;
|
442 |
-
}
|
443 |
-
|
444 |
-
return $cache;
|
445 |
-
}
|
446 |
-
|
447 |
-
$settings = Settings::instance();
|
448 |
-
$steps = $settings->getScansAvailable();
|
449 |
-
$total = 0;
|
450 |
-
$currentIndex = 0;
|
451 |
-
foreach ( $steps as $step ) {
|
452 |
-
$queue = Settings::queueFactory( $step, array() );
|
453 |
-
if ( is_object( $queue ) ) {
|
454 |
-
$total += $queue->count();
|
455 |
-
if ( $queue->isEnd() ) {
|
456 |
-
$currentIndex += $queue->count();
|
457 |
-
} else {
|
458 |
-
$currentIndex += $queue->key();
|
459 |
-
}
|
460 |
-
}
|
461 |
-
}
|
462 |
-
|
463 |
-
$percent = 0;
|
464 |
-
if ( $total > 0 ) {
|
465 |
-
$percent = round( ( $currentIndex / $total ) * 100, 2 );
|
466 |
-
}
|
467 |
-
$cache->set( 'defenderScanPercent', $percent, 3600 );
|
468 |
-
|
469 |
-
return $percent;
|
470 |
-
}
|
471 |
-
|
472 |
/**
|
473 |
* flush all cache generated during scan process
|
|
|
474 |
*/
|
475 |
-
public static function flushCache(
|
476 |
-
|
477 |
-
if ( $flushQueue == true ) {
|
478 |
-
$settings = Settings::instance();
|
479 |
-
$steps = $settings->getScansAvailable();
|
480 |
-
foreach ( $steps as $step ) {
|
481 |
-
$queue = Settings::queueFactory( $step, array() );
|
482 |
-
if ( is_object( $queue ) ) {
|
483 |
-
$queue->clearStatusData();
|
484 |
-
}
|
485 |
-
}
|
486 |
-
}
|
487 |
-
//todo still update
|
488 |
-
$cache->delete( self::CACHE_CORE );
|
489 |
-
$cache->delete( self::CACHE_CONTENT );
|
490 |
-
$cache->delete( self::SCAN_PATTERN );
|
491 |
-
delete_site_option( self::SCAN_PATTERN );
|
492 |
-
$cache->delete( 'filestried' );
|
493 |
-
$cache->delete( self::CACHE_CHECKSUMS );
|
494 |
-
$cache->delete( 'defenderScanPercent' );
|
495 |
-
$altCache = WP_Helper::getArrayCache();
|
496 |
-
$altCache->delete( 'lastScan' );
|
497 |
-
$altCache->delete( 'activeScan' );
|
498 |
-
Scan_Api::releaseLock();
|
499 |
-
File_Helper::deleteFolder( Utils::instance()->getDefUploadDir() . '/md5-scan' );
|
500 |
}
|
501 |
|
502 |
/**
|
@@ -586,51 +366,6 @@ class Scan_Api extends Component {
|
|
586 |
}
|
587 |
}
|
588 |
|
589 |
-
/**
|
590 |
-
* Create a lock
|
591 |
-
* @return int
|
592 |
-
*/
|
593 |
-
public static function createLock() {
|
594 |
-
$lockPath = WP_Helper::getUploadDir() . '/wp-defender/';
|
595 |
-
if ( ! is_dir( $lockPath ) ) {
|
596 |
-
wp_mkdir_p( $lockPath );
|
597 |
-
}
|
598 |
-
|
599 |
-
$lockFile = $lockPath . 'scan-lock';
|
600 |
-
|
601 |
-
return file_put_contents( $lockFile, time(), LOCK_EX );
|
602 |
-
}
|
603 |
-
|
604 |
-
/**
|
605 |
-
* @return bool
|
606 |
-
*/
|
607 |
-
public static function isLock() {
|
608 |
-
$lockPath = WP_Helper::getUploadDir() . '/wp-defender/';
|
609 |
-
$lockFile = $lockPath . 'scan-lock';
|
610 |
-
if ( ! is_file( $lockFile ) ) {
|
611 |
-
return false;
|
612 |
-
}
|
613 |
-
|
614 |
-
$time = file_get_contents( $lockFile );
|
615 |
-
if ( strtotime( '+1 minutes', $time ) < time() ) {
|
616 |
-
//this lock locked for too long, unlock it
|
617 |
-
@unlink( $lockFile );
|
618 |
-
|
619 |
-
return false;
|
620 |
-
}
|
621 |
-
|
622 |
-
return true;
|
623 |
-
}
|
624 |
-
|
625 |
-
/**
|
626 |
-
* release a lock
|
627 |
-
*/
|
628 |
-
public static function releaseLock() {
|
629 |
-
$lockPath = WP_Helper::getUploadDir() . '/wp-defender/';
|
630 |
-
$lockFile = $lockPath . 'scan-lock';
|
631 |
-
@unlink( $lockFile );
|
632 |
-
}
|
633 |
-
|
634 |
/**
|
635 |
* @return array|mixed|object|\WP_Error
|
636 |
*/
|
@@ -641,20 +376,26 @@ class Scan_Api extends Component {
|
|
641 |
}
|
642 |
|
643 |
$patterns = get_site_option( Scan_Api::SCAN_PATTERN, null );
|
|
|
644 |
if ( is_array( $patterns ) ) {
|
645 |
//return pattern if that exists, no matter the content
|
646 |
return $patterns;
|
647 |
}
|
|
|
|
|
|
|
|
|
648 |
|
649 |
-
$
|
650 |
-
$patterns = Utils::instance()->devCall( $api_endpoint, array(), array(
|
651 |
'method' => 'GET'
|
652 |
) );
|
|
|
|
|
|
|
653 |
if ( is_wp_error( $patterns ) || $patterns == false ) {
|
654 |
$patterns = array();
|
655 |
}
|
656 |
-
|
657 |
-
|
658 |
update_site_option( Scan_Api::SCAN_PATTERN, $patterns );
|
659 |
|
660 |
return $patterns;
|
32 |
*/
|
33 |
public static function createScan() {
|
34 |
if ( is_null( self::getActiveScan() ) ) {
|
35 |
+
( new Scanning() )->flushCache();
|
36 |
|
37 |
$model = new Scan();
|
38 |
$model->status = Scan::STATUS_INIT;
|
39 |
$model->statusText = __( "Initializing...", "defender-security" );
|
40 |
$model->save();
|
41 |
+
Utils::instance()->clear_log( 'scan' );
|
42 |
|
43 |
return $model;
|
44 |
} else {
|
55 |
|
56 |
/**
|
57 |
* Get the current scan on going
|
58 |
+
*
|
59 |
+
* @param $fresh
|
60 |
+
*
|
61 |
+
* @return false|mixed|Scan|null
|
62 |
*/
|
63 |
+
public static function getActiveScan( $fresh = false ) {
|
64 |
$cache = WP_Helper::getArrayCache();
|
65 |
+
if ( $cache->exists( 'activeScan' ) && $fresh == false ) {
|
66 |
return $cache->get( 'activeScan' );
|
67 |
}
|
68 |
$model = Scan::findOne( array(
|
94 |
|
95 |
$cache->set( 'lastScan', $model );
|
96 |
|
|
|
97 |
return $model;
|
98 |
}
|
99 |
|
109 |
if ( is_array( $cached ) && ! empty( $cached ) ) {
|
110 |
return $cached;
|
111 |
}
|
112 |
+
$time = microtime( true );
|
113 |
$settings = Settings::instance();
|
114 |
$firstLevelFiles = File_Helper::findFiles( ABSPATH, true, true, array(
|
115 |
'dir' => array(
|
131 |
$files = array_merge( $firstLevelFiles, $coreFiles );
|
132 |
$files = apply_filters( 'wd_core_files', $files );
|
133 |
$cache->set( self::CACHE_CORE, $files, 0 );
|
134 |
+
Utils::instance()->log( sprintf( 'Core files: %d time finished: %s', count( $files ), microtime( true ) - $time ), 'scan' );
|
135 |
|
136 |
return $files;
|
137 |
}
|
142 |
public static function getContentFiles() {
|
143 |
$cache = Container::instance()->get( 'cache' );
|
144 |
$cached = $cache->get( self::CACHE_CONTENT, false );
|
145 |
+
|
146 |
if ( is_array( $cached ) && ! empty( $cached ) ) {
|
147 |
return $cached;
|
148 |
}
|
150 |
$files = File_Helper::findFiles( WP_CONTENT_DIR, true, false, array(), array(
|
151 |
'ext' => array( 'php' )
|
152 |
), true, $settings->max_filesize, true );
|
153 |
+
// $files = File_Helper::findFiles( WP_CONTENT_DIR . '/removidosnomaa', true, false, array(), array(
|
154 |
+
// 'ext' => array( 'php' )
|
155 |
+
// ), true, $settings->max_filesize, true );
|
156 |
//include wp-config.php here
|
157 |
$files[] = ABSPATH . 'wp-config.php';
|
158 |
$files = apply_filters( 'wd_content_files', $files );
|
159 |
$cache->set( self::CACHE_CONTENT, $files );
|
160 |
+
Utils::instance()->log( sprintf( 'Content files: %d', count( $files ) ), 'scan' );
|
161 |
|
162 |
return $files;
|
163 |
}
|
195 |
return $checksum;
|
196 |
}
|
197 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
/**
|
199 |
* remove all scan models
|
200 |
*/
|
210 |
* @return Result_Item[]
|
211 |
*/
|
212 |
public static function getIgnoreList() {
|
213 |
+
$cache = WP_Helper::getArrayCache();
|
214 |
+
$cached = $cache->get( self::IGNORE_LIST, false );
|
215 |
+
if ( is_array( $cached ) ) {
|
216 |
+
return $cached;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
217 |
}
|
218 |
+
$ids = get_site_option( self::IGNORE_LIST, [] );
|
219 |
|
220 |
$ignoreList = Result_Item::findAll( array(
|
221 |
'id' => $ids
|
222 |
) );
|
223 |
|
224 |
+
$cached = $ignoreList;
|
225 |
+
$cache->set( self::IGNORE_LIST, $cached );
|
226 |
|
227 |
return $ignoreList;
|
228 |
}
|
251 |
* @param $id
|
252 |
*/
|
253 |
public static function indexIgnore( $id ) {
|
254 |
+
$ids = get_site_option( self::IGNORE_LIST, [] );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
255 |
$ids[] = $id;
|
256 |
+
$ids = array_unique( $ids );
|
257 |
update_site_option( self::IGNORE_LIST, $ids );
|
258 |
}
|
259 |
|
263 |
* @param $id
|
264 |
*/
|
265 |
public static function unIndexIgnore( $id ) {
|
266 |
+
$ids = get_site_option( self::IGNORE_LIST, [] );
|
267 |
+
if ( empty( $ids ) ) {
|
268 |
+
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
269 |
}
|
270 |
unset( $ids[ array_search( $id, $ids ) ] );
|
271 |
update_site_option( self::IGNORE_LIST, $ids );
|
272 |
}
|
273 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
/**
|
275 |
* flush all cache generated during scan process
|
276 |
+
* @deprecated
|
277 |
*/
|
278 |
+
public static function flushCache() {
|
279 |
+
( new Scanning() )->flushCache();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
280 |
}
|
281 |
|
282 |
/**
|
366 |
}
|
367 |
}
|
368 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
369 |
/**
|
370 |
* @return array|mixed|object|\WP_Error
|
371 |
*/
|
376 |
}
|
377 |
|
378 |
$patterns = get_site_option( Scan_Api::SCAN_PATTERN, null );
|
379 |
+
|
380 |
if ( is_array( $patterns ) ) {
|
381 |
//return pattern if that exists, no matter the content
|
382 |
return $patterns;
|
383 |
}
|
384 |
+
$base = defined( 'WPMUDEV_CUSTOM_API_SERVER' ) && WPMUDEV_CUSTOM_API_SERVER
|
385 |
+
? WPMUDEV_CUSTOM_API_SERVER
|
386 |
+
: 'https://premium.wpmudev.org/';
|
387 |
+
$api_endpoint = "{$base}api/defender/v1/yara-signatures";
|
388 |
|
389 |
+
$patterns = Utils::instance()->devCall( $api_endpoint, array(), array(
|
|
|
390 |
'method' => 'GET'
|
391 |
) );
|
392 |
+
if ( is_wp_error( $patterns ) ) {
|
393 |
+
Utils::instance()->log( $patterns->get_error_message(), 'scan' );
|
394 |
+
}
|
395 |
if ( is_wp_error( $patterns ) || $patterns == false ) {
|
396 |
$patterns = array();
|
397 |
}
|
398 |
+
Utils::instance()->log( sprintf( 'Fetch rules from %s. Found %d', $api_endpoint, count( $patterns ) ), 'scan' );
|
|
|
399 |
update_site_option( Scan_Api::SCAN_PATTERN, $patterns );
|
400 |
|
401 |
return $patterns;
|
app/module/scan/component/scanning.php
ADDED
@@ -0,0 +1,177 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WP_Defender\Module\Scan\Component;
|
4 |
+
|
5 |
+
use Hammer\Base\Component;
|
6 |
+
use Hammer\Helper\File_Helper;
|
7 |
+
use Hammer\Helper\WP_Helper;
|
8 |
+
use WP_Defender\Behavior\Utils;
|
9 |
+
use WP_Defender\Component\Error_Code;
|
10 |
+
use WP_Defender\Module\Scan\Model\Scan;
|
11 |
+
use WP_Defender\Module\Scan\Model\Settings;
|
12 |
+
|
13 |
+
class Scanning extends Component {
|
14 |
+
const CACHE_CURRENT_STEP = 'wdf_scan_current', CACHE_PERCENTAGE = 'wdf_scan_percent';
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @return bool|\WP_Error
|
18 |
+
*/
|
19 |
+
public function do() {
|
20 |
+
$model = Scan_Api::getActiveScan();
|
21 |
+
$start = microtime( true );
|
22 |
+
if ( ! is_object( $model ) ) {
|
23 |
+
return new \WP_Error( Error_Code::INVALID, __( "No scan record exists", "defender-security" ) );
|
24 |
+
}
|
25 |
+
|
26 |
+
if ( $model->status == Scan::STATUS_ERROR ) {
|
27 |
+
//stop scan
|
28 |
+
$this->releaseLock();
|
29 |
+
|
30 |
+
return new \WP_Error( Error_Code::SCAN_ERROR, $model->statusText );
|
31 |
+
}
|
32 |
+
|
33 |
+
if ( $this->isLock() ) {
|
34 |
+
return false;
|
35 |
+
}
|
36 |
+
$this->createLock();
|
37 |
+
$settings = Settings::instance();
|
38 |
+
$cache = WP_Helper::getCache();
|
39 |
+
$steps = $settings->getScansAvailable();
|
40 |
+
$current = $cache->get( self::CACHE_CURRENT_STEP, $steps[0] );
|
41 |
+
$index = array_search( $current, $steps );
|
42 |
+
list( $queue, $status_text ) = Queue_Factory::queueFactory( $current, [
|
43 |
+
'model' => $model,
|
44 |
+
'ignoreList' => Scan_Api::getIgnoreList()
|
45 |
+
] );
|
46 |
+
$model->statusText = $status_text;
|
47 |
+
$model->status = Scan::STATUS_PROCESS;
|
48 |
+
$model->save();
|
49 |
+
while ( ! $queue->isEnd() ) {
|
50 |
+
$result = $queue->processItem();
|
51 |
+
if ( $result === false ) {
|
52 |
+
//current item fail, return
|
53 |
+
$queue->saveProcess();
|
54 |
+
$this->releaseLock();
|
55 |
+
|
56 |
+
return false;
|
57 |
+
}
|
58 |
+
if ( microtime( true ) - $start > 5 ) {
|
59 |
+
//the process take too long, break out
|
60 |
+
$queue->saveProcess();
|
61 |
+
break;
|
62 |
+
}
|
63 |
+
}
|
64 |
+
Utils::instance()->log( sprintf( 'current %s took %s', $current, ( microtime( true ) - $start ) ), 'scan' );
|
65 |
+
$base_progress = round( ( ( $index ) / count( $steps ) ) * 100, 2 );
|
66 |
+
$internal_progress = ( ( $queue->key() / $queue->count() ) * 100 ) * ( 1 / count( $steps ) * 100 ) * 0.01;
|
67 |
+
$cache->set( self::CACHE_PERCENTAGE, $base_progress + $internal_progress );
|
68 |
+
if ( $queue->isEnd() ) {
|
69 |
+
$remaining = array_slice( $steps, $index + 1 );
|
70 |
+
if ( count( $remaining ) == 0 ) {
|
71 |
+
//scan done
|
72 |
+
$this->markScanFinish( $model );
|
73 |
+
|
74 |
+
return true;
|
75 |
+
} else {
|
76 |
+
//we store the next
|
77 |
+
$cache->set( self::CACHE_CURRENT_STEP, $remaining[0] );
|
78 |
+
}
|
79 |
+
}
|
80 |
+
$this->releaseLock();
|
81 |
+
|
82 |
+
return false;
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* @return false|mixed|null
|
87 |
+
*/
|
88 |
+
public function getScanProgress() {
|
89 |
+
$cache = WP_Helper::getCache();
|
90 |
+
|
91 |
+
return $cache->get( self::CACHE_PERCENTAGE, 0 );
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* @param Scan $model
|
96 |
+
*/
|
97 |
+
private function markScanFinish( $model ) {
|
98 |
+
$lastScan = Scan_Api::getLastScan();
|
99 |
+
if ( is_object( $lastScan ) ) {
|
100 |
+
$lastScan->delete();
|
101 |
+
}
|
102 |
+
//mark the current as complted
|
103 |
+
$model->status = Scan::STATUS_FINISH;
|
104 |
+
$model->save();
|
105 |
+
$this->flushCache();
|
106 |
+
$this->releaseLock();
|
107 |
+
}
|
108 |
+
|
109 |
+
public function flushCache( $flushQueue = true ) {
|
110 |
+
$cache = WP_Helper::getCache();
|
111 |
+
if ( $flushQueue == true ) {
|
112 |
+
$settings = Settings::instance();
|
113 |
+
$steps = $settings->getScansAvailable();
|
114 |
+
foreach ( $steps as $step ) {
|
115 |
+
$queue = Settings::queueFactory( $step, array() );
|
116 |
+
if ( is_object( $queue ) ) {
|
117 |
+
$queue->clearStatusData();
|
118 |
+
}
|
119 |
+
}
|
120 |
+
}
|
121 |
+
//todo still update
|
122 |
+
$cache->delete( Scan_Api::CACHE_CORE );
|
123 |
+
$cache->delete( Scan_Api::CACHE_CONTENT );
|
124 |
+
$cache->delete( Scan_Api::SCAN_PATTERN );
|
125 |
+
$cache->delete( self::CACHE_CURRENT_STEP );
|
126 |
+
delete_site_option( Scan_Api::SCAN_PATTERN );
|
127 |
+
$cache->delete( 'filestried' );
|
128 |
+
$cache->delete( Scan_Api::CACHE_CHECKSUMS );
|
129 |
+
$cache->delete( 'defenderScanPercent' );
|
130 |
+
$altCache = WP_Helper::getArrayCache();
|
131 |
+
$altCache->delete( 'lastScan' );
|
132 |
+
$altCache->delete( 'activeScan' );
|
133 |
+
}
|
134 |
+
|
135 |
+
/**
|
136 |
+
* Create a lock
|
137 |
+
* @return int
|
138 |
+
*/
|
139 |
+
public function createLock() {
|
140 |
+
$lockPath = Utils::instance()->getDefUploadDir();
|
141 |
+
|
142 |
+
$lockFile = $lockPath . DIRECTORY_SEPARATOR . 'scan-lock';
|
143 |
+
|
144 |
+
return file_put_contents( $lockFile, time(), LOCK_EX );
|
145 |
+
}
|
146 |
+
|
147 |
+
/**
|
148 |
+
* @return bool
|
149 |
+
*/
|
150 |
+
public function isLock() {
|
151 |
+
$lockPath = Utils::instance()->getDefUploadDir();
|
152 |
+
$lockFile = $lockPath . DIRECTORY_SEPARATOR . 'scan-lock';
|
153 |
+
if ( ! is_file( $lockFile ) ) {
|
154 |
+
return false;
|
155 |
+
}
|
156 |
+
|
157 |
+
$time = file_get_contents( $lockFile );
|
158 |
+
if ( strtotime( '+1 minutes', $time ) < time() ) {
|
159 |
+
//this lock locked for too long, unlock it
|
160 |
+
@unlink( $lockFile );
|
161 |
+
|
162 |
+
return false;
|
163 |
+
}
|
164 |
+
|
165 |
+
return true;
|
166 |
+
}
|
167 |
+
|
168 |
+
/**
|
169 |
+
* Release scan lock
|
170 |
+
*/
|
171 |
+
public function releaseLock() {
|
172 |
+
$lockPath = WP_Helper::getUploadDir() . '/wp-defender/';
|
173 |
+
$lockFile = $lockPath . 'scan-lock';
|
174 |
+
@unlink( $lockFile );
|
175 |
+
}
|
176 |
+
|
177 |
+
}
|
app/module/scan/component/token-utils.php
CHANGED
@@ -22,7 +22,7 @@ class Token_Utils extends Component {
|
|
22 |
*
|
23 |
* @return bool
|
24 |
*/
|
25 |
-
public static function findPrevious( $token, $from, $end =
|
26 |
for ( $i = $from; $i >= $end; $i -- ) {
|
27 |
if ( isset( self::$tokens[ $i ] ) && self::$tokens[ $i ]['code'] == $token ) {
|
28 |
return $i;
|
22 |
*
|
23 |
* @return bool
|
24 |
*/
|
25 |
+
public static function findPrevious( $token, $from, $end = 0 ) {
|
26 |
for ( $i = $from; $i >= $end; $i -- ) {
|
27 |
if ( isset( self::$tokens[ $i ] ) && self::$tokens[ $i ]['code'] == $token ) {
|
28 |
return $i;
|
app/module/scan/controller/main.php
CHANGED
@@ -13,7 +13,7 @@ use WP_Defender\Module\Scan\Model\Result_Item;
|
|
13 |
*/
|
14 |
class Main extends \WP_Defender\Controller {
|
15 |
protected $slug = 'wdf-scan';
|
16 |
-
|
17 |
/**
|
18 |
* @return array
|
19 |
*/
|
@@ -23,14 +23,14 @@ class Main extends \WP_Defender\Controller {
|
|
23 |
'endpoints' => '\WP_Defender\Behavior\Endpoint',
|
24 |
'wpmudev' => '\WP_Defender\Behavior\WPMUDEV'
|
25 |
];
|
26 |
-
|
27 |
if ( wp_defender()->isFree == false ) {
|
28 |
$behaviors['pro'] = '\WP_Defender\Module\Scan\Behavior\Pro\Reporting';
|
29 |
}
|
30 |
-
|
31 |
return $behaviors;
|
32 |
}
|
33 |
-
|
34 |
/**
|
35 |
* Main constructor.
|
36 |
*/
|
@@ -40,19 +40,19 @@ class Main extends \WP_Defender\Controller {
|
|
40 |
} else {
|
41 |
$this->addAction( 'admin_menu', 'adminMenu' );
|
42 |
}
|
43 |
-
|
44 |
if ( $this->isInPage() || $this->isDashboard() ) {
|
45 |
$this->addAction( 'defender_enqueue_assets', 'scripts', 11 );
|
46 |
}
|
47 |
-
|
48 |
//process scan in background
|
49 |
$this->addAction( 'processScanCron', 'processScanCron' );
|
50 |
//scan as schedule
|
51 |
$this->addAction( 'scanReportCron', 'scanReportCron' );
|
52 |
-
|
53 |
$this->addAction( 'sendScanEmail', 'sendEmailReport' );
|
54 |
}
|
55 |
-
|
56 |
/**
|
57 |
* @return bool|void
|
58 |
*/
|
@@ -60,7 +60,7 @@ class Main extends \WP_Defender\Controller {
|
|
60 |
if ( wp_defender()->isFree ) {
|
61 |
return;
|
62 |
}
|
63 |
-
|
64 |
$settings = Settings::instance();
|
65 |
$lastReportSent = $settings->last_report_sent;
|
66 |
if ( $lastReportSent == null ) {
|
@@ -75,21 +75,23 @@ class Main extends \WP_Defender\Controller {
|
|
75 |
$lastReportSent = strtotime( '-31 days', current_time( 'timestamp' ) );
|
76 |
}
|
77 |
}
|
78 |
-
|
79 |
if ( ! $this->isReportTime( $settings->frequency, $settings->day, $lastReportSent ) ) {
|
80 |
return false;
|
81 |
}
|
82 |
-
|
83 |
//need to check if we already have a scan in progress
|
84 |
$activeScan = Scan_Api::getActiveScan();
|
85 |
if ( ! is_object( $activeScan ) ) {
|
86 |
-
|
|
|
87 |
$model->logs = 'report';
|
|
|
88 |
wp_clear_scheduled_hook( 'processScanCron' );
|
89 |
wp_schedule_single_event( strtotime( '+1 minutes' ), 'processScanCron' );
|
90 |
}
|
91 |
}
|
92 |
-
|
93 |
/**
|
94 |
* Process a scan via cronjob, only use to process in background, not create a new scan
|
95 |
*/
|
@@ -100,15 +102,16 @@ class Main extends \WP_Defender\Controller {
|
|
100 |
}
|
101 |
//sometime the scan get stuck, queue it first
|
102 |
wp_schedule_single_event( strtotime( '+1 minutes' ), 'processScanCron' );
|
103 |
-
|
104 |
$activeScan = Scan_Api::getActiveScan();
|
105 |
if ( ! is_object( $activeScan ) ) {
|
106 |
//no scan created, return
|
107 |
return;
|
108 |
}
|
109 |
-
|
110 |
-
$
|
111 |
-
|
|
|
112 |
if ( $ret == true ) {
|
113 |
//completed
|
114 |
$this->sendEmailReport();
|
@@ -117,7 +120,7 @@ class Main extends \WP_Defender\Controller {
|
|
117 |
wp_clear_scheduled_hook( 'processScanCron' );
|
118 |
}
|
119 |
}
|
120 |
-
|
121 |
/**
|
122 |
* Add submit admin page
|
123 |
*/
|
@@ -128,14 +131,14 @@ class Main extends \WP_Defender\Controller {
|
|
128 |
'actionIndex'
|
129 |
) );
|
130 |
}
|
131 |
-
|
132 |
/**
|
133 |
* Enqueue scripts & styles
|
134 |
*/
|
135 |
public function scripts() {
|
136 |
if ( $this->isInPage() ) {
|
137 |
wp_enqueue_style( 'defender' );
|
138 |
-
|
139 |
wp_register_script( 'defender-scan', wp_defender()->getPluginUrl() . 'assets/app/scan.js', [
|
140 |
'vue',
|
141 |
'defender',
|
@@ -149,7 +152,7 @@ class Main extends \WP_Defender\Controller {
|
|
149 |
wp_enqueue_script( 'wpmudev-sui' );
|
150 |
}
|
151 |
}
|
152 |
-
|
153 |
public function _scriptsData() {
|
154 |
if ( ! $this->checkPermission() ) {
|
155 |
return [];
|
@@ -170,58 +173,54 @@ class Main extends \WP_Defender\Controller {
|
|
170 |
],
|
171 |
'endpoints' => $this->getAllAvailableEndpoints( Scan::getClassName() ),
|
172 |
] );
|
173 |
-
|
174 |
return $data;
|
175 |
}
|
176 |
-
|
177 |
/**
|
178 |
* Internal route for this module
|
179 |
*/
|
180 |
public function actionIndex() {
|
181 |
$this->render( 'main' );
|
182 |
}
|
183 |
-
|
184 |
public function sendEmailReport( $force = false ) {
|
185 |
$settings = Settings::instance();
|
186 |
-
|
187 |
$model = Scan_Api::getLastScan();
|
188 |
if ( ! is_object( $model ) ) {
|
189 |
return;
|
190 |
}
|
191 |
-
|
192 |
-
if ( $settings->notification == false && $force != true ) {
|
193 |
-
return false;
|
194 |
-
}
|
195 |
-
|
196 |
$count = $model->countAll( Result_Item::STATUS_ISSUE );
|
197 |
-
|
198 |
//Check one instead of validating both conditions
|
199 |
if ( $model->logs == 'report' ) {
|
200 |
if ( $settings->report == false ) {
|
201 |
return;
|
202 |
}
|
203 |
-
|
204 |
if ( $settings->always_send == false && $count == 0 ) {
|
205 |
return;
|
206 |
}
|
207 |
-
|
208 |
$recipients = $settings->recipients;
|
209 |
} else {
|
210 |
if ( $settings->notification == false ) {
|
211 |
return;
|
212 |
}
|
213 |
-
|
214 |
if ( $settings->always_send_notification == false && $count == 0 ) {
|
215 |
return;
|
216 |
}
|
217 |
-
|
218 |
$recipients = $settings->recipients_notification;
|
219 |
}
|
220 |
-
|
221 |
if ( empty( $recipients ) ) {
|
222 |
return;
|
223 |
}
|
224 |
-
|
225 |
foreach ( $recipients as $item ) {
|
226 |
//prepare the parameters
|
227 |
$email = $item['email'];
|
@@ -248,7 +247,7 @@ class Main extends \WP_Defender\Controller {
|
|
248 |
//change nl to br
|
249 |
$email_content = wpautop( stripslashes( $email_content ) );
|
250 |
$email_content = apply_filters( 'wd_notification_email_content_after', $email_content, $model );
|
251 |
-
|
252 |
$email_template = $this->renderPartial( 'email-template', array(
|
253 |
'subject' => $subject,
|
254 |
'message' => $email_content
|
@@ -262,7 +261,7 @@ class Main extends \WP_Defender\Controller {
|
|
262 |
wp_mail( $email, $subject, $email_template, $headers );
|
263 |
}
|
264 |
}
|
265 |
-
|
266 |
/**
|
267 |
* Build issues html table
|
268 |
*
|
@@ -275,57 +274,57 @@ class Main extends \WP_Defender\Controller {
|
|
275 |
private function issuesListHtml( Scan\Model\Scan $model ) {
|
276 |
ob_start();
|
277 |
?>
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
<?php foreach ( $model->getItems() as $k => $item ): ?>
|
290 |
<?php if ( $k == 0 ): ?>
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
<?php else: ?>
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
<?php endif; ?>
|
311 |
<?php endforeach; ?>
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
<?php
|
330 |
return ob_get_clean();
|
331 |
}
|
13 |
*/
|
14 |
class Main extends \WP_Defender\Controller {
|
15 |
protected $slug = 'wdf-scan';
|
16 |
+
|
17 |
/**
|
18 |
* @return array
|
19 |
*/
|
23 |
'endpoints' => '\WP_Defender\Behavior\Endpoint',
|
24 |
'wpmudev' => '\WP_Defender\Behavior\WPMUDEV'
|
25 |
];
|
26 |
+
|
27 |
if ( wp_defender()->isFree == false ) {
|
28 |
$behaviors['pro'] = '\WP_Defender\Module\Scan\Behavior\Pro\Reporting';
|
29 |
}
|
30 |
+
|
31 |
return $behaviors;
|
32 |
}
|
33 |
+
|
34 |
/**
|
35 |
* Main constructor.
|
36 |
*/
|
40 |
} else {
|
41 |
$this->addAction( 'admin_menu', 'adminMenu' );
|
42 |
}
|
43 |
+
|
44 |
if ( $this->isInPage() || $this->isDashboard() ) {
|
45 |
$this->addAction( 'defender_enqueue_assets', 'scripts', 11 );
|
46 |
}
|
47 |
+
|
48 |
//process scan in background
|
49 |
$this->addAction( 'processScanCron', 'processScanCron' );
|
50 |
//scan as schedule
|
51 |
$this->addAction( 'scanReportCron', 'scanReportCron' );
|
52 |
+
|
53 |
$this->addAction( 'sendScanEmail', 'sendEmailReport' );
|
54 |
}
|
55 |
+
|
56 |
/**
|
57 |
* @return bool|void
|
58 |
*/
|
60 |
if ( wp_defender()->isFree ) {
|
61 |
return;
|
62 |
}
|
63 |
+
|
64 |
$settings = Settings::instance();
|
65 |
$lastReportSent = $settings->last_report_sent;
|
66 |
if ( $lastReportSent == null ) {
|
75 |
$lastReportSent = strtotime( '-31 days', current_time( 'timestamp' ) );
|
76 |
}
|
77 |
}
|
78 |
+
|
79 |
if ( ! $this->isReportTime( $settings->frequency, $settings->day, $lastReportSent ) ) {
|
80 |
return false;
|
81 |
}
|
82 |
+
|
83 |
//need to check if we already have a scan in progress
|
84 |
$activeScan = Scan_Api::getActiveScan();
|
85 |
if ( ! is_object( $activeScan ) ) {
|
86 |
+
Scan_Api::createScan();
|
87 |
+
$model = Scan_Api::getActiveScan( true );
|
88 |
$model->logs = 'report';
|
89 |
+
$model->save();
|
90 |
wp_clear_scheduled_hook( 'processScanCron' );
|
91 |
wp_schedule_single_event( strtotime( '+1 minutes' ), 'processScanCron' );
|
92 |
}
|
93 |
}
|
94 |
+
|
95 |
/**
|
96 |
* Process a scan via cronjob, only use to process in background, not create a new scan
|
97 |
*/
|
102 |
}
|
103 |
//sometime the scan get stuck, queue it first
|
104 |
wp_schedule_single_event( strtotime( '+1 minutes' ), 'processScanCron' );
|
105 |
+
|
106 |
$activeScan = Scan_Api::getActiveScan();
|
107 |
if ( ! is_object( $activeScan ) ) {
|
108 |
//no scan created, return
|
109 |
return;
|
110 |
}
|
111 |
+
|
112 |
+
$scanning = new Scan\Component\Scanning();
|
113 |
+
$ret = $scanning->do();
|
114 |
+
|
115 |
if ( $ret == true ) {
|
116 |
//completed
|
117 |
$this->sendEmailReport();
|
120 |
wp_clear_scheduled_hook( 'processScanCron' );
|
121 |
}
|
122 |
}
|
123 |
+
|
124 |
/**
|
125 |
* Add submit admin page
|
126 |
*/
|
131 |
'actionIndex'
|
132 |
) );
|
133 |
}
|
134 |
+
|
135 |
/**
|
136 |
* Enqueue scripts & styles
|
137 |
*/
|
138 |
public function scripts() {
|
139 |
if ( $this->isInPage() ) {
|
140 |
wp_enqueue_style( 'defender' );
|
141 |
+
|
142 |
wp_register_script( 'defender-scan', wp_defender()->getPluginUrl() . 'assets/app/scan.js', [
|
143 |
'vue',
|
144 |
'defender',
|
152 |
wp_enqueue_script( 'wpmudev-sui' );
|
153 |
}
|
154 |
}
|
155 |
+
|
156 |
public function _scriptsData() {
|
157 |
if ( ! $this->checkPermission() ) {
|
158 |
return [];
|
173 |
],
|
174 |
'endpoints' => $this->getAllAvailableEndpoints( Scan::getClassName() ),
|
175 |
] );
|
176 |
+
|
177 |
return $data;
|
178 |
}
|
179 |
+
|
180 |
/**
|
181 |
* Internal route for this module
|
182 |
*/
|
183 |
public function actionIndex() {
|
184 |
$this->render( 'main' );
|
185 |
}
|
186 |
+
|
187 |
public function sendEmailReport( $force = false ) {
|
188 |
$settings = Settings::instance();
|
189 |
+
|
190 |
$model = Scan_Api::getLastScan();
|
191 |
if ( ! is_object( $model ) ) {
|
192 |
return;
|
193 |
}
|
194 |
+
|
|
|
|
|
|
|
|
|
195 |
$count = $model->countAll( Result_Item::STATUS_ISSUE );
|
196 |
+
|
197 |
//Check one instead of validating both conditions
|
198 |
if ( $model->logs == 'report' ) {
|
199 |
if ( $settings->report == false ) {
|
200 |
return;
|
201 |
}
|
202 |
+
|
203 |
if ( $settings->always_send == false && $count == 0 ) {
|
204 |
return;
|
205 |
}
|
206 |
+
|
207 |
$recipients = $settings->recipients;
|
208 |
} else {
|
209 |
if ( $settings->notification == false ) {
|
210 |
return;
|
211 |
}
|
212 |
+
|
213 |
if ( $settings->always_send_notification == false && $count == 0 ) {
|
214 |
return;
|
215 |
}
|
216 |
+
|
217 |
$recipients = $settings->recipients_notification;
|
218 |
}
|
219 |
+
|
220 |
if ( empty( $recipients ) ) {
|
221 |
return;
|
222 |
}
|
223 |
+
|
224 |
foreach ( $recipients as $item ) {
|
225 |
//prepare the parameters
|
226 |
$email = $item['email'];
|
247 |
//change nl to br
|
248 |
$email_content = wpautop( stripslashes( $email_content ) );
|
249 |
$email_content = apply_filters( 'wd_notification_email_content_after', $email_content, $model );
|
250 |
+
|
251 |
$email_template = $this->renderPartial( 'email-template', array(
|
252 |
'subject' => $subject,
|
253 |
'message' => $email_content
|
261 |
wp_mail( $email, $subject, $email_template, $headers );
|
262 |
}
|
263 |
}
|
264 |
+
|
265 |
/**
|
266 |
* Build issues html table
|
267 |
*
|
274 |
private function issuesListHtml( Scan\Model\Scan $model ) {
|
275 |
ob_start();
|
276 |
?>
|
277 |
+
<table class="results-list"
|
278 |
+
style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
|
279 |
+
<thead class="results-list-header" style="border-bottom: 2px solid #ff5c28;">
|
280 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
281 |
+
<th class="result-list-label-title"
|
282 |
+
style="Margin: 0; color: #ff5c28; font-family: Helvetica, Arial, sans-serif; font-size: 22px; font-weight: 700; line-height: 48px; margin: 0; padding: 0; text-align: left; width: 35%;"><?php esc_html_e( "File", "defender-security" ) ?></th>
|
283 |
+
<th class="result-list-data-title"
|
284 |
+
style="Margin: 0; color: #ff5c28; font-family: Helvetica, Arial, sans-serif; font-size: 22px; font-weight: 700; line-height: 48px; margin: 0; padding: 0; text-align: left;"><?php esc_html_e( "Issue", "defender-security" ) ?></th>
|
285 |
+
</tr>
|
286 |
+
</thead>
|
287 |
+
<tbody class="results-list-content">
|
288 |
<?php foreach ( $model->getItems() as $k => $item ): ?>
|
289 |
<?php if ( $k == 0 ): ?>
|
290 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
291 |
+
<td class="result-list-label"
|
292 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 700; hyphens: auto; line-height: 28px; margin: 0; padding: 20px 5px; text-align: left; vertical-align: top; word-wrap: break-word;"><?php echo $item->getTitle() ?>
|
293 |
+
<span
|
294 |
+
style="display: inline-block; font-weight: 400; width: 100%;"><?php echo $item->getSubTitle() ?></span>
|
295 |
+
</td>
|
296 |
+
<td class="result-list-data"
|
297 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 700; hyphens: auto; line-height: 28px; margin: 0; padding: 20px 5px; text-align: left; vertical-align: top; word-wrap: break-word;"><?php echo $item->getIssueDetail() ?></td>
|
298 |
+
</tr>
|
299 |
<?php else: ?>
|
300 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
301 |
+
<td class="result-list-label <?php echo $k > 0 ? " bordered" : null ?>"
|
302 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; border-top: 2px solid #ff5c28; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 700; hyphens: auto; line-height: 28px; margin: 0; padding: 20px 5px; text-align: left; vertical-align: top; word-wrap: break-word;"><?php echo $item->getTitle() ?>
|
303 |
+
<span
|
304 |
+
style="display: inline-block; font-weight: 400; width: 100%;"><?php echo $item->getSubTitle() ?></span>
|
305 |
+
</td>
|
306 |
+
<td class="result-list-data <?php echo $k > 0 ? " bordered" : null ?>"
|
307 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; border-top: 2px solid #ff5c28; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 700; hyphens: auto; line-height: 28px; margin: 0; padding: 20px 5px; text-align: left; vertical-align: top; word-wrap: break-word;"><?php echo $item->getIssueDetail() ?></td>
|
308 |
+
</tr>
|
309 |
<?php endif; ?>
|
310 |
<?php endforeach; ?>
|
311 |
+
</tbody>
|
312 |
+
<tfoot class="results-list-footer">
|
313 |
+
<tr style="padding: 0; text-align: left; vertical-align: top;">
|
314 |
+
<td colspan="2"
|
315 |
+
style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 10px 0 0; text-align: left; vertical-align: top; word-wrap: break-word;">
|
316 |
+
<p style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; margin-bottom: 0; padding: 0 0 24px; text-align: left;">
|
317 |
+
<a class="plugin-brand" href="<?php echo network_admin_url( 'admin.php?page=wdf-scan' ) ?>"
|
318 |
+
style="Margin: 0; color: #ff5c28; display: inline-block; font: inherit; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; padding: 0; text-align: left; text-decoration: none;"><?php esc_html_e( "Let's get your site patched up.", "defender-security" ) ?>
|
319 |
+
<img class="icon-arrow-right"
|
320 |
+
src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/icon-arrow-right-defender.png"
|
321 |
+
alt="Arrow"
|
322 |
+
style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: inline-block; margin: -2px 0 0 5px; max-width: 100%; outline: none; text-decoration: none; vertical-align: middle; width: auto;"></a>
|
323 |
+
</p>
|
324 |
+
</td>
|
325 |
+
</tr>
|
326 |
+
</tfoot>
|
327 |
+
</table>
|
328 |
<?php
|
329 |
return ob_get_clean();
|
330 |
}
|
app/module/scan/controller/rest.php
CHANGED
@@ -32,7 +32,7 @@ class Rest extends Controller {
|
|
32 |
];
|
33 |
$this->registerEndpoints( $routes, Scan::getClassName() );
|
34 |
}
|
35 |
-
|
36 |
public function bulkAction() {
|
37 |
if ( ! $this->checkPermission() ) {
|
38 |
return;
|
@@ -40,7 +40,7 @@ class Rest extends Controller {
|
|
40 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'bulkAction' ) ) {
|
41 |
return;
|
42 |
}
|
43 |
-
|
44 |
$items = HTTP_Helper::retrievePost( 'items' );
|
45 |
if ( ! is_array( $items ) ) {
|
46 |
$items = array();
|
@@ -77,24 +77,24 @@ class Rest extends Controller {
|
|
77 |
"defender-security" )
|
78 |
) ) );
|
79 |
break;
|
80 |
-
|
81 |
default:
|
82 |
//param not from the button on frontend, log it
|
83 |
error_log( sprintf( 'Unexpected value %s from IP %s', $bulk, Utils::instance()->getUserIp() ) );
|
84 |
break;
|
85 |
}
|
86 |
}
|
87 |
-
|
88 |
public function solveIssue() {
|
89 |
if ( ! $this->checkPermission() ) {
|
90 |
return;
|
91 |
}
|
92 |
-
|
93 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'solveIssue' ) ) {
|
94 |
return;
|
95 |
}
|
96 |
$id = HTTP_Helper::retrievePost( 'id', false );
|
97 |
-
|
98 |
$model = Result_Item::findByID( $id );
|
99 |
if ( is_object( $model ) ) {
|
100 |
$ret = $model->resolve();
|
@@ -124,7 +124,7 @@ class Rest extends Controller {
|
|
124 |
) );
|
125 |
}
|
126 |
}
|
127 |
-
|
128 |
/**
|
129 |
* Delete an issue
|
130 |
*/
|
@@ -132,11 +132,11 @@ class Rest extends Controller {
|
|
132 |
if ( ! $this->checkPermission() ) {
|
133 |
return;
|
134 |
}
|
135 |
-
|
136 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'deleteIssue' ) ) {
|
137 |
return;
|
138 |
}
|
139 |
-
|
140 |
$id = HTTP_Helper::retrievePost( 'id', false );
|
141 |
$model = Result_Item::findByID( $id );
|
142 |
if ( is_object( $model ) ) {
|
@@ -146,7 +146,7 @@ class Rest extends Controller {
|
|
146 |
wp_send_json_error( array(
|
147 |
'message' => $ret->get_error_message()
|
148 |
) );
|
149 |
-
|
150 |
} else {
|
151 |
wp_send_json_success( array_merge( Scan\Component\Data_Factory::buildData(),
|
152 |
[ 'message' => __( "This item has been permanently removed", "defender-security" ), ] ) );
|
@@ -157,7 +157,7 @@ class Rest extends Controller {
|
|
157 |
) );
|
158 |
}
|
159 |
}
|
160 |
-
|
161 |
/**
|
162 |
* Get source code of an issue
|
163 |
*/
|
@@ -165,7 +165,7 @@ class Rest extends Controller {
|
|
165 |
if ( ! $this->checkPermission() ) {
|
166 |
return;
|
167 |
}
|
168 |
-
|
169 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'getFileSrcCode' ) ) {
|
170 |
return;
|
171 |
}
|
@@ -174,13 +174,13 @@ class Rest extends Controller {
|
|
174 |
if ( ! is_object( $model ) ) {
|
175 |
wp_send_json_error();
|
176 |
}
|
177 |
-
|
178 |
wp_send_json_success( array(
|
179 |
'code' => $model->getSrcCode()
|
180 |
) );
|
181 |
-
|
182 |
}
|
183 |
-
|
184 |
/**
|
185 |
* Ignore an issue
|
186 |
*/
|
@@ -188,11 +188,11 @@ class Rest extends Controller {
|
|
188 |
if ( ! $this->checkPermission() ) {
|
189 |
return;
|
190 |
}
|
191 |
-
|
192 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'ignoreIssue' ) ) {
|
193 |
return;
|
194 |
}
|
195 |
-
|
196 |
$id = HTTP_Helper::retrievePost( 'id', false );
|
197 |
$model = Result_Item::findByID( $id );
|
198 |
if ( is_object( $model ) ) {
|
@@ -206,7 +206,7 @@ class Rest extends Controller {
|
|
206 |
) );
|
207 |
}
|
208 |
}
|
209 |
-
|
210 |
/**
|
211 |
* Unignore an issue
|
212 |
*/
|
@@ -214,11 +214,11 @@ class Rest extends Controller {
|
|
214 |
if ( ! $this->checkPermission() ) {
|
215 |
return;
|
216 |
}
|
217 |
-
|
218 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'unignoreIssue' ) ) {
|
219 |
return;
|
220 |
}
|
221 |
-
|
222 |
$id = HTTP_Helper::retrievePost( 'id', false );
|
223 |
$model = Result_Item::findByID( $id );
|
224 |
if ( is_object( $model ) ) {
|
@@ -232,7 +232,7 @@ class Rest extends Controller {
|
|
232 |
) );
|
233 |
}
|
234 |
}
|
235 |
-
|
236 |
/**
|
237 |
* Create a new scan
|
238 |
*/
|
@@ -240,7 +240,7 @@ class Rest extends Controller {
|
|
240 |
if ( ! $this->checkPermission() ) {
|
241 |
return;
|
242 |
}
|
243 |
-
|
244 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'newScan' ) ) {
|
245 |
return;
|
246 |
}
|
@@ -252,12 +252,12 @@ class Rest extends Controller {
|
|
252 |
'percent' => 0
|
253 |
] );
|
254 |
}
|
255 |
-
|
256 |
wp_send_json_error( array(
|
257 |
'message' => $ret->get_error_message(),
|
258 |
) );
|
259 |
}
|
260 |
-
|
261 |
/**
|
262 |
* Request to cancel current scan
|
263 |
*/
|
@@ -265,21 +265,21 @@ class Rest extends Controller {
|
|
265 |
if ( ! $this->checkPermission() ) {
|
266 |
return;
|
267 |
}
|
268 |
-
|
269 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'cancelScan' ) ) {
|
270 |
return;
|
271 |
}
|
272 |
-
|
273 |
$activeScan = Scan\Component\Scan_Api::getActiveScan();
|
274 |
if ( is_object( $activeScan ) ) {
|
275 |
$activeScan->delete();
|
276 |
-
|
277 |
}
|
278 |
$data = Scan\Component\Data_Factory::buildData();
|
279 |
-
|
280 |
wp_send_json_success( $data );
|
281 |
}
|
282 |
-
|
283 |
/**
|
284 |
* Processing the scan
|
285 |
*/
|
@@ -287,29 +287,31 @@ class Rest extends Controller {
|
|
287 |
if ( ! $this->checkPermission() ) {
|
288 |
return;
|
289 |
}
|
290 |
-
|
291 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'processScan' ) ) {
|
292 |
return;
|
293 |
}
|
294 |
-
|
295 |
/**
|
296 |
* When we processing the scan by ajax, clear all the which does the same job
|
297 |
*/
|
298 |
wp_clear_scheduled_hook( 'processScanCron' );
|
299 |
-
|
300 |
-
|
|
|
|
|
301 |
if ( $ret == true ) {
|
302 |
do_action( 'sendScanEmail' );
|
303 |
-
|
304 |
$this->submitStatsToDev();
|
305 |
$data = Scan\Component\Data_Factory::buildData();
|
306 |
-
|
307 |
wp_send_json_success( $data );
|
308 |
} else {
|
309 |
$model = Scan\Component\Scan_Api::getActiveScan();
|
310 |
$data = array(
|
311 |
'status' => $model->status,
|
312 |
-
'percent' =>
|
313 |
'status_text' => is_object( $model ) ? $model->statusText : null,
|
314 |
);
|
315 |
//not completed
|
@@ -318,7 +320,7 @@ class Rest extends Controller {
|
|
318 |
wp_send_json_error( $data );
|
319 |
}
|
320 |
}
|
321 |
-
|
322 |
/**
|
323 |
* Update settings
|
324 |
*/
|
@@ -326,11 +328,11 @@ class Rest extends Controller {
|
|
326 |
if ( ! $this->checkPermission() ) {
|
327 |
return;
|
328 |
}
|
329 |
-
|
330 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'updateSettings' ) ) {
|
331 |
return;
|
332 |
}
|
333 |
-
|
334 |
$data = stripslashes( $_POST['data'] );
|
335 |
$data = json_decode( $data, true );
|
336 |
$settings = Scan\Model\Settings::instance();
|
@@ -341,6 +343,7 @@ class Rest extends Controller {
|
|
341 |
$data[ $key ] = sanitize_text_field( $val );
|
342 |
}
|
343 |
}
|
|
|
344 |
$settings->import( $data );
|
345 |
$settings->email_all_ok = stripslashes( $settings->email_all_ok );
|
346 |
$settings->email_has_issue = stripslashes( $settings->email_has_issue );
|
@@ -353,7 +356,7 @@ class Rest extends Controller {
|
|
353 |
'message' => __( "Your settings have been updated.", "defender-security" )
|
354 |
) );
|
355 |
}
|
356 |
-
|
357 |
/**
|
358 |
* Declaring behaviors
|
359 |
* @return array
|
@@ -367,11 +370,11 @@ class Rest extends Controller {
|
|
367 |
'endpoints' => '\WP_Defender\Behavior\Endpoint',
|
368 |
'wpmudev' => '\WP_Defender\Behavior\WPMUDEV'
|
369 |
];
|
370 |
-
|
371 |
if ( wp_defender()->isFree == false ) {
|
372 |
-
$behaviors['pro'] =
|
373 |
}
|
374 |
-
|
375 |
return $behaviors;
|
376 |
}
|
377 |
}
|
32 |
];
|
33 |
$this->registerEndpoints( $routes, Scan::getClassName() );
|
34 |
}
|
35 |
+
|
36 |
public function bulkAction() {
|
37 |
if ( ! $this->checkPermission() ) {
|
38 |
return;
|
40 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'bulkAction' ) ) {
|
41 |
return;
|
42 |
}
|
43 |
+
|
44 |
$items = HTTP_Helper::retrievePost( 'items' );
|
45 |
if ( ! is_array( $items ) ) {
|
46 |
$items = array();
|
77 |
"defender-security" )
|
78 |
) ) );
|
79 |
break;
|
80 |
+
|
81 |
default:
|
82 |
//param not from the button on frontend, log it
|
83 |
error_log( sprintf( 'Unexpected value %s from IP %s', $bulk, Utils::instance()->getUserIp() ) );
|
84 |
break;
|
85 |
}
|
86 |
}
|
87 |
+
|
88 |
public function solveIssue() {
|
89 |
if ( ! $this->checkPermission() ) {
|
90 |
return;
|
91 |
}
|
92 |
+
|
93 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'solveIssue' ) ) {
|
94 |
return;
|
95 |
}
|
96 |
$id = HTTP_Helper::retrievePost( 'id', false );
|
97 |
+
|
98 |
$model = Result_Item::findByID( $id );
|
99 |
if ( is_object( $model ) ) {
|
100 |
$ret = $model->resolve();
|
124 |
) );
|
125 |
}
|
126 |
}
|
127 |
+
|
128 |
/**
|
129 |
* Delete an issue
|
130 |
*/
|
132 |
if ( ! $this->checkPermission() ) {
|
133 |
return;
|
134 |
}
|
135 |
+
|
136 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'deleteIssue' ) ) {
|
137 |
return;
|
138 |
}
|
139 |
+
|
140 |
$id = HTTP_Helper::retrievePost( 'id', false );
|
141 |
$model = Result_Item::findByID( $id );
|
142 |
if ( is_object( $model ) ) {
|
146 |
wp_send_json_error( array(
|
147 |
'message' => $ret->get_error_message()
|
148 |
) );
|
149 |
+
|
150 |
} else {
|
151 |
wp_send_json_success( array_merge( Scan\Component\Data_Factory::buildData(),
|
152 |
[ 'message' => __( "This item has been permanently removed", "defender-security" ), ] ) );
|
157 |
) );
|
158 |
}
|
159 |
}
|
160 |
+
|
161 |
/**
|
162 |
* Get source code of an issue
|
163 |
*/
|
165 |
if ( ! $this->checkPermission() ) {
|
166 |
return;
|
167 |
}
|
168 |
+
|
169 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'getFileSrcCode' ) ) {
|
170 |
return;
|
171 |
}
|
174 |
if ( ! is_object( $model ) ) {
|
175 |
wp_send_json_error();
|
176 |
}
|
177 |
+
|
178 |
wp_send_json_success( array(
|
179 |
'code' => $model->getSrcCode()
|
180 |
) );
|
181 |
+
|
182 |
}
|
183 |
+
|
184 |
/**
|
185 |
* Ignore an issue
|
186 |
*/
|
188 |
if ( ! $this->checkPermission() ) {
|
189 |
return;
|
190 |
}
|
191 |
+
|
192 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'ignoreIssue' ) ) {
|
193 |
return;
|
194 |
}
|
195 |
+
|
196 |
$id = HTTP_Helper::retrievePost( 'id', false );
|
197 |
$model = Result_Item::findByID( $id );
|
198 |
if ( is_object( $model ) ) {
|
206 |
) );
|
207 |
}
|
208 |
}
|
209 |
+
|
210 |
/**
|
211 |
* Unignore an issue
|
212 |
*/
|
214 |
if ( ! $this->checkPermission() ) {
|
215 |
return;
|
216 |
}
|
217 |
+
|
218 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'unignoreIssue' ) ) {
|
219 |
return;
|
220 |
}
|
221 |
+
|
222 |
$id = HTTP_Helper::retrievePost( 'id', false );
|
223 |
$model = Result_Item::findByID( $id );
|
224 |
if ( is_object( $model ) ) {
|
232 |
) );
|
233 |
}
|
234 |
}
|
235 |
+
|
236 |
/**
|
237 |
* Create a new scan
|
238 |
*/
|
240 |
if ( ! $this->checkPermission() ) {
|
241 |
return;
|
242 |
}
|
243 |
+
|
244 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'newScan' ) ) {
|
245 |
return;
|
246 |
}
|
252 |
'percent' => 0
|
253 |
] );
|
254 |
}
|
255 |
+
|
256 |
wp_send_json_error( array(
|
257 |
'message' => $ret->get_error_message(),
|
258 |
) );
|
259 |
}
|
260 |
+
|
261 |
/**
|
262 |
* Request to cancel current scan
|
263 |
*/
|
265 |
if ( ! $this->checkPermission() ) {
|
266 |
return;
|
267 |
}
|
268 |
+
|
269 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'cancelScan' ) ) {
|
270 |
return;
|
271 |
}
|
272 |
+
|
273 |
$activeScan = Scan\Component\Scan_Api::getActiveScan();
|
274 |
if ( is_object( $activeScan ) ) {
|
275 |
$activeScan->delete();
|
276 |
+
(new Scan\Component\Scanning())->flushCache();
|
277 |
}
|
278 |
$data = Scan\Component\Data_Factory::buildData();
|
279 |
+
|
280 |
wp_send_json_success( $data );
|
281 |
}
|
282 |
+
|
283 |
/**
|
284 |
* Processing the scan
|
285 |
*/
|
287 |
if ( ! $this->checkPermission() ) {
|
288 |
return;
|
289 |
}
|
290 |
+
|
291 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'processScan' ) ) {
|
292 |
return;
|
293 |
}
|
294 |
+
|
295 |
/**
|
296 |
* When we processing the scan by ajax, clear all the which does the same job
|
297 |
*/
|
298 |
wp_clear_scheduled_hook( 'processScanCron' );
|
299 |
+
|
300 |
+
//$ret = Scan\Component\Scan_Api::processActiveScan();
|
301 |
+
$scanning = new Scan\Component\Scanning();
|
302 |
+
$ret = $scanning->do();
|
303 |
if ( $ret == true ) {
|
304 |
do_action( 'sendScanEmail' );
|
305 |
+
|
306 |
$this->submitStatsToDev();
|
307 |
$data = Scan\Component\Data_Factory::buildData();
|
308 |
+
|
309 |
wp_send_json_success( $data );
|
310 |
} else {
|
311 |
$model = Scan\Component\Scan_Api::getActiveScan();
|
312 |
$data = array(
|
313 |
'status' => $model->status,
|
314 |
+
'percent' => round( $scanning->getScanProgress(), 2 ),
|
315 |
'status_text' => is_object( $model ) ? $model->statusText : null,
|
316 |
);
|
317 |
//not completed
|
320 |
wp_send_json_error( $data );
|
321 |
}
|
322 |
}
|
323 |
+
|
324 |
/**
|
325 |
* Update settings
|
326 |
*/
|
328 |
if ( ! $this->checkPermission() ) {
|
329 |
return;
|
330 |
}
|
331 |
+
|
332 |
if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'updateSettings' ) ) {
|
333 |
return;
|
334 |
}
|
335 |
+
|
336 |
$data = stripslashes( $_POST['data'] );
|
337 |
$data = json_decode( $data, true );
|
338 |
$settings = Scan\Model\Settings::instance();
|
343 |
$data[ $key ] = sanitize_text_field( $val );
|
344 |
}
|
345 |
}
|
346 |
+
|
347 |
$settings->import( $data );
|
348 |
$settings->email_all_ok = stripslashes( $settings->email_all_ok );
|
349 |
$settings->email_has_issue = stripslashes( $settings->email_has_issue );
|
356 |
'message' => __( "Your settings have been updated.", "defender-security" )
|
357 |
) );
|
358 |
}
|
359 |
+
|
360 |
/**
|
361 |
* Declaring behaviors
|
362 |
* @return array
|
370 |
'endpoints' => '\WP_Defender\Behavior\Endpoint',
|
371 |
'wpmudev' => '\WP_Defender\Behavior\WPMUDEV'
|
372 |
];
|
373 |
+
|
374 |
if ( wp_defender()->isFree == false ) {
|
375 |
+
$behaviors['pro'] = Scan\Behavior\Pro\Reporting::class;
|
376 |
}
|
377 |
+
|
378 |
return $behaviors;
|
379 |
}
|
380 |
}
|
app/module/scan/model/settings.php
CHANGED
@@ -5,14 +5,13 @@
|
|
5 |
|
6 |
namespace WP_Defender\Module\Scan\Model;
|
7 |
|
8 |
-
use Hammer\Helper\Log_Helper;
|
9 |
use Hammer\Helper\WP_Helper;
|
10 |
use Hammer\Queue\Queue;
|
11 |
use WP_Defender\Behavior\Utils;
|
|
|
12 |
use WP_Defender\Module\Scan\Behavior\Core_Scan;
|
13 |
-
use WP_Defender\Module\Scan\Behavior\Pro\
|
14 |
-
use WP_Defender\Module\Scan\Behavior\Pro\
|
15 |
-
use WP_Defender\Module\Scan\Behavior\Pro\MD5_Scan;
|
16 |
use WP_Defender\Module\Scan\Behavior\Pro\Vuln_Scan;
|
17 |
use WP_Defender\Module\Scan\Component\Scan_Api;
|
18 |
|
@@ -191,6 +190,7 @@ Official WPMU DEV Superhero', "defender-security" );
|
|
191 |
public function getScansAvailable() {
|
192 |
$scans = array();
|
193 |
if ( $this->scan_core ) {
|
|
|
194 |
$scans[] = 'core';
|
195 |
}
|
196 |
|
@@ -226,6 +226,13 @@ Official WPMU DEV Superhero', "defender-security" );
|
|
226 |
*/
|
227 |
public static function queueFactory( $slug, $args = array() ) {
|
228 |
switch ( $slug ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
229 |
case 'core':
|
230 |
$queue = new Queue(
|
231 |
Scan_Api::getCoreFiles(),
|
@@ -252,24 +259,18 @@ Official WPMU DEV Superhero', "defender-security" );
|
|
252 |
|
253 |
return $queue;
|
254 |
break;
|
255 |
-
case '
|
256 |
-
if ( ! class_exists( '\WP_Defender\Module\Scan\Behavior\Pro\
|
257 |
return null;
|
258 |
}
|
259 |
-
$
|
260 |
-
foreach ( get_plugins() as $slug => $plugin ) {
|
261 |
-
$plugin['slug'] = $slug;
|
262 |
-
$plugins[] = $plugin;
|
263 |
-
}
|
264 |
-
$queue = new Queue( array_merge( $plugins, wp_get_themes() ), 'md5', true );
|
265 |
$queue->args = $args;
|
266 |
$queue->args['owner'] = $queue;
|
267 |
-
$queue->attachBehavior( '
|
268 |
|
269 |
return $queue;
|
270 |
-
break;
|
271 |
case 'content':
|
272 |
-
if ( ! class_exists( '\WP_Defender\Module\Scan\Behavior\Pro\
|
273 |
return null;
|
274 |
}
|
275 |
//dont use composer autoload preventing bloating
|
@@ -278,7 +279,7 @@ Official WPMU DEV Superhero', "defender-security" );
|
|
278 |
$queue->args['owner'] = $queue;
|
279 |
$patterns = Scan_Api::getPatterns();
|
280 |
$queue->args['patterns'] = $patterns;
|
281 |
-
$queue->attachBehavior( 'content', new
|
282 |
|
283 |
return $queue;
|
284 |
break;
|
5 |
|
6 |
namespace WP_Defender\Module\Scan\Model;
|
7 |
|
|
|
8 |
use Hammer\Helper\WP_Helper;
|
9 |
use Hammer\Queue\Queue;
|
10 |
use WP_Defender\Behavior\Utils;
|
11 |
+
use WP_Defender\Module\Scan\Behavior\Core_Files;
|
12 |
use WP_Defender\Module\Scan\Behavior\Core_Scan;
|
13 |
+
use WP_Defender\Module\Scan\Behavior\Pro\Content_Files;
|
14 |
+
use WP_Defender\Module\Scan\Behavior\Pro\Content_Yara_Scan;
|
|
|
15 |
use WP_Defender\Module\Scan\Behavior\Pro\Vuln_Scan;
|
16 |
use WP_Defender\Module\Scan\Component\Scan_Api;
|
17 |
|
190 |
public function getScansAvailable() {
|
191 |
$scans = array();
|
192 |
if ( $this->scan_core ) {
|
193 |
+
$scans[] = 'gather_core_files';
|
194 |
$scans[] = 'core';
|
195 |
}
|
196 |
|
226 |
*/
|
227 |
public static function queueFactory( $slug, $args = array() ) {
|
228 |
switch ( $slug ) {
|
229 |
+
case 'gather_core_files':
|
230 |
+
$queue = new Queue( [ 'dummy' ], 'gather_core_files', true );
|
231 |
+
$queue->args = $args;
|
232 |
+
$queue->args['owner'] = $queue;
|
233 |
+
$queue->attachBehavior( 'core_files', new Core_Files() );
|
234 |
+
|
235 |
+
return $queue;
|
236 |
case 'core':
|
237 |
$queue = new Queue(
|
238 |
Scan_Api::getCoreFiles(),
|
259 |
|
260 |
return $queue;
|
261 |
break;
|
262 |
+
case 'gather_content_files':
|
263 |
+
if ( ! class_exists( '\WP_Defender\Module\Scan\Behavior\Pro\Content_Yara_Scan' ) ) {
|
264 |
return null;
|
265 |
}
|
266 |
+
$queue = new Queue( [ 'dummy' ], 'gather_content_files', true );
|
|
|
|
|
|
|
|
|
|
|
267 |
$queue->args = $args;
|
268 |
$queue->args['owner'] = $queue;
|
269 |
+
$queue->attachBehavior( 'content_files', new Content_Files() );
|
270 |
|
271 |
return $queue;
|
|
|
272 |
case 'content':
|
273 |
+
if ( ! class_exists( '\WP_Defender\Module\Scan\Behavior\Pro\Content_Yara_Scan' ) ) {
|
274 |
return null;
|
275 |
}
|
276 |
//dont use composer autoload preventing bloating
|
279 |
$queue->args['owner'] = $queue;
|
280 |
$patterns = Scan_Api::getPatterns();
|
281 |
$queue->args['patterns'] = $patterns;
|
282 |
+
$queue->attachBehavior( 'content', new Content_Yara_Scan() );
|
283 |
|
284 |
return $queue;
|
285 |
break;
|
app/module/setting/component/backup-settings.php
CHANGED
@@ -239,4 +239,43 @@ class Backup_Settings {
|
|
239 |
break;
|
240 |
}
|
241 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
242 |
}
|
239 |
break;
|
240 |
}
|
241 |
}
|
242 |
+
|
243 |
+
public static function resetSettings() {
|
244 |
+
$tweakFixed = \WP_Defender\Module\Hardener\Model\Settings::instance()->getFixed();
|
245 |
+
|
246 |
+
foreach ( $tweakFixed as $rule ) {
|
247 |
+
$rule->getService()->revert();
|
248 |
+
}
|
249 |
+
|
250 |
+
$cache = \Hammer\Helper\WP_Helper::getCache();
|
251 |
+
$cache->delete( 'isActivated' );
|
252 |
+
$cache->delete( 'wdf_isActivated' );
|
253 |
+
$cache->delete( 'wdfchecksum' );
|
254 |
+
$cache->delete( 'cleanchecksum' );
|
255 |
+
|
256 |
+
\WP_Defender\Module\Scan\Model\Settings::instance()->delete();
|
257 |
+
if ( class_exists( '\WP_Defender\Module\Audit\Model\Settings' ) ) {
|
258 |
+
\WP_Defender\Module\Audit\Model\Settings::instance()->delete();
|
259 |
+
}
|
260 |
+
\WP_Defender\Module\Hardener\Model\Settings::instance()->delete();
|
261 |
+
\WP_Defender\Module\IP_Lockout\Model\Settings::instance()->delete();
|
262 |
+
\WP_Defender\Module\Advanced_Tools\Model\Auth_Settings::instance()->delete();
|
263 |
+
\WP_Defender\Module\Advanced_Tools\Model\Mask_Settings::instance()->delete();
|
264 |
+
\WP_Defender\Module\Setting\Model\Settings::instance()->delete();
|
265 |
+
//clear old stuff
|
266 |
+
delete_site_option( 'wp_defender' );
|
267 |
+
delete_option( 'wp_defender' );
|
268 |
+
delete_option( 'wd_db_version' );
|
269 |
+
delete_site_option( 'wd_db_version' );
|
270 |
+
|
271 |
+
delete_site_transient( 'wp_defender_free_is_activated' );
|
272 |
+
delete_site_transient( 'wp_defender_is_activated' );
|
273 |
+
delete_transient( 'wp_defender_free_is_activated' );
|
274 |
+
delete_transient( 'wp_defender_is_activated' );
|
275 |
+
|
276 |
+
delete_site_option( 'wp_defender_free_is_activated' );
|
277 |
+
delete_site_option( 'wp_defender_is_activated' );
|
278 |
+
delete_option( 'wp_defender_free_is_activated' );
|
279 |
+
delete_option( 'wp_defender_is_activated' );
|
280 |
+
}
|
281 |
}
|
app/view/debug.php
CHANGED
@@ -77,4 +77,20 @@
|
|
77 |
<pre style="max-height: 300px;overflow-y: scroll"><?php echo \WP_Defender\Behavior\Utils::instance()->read_log( 'settings' ) ?></pre>
|
78 |
</div>
|
79 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
</div>
|
77 |
<pre style="max-height: 300px;overflow-y: scroll"><?php echo \WP_Defender\Behavior\Utils::instance()->read_log( 'settings' ) ?></pre>
|
78 |
</div>
|
79 |
</div>
|
80 |
+
<div class="sui-box">
|
81 |
+
<div class="sui-box-header">
|
82 |
+
<h3 class="sui-box-title">Ip Lockout</h3>
|
83 |
+
</div>
|
84 |
+
<div class="sui-box-body">
|
85 |
+
<pre style="max-height: 300px;overflow-y: scroll"><?php echo \WP_Defender\Behavior\Utils::instance()->read_log( 'lockout' ) ?></pre>
|
86 |
+
</div>
|
87 |
+
</div>
|
88 |
+
<div class="sui-box">
|
89 |
+
<div class="sui-box-header">
|
90 |
+
<h3 class="sui-box-title">Audit</h3>
|
91 |
+
</div>
|
92 |
+
<div class="sui-box-body">
|
93 |
+
<pre style="max-height: 300px;overflow-y: scroll"><?php echo \WP_Defender\Behavior\Utils::instance()->read_log( 'audit' ) ?></pre>
|
94 |
+
</div>
|
95 |
+
</div>
|
96 |
</div>
|
assets/app/advanced-tools.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t){var e=window.webpackHotUpdate;window.webpackHotUpdate=function(t,s){!function(t,e){if(!w[t]||!b[t])return;for(var s in b[t]=!1,e)Object.prototype.hasOwnProperty.call(e,s)&&(p[s]=e[s]);0==--v&&0===h&&k()}(t,s),e&&e(t,s)};var s,i=!0,a="495f1b1cd29114aab5aa",n={},r=[],o=[];function l(t){var e=j[t];if(!e)return S;var i=function(i){return e.hot.active?(j[i]?-1===j[i].parents.indexOf(t)&&j[i].parents.push(t):(r=[t],s=i),-1===e.children.indexOf(i)&&e.children.push(i)):(console.warn("[HMR] unexpected require("+i+") from disposed module "+t),r=[]),S(i)},a=function(t){return{configurable:!0,enumerable:!0,get:function(){return S[t]},set:function(e){S[t]=e}}};for(var n in S)Object.prototype.hasOwnProperty.call(S,n)&&"e"!==n&&"t"!==n&&Object.defineProperty(i,n,a(n));return i.e=function(t){return"ready"===d&&f("prepare"),h++,S.e(t).then(e,(function(t){throw e(),t}));function e(){h--,"prepare"===d&&(g[t]||x(t),0===h&&0===v&&k())}},i.t=function(t,e){return 1&e&&(t=i(t)),S.t(t,-2&e)},i}function c(t){var e={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:s!==t,active:!0,accept:function(t,s){if(void 0===t)e._selfAccepted=!0;else if("function"==typeof t)e._selfAccepted=t;else if("object"==typeof t)for(var i=0;i<t.length;i++)e._acceptedDependencies[t[i]]=s||function(){};else e._acceptedDependencies[t]=s||function(){}},decline:function(t){if(void 0===t)e._selfDeclined=!0;else if("object"==typeof t)for(var s=0;s<t.length;s++)e._declinedDependencies[t[s]]=!0;else e._declinedDependencies[t]=!0},dispose:function(t){e._disposeHandlers.push(t)},addDisposeHandler:function(t){e._disposeHandlers.push(t)},removeDisposeHandler:function(t){var s=e._disposeHandlers.indexOf(t);s>=0&&e._disposeHandlers.splice(s,1)},check:C,apply:A,status:function(t){if(!t)return d;u.push(t)},addStatusHandler:function(t){u.push(t)},removeStatusHandler:function(t){var e=u.indexOf(t);e>=0&&u.splice(e,1)},data:n[t]};return s=void 0,e}var u=[],d="idle";function f(t){d=t;for(var e=0;e<u.length;e++)u[e].call(null,t)}var _,p,m,v=0,h=0,g={},b={},w={};function y(t){return+t+""===t?+t:t}function C(t){if("idle"!==d)throw new Error("check() is only allowed in idle status");return i=t,f("check"),(e=1e4,e=e||1e4,new Promise((function(t,s){if("undefined"==typeof XMLHttpRequest)return s(new Error("No browser support"));try{var i=new XMLHttpRequest,n=S.p+""+a+".hot-update.json";i.open("GET",n,!0),i.timeout=e,i.send(null)}catch(t){return s(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)s(new Error("Manifest request to "+n+" timed out."));else if(404===i.status)t();else if(200!==i.status&&304!==i.status)s(new Error("Manifest request to "+n+" failed."));else{try{var e=JSON.parse(i.responseText)}catch(t){return void s(t)}t(e)}}}))).then((function(t){if(!t)return f("idle"),null;b={},g={},w=t.c,m=t.h,f("prepare");var e=new Promise((function(t,e){_={resolve:t,reject:e}}));p={};return x(0),"prepare"===d&&0===h&&0===v&&k(),e}));var e}function x(t){w[t]?(b[t]=!0,v++,function(t){var e=document.createElement("script");e.charset="utf-8",e.src=S.p+""+t+"."+a+".hot-update.js",document.head.appendChild(e)}(t)):g[t]=!0}function k(){f("ready");var t=_;if(_=null,t)if(i)Promise.resolve().then((function(){return A(i)})).then((function(e){t.resolve(e)}),(function(e){t.reject(e)}));else{var e=[];for(var s in p)Object.prototype.hasOwnProperty.call(p,s)&&e.push(y(s));t.resolve(e)}}function A(e){if("ready"!==d)throw new Error("apply() is only allowed in ready status");var s,i,o,l,c;function u(t){for(var e=[t],s={},i=e.map((function(t){return{chain:[t],id:t}}));i.length>0;){var a=i.pop(),n=a.id,r=a.chain;if((l=j[n])&&!l.hot._selfAccepted){if(l.hot._selfDeclined)return{type:"self-declined",chain:r,moduleId:n};if(l.hot._main)return{type:"unaccepted",chain:r,moduleId:n};for(var o=0;o<l.parents.length;o++){var c=l.parents[o],u=j[c];if(u){if(u.hot._declinedDependencies[n])return{type:"declined",chain:r.concat([c]),moduleId:n,parentId:c};-1===e.indexOf(c)&&(u.hot._acceptedDependencies[n]?(s[c]||(s[c]=[]),_(s[c],[n])):(delete s[c],e.push(c),i.push({chain:r.concat([c]),id:c})))}}}}return{type:"accepted",moduleId:t,outdatedModules:e,outdatedDependencies:s}}function _(t,e){for(var s=0;s<e.length;s++){var i=e[s];-1===t.indexOf(i)&&t.push(i)}}e=e||{};var v={},h=[],g={},b=function(){console.warn("[HMR] unexpected require("+x.moduleId+") to disposed module")};for(var C in p)if(Object.prototype.hasOwnProperty.call(p,C)){var x;c=y(C);var k=!1,A=!1,E=!1,T="";switch((x=p[C]?u(c):{type:"disposed",moduleId:C}).chain&&(T="\nUpdate propagation: "+x.chain.join(" -> ")),x.type){case"self-declined":e.onDeclined&&e.onDeclined(x),e.ignoreDeclined||(k=new Error("Aborted because of self decline: "+x.moduleId+T));break;case"declined":e.onDeclined&&e.onDeclined(x),e.ignoreDeclined||(k=new Error("Aborted because of declined dependency: "+x.moduleId+" in "+x.parentId+T));break;case"unaccepted":e.onUnaccepted&&e.onUnaccepted(x),e.ignoreUnaccepted||(k=new Error("Aborted because "+c+" is not accepted"+T));break;case"accepted":e.onAccepted&&e.onAccepted(x),A=!0;break;case"disposed":e.onDisposed&&e.onDisposed(x),E=!0;break;default:throw new Error("Unexception type "+x.type)}if(k)return f("abort"),Promise.reject(k);if(A)for(c in g[c]=p[c],_(h,x.outdatedModules),x.outdatedDependencies)Object.prototype.hasOwnProperty.call(x.outdatedDependencies,c)&&(v[c]||(v[c]=[]),_(v[c],x.outdatedDependencies[c]));E&&(_(h,[x.moduleId]),g[c]=b)}var I,O=[];for(i=0;i<h.length;i++)c=h[i],j[c]&&j[c].hot._selfAccepted&&g[c]!==b&&O.push({module:c,errorHandler:j[c].hot._selfAccepted});f("dispose"),Object.keys(w).forEach((function(t){!1===w[t]&&function(t){delete installedChunks[t]}(t)}));for(var P,$,D=h.slice();D.length>0;)if(c=D.pop(),l=j[c]){var U={},R=l.hot._disposeHandlers;for(o=0;o<R.length;o++)(s=R[o])(U);for(n[c]=U,l.hot.active=!1,delete j[c],delete v[c],o=0;o<l.children.length;o++){var N=j[l.children[o]];N&&((I=N.parents.indexOf(c))>=0&&N.parents.splice(I,1))}}for(c in v)if(Object.prototype.hasOwnProperty.call(v,c)&&(l=j[c]))for($=v[c],o=0;o<$.length;o++)P=$[o],(I=l.children.indexOf(P))>=0&&l.children.splice(I,1);for(c in f("apply"),a=m,g)Object.prototype.hasOwnProperty.call(g,c)&&(t[c]=g[c]);var L=null;for(c in v)if(Object.prototype.hasOwnProperty.call(v,c)&&(l=j[c])){$=v[c];var H=[];for(i=0;i<$.length;i++)if(P=$[i],s=l.hot._acceptedDependencies[P]){if(-1!==H.indexOf(s))continue;H.push(s)}for(i=0;i<H.length;i++){s=H[i];try{s($)}catch(t){e.onErrored&&e.onErrored({type:"accept-errored",moduleId:c,dependencyId:$[i],error:t}),e.ignoreErrored||L||(L=t)}}}for(i=0;i<O.length;i++){var q=O[i];c=q.module,r=[c];try{S(c)}catch(t){if("function"==typeof q.errorHandler)try{q.errorHandler(t)}catch(s){e.onErrored&&e.onErrored({type:"self-accept-error-handler-errored",moduleId:c,error:s,originalError:t}),e.ignoreErrored||L||(L=s),L||(L=t)}else e.onErrored&&e.onErrored({type:"self-accept-errored",moduleId:c,error:t}),e.ignoreErrored||L||(L=t)}}return L?(f("fail"),Promise.reject(L)):(f("idle"),new Promise((function(t){t(h)})))}var j={};function S(e){if(j[e])return j[e].exports;var s=j[e]={i:e,l:!1,exports:{},hot:c(e),parents:(o=r,r=[],o),children:[]};return t[e].call(s.exports,s,s.exports,l(e)),s.l=!0,s.exports}S.m=t,S.c=j,S.d=function(t,e,s){S.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},S.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},S.t=function(t,e){if(1&e&&(t=S(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(S.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)S.d(s,i,function(e){return t[e]}.bind(null,i));return s},S.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return S.d(e,"a",e),e},S.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},S.p="",S.h=function(){return a},l("./src/advanced-tools.js")(S.s="./src/advanced-tools.js")}({"./node_modules/cssfilter/lib/css.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),a=s("./node_modules/cssfilter/lib/parser.js");s("./node_modules/cssfilter/lib/util.js");function n(t){return null==t}function r(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).whiteList=t.whiteList||i.whiteList,t.onAttr=t.onAttr||i.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||i.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,this.options=t}r.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onAttr,r=e.onIgnoreAttr,o=e.safeAttrValue;return a(t,(function(t,e,a,l,c){var u=s[a],d=!1;if(!0===u?d=u:"function"==typeof u?d=u(l):u instanceof RegExp&&(d=u.test(l)),!0!==d&&(d=!1),l=o(a,l)){var f,_={position:e,sourcePosition:t,source:c,isWhite:d};return d?n(f=i(a,l,_))?a+":"+l:f:n(f=r(a,l,_))?void 0:f}}))},t.exports=r},"./node_modules/cssfilter/lib/default.js":function(t,e){function s(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var i=/javascript\s*\:/gim;e.whiteList=s(),e.getDefaultWhiteList=s,e.onAttr=function(t,e,s){},e.onIgnoreAttr=function(t,e,s){},e.safeAttrValue=function(t,e){return i.test(e)?"":e}},"./node_modules/cssfilter/lib/index.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),a=s("./node_modules/cssfilter/lib/css.js");for(var n in(e=t.exports=function(t,e){return new a(e).process(t)}).FilterCSS=a,i)e[n]=i[n];"undefined"!=typeof window&&(window.filterCSS=t.exports)},"./node_modules/cssfilter/lib/parser.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/util.js");t.exports=function(t,e){";"!==(t=i.trimRight(t))[t.length-1]&&(t+=";");var s=t.length,a=!1,n=0,r=0,o="";function l(){if(!a){var s=i.trim(t.slice(n,r)),l=s.indexOf(":");if(-1!==l){var c=i.trim(s.slice(0,l)),u=i.trim(s.slice(l+1));if(c){var d=e(n,o.length,c,u,s);d&&(o+=d+"; ")}}}n=r+1}for(;r<s;r++){var c=t[r];if("/"===c&&"*"===t[r+1]){var u=t.indexOf("*/",r+2);if(-1===u)break;n=(r=u+1)+1,a=!1}else"("===c?a=!0:")"===c?a=!1:";"===c?a||l():"\n"===c&&l()}return i.trim(o)}},"./node_modules/cssfilter/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,a;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,a=t.length;i<a;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\s*$)/g,"")}}},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js":function(t,e,s){"use strict";function i(t,e,s,i,a,n,r,o){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=s,c._compiled=!0),i&&(c.functional=!0),n&&(c._scopeId="data-v-"+n),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=l):a&&(l=o?function(){a.call(this,this.$root.$options.shadowRoot)}:a),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}s.d(e,"a",(function(){return i}))},"./node_modules/xss/lib/default.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,a=s("./node_modules/cssfilter/lib/index.js").getDefaultWhiteList,n=s("./node_modules/xss/lib/util.js");function r(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var o=new i;function l(t){return t.replace(c,"<").replace(u,">")}var c=/</g,u=/>/g,d=/"/g,f=/"/g,_=/&#([a-zA-Z0-9]*);?/gim,p=/:?/gim,m=/&newline;?/gim,v=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,h=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,g=/u\s*r\s*l\s*\(.*/gi;function b(t){return t.replace(d,""")}function w(t){return t.replace(f,'"')}function y(t){return t.replace(_,(function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))}))}function C(t){return t.replace(p,":").replace(m," ")}function x(t){for(var e="",s=0,i=t.length;s<i;s++)e+=t.charCodeAt(s)<32?" ":t.charAt(s);return n.trim(e)}function k(t){return t=x(t=C(t=y(t=w(t))))}function A(t){return t=l(t=b(t))}var j=/<!--[\s\S]*?-->/g;e.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},e.getDefaultWhiteList=r,e.onTag=function(t,e,s){},e.onIgnoreTag=function(t,e,s){},e.onTagAttr=function(t,e,s){},e.onIgnoreTagAttr=function(t,e,s){},e.safeAttrValue=function(t,e,s,i){if(s=k(s),"href"===e||"src"===e){if("#"===(s=n.trim(s)))return"#";if("http://"!==s.substr(0,7)&&"https://"!==s.substr(0,8)&&"mailto:"!==s.substr(0,7)&&"tel:"!==s.substr(0,4)&&"#"!==s[0]&&"/"!==s[0])return""}else if("background"===e){if(v.lastIndex=0,v.test(s))return""}else if("style"===e){if(h.lastIndex=0,h.test(s))return"";if(g.lastIndex=0,g.test(s)&&(v.lastIndex=0,v.test(s)))return"";!1!==i&&(s=(i=i||o).process(s))}return s=A(s)},e.escapeHtml=l,e.escapeQuote=b,e.unescapeQuote=w,e.escapeHtmlEntities=y,e.escapeDangerHtml5Entities=C,e.clearNonPrintableCharacter=x,e.friendlyAttrValue=k,e.escapeAttrValue=A,e.onIgnoreTagStripAll=function(){return""},e.StripTagBody=function(t,e){"function"!=typeof e&&(e=function(){});var s=!Array.isArray(t),i=[],a=!1;return{onIgnoreTag:function(r,o,l){if(function(e){return!!s||-1!==n.indexOf(t,e)}(r)){if(l.isClosing){var c="[/removed]",u=l.position+c.length;return i.push([!1!==a?a:l.position,u]),a=!1,c}return a||(a=l.position),"[removed]"}return e(r,o,l)},remove:function(t){var e="",s=0;return n.forEach(i,(function(i){e+=t.slice(s,i[0]),s=i[1]})),e+=t.slice(s)}}},e.stripCommentTag=function(t){return t.replace(j,"")},e.stripBlankChar=function(t){var e=t.split("");return(e=e.filter((function(t){var e=t.charCodeAt(0);return 127!==e&&(!(e<=31)||(10===e||13===e))}))).join("")},e.cssFilter=o,e.getDefaultCSSWhiteList=a},"./node_modules/xss/lib/index.js":function(t,e,s){var i=s("./node_modules/xss/lib/default.js"),a=s("./node_modules/xss/lib/parser.js"),n=s("./node_modules/xss/lib/xss.js");function r(t,e){return new n(e).process(t)}for(var o in(e=t.exports=r).filterXSS=r,e.FilterXSS=n,i)e[o]=i[o];for(var o in a)e[o]=a[o];"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},"./node_modules/xss/lib/parser.js":function(t,e,s){var i=s("./node_modules/xss/lib/util.js");function a(t){var e=i.spaceIndex(t);if(-1===e)var s=t.slice(1,-1);else s=t.slice(1,e+1);return"/"===(s=i.trim(s).toLowerCase()).slice(0,1)&&(s=s.slice(1)),"/"===s.slice(-1)&&(s=s.slice(0,-1)),s}function n(t){return"</"===t.slice(0,2)}var r=/[^a-zA-Z0-9_:\.\-]/gim;function o(t,e){for(;e<t.length;e++){var s=t[e];if(" "!==s)return"="===s?e:-1}}function l(t,e){for(;e>0;e--){var s=t[e];if(" "!==s)return"="===s?e:-1}}function c(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}e.parseTag=function(t,e,s){var i="",r=0,o=!1,l=!1,c=0,u=t.length,d="",f="";for(c=0;c<u;c++){var _=t.charAt(c);if(!1===o){if("<"===_){o=c;continue}}else if(!1===l){if("<"===_){i+=s(t.slice(r,c)),o=c,r=c;continue}if(">"===_){i+=s(t.slice(r,o)),d=a(f=t.slice(o,c+1)),i+=e(o,i.length,d,f,n(f)),r=c+1,o=!1;continue}if(('"'===_||"'"===_)&&"="===t.charAt(c-1)){l=_;continue}}else if(_===l){l=!1;continue}}return r<t.length&&(i+=s(t.substr(r))),i},e.parseAttr=function(t,e){var s=0,a=[],n=!1,u=t.length;function d(t,s){if(!((t=(t=i.trim(t)).replace(r,"").toLowerCase()).length<1)){var n=e(t,s||"");n&&a.push(n)}}for(var f=0;f<u;f++){var _,p=t.charAt(f);if(!1!==n||"="!==p)if(!1===n||f!==s||'"'!==p&&"'"!==p||"="!==t.charAt(f-1))if(/\s|\n|\t/.test(p)){if(t=t.replace(/\s|\n|\t/g," "),!1===n){if(-1===(_=o(t,f))){d(i.trim(t.slice(s,f))),n=!1,s=f+1;continue}f=_-1;continue}if(-1===(_=l(t,f-1))){d(n,c(i.trim(t.slice(s,f)))),n=!1,s=f+1;continue}}else;else{if(-1===(_=t.indexOf(p,f+1)))break;d(n,i.trim(t.slice(s+1,_))),n=!1,s=(f=_)+1}else n=t.slice(s,f),s=f+1}return s<t.length&&(!1===n?d(t.slice(s)):d(n,c(i.trim(t.slice(s))))),i.trim(a.join(" "))}},"./node_modules/xss/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,a;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,a=t.length;i<a;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(t){var e=/\s|\n|\t/.exec(t);return e?e.index:-1}}},"./node_modules/xss/lib/xss.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,a=s("./node_modules/xss/lib/default.js"),n=s("./node_modules/xss/lib/parser.js"),r=n.parseTag,o=n.parseAttr,l=s("./node_modules/xss/lib/util.js");function c(t){return null==t}function u(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=a.onIgnoreTagStripAll),t.whiteList=t.whiteList||a.whiteList,t.onTag=t.onTag||a.onTag,t.onTagAttr=t.onTagAttr||a.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||a.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||a.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||a.safeAttrValue,t.escapeHtml=t.escapeHtml||a.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new i(t.css))}u.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onTag,n=e.onIgnoreTag,u=e.onTagAttr,d=e.onIgnoreTagAttr,f=e.safeAttrValue,_=e.escapeHtml,p=this.cssFilter;e.stripBlankChar&&(t=a.stripBlankChar(t)),e.allowCommentTag||(t=a.stripCommentTag(t));var m=!1;if(e.stripIgnoreTagBody){m=a.StripTagBody(e.stripIgnoreTagBody,n);n=m.onIgnoreTag}var v=r(t,(function(t,e,a,r,m){var v,h={sourcePosition:t,position:e,isClosing:m,isWhite:s.hasOwnProperty(a)};if(!c(v=i(a,r,h)))return v;if(h.isWhite){if(h.isClosing)return"</"+a+">";var g=function(t){var e=l.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var s="/"===(t=l.trim(t.slice(e+1,-1)))[t.length-1];return s&&(t=l.trim(t.slice(0,-1))),{html:t,closing:s}}(r),b=s[a],w=o(g.html,(function(t,e){var s,i=-1!==l.indexOf(b,t);return c(s=u(a,t,e,i))?i?(e=f(a,t,e,p))?t+'="'+e+'"':t:c(s=d(a,t,e,i))?void 0:s:s}));r="<"+a;return w&&(r+=" "+w),g.closing&&(r+=" /"),r+=">"}return c(v=n(a,r,h))?_(r):v}),_);return m&&(v=m.remove(v)),v},t.exports=u},"./src/advanced-tools.js":function(t,e,s){"use strict";s.r(e);var i=s("vue"),a=s.n(i),n=s("./src/helper/base_hepler.js"),r={mixins:[n.a],data:function(){return{all_roles:advanced_tools.misc.all_roles,compatibility:advanced_tools.misc.compatibility,model:advanced_tools.model.two_factor,nonces:advanced_tools.nonces,endpoints:advanced_tools.endpoints,state:{on_saving:!1,waiting_save:!1,origin_state:!1}}},methods:{toggle:function(t){var e=this,s={};s.enabled=t,this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:s,module:"auth"})},(function(){var s=this;e.model.enabled=t,!0===t&&e.$nextTick((function(){e.rebindSUI(),e.bindUploader(),s.state.waiting_save=!1}))}))},updateSettings:function(){var t=this.model;delete t.email_subject,delete t.email_sender,delete t.email_body,this.state.origin_state=this.model.user_roles.length>0,this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:t,module:"auth"})})},saveEmailTemplate:function(){var t={email_subject:this.model.email_subject,email_sender:this.model.email_sender,email_body:this.model.email_body};this.httpPostRequest("updateSettings",{data:JSON.stringify({module:"auth",settings:t})},(function(t){!0===t.success&&SUI.dialogs["edit-one-time-password-email"].hide()}))},sendTestEmail:function(){var t={email_subject:this.model.email_subject,email_sender:this.model.email_sender,email_body:this.model.email_body};this.httpPostRequest("sendTestEmail",t)},bindUploader:function(){var t=void 0,e=this;jQuery(".file-picker").click((function(){t?t.open():((t=wp.media.frames.file_frame=wp.media({title:"Choose an image file",button:{text:"Choose File"},multiple:!1,library:{type:["image"]}})).on("select",(function(){var s=t.state().get("selection").first().toJSON();jQuery.inArray(s.mime,["image/jpeg","image/png","image/gif"])>-1?e.model.custom_graphic_url=s.url:Defender.showNotification("error","Invalid image file type")})),t.open())}))}},mounted:function(){var t=this;this.$nextTick((function(){t.bindUploader()})),this.state.origin_state=this.model.user_roles.length>0}},o=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),l=Object(o.a)(r,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return!1===t.model.enabled?s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t\t"+t._s(t.__("Two Factor Authentication"))+"\n\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-message"},[t.maybeHideBranding()?t._e():s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/2factor-disabled.svg"),"aria-hidden":"true"}}),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Beef up your website’s security with two-factor authentication. Add an extra step in the login process so that users are required to enter a password and an app-generated passcode using their phone – the best protection against brute force attacks."))+"\n\t\t\t\t\t")]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.toggle(!0)}}},[s("submit-button",{attrs:{type:"submit",state:t.state,"css-class":"sui-button-blue"}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Activate"))+"\n\t\t\t\t\t\t")])],1)])])])]):s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Two Factor Authentication"))+"\n\t\t\t")])]),t._v(" "),s("form",{staticClass:"advanced-settings-frm",attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Configure your two-factor authentication settings. Our recommendations are enabled by default."))+"\n\t\t\t\t")]),t._v(" "),!1!==t.compatibility?s("div",{staticClass:"sui-notice sui-notice-error"},[s("p",t._l(t.compatibility,(function(e){return s("span",[t._v("\n "+t._s(e)+"\n ")])})),0)]):t._e(),t._v(" "),t.state.origin_state?s("div",{staticClass:"sui-notice sui-notice-info"},[s("p",[s("strong",[t._v(t._s(t.__("Two-factor authentication is now active.")))]),t._v(" "+t._s(t.__("User roles with this feature enabled must visit their "))+"\n\t\t\t\t\t\t"),s("a",{attrs:{href:t.adminUrl("profile.php")}},[t._v(t._s(t.__("Profile page")))]),t._v(" "+t._s(t.__("to complete setup and sync their account with the Authenticator app."))+"\n\t\t\t\t\t")])]):s("div",{staticClass:"sui-notice sui-notice-warning"},[s("p",[s("strong",[t._v(t._s(t.__("Two-factor authentication is currently inactive.")))]),t._v(" "+t._s(t.__("Configure and save your settings to complete setup."))+"\n\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("User Roles"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose the user roles you want to enable two-factor authentication for. Users with those roles will then be required to use the Google Authenticator app to login."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-field-list"},[s("div",{staticClass:"sui-field-list-header"},[s("h3",{staticClass:"sui-field-list-title"},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("User role"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-field-list-body"},t._l(t.all_roles,(function(e,i){return s("div",{staticClass:"sui-field-list-item"},[s("label",{staticClass:"sui-field-list-item-label",attrs:{for:"toggle_"+i},domProps:{innerHTML:t._s(e.name)}}),t._v(" "),s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.user_roles,expression:"model.user_roles"}],attrs:{type:"checkbox",id:"toggle_"+i},domProps:{value:i,checked:Array.isArray(t.model.user_roles)?t._i(t.model.user_roles,i)>-1:t.model.user_roles},on:{change:function(e){var s=t.model.user_roles,a=e.target,n=!!a.checked;if(Array.isArray(s)){var r=i,o=t._i(s,r);a.checked?o<0&&t.$set(t.model,"user_roles",s.concat([r])):o>-1&&t.$set(t.model,"user_roles",s.slice(0,o).concat(s.slice(o+1)))}else t.$set(t.model,"user_roles",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})])])})),0)])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Lost Phone"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("If a user is unable to access their phone, you can allow an option to send the one time password to their registered email."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.lost_phone,expression:"model.lost_phone"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",id:"lost_phone"},domProps:{checked:Array.isArray(t.model.lost_phone)?t._i(t.model.lost_phone,null)>-1:t.model.lost_phone},on:{change:function(e){var s=t.model.lost_phone,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=t._i(s,null);i.checked?n<0&&t.$set(t.model,"lost_phone",s.concat([null])):n>-1&&t.$set(t.model,"lost_phone",s.slice(0,n).concat(s.slice(n+1)))}else t.$set(t.model,"lost_phone",a)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"lost_phone"}},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Enable lost phone option"))+"\n\t\t\t\t\t\t\t")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Force Authentication"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("By default, two-factor authentication is optional for users. This setting forces users to activate two-factor."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.force_auth,expression:"model.force_auth"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",name:"force_auth",id:"force_auth"},domProps:{checked:Array.isArray(t.model.force_auth)?t._i(t.model.force_auth,null)>-1:t.model.force_auth},on:{change:function(e){var s=t.model.force_auth,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=t._i(s,null);i.checked?n<0&&t.$set(t.model,"force_auth",s.concat([null])):n>-1&&t.$set(t.model,"force_auth",s.slice(0,n).concat(s.slice(n+1)))}else t.$set(t.model,"force_auth",a)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"force_auth"}},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Force users to log in with two-factor authentication"))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("span",{staticClass:"sui-description sui-toggle-content"},[t._v("\n "+t._s(t.__("Note: Users will be forced to set up two-factor when they next login."))+"\n ")]),t._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:!0===t.model.force_auth,expression:"model.force_auth===true"}],staticClass:"sui-border-frame sui-toggle-content",attrs:{id:"force_auth_roles"}},[s("strong",[t._v(t._s(t.__("User Roles")))]),t._v(" "),s("ul",t._l(t.all_roles,(function(e,i){return s("li",[s("label",{staticClass:"sui-checkbox",attrs:{for:"toggle_force_"+i}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.force_auth_roles,expression:"model.force_auth_roles"}],attrs:{type:"checkbox",id:"toggle_force_"+i},domProps:{value:i,checked:Array.isArray(t.model.force_auth_roles)?t._i(t.model.force_auth_roles,i)>-1:t.model.force_auth_roles},on:{change:function(e){var s=t.model.force_auth_roles,a=e.target,n=!!a.checked;if(Array.isArray(s)){var r=i,o=t._i(s,r);a.checked?o<0&&t.$set(t.model,"force_auth_roles",s.concat([r])):o>-1&&t.$set(t.model,"force_auth_roles",s.slice(0,o).concat(s.slice(o+1)))}else t.$set(t.model,"force_auth_roles",n)}}}),t._v(" "),s("span",{attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",[t._v(t._s(e.name))])])])})),0),t._v(" "),s("strong",[t._v(t._s(t.__("Custom warning message")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.force_auth_mess,expression:"model.force_auth_mess"}],staticClass:"sui-form-control",attrs:{name:"force_auth_mess"},domProps:{value:t.model.force_auth_mess},on:{input:function(e){e.target.composing||t.$set(t.model,"force_auth_mess",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Note: This is shown in the users Profile area indicating they must use two-factor authentication."))+"\n ")])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Custom Graphic"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("By default, Defender’s icon appears above the login fields. You can upload your own branding, or turn this feature off."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.custom_graphic,expression:"model.custom_graphic"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",name:"custom_graphic",id:"custom_graphic"},domProps:{checked:Array.isArray(t.model.custom_graphic)?t._i(t.model.custom_graphic,null)>-1:t.model.custom_graphic},on:{change:function(e){var s=t.model.custom_graphic,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=t._i(s,null);i.checked?n<0&&t.$set(t.model,"custom_graphic",s.concat([null])):n>-1&&t.$set(t.model,"custom_graphic",s.slice(0,n).concat(s.slice(n+1)))}else t.$set(t.model,"custom_graphic",a)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"custom_graphic"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Enable custom graphics above login fields"))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:!0===t.model.custom_graphic,expression:"model.custom_graphic === true"}],staticClass:"sui-border-frame sui-toggle-content"},[s("span",{staticClass:"sui-description"},[s("strong",[t._v(t._s(t.__("Custom Graphic")))]),t._v(" - "+t._s(t.__("For best results use a 168x168px JPG or PNG."))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-upload"},[s("div",{staticClass:"sui-upload-image"},[s("img",{attrs:{id:"custom_graphicIMG",width:"40",height:"40",src:t.model.custom_graphic_url}}),t._v(" "),s("div",{staticClass:"sui-image-preview",style:{backgroundImage:"url("+t.model.custom_graphic_url+")"},attrs:{role:"button"}})]),t._v(" "),s("button",{staticClass:"sui-upload-button file-picker",attrs:{type:"button"}},[s("i",{staticClass:"sui-icon-upload-cloud",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Upload file"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),t._m(0)])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Emails"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Customize the default copy for emails the two-factor feature sends to users."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-field-list"},[s("div",{staticClass:"sui-field-list-header"},[s("h3",{staticClass:"sui-field-list-title"},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Email"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-field-list-body"},[s("div",{staticClass:"sui-field-list-item"},[s("label",{staticClass:"sui-field-list-item-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Lost phone one time password"))+"\n\t\t\t\t\t\t\t\t\t")]),t._v(" "),t._m(1)])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("App Download"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Need the app? Here’s links to the official Google Authenticator iOS and Android apps."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("a",{attrs:{href:"https://itunes.apple.com/vn/app/google-authenticator/id388497605?mt=8"}},[s("img",{attrs:{src:t.assetUrl("assets/img/ios-download.svg")}})]),t._v(" "),s("a",{attrs:{href:"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2"}},[s("img",{attrs:{src:t.assetUrl("assets/img/android-download.svg")}})])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Active Users"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Here’s a quick link to see which of your users have enabled two-factor authentication."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("a",{attrs:{href:t.adminUrl("users.php")}},[t._v(t._s(t.__("View users")))]),t._v(" "+t._s(t.__("who have enabled this feature."))+"\n\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Disable two-factor authentication on your website."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{"css-class":"sui-button-ghost",state:t.state},on:{click:function(e){return t.toggle(!1)}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Deactivate"))+"\n\t\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{"css-class":"sui-button-blue",type:"submit",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-dialog",attrs:{"aria-hidden":"true",tabindex:"-1",id:"edit-one-time-password-email"}},[s("div",{staticClass:"sui-dialog-overlay",attrs:{"data-a11y-dialog-hide":""}}),t._v(" "),s("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"dialogTitle","aria-describedby":"dialogDescription",role:"dialog"}},[s("div",{staticClass:"sui-box",attrs:{role:"document"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title",attrs:{id:"dialogTitle"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Edit Email"))+"\n\t\t\t\t\t\t")]),t._v(" "),t._m(2)]),t._v(" "),s("form",{attrs:{method:"post"}},[s("div",{staticClass:"sui-box-body"},[s("p",{attrs:{id:"dialogDescription"}},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("This email sends a temporary passcode when the user can’t access their phone."))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Subject"))+"\n\t\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.email_subject,expression:"model.email_subject"}],staticClass:"sui-form-control",attrs:{name:"subject",type:"text",id:"email_subject"},domProps:{value:t.model.email_subject},on:{input:function(e){e.target.composing||t.$set(t.model,"email_subject",e.target.value)}}})])]),t._v(" "),s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Sender"))+"\n\t\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.email_sender,expression:"model.email_sender"}],staticClass:"sui-form-control",attrs:{name:"sender",type:"text",id:"email_sender"},domProps:{value:t.model.email_sender},on:{input:function(e){e.target.composing||t.$set(t.model,"email_sender",e.target.value)}}})])])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Body"))+"\n\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.email_body,expression:"model.email_body"}],staticClass:"sui-form-control",attrs:{name:"body",rows:"8",id:"email_body"},domProps:{value:t.model.email_body},on:{input:function(e){e.target.composing||t.$set(t.model,"email_body",e.target.value)}}})])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Available variables"))+"\n\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("span",{staticClass:"sui-tag"},[s("strong",{domProps:{textContent:t._s(t.__("{{passcode}}"))}})]),t._v(" "),s("span",{staticClass:"sui-tag"},[s("strong",{domProps:{textContent:t._s(t.__("{{display_name}}"))}})])])])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-flex-child-right"},[s("button",{staticClass:"sui-button sui-button-ghost",attrs:{type:"button","data-a11y-dialog-hide":"my-accessible-dialog"}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Cancel"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-actions-right"},[s("submit-button",{staticClass:"sui-button",attrs:{type:"button",state:t.state},on:{click:t.saveEmailTemplate}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Save Template"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("submit-button",{staticClass:"sui-button sui-button-blue",attrs:{type:"button",state:t.state},on:{click:t.sendTestEmail}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Send Test"))+"\n\t\t\t\t\t\t\t\t")])],1)])])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-upload-file"},[e("span")])},function(){var t=this.$createElement,e=this._self._c||t;return e("button",{staticClass:"sui-button-icon",attrs:{type:"button","data-a11y-dialog-show":"edit-one-time-password-email"}},[e("i",{staticClass:"sui-icon-pencil",attrs:{"aria-hidden":"true"}})])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-right"},[e("button",{staticClass:"sui-dialog-close",attrs:{"data-a11y-dialog-hide":"","aria-label":"Close this dialog window"}})])}],!1,null,null,null).exports,c={mixins:[n.a],name:"mask-login",data:function(){return{misc:advanced_tools.misc,model:advanced_tools.model.mask_login,nonces:advanced_tools.nonces,endpoints:advanced_tools.endpoints,state:{on_saving:!1,waiting_save:!1}}},watch:{"model.mask_url":function(t){t=this.convertToSlug(t),this.model.mask_url=t,this.misc.new_login_url=this.misc.home_url+t},"model.redirect_traffic_url":function(t){t=this.convertToSlug(t),this.model.redirect_traffic_url=t,this.misc.login_redirect_url=this.misc.home_url+t}},methods:{toggle:function(t){var e=this,s={};s.enabled=t,this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:s,module:"mask-login"})},(function(){e.model.enabled=t}))},updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:t,module:"mask-login"})})},convertToSlug:function(t){return t.toLowerCase().replace(/[^\w-/]+/g,"")}},computed:{new_mask_login:function(){return this.misc.new_login_url},login_redirect_url:function(){return this.misc.login_redirect_url}}},u=Object(o.a)(c,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return!1===t.model.enabled?s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Mask Login Area"))+"\n\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-message"},[t.maybeHideBranding()?t._e():s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/2factor-disabled.svg"),"aria-hidden":"true"}}),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Change the location of WordPress's default login area, making it harder for automated bots to find and also more convenient for your users."))+"\n\t\t\t\t")]),t._v(" "),s("form",{attrs:{method:"post"}},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:function(e){return t.toggle(!0)}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Active"))+"\n\t\t\t\t\t")])],1)])])]):s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Mask Login Area"))+"\n\t\t\t")])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Change your default WordPress login URL to hide your login area from hackers and bots."))+"\n\t\t\t\t")]),t._v(" "),!1!==t.misc.compatibility?s("div",{staticClass:"sui-notice sui-notice-error"},[s("p",t._l(t.misc.compatibility,(function(e){return s("span",[t._v("\n "+t._s(e)+"\n ")])})),0)]):t._e(),t._v(" "),0===t.model.mask_url.length?s("div",{staticClass:"sui-notice sui-notice-warning"},[s("p",[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Masking is currently inactive. Choose your URL and save your settings to finish setup."))+"\n\t\t\t\t\t")])]):s("div",{staticClass:"sui-notice sui-notice-info"},[s("p",[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Masking is currently active at "))+" "),s("strong",{domProps:{textContent:t._s(t.misc.new_login_url)}})])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Masking URL"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose the new URL slug where users of your website will now navigate to log in or register."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("You can specify any URLs. For security reasons, less obvious URLs are recommended as they are harder for bots to guess."))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("New Login URL"))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.mask_url,expression:"model.mask_url"}],staticClass:"sui-form-control",attrs:{type:"text",name:"mask_url",placeholder:"E.g. dashboard"},domProps:{value:t.model.mask_url},on:{input:function(e){e.target.composing||t.$set(t.model,"mask_url",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Users will login at"))+" "),s("a",{attrs:{href:t.new_mask_login}},[t._v(t._s(t.new_mask_login))]),t._v(". "+t._s(t.__("Note: Registration and Password Reset emails have hardcoded URLs in them. We will update them automatically to match your new login URL"))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Redirect traffic"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("With this feature you can send visitors and bots who try to visit the default Wordpress login URLs to a separate URL to avoid 404s."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.redirect_traffic,expression:"model.redirect_traffic"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",name:"redirect_traffic",id:"redirect_traffic","true-value":!0,"false-value":!1},domProps:{checked:Array.isArray(t.model.redirect_traffic)?t._i(t.model.redirect_traffic,null)>-1:t.model.redirect_traffic},on:{change:function(e){var s=t.model.redirect_traffic,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=t._i(s,null);i.checked?n<0&&t.$set(t.model,"redirect_traffic",s.concat([null])):n>-1&&t.$set(t.model,"redirect_traffic",s.slice(0,n).concat(s.slice(n+1)))}else t.$set(t.model,"redirect_traffic",a)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"redirect_traffic"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Enable 404 redirection"))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:!0===t.model.redirect_traffic,expression:"model.redirect_traffic===true"}],staticClass:"sui-border-frame sui-toggle-content",attrs:{id:"redirectTrafficContainer"}},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Redirection URL")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.redirect_traffic_url,expression:"model.redirect_traffic_url"}],staticClass:"sui-form-control",attrs:{placeholder:"E.g. 404-error",type:"text",name:"redirect_traffic_url"},domProps:{value:t.model.redirect_traffic_url},on:{input:function(e){e.target.composing||t.$set(t.model,"redirect_traffic_url",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Visitors who visit the default login URLs will be redirected to"))+" "),s("a",{attrs:{href:t.login_redirect_url}},[t._v(t._s(t.login_redirect_url))])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Disable login area masking and return to the default wp-admin and wp-login URLS."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:function(e){return t.toggle(!1)}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Deactivate"))+"\n\t\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("submit-button",{attrs:{type:"submit",state:t.state,"css-class":"sui-button-blue"}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t")])],1)])])}),[],!1,null,null,null).exports,d={mixins:[n.a],components:{"two-factors":l,"mask-login":u},data:function(){return{state:{on_saving:!1},whitelabel:defender.whitelabel,is_free:defender.is_free,view:""}},created:function(){var t=new URLSearchParams(window.location.search).get("view");null===t&&(t="two-factor-auth"),this.view=t},watch:{view:function(t,e){history.replaceState({},null,this.adminUrl()+"admin.php?page=wdf-advanced-tools&view="+this.view)}},mounted:function(){self=this,jQuery(".sui-mobile-nav").change((function(){self.view=jQuery(this).val()}))}},f=Object(o.a)(d,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-wrap",class:[t.maybeHighContrast()]},[s("div",{staticClass:"advanced-tools"},[s("div",{staticClass:"sui-header"},[s("h1",{staticClass:"sui-header-title"},[t._v(t._s(t.__("Advanced Tools")))]),t._v(" "),s("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender/#advanced-tools"}})],1),t._v(" "),s("div",{staticClass:"sui-row-with-sidenav"},[s("div",{staticClass:"sui-sidenav"},[s("ul",{staticClass:"sui-vertical-tabs sui-sidenav-hide-md"},[s("li",{staticClass:"sui-vertical-tab",class:{current:"two-factor-auth"===t.view}},[s("a",{attrs:{"data-tab":"login_lockout",href:"#2factor"},on:{click:function(e){e.preventDefault(),t.view="two-factor-auth"}}},[t._v(t._s(t.__("Two-Factor Auth")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"mask-login"===t.view}},[s("a",{attrs:{"data-tab":"notfound_lockout",href:"#mask-login"},on:{click:function(e){e.preventDefault(),t.view="mask-login"}}},[t._v(t._s(t.__("Mask Login Area")))])])]),t._v(" "),s("div",{staticClass:"sui-sidenav-hide-lg"},[s("select",{staticClass:"sui-mobile-nav"},[s("option",{attrs:{value:"two-factor-auth"}},[t._v(t._s(t.__("Two-Factor Auth")))]),t._v(" "),s("option",{attrs:{value:"mask-login"}},[t._v(t._s(t.__("Mask Login Area")))])])])]),t._v(" "),s("two-factors",{directives:[{name:"show",rawName:"v-show",value:"two-factor-auth"===t.view,expression:"view==='two-factor-auth'"}]}),t._v(" "),s("mask-login",{directives:[{name:"show",rawName:"v-show",value:"mask-login"===t.view,expression:"view==='mask-login'"}]})],1)]),t._v(" "),s("app-footer")],1)}),[],!1,null,null,null).exports,_=s("./src/component/submit-button.vue"),p=s("./src/component/footer.vue"),m=s("./src/component/doc-link.vue");a.a.component("app-footer",p.a),a.a.component("doc-link",m.a),a.a.component("submit-button",_.a);new a.a({el:"#defender",components:{advanced_tools:f},render:function(t){return t(f)}})},"./src/component/doc-link.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],name:"doc-link",props:["link"],data:function(){return{whitelabel:defender.whitelabel}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return!1===this.whitelabel.hide_doc_link?e("div",{staticClass:"sui-actions-right"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:this.link,target:"_blank"}},[e("i",{staticClass:"sui-icon-academy"}),this._v(" "+this._s(this.__("View Documentation"))+"\n ")])]):this._e()}),[],!1,null,null,null);e.a=n.exports},"./src/component/footer.vue":function(t,e,s){"use strict";var i={data:function(){return{whitelabel:defender.whitelabel,is_free:defender.is_free}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[!0===t.whitelabel.change_footer?s("div",{staticClass:"sui-footer"},[t._v("\n "+t._s(t.whitelabel.footer_text)+"\n ")]):s("div",{staticClass:"sui-footer"},[t._v("Made with "),s("i",{staticClass:"sui-icon-heart"}),t._v(" by WPMU DEV")]),t._v(" "),!1===t.whitelabel.hide_doc_link?s("div",[t.is_free?s("ul",{staticClass:"sui-footer-nav"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7)]):s("ul",{staticClass:"sui-footer-nav"},[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15)]),t._v(" "),t._m(16)]):t._e()])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://profiles.wordpress.org/wpmudev#content-plugins",target:"_blank"}},[this._v("Free\n Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/features/",target:"_blank"}},[this._v("Membership")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://wordpress.org/support/plugin/plugin-name",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/projects/category/plugins/",target:"_blank"}},[this._v("Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/support/",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/community/",target:"_blank"}},[this._v("Community")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ul",{staticClass:"sui-footer-social"},[s("li",[s("a",{attrs:{href:"https://www.facebook.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-facebook",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Facebook")])])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://twitter.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-twitter",attrs:{"aria-hidden":"true"}})]),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Twitter")])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://www.instagram.com/wpmu_dev/",target:"_blank"}},[s("i",{staticClass:"sui-icon-instagram",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Instagram")])])])])}],!1,null,null,null);e.a=n.exports},"./src/component/submit-button.vue":function(t,e,s){"use strict";var i={name:"submit-button",props:["id","state","text","css-class","type"],computed:{getClass:function(){return"sui-button "+this.cssClass}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("button",{staticClass:"sui-button",class:[t.getClass,{"sui-button-onload":t.state.on_saving}],attrs:{id:t.id,type:t.type,disabled:t.state.on_saving},on:{click:function(e){return t.$emit("click")}}},[s("span",{staticClass:"sui-loading-text"},[t._t("default")],2),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}),[],!1,null,null,null);e.a=n.exports},"./src/helper/base_hepler.js":function(t,e,s){"use strict";var i=s("./node_modules/xss/lib/index.js"),a=s.n(i),n=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var s=[],i=!0,a=!1,n=void 0;try{for(var r,o=t[Symbol.iterator]();!(i=(r=o.next()).done)&&(s.push(r.value),!e||s.length!==e);i=!0);}catch(t){a=!0,n=t}finally{try{!i&&o.return&&o.return()}finally{if(a)throw n}}return s}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},r=wp.i18n,o=r.sprintf,l=r.__,c=[];e.a={methods:{__:function(t){return a()(l(t,"wpdef"))},xss:function(t){return a()(t)},vsprintf:function(t){return o.apply(null,arguments)},siteUrl:function(t){return void 0!==t?defender.site_url+t:defender.site_url},adminUrl:function(t){return void 0!==t?defender.admin_url+t:defender.admin_url},assetUrl:function(t){return defender.defender_url+t},maybeHighContrast:function(){return{"sui-color-accessible":!0===defender.misc.high_contrast}},maybeHideBranding:function(){return defender.whitelabel.hide_branding},campaign_url:function(t){return"https://premium.wpmudev.org/project/wp-defender/?utm_source=defender&utm_medium=plugin&utm_campaign="+t},httpRequest:function(t,e,s,i,a){var n=this;void 0===a&&(this.state.on_saving=!0);var r=ajaxurl+"?action="+this.endpoints[e]+"&_wpnonce="+this.nonces[e],o=jQuery.ajax({url:r,method:t,data:s,success:function(t){var e=t.data;n.state.on_saving=!1,void 0!==e&&void 0!==e.message&&(t.success?Defender.showNotification("success",e.message):Defender.showNotification("error",e.message)),void 0!==i&&i(t)}});c.push(o)},httpGetRequest:function(t,e,s,i){this.httpRequest("get",t,e,s,i)},httpPostRequest:function(t,e,s,i){this.httpRequest("post",t,e,s,i)},abortAllRequests:function(){for(var t=0;t<c.length;t++)c[t].abort()},getQueryStringParams:function(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((function(t,e){var s=e.split("="),i=n(s,2),a=i[0],r=i[1];return t[a]=r?decodeURIComponent(r.replace(/\+/g," ")):"",t}),{}):{}},rebindSUI:function(){jQuery("select:not([multiple])").each((function(){SUI.suiSelect(this)})),jQuery(".sui-accordion").each((function(){SUI.suiAccordion(this)}));var t=jQuery(".sui-wrap");SUI.dialogs={},jQuery(".sui-dialog").each((function(){SUI.dialogs[this.id]=new A11yDialog(this,t)}))}}}},vue:function(t,e){t.exports=Vue}});
|
1 |
+
!function(t){var e=window.webpackHotUpdate;window.webpackHotUpdate=function(t,s){!function(t,e){if(!w[t]||!b[t])return;for(var s in b[t]=!1,e)Object.prototype.hasOwnProperty.call(e,s)&&(p[s]=e[s]);0==--v&&0===h&&k()}(t,s),e&&e(t,s)};var s,i=!0,a="d0b3332498cfafc2e0f1",n={},r=[],o=[];function l(t){var e=j[t];if(!e)return S;var i=function(i){return e.hot.active?(j[i]?-1===j[i].parents.indexOf(t)&&j[i].parents.push(t):(r=[t],s=i),-1===e.children.indexOf(i)&&e.children.push(i)):(console.warn("[HMR] unexpected require("+i+") from disposed module "+t),r=[]),S(i)},a=function(t){return{configurable:!0,enumerable:!0,get:function(){return S[t]},set:function(e){S[t]=e}}};for(var n in S)Object.prototype.hasOwnProperty.call(S,n)&&"e"!==n&&"t"!==n&&Object.defineProperty(i,n,a(n));return i.e=function(t){return"ready"===d&&f("prepare"),h++,S.e(t).then(e,(function(t){throw e(),t}));function e(){h--,"prepare"===d&&(g[t]||x(t),0===h&&0===v&&k())}},i.t=function(t,e){return 1&e&&(t=i(t)),S.t(t,-2&e)},i}function c(t){var e={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:s!==t,active:!0,accept:function(t,s){if(void 0===t)e._selfAccepted=!0;else if("function"==typeof t)e._selfAccepted=t;else if("object"==typeof t)for(var i=0;i<t.length;i++)e._acceptedDependencies[t[i]]=s||function(){};else e._acceptedDependencies[t]=s||function(){}},decline:function(t){if(void 0===t)e._selfDeclined=!0;else if("object"==typeof t)for(var s=0;s<t.length;s++)e._declinedDependencies[t[s]]=!0;else e._declinedDependencies[t]=!0},dispose:function(t){e._disposeHandlers.push(t)},addDisposeHandler:function(t){e._disposeHandlers.push(t)},removeDisposeHandler:function(t){var s=e._disposeHandlers.indexOf(t);s>=0&&e._disposeHandlers.splice(s,1)},check:C,apply:A,status:function(t){if(!t)return d;u.push(t)},addStatusHandler:function(t){u.push(t)},removeStatusHandler:function(t){var e=u.indexOf(t);e>=0&&u.splice(e,1)},data:n[t]};return s=void 0,e}var u=[],d="idle";function f(t){d=t;for(var e=0;e<u.length;e++)u[e].call(null,t)}var _,p,m,v=0,h=0,g={},b={},w={};function y(t){return+t+""===t?+t:t}function C(t){if("idle"!==d)throw new Error("check() is only allowed in idle status");return i=t,f("check"),(e=1e4,e=e||1e4,new Promise((function(t,s){if("undefined"==typeof XMLHttpRequest)return s(new Error("No browser support"));try{var i=new XMLHttpRequest,n=S.p+""+a+".hot-update.json";i.open("GET",n,!0),i.timeout=e,i.send(null)}catch(t){return s(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)s(new Error("Manifest request to "+n+" timed out."));else if(404===i.status)t();else if(200!==i.status&&304!==i.status)s(new Error("Manifest request to "+n+" failed."));else{try{var e=JSON.parse(i.responseText)}catch(t){return void s(t)}t(e)}}}))).then((function(t){if(!t)return f("idle"),null;b={},g={},w=t.c,m=t.h,f("prepare");var e=new Promise((function(t,e){_={resolve:t,reject:e}}));p={};return x(0),"prepare"===d&&0===h&&0===v&&k(),e}));var e}function x(t){w[t]?(b[t]=!0,v++,function(t){var e=document.createElement("script");e.charset="utf-8",e.src=S.p+""+t+"."+a+".hot-update.js",document.head.appendChild(e)}(t)):g[t]=!0}function k(){f("ready");var t=_;if(_=null,t)if(i)Promise.resolve().then((function(){return A(i)})).then((function(e){t.resolve(e)}),(function(e){t.reject(e)}));else{var e=[];for(var s in p)Object.prototype.hasOwnProperty.call(p,s)&&e.push(y(s));t.resolve(e)}}function A(e){if("ready"!==d)throw new Error("apply() is only allowed in ready status");var s,i,o,l,c;function u(t){for(var e=[t],s={},i=e.map((function(t){return{chain:[t],id:t}}));i.length>0;){var a=i.pop(),n=a.id,r=a.chain;if((l=j[n])&&!l.hot._selfAccepted){if(l.hot._selfDeclined)return{type:"self-declined",chain:r,moduleId:n};if(l.hot._main)return{type:"unaccepted",chain:r,moduleId:n};for(var o=0;o<l.parents.length;o++){var c=l.parents[o],u=j[c];if(u){if(u.hot._declinedDependencies[n])return{type:"declined",chain:r.concat([c]),moduleId:n,parentId:c};-1===e.indexOf(c)&&(u.hot._acceptedDependencies[n]?(s[c]||(s[c]=[]),_(s[c],[n])):(delete s[c],e.push(c),i.push({chain:r.concat([c]),id:c})))}}}}return{type:"accepted",moduleId:t,outdatedModules:e,outdatedDependencies:s}}function _(t,e){for(var s=0;s<e.length;s++){var i=e[s];-1===t.indexOf(i)&&t.push(i)}}e=e||{};var v={},h=[],g={},b=function(){console.warn("[HMR] unexpected require("+x.moduleId+") to disposed module")};for(var C in p)if(Object.prototype.hasOwnProperty.call(p,C)){var x;c=y(C);var k=!1,A=!1,E=!1,T="";switch((x=p[C]?u(c):{type:"disposed",moduleId:C}).chain&&(T="\nUpdate propagation: "+x.chain.join(" -> ")),x.type){case"self-declined":e.onDeclined&&e.onDeclined(x),e.ignoreDeclined||(k=new Error("Aborted because of self decline: "+x.moduleId+T));break;case"declined":e.onDeclined&&e.onDeclined(x),e.ignoreDeclined||(k=new Error("Aborted because of declined dependency: "+x.moduleId+" in "+x.parentId+T));break;case"unaccepted":e.onUnaccepted&&e.onUnaccepted(x),e.ignoreUnaccepted||(k=new Error("Aborted because "+c+" is not accepted"+T));break;case"accepted":e.onAccepted&&e.onAccepted(x),A=!0;break;case"disposed":e.onDisposed&&e.onDisposed(x),E=!0;break;default:throw new Error("Unexception type "+x.type)}if(k)return f("abort"),Promise.reject(k);if(A)for(c in g[c]=p[c],_(h,x.outdatedModules),x.outdatedDependencies)Object.prototype.hasOwnProperty.call(x.outdatedDependencies,c)&&(v[c]||(v[c]=[]),_(v[c],x.outdatedDependencies[c]));E&&(_(h,[x.moduleId]),g[c]=b)}var I,O=[];for(i=0;i<h.length;i++)c=h[i],j[c]&&j[c].hot._selfAccepted&&g[c]!==b&&O.push({module:c,errorHandler:j[c].hot._selfAccepted});f("dispose"),Object.keys(w).forEach((function(t){!1===w[t]&&function(t){delete installedChunks[t]}(t)}));for(var P,$,D=h.slice();D.length>0;)if(c=D.pop(),l=j[c]){var U={},R=l.hot._disposeHandlers;for(o=0;o<R.length;o++)(s=R[o])(U);for(n[c]=U,l.hot.active=!1,delete j[c],delete v[c],o=0;o<l.children.length;o++){var L=j[l.children[o]];L&&((I=L.parents.indexOf(c))>=0&&L.parents.splice(I,1))}}for(c in v)if(Object.prototype.hasOwnProperty.call(v,c)&&(l=j[c]))for($=v[c],o=0;o<$.length;o++)P=$[o],(I=l.children.indexOf(P))>=0&&l.children.splice(I,1);for(c in f("apply"),a=m,g)Object.prototype.hasOwnProperty.call(g,c)&&(t[c]=g[c]);var N=null;for(c in v)if(Object.prototype.hasOwnProperty.call(v,c)&&(l=j[c])){$=v[c];var H=[];for(i=0;i<$.length;i++)if(P=$[i],s=l.hot._acceptedDependencies[P]){if(-1!==H.indexOf(s))continue;H.push(s)}for(i=0;i<H.length;i++){s=H[i];try{s($)}catch(t){e.onErrored&&e.onErrored({type:"accept-errored",moduleId:c,dependencyId:$[i],error:t}),e.ignoreErrored||N||(N=t)}}}for(i=0;i<O.length;i++){var q=O[i];c=q.module,r=[c];try{S(c)}catch(t){if("function"==typeof q.errorHandler)try{q.errorHandler(t)}catch(s){e.onErrored&&e.onErrored({type:"self-accept-error-handler-errored",moduleId:c,error:s,originalError:t}),e.ignoreErrored||N||(N=s),N||(N=t)}else e.onErrored&&e.onErrored({type:"self-accept-errored",moduleId:c,error:t}),e.ignoreErrored||N||(N=t)}}return N?(f("fail"),Promise.reject(N)):(f("idle"),new Promise((function(t){t(h)})))}var j={};function S(e){if(j[e])return j[e].exports;var s=j[e]={i:e,l:!1,exports:{},hot:c(e),parents:(o=r,r=[],o),children:[]};return t[e].call(s.exports,s,s.exports,l(e)),s.l=!0,s.exports}S.m=t,S.c=j,S.d=function(t,e,s){S.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},S.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},S.t=function(t,e){if(1&e&&(t=S(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(S.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)S.d(s,i,function(e){return t[e]}.bind(null,i));return s},S.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return S.d(e,"a",e),e},S.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},S.p="",S.h=function(){return a},l("./src/advanced-tools.js")(S.s="./src/advanced-tools.js")}({"./node_modules/cssfilter/lib/css.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),a=s("./node_modules/cssfilter/lib/parser.js");s("./node_modules/cssfilter/lib/util.js");function n(t){return null==t}function r(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).whiteList=t.whiteList||i.whiteList,t.onAttr=t.onAttr||i.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||i.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,this.options=t}r.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onAttr,r=e.onIgnoreAttr,o=e.safeAttrValue;return a(t,(function(t,e,a,l,c){var u=s[a],d=!1;if(!0===u?d=u:"function"==typeof u?d=u(l):u instanceof RegExp&&(d=u.test(l)),!0!==d&&(d=!1),l=o(a,l)){var f,_={position:e,sourcePosition:t,source:c,isWhite:d};return d?n(f=i(a,l,_))?a+":"+l:f:n(f=r(a,l,_))?void 0:f}}))},t.exports=r},"./node_modules/cssfilter/lib/default.js":function(t,e){function s(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var i=/javascript\s*\:/gim;e.whiteList=s(),e.getDefaultWhiteList=s,e.onAttr=function(t,e,s){},e.onIgnoreAttr=function(t,e,s){},e.safeAttrValue=function(t,e){return i.test(e)?"":e}},"./node_modules/cssfilter/lib/index.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),a=s("./node_modules/cssfilter/lib/css.js");for(var n in(e=t.exports=function(t,e){return new a(e).process(t)}).FilterCSS=a,i)e[n]=i[n];"undefined"!=typeof window&&(window.filterCSS=t.exports)},"./node_modules/cssfilter/lib/parser.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/util.js");t.exports=function(t,e){";"!==(t=i.trimRight(t))[t.length-1]&&(t+=";");var s=t.length,a=!1,n=0,r=0,o="";function l(){if(!a){var s=i.trim(t.slice(n,r)),l=s.indexOf(":");if(-1!==l){var c=i.trim(s.slice(0,l)),u=i.trim(s.slice(l+1));if(c){var d=e(n,o.length,c,u,s);d&&(o+=d+"; ")}}}n=r+1}for(;r<s;r++){var c=t[r];if("/"===c&&"*"===t[r+1]){var u=t.indexOf("*/",r+2);if(-1===u)break;n=(r=u+1)+1,a=!1}else"("===c?a=!0:")"===c?a=!1:";"===c?a||l():"\n"===c&&l()}return i.trim(o)}},"./node_modules/cssfilter/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,a;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,a=t.length;i<a;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\s*$)/g,"")}}},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js":function(t,e,s){"use strict";function i(t,e,s,i,a,n,r,o){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=s,c._compiled=!0),i&&(c.functional=!0),n&&(c._scopeId="data-v-"+n),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=l):a&&(l=o?function(){a.call(this,this.$root.$options.shadowRoot)}:a),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}s.d(e,"a",(function(){return i}))},"./node_modules/xss/lib/default.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,a=s("./node_modules/cssfilter/lib/index.js").getDefaultWhiteList,n=s("./node_modules/xss/lib/util.js");function r(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var o=new i;function l(t){return t.replace(c,"<").replace(u,">")}var c=/</g,u=/>/g,d=/"/g,f=/"/g,_=/&#([a-zA-Z0-9]*);?/gim,p=/:?/gim,m=/&newline;?/gim,v=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,h=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,g=/u\s*r\s*l\s*\(.*/gi;function b(t){return t.replace(d,""")}function w(t){return t.replace(f,'"')}function y(t){return t.replace(_,(function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))}))}function C(t){return t.replace(p,":").replace(m," ")}function x(t){for(var e="",s=0,i=t.length;s<i;s++)e+=t.charCodeAt(s)<32?" ":t.charAt(s);return n.trim(e)}function k(t){return t=x(t=C(t=y(t=w(t))))}function A(t){return t=l(t=b(t))}var j=/<!--[\s\S]*?-->/g;e.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},e.getDefaultWhiteList=r,e.onTag=function(t,e,s){},e.onIgnoreTag=function(t,e,s){},e.onTagAttr=function(t,e,s){},e.onIgnoreTagAttr=function(t,e,s){},e.safeAttrValue=function(t,e,s,i){if(s=k(s),"href"===e||"src"===e){if("#"===(s=n.trim(s)))return"#";if("http://"!==s.substr(0,7)&&"https://"!==s.substr(0,8)&&"mailto:"!==s.substr(0,7)&&"tel:"!==s.substr(0,4)&&"#"!==s[0]&&"/"!==s[0])return""}else if("background"===e){if(v.lastIndex=0,v.test(s))return""}else if("style"===e){if(h.lastIndex=0,h.test(s))return"";if(g.lastIndex=0,g.test(s)&&(v.lastIndex=0,v.test(s)))return"";!1!==i&&(s=(i=i||o).process(s))}return s=A(s)},e.escapeHtml=l,e.escapeQuote=b,e.unescapeQuote=w,e.escapeHtmlEntities=y,e.escapeDangerHtml5Entities=C,e.clearNonPrintableCharacter=x,e.friendlyAttrValue=k,e.escapeAttrValue=A,e.onIgnoreTagStripAll=function(){return""},e.StripTagBody=function(t,e){"function"!=typeof e&&(e=function(){});var s=!Array.isArray(t),i=[],a=!1;return{onIgnoreTag:function(r,o,l){if(function(e){return!!s||-1!==n.indexOf(t,e)}(r)){if(l.isClosing){var c="[/removed]",u=l.position+c.length;return i.push([!1!==a?a:l.position,u]),a=!1,c}return a||(a=l.position),"[removed]"}return e(r,o,l)},remove:function(t){var e="",s=0;return n.forEach(i,(function(i){e+=t.slice(s,i[0]),s=i[1]})),e+=t.slice(s)}}},e.stripCommentTag=function(t){return t.replace(j,"")},e.stripBlankChar=function(t){var e=t.split("");return(e=e.filter((function(t){var e=t.charCodeAt(0);return 127!==e&&(!(e<=31)||(10===e||13===e))}))).join("")},e.cssFilter=o,e.getDefaultCSSWhiteList=a},"./node_modules/xss/lib/index.js":function(t,e,s){var i=s("./node_modules/xss/lib/default.js"),a=s("./node_modules/xss/lib/parser.js"),n=s("./node_modules/xss/lib/xss.js");function r(t,e){return new n(e).process(t)}for(var o in(e=t.exports=r).filterXSS=r,e.FilterXSS=n,i)e[o]=i[o];for(var o in a)e[o]=a[o];"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},"./node_modules/xss/lib/parser.js":function(t,e,s){var i=s("./node_modules/xss/lib/util.js");function a(t){var e=i.spaceIndex(t);if(-1===e)var s=t.slice(1,-1);else s=t.slice(1,e+1);return"/"===(s=i.trim(s).toLowerCase()).slice(0,1)&&(s=s.slice(1)),"/"===s.slice(-1)&&(s=s.slice(0,-1)),s}function n(t){return"</"===t.slice(0,2)}var r=/[^a-zA-Z0-9_:\.\-]/gim;function o(t,e){for(;e<t.length;e++){var s=t[e];if(" "!==s)return"="===s?e:-1}}function l(t,e){for(;e>0;e--){var s=t[e];if(" "!==s)return"="===s?e:-1}}function c(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}e.parseTag=function(t,e,s){var i="",r=0,o=!1,l=!1,c=0,u=t.length,d="",f="";for(c=0;c<u;c++){var _=t.charAt(c);if(!1===o){if("<"===_){o=c;continue}}else if(!1===l){if("<"===_){i+=s(t.slice(r,c)),o=c,r=c;continue}if(">"===_){i+=s(t.slice(r,o)),d=a(f=t.slice(o,c+1)),i+=e(o,i.length,d,f,n(f)),r=c+1,o=!1;continue}if(('"'===_||"'"===_)&&"="===t.charAt(c-1)){l=_;continue}}else if(_===l){l=!1;continue}}return r<t.length&&(i+=s(t.substr(r))),i},e.parseAttr=function(t,e){var s=0,a=[],n=!1,u=t.length;function d(t,s){if(!((t=(t=i.trim(t)).replace(r,"").toLowerCase()).length<1)){var n=e(t,s||"");n&&a.push(n)}}for(var f=0;f<u;f++){var _,p=t.charAt(f);if(!1!==n||"="!==p)if(!1===n||f!==s||'"'!==p&&"'"!==p||"="!==t.charAt(f-1))if(/\s|\n|\t/.test(p)){if(t=t.replace(/\s|\n|\t/g," "),!1===n){if(-1===(_=o(t,f))){d(i.trim(t.slice(s,f))),n=!1,s=f+1;continue}f=_-1;continue}if(-1===(_=l(t,f-1))){d(n,c(i.trim(t.slice(s,f)))),n=!1,s=f+1;continue}}else;else{if(-1===(_=t.indexOf(p,f+1)))break;d(n,i.trim(t.slice(s+1,_))),n=!1,s=(f=_)+1}else n=t.slice(s,f),s=f+1}return s<t.length&&(!1===n?d(t.slice(s)):d(n,c(i.trim(t.slice(s))))),i.trim(a.join(" "))}},"./node_modules/xss/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,a;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,a=t.length;i<a;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(t){var e=/\s|\n|\t/.exec(t);return e?e.index:-1}}},"./node_modules/xss/lib/xss.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,a=s("./node_modules/xss/lib/default.js"),n=s("./node_modules/xss/lib/parser.js"),r=n.parseTag,o=n.parseAttr,l=s("./node_modules/xss/lib/util.js");function c(t){return null==t}function u(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=a.onIgnoreTagStripAll),t.whiteList=t.whiteList||a.whiteList,t.onTag=t.onTag||a.onTag,t.onTagAttr=t.onTagAttr||a.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||a.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||a.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||a.safeAttrValue,t.escapeHtml=t.escapeHtml||a.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new i(t.css))}u.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onTag,n=e.onIgnoreTag,u=e.onTagAttr,d=e.onIgnoreTagAttr,f=e.safeAttrValue,_=e.escapeHtml,p=this.cssFilter;e.stripBlankChar&&(t=a.stripBlankChar(t)),e.allowCommentTag||(t=a.stripCommentTag(t));var m=!1;if(e.stripIgnoreTagBody){m=a.StripTagBody(e.stripIgnoreTagBody,n);n=m.onIgnoreTag}var v=r(t,(function(t,e,a,r,m){var v,h={sourcePosition:t,position:e,isClosing:m,isWhite:s.hasOwnProperty(a)};if(!c(v=i(a,r,h)))return v;if(h.isWhite){if(h.isClosing)return"</"+a+">";var g=function(t){var e=l.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var s="/"===(t=l.trim(t.slice(e+1,-1)))[t.length-1];return s&&(t=l.trim(t.slice(0,-1))),{html:t,closing:s}}(r),b=s[a],w=o(g.html,(function(t,e){var s,i=-1!==l.indexOf(b,t);return c(s=u(a,t,e,i))?i?(e=f(a,t,e,p))?t+'="'+e+'"':t:c(s=d(a,t,e,i))?void 0:s:s}));r="<"+a;return w&&(r+=" "+w),g.closing&&(r+=" /"),r+=">"}return c(v=n(a,r,h))?_(r):v}),_);return m&&(v=m.remove(v)),v},t.exports=u},"./src/advanced-tools.js":function(t,e,s){"use strict";s.r(e);var i=s("vue"),a=s.n(i),n=s("./src/helper/base_hepler.js"),r={mixins:[n.a],data:function(){return{all_roles:advanced_tools.misc.all_roles,compatibility:advanced_tools.misc.compatibility,model:advanced_tools.model.two_factor,nonces:advanced_tools.nonces,endpoints:advanced_tools.endpoints,state:{on_saving:!1,waiting_save:!1,origin_state:!1}}},methods:{toggle:function(t){var e=this,s={};s.enabled=t,this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:s,module:"auth"})},(function(){e.model.enabled=t,!0===t&&e.$nextTick((function(){e.rebindSUI(),e.bindUploader(),e.state.waiting_save=!1}))}))},updateSettings:function(){var t=this.model;delete t.email_subject,delete t.email_sender,delete t.email_body,this.state.origin_state=this.model.user_roles.length>0,this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:t,module:"auth"})})},saveEmailTemplate:function(){var t={email_subject:this.model.email_subject,email_sender:this.model.email_sender,email_body:this.model.email_body};this.httpPostRequest("updateSettings",{data:JSON.stringify({module:"auth",settings:t})},(function(t){!0===t.success&&SUI.dialogs["edit-one-time-password-email"].hide()}))},sendTestEmail:function(){var t={email_subject:this.model.email_subject,email_sender:this.model.email_sender,email_body:this.model.email_body};this.httpPostRequest("sendTestEmail",t)},bindUploader:function(){var t=void 0,e=this;jQuery(".file-picker").click((function(){t?t.open():((t=wp.media.frames.file_frame=wp.media({title:"Choose an image file",button:{text:"Choose File"},multiple:!1,library:{type:["image"]}})).on("select",(function(){var s=t.state().get("selection").first().toJSON();jQuery.inArray(s.mime,["image/jpeg","image/png","image/gif"])>-1?e.model.custom_graphic_url=s.url:Defender.showNotification("error","Invalid image file type")})),t.open())}))}},mounted:function(){var t=this;this.$nextTick((function(){t.bindUploader()})),this.state.origin_state=this.model.user_roles.length>0}},o=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),l=Object(o.a)(r,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return!1===t.model.enabled?s("div",{staticClass:"sui-box",attrs:{id:"2factor"}},[s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t\t"+t._s(t.__("Two Factor Authentication"))+"\n\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-message"},[t.maybeHideBranding()?t._e():s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/2factor-disabled.svg"),"aria-hidden":"true"}}),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Beef up your website’s security with two-factor authentication. Add an extra step in the login process so that users are required to enter a password and an app-generated passcode using their phone – the best protection against brute force attacks."))+"\n\t\t\t\t\t")]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.toggle(!0)}}},[s("submit-button",{attrs:{type:"submit",state:t.state,"css-class":"sui-button-blue activate"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Activate"))+"\n\t\t\t\t\t\t")])],1)])])])]):s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Two Factor Authentication"))+"\n\t\t\t")])]),t._v(" "),s("form",{staticClass:"advanced-settings-frm",attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Configure your two-factor authentication settings. Our recommendations are enabled by default."))+"\n\t\t\t\t")]),t._v(" "),!1!==t.compatibility?s("div",{staticClass:"sui-notice sui-notice-error"},[s("p",t._l(t.compatibility,(function(e){return s("span",[t._v("\n "+t._s(e)+"\n ")])})),0)]):t._e(),t._v(" "),t.state.origin_state?s("div",{staticClass:"sui-notice sui-notice-info"},[s("p",[s("strong",[t._v(t._s(t.__("Two-factor authentication is now active.")))]),t._v(" "+t._s(t.__("User roles with this feature enabled must visit their "))+"\n\t\t\t\t\t\t"),s("a",{attrs:{href:t.adminUrl("profile.php")}},[t._v(t._s(t.__("Profile page")))]),t._v(" "+t._s(t.__("to complete setup and sync their account with the Authenticator app."))+"\n\t\t\t\t\t")])]):s("div",{staticClass:"sui-notice sui-notice-warning"},[s("p",[s("strong",[t._v(t._s(t.__("Two-factor authentication is currently inactive.")))]),t._v(" "+t._s(t.__("Configure and save your settings to complete setup."))+"\n\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("User Roles"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose the user roles you want to enable two-factor authentication for. Users with those roles will then be required to use the Google Authenticator app to login."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-field-list"},[s("div",{staticClass:"sui-field-list-header"},[s("h3",{staticClass:"sui-field-list-title"},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("User role"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-field-list-body"},t._l(t.all_roles,(function(e,i){return s("div",{staticClass:"sui-field-list-item"},[s("label",{staticClass:"sui-field-list-item-label",attrs:{for:"toggle_"+i},domProps:{innerHTML:t._s(e.name)}}),t._v(" "),s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.user_roles,expression:"model.user_roles"}],attrs:{type:"checkbox",id:"toggle_"+i},domProps:{value:i,checked:Array.isArray(t.model.user_roles)?t._i(t.model.user_roles,i)>-1:t.model.user_roles},on:{change:function(e){var s=t.model.user_roles,a=e.target,n=!!a.checked;if(Array.isArray(s)){var r=i,o=t._i(s,r);a.checked?o<0&&t.$set(t.model,"user_roles",s.concat([r])):o>-1&&t.$set(t.model,"user_roles",s.slice(0,o).concat(s.slice(o+1)))}else t.$set(t.model,"user_roles",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})])])})),0)])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Lost Phone"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("If a user is unable to access their phone, you can allow an option to send the one time password to their registered email."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.lost_phone,expression:"model.lost_phone"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",id:"lost_phone"},domProps:{checked:Array.isArray(t.model.lost_phone)?t._i(t.model.lost_phone,null)>-1:t.model.lost_phone},on:{change:function(e){var s=t.model.lost_phone,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=t._i(s,null);i.checked?n<0&&t.$set(t.model,"lost_phone",s.concat([null])):n>-1&&t.$set(t.model,"lost_phone",s.slice(0,n).concat(s.slice(n+1)))}else t.$set(t.model,"lost_phone",a)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"lost_phone"}},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Enable lost phone option"))+"\n\t\t\t\t\t\t\t")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Force Authentication"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("By default, two-factor authentication is optional for users. This setting forces users to activate two-factor."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.force_auth,expression:"model.force_auth"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",name:"force_auth",id:"force_auth"},domProps:{checked:Array.isArray(t.model.force_auth)?t._i(t.model.force_auth,null)>-1:t.model.force_auth},on:{change:function(e){var s=t.model.force_auth,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=t._i(s,null);i.checked?n<0&&t.$set(t.model,"force_auth",s.concat([null])):n>-1&&t.$set(t.model,"force_auth",s.slice(0,n).concat(s.slice(n+1)))}else t.$set(t.model,"force_auth",a)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"force_auth"}},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Force users to log in with two-factor authentication"))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("span",{staticClass:"sui-description sui-toggle-content"},[t._v("\n "+t._s(t.__("Note: Users will be forced to set up two-factor when they next login."))+"\n ")]),t._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:!0===t.model.force_auth,expression:"model.force_auth===true"}],staticClass:"sui-border-frame sui-toggle-content",attrs:{id:"force_auth_roles"}},[s("strong",[t._v(t._s(t.__("User Roles")))]),t._v(" "),s("ul",t._l(t.all_roles,(function(e,i){return s("li",[s("label",{staticClass:"sui-checkbox",attrs:{for:"toggle_force_"+i}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.force_auth_roles,expression:"model.force_auth_roles"}],attrs:{type:"checkbox",id:"toggle_force_"+i},domProps:{value:i,checked:Array.isArray(t.model.force_auth_roles)?t._i(t.model.force_auth_roles,i)>-1:t.model.force_auth_roles},on:{change:function(e){var s=t.model.force_auth_roles,a=e.target,n=!!a.checked;if(Array.isArray(s)){var r=i,o=t._i(s,r);a.checked?o<0&&t.$set(t.model,"force_auth_roles",s.concat([r])):o>-1&&t.$set(t.model,"force_auth_roles",s.slice(0,o).concat(s.slice(o+1)))}else t.$set(t.model,"force_auth_roles",n)}}}),t._v(" "),s("span",{attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",[t._v(t._s(e.name))])])])})),0),t._v(" "),s("strong",[t._v(t._s(t.__("Custom warning message")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.force_auth_mess,expression:"model.force_auth_mess"}],staticClass:"sui-form-control",attrs:{name:"force_auth_mess"},domProps:{value:t.model.force_auth_mess},on:{input:function(e){e.target.composing||t.$set(t.model,"force_auth_mess",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Note: This is shown in the users Profile area indicating they must use two-factor authentication."))+"\n ")])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Custom Graphic"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("By default, Defender’s icon appears above the login fields. You can upload your own branding, or turn this feature off."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.custom_graphic,expression:"model.custom_graphic"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",name:"custom_graphic",id:"custom_graphic"},domProps:{checked:Array.isArray(t.model.custom_graphic)?t._i(t.model.custom_graphic,null)>-1:t.model.custom_graphic},on:{change:function(e){var s=t.model.custom_graphic,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=t._i(s,null);i.checked?n<0&&t.$set(t.model,"custom_graphic",s.concat([null])):n>-1&&t.$set(t.model,"custom_graphic",s.slice(0,n).concat(s.slice(n+1)))}else t.$set(t.model,"custom_graphic",a)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"custom_graphic"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Enable custom graphics above login fields"))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:!0===t.model.custom_graphic,expression:"model.custom_graphic === true"}],staticClass:"sui-border-frame sui-toggle-content"},[s("span",{staticClass:"sui-description"},[s("strong",[t._v(t._s(t.__("Custom Graphic")))]),t._v(" - "+t._s(t.__("For best results use a 168x168px JPG or PNG."))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-upload"},[s("div",{staticClass:"sui-upload-image"},[s("img",{attrs:{id:"custom_graphicIMG",width:"40",height:"40",src:t.model.custom_graphic_url}}),t._v(" "),s("div",{staticClass:"sui-image-preview",style:{backgroundImage:"url("+t.model.custom_graphic_url+")"},attrs:{role:"button"}})]),t._v(" "),s("button",{staticClass:"sui-upload-button file-picker",attrs:{type:"button"}},[s("i",{staticClass:"sui-icon-upload-cloud",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Upload file"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),t._m(0)])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Emails"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Customize the default copy for emails the two-factor feature sends to users."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-field-list"},[s("div",{staticClass:"sui-field-list-header"},[s("h3",{staticClass:"sui-field-list-title"},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Email"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-field-list-body"},[s("div",{staticClass:"sui-field-list-item"},[s("label",{staticClass:"sui-field-list-item-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Lost phone one time password"))+"\n\t\t\t\t\t\t\t\t\t")]),t._v(" "),t._m(1)])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("App Download"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Need the app? Here’s links to the official Google Authenticator iOS and Android apps."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("a",{attrs:{href:"https://itunes.apple.com/vn/app/google-authenticator/id388497605?mt=8"}},[s("img",{attrs:{src:t.assetUrl("assets/img/ios-download.svg")}})]),t._v(" "),s("a",{attrs:{href:"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2"}},[s("img",{attrs:{src:t.assetUrl("assets/img/android-download.svg")}})])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Active Users"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Here’s a quick link to see which of your users have enabled two-factor authentication."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("a",{attrs:{href:t.adminUrl("users.php")}},[t._v(t._s(t.__("View users")))]),t._v(" "+t._s(t.__("who have enabled this feature."))+"\n\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Disable two-factor authentication on your website."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{"css-class":"sui-button-ghost",state:t.state},on:{click:function(e){return t.toggle(!1)}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Deactivate"))+"\n\t\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{"css-class":"sui-button-blue save-changes",type:"submit",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-dialog",attrs:{"aria-hidden":"true",tabindex:"-1",id:"edit-one-time-password-email"}},[s("div",{staticClass:"sui-dialog-overlay",attrs:{"data-a11y-dialog-hide":""}}),t._v(" "),s("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"dialogTitle","aria-describedby":"dialogDescription",role:"dialog"}},[s("div",{staticClass:"sui-box",attrs:{role:"document"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title",attrs:{id:"dialogTitle"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Edit Email"))+"\n\t\t\t\t\t\t")]),t._v(" "),t._m(2)]),t._v(" "),s("form",{attrs:{method:"post"}},[s("div",{staticClass:"sui-box-body"},[s("p",{attrs:{id:"dialogDescription"}},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("This email sends a temporary passcode when the user can’t access their phone."))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Subject"))+"\n\t\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.email_subject,expression:"model.email_subject"}],staticClass:"sui-form-control",attrs:{name:"subject",type:"text",id:"email_subject"},domProps:{value:t.model.email_subject},on:{input:function(e){e.target.composing||t.$set(t.model,"email_subject",e.target.value)}}})])]),t._v(" "),s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Sender"))+"\n\t\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.email_sender,expression:"model.email_sender"}],staticClass:"sui-form-control",attrs:{name:"sender",type:"text",id:"email_sender"},domProps:{value:t.model.email_sender},on:{input:function(e){e.target.composing||t.$set(t.model,"email_sender",e.target.value)}}})])])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Body"))+"\n\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.email_body,expression:"model.email_body"}],staticClass:"sui-form-control",attrs:{name:"body",rows:"8",id:"email_body"},domProps:{value:t.model.email_body},on:{input:function(e){e.target.composing||t.$set(t.model,"email_body",e.target.value)}}})])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Available variables"))+"\n\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("span",{staticClass:"sui-tag"},[s("strong",{domProps:{textContent:t._s(t.__("{{passcode}}"))}})]),t._v(" "),s("span",{staticClass:"sui-tag"},[s("strong",{domProps:{textContent:t._s(t.__("{{display_name}}"))}})])])])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-flex-child-right"},[s("button",{staticClass:"sui-button sui-button-ghost",attrs:{type:"button","data-a11y-dialog-hide":"my-accessible-dialog"}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Cancel"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-actions-right"},[s("submit-button",{staticClass:"sui-button",attrs:{type:"button",state:t.state},on:{click:t.saveEmailTemplate}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Save Template"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("submit-button",{staticClass:"sui-button sui-button-blue",attrs:{type:"button",state:t.state},on:{click:t.sendTestEmail}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Send Test"))+"\n\t\t\t\t\t\t\t\t")])],1)])])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-upload-file"},[e("span")])},function(){var t=this.$createElement,e=this._self._c||t;return e("button",{staticClass:"sui-button-icon",attrs:{type:"button","data-a11y-dialog-show":"edit-one-time-password-email"}},[e("i",{staticClass:"sui-icon-pencil",attrs:{"aria-hidden":"true"}})])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-right"},[e("button",{staticClass:"sui-dialog-close",attrs:{"data-a11y-dialog-hide":"","aria-label":"Close this dialog window"}})])}],!1,null,null,null).exports,c={mixins:[n.a],name:"mask-login",data:function(){return{misc:advanced_tools.misc,model:advanced_tools.model.mask_login,nonces:advanced_tools.nonces,endpoints:advanced_tools.endpoints,state:{on_saving:!1,original_state:!1}}},watch:{"model.mask_url":function(t){t=this.convertToSlug(t),this.model.mask_url=t,this.misc.new_login_url=this.misc.home_url+t,this.state.waiting_save=!0},"model.redirect_traffic_url":function(t){t=this.convertToSlug(t),this.model.redirect_traffic_url=t,this.misc.login_redirect_url=this.misc.home_url+t}},mounted:function(){this.state.original_state=this.model.mask_url.length>0},methods:{toggle:function(t){var e=this,s={};s.enabled=t,this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:s,module:"mask-login"})},(function(){e.model.enabled=t}))},updateSettings:function(){var t=this.model,e=this;this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:t,module:"mask-login"})},(function(){e.state.original_state=e.model.mask_url.length>0}))},convertToSlug:function(t){return t.toLowerCase().replace(/[^\w-/.]+/g,"")}},computed:{new_mask_login:function(){return this.misc.new_login_url},login_redirect_url:function(){return this.misc.login_redirect_url}}},u=Object(o.a)(c,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return!1===t.model.enabled?s("div",{staticClass:"sui-box",attrs:{id:"mask-login"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Mask Login Area"))+"\n\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-message"},[t.maybeHideBranding()?t._e():s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/2factor-disabled.svg"),"aria-hidden":"true"}}),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Change the location of WordPress's default login area, making it harder for automated bots to find and also more convenient for your users."))+"\n\t\t\t\t")]),t._v(" "),s("form",{attrs:{method:"post"}},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-blue activate",state:t.state},on:{click:function(e){return t.toggle(!0)}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Activate"))+"\n\t\t\t\t\t")])],1)])])]):s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Mask Login Area"))+"\n\t\t\t")])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Change your default WordPress login URL to hide your login area from hackers and bots."))+"\n\t\t\t\t")]),t._v(" "),!1!==t.misc.compatibility?s("div",{staticClass:"sui-notice sui-notice-error"},[s("p",t._l(t.misc.compatibility,(function(e){return s("span",[t._v("\n "+t._s(e)+"\n ")])})),0)]):t._e(),t._v(" "),!1===t.state.original_state?s("div",{staticClass:"sui-notice sui-notice-warning"},[s("p",[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Masking is currently inactive. Choose your URL and save your settings to finish setup."))+"\n\t\t\t\t\t")])]):s("div",{staticClass:"sui-notice sui-notice-info"},[s("p",[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Masking is currently active at "))+" "),s("strong",{domProps:{textContent:t._s(t.misc.new_login_url)}})])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Masking URL"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose the new URL slug where users of your website will now navigate to log in or register."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("You can specify any URLs. For security reasons, less obvious URLs are recommended as they are harder for bots to guess."))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("New Login URL"))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.mask_url,expression:"model.mask_url"}],staticClass:"sui-form-control",attrs:{type:"text",name:"mask_url",placeholder:"E.g. dashboard"},domProps:{value:t.model.mask_url},on:{input:function(e){e.target.composing||t.$set(t.model,"mask_url",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Users will login at"))+" "),s("a",{attrs:{href:t.new_mask_login}},[t._v(t._s(t.new_mask_login))]),t._v(". "+t._s(t.__("Note: Registration and Password Reset emails have hardcoded URLs in them. We will update them automatically to match your new login URL"))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Redirect traffic"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("With this feature you can send visitors and bots who try to visit the default Wordpress login URLs to a separate URL to avoid 404s."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.redirect_traffic,expression:"model.redirect_traffic"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",name:"redirect_traffic",id:"redirect_traffic","true-value":!0,"false-value":!1},domProps:{checked:Array.isArray(t.model.redirect_traffic)?t._i(t.model.redirect_traffic,null)>-1:t.model.redirect_traffic},on:{change:function(e){var s=t.model.redirect_traffic,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=t._i(s,null);i.checked?n<0&&t.$set(t.model,"redirect_traffic",s.concat([null])):n>-1&&t.$set(t.model,"redirect_traffic",s.slice(0,n).concat(s.slice(n+1)))}else t.$set(t.model,"redirect_traffic",a)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"redirect_traffic"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Enable 404 redirection"))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:!0===t.model.redirect_traffic,expression:"model.redirect_traffic===true"}],staticClass:"sui-border-frame sui-toggle-content",attrs:{id:"redirectTrafficContainer"}},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Redirection URL")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.redirect_traffic_url,expression:"model.redirect_traffic_url"}],staticClass:"sui-form-control",attrs:{placeholder:"E.g. 404-error",type:"text",name:"redirect_traffic_url"},domProps:{value:t.model.redirect_traffic_url},on:{input:function(e){e.target.composing||t.$set(t.model,"redirect_traffic_url",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Visitors who visit the default login URLs will be redirected to"))+" "),s("a",{attrs:{href:t.login_redirect_url}},[t._v(t._s(t.login_redirect_url))])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Disable login area masking and return to the default wp-admin and wp-login URLS."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:function(e){return t.toggle(!1)}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Deactivate"))+"\n\t\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("submit-button",{attrs:{type:"submit",state:t.state,"css-class":"sui-button-blue save-changes"}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t")])],1)])])}),[],!1,null,null,null).exports,d={mixins:[n.a],components:{"two-factors":l,"mask-login":u},data:function(){return{state:{on_saving:!1},whitelabel:defender.whitelabel,is_free:defender.is_free,view:""}},created:function(){var t=new URLSearchParams(window.location.search).get("view");null===t&&(t="two-factor-auth"),this.view=t},watch:{view:function(t,e){history.replaceState({},null,this.adminUrl()+"admin.php?page=wdf-advanced-tools&view="+this.view)}},mounted:function(){self=this,jQuery(".sui-mobile-nav").change((function(){self.view=jQuery(this).val()}))}},f=Object(o.a)(d,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-wrap",class:[t.maybeHighContrast()]},[s("div",{staticClass:"advanced-tools"},[s("div",{staticClass:"sui-header"},[s("h1",{staticClass:"sui-header-title"},[t._v(t._s(t.__("Advanced Tools")))]),t._v(" "),s("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender/#advanced-tools"}})],1),t._v(" "),s("div",{staticClass:"sui-row-with-sidenav"},[s("div",{staticClass:"sui-sidenav"},[s("ul",{staticClass:"sui-vertical-tabs sui-sidenav-hide-md"},[s("li",{staticClass:"sui-vertical-tab",class:{current:"two-factor-auth"===t.view}},[s("a",{attrs:{"data-tab":"login_lockout",href:"#2factor"},on:{click:function(e){e.preventDefault(),t.view="two-factor-auth"}}},[t._v(t._s(t.__("Two-Factor Auth")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"mask-login"===t.view}},[s("a",{attrs:{"data-tab":"notfound_lockout",href:"#mask-login"},on:{click:function(e){e.preventDefault(),t.view="mask-login"}}},[t._v(t._s(t.__("Mask Login Area")))])])]),t._v(" "),s("div",{staticClass:"sui-sidenav-hide-lg"},[s("select",{staticClass:"sui-mobile-nav"},[s("option",{attrs:{value:"two-factor-auth"}},[t._v(t._s(t.__("Two-Factor Auth")))]),t._v(" "),s("option",{attrs:{value:"mask-login"}},[t._v(t._s(t.__("Mask Login Area")))])])])]),t._v(" "),s("two-factors",{directives:[{name:"show",rawName:"v-show",value:"two-factor-auth"===t.view,expression:"view==='two-factor-auth'"}]}),t._v(" "),s("mask-login",{directives:[{name:"show",rawName:"v-show",value:"mask-login"===t.view,expression:"view==='mask-login'"}]})],1)]),t._v(" "),s("app-footer")],1)}),[],!1,null,null,null).exports,_=s("./src/component/submit-button.vue"),p=s("./src/component/footer.vue"),m=s("./src/component/doc-link.vue");a.a.component("app-footer",p.a),a.a.component("doc-link",m.a),a.a.component("submit-button",_.a);new a.a({el:"#defender",components:{advanced_tools:f},render:function(t){return t(f)}})},"./src/component/doc-link.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],name:"doc-link",props:["link"],data:function(){return{whitelabel:defender.whitelabel}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return!1===this.whitelabel.hide_doc_link?e("div",{staticClass:"sui-actions-right"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:this.link,target:"_blank"}},[e("i",{staticClass:"sui-icon-academy"}),this._v(" "+this._s(this.__("View Documentation"))+"\n ")])]):this._e()}),[],!1,null,null,null);e.a=n.exports},"./src/component/footer.vue":function(t,e,s){"use strict";var i={data:function(){return{whitelabel:defender.whitelabel,is_free:defender.is_free}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[!0===t.whitelabel.change_footer?s("div",{staticClass:"sui-footer"},[t._v("\n "+t._s(t.whitelabel.footer_text)+"\n ")]):s("div",{staticClass:"sui-footer"},[t._v("Made with "),s("i",{staticClass:"sui-icon-heart"}),t._v(" by WPMU DEV")]),t._v(" "),!1===t.whitelabel.hide_doc_link?s("div",[t.is_free?s("ul",{staticClass:"sui-footer-nav"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7)]):s("ul",{staticClass:"sui-footer-nav"},[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15)]),t._v(" "),t._m(16)]):t._e()])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://profiles.wordpress.org/wpmudev#content-plugins",target:"_blank"}},[this._v("Free\n Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/features/",target:"_blank"}},[this._v("Membership")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://wordpress.org/support/plugin/plugin-name",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/projects/category/plugins/",target:"_blank"}},[this._v("Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/support/",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/community/",target:"_blank"}},[this._v("Community")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ul",{staticClass:"sui-footer-social"},[s("li",[s("a",{attrs:{href:"https://www.facebook.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-facebook",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Facebook")])])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://twitter.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-twitter",attrs:{"aria-hidden":"true"}})]),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Twitter")])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://www.instagram.com/wpmu_dev/",target:"_blank"}},[s("i",{staticClass:"sui-icon-instagram",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Instagram")])])])])}],!1,null,null,null);e.a=n.exports},"./src/component/submit-button.vue":function(t,e,s){"use strict";var i={name:"submit-button",props:["id","state","text","css-class","type"],computed:{getClass:function(){return"sui-button "+this.cssClass}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("button",{staticClass:"sui-button",class:[t.getClass,{"sui-button-onload":t.state.on_saving}],attrs:{id:t.id,type:t.type,disabled:t.state.on_saving},on:{click:function(e){return t.$emit("click")}}},[s("span",{staticClass:"sui-loading-text"},[t._t("default")],2),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}),[],!1,null,null,null);e.a=n.exports},"./src/helper/base_hepler.js":function(t,e,s){"use strict";var i=s("./node_modules/xss/lib/index.js"),a=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var s=[],i=!0,a=!1,n=void 0;try{for(var r,o=t[Symbol.iterator]();!(i=(r=o.next()).done)&&(s.push(r.value),!e||s.length!==e);i=!0);}catch(t){a=!0,n=t}finally{try{!i&&o.return&&o.return()}finally{if(a)throw n}}return s}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},n=wp.i18n,r={whiteList:{a:["href","title","target"],span:["class"],strong:["*"]},safeAttrValue:function(t,e,s,a){return"a"===t&&"href"===e&&"%s"===s?"%s":Object(i.safeAttrValue)(t,e,s,a)}},o=new i.FilterXSS(r),l=[];e.a={methods:{__:function(t){var e=n.__(t,"wpdef");return o.process(e)},xss:function(t){return o.process(t)},vsprintf:function(t){return n.sprintf.apply(null,arguments)},siteUrl:function(t){return void 0!==t?defender.site_url+t:defender.site_url},adminUrl:function(t){return void 0!==t?defender.admin_url+t:defender.admin_url},assetUrl:function(t){return defender.defender_url+t},maybeHighContrast:function(){return{"sui-color-accessible":!0===defender.misc.high_contrast}},maybeHideBranding:function(){return defender.whitelabel.hide_branding},campaign_url:function(t){return"https://premium.wpmudev.org/project/wp-defender/?utm_source=defender&utm_medium=plugin&utm_campaign="+t},httpRequest:function(t,e,s,i,a){var n=this;void 0===a&&(this.state.on_saving=!0);var r=ajaxurl+"?action="+this.endpoints[e]+"&_wpnonce="+this.nonces[e],o=jQuery.ajax({url:r,method:t,data:s,success:function(t){var e=t.data;n.state.on_saving=!1,void 0!==e&&void 0!==e.message&&(t.success?Defender.showNotification("success",e.message):Defender.showNotification("error",e.message)),void 0!==i&&i(t)}});l.push(o)},httpGetRequest:function(t,e,s,i){this.httpRequest("get",t,e,s,i)},httpPostRequest:function(t,e,s,i){this.httpRequest("post",t,e,s,i)},abortAllRequests:function(){for(var t=0;t<l.length;t++)l[t].abort()},getQueryStringParams:function(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((function(t,e){var s=e.split("="),i=a(s,2),n=i[0],r=i[1];return t[n]=r?decodeURIComponent(r.replace(/\+/g," ")):"",t}),{}):{}},rebindSUI:function(){jQuery("select:not([multiple])").each((function(){SUI.suiSelect(this)})),jQuery(".sui-accordion").each((function(){SUI.suiAccordion(this)}));var t=jQuery(".sui-wrap");SUI.dialogs={},jQuery(".sui-dialog").each((function(){SUI.dialogs[this.id]=new A11yDialog(this,t)}))}}}},vue:function(t,e){t.exports=Vue}});
|
assets/app/audit.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t){var e=window.webpackHotUpdate;window.webpackHotUpdate=function(t,s){!function(t,e){if(!b[t]||!y[t])return;for(var s in y[t]=!1,e)Object.prototype.hasOwnProperty.call(e,s)&&(m[s]=e[s]);0==--p&&0===v&&C()}(t,s),e&&e(t,s)};var s,i=!0,n="495f1b1cd29114aab5aa",a={},r=[],o=[];function l(t){var e=D[t];if(!e)return M;var i=function(i){return e.hot.active?(D[i]?-1===D[i].parents.indexOf(t)&&D[i].parents.push(t):(r=[t],s=i),-1===e.children.indexOf(i)&&e.children.push(i)):(console.warn("[HMR] unexpected require("+i+") from disposed module "+t),r=[]),M(i)},n=function(t){return{configurable:!0,enumerable:!0,get:function(){return M[t]},set:function(e){M[t]=e}}};for(var a in M)Object.prototype.hasOwnProperty.call(M,a)&&"e"!==a&&"t"!==a&&Object.defineProperty(i,a,n(a));return i.e=function(t){return"ready"===c&&h("prepare"),v++,M.e(t).then(e,(function(t){throw e(),t}));function e(){v--,"prepare"===c&&(g[t]||x(t),0===v&&0===p&&C())}},i.t=function(t,e){return 1&e&&(t=i(t)),M.t(t,-2&e)},i}function u(t){var e={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:s!==t,active:!0,accept:function(t,s){if(void 0===t)e._selfAccepted=!0;else if("function"==typeof t)e._selfAccepted=t;else if("object"==typeof t)for(var i=0;i<t.length;i++)e._acceptedDependencies[t[i]]=s||function(){};else e._acceptedDependencies[t]=s||function(){}},decline:function(t){if(void 0===t)e._selfDeclined=!0;else if("object"==typeof t)for(var s=0;s<t.length;s++)e._declinedDependencies[t[s]]=!0;else e._declinedDependencies[t]=!0},dispose:function(t){e._disposeHandlers.push(t)},addDisposeHandler:function(t){e._disposeHandlers.push(t)},removeDisposeHandler:function(t){var s=e._disposeHandlers.indexOf(t);s>=0&&e._disposeHandlers.splice(s,1)},check:k,apply:S,status:function(t){if(!t)return c;d.push(t)},addStatusHandler:function(t){d.push(t)},removeStatusHandler:function(t){var e=d.indexOf(t);e>=0&&d.splice(e,1)},data:a[t]};return s=void 0,e}var d=[],c="idle";function h(t){c=t;for(var e=0;e<d.length;e++)d[e].call(null,t)}var f,m,_,p=0,v=0,g={},y={},b={};function w(t){return+t+""===t?+t:t}function k(t){if("idle"!==c)throw new Error("check() is only allowed in idle status");return i=t,h("check"),(e=1e4,e=e||1e4,new Promise((function(t,s){if("undefined"==typeof XMLHttpRequest)return s(new Error("No browser support"));try{var i=new XMLHttpRequest,a=M.p+""+n+".hot-update.json";i.open("GET",a,!0),i.timeout=e,i.send(null)}catch(t){return s(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)s(new Error("Manifest request to "+a+" timed out."));else if(404===i.status)t();else if(200!==i.status&&304!==i.status)s(new Error("Manifest request to "+a+" failed."));else{try{var e=JSON.parse(i.responseText)}catch(t){return void s(t)}t(e)}}}))).then((function(t){if(!t)return h("idle"),null;y={},g={},b=t.c,_=t.h,h("prepare");var e=new Promise((function(t,e){f={resolve:t,reject:e}}));m={};return x(1),"prepare"===c&&0===v&&0===p&&C(),e}));var e}function x(t){b[t]?(y[t]=!0,p++,function(t){var e=document.createElement("script");e.charset="utf-8",e.src=M.p+""+t+"."+n+".hot-update.js",document.head.appendChild(e)}(t)):g[t]=!0}function C(){h("ready");var t=f;if(f=null,t)if(i)Promise.resolve().then((function(){return S(i)})).then((function(e){t.resolve(e)}),(function(e){t.reject(e)}));else{var e=[];for(var s in m)Object.prototype.hasOwnProperty.call(m,s)&&e.push(w(s));t.resolve(e)}}function S(e){if("ready"!==c)throw new Error("apply() is only allowed in ready status");var s,i,o,l,u;function d(t){for(var e=[t],s={},i=e.map((function(t){return{chain:[t],id:t}}));i.length>0;){var n=i.pop(),a=n.id,r=n.chain;if((l=D[a])&&!l.hot._selfAccepted){if(l.hot._selfDeclined)return{type:"self-declined",chain:r,moduleId:a};if(l.hot._main)return{type:"unaccepted",chain:r,moduleId:a};for(var o=0;o<l.parents.length;o++){var u=l.parents[o],d=D[u];if(d){if(d.hot._declinedDependencies[a])return{type:"declined",chain:r.concat([u]),moduleId:a,parentId:u};-1===e.indexOf(u)&&(d.hot._acceptedDependencies[a]?(s[u]||(s[u]=[]),f(s[u],[a])):(delete s[u],e.push(u),i.push({chain:r.concat([u]),id:u})))}}}}return{type:"accepted",moduleId:t,outdatedModules:e,outdatedDependencies:s}}function f(t,e){for(var s=0;s<e.length;s++){var i=e[s];-1===t.indexOf(i)&&t.push(i)}}e=e||{};var p={},v=[],g={},y=function(){console.warn("[HMR] unexpected require("+x.moduleId+") to disposed module")};for(var k in m)if(Object.prototype.hasOwnProperty.call(m,k)){var x;u=w(k);var C=!1,S=!1,O=!1,Y="";switch((x=m[k]?d(u):{type:"disposed",moduleId:k}).chain&&(Y="\nUpdate propagation: "+x.chain.join(" -> ")),x.type){case"self-declined":e.onDeclined&&e.onDeclined(x),e.ignoreDeclined||(C=new Error("Aborted because of self decline: "+x.moduleId+Y));break;case"declined":e.onDeclined&&e.onDeclined(x),e.ignoreDeclined||(C=new Error("Aborted because of declined dependency: "+x.moduleId+" in "+x.parentId+Y));break;case"unaccepted":e.onUnaccepted&&e.onUnaccepted(x),e.ignoreUnaccepted||(C=new Error("Aborted because "+u+" is not accepted"+Y));break;case"accepted":e.onAccepted&&e.onAccepted(x),S=!0;break;case"disposed":e.onDisposed&&e.onDisposed(x),O=!0;break;default:throw new Error("Unexception type "+x.type)}if(C)return h("abort"),Promise.reject(C);if(S)for(u in g[u]=m[u],f(v,x.outdatedModules),x.outdatedDependencies)Object.prototype.hasOwnProperty.call(x.outdatedDependencies,u)&&(p[u]||(p[u]=[]),f(p[u],x.outdatedDependencies[u]));O&&(f(v,[x.moduleId]),g[u]=y)}var T,P=[];for(i=0;i<v.length;i++)u=v[i],D[u]&&D[u].hot._selfAccepted&&g[u]!==y&&P.push({module:u,errorHandler:D[u].hot._selfAccepted});h("dispose"),Object.keys(b).forEach((function(t){!1===b[t]&&function(t){delete installedChunks[t]}(t)}));for(var j,L,A=v.slice();A.length>0;)if(u=A.pop(),l=D[u]){var E={},R=l.hot._disposeHandlers;for(o=0;o<R.length;o++)(s=R[o])(E);for(a[u]=E,l.hot.active=!1,delete D[u],delete p[u],o=0;o<l.children.length;o++){var N=D[l.children[o]];N&&((T=N.parents.indexOf(u))>=0&&N.parents.splice(T,1))}}for(u in p)if(Object.prototype.hasOwnProperty.call(p,u)&&(l=D[u]))for(L=p[u],o=0;o<L.length;o++)j=L[o],(T=l.children.indexOf(j))>=0&&l.children.splice(T,1);for(u in h("apply"),n=_,g)Object.prototype.hasOwnProperty.call(g,u)&&(t[u]=g[u]);var H=null;for(u in p)if(Object.prototype.hasOwnProperty.call(p,u)&&(l=D[u])){L=p[u];var I=[];for(i=0;i<L.length;i++)if(j=L[i],s=l.hot._acceptedDependencies[j]){if(-1!==I.indexOf(s))continue;I.push(s)}for(i=0;i<I.length;i++){s=I[i];try{s(L)}catch(t){e.onErrored&&e.onErrored({type:"accept-errored",moduleId:u,dependencyId:L[i],error:t}),e.ignoreErrored||H||(H=t)}}}for(i=0;i<P.length;i++){var U=P[i];u=U.module,r=[u];try{M(u)}catch(t){if("function"==typeof U.errorHandler)try{U.errorHandler(t)}catch(s){e.onErrored&&e.onErrored({type:"self-accept-error-handler-errored",moduleId:u,error:s,originalError:t}),e.ignoreErrored||H||(H=s),H||(H=t)}else e.onErrored&&e.onErrored({type:"self-accept-errored",moduleId:u,error:t}),e.ignoreErrored||H||(H=t)}}return H?(h("fail"),Promise.reject(H)):(h("idle"),new Promise((function(t){t(v)})))}var D={};function M(e){if(D[e])return D[e].exports;var s=D[e]={i:e,l:!1,exports:{},hot:u(e),parents:(o=r,r=[],o),children:[]};return t[e].call(s.exports,s,s.exports,l(e)),s.l=!0,s.exports}M.m=t,M.c=D,M.d=function(t,e,s){M.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},M.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},M.t=function(t,e){if(1&e&&(t=M(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(M.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)M.d(s,i,function(e){return t[e]}.bind(null,i));return s},M.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return M.d(e,"a",e),e},M.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},M.p="",M.h=function(){return n},l("./src/audit.js")(M.s="./src/audit.js")}({"./node_modules/cssfilter/lib/css.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),n=s("./node_modules/cssfilter/lib/parser.js");s("./node_modules/cssfilter/lib/util.js");function a(t){return null==t}function r(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).whiteList=t.whiteList||i.whiteList,t.onAttr=t.onAttr||i.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||i.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,this.options=t}r.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onAttr,r=e.onIgnoreAttr,o=e.safeAttrValue;return n(t,(function(t,e,n,l,u){var d=s[n],c=!1;if(!0===d?c=d:"function"==typeof d?c=d(l):d instanceof RegExp&&(c=d.test(l)),!0!==c&&(c=!1),l=o(n,l)){var h,f={position:e,sourcePosition:t,source:u,isWhite:c};return c?a(h=i(n,l,f))?n+":"+l:h:a(h=r(n,l,f))?void 0:h}}))},t.exports=r},"./node_modules/cssfilter/lib/default.js":function(t,e){function s(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var i=/javascript\s*\:/gim;e.whiteList=s(),e.getDefaultWhiteList=s,e.onAttr=function(t,e,s){},e.onIgnoreAttr=function(t,e,s){},e.safeAttrValue=function(t,e){return i.test(e)?"":e}},"./node_modules/cssfilter/lib/index.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),n=s("./node_modules/cssfilter/lib/css.js");for(var a in(e=t.exports=function(t,e){return new n(e).process(t)}).FilterCSS=n,i)e[a]=i[a];"undefined"!=typeof window&&(window.filterCSS=t.exports)},"./node_modules/cssfilter/lib/parser.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/util.js");t.exports=function(t,e){";"!==(t=i.trimRight(t))[t.length-1]&&(t+=";");var s=t.length,n=!1,a=0,r=0,o="";function l(){if(!n){var s=i.trim(t.slice(a,r)),l=s.indexOf(":");if(-1!==l){var u=i.trim(s.slice(0,l)),d=i.trim(s.slice(l+1));if(u){var c=e(a,o.length,u,d,s);c&&(o+=c+"; ")}}}a=r+1}for(;r<s;r++){var u=t[r];if("/"===u&&"*"===t[r+1]){var d=t.indexOf("*/",r+2);if(-1===d)break;a=(r=d+1)+1,n=!1}else"("===u?n=!0:")"===u?n=!1:";"===u?n||l():"\n"===u&&l()}return i.trim(o)}},"./node_modules/cssfilter/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,n;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,n=t.length;i<n;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\s*$)/g,"")}}},"./node_modules/lodash/_Symbol.js":function(t,e,s){var i=s("./node_modules/lodash/_root.js").Symbol;t.exports=i},"./node_modules/lodash/_baseGetTag.js":function(t,e,s){var i=s("./node_modules/lodash/_Symbol.js"),n=s("./node_modules/lodash/_getRawTag.js"),a=s("./node_modules/lodash/_objectToString.js"),r=i?i.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":r&&r in Object(t)?n(t):a(t)}},"./node_modules/lodash/_baseSlice.js":function(t,e){t.exports=function(t,e,s){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),(s=s>n?n:s)<0&&(s+=n),n=e>s?0:s-e>>>0,e>>>=0;for(var a=Array(n);++i<n;)a[i]=t[i+e];return a}},"./node_modules/lodash/_freeGlobal.js":function(t,e,s){(function(e){var s="object"==typeof e&&e&&e.Object===Object&&e;t.exports=s}).call(this,s("./node_modules/webpack/buildin/global.js"))},"./node_modules/lodash/_getRawTag.js":function(t,e,s){var i=s("./node_modules/lodash/_Symbol.js"),n=Object.prototype,a=n.hasOwnProperty,r=n.toString,o=i?i.toStringTag:void 0;t.exports=function(t){var e=a.call(t,o),s=t[o];try{t[o]=void 0;var i=!0}catch(t){}var n=r.call(t);return i&&(e?t[o]=s:delete t[o]),n}},"./node_modules/lodash/_isIndex.js":function(t,e){var s=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){var i=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==i||"symbol"!=i&&s.test(t))&&t>-1&&t%1==0&&t<e}},"./node_modules/lodash/_isIterateeCall.js":function(t,e,s){var i=s("./node_modules/lodash/eq.js"),n=s("./node_modules/lodash/isArrayLike.js"),a=s("./node_modules/lodash/_isIndex.js"),r=s("./node_modules/lodash/isObject.js");t.exports=function(t,e,s){if(!r(s))return!1;var o=typeof e;return!!("number"==o?n(s)&&a(e,s.length):"string"==o&&e in s)&&i(s[e],t)}},"./node_modules/lodash/_objectToString.js":function(t,e){var s=Object.prototype.toString;t.exports=function(t){return s.call(t)}},"./node_modules/lodash/_root.js":function(t,e,s){var i=s("./node_modules/lodash/_freeGlobal.js"),n="object"==typeof self&&self&&self.Object===Object&&self,a=i||n||Function("return this")();t.exports=a},"./node_modules/lodash/chunk.js":function(t,e,s){var i=s("./node_modules/lodash/_baseSlice.js"),n=s("./node_modules/lodash/_isIterateeCall.js"),a=s("./node_modules/lodash/toInteger.js"),r=Math.ceil,o=Math.max;t.exports=function(t,e,s){e=(s?n(t,e,s):void 0===e)?1:o(a(e),0);var l=null==t?0:t.length;if(!l||e<1)return[];for(var u=0,d=0,c=Array(r(l/e));u<l;)c[d++]=i(t,u,u+=e);return c}},"./node_modules/lodash/eq.js":function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},"./node_modules/lodash/isArrayLike.js":function(t,e,s){var i=s("./node_modules/lodash/isFunction.js"),n=s("./node_modules/lodash/isLength.js");t.exports=function(t){return null!=t&&n(t.length)&&!i(t)}},"./node_modules/lodash/isFunction.js":function(t,e,s){var i=s("./node_modules/lodash/_baseGetTag.js"),n=s("./node_modules/lodash/isObject.js");t.exports=function(t){if(!n(t))return!1;var e=i(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},"./node_modules/lodash/isLength.js":function(t,e){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},"./node_modules/lodash/isObject.js":function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},"./node_modules/lodash/isObjectLike.js":function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},"./node_modules/lodash/isSymbol.js":function(t,e,s){var i=s("./node_modules/lodash/_baseGetTag.js"),n=s("./node_modules/lodash/isObjectLike.js");t.exports=function(t){return"symbol"==typeof t||n(t)&&"[object Symbol]"==i(t)}},"./node_modules/lodash/toFinite.js":function(t,e,s){var i=s("./node_modules/lodash/toNumber.js");t.exports=function(t){return t?(t=i(t))===1/0||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},"./node_modules/lodash/toInteger.js":function(t,e,s){var i=s("./node_modules/lodash/toFinite.js");t.exports=function(t){var e=i(t),s=e%1;return e==e?s?e-s:e:0}},"./node_modules/lodash/toNumber.js":function(t,e,s){var i=s("./node_modules/lodash/isObject.js"),n=s("./node_modules/lodash/isSymbol.js"),a=/^\s+|\s+$/g,r=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(n(t))return NaN;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(a,"");var s=o.test(t);return s||l.test(t)?u(t.slice(2),s?2:8):r.test(t)?NaN:+t}},"./node_modules/moment/moment.js":function(t,e,s){(function(t){t.exports=function(){"use strict";var e,s;function i(){return e.apply(null,arguments)}function n(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function a(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function r(t){return void 0===t}function o(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function l(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function u(t,e){var s,i=[];for(s=0;s<t.length;++s)i.push(e(t[s],s));return i}function d(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function c(t,e){for(var s in e)d(e,s)&&(t[s]=e[s]);return d(e,"toString")&&(t.toString=e.toString),d(e,"valueOf")&&(t.valueOf=e.valueOf),t}function h(t,e,s,i){return xe(t,e,s,i,!0).utc()}function f(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function m(t){if(null==t._isValid){var e=f(t),i=s.call(e.parsedDateParts,(function(t){return null!=t})),n=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&i);if(t._strict&&(n=n&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return n;t._isValid=n}return t._isValid}function _(t){var e=h(NaN);return null!=t?c(f(e),t):f(e).userInvalidated=!0,e}s=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),s=e.length>>>0,i=0;i<s;i++)if(i in e&&t.call(this,e[i],i,e))return!0;return!1};var p=i.momentProperties=[];function v(t,e){var s,i,n;if(r(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),r(e._i)||(t._i=e._i),r(e._f)||(t._f=e._f),r(e._l)||(t._l=e._l),r(e._strict)||(t._strict=e._strict),r(e._tzm)||(t._tzm=e._tzm),r(e._isUTC)||(t._isUTC=e._isUTC),r(e._offset)||(t._offset=e._offset),r(e._pf)||(t._pf=f(e)),r(e._locale)||(t._locale=e._locale),p.length>0)for(s=0;s<p.length;s++)r(n=e[i=p[s]])||(t[i]=n);return t}var g=!1;function y(t){v(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===g&&(g=!0,i.updateOffset(this),g=!1)}function b(t){return t instanceof y||null!=t&&null!=t._isAMomentObject}function w(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function k(t){var e=+t,s=0;return 0!==e&&isFinite(e)&&(s=w(e)),s}function x(t,e,s){var i,n=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),r=0;for(i=0;i<n;i++)(s&&t[i]!==e[i]||!s&&k(t[i])!==k(e[i]))&&r++;return r+a}function C(t){!1===i.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function S(t,e){var s=!0;return c((function(){if(null!=i.deprecationHandler&&i.deprecationHandler(null,t),s){for(var n,a=[],r=0;r<arguments.length;r++){if(n="","object"==typeof arguments[r]){for(var o in n+="\n["+r+"] ",arguments[0])n+=o+": "+arguments[0][o]+", ";n=n.slice(0,-2)}else n=arguments[r];a.push(n)}C(t+"\nArguments: "+Array.prototype.slice.call(a).join("")+"\n"+(new Error).stack),s=!1}return e.apply(this,arguments)}),e)}var D,M={};function O(t,e){null!=i.deprecationHandler&&i.deprecationHandler(t,e),M[t]||(C(e),M[t]=!0)}function Y(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function T(t,e){var s,i=c({},t);for(s in e)d(e,s)&&(a(t[s])&&a(e[s])?(i[s]={},c(i[s],t[s]),c(i[s],e[s])):null!=e[s]?i[s]=e[s]:delete i[s]);for(s in t)d(t,s)&&!d(e,s)&&a(t[s])&&(i[s]=c({},i[s]));return i}function P(t){null!=t&&this.set(t)}i.suppressDeprecationWarnings=!1,i.deprecationHandler=null,D=Object.keys?Object.keys:function(t){var e,s=[];for(e in t)d(t,e)&&s.push(e);return s};var j={};function L(t,e){var s=t.toLowerCase();j[s]=j[s+"s"]=j[e]=t}function A(t){return"string"==typeof t?j[t]||j[t.toLowerCase()]:void 0}function E(t){var e,s,i={};for(s in t)d(t,s)&&(e=A(s))&&(i[e]=t[s]);return i}var R={};function N(t,e){R[t]=e}function H(t,e,s){var i=""+Math.abs(t),n=e-i.length;return(t>=0?s?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+i}var I=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,U=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,W={},F={};function V(t,e,s,i){var n=i;"string"==typeof i&&(n=function(){return this[i]()}),t&&(F[t]=n),e&&(F[e[0]]=function(){return H(n.apply(this,arguments),e[1],e[2])}),s&&(F[s]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function $(t,e){return t.isValid()?(e=G(e,t.localeData()),W[e]=W[e]||function(t){var e,s,i,n=t.match(I);for(e=0,s=n.length;e<s;e++)F[n[e]]?n[e]=F[n[e]]:n[e]=(i=n[e]).match(/\[[\s\S]/)?i.replace(/^\[|\]$/g,""):i.replace(/\\/g,"");return function(e){var i,a="";for(i=0;i<s;i++)a+=Y(n[i])?n[i].call(e,t):n[i];return a}}(e),W[e](t)):t.localeData().invalidDate()}function G(t,e){var s=5;function i(t){return e.longDateFormat(t)||t}for(U.lastIndex=0;s>=0&&U.test(t);)t=t.replace(U,i),U.lastIndex=0,s-=1;return t}var z=/\d/,q=/\d\d/,Z=/\d{3}/,B=/\d{4}/,Q=/[+-]?\d{6}/,J=/\d\d?/,X=/\d\d\d\d?/,K=/\d\d\d\d\d\d?/,tt=/\d{1,3}/,et=/\d{1,4}/,st=/[+-]?\d{1,6}/,it=/\d+/,nt=/[+-]?\d+/,at=/Z|[+-]\d\d:?\d\d/gi,rt=/Z|[+-]\d\d(?::?\d\d)?/gi,ot=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,lt={};function ut(t,e,s){lt[t]=Y(e)?e:function(t,i){return t&&s?s:e}}function dt(t,e){return d(lt,t)?lt[t](e._strict,e._locale):new RegExp(ct(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(t,e,s,i,n){return e||s||i||n}))))}function ct(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var ht={};function ft(t,e){var s,i=e;for("string"==typeof t&&(t=[t]),o(e)&&(i=function(t,s){s[e]=k(t)}),s=0;s<t.length;s++)ht[t[s]]=i}function mt(t,e){ft(t,(function(t,s,i,n){i._w=i._w||{},e(t,i._w,i,n)}))}function _t(t,e,s){null!=e&&d(ht,t)&&ht[t](e,s._a,s,t)}function pt(t){return vt(t)?366:365}function vt(t){return t%4==0&&t%100!=0||t%400==0}V("Y",0,0,(function(){var t=this.year();return t<=9999?""+t:"+"+t})),V(0,["YY",2],0,(function(){return this.year()%100})),V(0,["YYYY",4],0,"year"),V(0,["YYYYY",5],0,"year"),V(0,["YYYYYY",6,!0],0,"year"),L("year","y"),N("year",1),ut("Y",nt),ut("YY",J,q),ut("YYYY",et,B),ut("YYYYY",st,Q),ut("YYYYYY",st,Q),ft(["YYYYY","YYYYYY"],0),ft("YYYY",(function(t,e){e[0]=2===t.length?i.parseTwoDigitYear(t):k(t)})),ft("YY",(function(t,e){e[0]=i.parseTwoDigitYear(t)})),ft("Y",(function(t,e){e[0]=parseInt(t,10)})),i.parseTwoDigitYear=function(t){return k(t)+(k(t)>68?1900:2e3)};var gt,yt=bt("FullYear",!0);function bt(t,e){return function(s){return null!=s?(kt(this,t,s),i.updateOffset(this,e),this):wt(this,t)}}function wt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function kt(t,e,s){t.isValid()&&!isNaN(s)&&("FullYear"===e&&vt(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](s,t.month(),xt(s,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](s))}function xt(t,e){if(isNaN(t)||isNaN(e))return NaN;var s,i=(e%(s=12)+s)%s;return t+=(e-i)/12,1===i?vt(t)?29:28:31-i%7%2}gt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},V("M",["MM",2],"Mo",(function(){return this.month()+1})),V("MMM",0,0,(function(t){return this.localeData().monthsShort(this,t)})),V("MMMM",0,0,(function(t){return this.localeData().months(this,t)})),L("month","M"),N("month",8),ut("M",J),ut("MM",J,q),ut("MMM",(function(t,e){return e.monthsShortRegex(t)})),ut("MMMM",(function(t,e){return e.monthsRegex(t)})),ft(["M","MM"],(function(t,e){e[1]=k(t)-1})),ft(["MMM","MMMM"],(function(t,e,s,i){var n=s._locale.monthsParse(t,i,s._strict);null!=n?e[1]=n:f(s).invalidMonth=t}));var Ct=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,St="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Dt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Mt(t,e,s){var i,n,a,r=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)a=h([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(a,"").toLocaleLowerCase();return s?"MMM"===e?-1!==(n=gt.call(this._shortMonthsParse,r))?n:null:-1!==(n=gt.call(this._longMonthsParse,r))?n:null:"MMM"===e?-1!==(n=gt.call(this._shortMonthsParse,r))?n:-1!==(n=gt.call(this._longMonthsParse,r))?n:null:-1!==(n=gt.call(this._longMonthsParse,r))?n:-1!==(n=gt.call(this._shortMonthsParse,r))?n:null}function Ot(t,e){var s;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=k(e);else if(!o(e=t.localeData().monthsParse(e)))return t;return s=Math.min(t.date(),xt(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,s),t}function Yt(t){return null!=t?(Ot(this,t),i.updateOffset(this,!0),this):wt(this,"Month")}var Tt=ot,Pt=ot;function jt(){function t(t,e){return e.length-t.length}var e,s,i=[],n=[],a=[];for(e=0;e<12;e++)s=h([2e3,e]),i.push(this.monthsShort(s,"")),n.push(this.months(s,"")),a.push(this.months(s,"")),a.push(this.monthsShort(s,""));for(i.sort(t),n.sort(t),a.sort(t),e=0;e<12;e++)i[e]=ct(i[e]),n[e]=ct(n[e]);for(e=0;e<24;e++)a[e]=ct(a[e]);this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+i.join("|")+")","i")}function Lt(t,e,s,i,n,a,r){var o;return t<100&&t>=0?(o=new Date(t+400,e,s,i,n,a,r),isFinite(o.getFullYear())&&o.setFullYear(t)):o=new Date(t,e,s,i,n,a,r),o}function At(t){var e;if(t<100&&t>=0){var s=Array.prototype.slice.call(arguments);s[0]=t+400,e=new Date(Date.UTC.apply(null,s)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)}else e=new Date(Date.UTC.apply(null,arguments));return e}function Et(t,e,s){var i=7+e-s;return-(7+At(t,0,i).getUTCDay()-e)%7+i-1}function Rt(t,e,s,i,n){var a,r,o=1+7*(e-1)+(7+s-i)%7+Et(t,i,n);return o<=0?r=pt(a=t-1)+o:o>pt(t)?(a=t+1,r=o-pt(t)):(a=t,r=o),{year:a,dayOfYear:r}}function Nt(t,e,s){var i,n,a=Et(t.year(),e,s),r=Math.floor((t.dayOfYear()-a-1)/7)+1;return r<1?i=r+Ht(n=t.year()-1,e,s):r>Ht(t.year(),e,s)?(i=r-Ht(t.year(),e,s),n=t.year()+1):(n=t.year(),i=r),{week:i,year:n}}function Ht(t,e,s){var i=Et(t,e,s),n=Et(t+1,e,s);return(pt(t)-i+n)/7}function It(t,e){return t.slice(e,7).concat(t.slice(0,e))}V("w",["ww",2],"wo","week"),V("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),N("week",5),N("isoWeek",5),ut("w",J),ut("ww",J,q),ut("W",J),ut("WW",J,q),mt(["w","ww","W","WW"],(function(t,e,s,i){e[i.substr(0,1)]=k(t)})),V("d",0,"do","day"),V("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),V("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),V("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),V("e",0,0,"weekday"),V("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),N("day",11),N("weekday",11),N("isoWeekday",11),ut("d",J),ut("e",J),ut("E",J),ut("dd",(function(t,e){return e.weekdaysMinRegex(t)})),ut("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),ut("dddd",(function(t,e){return e.weekdaysRegex(t)})),mt(["dd","ddd","dddd"],(function(t,e,s,i){var n=s._locale.weekdaysParse(t,i,s._strict);null!=n?e.d=n:f(s).invalidWeekday=t})),mt(["d","e","E"],(function(t,e,s,i){e[i]=k(t)}));var Ut="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Wt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Ft="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function Vt(t,e,s){var i,n,a,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)a=h([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(a,"").toLocaleLowerCase();return s?"dddd"===e?-1!==(n=gt.call(this._weekdaysParse,r))?n:null:"ddd"===e?-1!==(n=gt.call(this._shortWeekdaysParse,r))?n:null:-1!==(n=gt.call(this._minWeekdaysParse,r))?n:null:"dddd"===e?-1!==(n=gt.call(this._weekdaysParse,r))?n:-1!==(n=gt.call(this._shortWeekdaysParse,r))?n:-1!==(n=gt.call(this._minWeekdaysParse,r))?n:null:"ddd"===e?-1!==(n=gt.call(this._shortWeekdaysParse,r))?n:-1!==(n=gt.call(this._weekdaysParse,r))?n:-1!==(n=gt.call(this._minWeekdaysParse,r))?n:null:-1!==(n=gt.call(this._minWeekdaysParse,r))?n:-1!==(n=gt.call(this._weekdaysParse,r))?n:-1!==(n=gt.call(this._shortWeekdaysParse,r))?n:null}var $t=ot,Gt=ot,zt=ot;function qt(){function t(t,e){return e.length-t.length}var e,s,i,n,a,r=[],o=[],l=[],u=[];for(e=0;e<7;e++)s=h([2e3,1]).day(e),i=this.weekdaysMin(s,""),n=this.weekdaysShort(s,""),a=this.weekdays(s,""),r.push(i),o.push(n),l.push(a),u.push(i),u.push(n),u.push(a);for(r.sort(t),o.sort(t),l.sort(t),u.sort(t),e=0;e<7;e++)o[e]=ct(o[e]),l[e]=ct(l[e]),u[e]=ct(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Zt(){return this.hours()%12||12}function Bt(t,e){V(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function Qt(t,e){return e._meridiemParse}V("H",["HH",2],0,"hour"),V("h",["hh",2],0,Zt),V("k",["kk",2],0,(function(){return this.hours()||24})),V("hmm",0,0,(function(){return""+Zt.apply(this)+H(this.minutes(),2)})),V("hmmss",0,0,(function(){return""+Zt.apply(this)+H(this.minutes(),2)+H(this.seconds(),2)})),V("Hmm",0,0,(function(){return""+this.hours()+H(this.minutes(),2)})),V("Hmmss",0,0,(function(){return""+this.hours()+H(this.minutes(),2)+H(this.seconds(),2)})),Bt("a",!0),Bt("A",!1),L("hour","h"),N("hour",13),ut("a",Qt),ut("A",Qt),ut("H",J),ut("h",J),ut("k",J),ut("HH",J,q),ut("hh",J,q),ut("kk",J,q),ut("hmm",X),ut("hmmss",K),ut("Hmm",X),ut("Hmmss",K),ft(["H","HH"],3),ft(["k","kk"],(function(t,e,s){var i=k(t);e[3]=24===i?0:i})),ft(["a","A"],(function(t,e,s){s._isPm=s._locale.isPM(t),s._meridiem=t})),ft(["h","hh"],(function(t,e,s){e[3]=k(t),f(s).bigHour=!0})),ft("hmm",(function(t,e,s){var i=t.length-2;e[3]=k(t.substr(0,i)),e[4]=k(t.substr(i)),f(s).bigHour=!0})),ft("hmmss",(function(t,e,s){var i=t.length-4,n=t.length-2;e[3]=k(t.substr(0,i)),e[4]=k(t.substr(i,2)),e[5]=k(t.substr(n)),f(s).bigHour=!0})),ft("Hmm",(function(t,e,s){var i=t.length-2;e[3]=k(t.substr(0,i)),e[4]=k(t.substr(i))})),ft("Hmmss",(function(t,e,s){var i=t.length-4,n=t.length-2;e[3]=k(t.substr(0,i)),e[4]=k(t.substr(i,2)),e[5]=k(t.substr(n))}));var Jt,Xt=bt("Hours",!0),Kt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d 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"},months:St,monthsShort:Dt,week:{dow:0,doy:6},weekdays:Ut,weekdaysMin:Ft,weekdaysShort:Wt,meridiemParse:/[ap]\.?m?\.?/i},te={},ee={};function se(t){return t?t.toLowerCase().replace("_","-"):t}function ie(e){var s=null;if(!te[e]&&void 0!==t&&t&&t.exports)try{s=Jt._abbr,!function(){var t=new Error("Cannot find module 'undefined'");throw t.code="MODULE_NOT_FOUND",t}(),ne(s)}catch(t){}return te[e]}function ne(t,e){var s;return t&&((s=r(e)?re(t):ae(t,e))?Jt=s:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),Jt._abbr}function ae(t,e){if(null!==e){var s,i=Kt;if(e.abbr=t,null!=te[t])O("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=te[t]._config;else if(null!=e.parentLocale)if(null!=te[e.parentLocale])i=te[e.parentLocale]._config;else{if(null==(s=ie(e.parentLocale)))return ee[e.parentLocale]||(ee[e.parentLocale]=[]),ee[e.parentLocale].push({name:t,config:e}),null;i=s._config}return te[t]=new P(T(i,e)),ee[t]&&ee[t].forEach((function(t){ae(t.name,t.config)})),ne(t),te[t]}return delete te[t],null}function re(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Jt;if(!n(t)){if(e=ie(t))return e;t=[t]}return function(t){for(var e,s,i,n,a=0;a<t.length;){for(e=(n=se(t[a]).split("-")).length,s=(s=se(t[a+1]))?s.split("-"):null;e>0;){if(i=ie(n.slice(0,e).join("-")))return i;if(s&&s.length>=e&&x(n,s,!0)>=e-1)break;e--}a++}return Jt}(t)}function oe(t){var e,s=t._a;return s&&-2===f(t).overflow&&(e=s[1]<0||s[1]>11?1:s[2]<1||s[2]>xt(s[0],s[1])?2:s[3]<0||s[3]>24||24===s[3]&&(0!==s[4]||0!==s[5]||0!==s[6])?3:s[4]<0||s[4]>59?4:s[5]<0||s[5]>59?5:s[6]<0||s[6]>999?6:-1,f(t)._overflowDayOfYear&&(e<0||e>2)&&(e=2),f(t)._overflowWeeks&&-1===e&&(e=7),f(t)._overflowWeekday&&-1===e&&(e=8),f(t).overflow=e),t}function le(t,e,s){return null!=t?t:null!=e?e:s}function ue(t){var e,s,n,a,r,o=[];if(!t._d){for(n=function(t){var e=new Date(i.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[2]&&null==t._a[1]&&function(t){var e,s,i,n,a,r,o,l;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)a=1,r=4,s=le(e.GG,t._a[0],Nt(Ce(),1,4).year),i=le(e.W,1),((n=le(e.E,1))<1||n>7)&&(l=!0);else{a=t._locale._week.dow,r=t._locale._week.doy;var u=Nt(Ce(),a,r);s=le(e.gg,t._a[0],u.year),i=le(e.w,u.week),null!=e.d?((n=e.d)<0||n>6)&&(l=!0):null!=e.e?(n=e.e+a,(e.e<0||e.e>6)&&(l=!0)):n=a}i<1||i>Ht(s,a,r)?f(t)._overflowWeeks=!0:null!=l?f(t)._overflowWeekday=!0:(o=Rt(s,i,n,a,r),t._a[0]=o.year,t._dayOfYear=o.dayOfYear)}(t),null!=t._dayOfYear&&(r=le(t._a[0],n[0]),(t._dayOfYear>pt(r)||0===t._dayOfYear)&&(f(t)._overflowDayOfYear=!0),s=At(r,0,t._dayOfYear),t._a[1]=s.getUTCMonth(),t._a[2]=s.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=o[e]=n[e];for(;e<7;e++)t._a[e]=o[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[3]&&0===t._a[4]&&0===t._a[5]&&0===t._a[6]&&(t._nextDay=!0,t._a[3]=0),t._d=(t._useUTC?At:Lt).apply(null,o),a=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[3]=24),t._w&&void 0!==t._w.d&&t._w.d!==a&&(f(t).weekdayMismatch=!0)}}var de=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ce=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,he=/Z|[+-]\d\d(?::?\d\d)?/,fe=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],me=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],_e=/^\/?Date\((\-?\d+)/i;function pe(t){var e,s,i,n,a,r,o=t._i,l=de.exec(o)||ce.exec(o);if(l){for(f(t).iso=!0,e=0,s=fe.length;e<s;e++)if(fe[e][1].exec(l[1])){n=fe[e][0],i=!1!==fe[e][2];break}if(null==n)return void(t._isValid=!1);if(l[3]){for(e=0,s=me.length;e<s;e++)if(me[e][1].exec(l[3])){a=(l[2]||" ")+me[e][0];break}if(null==a)return void(t._isValid=!1)}if(!i&&null!=a)return void(t._isValid=!1);if(l[4]){if(!he.exec(l[4]))return void(t._isValid=!1);r="Z"}t._f=n+(a||"")+(r||""),we(t)}else t._isValid=!1}var ve=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function ge(t){var e=parseInt(t,10);return e<=49?2e3+e:e<=999?1900+e:e}var ye={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function be(t){var e,s,i,n,a,r,o,l=ve.exec(t._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(l){var u=(e=l[4],s=l[3],i=l[2],n=l[5],a=l[6],r=l[7],o=[ge(e),Dt.indexOf(s),parseInt(i,10),parseInt(n,10),parseInt(a,10)],r&&o.push(parseInt(r,10)),o);if(!function(t,e,s){return!t||Wt.indexOf(t)===new Date(e[0],e[1],e[2]).getDay()||(f(s).weekdayMismatch=!0,s._isValid=!1,!1)}(l[1],u,t))return;t._a=u,t._tzm=function(t,e,s){if(t)return ye[t];if(e)return 0;var i=parseInt(s,10),n=i%100;return(i-n)/100*60+n}(l[8],l[9],l[10]),t._d=At.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),f(t).rfc2822=!0}else t._isValid=!1}function we(t){if(t._f!==i.ISO_8601)if(t._f!==i.RFC_2822){t._a=[],f(t).empty=!0;var e,s,n,a,r,o=""+t._i,l=o.length,u=0;for(n=G(t._f,t._locale).match(I)||[],e=0;e<n.length;e++)a=n[e],(s=(o.match(dt(a,t))||[])[0])&&((r=o.substr(0,o.indexOf(s))).length>0&&f(t).unusedInput.push(r),o=o.slice(o.indexOf(s)+s.length),u+=s.length),F[a]?(s?f(t).empty=!1:f(t).unusedTokens.push(a),_t(a,s,t)):t._strict&&!s&&f(t).unusedTokens.push(a);f(t).charsLeftOver=l-u,o.length>0&&f(t).unusedInput.push(o),t._a[3]<=12&&!0===f(t).bigHour&&t._a[3]>0&&(f(t).bigHour=void 0),f(t).parsedDateParts=t._a.slice(0),f(t).meridiem=t._meridiem,t._a[3]=function(t,e,s){var i;return null==s?e:null!=t.meridiemHour?t.meridiemHour(e,s):null!=t.isPM?((i=t.isPM(s))&&e<12&&(e+=12),i||12!==e||(e=0),e):e}(t._locale,t._a[3],t._meridiem),ue(t),oe(t)}else be(t);else pe(t)}function ke(t){var e=t._i,s=t._f;return t._locale=t._locale||re(t._l),null===e||void 0===s&&""===e?_({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),b(e)?new y(oe(e)):(l(e)?t._d=e:n(s)?function(t){var e,s,i,n,a;if(0===t._f.length)return f(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;n<t._f.length;n++)a=0,e=v({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[n],we(e),m(e)&&(a+=f(e).charsLeftOver,a+=10*f(e).unusedTokens.length,f(e).score=a,(null==i||a<i)&&(i=a,s=e));c(t,s||e)}(t):s?we(t):function(t){var e=t._i;r(e)?t._d=new Date(i.now()):l(e)?t._d=new Date(e.valueOf()):"string"==typeof e?function(t){var e=_e.exec(t._i);null===e?(pe(t),!1===t._isValid&&(delete t._isValid,be(t),!1===t._isValid&&(delete t._isValid,i.createFromInputFallback(t)))):t._d=new Date(+e[1])}(t):n(e)?(t._a=u(e.slice(0),(function(t){return parseInt(t,10)})),ue(t)):a(e)?function(t){if(!t._d){var e=E(t._i);t._a=u([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],(function(t){return t&&parseInt(t,10)})),ue(t)}}(t):o(e)?t._d=new Date(e):i.createFromInputFallback(t)}(t),m(t)||(t._d=null),t))}function xe(t,e,s,i,r){var o,l={};return!0!==s&&!1!==s||(i=s,s=void 0),(a(t)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(t)||n(t)&&0===t.length)&&(t=void 0),l._isAMomentObject=!0,l._useUTC=l._isUTC=r,l._l=s,l._i=t,l._f=e,l._strict=i,(o=new y(oe(ke(l))))._nextDay&&(o.add(1,"d"),o._nextDay=void 0),o}function Ce(t,e,s,i){return xe(t,e,s,i,!1)}i.createFromInputFallback=S("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))})),i.ISO_8601=function(){},i.RFC_2822=function(){};var Se=S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=Ce.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:_()})),De=S("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=Ce.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:_()}));function Me(t,e){var s,i;if(1===e.length&&n(e[0])&&(e=e[0]),!e.length)return Ce();for(s=e[0],i=1;i<e.length;++i)e[i].isValid()&&!e[i][t](s)||(s=e[i]);return s}var Oe=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ye(t){var e=E(t),s=e.year||0,i=e.quarter||0,n=e.month||0,a=e.week||e.isoWeek||0,r=e.day||0,o=e.hour||0,l=e.minute||0,u=e.second||0,d=e.millisecond||0;this._isValid=function(t){for(var e in t)if(-1===gt.call(Oe,e)||null!=t[e]&&isNaN(t[e]))return!1;for(var s=!1,i=0;i<Oe.length;++i)if(t[Oe[i]]){if(s)return!1;parseFloat(t[Oe[i]])!==k(t[Oe[i]])&&(s=!0)}return!0}(e),this._milliseconds=+d+1e3*u+6e4*l+1e3*o*60*60,this._days=+r+7*a,this._months=+n+3*i+12*s,this._data={},this._locale=re(),this._bubble()}function Te(t){return t instanceof Ye}function Pe(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function je(t,e){V(t,0,0,(function(){var t=this.utcOffset(),s="+";return t<0&&(t=-t,s="-"),s+H(~~(t/60),2)+e+H(~~t%60,2)}))}je("Z",":"),je("ZZ",""),ut("Z",rt),ut("ZZ",rt),ft(["Z","ZZ"],(function(t,e,s){s._useUTC=!0,s._tzm=Ae(rt,t)}));var Le=/([\+\-]|\d\d)/gi;function Ae(t,e){var s=(e||"").match(t);if(null===s)return null;var i=((s[s.length-1]||[])+"").match(Le)||["-",0,0],n=60*i[1]+k(i[2]);return 0===n?0:"+"===i[0]?n:-n}function Ee(t,e){var s,n;return e._isUTC?(s=e.clone(),n=(b(t)||l(t)?t.valueOf():Ce(t).valueOf())-s.valueOf(),s._d.setTime(s._d.valueOf()+n),i.updateOffset(s,!1),s):Ce(t).local()}function Re(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Ne(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var He=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ie=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ue(t,e){var s,i,n,a,r,l,u=t,c=null;return Te(t)?u={ms:t._milliseconds,d:t._days,M:t._months}:o(t)?(u={},e?u[e]=t:u.milliseconds=t):(c=He.exec(t))?(s="-"===c[1]?-1:1,u={y:0,d:k(c[2])*s,h:k(c[3])*s,m:k(c[4])*s,s:k(c[5])*s,ms:k(Pe(1e3*c[6]))*s}):(c=Ie.exec(t))?(s="-"===c[1]?-1:1,u={y:We(c[2],s),M:We(c[3],s),w:We(c[4],s),d:We(c[5],s),h:We(c[6],s),m:We(c[7],s),s:We(c[8],s)}):null==u?u={}:"object"==typeof u&&("from"in u||"to"in u)&&(a=Ce(u.from),r=Ce(u.to),n=a.isValid()&&r.isValid()?(r=Ee(r,a),a.isBefore(r)?l=Fe(a,r):((l=Fe(r,a)).milliseconds=-l.milliseconds,l.months=-l.months),l):{milliseconds:0,months:0},(u={}).ms=n.milliseconds,u.M=n.months),i=new Ye(u),Te(t)&&d(t,"_locale")&&(i._locale=t._locale),i}function We(t,e){var s=t&&parseFloat(t.replace(",","."));return(isNaN(s)?0:s)*e}function Fe(t,e){var s={};return s.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(s.months,"M").isAfter(e)&&--s.months,s.milliseconds=+e-+t.clone().add(s.months,"M"),s}function Ve(t,e){return function(s,i){var n;return null===i||isNaN(+i)||(O(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=s,s=i,i=n),$e(this,Ue(s="string"==typeof s?+s:s,i),t),this}}function $e(t,e,s,n){var a=e._milliseconds,r=Pe(e._days),o=Pe(e._months);t.isValid()&&(n=null==n||n,o&&Ot(t,wt(t,"Month")+o*s),r&&kt(t,"Date",wt(t,"Date")+r*s),a&&t._d.setTime(t._d.valueOf()+a*s),n&&i.updateOffset(t,r||o))}Ue.fn=Ye.prototype,Ue.invalid=function(){return Ue(NaN)};var Ge=Ve(1,"add"),ze=Ve(-1,"subtract");function qe(t,e){var s=12*(e.year()-t.year())+(e.month()-t.month()),i=t.clone().add(s,"months");return-(s+(e-i<0?(e-i)/(i-t.clone().add(s-1,"months")):(e-i)/(t.clone().add(s+1,"months")-i)))||0}function Ze(t){var e;return void 0===t?this._locale._abbr:(null!=(e=re(t))&&(this._locale=e),this)}i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",i.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Be=S("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function Qe(){return this._locale}function Je(t,e){return(t%e+e)%e}function Xe(t,e,s){return t<100&&t>=0?new Date(t+400,e,s)-126227808e5:new Date(t,e,s).valueOf()}function Ke(t,e,s){return t<100&&t>=0?Date.UTC(t+400,e,s)-126227808e5:Date.UTC(t,e,s)}function ts(t,e){V(0,[t,t.length],0,e)}function es(t,e,s,i,n){var a;return null==t?Nt(this,i,n).year:(e>(a=Ht(t,i,n))&&(e=a),ss.call(this,t,e,s,i,n))}function ss(t,e,s,i,n){var a=Rt(t,e,s,i,n),r=At(a.year,0,a.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}V(0,["gg",2],0,(function(){return this.weekYear()%100})),V(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),ts("gggg","weekYear"),ts("ggggg","weekYear"),ts("GGGG","isoWeekYear"),ts("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),N("weekYear",1),N("isoWeekYear",1),ut("G",nt),ut("g",nt),ut("GG",J,q),ut("gg",J,q),ut("GGGG",et,B),ut("gggg",et,B),ut("GGGGG",st,Q),ut("ggggg",st,Q),mt(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,s,i){e[i.substr(0,2)]=k(t)})),mt(["gg","GG"],(function(t,e,s,n){e[n]=i.parseTwoDigitYear(t)})),V("Q",0,"Qo","quarter"),L("quarter","Q"),N("quarter",7),ut("Q",z),ft("Q",(function(t,e){e[1]=3*(k(t)-1)})),V("D",["DD",2],"Do","date"),L("date","D"),N("date",9),ut("D",J),ut("DD",J,q),ut("Do",(function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient})),ft(["D","DD"],2),ft("Do",(function(t,e){e[2]=k(t.match(J)[0])}));var is=bt("Date",!0);V("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),N("dayOfYear",4),ut("DDD",tt),ut("DDDD",Z),ft(["DDD","DDDD"],(function(t,e,s){s._dayOfYear=k(t)})),V("m",["mm",2],0,"minute"),L("minute","m"),N("minute",14),ut("m",J),ut("mm",J,q),ft(["m","mm"],4);var ns=bt("Minutes",!1);V("s",["ss",2],0,"second"),L("second","s"),N("second",15),ut("s",J),ut("ss",J,q),ft(["s","ss"],5);var as,rs=bt("Seconds",!1);for(V("S",0,0,(function(){return~~(this.millisecond()/100)})),V(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),V(0,["SSS",3],0,"millisecond"),V(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),V(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),V(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),V(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),V(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),V(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),L("millisecond","ms"),N("millisecond",16),ut("S",tt,z),ut("SS",tt,q),ut("SSS",tt,Z),as="SSSS";as.length<=9;as+="S")ut(as,it);function os(t,e){e[6]=k(1e3*("0."+t))}for(as="S";as.length<=9;as+="S")ft(as,os);var ls=bt("Milliseconds",!1);V("z",0,0,"zoneAbbr"),V("zz",0,0,"zoneName");var us=y.prototype;function ds(t){return t}us.add=Ge,us.calendar=function(t,e){var s=t||Ce(),n=Ee(s,this).startOf("day"),a=i.calendarFormat(this,n)||"sameElse",r=e&&(Y(e[a])?e[a].call(this,s):e[a]);return this.format(r||this.localeData().calendar(a,this,Ce(s)))},us.clone=function(){return new y(this)},us.diff=function(t,e,s){var i,n,a;if(!this.isValid())return NaN;if(!(i=Ee(t,this)).isValid())return NaN;switch(n=6e4*(i.utcOffset()-this.utcOffset()),e=A(e)){case"year":a=qe(this,i)/12;break;case"month":a=qe(this,i);break;case"quarter":a=qe(this,i)/3;break;case"second":a=(this-i)/1e3;break;case"minute":a=(this-i)/6e4;break;case"hour":a=(this-i)/36e5;break;case"day":a=(this-i-n)/864e5;break;case"week":a=(this-i-n)/6048e5;break;default:a=this-i}return s?a:w(a)},us.endOf=function(t){var e;if(void 0===(t=A(t))||"millisecond"===t||!this.isValid())return this;var s=this._isUTC?Ke:Xe;switch(t){case"year":e=s(this.year()+1,0,1)-1;break;case"quarter":e=s(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=s(this.year(),this.month()+1,1)-1;break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=s(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=36e5-Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":e=this._d.valueOf(),e+=6e4-Je(e,6e4)-1;break;case"second":e=this._d.valueOf(),e+=1e3-Je(e,1e3)-1}return this._d.setTime(e),i.updateOffset(this,!0),this},us.format=function(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=$(this,t);return this.localeData().postformat(e)},us.from=function(t,e){return this.isValid()&&(b(t)&&t.isValid()||Ce(t).isValid())?Ue({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},us.fromNow=function(t){return this.from(Ce(),t)},us.to=function(t,e){return this.isValid()&&(b(t)&&t.isValid()||Ce(t).isValid())?Ue({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},us.toNow=function(t){return this.to(Ce(),t)},us.get=function(t){return Y(this[t=A(t)])?this[t]():this},us.invalidAt=function(){return f(this).overflow},us.isAfter=function(t,e){var s=b(t)?t:Ce(t);return!(!this.isValid()||!s.isValid())&&("millisecond"===(e=A(e)||"millisecond")?this.valueOf()>s.valueOf():s.valueOf()<this.clone().startOf(e).valueOf())},us.isBefore=function(t,e){var s=b(t)?t:Ce(t);return!(!this.isValid()||!s.isValid())&&("millisecond"===(e=A(e)||"millisecond")?this.valueOf()<s.valueOf():this.clone().endOf(e).valueOf()<s.valueOf())},us.isBetween=function(t,e,s,i){var n=b(t)?t:Ce(t),a=b(e)?e:Ce(e);return!!(this.isValid()&&n.isValid()&&a.isValid())&&("("===(i=i||"()")[0]?this.isAfter(n,s):!this.isBefore(n,s))&&(")"===i[1]?this.isBefore(a,s):!this.isAfter(a,s))},us.isSame=function(t,e){var s,i=b(t)?t:Ce(t);return!(!this.isValid()||!i.isValid())&&("millisecond"===(e=A(e)||"millisecond")?this.valueOf()===i.valueOf():(s=i.valueOf(),this.clone().startOf(e).valueOf()<=s&&s<=this.clone().endOf(e).valueOf()))},us.isSameOrAfter=function(t,e){return this.isSame(t,e)||this.isAfter(t,e)},us.isSameOrBefore=function(t,e){return this.isSame(t,e)||this.isBefore(t,e)},us.isValid=function(){return m(this)},us.lang=Be,us.locale=Ze,us.localeData=Qe,us.max=De,us.min=Se,us.parsingFlags=function(){return c({},f(this))},us.set=function(t,e){if("object"==typeof t)for(var s=function(t){var e=[];for(var s in t)e.push({unit:s,priority:R[s]});return e.sort((function(t,e){return t.priority-e.priority})),e}(t=E(t)),i=0;i<s.length;i++)this[s[i].unit](t[s[i].unit]);else if(Y(this[t=A(t)]))return this[t](e);return this},us.startOf=function(t){var e;if(void 0===(t=A(t))||"millisecond"===t||!this.isValid())return this;var s=this._isUTC?Ke:Xe;switch(t){case"year":e=s(this.year(),0,1);break;case"quarter":e=s(this.year(),this.month()-this.month()%3,1);break;case"month":e=s(this.year(),this.month(),1);break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=s(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":e=this._d.valueOf(),e-=Je(e,6e4);break;case"second":e=this._d.valueOf(),e-=Je(e,1e3)}return this._d.setTime(e),i.updateOffset(this,!0),this},us.subtract=ze,us.toArray=function(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]},us.toObject=function(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}},us.toDate=function(){return new Date(this.valueOf())},us.toISOString=function(t){if(!this.isValid())return null;var e=!0!==t,s=e?this.clone().utc():this;return s.year()<0||s.year()>9999?$(s,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):Y(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",$(s,"Z")):$(s,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},us.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var s="["+t+'("]',i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=e+'[")]';return this.format(s+i+"-MM-DD[T]HH:mm:ss.SSS"+n)},us.toJSON=function(){return this.isValid()?this.toISOString():null},us.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},us.unix=function(){return Math.floor(this.valueOf()/1e3)},us.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},us.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},us.year=yt,us.isLeapYear=function(){return vt(this.year())},us.weekYear=function(t){return es.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},us.isoWeekYear=function(t){return es.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},us.quarter=us.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},us.month=Yt,us.daysInMonth=function(){return xt(this.year(),this.month())},us.week=us.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},us.isoWeek=us.isoWeeks=function(t){var e=Nt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},us.weeksInYear=function(){var t=this.localeData()._week;return Ht(this.year(),t.dow,t.doy)},us.isoWeeksInYear=function(){return Ht(this.year(),1,4)},us.date=is,us.day=us.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},us.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},us.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},us.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},us.hour=us.hours=Xt,us.minute=us.minutes=ns,us.second=us.seconds=rs,us.millisecond=us.milliseconds=ls,us.utcOffset=function(t,e,s){var n,a=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Ae(rt,t)))return this}else Math.abs(t)<16&&!s&&(t*=60);return!this._isUTC&&e&&(n=Re(this)),this._offset=t,this._isUTC=!0,null!=n&&this.add(n,"m"),a!==t&&(!e||this._changeInProgress?$e(this,Ue(t-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?a:Re(this)},us.utc=function(t){return this.utcOffset(0,t)},us.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Re(this),"m")),this},us.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Ae(at,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},us.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?Ce(t).utcOffset():0,(this.utcOffset()-t)%60==0)},us.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},us.isLocal=function(){return!!this.isValid()&&!this._isUTC},us.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},us.isUtc=Ne,us.isUTC=Ne,us.zoneAbbr=function(){return this._isUTC?"UTC":""},us.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},us.dates=S("dates accessor is deprecated. Use date instead.",is),us.months=S("months accessor is deprecated. Use month instead",Yt),us.years=S("years accessor is deprecated. Use year instead",yt),us.zone=S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()})),us.isDSTShifted=S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!r(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),(t=ke(t))._a){var e=t._isUTC?h(t._a):Ce(t._a);this._isDSTShifted=this.isValid()&&x(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}));var cs=P.prototype;function hs(t,e,s,i){var n=re(),a=h().set(i,e);return n[s](a,t)}function fs(t,e,s){if(o(t)&&(e=t,t=void 0),t=t||"",null!=e)return hs(t,e,s,"month");var i,n=[];for(i=0;i<12;i++)n[i]=hs(t,i,s,"month");return n}function ms(t,e,s,i){"boolean"==typeof t?(o(e)&&(s=e,e=void 0),e=e||""):(s=e=t,t=!1,o(e)&&(s=e,e=void 0),e=e||"");var n,a=re(),r=t?a._week.dow:0;if(null!=s)return hs(e,(s+r)%7,i,"day");var l=[];for(n=0;n<7;n++)l[n]=hs(e,(n+r)%7,i,"day");return l}cs.calendar=function(t,e,s){var i=this._calendar[t]||this._calendar.sameElse;return Y(i)?i.call(e,s):i},cs.longDateFormat=function(t){var e=this._longDateFormat[t],s=this._longDateFormat[t.toUpperCase()];return e||!s?e:(this._longDateFormat[t]=s.replace(/MMMM|MM|DD|dddd/g,(function(t){return t.slice(1)})),this._longDateFormat[t])},cs.invalidDate=function(){return this._invalidDate},cs.ordinal=function(t){return this._ordinal.replace("%d",t)},cs.preparse=ds,cs.postformat=ds,cs.relativeTime=function(t,e,s,i){var n=this._relativeTime[s];return Y(n)?n(t,e,s,i):n.replace(/%d/i,t)},cs.pastFuture=function(t,e){var s=this._relativeTime[t>0?"future":"past"];return Y(s)?s(e):s.replace(/%s/i,e)},cs.set=function(t){var e,s;for(s in t)Y(e=t[s])?this[s]=e:this["_"+s]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},cs.months=function(t,e){return t?n(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||Ct).test(e)?"format":"standalone"][t.month()]:n(this._months)?this._months:this._months.standalone},cs.monthsShort=function(t,e){return t?n(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[Ct.test(e)?"format":"standalone"][t.month()]:n(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},cs.monthsParse=function(t,e,s){var i,n,a;if(this._monthsParseExact)return Mt.call(this,t,e,s);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(n=h([2e3,i]),s&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),s||this._monthsParse[i]||(a="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[i]=new RegExp(a.replace(".",""),"i")),s&&"MMMM"===e&&this._longMonthsParse[i].test(t))return i;if(s&&"MMM"===e&&this._shortMonthsParse[i].test(t))return i;if(!s&&this._monthsParse[i].test(t))return i}},cs.monthsRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||jt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=Pt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},cs.monthsShortRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||jt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=Tt),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},cs.week=function(t){return Nt(t,this._week.dow,this._week.doy).week},cs.firstDayOfYear=function(){return this._week.doy},cs.firstDayOfWeek=function(){return this._week.dow},cs.weekdays=function(t,e){var s=n(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===t?It(s,this._week.dow):t?s[t.day()]:s},cs.weekdaysMin=function(t){return!0===t?It(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin},cs.weekdaysShort=function(t){return!0===t?It(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort},cs.weekdaysParse=function(t,e,s){var i,n,a;if(this._weekdaysParseExact)return Vt.call(this,t,e,s);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(n=h([2e3,1]).day(i),s&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(a="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[i]=new RegExp(a.replace(".",""),"i")),s&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(s&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(s&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!s&&this._weekdaysParse[i].test(t))return i}},cs.weekdaysRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||qt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=$t),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},cs.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||qt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Gt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},cs.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||qt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=zt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},cs.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},cs.meridiem=function(t,e,s){return t>11?s?"pm":"PM":s?"am":"AM"},ne("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===k(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),i.lang=S("moment.lang is deprecated. Use moment.locale instead.",ne),i.langData=S("moment.langData is deprecated. Use moment.localeData instead.",re);var _s=Math.abs;function ps(t,e,s,i){var n=Ue(e,s);return t._milliseconds+=i*n._milliseconds,t._days+=i*n._days,t._months+=i*n._months,t._bubble()}function vs(t){return t<0?Math.floor(t):Math.ceil(t)}function gs(t){return 4800*t/146097}function ys(t){return 146097*t/4800}function bs(t){return function(){return this.as(t)}}var ws=bs("ms"),ks=bs("s"),xs=bs("m"),Cs=bs("h"),Ss=bs("d"),Ds=bs("w"),Ms=bs("M"),Os=bs("Q"),Ys=bs("y");function Ts(t){return function(){return this.isValid()?this._data[t]:NaN}}var Ps=Ts("milliseconds"),js=Ts("seconds"),Ls=Ts("minutes"),As=Ts("hours"),Es=Ts("days"),Rs=Ts("months"),Ns=Ts("years"),Hs=Math.round,Is={ss:44,s:45,m:45,h:22,d:26,M:11};function Us(t,e,s,i,n){return n.relativeTime(e||1,!!s,t,i)}var Ws=Math.abs;function Fs(t){return(t>0)-(t<0)||+t}function Vs(){if(!this.isValid())return this.localeData().invalidDate();var t,e,s=Ws(this._milliseconds)/1e3,i=Ws(this._days),n=Ws(this._months);t=w(s/60),e=w(t/60),s%=60,t%=60;var a=w(n/12),r=n%=12,o=i,l=e,u=t,d=s?s.toFixed(3).replace(/\.?0+$/,""):"",c=this.asSeconds();if(!c)return"P0D";var h=c<0?"-":"",f=Fs(this._months)!==Fs(c)?"-":"",m=Fs(this._days)!==Fs(c)?"-":"",_=Fs(this._milliseconds)!==Fs(c)?"-":"";return h+"P"+(a?f+a+"Y":"")+(r?f+r+"M":"")+(o?m+o+"D":"")+(l||u||d?"T":"")+(l?_+l+"H":"")+(u?_+u+"M":"")+(d?_+d+"S":"")}var $s=Ye.prototype;return $s.isValid=function(){return this._isValid},$s.abs=function(){var t=this._data;return this._milliseconds=_s(this._milliseconds),this._days=_s(this._days),this._months=_s(this._months),t.milliseconds=_s(t.milliseconds),t.seconds=_s(t.seconds),t.minutes=_s(t.minutes),t.hours=_s(t.hours),t.months=_s(t.months),t.years=_s(t.years),this},$s.add=function(t,e){return ps(this,t,e,1)},$s.subtract=function(t,e){return ps(this,t,e,-1)},$s.as=function(t){if(!this.isValid())return NaN;var e,s,i=this._milliseconds;if("month"===(t=A(t))||"quarter"===t||"year"===t)switch(e=this._days+i/864e5,s=this._months+gs(e),t){case"month":return s;case"quarter":return s/3;case"year":return s/12}else switch(e=this._days+Math.round(ys(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}},$s.asMilliseconds=ws,$s.asSeconds=ks,$s.asMinutes=xs,$s.asHours=Cs,$s.asDays=Ss,$s.asWeeks=Ds,$s.asMonths=Ms,$s.asQuarters=Os,$s.asYears=Ys,$s.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12):NaN},$s._bubble=function(){var t,e,s,i,n,a=this._milliseconds,r=this._days,o=this._months,l=this._data;return a>=0&&r>=0&&o>=0||a<=0&&r<=0&&o<=0||(a+=864e5*vs(ys(o)+r),r=0,o=0),l.milliseconds=a%1e3,t=w(a/1e3),l.seconds=t%60,e=w(t/60),l.minutes=e%60,s=w(e/60),l.hours=s%24,r+=w(s/24),n=w(gs(r)),o+=n,r-=vs(ys(n)),i=w(o/12),o%=12,l.days=r,l.months=o,l.years=i,this},$s.clone=function(){return Ue(this)},$s.get=function(t){return t=A(t),this.isValid()?this[t+"s"]():NaN},$s.milliseconds=Ps,$s.seconds=js,$s.minutes=Ls,$s.hours=As,$s.days=Es,$s.weeks=function(){return w(this.days()/7)},$s.months=Rs,$s.years=Ns,$s.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),s=function(t,e,s){var i=Ue(t).abs(),n=Hs(i.as("s")),a=Hs(i.as("m")),r=Hs(i.as("h")),o=Hs(i.as("d")),l=Hs(i.as("M")),u=Hs(i.as("y")),d=n<=Is.ss&&["s",n]||n<Is.s&&["ss",n]||a<=1&&["m"]||a<Is.m&&["mm",a]||r<=1&&["h"]||r<Is.h&&["hh",r]||o<=1&&["d"]||o<Is.d&&["dd",o]||l<=1&&["M"]||l<Is.M&&["MM",l]||u<=1&&["y"]||["yy",u];return d[2]=e,d[3]=+t>0,d[4]=s,Us.apply(null,d)}(this,!t,e);return t&&(s=e.pastFuture(+this,s)),e.postformat(s)},$s.toISOString=Vs,$s.toString=Vs,$s.toJSON=Vs,$s.locale=Ze,$s.localeData=Qe,$s.toIsoString=S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Vs),$s.lang=Be,V("X",0,0,"unix"),V("x",0,0,"valueOf"),ut("x",nt),ut("X",/[+-]?\d+(\.\d{1,3})?/),ft("X",(function(t,e,s){s._d=new Date(1e3*parseFloat(t,10))})),ft("x",(function(t,e,s){s._d=new Date(k(t))})),i.version="2.24.0",e=Ce,i.fn=us,i.min=function(){var t=[].slice.call(arguments,0);return Me("isBefore",t)},i.max=function(){var t=[].slice.call(arguments,0);return Me("isAfter",t)},i.now=function(){return Date.now?Date.now():+new Date},i.utc=h,i.unix=function(t){return Ce(1e3*t)},i.months=function(t,e){return fs(t,e,"months")},i.isDate=l,i.locale=ne,i.invalid=_,i.duration=Ue,i.isMoment=b,i.weekdays=function(t,e,s){return ms(t,e,s,"weekdays")},i.parseZone=function(){return Ce.apply(null,arguments).parseZone()},i.localeData=re,i.isDuration=Te,i.monthsShort=function(t,e){return fs(t,e,"monthsShort")},i.weekdaysMin=function(t,e,s){return ms(t,e,s,"weekdaysMin")},i.defineLocale=ae,i.updateLocale=function(t,e){if(null!=e){var s,i,n=Kt;null!=(i=ie(t))&&(n=i._config),e=T(n,e),(s=new P(e)).parentLocale=te[t],te[t]=s,ne(t)}else null!=te[t]&&(null!=te[t].parentLocale?te[t]=te[t].parentLocale:null!=te[t]&&delete te[t]);return te[t]},i.locales=function(){return D(te)},i.weekdaysShort=function(t,e,s){return ms(t,e,s,"weekdaysShort")},i.normalizeUnits=A,i.relativeTimeRounding=function(t){return void 0===t?Hs:"function"==typeof t&&(Hs=t,!0)},i.relativeTimeThreshold=function(t,e){return void 0!==Is[t]&&(void 0===e?Is[t]:(Is[t]=e,"s"===t&&(Is.ss=e-1),!0))},i.calendarFormat=function(t,e){var s=t.diff(e,"days",!0);return s<-6?"sameElse":s<-1?"lastWeek":s<0?"lastDay":s<1?"sameDay":s<2?"nextDay":s<7?"nextWeek":"sameElse"},i.prototype=us,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},i}()}).call(this,s("./node_modules/webpack/buildin/module.js")(t))},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js":function(t,e,s){"use strict";function i(t,e,s,i,n,a,r,o){var l,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=s,u._compiled=!0),i&&(u.functional=!0),a&&(u._scopeId="data-v-"+a),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),n&&n.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},u._ssrRegister=l):n&&(l=o?function(){n.call(this,this.$root.$options.shadowRoot)}:n),l)if(u.functional){u._injectStyles=l;var d=u.render;u.render=function(t,e){return l.call(e),d(t,e)}}else{var c=u.beforeCreate;u.beforeCreate=c?[].concat(c,l):[l]}return{exports:t,options:u}}s.d(e,"a",(function(){return i}))},"./node_modules/webpack/buildin/global.js":function(t,e){var s;s=function(){return this}();try{s=s||new Function("return this")()}catch(t){"object"==typeof window&&(s=window)}t.exports=s},"./node_modules/webpack/buildin/module.js":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"./node_modules/xss/lib/default.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,n=s("./node_modules/cssfilter/lib/index.js").getDefaultWhiteList,a=s("./node_modules/xss/lib/util.js");function r(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var o=new i;function l(t){return t.replace(u,"<").replace(d,">")}var u=/</g,d=/>/g,c=/"/g,h=/"/g,f=/&#([a-zA-Z0-9]*);?/gim,m=/:?/gim,_=/&newline;?/gim,p=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,v=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,g=/u\s*r\s*l\s*\(.*/gi;function y(t){return t.replace(c,""")}function b(t){return t.replace(h,'"')}function w(t){return t.replace(f,(function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))}))}function k(t){return t.replace(m,":").replace(_," ")}function x(t){for(var e="",s=0,i=t.length;s<i;s++)e+=t.charCodeAt(s)<32?" ":t.charAt(s);return a.trim(e)}function C(t){return t=x(t=k(t=w(t=b(t))))}function S(t){return t=l(t=y(t))}var D=/<!--[\s\S]*?-->/g;e.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},e.getDefaultWhiteList=r,e.onTag=function(t,e,s){},e.onIgnoreTag=function(t,e,s){},e.onTagAttr=function(t,e,s){},e.onIgnoreTagAttr=function(t,e,s){},e.safeAttrValue=function(t,e,s,i){if(s=C(s),"href"===e||"src"===e){if("#"===(s=a.trim(s)))return"#";if("http://"!==s.substr(0,7)&&"https://"!==s.substr(0,8)&&"mailto:"!==s.substr(0,7)&&"tel:"!==s.substr(0,4)&&"#"!==s[0]&&"/"!==s[0])return""}else if("background"===e){if(p.lastIndex=0,p.test(s))return""}else if("style"===e){if(v.lastIndex=0,v.test(s))return"";if(g.lastIndex=0,g.test(s)&&(p.lastIndex=0,p.test(s)))return"";!1!==i&&(s=(i=i||o).process(s))}return s=S(s)},e.escapeHtml=l,e.escapeQuote=y,e.unescapeQuote=b,e.escapeHtmlEntities=w,e.escapeDangerHtml5Entities=k,e.clearNonPrintableCharacter=x,e.friendlyAttrValue=C,e.escapeAttrValue=S,e.onIgnoreTagStripAll=function(){return""},e.StripTagBody=function(t,e){"function"!=typeof e&&(e=function(){});var s=!Array.isArray(t),i=[],n=!1;return{onIgnoreTag:function(r,o,l){if(function(e){return!!s||-1!==a.indexOf(t,e)}(r)){if(l.isClosing){var u="[/removed]",d=l.position+u.length;return i.push([!1!==n?n:l.position,d]),n=!1,u}return n||(n=l.position),"[removed]"}return e(r,o,l)},remove:function(t){var e="",s=0;return a.forEach(i,(function(i){e+=t.slice(s,i[0]),s=i[1]})),e+=t.slice(s)}}},e.stripCommentTag=function(t){return t.replace(D,"")},e.stripBlankChar=function(t){var e=t.split("");return(e=e.filter((function(t){var e=t.charCodeAt(0);return 127!==e&&(!(e<=31)||(10===e||13===e))}))).join("")},e.cssFilter=o,e.getDefaultCSSWhiteList=n},"./node_modules/xss/lib/index.js":function(t,e,s){var i=s("./node_modules/xss/lib/default.js"),n=s("./node_modules/xss/lib/parser.js"),a=s("./node_modules/xss/lib/xss.js");function r(t,e){return new a(e).process(t)}for(var o in(e=t.exports=r).filterXSS=r,e.FilterXSS=a,i)e[o]=i[o];for(var o in n)e[o]=n[o];"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},"./node_modules/xss/lib/parser.js":function(t,e,s){var i=s("./node_modules/xss/lib/util.js");function n(t){var e=i.spaceIndex(t);if(-1===e)var s=t.slice(1,-1);else s=t.slice(1,e+1);return"/"===(s=i.trim(s).toLowerCase()).slice(0,1)&&(s=s.slice(1)),"/"===s.slice(-1)&&(s=s.slice(0,-1)),s}function a(t){return"</"===t.slice(0,2)}var r=/[^a-zA-Z0-9_:\.\-]/gim;function o(t,e){for(;e<t.length;e++){var s=t[e];if(" "!==s)return"="===s?e:-1}}function l(t,e){for(;e>0;e--){var s=t[e];if(" "!==s)return"="===s?e:-1}}function u(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}e.parseTag=function(t,e,s){var i="",r=0,o=!1,l=!1,u=0,d=t.length,c="",h="";for(u=0;u<d;u++){var f=t.charAt(u);if(!1===o){if("<"===f){o=u;continue}}else if(!1===l){if("<"===f){i+=s(t.slice(r,u)),o=u,r=u;continue}if(">"===f){i+=s(t.slice(r,o)),c=n(h=t.slice(o,u+1)),i+=e(o,i.length,c,h,a(h)),r=u+1,o=!1;continue}if(('"'===f||"'"===f)&&"="===t.charAt(u-1)){l=f;continue}}else if(f===l){l=!1;continue}}return r<t.length&&(i+=s(t.substr(r))),i},e.parseAttr=function(t,e){var s=0,n=[],a=!1,d=t.length;function c(t,s){if(!((t=(t=i.trim(t)).replace(r,"").toLowerCase()).length<1)){var a=e(t,s||"");a&&n.push(a)}}for(var h=0;h<d;h++){var f,m=t.charAt(h);if(!1!==a||"="!==m)if(!1===a||h!==s||'"'!==m&&"'"!==m||"="!==t.charAt(h-1))if(/\s|\n|\t/.test(m)){if(t=t.replace(/\s|\n|\t/g," "),!1===a){if(-1===(f=o(t,h))){c(i.trim(t.slice(s,h))),a=!1,s=h+1;continue}h=f-1;continue}if(-1===(f=l(t,h-1))){c(a,u(i.trim(t.slice(s,h)))),a=!1,s=h+1;continue}}else;else{if(-1===(f=t.indexOf(m,h+1)))break;c(a,i.trim(t.slice(s+1,f))),a=!1,s=(h=f)+1}else a=t.slice(s,h),s=h+1}return s<t.length&&(!1===a?c(t.slice(s)):c(a,u(i.trim(t.slice(s))))),i.trim(n.join(" "))}},"./node_modules/xss/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,n;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,n=t.length;i<n;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(t){var e=/\s|\n|\t/.exec(t);return e?e.index:-1}}},"./node_modules/xss/lib/xss.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,n=s("./node_modules/xss/lib/default.js"),a=s("./node_modules/xss/lib/parser.js"),r=a.parseTag,o=a.parseAttr,l=s("./node_modules/xss/lib/util.js");function u(t){return null==t}function d(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=n.onIgnoreTagStripAll),t.whiteList=t.whiteList||n.whiteList,t.onTag=t.onTag||n.onTag,t.onTagAttr=t.onTagAttr||n.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||n.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||n.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||n.safeAttrValue,t.escapeHtml=t.escapeHtml||n.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new i(t.css))}d.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onTag,a=e.onIgnoreTag,d=e.onTagAttr,c=e.onIgnoreTagAttr,h=e.safeAttrValue,f=e.escapeHtml,m=this.cssFilter;e.stripBlankChar&&(t=n.stripBlankChar(t)),e.allowCommentTag||(t=n.stripCommentTag(t));var _=!1;if(e.stripIgnoreTagBody){_=n.StripTagBody(e.stripIgnoreTagBody,a);a=_.onIgnoreTag}var p=r(t,(function(t,e,n,r,_){var p,v={sourcePosition:t,position:e,isClosing:_,isWhite:s.hasOwnProperty(n)};if(!u(p=i(n,r,v)))return p;if(v.isWhite){if(v.isClosing)return"</"+n+">";var g=function(t){var e=l.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var s="/"===(t=l.trim(t.slice(e+1,-1)))[t.length-1];return s&&(t=l.trim(t.slice(0,-1))),{html:t,closing:s}}(r),y=s[n],b=o(g.html,(function(t,e){var s,i=-1!==l.indexOf(y,t);return u(s=d(n,t,e,i))?i?(e=h(n,t,e,m))?t+'="'+e+'"':t:u(s=c(n,t,e,i))?void 0:s:s}));r="<"+n;return b&&(r+=" "+b),g.closing&&(r+=" /"),r+=">"}return u(p=a(n,r,v))?f(r):p}),f);return _&&(p=_.remove(p)),p},t.exports=d},"./src/audit.js":function(t,e,s){"use strict";s.r(e);var i=s("vue"),n=s.n(i),a=s("./src/helper/base_hepler.js"),r=s("./src/component/footer.vue"),o=s("./node_modules/lodash/chunk.js"),l=s.n(o),u=s("./src/component/pagination.vue"),d=s("./node_modules/moment/moment.js"),c={mixins:[a.a],name:"logs",data:function(){return{filter:{date_range:null,username:"",ip_address:"",events:[],event_all:!0,is_open:!1,date_from:null,date_to:null},event_types:auditData.filters.types,data:{logs:[],chunks:[],total_items:0,total_pages:0,paged:1},misc:auditData.misc,endpoints:auditData.endpoints,nonces:auditData.nonces,state:{on_saving:!1,is_fetching:!1}}},methods:{date_range:function(){},build_filter_url:function(t){},paging:function(t){this.data.paged=t},do_filter:function(){var t=this,e=this.data.logs.filter((function(e){return(""===t.filter.username||-1!==e.user.indexOf(t.filter.username))&&((null===t.filter.ip_address||-1!==e.ip.indexOf(t.filter.ip_address))&&(!1!==t.filter.event_all||-1!==t.filter.events.indexOf(e.event_type)))}));t.data.chunks=l()(e,40),t.data.total_items=e.length,t.data.total_pages=Math.ceil(t.data.total_items/40),t.data.paged=1},fetch_data:function(t){var e=this;this.state.is_fetching=!0;var s=JSON.parse(JSON.stringify(this.filter));delete s.is_open,delete s.event_all,delete s.date_range,this.httpGetRequest("loadData",s,(function(s){!0===s.success?(e.data.logs=Object.values(s.data.logs),e.data.total_items=s.data.total_items,e.data.total_pages=s.data.total_pages,e.data.chunks=l()(e.data.logs,40),e.data.paged=1,e.state.is_fetching=!1,void 0!==t&&t()):Defender.showNotification("error",s.message)}),!1)},format_time:function(t){return Array.isArray(t)?this.$options.filters.moment(new Date(1e3*t[1]),this.misc.date_format):this.$options.filters.moment(new Date(1e3*t),this.misc.date_format)}},computed:{get_logs:function(){var t=[];return this.data.chunks.length>0&&void 0!==this.data.chunks[this.data.paged-1]&&(t=this.data.chunks[this.data.paged-1]),t},get_count:function(){return this.vsprintf(this.__("%s results"),this.data.total_items)},next_icon:function(){return'<i class="sui-icon-chevron-right" aria-hidden="true"></i>'},prev_icon:function(){return'<i class="sui-icon-chevron-left" aria-hidden="true"></i>'},min_date:function(){return d().format()},max_date:function(){return d().subtract(30,"days").format()},get_export_url:function(){return ajaxurl+"?action="+this.endpoints.exportAsCvs+"&_wpnonce="+this.nonces.exportAsCvs}},watch:{"filter.date_range":function(t,e){null!==t&&null!==e&&t!==e&&this.fetch_data()}},components:{pagination:u.a},created:function(){var t=new URLSearchParams(window.location.search),e=null!==t.get("date_from")?t.get("date_from"):d().subtract(7,"day").format("MM/DD/YYYY"),s=null!==t.get("date_to")?t.get("date_to"):d().format("MM/DD/YYYY");this.filter.date_range=e+" - "+s;var i=this;this.fetch_data((function(){i.$parent.$emit("events_in_7_days",i.data.logs.length)}))},mounted:function(){var t=this;this.$nextTick((function(){jQuery("#date-range-picker").daterangepicker({autoApply:!0,maxDate:d().format("MM/DD/YYYY"),minDate:d().subtract(1,"year").format("MM/DD/YYYY"),locale:{format:"MM/DD/YYYY",separator:"-"},ranges:{Today:[d(),d()],"7 Days":[d().subtract(6,"days"),d()],"30 Days":[d().subtract(29,"days"),d()]},template:'<div class="daterangepicker wd-calendar"><div class="ranges"></div><div class="drp-calendar left"><div class="calendar-table"></div><div class="calendar-time"></div></div><div class="drp-calendar right"><div class="calendar-table"></div><div class="calendar-time"></div></div></div>',showCustomRangeLabel:!1,alwaysShowCalendars:!0}),jQuery("#date-range-picker").on("apply.daterangepicker",(function(e,s){t.filter.date_range=s.startDate.format("MM/DD/YYYY")+"-"+s.endDate.format("MM/DD/YYYY"),t.filter.date_from=s.startDate.format("MM/DD/YYYY"),t.filter.date_to=s.endDate.format("MM/DD/YYYY")}))}))}},h=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),f=Object(h.a)(c,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t"+t._s(t.__("Event Logs"))+"\n\t\t")]),t._v(" "),s("div",{staticClass:"sui-actions-right"},[s("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.get_export_url}},[s("i",{staticClass:"sui-icon-upload-cloud",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t"+t._s(t.__("Export CSV"))+"\n\t\t\t")])])]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t"+t._s(t.__("Here are your latest event logs showing what's been happening behind the scenes."))+"\n\t\t")]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-5"},[s("div",{staticClass:"inline-form"},[s("label",[t._v(t._s(t.__("Date range")))]),t._v(" "),s("div",{staticClass:"sui-date"},[s("i",{staticClass:"sui-icon-calendar",attrs:{"aria-hidden":"true"}}),t._v(" "),s("input",{staticClass:"sui-form-control",attrs:{id:"date-range-picker",name:"date_from",type:"text"},domProps:{value:t.filter.date_range}})])])]),t._v(" "),s("div",{staticClass:"sui-col-md-7"},[s("div",{staticClass:"sui-pagination-wrap"},[s("span",{staticClass:"sui-pagination-results",domProps:{textContent:t._s(t.get_count)}}),t._v(" "),t.data.total_items>0?s("pagination",{attrs:{"page-count":t.data.total_pages,"click-handler":t.paging,"prev-text":t.prev_icon,"next-text":t.next_icon,value:t.data.paged,"container-class":"sui-pagination"}}):t._e(),t._v(" "),s("button",{staticClass:"sui-button-icon sui-button-outlined sui-tooltip",attrs:{"data-tooltip":"Filter"},on:{click:function(e){t.filter.is_open=!t.filter.is_open}}},[s("i",{staticClass:"sui-icon-filter",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Open search filter")])])],1)])]),t._v(" "),s("div",{staticClass:"sui-pagination-filter",class:{"sui-open":t.filter.is_open}},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-4"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Username")))]),t._v(" "),s("div",{staticClass:"sui-control-with-icon sui-right-icon"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.username,expression:"filter.username"}],staticClass:"sui-form-control",attrs:{type:"text"},domProps:{value:t.filter.username},on:{input:function(e){e.target.composing||t.$set(t.filter,"username",e.target.value)}}}),t._v(" "),s("i",{staticClass:"sui-icon-magnifying-glass-search",attrs:{"aria-hidden":"true"}})])])]),t._v(" "),s("div",{staticClass:"sui-col-md-3"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("IP Address")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.ip_address,expression:"filter.ip_address"}],staticClass:"sui-form-control",attrs:{type:"text","data-name":"ip",placeholder:"E.g. 192.168.1.1"},domProps:{value:t.filter.ip_address},on:{input:function(e){e.target.composing||t.$set(t.filter,"ip_address",e.target.value)}}})])])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-form-field"},[s("div",{staticClass:"sui-side-tabs"},[s("div",{staticClass:"sui-tabs-menu"},[s("label",{staticClass:"sui-tab-item",class:{active:!0===t.filter.event_all},attrs:{for:"event_filter_all"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.event_all,expression:"filter.event_all"}],attrs:{type:"radio",id:"event_filter_all","data-tab-menu":""},domProps:{value:!0,checked:t._q(t.filter.event_all,!0)},on:{change:function(e){return t.$set(t.filter,"event_all",!0)}}}),t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("All"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("label",{staticClass:"sui-tab-item",class:{active:!1===t.filter.event_all},attrs:{for:"event_filter"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.event_all,expression:"filter.event_all"}],attrs:{type:"radio","data-tab-menu":"events-box",id:"event_filter"},domProps:{value:!1,checked:t._q(t.filter.event_all,!1)},on:{change:function(e){return t.$set(t.filter,"event_all",!1)}}}),t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Specific"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-tabs-content"},[s("div",{staticClass:"sui-tab-content sui-tab-boxed",class:{active:!1===t.filter.event_all},attrs:{id:"events-box","data-tab-content":"events-box"}},[s("div",{staticClass:"sui-row"},t._l(t.event_types,(function(e){return s("label",{staticClass:"sui-checkbox",attrs:{for:"chk_"+e}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.events,expression:"filter.events"}],staticClass:"filterable",attrs:{id:"chk_"+e,type:"checkbox"},domProps:{value:e,checked:Array.isArray(t.filter.events)?t._i(t.filter.events,e)>-1:t.filter.events},on:{change:function(s){var i=t.filter.events,n=s.target,a=!!n.checked;if(Array.isArray(i)){var r=e,o=t._i(i,r);n.checked?o<0&&t.$set(t.filter,"events",i.concat([r])):o>-1&&t.$set(t.filter,"events",i.slice(0,o).concat(i.slice(o+1)))}else t.$set(t.filter,"events",a)}}}),t._v(" "),s("span",{attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",[t._v(t._s(e))])])})),0)])])])])])]),t._v(" "),s("hr"),t._v(" "),s("div",{staticClass:"float-r"},[s("button",{staticClass:"sui-button sui-button-blue",attrs:{type:"submit"},on:{click:t.do_filter}},[t._v("\n\t\t\t\t\t"+t._s(t.__("Apply"))+"\n\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"clear"})])]),t._v(" "),s("div",{staticClass:"sui-accordion sui-accordion-flushed no-border-top"},[s("div",{staticClass:"sui-accordion-header"},[s("div",[t._v(t._s(t.__("Event summary")))]),t._v(" "),s("div",[t._v(t._s(t.__("Date")))]),t._v(" "),s("div")]),t._v(" "),t._l(t.get_logs,(function(e){return s("div",{staticClass:"sui-accordion-item sui-default"},[s("div",{staticClass:"sui-accordion-item-header"},[s("div",{staticClass:"sui-accordion-item-title",domProps:{textContent:t._s(t.xss(e.msg))}}),t._v(" "),s("div",{domProps:{innerHTML:t._s(t.format_time(e.timestamp))}}),t._v(" "),t._m(0,!0)]),t._v(" "),s("div",{staticClass:"sui-accordion-item-body"},[s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-body"},[s("strong",[t._v(t._s(t.__("Description")))]),t._v(" "),s("p",{domProps:{textContent:t._s(t.xss(e.msg))}}),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("Context")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.context)},domProps:{textContent:t._s(t.xss(e.context))}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("Type")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.event_type)},domProps:{textContent:t._s(t.xss(e.event_type))}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("Ip Address")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.ip)},domProps:{textContent:t._s(t.xss(e.ip))}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("User")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.user)},domProps:{textContent:t._s(t.xss(e.user))}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("Date / Time")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.timestamp)}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t._f("moment")(new Date(1e3*e.timestamp),t.misc.date_format))+"\n\t\t\t\t\t\t\t\t")])])])])])])])}))],2),t._v(" "),0===t.data.chunks.length?s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-notice"},[!0===t.state.is_fetching?s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Loading events..."))+"\n\t\t\t\t")]):s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("There have been no events logged in the selected time period."))+"\n\t\t\t\t")])])])]):t._e(),t._v(" "),s("div",{staticClass:"sui-center-box"},[s("div",{staticClass:"sui-pagination-wrap"},[t.data.total_items>0?s("pagination",{attrs:{"page-count":t.data.total_pages,"click-handler":t.paging,"prev-text":t.prev_icon,"next-text":t.next_icon,value:t.data.paged,"container-class":"sui-pagination"}}):t._e()],1)]),t._v(" "),t.state.is_fetching?s("overlay"):t._e()],1)}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",[e("button",{staticClass:"sui-button-icon sui-accordion-open-indicator",attrs:{"aria-label":"Open item"}},[e("i",{staticClass:"sui-icon-chevron-down",attrs:{"aria-hidden":"true"}})])])}],!1,null,null,null).exports,m={mixins:[a.a],name:"settings",data:function(){return{model:auditData.model.settings,state:{on_saving:!1},nonces:auditData.nonces,endpoints:auditData.endpoints}},methods:{toggle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"enabled",s=this,i={};i[e]=t,this.httpPostRequest("updateSettings",{data:JSON.stringify(i)},(function(){s.$parent.$emit("enable_state",t)}))},updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})}},mounted:function(){var t=this;jQuery("#storage_days").change((function(){t.model.storage_days=jQuery(this).val()}))}},_=Object(h.a)(m,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box audit-settings"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Settings"))+"\n\t\t\t")])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Storage")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Events are stored in our API. You can choose how many days to keep logs for before they are removed."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.storage_days,expression:"model.storage_days"}],attrs:{name:"storage_days",id:"storage_days"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"storage_days",e.target.multiple?s:s[0])}}},[s("option",{attrs:{value:"24 hours"}},[t._v(t._s(t.__("24 hours")))]),t._v(" "),s("option",{attrs:{value:"7 days"}},[t._v(t._s(t.__("7 days")))]),t._v(" "),s("option",{attrs:{value:"30 days"}},[t._v(t._s(t.__("30 days")))]),t._v(" "),s("option",{attrs:{value:"3 months"}},[t._v(t._s(t.__("3 months")))]),t._v(" "),s("option",{attrs:{value:"6 months"}},[t._v(t._s(t.__("6 months")))]),t._v(" "),s("option",{attrs:{value:"12 months"}},[t._v(t._s(t.__("12 months")))])]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose how long you'd like to store your event logs locally before wiping the oldest."))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("If you no longer want to use this feature you can turn it off at any time."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:function(e){return t.toggle(!1)}}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Deactivate"))+"\n\t\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])])])}),[],!1,null,null,null).exports,p=s("./src/component/recipients.vue"),v={mixins:[a.a],name:"report",data:function(){return{model:auditData.model.report,misc:auditData.misc,nonces:auditData.nonces,endpoints:auditData.endpoints,state:{on_saving:!1,show_day:!0}}},components:{recipients:p.a},methods:{updateRecipients:function(t){this.model.receipts=t},updateSettings:function(){var t=this.model,e=this;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)},(function(t){e.$parent.$emit("update_report_time",t.data.summary)}))}},mounted:function(){var t=this;jQuery(".report-select").change((function(){var e=jQuery(this).attr("name");t.model[e]=jQuery(this).val()})),this.model.day=this.model.day.toLowerCase()},watch:{"model.frequency":function(){this.state.show_day=this.model.frequency>1}},created:function(){this.state.show_day=this.model.frequency>1},computed:{timezone_text:function(){return this.vsprintf(this.__("Your timezone is set to UTC %s, so your current time is %s."),this.misc.tz,this.misc.current_time)}}},g=Object(h.a)(v,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Notification"))+"\n\t\t\t")])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Scheduled Reports"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Schedule Defender to automatically email you a summary of all your website events."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.notification,expression:"model.notification"}],attrs:{type:"checkbox",name:"notification",id:"toggle_notification"},domProps:{checked:Array.isArray(t.model.notification)?t._i(t.model.notification,null)>-1:t.model.notification},on:{change:function(e){var s=t.model.notification,i=e.target,n=!!i.checked;if(Array.isArray(s)){var a=t._i(s,null);i.checked?a<0&&t.$set(t.model,"notification",s.concat([null])):a>-1&&t.$set(t.model,"notification",s.slice(0,a).concat(s.slice(a+1)))}else t.$set(t.model,"notification",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"toggle_notification"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Send regular email report"))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame sui-toggle-content"},[s("div",{staticClass:"margin-top-30"},[s("recipients",{attrs:{id:"report_dialog",recipients:t.model.receipts},on:{"update:recipients":t.updateRecipients}})],1),t._v(" "),s("div",{staticClass:"sui-form-field margin-top-30 schedule-box"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Frequency"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.frequency,expression:"model.frequency"}],staticClass:"report-select",attrs:{name:"frequency"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"frequency",e.target.multiple?s:s[0])}}},[s("option",{attrs:{value:"1"}},[t._v(t._s(t.__("Daily")))]),t._v(" "),s("option",{attrs:{value:"7"}},[t._v(t._s(t.__("Weekly")))]),t._v(" "),s("option",{attrs:{value:"30"}},[t._v(t._s(t.__("Monthly")))])])])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{directives:[{name:"show",rawName:"v-show",value:t.state.show_day,expression:"state.show_day"}],staticClass:"sui-col days-container"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Day of the week")))]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.day,expression:"model.day"}],staticClass:"report-select",attrs:{name:"day"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"day",e.target.multiple?s:s[0])}}},t._l(t.misc.days_of_week,(function(e){return s("option",{domProps:{value:e.toLowerCase()}},[t._v(t._s(e)+"\n\t\t\t\t\t\t\t\t\t\t\t")])})),0)]),t._v(" "),s("div",{staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Time of day")))]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.time,expression:"model.time"}],staticClass:"report-select",attrs:{name:"time"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"time",e.target.multiple?s:s[0])}}},t._l(t.misc.times_of_day,(function(e,i){return s("option",{domProps:{value:i}},[t._v(t._s(e)+"\n\t\t\t\t\t\t\t\t\t\t\t")])})),0)]),t._v(" "),s("div",{staticClass:"sui-col-md-12"},[s("span",{staticClass:"sui-p-small",domProps:{innerHTML:t._s(t.timezone_text)}})])])])])])])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])])])}),[],!1,null,null,null).exports,y={mixins:[a.a],name:"audit",data:function(){return{view:"",summary:{report_time:auditData.summary.report_time,events_in_7_days:"-"},enabled:auditData.enabled,state:{on_saving:!1},nonces:auditData.nonces,endpoints:auditData.endpoints}},components:{"app-footer":r.a,logs:f,settings:_,report:g},methods:{updateSummary:function(t){this.summary.events_in_7_days=t},toggle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"enabled",s=this,i={};i[e]=t,this.httpPostRequest("updateSettings",{data:JSON.stringify(i)},(function(){s.enabled=t,s.$nextTick((function(){s.rebindSUI()}))}))}},created:function(){var t=new URLSearchParams(window.location.search).get("view");null===t&&(t="logs"),this.view=t,this.$on("events_in_7_days",(function(t){this.summary.events_in_7_days=t})),this.$on("update_report_time",(function(t){this.summary.report_time=t.report_time})),this.$on("enable_state",(function(t){this.enabled=t}))},watch:{view:function(t,e){history.replaceState({},null,this.adminUrl()+"admin.php?page=wdf-logging&view="+this.view)}},mounted:function(){self=this,jQuery(".sui-mobile-nav").change((function(){self.view=jQuery(this).val()}))}},b=Object(h.a)(y,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-wrap",class:t.maybeHighContrast()},[t.enabled?s("div",{staticClass:"auditing"},[s("div",{staticClass:"sui-header"},[s("h1",{staticClass:"sui-header-title"},[t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),s("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender/#audit-logging"}})],1),t._v(" "),s("summary-box",{attrs:{"css-class":"sui-summary-sm"}},[s("div",{staticClass:"sui-summary-segment"},[s("div",{staticClass:"sui-summary-details"},[s("span",{staticClass:"sui-summary-large",domProps:{textContent:t._s(t.summary.events_in_7_days)}}),t._v(" "),s("span",{staticClass:"sui-summary-sub"},[t._v("\n "+t._s(t.__("Events logged in the past 7 days"))+"\n ")])])]),t._v(" "),s("div",{staticClass:"sui-summary-segment"},[s("ul",{staticClass:"sui-list"},[s("li",[s("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("Reporting")))]),t._v(" "),s("span",{staticClass:"sui-list-detail",domProps:{textContent:t._s(t.summary.report_time)}})])])])]),t._v(" "),s("div",{staticClass:"sui-row-with-sidenav"},[s("div",{staticClass:"sui-sidenav"},[s("ul",{staticClass:"sui-vertical-tabs sui-sidenav-hide-md"},[s("li",{staticClass:"sui-vertical-tab",class:{current:"logs"===t.view}},[s("a",{attrs:{href:t.adminUrl("admin.php?page=wdf-logging")},on:{click:function(e){e.preventDefault(),t.view="logs"}}},[t._v(t._s(t.__("Event Logs")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"settings"===t.view}},[s("a",{attrs:{href:t.adminUrl("admin.php?page=wdf-logging&view=settings")},on:{click:function(e){e.preventDefault(),t.view="settings"}}},[t._v(t._s(t.__("Settings")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"report"===t.view}},[s("a",{attrs:{href:t.adminUrl("admin.php?page=wdf-logging&view=report")},on:{click:function(e){e.preventDefault(),t.view="report"}}},[t._v(t._s(t.__("Reports")))])])]),t._v(" "),s("div",{staticClass:"sui-sidenav-hide-lg"},[s("select",{staticClass:"sui-mobile-nav",staticStyle:{display:"none"}},[s("option",{attrs:{value:"logs"}},[t._v(t._s(t.__("Event Logs")))]),t._v(" "),s("option",{attrs:{value:"settings"}},[t._v(t._s(t.__("Settings")))]),t._v(" "),s("option",{attrs:{value:"report"}},[t._v(t._s(t.__("Reports")))])])])]),t._v(" "),s("logs",{directives:[{name:"show",rawName:"v-show",value:"logs"===t.view,expression:"view==='logs'"}]}),t._v(" "),s("settings",{directives:[{name:"show",rawName:"v-show",value:"settings"===t.view,expression:"view==='settings'"}]}),t._v(" "),s("report",{directives:[{name:"show",rawName:"v-show",value:"report"===t.view,expression:"view==='report'"}]})],1),t._v(" "),s("app-footer")],1):s("div",{staticClass:"auditing"},[s("div",{staticClass:"sui-header"},[s("h1",{staticClass:"sui-header-title"},[t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-actions-right"},[s("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender/#audit-logging"}})],1)]),t._v(" "),s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-message"},[!1===t.maybeHideBranding()?s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/audit-disabled-man.svg"),"aria-hidden":"true"}}):t._e(),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n "+t._s(t.__("Track and log each and every event when changes are made to your website and getdetailed reports on what's going on behind the scenes, including any hacking attempts onyour site."))+"\n ")]),t._v(" "),s("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:function(e){return t.toggle(!0)}}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1)])])])])}),[],!1,null,null,null).exports,w={mixins:[a.a],name:"audit-free"},k=Object(h.a)(w,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-wrap",class:t.maybeHighContrast},[s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),t._m(0)]),t._v(" "),s("div",{staticClass:"sui-message"},[s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/audit-disabled-man.svg")}}),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n "+t._s(t.__("Track and log each and every event when changes are made to your website and get detailed reports on what's going on behind the scenes, including any hacking attempts on your site. This is a pro feature that requires an active WPMU DEV membership. Try it free today!"))+"\n ")]),t._v(" "),s("a",{staticClass:"sui-button sui-button-purple",attrs:{href:t.campaign_url("defender_auditlogging_upgrade_button"),target:"_blank"}},[t._v("Upgrade to Pro")])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-left"},[e("span",{staticClass:"sui-tag sui-tag-pro"},[this._v("Pro")])])}],!1,null,null,null).exports,x=s("./src/component/overlay.vue"),C=s("./src/component/submit-button.vue"),S=s("./src/component/doc-link.vue"),D=s("./src/component/summary-box.vue");n.a.filter("moment",(function(t,e){return t?d(t).format(e):d().format(e)})),n.a.component("overlay",x.a),n.a.component("submit-button",C.a),n.a.component("app-footer",r.a),n.a.component("doc-link",S.a),n.a.component("summary-box",D.a);new n.a({el:"#defender",components:{audit:b,audit_free:k},render:function(t){return 0===parseInt(defender.is_free)?t(b):t(k)}})},"./src/component/doc-link.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],name:"doc-link",props:["link"],data:function(){return{whitelabel:defender.whitelabel}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return!1===this.whitelabel.hide_doc_link?e("div",{staticClass:"sui-actions-right"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:this.link,target:"_blank"}},[e("i",{staticClass:"sui-icon-academy"}),this._v(" "+this._s(this.__("View Documentation"))+"\n ")])]):this._e()}),[],!1,null,null,null);e.a=a.exports},"./src/component/footer.vue":function(t,e,s){"use strict";var i={data:function(){return{whitelabel:defender.whitelabel,is_free:defender.is_free}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[!0===t.whitelabel.change_footer?s("div",{staticClass:"sui-footer"},[t._v("\n "+t._s(t.whitelabel.footer_text)+"\n ")]):s("div",{staticClass:"sui-footer"},[t._v("Made with "),s("i",{staticClass:"sui-icon-heart"}),t._v(" by WPMU DEV")]),t._v(" "),!1===t.whitelabel.hide_doc_link?s("div",[t.is_free?s("ul",{staticClass:"sui-footer-nav"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7)]):s("ul",{staticClass:"sui-footer-nav"},[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15)]),t._v(" "),t._m(16)]):t._e()])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://profiles.wordpress.org/wpmudev#content-plugins",target:"_blank"}},[this._v("Free\n Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/features/",target:"_blank"}},[this._v("Membership")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://wordpress.org/support/plugin/plugin-name",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/projects/category/plugins/",target:"_blank"}},[this._v("Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/support/",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/community/",target:"_blank"}},[this._v("Community")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ul",{staticClass:"sui-footer-social"},[s("li",[s("a",{attrs:{href:"https://www.facebook.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-facebook",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Facebook")])])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://twitter.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-twitter",attrs:{"aria-hidden":"true"}})]),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Twitter")])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://www.instagram.com/wpmu_dev/",target:"_blank"}},[s("i",{staticClass:"sui-icon-instagram",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Instagram")])])])])}],!1,null,null,null);e.a=a.exports},"./src/component/overlay.vue":function(t,e,s){"use strict";var i={name:"overlay"},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement;this._self._c;return this._m(0)}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"wd-overlay"},[e("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null);e.a=a.exports},"./src/component/pagination.vue":function(t,e,s){"use strict";var i={props:{value:{type:Number},pageCount:{type:Number,required:!0},forcePage:{type:Number},clickHandler:{type:Function,default:function(){}},pageRange:{type:Number,default:3},marginPages:{type:Number,default:1},prevText:{type:String,default:"Prev"},nextText:{type:String,default:"Next"},breakViewText:{type:String,default:"…"},containerClass:{type:String},pageClass:{type:String},pageLinkClass:{type:String},prevClass:{type:String},prevLinkClass:{type:String},nextClass:{type:String},nextLinkClass:{type:String},breakViewClass:{type:String},breakViewLinkClass:{type:String},activeClass:{type:String,default:"active"},disabledClass:{type:String,default:"disabled"},noLiSurround:{type:Boolean,default:!1},firstLastButton:{type:Boolean,default:!1},firstButtonText:{type:String,default:"First"},lastButtonText:{type:String,default:"Last"},hidePrevNext:{type:Boolean,default:!1}},beforeUpdate:function(){void 0!==this.forcePage&&this.forcePage!==this.selected&&(this.selected=this.forcePage)},computed:{selected:{get:function(){return this.value||this.innerValue},set:function(t){this.innerValue=t}},pages:function(){var t=this,e={};if(this.pageCount<=this.pageRange)for(var s=0;s<this.pageCount;s++){var i={index:s,content:s+1,selected:s===this.selected-1};e[s]=i}else{for(var n=Math.floor(this.pageRange/2),a=function(s){var i={index:s,content:s+1,selected:s===t.selected-1};e[s]=i},r=function(t){e[t]={disabled:!0,breakView:!0}},o=0;o<this.marginPages;o++)a(o);var l=0;this.selected-n>0&&(l=this.selected-1-n);var u=l+this.pageRange-1;u>=this.pageCount&&(l=(u=this.pageCount-1)-this.pageRange+1);for(var d=l;d<=u&&d<=this.pageCount-1;d++)a(d);l>this.marginPages&&r(l-1),u+1<this.pageCount-this.marginPages&&r(u+1);for(var c=this.pageCount-1;c>=this.pageCount-this.marginPages;c--)a(c)}return e}},data:function(){return{innerValue:1}},methods:{handlePageSelected:function(t){this.selected!==t&&(this.innerValue=t,this.$emit("input",t),this.clickHandler(t))},prevPage:function(){this.selected<=1||this.handlePageSelected(this.selected-1)},nextPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.selected+1)},firstPageSelected:function(){return 1===this.selected},lastPageSelected:function(){return this.selected===this.pageCount||0===this.pageCount},selectFirstPage:function(){this.selected<=1||this.handlePageSelected(1)},selectLastPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.pageCount)}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.noLiSurround?s("div",{class:t.containerClass},[t.firstLastButton?s("a",{class:[t.pageLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){return t.selectFirstPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectFirstPage()}}}):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():s("a",{class:[t.prevLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){return t.prevPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.prevPage()}}}),t._v(" "),t._l(t.pages,(function(e){return[e.breakView?s("a",{class:[t.pageLinkClass,t.breakViewLinkClass,e.disabled?t.disabledClass:""],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?s("a",{class:[t.pageLinkClass,e.selected?t.activeClass:"",t.disabledClass],attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):s("a",{class:[t.pageLinkClass,e.selected?t.activeClass:""],attrs:{tabindex:"0"},on:{click:function(s){return t.handlePageSelected(e.index+1)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.handlePageSelected(e.index+1)}}},[t._v(t._s(e.content))])]})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():s("a",{class:[t.nextLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){return t.nextPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.nextPage()}}}),t._v(" "),t.firstLastButton?s("a",{class:[t.pageLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){return t.selectLastPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectLastPage()}}}):t._e()],2):s("ul",{class:t.containerClass},[t.firstLastButton?s("li",{class:[t.pageClass,t.firstPageSelected()?t.disabledClass:""]},[s("a",{class:t.pageLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){return t.selectFirstPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectFirstPage()}}})]):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():s("li",{class:[t.prevClass,t.firstPageSelected()?t.disabledClass:""]},[s("a",{class:t.prevLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){return t.prevPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.prevPage()}}})]),t._v(" "),t._l(t.pages,(function(e){return s("li",{class:[t.pageClass,e.selected?t.activeClass:"",e.disabled?t.disabledClass:"",e.breakView?t.breakViewClass:""]},[e.breakView?s("a",{class:[t.pageLinkClass,t.breakViewLinkClass],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?s("a",{class:t.pageLinkClass,attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):s("a",{class:t.pageLinkClass,attrs:{disabled:e.selected,tabindex:"0"},on:{click:function(s){return t.handlePageSelected(e.index+1)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.handlePageSelected(e.index+1)}}},[t._v(t._s(e.content))])])})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():s("li",{class:[t.nextClass,t.lastPageSelected()?t.disabledClass:""]},[s("a",{class:t.nextLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){return t.nextPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.nextPage()}}})]),t._v(" "),t.firstLastButton?s("li",{class:[t.pageClass,t.lastPageSelected()?t.disabledClass:""]},[s("a",{class:t.pageLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){return t.selectLastPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectLastPage()}}})]):t._e()],2)}),[],!1,null,null,null);e.a=a.exports},"./src/component/recipients.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],props:["recipients","id"],data:function(){return{first_name:"",email:"",observers:[],can_add:!1,saving_warning:!1,validate:{email:""}}},created:function(){this.observers=this.recipients},watch:{email:function(){if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(this.email)){var t=!0,e=this;this.observers.forEach((function(s,i){if(s.email===e.email)return t=!1,void(e.validate.email=e.__("This email address is already in use"))})),this.can_add=t,!0===t&&(this.validate.email="")}else this.can_add=!1,this.validate.email=this.__("Invalid email address")},observers:function(){0===this.observers.length?this.saving_warning=!0:this.saving_warning=!1,void 0!==this.event&&this.$emit("update:recipients",this.observers)}},methods:{addRecipient:function(){this.observers.push({first_name:this.first_name,email:this.email}),jQuery.each(SUI.dialogs,(function(t,e){e.hide()})),this.first_name="",this.email=""},removeRecipient:function(t){this.observers.splice(t,1)}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("div",{directives:[{name:"show",rawName:"v-show",value:t.saving_warning,expression:"saving_warning"}],staticClass:"sui-notice sui-notice-warning"},[s("p",[t._v("\n "+t._s(t.__("You've removed all recipients. If you save without a recipient, we'll automatically turn of reports"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-recipients"},[t._l(t.observers,(function(e,i){return s("div",{staticClass:"sui-recipient"},[s("span",{staticClass:"sui-recipient-name"},[t._v(t._s(e.first_name))]),t._v(" "),s("span",{staticClass:"sui-recipient-email"},[t._v(t._s(e.email))]),t._v(" "),s("button",{staticClass:"sui-button-icon",attrs:{type:"button"},on:{click:function(e){return t.removeRecipient(i)}}},[s("i",{staticClass:"sui-icon-trash",attrs:{"aria-hidden":"true"}})])])})),t._v(" "),s("button",{staticClass:"sui-button sui-button-ghost",attrs:{"data-a11y-dialog-show":t.id,type:"button"}},[s("i",{staticClass:"sui-icon-plus",attrs:{"aria-hidden":"true"}}),t._v(" "+t._s(t.__("Add Recipient"))+"\n ")])],2),t._v(" "),s("div",{staticClass:"sui-dialog sui-dialog-sm",attrs:{"aria-hidden":"true",tabindex:"-1",id:t.id}},[s("div",{staticClass:"sui-dialog-overlay"}),t._v(" "),s("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"dialogTitle","aria-describedby":"dialogDescription",role:"dialog"}},[s("div",{staticClass:"sui-box",attrs:{role:"document"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Add Recipient"))+"\n ")]),t._v(" "),t._m(0)]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n "+t._s(t.__("Add as many recipients as you like, they will receive email reports as per the schedule you set."))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("First name")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.first_name,expression:"first_name"}],staticClass:"sui-form-control",attrs:{type:"text"},domProps:{value:t.first_name},on:{input:function(e){e.target.composing||(t.first_name=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"sui-form-field",class:{"sui-form-field-error":t.validate.email.length>0}},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Email")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.email,expression:"email"}],staticClass:"sui-form-control",attrs:{type:"text"},domProps:{value:t.email},on:{input:function(e){e.target.composing||(t.email=e.target.value)}}}),t._v(" "),s("span",{directives:[{name:"show",rawName:"v-show",value:t.validate.email.length>0,expression:"validate.email.length > 0"}],staticClass:"sui-error-message",domProps:{textContent:t._s(this.validate.email)}})])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("button",{staticClass:"sui-button sui-button-ghost",attrs:{type:"button","data-a11y-dialog-hide":"recipient-dialog"}},[t._v("\n "+t._s(t.__("Cancel"))+"\n ")]),t._v(" "),s("button",{staticClass:"sui-modal-close sui-button",attrs:{type:"button",disabled:!1===t.can_add},on:{click:t.addRecipient}},[t._v(t._s(t.__("Add"))+"\n ")])])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-right"},[e("button",{staticClass:"sui-dialog-close",attrs:{type:"button","data-a11y-dialog-hide":"","aria-label":"Close this dialog window"}})])}],!1,null,null,null);e.a=a.exports},"./src/component/submit-button.vue":function(t,e,s){"use strict";var i={name:"submit-button",props:["id","state","text","css-class","type"],computed:{getClass:function(){return"sui-button "+this.cssClass}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("button",{staticClass:"sui-button",class:[t.getClass,{"sui-button-onload":t.state.on_saving}],attrs:{id:t.id,type:t.type,disabled:t.state.on_saving},on:{click:function(e){return t.$emit("click")}}},[s("span",{staticClass:"sui-loading-text"},[t._t("default")],2),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}),[],!1,null,null,null);e.a=a.exports},"./src/component/summary-box.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],props:["css-class"],name:"summary-box",data:function(){return{whitelabel:defender.whitelabel}},computed:{summary_class:function(){return{"sui-unbranded":!0===this.whitelabel.hide_branding&&0===this.whitelabel.hero_image.length,"sui-rebranded":!0===this.whitelabel.hide_branding&&this.whitelabel.hero_image.length>0}},css_class:function(){return this.cssClass},rebrand_img:function(){if(this.whitelabel.hero_image.length>0)return console.log({"background-image":"url('"+this.whitelabel.hero_image+"')"}),{"background-image":"url('"+this.whitelabel.hero_image+"')"}}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-box sui-summary",class:[this.summary_class,this.css_class],style:this.rebrand_img},[e("div",{staticClass:"sui-summary-image-space",attrs:{"aria-hidden":"true"}}),this._v(" "),this._t("default")],2)}),[],!1,null,null,null);e.a=a.exports},"./src/helper/base_hepler.js":function(t,e,s){"use strict";var i=s("./node_modules/xss/lib/index.js"),n=s.n(i),a=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var s=[],i=!0,n=!1,a=void 0;try{for(var r,o=t[Symbol.iterator]();!(i=(r=o.next()).done)&&(s.push(r.value),!e||s.length!==e);i=!0);}catch(t){n=!0,a=t}finally{try{!i&&o.return&&o.return()}finally{if(n)throw a}}return s}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},r=wp.i18n,o=r.sprintf,l=r.__,u=[];e.a={methods:{__:function(t){return n()(l(t,"wpdef"))},xss:function(t){return n()(t)},vsprintf:function(t){return o.apply(null,arguments)},siteUrl:function(t){return void 0!==t?defender.site_url+t:defender.site_url},adminUrl:function(t){return void 0!==t?defender.admin_url+t:defender.admin_url},assetUrl:function(t){return defender.defender_url+t},maybeHighContrast:function(){return{"sui-color-accessible":!0===defender.misc.high_contrast}},maybeHideBranding:function(){return defender.whitelabel.hide_branding},campaign_url:function(t){return"https://premium.wpmudev.org/project/wp-defender/?utm_source=defender&utm_medium=plugin&utm_campaign="+t},httpRequest:function(t,e,s,i,n){var a=this;void 0===n&&(this.state.on_saving=!0);var r=ajaxurl+"?action="+this.endpoints[e]+"&_wpnonce="+this.nonces[e],o=jQuery.ajax({url:r,method:t,data:s,success:function(t){var e=t.data;a.state.on_saving=!1,void 0!==e&&void 0!==e.message&&(t.success?Defender.showNotification("success",e.message):Defender.showNotification("error",e.message)),void 0!==i&&i(t)}});u.push(o)},httpGetRequest:function(t,e,s,i){this.httpRequest("get",t,e,s,i)},httpPostRequest:function(t,e,s,i){this.httpRequest("post",t,e,s,i)},abortAllRequests:function(){for(var t=0;t<u.length;t++)u[t].abort()},getQueryStringParams:function(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((function(t,e){var s=e.split("="),i=a(s,2),n=i[0],r=i[1];return t[n]=r?decodeURIComponent(r.replace(/\+/g," ")):"",t}),{}):{}},rebindSUI:function(){jQuery("select:not([multiple])").each((function(){SUI.suiSelect(this)})),jQuery(".sui-accordion").each((function(){SUI.suiAccordion(this)}));var t=jQuery(".sui-wrap");SUI.dialogs={},jQuery(".sui-dialog").each((function(){SUI.dialogs[this.id]=new A11yDialog(this,t)}))}}}},vue:function(t,e){t.exports=Vue}});
|
1 |
+
!function(t){var e=window.webpackHotUpdate;window.webpackHotUpdate=function(t,s){!function(t,e){if(!b[t]||!y[t])return;for(var s in y[t]=!1,e)Object.prototype.hasOwnProperty.call(e,s)&&(m[s]=e[s]);0==--p&&0===v&&C()}(t,s),e&&e(t,s)};var s,i=!0,n="d0b3332498cfafc2e0f1",a={},r=[],o=[];function l(t){var e=D[t];if(!e)return M;var i=function(i){return e.hot.active?(D[i]?-1===D[i].parents.indexOf(t)&&D[i].parents.push(t):(r=[t],s=i),-1===e.children.indexOf(i)&&e.children.push(i)):(console.warn("[HMR] unexpected require("+i+") from disposed module "+t),r=[]),M(i)},n=function(t){return{configurable:!0,enumerable:!0,get:function(){return M[t]},set:function(e){M[t]=e}}};for(var a in M)Object.prototype.hasOwnProperty.call(M,a)&&"e"!==a&&"t"!==a&&Object.defineProperty(i,a,n(a));return i.e=function(t){return"ready"===c&&h("prepare"),v++,M.e(t).then(e,(function(t){throw e(),t}));function e(){v--,"prepare"===c&&(g[t]||x(t),0===v&&0===p&&C())}},i.t=function(t,e){return 1&e&&(t=i(t)),M.t(t,-2&e)},i}function u(t){var e={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:s!==t,active:!0,accept:function(t,s){if(void 0===t)e._selfAccepted=!0;else if("function"==typeof t)e._selfAccepted=t;else if("object"==typeof t)for(var i=0;i<t.length;i++)e._acceptedDependencies[t[i]]=s||function(){};else e._acceptedDependencies[t]=s||function(){}},decline:function(t){if(void 0===t)e._selfDeclined=!0;else if("object"==typeof t)for(var s=0;s<t.length;s++)e._declinedDependencies[t[s]]=!0;else e._declinedDependencies[t]=!0},dispose:function(t){e._disposeHandlers.push(t)},addDisposeHandler:function(t){e._disposeHandlers.push(t)},removeDisposeHandler:function(t){var s=e._disposeHandlers.indexOf(t);s>=0&&e._disposeHandlers.splice(s,1)},check:k,apply:S,status:function(t){if(!t)return c;d.push(t)},addStatusHandler:function(t){d.push(t)},removeStatusHandler:function(t){var e=d.indexOf(t);e>=0&&d.splice(e,1)},data:a[t]};return s=void 0,e}var d=[],c="idle";function h(t){c=t;for(var e=0;e<d.length;e++)d[e].call(null,t)}var f,m,_,p=0,v=0,g={},y={},b={};function w(t){return+t+""===t?+t:t}function k(t){if("idle"!==c)throw new Error("check() is only allowed in idle status");return i=t,h("check"),(e=1e4,e=e||1e4,new Promise((function(t,s){if("undefined"==typeof XMLHttpRequest)return s(new Error("No browser support"));try{var i=new XMLHttpRequest,a=M.p+""+n+".hot-update.json";i.open("GET",a,!0),i.timeout=e,i.send(null)}catch(t){return s(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)s(new Error("Manifest request to "+a+" timed out."));else if(404===i.status)t();else if(200!==i.status&&304!==i.status)s(new Error("Manifest request to "+a+" failed."));else{try{var e=JSON.parse(i.responseText)}catch(t){return void s(t)}t(e)}}}))).then((function(t){if(!t)return h("idle"),null;y={},g={},b=t.c,_=t.h,h("prepare");var e=new Promise((function(t,e){f={resolve:t,reject:e}}));m={};return x(1),"prepare"===c&&0===v&&0===p&&C(),e}));var e}function x(t){b[t]?(y[t]=!0,p++,function(t){var e=document.createElement("script");e.charset="utf-8",e.src=M.p+""+t+"."+n+".hot-update.js",document.head.appendChild(e)}(t)):g[t]=!0}function C(){h("ready");var t=f;if(f=null,t)if(i)Promise.resolve().then((function(){return S(i)})).then((function(e){t.resolve(e)}),(function(e){t.reject(e)}));else{var e=[];for(var s in m)Object.prototype.hasOwnProperty.call(m,s)&&e.push(w(s));t.resolve(e)}}function S(e){if("ready"!==c)throw new Error("apply() is only allowed in ready status");var s,i,o,l,u;function d(t){for(var e=[t],s={},i=e.map((function(t){return{chain:[t],id:t}}));i.length>0;){var n=i.pop(),a=n.id,r=n.chain;if((l=D[a])&&!l.hot._selfAccepted){if(l.hot._selfDeclined)return{type:"self-declined",chain:r,moduleId:a};if(l.hot._main)return{type:"unaccepted",chain:r,moduleId:a};for(var o=0;o<l.parents.length;o++){var u=l.parents[o],d=D[u];if(d){if(d.hot._declinedDependencies[a])return{type:"declined",chain:r.concat([u]),moduleId:a,parentId:u};-1===e.indexOf(u)&&(d.hot._acceptedDependencies[a]?(s[u]||(s[u]=[]),f(s[u],[a])):(delete s[u],e.push(u),i.push({chain:r.concat([u]),id:u})))}}}}return{type:"accepted",moduleId:t,outdatedModules:e,outdatedDependencies:s}}function f(t,e){for(var s=0;s<e.length;s++){var i=e[s];-1===t.indexOf(i)&&t.push(i)}}e=e||{};var p={},v=[],g={},y=function(){console.warn("[HMR] unexpected require("+x.moduleId+") to disposed module")};for(var k in m)if(Object.prototype.hasOwnProperty.call(m,k)){var x;u=w(k);var C=!1,S=!1,O=!1,Y="";switch((x=m[k]?d(u):{type:"disposed",moduleId:k}).chain&&(Y="\nUpdate propagation: "+x.chain.join(" -> ")),x.type){case"self-declined":e.onDeclined&&e.onDeclined(x),e.ignoreDeclined||(C=new Error("Aborted because of self decline: "+x.moduleId+Y));break;case"declined":e.onDeclined&&e.onDeclined(x),e.ignoreDeclined||(C=new Error("Aborted because of declined dependency: "+x.moduleId+" in "+x.parentId+Y));break;case"unaccepted":e.onUnaccepted&&e.onUnaccepted(x),e.ignoreUnaccepted||(C=new Error("Aborted because "+u+" is not accepted"+Y));break;case"accepted":e.onAccepted&&e.onAccepted(x),S=!0;break;case"disposed":e.onDisposed&&e.onDisposed(x),O=!0;break;default:throw new Error("Unexception type "+x.type)}if(C)return h("abort"),Promise.reject(C);if(S)for(u in g[u]=m[u],f(v,x.outdatedModules),x.outdatedDependencies)Object.prototype.hasOwnProperty.call(x.outdatedDependencies,u)&&(p[u]||(p[u]=[]),f(p[u],x.outdatedDependencies[u]));O&&(f(v,[x.moduleId]),g[u]=y)}var T,P=[];for(i=0;i<v.length;i++)u=v[i],D[u]&&D[u].hot._selfAccepted&&g[u]!==y&&P.push({module:u,errorHandler:D[u].hot._selfAccepted});h("dispose"),Object.keys(b).forEach((function(t){!1===b[t]&&function(t){delete installedChunks[t]}(t)}));for(var j,A,L=v.slice();L.length>0;)if(u=L.pop(),l=D[u]){var E={},R=l.hot._disposeHandlers;for(o=0;o<R.length;o++)(s=R[o])(E);for(a[u]=E,l.hot.active=!1,delete D[u],delete p[u],o=0;o<l.children.length;o++){var N=D[l.children[o]];N&&((T=N.parents.indexOf(u))>=0&&N.parents.splice(T,1))}}for(u in p)if(Object.prototype.hasOwnProperty.call(p,u)&&(l=D[u]))for(A=p[u],o=0;o<A.length;o++)j=A[o],(T=l.children.indexOf(j))>=0&&l.children.splice(T,1);for(u in h("apply"),n=_,g)Object.prototype.hasOwnProperty.call(g,u)&&(t[u]=g[u]);var H=null;for(u in p)if(Object.prototype.hasOwnProperty.call(p,u)&&(l=D[u])){A=p[u];var I=[];for(i=0;i<A.length;i++)if(j=A[i],s=l.hot._acceptedDependencies[j]){if(-1!==I.indexOf(s))continue;I.push(s)}for(i=0;i<I.length;i++){s=I[i];try{s(A)}catch(t){e.onErrored&&e.onErrored({type:"accept-errored",moduleId:u,dependencyId:A[i],error:t}),e.ignoreErrored||H||(H=t)}}}for(i=0;i<P.length;i++){var U=P[i];u=U.module,r=[u];try{M(u)}catch(t){if("function"==typeof U.errorHandler)try{U.errorHandler(t)}catch(s){e.onErrored&&e.onErrored({type:"self-accept-error-handler-errored",moduleId:u,error:s,originalError:t}),e.ignoreErrored||H||(H=s),H||(H=t)}else e.onErrored&&e.onErrored({type:"self-accept-errored",moduleId:u,error:t}),e.ignoreErrored||H||(H=t)}}return H?(h("fail"),Promise.reject(H)):(h("idle"),new Promise((function(t){t(v)})))}var D={};function M(e){if(D[e])return D[e].exports;var s=D[e]={i:e,l:!1,exports:{},hot:u(e),parents:(o=r,r=[],o),children:[]};return t[e].call(s.exports,s,s.exports,l(e)),s.l=!0,s.exports}M.m=t,M.c=D,M.d=function(t,e,s){M.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},M.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},M.t=function(t,e){if(1&e&&(t=M(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(M.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)M.d(s,i,function(e){return t[e]}.bind(null,i));return s},M.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return M.d(e,"a",e),e},M.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},M.p="",M.h=function(){return n},l("./src/audit.js")(M.s="./src/audit.js")}({"./node_modules/cssfilter/lib/css.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),n=s("./node_modules/cssfilter/lib/parser.js");s("./node_modules/cssfilter/lib/util.js");function a(t){return null==t}function r(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).whiteList=t.whiteList||i.whiteList,t.onAttr=t.onAttr||i.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||i.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,this.options=t}r.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onAttr,r=e.onIgnoreAttr,o=e.safeAttrValue;return n(t,(function(t,e,n,l,u){var d=s[n],c=!1;if(!0===d?c=d:"function"==typeof d?c=d(l):d instanceof RegExp&&(c=d.test(l)),!0!==c&&(c=!1),l=o(n,l)){var h,f={position:e,sourcePosition:t,source:u,isWhite:c};return c?a(h=i(n,l,f))?n+":"+l:h:a(h=r(n,l,f))?void 0:h}}))},t.exports=r},"./node_modules/cssfilter/lib/default.js":function(t,e){function s(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var i=/javascript\s*\:/gim;e.whiteList=s(),e.getDefaultWhiteList=s,e.onAttr=function(t,e,s){},e.onIgnoreAttr=function(t,e,s){},e.safeAttrValue=function(t,e){return i.test(e)?"":e}},"./node_modules/cssfilter/lib/index.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),n=s("./node_modules/cssfilter/lib/css.js");for(var a in(e=t.exports=function(t,e){return new n(e).process(t)}).FilterCSS=n,i)e[a]=i[a];"undefined"!=typeof window&&(window.filterCSS=t.exports)},"./node_modules/cssfilter/lib/parser.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/util.js");t.exports=function(t,e){";"!==(t=i.trimRight(t))[t.length-1]&&(t+=";");var s=t.length,n=!1,a=0,r=0,o="";function l(){if(!n){var s=i.trim(t.slice(a,r)),l=s.indexOf(":");if(-1!==l){var u=i.trim(s.slice(0,l)),d=i.trim(s.slice(l+1));if(u){var c=e(a,o.length,u,d,s);c&&(o+=c+"; ")}}}a=r+1}for(;r<s;r++){var u=t[r];if("/"===u&&"*"===t[r+1]){var d=t.indexOf("*/",r+2);if(-1===d)break;a=(r=d+1)+1,n=!1}else"("===u?n=!0:")"===u?n=!1:";"===u?n||l():"\n"===u&&l()}return i.trim(o)}},"./node_modules/cssfilter/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,n;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,n=t.length;i<n;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\s*$)/g,"")}}},"./node_modules/lodash/_Symbol.js":function(t,e,s){var i=s("./node_modules/lodash/_root.js").Symbol;t.exports=i},"./node_modules/lodash/_baseGetTag.js":function(t,e,s){var i=s("./node_modules/lodash/_Symbol.js"),n=s("./node_modules/lodash/_getRawTag.js"),a=s("./node_modules/lodash/_objectToString.js"),r=i?i.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":r&&r in Object(t)?n(t):a(t)}},"./node_modules/lodash/_baseSlice.js":function(t,e){t.exports=function(t,e,s){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),(s=s>n?n:s)<0&&(s+=n),n=e>s?0:s-e>>>0,e>>>=0;for(var a=Array(n);++i<n;)a[i]=t[i+e];return a}},"./node_modules/lodash/_freeGlobal.js":function(t,e,s){(function(e){var s="object"==typeof e&&e&&e.Object===Object&&e;t.exports=s}).call(this,s("./node_modules/webpack/buildin/global.js"))},"./node_modules/lodash/_getRawTag.js":function(t,e,s){var i=s("./node_modules/lodash/_Symbol.js"),n=Object.prototype,a=n.hasOwnProperty,r=n.toString,o=i?i.toStringTag:void 0;t.exports=function(t){var e=a.call(t,o),s=t[o];try{t[o]=void 0;var i=!0}catch(t){}var n=r.call(t);return i&&(e?t[o]=s:delete t[o]),n}},"./node_modules/lodash/_isIndex.js":function(t,e){var s=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){var i=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==i||"symbol"!=i&&s.test(t))&&t>-1&&t%1==0&&t<e}},"./node_modules/lodash/_isIterateeCall.js":function(t,e,s){var i=s("./node_modules/lodash/eq.js"),n=s("./node_modules/lodash/isArrayLike.js"),a=s("./node_modules/lodash/_isIndex.js"),r=s("./node_modules/lodash/isObject.js");t.exports=function(t,e,s){if(!r(s))return!1;var o=typeof e;return!!("number"==o?n(s)&&a(e,s.length):"string"==o&&e in s)&&i(s[e],t)}},"./node_modules/lodash/_objectToString.js":function(t,e){var s=Object.prototype.toString;t.exports=function(t){return s.call(t)}},"./node_modules/lodash/_root.js":function(t,e,s){var i=s("./node_modules/lodash/_freeGlobal.js"),n="object"==typeof self&&self&&self.Object===Object&&self,a=i||n||Function("return this")();t.exports=a},"./node_modules/lodash/chunk.js":function(t,e,s){var i=s("./node_modules/lodash/_baseSlice.js"),n=s("./node_modules/lodash/_isIterateeCall.js"),a=s("./node_modules/lodash/toInteger.js"),r=Math.ceil,o=Math.max;t.exports=function(t,e,s){e=(s?n(t,e,s):void 0===e)?1:o(a(e),0);var l=null==t?0:t.length;if(!l||e<1)return[];for(var u=0,d=0,c=Array(r(l/e));u<l;)c[d++]=i(t,u,u+=e);return c}},"./node_modules/lodash/eq.js":function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},"./node_modules/lodash/isArrayLike.js":function(t,e,s){var i=s("./node_modules/lodash/isFunction.js"),n=s("./node_modules/lodash/isLength.js");t.exports=function(t){return null!=t&&n(t.length)&&!i(t)}},"./node_modules/lodash/isFunction.js":function(t,e,s){var i=s("./node_modules/lodash/_baseGetTag.js"),n=s("./node_modules/lodash/isObject.js");t.exports=function(t){if(!n(t))return!1;var e=i(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},"./node_modules/lodash/isLength.js":function(t,e){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},"./node_modules/lodash/isObject.js":function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},"./node_modules/lodash/isObjectLike.js":function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},"./node_modules/lodash/isSymbol.js":function(t,e,s){var i=s("./node_modules/lodash/_baseGetTag.js"),n=s("./node_modules/lodash/isObjectLike.js");t.exports=function(t){return"symbol"==typeof t||n(t)&&"[object Symbol]"==i(t)}},"./node_modules/lodash/toFinite.js":function(t,e,s){var i=s("./node_modules/lodash/toNumber.js");t.exports=function(t){return t?(t=i(t))===1/0||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},"./node_modules/lodash/toInteger.js":function(t,e,s){var i=s("./node_modules/lodash/toFinite.js");t.exports=function(t){var e=i(t),s=e%1;return e==e?s?e-s:e:0}},"./node_modules/lodash/toNumber.js":function(t,e,s){var i=s("./node_modules/lodash/isObject.js"),n=s("./node_modules/lodash/isSymbol.js"),a=/^\s+|\s+$/g,r=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(n(t))return NaN;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(a,"");var s=o.test(t);return s||l.test(t)?u(t.slice(2),s?2:8):r.test(t)?NaN:+t}},"./node_modules/moment/moment.js":function(t,e,s){(function(t){t.exports=function(){"use strict";var e,s;function i(){return e.apply(null,arguments)}function n(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function a(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function r(t){return void 0===t}function o(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function l(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function u(t,e){var s,i=[];for(s=0;s<t.length;++s)i.push(e(t[s],s));return i}function d(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function c(t,e){for(var s in e)d(e,s)&&(t[s]=e[s]);return d(e,"toString")&&(t.toString=e.toString),d(e,"valueOf")&&(t.valueOf=e.valueOf),t}function h(t,e,s,i){return xe(t,e,s,i,!0).utc()}function f(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function m(t){if(null==t._isValid){var e=f(t),i=s.call(e.parsedDateParts,(function(t){return null!=t})),n=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&i);if(t._strict&&(n=n&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return n;t._isValid=n}return t._isValid}function _(t){var e=h(NaN);return null!=t?c(f(e),t):f(e).userInvalidated=!0,e}s=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),s=e.length>>>0,i=0;i<s;i++)if(i in e&&t.call(this,e[i],i,e))return!0;return!1};var p=i.momentProperties=[];function v(t,e){var s,i,n;if(r(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),r(e._i)||(t._i=e._i),r(e._f)||(t._f=e._f),r(e._l)||(t._l=e._l),r(e._strict)||(t._strict=e._strict),r(e._tzm)||(t._tzm=e._tzm),r(e._isUTC)||(t._isUTC=e._isUTC),r(e._offset)||(t._offset=e._offset),r(e._pf)||(t._pf=f(e)),r(e._locale)||(t._locale=e._locale),p.length>0)for(s=0;s<p.length;s++)r(n=e[i=p[s]])||(t[i]=n);return t}var g=!1;function y(t){v(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===g&&(g=!0,i.updateOffset(this),g=!1)}function b(t){return t instanceof y||null!=t&&null!=t._isAMomentObject}function w(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function k(t){var e=+t,s=0;return 0!==e&&isFinite(e)&&(s=w(e)),s}function x(t,e,s){var i,n=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),r=0;for(i=0;i<n;i++)(s&&t[i]!==e[i]||!s&&k(t[i])!==k(e[i]))&&r++;return r+a}function C(t){!1===i.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function S(t,e){var s=!0;return c((function(){if(null!=i.deprecationHandler&&i.deprecationHandler(null,t),s){for(var n,a=[],r=0;r<arguments.length;r++){if(n="","object"==typeof arguments[r]){for(var o in n+="\n["+r+"] ",arguments[0])n+=o+": "+arguments[0][o]+", ";n=n.slice(0,-2)}else n=arguments[r];a.push(n)}C(t+"\nArguments: "+Array.prototype.slice.call(a).join("")+"\n"+(new Error).stack),s=!1}return e.apply(this,arguments)}),e)}var D,M={};function O(t,e){null!=i.deprecationHandler&&i.deprecationHandler(t,e),M[t]||(C(e),M[t]=!0)}function Y(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function T(t,e){var s,i=c({},t);for(s in e)d(e,s)&&(a(t[s])&&a(e[s])?(i[s]={},c(i[s],t[s]),c(i[s],e[s])):null!=e[s]?i[s]=e[s]:delete i[s]);for(s in t)d(t,s)&&!d(e,s)&&a(t[s])&&(i[s]=c({},i[s]));return i}function P(t){null!=t&&this.set(t)}i.suppressDeprecationWarnings=!1,i.deprecationHandler=null,D=Object.keys?Object.keys:function(t){var e,s=[];for(e in t)d(t,e)&&s.push(e);return s};var j={};function A(t,e){var s=t.toLowerCase();j[s]=j[s+"s"]=j[e]=t}function L(t){return"string"==typeof t?j[t]||j[t.toLowerCase()]:void 0}function E(t){var e,s,i={};for(s in t)d(t,s)&&(e=L(s))&&(i[e]=t[s]);return i}var R={};function N(t,e){R[t]=e}function H(t,e,s){var i=""+Math.abs(t),n=e-i.length;return(t>=0?s?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+i}var I=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,U=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,W={},F={};function V(t,e,s,i){var n=i;"string"==typeof i&&(n=function(){return this[i]()}),t&&(F[t]=n),e&&(F[e[0]]=function(){return H(n.apply(this,arguments),e[1],e[2])}),s&&(F[s]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function $(t,e){return t.isValid()?(e=G(e,t.localeData()),W[e]=W[e]||function(t){var e,s,i,n=t.match(I);for(e=0,s=n.length;e<s;e++)F[n[e]]?n[e]=F[n[e]]:n[e]=(i=n[e]).match(/\[[\s\S]/)?i.replace(/^\[|\]$/g,""):i.replace(/\\/g,"");return function(e){var i,a="";for(i=0;i<s;i++)a+=Y(n[i])?n[i].call(e,t):n[i];return a}}(e),W[e](t)):t.localeData().invalidDate()}function G(t,e){var s=5;function i(t){return e.longDateFormat(t)||t}for(U.lastIndex=0;s>=0&&U.test(t);)t=t.replace(U,i),U.lastIndex=0,s-=1;return t}var z=/\d/,q=/\d\d/,Z=/\d{3}/,B=/\d{4}/,Q=/[+-]?\d{6}/,J=/\d\d?/,X=/\d\d\d\d?/,K=/\d\d\d\d\d\d?/,tt=/\d{1,3}/,et=/\d{1,4}/,st=/[+-]?\d{1,6}/,it=/\d+/,nt=/[+-]?\d+/,at=/Z|[+-]\d\d:?\d\d/gi,rt=/Z|[+-]\d\d(?::?\d\d)?/gi,ot=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,lt={};function ut(t,e,s){lt[t]=Y(e)?e:function(t,i){return t&&s?s:e}}function dt(t,e){return d(lt,t)?lt[t](e._strict,e._locale):new RegExp(ct(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(t,e,s,i,n){return e||s||i||n}))))}function ct(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var ht={};function ft(t,e){var s,i=e;for("string"==typeof t&&(t=[t]),o(e)&&(i=function(t,s){s[e]=k(t)}),s=0;s<t.length;s++)ht[t[s]]=i}function mt(t,e){ft(t,(function(t,s,i,n){i._w=i._w||{},e(t,i._w,i,n)}))}function _t(t,e,s){null!=e&&d(ht,t)&&ht[t](e,s._a,s,t)}function pt(t){return vt(t)?366:365}function vt(t){return t%4==0&&t%100!=0||t%400==0}V("Y",0,0,(function(){var t=this.year();return t<=9999?""+t:"+"+t})),V(0,["YY",2],0,(function(){return this.year()%100})),V(0,["YYYY",4],0,"year"),V(0,["YYYYY",5],0,"year"),V(0,["YYYYYY",6,!0],0,"year"),A("year","y"),N("year",1),ut("Y",nt),ut("YY",J,q),ut("YYYY",et,B),ut("YYYYY",st,Q),ut("YYYYYY",st,Q),ft(["YYYYY","YYYYYY"],0),ft("YYYY",(function(t,e){e[0]=2===t.length?i.parseTwoDigitYear(t):k(t)})),ft("YY",(function(t,e){e[0]=i.parseTwoDigitYear(t)})),ft("Y",(function(t,e){e[0]=parseInt(t,10)})),i.parseTwoDigitYear=function(t){return k(t)+(k(t)>68?1900:2e3)};var gt,yt=bt("FullYear",!0);function bt(t,e){return function(s){return null!=s?(kt(this,t,s),i.updateOffset(this,e),this):wt(this,t)}}function wt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function kt(t,e,s){t.isValid()&&!isNaN(s)&&("FullYear"===e&&vt(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](s,t.month(),xt(s,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](s))}function xt(t,e){if(isNaN(t)||isNaN(e))return NaN;var s,i=(e%(s=12)+s)%s;return t+=(e-i)/12,1===i?vt(t)?29:28:31-i%7%2}gt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},V("M",["MM",2],"Mo",(function(){return this.month()+1})),V("MMM",0,0,(function(t){return this.localeData().monthsShort(this,t)})),V("MMMM",0,0,(function(t){return this.localeData().months(this,t)})),A("month","M"),N("month",8),ut("M",J),ut("MM",J,q),ut("MMM",(function(t,e){return e.monthsShortRegex(t)})),ut("MMMM",(function(t,e){return e.monthsRegex(t)})),ft(["M","MM"],(function(t,e){e[1]=k(t)-1})),ft(["MMM","MMMM"],(function(t,e,s,i){var n=s._locale.monthsParse(t,i,s._strict);null!=n?e[1]=n:f(s).invalidMonth=t}));var Ct=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,St="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Dt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Mt(t,e,s){var i,n,a,r=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)a=h([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(a,"").toLocaleLowerCase();return s?"MMM"===e?-1!==(n=gt.call(this._shortMonthsParse,r))?n:null:-1!==(n=gt.call(this._longMonthsParse,r))?n:null:"MMM"===e?-1!==(n=gt.call(this._shortMonthsParse,r))?n:-1!==(n=gt.call(this._longMonthsParse,r))?n:null:-1!==(n=gt.call(this._longMonthsParse,r))?n:-1!==(n=gt.call(this._shortMonthsParse,r))?n:null}function Ot(t,e){var s;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=k(e);else if(!o(e=t.localeData().monthsParse(e)))return t;return s=Math.min(t.date(),xt(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,s),t}function Yt(t){return null!=t?(Ot(this,t),i.updateOffset(this,!0),this):wt(this,"Month")}var Tt=ot,Pt=ot;function jt(){function t(t,e){return e.length-t.length}var e,s,i=[],n=[],a=[];for(e=0;e<12;e++)s=h([2e3,e]),i.push(this.monthsShort(s,"")),n.push(this.months(s,"")),a.push(this.months(s,"")),a.push(this.monthsShort(s,""));for(i.sort(t),n.sort(t),a.sort(t),e=0;e<12;e++)i[e]=ct(i[e]),n[e]=ct(n[e]);for(e=0;e<24;e++)a[e]=ct(a[e]);this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+i.join("|")+")","i")}function At(t,e,s,i,n,a,r){var o;return t<100&&t>=0?(o=new Date(t+400,e,s,i,n,a,r),isFinite(o.getFullYear())&&o.setFullYear(t)):o=new Date(t,e,s,i,n,a,r),o}function Lt(t){var e;if(t<100&&t>=0){var s=Array.prototype.slice.call(arguments);s[0]=t+400,e=new Date(Date.UTC.apply(null,s)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)}else e=new Date(Date.UTC.apply(null,arguments));return e}function Et(t,e,s){var i=7+e-s;return-(7+Lt(t,0,i).getUTCDay()-e)%7+i-1}function Rt(t,e,s,i,n){var a,r,o=1+7*(e-1)+(7+s-i)%7+Et(t,i,n);return o<=0?r=pt(a=t-1)+o:o>pt(t)?(a=t+1,r=o-pt(t)):(a=t,r=o),{year:a,dayOfYear:r}}function Nt(t,e,s){var i,n,a=Et(t.year(),e,s),r=Math.floor((t.dayOfYear()-a-1)/7)+1;return r<1?i=r+Ht(n=t.year()-1,e,s):r>Ht(t.year(),e,s)?(i=r-Ht(t.year(),e,s),n=t.year()+1):(n=t.year(),i=r),{week:i,year:n}}function Ht(t,e,s){var i=Et(t,e,s),n=Et(t+1,e,s);return(pt(t)-i+n)/7}function It(t,e){return t.slice(e,7).concat(t.slice(0,e))}V("w",["ww",2],"wo","week"),V("W",["WW",2],"Wo","isoWeek"),A("week","w"),A("isoWeek","W"),N("week",5),N("isoWeek",5),ut("w",J),ut("ww",J,q),ut("W",J),ut("WW",J,q),mt(["w","ww","W","WW"],(function(t,e,s,i){e[i.substr(0,1)]=k(t)})),V("d",0,"do","day"),V("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),V("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),V("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),V("e",0,0,"weekday"),V("E",0,0,"isoWeekday"),A("day","d"),A("weekday","e"),A("isoWeekday","E"),N("day",11),N("weekday",11),N("isoWeekday",11),ut("d",J),ut("e",J),ut("E",J),ut("dd",(function(t,e){return e.weekdaysMinRegex(t)})),ut("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),ut("dddd",(function(t,e){return e.weekdaysRegex(t)})),mt(["dd","ddd","dddd"],(function(t,e,s,i){var n=s._locale.weekdaysParse(t,i,s._strict);null!=n?e.d=n:f(s).invalidWeekday=t})),mt(["d","e","E"],(function(t,e,s,i){e[i]=k(t)}));var Ut="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Wt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Ft="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function Vt(t,e,s){var i,n,a,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)a=h([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(a,"").toLocaleLowerCase();return s?"dddd"===e?-1!==(n=gt.call(this._weekdaysParse,r))?n:null:"ddd"===e?-1!==(n=gt.call(this._shortWeekdaysParse,r))?n:null:-1!==(n=gt.call(this._minWeekdaysParse,r))?n:null:"dddd"===e?-1!==(n=gt.call(this._weekdaysParse,r))?n:-1!==(n=gt.call(this._shortWeekdaysParse,r))?n:-1!==(n=gt.call(this._minWeekdaysParse,r))?n:null:"ddd"===e?-1!==(n=gt.call(this._shortWeekdaysParse,r))?n:-1!==(n=gt.call(this._weekdaysParse,r))?n:-1!==(n=gt.call(this._minWeekdaysParse,r))?n:null:-1!==(n=gt.call(this._minWeekdaysParse,r))?n:-1!==(n=gt.call(this._weekdaysParse,r))?n:-1!==(n=gt.call(this._shortWeekdaysParse,r))?n:null}var $t=ot,Gt=ot,zt=ot;function qt(){function t(t,e){return e.length-t.length}var e,s,i,n,a,r=[],o=[],l=[],u=[];for(e=0;e<7;e++)s=h([2e3,1]).day(e),i=this.weekdaysMin(s,""),n=this.weekdaysShort(s,""),a=this.weekdays(s,""),r.push(i),o.push(n),l.push(a),u.push(i),u.push(n),u.push(a);for(r.sort(t),o.sort(t),l.sort(t),u.sort(t),e=0;e<7;e++)o[e]=ct(o[e]),l[e]=ct(l[e]),u[e]=ct(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Zt(){return this.hours()%12||12}function Bt(t,e){V(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function Qt(t,e){return e._meridiemParse}V("H",["HH",2],0,"hour"),V("h",["hh",2],0,Zt),V("k",["kk",2],0,(function(){return this.hours()||24})),V("hmm",0,0,(function(){return""+Zt.apply(this)+H(this.minutes(),2)})),V("hmmss",0,0,(function(){return""+Zt.apply(this)+H(this.minutes(),2)+H(this.seconds(),2)})),V("Hmm",0,0,(function(){return""+this.hours()+H(this.minutes(),2)})),V("Hmmss",0,0,(function(){return""+this.hours()+H(this.minutes(),2)+H(this.seconds(),2)})),Bt("a",!0),Bt("A",!1),A("hour","h"),N("hour",13),ut("a",Qt),ut("A",Qt),ut("H",J),ut("h",J),ut("k",J),ut("HH",J,q),ut("hh",J,q),ut("kk",J,q),ut("hmm",X),ut("hmmss",K),ut("Hmm",X),ut("Hmmss",K),ft(["H","HH"],3),ft(["k","kk"],(function(t,e,s){var i=k(t);e[3]=24===i?0:i})),ft(["a","A"],(function(t,e,s){s._isPm=s._locale.isPM(t),s._meridiem=t})),ft(["h","hh"],(function(t,e,s){e[3]=k(t),f(s).bigHour=!0})),ft("hmm",(function(t,e,s){var i=t.length-2;e[3]=k(t.substr(0,i)),e[4]=k(t.substr(i)),f(s).bigHour=!0})),ft("hmmss",(function(t,e,s){var i=t.length-4,n=t.length-2;e[3]=k(t.substr(0,i)),e[4]=k(t.substr(i,2)),e[5]=k(t.substr(n)),f(s).bigHour=!0})),ft("Hmm",(function(t,e,s){var i=t.length-2;e[3]=k(t.substr(0,i)),e[4]=k(t.substr(i))})),ft("Hmmss",(function(t,e,s){var i=t.length-4,n=t.length-2;e[3]=k(t.substr(0,i)),e[4]=k(t.substr(i,2)),e[5]=k(t.substr(n))}));var Jt,Xt=bt("Hours",!0),Kt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d 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"},months:St,monthsShort:Dt,week:{dow:0,doy:6},weekdays:Ut,weekdaysMin:Ft,weekdaysShort:Wt,meridiemParse:/[ap]\.?m?\.?/i},te={},ee={};function se(t){return t?t.toLowerCase().replace("_","-"):t}function ie(e){var s=null;if(!te[e]&&void 0!==t&&t&&t.exports)try{s=Jt._abbr,!function(){var t=new Error("Cannot find module 'undefined'");throw t.code="MODULE_NOT_FOUND",t}(),ne(s)}catch(t){}return te[e]}function ne(t,e){var s;return t&&((s=r(e)?re(t):ae(t,e))?Jt=s:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),Jt._abbr}function ae(t,e){if(null!==e){var s,i=Kt;if(e.abbr=t,null!=te[t])O("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=te[t]._config;else if(null!=e.parentLocale)if(null!=te[e.parentLocale])i=te[e.parentLocale]._config;else{if(null==(s=ie(e.parentLocale)))return ee[e.parentLocale]||(ee[e.parentLocale]=[]),ee[e.parentLocale].push({name:t,config:e}),null;i=s._config}return te[t]=new P(T(i,e)),ee[t]&&ee[t].forEach((function(t){ae(t.name,t.config)})),ne(t),te[t]}return delete te[t],null}function re(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Jt;if(!n(t)){if(e=ie(t))return e;t=[t]}return function(t){for(var e,s,i,n,a=0;a<t.length;){for(e=(n=se(t[a]).split("-")).length,s=(s=se(t[a+1]))?s.split("-"):null;e>0;){if(i=ie(n.slice(0,e).join("-")))return i;if(s&&s.length>=e&&x(n,s,!0)>=e-1)break;e--}a++}return Jt}(t)}function oe(t){var e,s=t._a;return s&&-2===f(t).overflow&&(e=s[1]<0||s[1]>11?1:s[2]<1||s[2]>xt(s[0],s[1])?2:s[3]<0||s[3]>24||24===s[3]&&(0!==s[4]||0!==s[5]||0!==s[6])?3:s[4]<0||s[4]>59?4:s[5]<0||s[5]>59?5:s[6]<0||s[6]>999?6:-1,f(t)._overflowDayOfYear&&(e<0||e>2)&&(e=2),f(t)._overflowWeeks&&-1===e&&(e=7),f(t)._overflowWeekday&&-1===e&&(e=8),f(t).overflow=e),t}function le(t,e,s){return null!=t?t:null!=e?e:s}function ue(t){var e,s,n,a,r,o=[];if(!t._d){for(n=function(t){var e=new Date(i.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[2]&&null==t._a[1]&&function(t){var e,s,i,n,a,r,o,l;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)a=1,r=4,s=le(e.GG,t._a[0],Nt(Ce(),1,4).year),i=le(e.W,1),((n=le(e.E,1))<1||n>7)&&(l=!0);else{a=t._locale._week.dow,r=t._locale._week.doy;var u=Nt(Ce(),a,r);s=le(e.gg,t._a[0],u.year),i=le(e.w,u.week),null!=e.d?((n=e.d)<0||n>6)&&(l=!0):null!=e.e?(n=e.e+a,(e.e<0||e.e>6)&&(l=!0)):n=a}i<1||i>Ht(s,a,r)?f(t)._overflowWeeks=!0:null!=l?f(t)._overflowWeekday=!0:(o=Rt(s,i,n,a,r),t._a[0]=o.year,t._dayOfYear=o.dayOfYear)}(t),null!=t._dayOfYear&&(r=le(t._a[0],n[0]),(t._dayOfYear>pt(r)||0===t._dayOfYear)&&(f(t)._overflowDayOfYear=!0),s=Lt(r,0,t._dayOfYear),t._a[1]=s.getUTCMonth(),t._a[2]=s.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=o[e]=n[e];for(;e<7;e++)t._a[e]=o[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[3]&&0===t._a[4]&&0===t._a[5]&&0===t._a[6]&&(t._nextDay=!0,t._a[3]=0),t._d=(t._useUTC?Lt:At).apply(null,o),a=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[3]=24),t._w&&void 0!==t._w.d&&t._w.d!==a&&(f(t).weekdayMismatch=!0)}}var de=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ce=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,he=/Z|[+-]\d\d(?::?\d\d)?/,fe=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],me=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],_e=/^\/?Date\((\-?\d+)/i;function pe(t){var e,s,i,n,a,r,o=t._i,l=de.exec(o)||ce.exec(o);if(l){for(f(t).iso=!0,e=0,s=fe.length;e<s;e++)if(fe[e][1].exec(l[1])){n=fe[e][0],i=!1!==fe[e][2];break}if(null==n)return void(t._isValid=!1);if(l[3]){for(e=0,s=me.length;e<s;e++)if(me[e][1].exec(l[3])){a=(l[2]||" ")+me[e][0];break}if(null==a)return void(t._isValid=!1)}if(!i&&null!=a)return void(t._isValid=!1);if(l[4]){if(!he.exec(l[4]))return void(t._isValid=!1);r="Z"}t._f=n+(a||"")+(r||""),we(t)}else t._isValid=!1}var ve=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function ge(t){var e=parseInt(t,10);return e<=49?2e3+e:e<=999?1900+e:e}var ye={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function be(t){var e,s,i,n,a,r,o,l=ve.exec(t._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(l){var u=(e=l[4],s=l[3],i=l[2],n=l[5],a=l[6],r=l[7],o=[ge(e),Dt.indexOf(s),parseInt(i,10),parseInt(n,10),parseInt(a,10)],r&&o.push(parseInt(r,10)),o);if(!function(t,e,s){return!t||Wt.indexOf(t)===new Date(e[0],e[1],e[2]).getDay()||(f(s).weekdayMismatch=!0,s._isValid=!1,!1)}(l[1],u,t))return;t._a=u,t._tzm=function(t,e,s){if(t)return ye[t];if(e)return 0;var i=parseInt(s,10),n=i%100;return(i-n)/100*60+n}(l[8],l[9],l[10]),t._d=Lt.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),f(t).rfc2822=!0}else t._isValid=!1}function we(t){if(t._f!==i.ISO_8601)if(t._f!==i.RFC_2822){t._a=[],f(t).empty=!0;var e,s,n,a,r,o=""+t._i,l=o.length,u=0;for(n=G(t._f,t._locale).match(I)||[],e=0;e<n.length;e++)a=n[e],(s=(o.match(dt(a,t))||[])[0])&&((r=o.substr(0,o.indexOf(s))).length>0&&f(t).unusedInput.push(r),o=o.slice(o.indexOf(s)+s.length),u+=s.length),F[a]?(s?f(t).empty=!1:f(t).unusedTokens.push(a),_t(a,s,t)):t._strict&&!s&&f(t).unusedTokens.push(a);f(t).charsLeftOver=l-u,o.length>0&&f(t).unusedInput.push(o),t._a[3]<=12&&!0===f(t).bigHour&&t._a[3]>0&&(f(t).bigHour=void 0),f(t).parsedDateParts=t._a.slice(0),f(t).meridiem=t._meridiem,t._a[3]=function(t,e,s){var i;return null==s?e:null!=t.meridiemHour?t.meridiemHour(e,s):null!=t.isPM?((i=t.isPM(s))&&e<12&&(e+=12),i||12!==e||(e=0),e):e}(t._locale,t._a[3],t._meridiem),ue(t),oe(t)}else be(t);else pe(t)}function ke(t){var e=t._i,s=t._f;return t._locale=t._locale||re(t._l),null===e||void 0===s&&""===e?_({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),b(e)?new y(oe(e)):(l(e)?t._d=e:n(s)?function(t){var e,s,i,n,a;if(0===t._f.length)return f(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;n<t._f.length;n++)a=0,e=v({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[n],we(e),m(e)&&(a+=f(e).charsLeftOver,a+=10*f(e).unusedTokens.length,f(e).score=a,(null==i||a<i)&&(i=a,s=e));c(t,s||e)}(t):s?we(t):function(t){var e=t._i;r(e)?t._d=new Date(i.now()):l(e)?t._d=new Date(e.valueOf()):"string"==typeof e?function(t){var e=_e.exec(t._i);null===e?(pe(t),!1===t._isValid&&(delete t._isValid,be(t),!1===t._isValid&&(delete t._isValid,i.createFromInputFallback(t)))):t._d=new Date(+e[1])}(t):n(e)?(t._a=u(e.slice(0),(function(t){return parseInt(t,10)})),ue(t)):a(e)?function(t){if(!t._d){var e=E(t._i);t._a=u([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],(function(t){return t&&parseInt(t,10)})),ue(t)}}(t):o(e)?t._d=new Date(e):i.createFromInputFallback(t)}(t),m(t)||(t._d=null),t))}function xe(t,e,s,i,r){var o,l={};return!0!==s&&!1!==s||(i=s,s=void 0),(a(t)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(t)||n(t)&&0===t.length)&&(t=void 0),l._isAMomentObject=!0,l._useUTC=l._isUTC=r,l._l=s,l._i=t,l._f=e,l._strict=i,(o=new y(oe(ke(l))))._nextDay&&(o.add(1,"d"),o._nextDay=void 0),o}function Ce(t,e,s,i){return xe(t,e,s,i,!1)}i.createFromInputFallback=S("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))})),i.ISO_8601=function(){},i.RFC_2822=function(){};var Se=S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=Ce.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:_()})),De=S("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=Ce.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:_()}));function Me(t,e){var s,i;if(1===e.length&&n(e[0])&&(e=e[0]),!e.length)return Ce();for(s=e[0],i=1;i<e.length;++i)e[i].isValid()&&!e[i][t](s)||(s=e[i]);return s}var Oe=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ye(t){var e=E(t),s=e.year||0,i=e.quarter||0,n=e.month||0,a=e.week||e.isoWeek||0,r=e.day||0,o=e.hour||0,l=e.minute||0,u=e.second||0,d=e.millisecond||0;this._isValid=function(t){for(var e in t)if(-1===gt.call(Oe,e)||null!=t[e]&&isNaN(t[e]))return!1;for(var s=!1,i=0;i<Oe.length;++i)if(t[Oe[i]]){if(s)return!1;parseFloat(t[Oe[i]])!==k(t[Oe[i]])&&(s=!0)}return!0}(e),this._milliseconds=+d+1e3*u+6e4*l+1e3*o*60*60,this._days=+r+7*a,this._months=+n+3*i+12*s,this._data={},this._locale=re(),this._bubble()}function Te(t){return t instanceof Ye}function Pe(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function je(t,e){V(t,0,0,(function(){var t=this.utcOffset(),s="+";return t<0&&(t=-t,s="-"),s+H(~~(t/60),2)+e+H(~~t%60,2)}))}je("Z",":"),je("ZZ",""),ut("Z",rt),ut("ZZ",rt),ft(["Z","ZZ"],(function(t,e,s){s._useUTC=!0,s._tzm=Le(rt,t)}));var Ae=/([\+\-]|\d\d)/gi;function Le(t,e){var s=(e||"").match(t);if(null===s)return null;var i=((s[s.length-1]||[])+"").match(Ae)||["-",0,0],n=60*i[1]+k(i[2]);return 0===n?0:"+"===i[0]?n:-n}function Ee(t,e){var s,n;return e._isUTC?(s=e.clone(),n=(b(t)||l(t)?t.valueOf():Ce(t).valueOf())-s.valueOf(),s._d.setTime(s._d.valueOf()+n),i.updateOffset(s,!1),s):Ce(t).local()}function Re(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Ne(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var He=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ie=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ue(t,e){var s,i,n,a,r,l,u=t,c=null;return Te(t)?u={ms:t._milliseconds,d:t._days,M:t._months}:o(t)?(u={},e?u[e]=t:u.milliseconds=t):(c=He.exec(t))?(s="-"===c[1]?-1:1,u={y:0,d:k(c[2])*s,h:k(c[3])*s,m:k(c[4])*s,s:k(c[5])*s,ms:k(Pe(1e3*c[6]))*s}):(c=Ie.exec(t))?(s="-"===c[1]?-1:1,u={y:We(c[2],s),M:We(c[3],s),w:We(c[4],s),d:We(c[5],s),h:We(c[6],s),m:We(c[7],s),s:We(c[8],s)}):null==u?u={}:"object"==typeof u&&("from"in u||"to"in u)&&(a=Ce(u.from),r=Ce(u.to),n=a.isValid()&&r.isValid()?(r=Ee(r,a),a.isBefore(r)?l=Fe(a,r):((l=Fe(r,a)).milliseconds=-l.milliseconds,l.months=-l.months),l):{milliseconds:0,months:0},(u={}).ms=n.milliseconds,u.M=n.months),i=new Ye(u),Te(t)&&d(t,"_locale")&&(i._locale=t._locale),i}function We(t,e){var s=t&&parseFloat(t.replace(",","."));return(isNaN(s)?0:s)*e}function Fe(t,e){var s={};return s.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(s.months,"M").isAfter(e)&&--s.months,s.milliseconds=+e-+t.clone().add(s.months,"M"),s}function Ve(t,e){return function(s,i){var n;return null===i||isNaN(+i)||(O(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=s,s=i,i=n),$e(this,Ue(s="string"==typeof s?+s:s,i),t),this}}function $e(t,e,s,n){var a=e._milliseconds,r=Pe(e._days),o=Pe(e._months);t.isValid()&&(n=null==n||n,o&&Ot(t,wt(t,"Month")+o*s),r&&kt(t,"Date",wt(t,"Date")+r*s),a&&t._d.setTime(t._d.valueOf()+a*s),n&&i.updateOffset(t,r||o))}Ue.fn=Ye.prototype,Ue.invalid=function(){return Ue(NaN)};var Ge=Ve(1,"add"),ze=Ve(-1,"subtract");function qe(t,e){var s=12*(e.year()-t.year())+(e.month()-t.month()),i=t.clone().add(s,"months");return-(s+(e-i<0?(e-i)/(i-t.clone().add(s-1,"months")):(e-i)/(t.clone().add(s+1,"months")-i)))||0}function Ze(t){var e;return void 0===t?this._locale._abbr:(null!=(e=re(t))&&(this._locale=e),this)}i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",i.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Be=S("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function Qe(){return this._locale}function Je(t,e){return(t%e+e)%e}function Xe(t,e,s){return t<100&&t>=0?new Date(t+400,e,s)-126227808e5:new Date(t,e,s).valueOf()}function Ke(t,e,s){return t<100&&t>=0?Date.UTC(t+400,e,s)-126227808e5:Date.UTC(t,e,s)}function ts(t,e){V(0,[t,t.length],0,e)}function es(t,e,s,i,n){var a;return null==t?Nt(this,i,n).year:(e>(a=Ht(t,i,n))&&(e=a),ss.call(this,t,e,s,i,n))}function ss(t,e,s,i,n){var a=Rt(t,e,s,i,n),r=Lt(a.year,0,a.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}V(0,["gg",2],0,(function(){return this.weekYear()%100})),V(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),ts("gggg","weekYear"),ts("ggggg","weekYear"),ts("GGGG","isoWeekYear"),ts("GGGGG","isoWeekYear"),A("weekYear","gg"),A("isoWeekYear","GG"),N("weekYear",1),N("isoWeekYear",1),ut("G",nt),ut("g",nt),ut("GG",J,q),ut("gg",J,q),ut("GGGG",et,B),ut("gggg",et,B),ut("GGGGG",st,Q),ut("ggggg",st,Q),mt(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,s,i){e[i.substr(0,2)]=k(t)})),mt(["gg","GG"],(function(t,e,s,n){e[n]=i.parseTwoDigitYear(t)})),V("Q",0,"Qo","quarter"),A("quarter","Q"),N("quarter",7),ut("Q",z),ft("Q",(function(t,e){e[1]=3*(k(t)-1)})),V("D",["DD",2],"Do","date"),A("date","D"),N("date",9),ut("D",J),ut("DD",J,q),ut("Do",(function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient})),ft(["D","DD"],2),ft("Do",(function(t,e){e[2]=k(t.match(J)[0])}));var is=bt("Date",!0);V("DDD",["DDDD",3],"DDDo","dayOfYear"),A("dayOfYear","DDD"),N("dayOfYear",4),ut("DDD",tt),ut("DDDD",Z),ft(["DDD","DDDD"],(function(t,e,s){s._dayOfYear=k(t)})),V("m",["mm",2],0,"minute"),A("minute","m"),N("minute",14),ut("m",J),ut("mm",J,q),ft(["m","mm"],4);var ns=bt("Minutes",!1);V("s",["ss",2],0,"second"),A("second","s"),N("second",15),ut("s",J),ut("ss",J,q),ft(["s","ss"],5);var as,rs=bt("Seconds",!1);for(V("S",0,0,(function(){return~~(this.millisecond()/100)})),V(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),V(0,["SSS",3],0,"millisecond"),V(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),V(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),V(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),V(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),V(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),V(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),A("millisecond","ms"),N("millisecond",16),ut("S",tt,z),ut("SS",tt,q),ut("SSS",tt,Z),as="SSSS";as.length<=9;as+="S")ut(as,it);function os(t,e){e[6]=k(1e3*("0."+t))}for(as="S";as.length<=9;as+="S")ft(as,os);var ls=bt("Milliseconds",!1);V("z",0,0,"zoneAbbr"),V("zz",0,0,"zoneName");var us=y.prototype;function ds(t){return t}us.add=Ge,us.calendar=function(t,e){var s=t||Ce(),n=Ee(s,this).startOf("day"),a=i.calendarFormat(this,n)||"sameElse",r=e&&(Y(e[a])?e[a].call(this,s):e[a]);return this.format(r||this.localeData().calendar(a,this,Ce(s)))},us.clone=function(){return new y(this)},us.diff=function(t,e,s){var i,n,a;if(!this.isValid())return NaN;if(!(i=Ee(t,this)).isValid())return NaN;switch(n=6e4*(i.utcOffset()-this.utcOffset()),e=L(e)){case"year":a=qe(this,i)/12;break;case"month":a=qe(this,i);break;case"quarter":a=qe(this,i)/3;break;case"second":a=(this-i)/1e3;break;case"minute":a=(this-i)/6e4;break;case"hour":a=(this-i)/36e5;break;case"day":a=(this-i-n)/864e5;break;case"week":a=(this-i-n)/6048e5;break;default:a=this-i}return s?a:w(a)},us.endOf=function(t){var e;if(void 0===(t=L(t))||"millisecond"===t||!this.isValid())return this;var s=this._isUTC?Ke:Xe;switch(t){case"year":e=s(this.year()+1,0,1)-1;break;case"quarter":e=s(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=s(this.year(),this.month()+1,1)-1;break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=s(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=36e5-Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":e=this._d.valueOf(),e+=6e4-Je(e,6e4)-1;break;case"second":e=this._d.valueOf(),e+=1e3-Je(e,1e3)-1}return this._d.setTime(e),i.updateOffset(this,!0),this},us.format=function(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=$(this,t);return this.localeData().postformat(e)},us.from=function(t,e){return this.isValid()&&(b(t)&&t.isValid()||Ce(t).isValid())?Ue({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},us.fromNow=function(t){return this.from(Ce(),t)},us.to=function(t,e){return this.isValid()&&(b(t)&&t.isValid()||Ce(t).isValid())?Ue({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},us.toNow=function(t){return this.to(Ce(),t)},us.get=function(t){return Y(this[t=L(t)])?this[t]():this},us.invalidAt=function(){return f(this).overflow},us.isAfter=function(t,e){var s=b(t)?t:Ce(t);return!(!this.isValid()||!s.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()>s.valueOf():s.valueOf()<this.clone().startOf(e).valueOf())},us.isBefore=function(t,e){var s=b(t)?t:Ce(t);return!(!this.isValid()||!s.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()<s.valueOf():this.clone().endOf(e).valueOf()<s.valueOf())},us.isBetween=function(t,e,s,i){var n=b(t)?t:Ce(t),a=b(e)?e:Ce(e);return!!(this.isValid()&&n.isValid()&&a.isValid())&&("("===(i=i||"()")[0]?this.isAfter(n,s):!this.isBefore(n,s))&&(")"===i[1]?this.isBefore(a,s):!this.isAfter(a,s))},us.isSame=function(t,e){var s,i=b(t)?t:Ce(t);return!(!this.isValid()||!i.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()===i.valueOf():(s=i.valueOf(),this.clone().startOf(e).valueOf()<=s&&s<=this.clone().endOf(e).valueOf()))},us.isSameOrAfter=function(t,e){return this.isSame(t,e)||this.isAfter(t,e)},us.isSameOrBefore=function(t,e){return this.isSame(t,e)||this.isBefore(t,e)},us.isValid=function(){return m(this)},us.lang=Be,us.locale=Ze,us.localeData=Qe,us.max=De,us.min=Se,us.parsingFlags=function(){return c({},f(this))},us.set=function(t,e){if("object"==typeof t)for(var s=function(t){var e=[];for(var s in t)e.push({unit:s,priority:R[s]});return e.sort((function(t,e){return t.priority-e.priority})),e}(t=E(t)),i=0;i<s.length;i++)this[s[i].unit](t[s[i].unit]);else if(Y(this[t=L(t)]))return this[t](e);return this},us.startOf=function(t){var e;if(void 0===(t=L(t))||"millisecond"===t||!this.isValid())return this;var s=this._isUTC?Ke:Xe;switch(t){case"year":e=s(this.year(),0,1);break;case"quarter":e=s(this.year(),this.month()-this.month()%3,1);break;case"month":e=s(this.year(),this.month(),1);break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=s(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":e=this._d.valueOf(),e-=Je(e,6e4);break;case"second":e=this._d.valueOf(),e-=Je(e,1e3)}return this._d.setTime(e),i.updateOffset(this,!0),this},us.subtract=ze,us.toArray=function(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]},us.toObject=function(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}},us.toDate=function(){return new Date(this.valueOf())},us.toISOString=function(t){if(!this.isValid())return null;var e=!0!==t,s=e?this.clone().utc():this;return s.year()<0||s.year()>9999?$(s,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):Y(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",$(s,"Z")):$(s,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},us.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var s="["+t+'("]',i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=e+'[")]';return this.format(s+i+"-MM-DD[T]HH:mm:ss.SSS"+n)},us.toJSON=function(){return this.isValid()?this.toISOString():null},us.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},us.unix=function(){return Math.floor(this.valueOf()/1e3)},us.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},us.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},us.year=yt,us.isLeapYear=function(){return vt(this.year())},us.weekYear=function(t){return es.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},us.isoWeekYear=function(t){return es.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},us.quarter=us.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},us.month=Yt,us.daysInMonth=function(){return xt(this.year(),this.month())},us.week=us.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},us.isoWeek=us.isoWeeks=function(t){var e=Nt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},us.weeksInYear=function(){var t=this.localeData()._week;return Ht(this.year(),t.dow,t.doy)},us.isoWeeksInYear=function(){return Ht(this.year(),1,4)},us.date=is,us.day=us.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},us.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},us.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},us.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},us.hour=us.hours=Xt,us.minute=us.minutes=ns,us.second=us.seconds=rs,us.millisecond=us.milliseconds=ls,us.utcOffset=function(t,e,s){var n,a=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Le(rt,t)))return this}else Math.abs(t)<16&&!s&&(t*=60);return!this._isUTC&&e&&(n=Re(this)),this._offset=t,this._isUTC=!0,null!=n&&this.add(n,"m"),a!==t&&(!e||this._changeInProgress?$e(this,Ue(t-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?a:Re(this)},us.utc=function(t){return this.utcOffset(0,t)},us.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Re(this),"m")),this},us.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Le(at,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},us.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?Ce(t).utcOffset():0,(this.utcOffset()-t)%60==0)},us.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},us.isLocal=function(){return!!this.isValid()&&!this._isUTC},us.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},us.isUtc=Ne,us.isUTC=Ne,us.zoneAbbr=function(){return this._isUTC?"UTC":""},us.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},us.dates=S("dates accessor is deprecated. Use date instead.",is),us.months=S("months accessor is deprecated. Use month instead",Yt),us.years=S("years accessor is deprecated. Use year instead",yt),us.zone=S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()})),us.isDSTShifted=S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!r(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),(t=ke(t))._a){var e=t._isUTC?h(t._a):Ce(t._a);this._isDSTShifted=this.isValid()&&x(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}));var cs=P.prototype;function hs(t,e,s,i){var n=re(),a=h().set(i,e);return n[s](a,t)}function fs(t,e,s){if(o(t)&&(e=t,t=void 0),t=t||"",null!=e)return hs(t,e,s,"month");var i,n=[];for(i=0;i<12;i++)n[i]=hs(t,i,s,"month");return n}function ms(t,e,s,i){"boolean"==typeof t?(o(e)&&(s=e,e=void 0),e=e||""):(s=e=t,t=!1,o(e)&&(s=e,e=void 0),e=e||"");var n,a=re(),r=t?a._week.dow:0;if(null!=s)return hs(e,(s+r)%7,i,"day");var l=[];for(n=0;n<7;n++)l[n]=hs(e,(n+r)%7,i,"day");return l}cs.calendar=function(t,e,s){var i=this._calendar[t]||this._calendar.sameElse;return Y(i)?i.call(e,s):i},cs.longDateFormat=function(t){var e=this._longDateFormat[t],s=this._longDateFormat[t.toUpperCase()];return e||!s?e:(this._longDateFormat[t]=s.replace(/MMMM|MM|DD|dddd/g,(function(t){return t.slice(1)})),this._longDateFormat[t])},cs.invalidDate=function(){return this._invalidDate},cs.ordinal=function(t){return this._ordinal.replace("%d",t)},cs.preparse=ds,cs.postformat=ds,cs.relativeTime=function(t,e,s,i){var n=this._relativeTime[s];return Y(n)?n(t,e,s,i):n.replace(/%d/i,t)},cs.pastFuture=function(t,e){var s=this._relativeTime[t>0?"future":"past"];return Y(s)?s(e):s.replace(/%s/i,e)},cs.set=function(t){var e,s;for(s in t)Y(e=t[s])?this[s]=e:this["_"+s]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},cs.months=function(t,e){return t?n(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||Ct).test(e)?"format":"standalone"][t.month()]:n(this._months)?this._months:this._months.standalone},cs.monthsShort=function(t,e){return t?n(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[Ct.test(e)?"format":"standalone"][t.month()]:n(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},cs.monthsParse=function(t,e,s){var i,n,a;if(this._monthsParseExact)return Mt.call(this,t,e,s);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(n=h([2e3,i]),s&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),s||this._monthsParse[i]||(a="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[i]=new RegExp(a.replace(".",""),"i")),s&&"MMMM"===e&&this._longMonthsParse[i].test(t))return i;if(s&&"MMM"===e&&this._shortMonthsParse[i].test(t))return i;if(!s&&this._monthsParse[i].test(t))return i}},cs.monthsRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||jt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=Pt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},cs.monthsShortRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||jt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=Tt),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},cs.week=function(t){return Nt(t,this._week.dow,this._week.doy).week},cs.firstDayOfYear=function(){return this._week.doy},cs.firstDayOfWeek=function(){return this._week.dow},cs.weekdays=function(t,e){var s=n(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===t?It(s,this._week.dow):t?s[t.day()]:s},cs.weekdaysMin=function(t){return!0===t?It(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin},cs.weekdaysShort=function(t){return!0===t?It(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort},cs.weekdaysParse=function(t,e,s){var i,n,a;if(this._weekdaysParseExact)return Vt.call(this,t,e,s);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(n=h([2e3,1]).day(i),s&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(a="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[i]=new RegExp(a.replace(".",""),"i")),s&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(s&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(s&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!s&&this._weekdaysParse[i].test(t))return i}},cs.weekdaysRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||qt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=$t),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},cs.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||qt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Gt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},cs.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||qt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=zt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},cs.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},cs.meridiem=function(t,e,s){return t>11?s?"pm":"PM":s?"am":"AM"},ne("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===k(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),i.lang=S("moment.lang is deprecated. Use moment.locale instead.",ne),i.langData=S("moment.langData is deprecated. Use moment.localeData instead.",re);var _s=Math.abs;function ps(t,e,s,i){var n=Ue(e,s);return t._milliseconds+=i*n._milliseconds,t._days+=i*n._days,t._months+=i*n._months,t._bubble()}function vs(t){return t<0?Math.floor(t):Math.ceil(t)}function gs(t){return 4800*t/146097}function ys(t){return 146097*t/4800}function bs(t){return function(){return this.as(t)}}var ws=bs("ms"),ks=bs("s"),xs=bs("m"),Cs=bs("h"),Ss=bs("d"),Ds=bs("w"),Ms=bs("M"),Os=bs("Q"),Ys=bs("y");function Ts(t){return function(){return this.isValid()?this._data[t]:NaN}}var Ps=Ts("milliseconds"),js=Ts("seconds"),As=Ts("minutes"),Ls=Ts("hours"),Es=Ts("days"),Rs=Ts("months"),Ns=Ts("years"),Hs=Math.round,Is={ss:44,s:45,m:45,h:22,d:26,M:11};function Us(t,e,s,i,n){return n.relativeTime(e||1,!!s,t,i)}var Ws=Math.abs;function Fs(t){return(t>0)-(t<0)||+t}function Vs(){if(!this.isValid())return this.localeData().invalidDate();var t,e,s=Ws(this._milliseconds)/1e3,i=Ws(this._days),n=Ws(this._months);t=w(s/60),e=w(t/60),s%=60,t%=60;var a=w(n/12),r=n%=12,o=i,l=e,u=t,d=s?s.toFixed(3).replace(/\.?0+$/,""):"",c=this.asSeconds();if(!c)return"P0D";var h=c<0?"-":"",f=Fs(this._months)!==Fs(c)?"-":"",m=Fs(this._days)!==Fs(c)?"-":"",_=Fs(this._milliseconds)!==Fs(c)?"-":"";return h+"P"+(a?f+a+"Y":"")+(r?f+r+"M":"")+(o?m+o+"D":"")+(l||u||d?"T":"")+(l?_+l+"H":"")+(u?_+u+"M":"")+(d?_+d+"S":"")}var $s=Ye.prototype;return $s.isValid=function(){return this._isValid},$s.abs=function(){var t=this._data;return this._milliseconds=_s(this._milliseconds),this._days=_s(this._days),this._months=_s(this._months),t.milliseconds=_s(t.milliseconds),t.seconds=_s(t.seconds),t.minutes=_s(t.minutes),t.hours=_s(t.hours),t.months=_s(t.months),t.years=_s(t.years),this},$s.add=function(t,e){return ps(this,t,e,1)},$s.subtract=function(t,e){return ps(this,t,e,-1)},$s.as=function(t){if(!this.isValid())return NaN;var e,s,i=this._milliseconds;if("month"===(t=L(t))||"quarter"===t||"year"===t)switch(e=this._days+i/864e5,s=this._months+gs(e),t){case"month":return s;case"quarter":return s/3;case"year":return s/12}else switch(e=this._days+Math.round(ys(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}},$s.asMilliseconds=ws,$s.asSeconds=ks,$s.asMinutes=xs,$s.asHours=Cs,$s.asDays=Ss,$s.asWeeks=Ds,$s.asMonths=Ms,$s.asQuarters=Os,$s.asYears=Ys,$s.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12):NaN},$s._bubble=function(){var t,e,s,i,n,a=this._milliseconds,r=this._days,o=this._months,l=this._data;return a>=0&&r>=0&&o>=0||a<=0&&r<=0&&o<=0||(a+=864e5*vs(ys(o)+r),r=0,o=0),l.milliseconds=a%1e3,t=w(a/1e3),l.seconds=t%60,e=w(t/60),l.minutes=e%60,s=w(e/60),l.hours=s%24,r+=w(s/24),n=w(gs(r)),o+=n,r-=vs(ys(n)),i=w(o/12),o%=12,l.days=r,l.months=o,l.years=i,this},$s.clone=function(){return Ue(this)},$s.get=function(t){return t=L(t),this.isValid()?this[t+"s"]():NaN},$s.milliseconds=Ps,$s.seconds=js,$s.minutes=As,$s.hours=Ls,$s.days=Es,$s.weeks=function(){return w(this.days()/7)},$s.months=Rs,$s.years=Ns,$s.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),s=function(t,e,s){var i=Ue(t).abs(),n=Hs(i.as("s")),a=Hs(i.as("m")),r=Hs(i.as("h")),o=Hs(i.as("d")),l=Hs(i.as("M")),u=Hs(i.as("y")),d=n<=Is.ss&&["s",n]||n<Is.s&&["ss",n]||a<=1&&["m"]||a<Is.m&&["mm",a]||r<=1&&["h"]||r<Is.h&&["hh",r]||o<=1&&["d"]||o<Is.d&&["dd",o]||l<=1&&["M"]||l<Is.M&&["MM",l]||u<=1&&["y"]||["yy",u];return d[2]=e,d[3]=+t>0,d[4]=s,Us.apply(null,d)}(this,!t,e);return t&&(s=e.pastFuture(+this,s)),e.postformat(s)},$s.toISOString=Vs,$s.toString=Vs,$s.toJSON=Vs,$s.locale=Ze,$s.localeData=Qe,$s.toIsoString=S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Vs),$s.lang=Be,V("X",0,0,"unix"),V("x",0,0,"valueOf"),ut("x",nt),ut("X",/[+-]?\d+(\.\d{1,3})?/),ft("X",(function(t,e,s){s._d=new Date(1e3*parseFloat(t,10))})),ft("x",(function(t,e,s){s._d=new Date(k(t))})),i.version="2.24.0",e=Ce,i.fn=us,i.min=function(){var t=[].slice.call(arguments,0);return Me("isBefore",t)},i.max=function(){var t=[].slice.call(arguments,0);return Me("isAfter",t)},i.now=function(){return Date.now?Date.now():+new Date},i.utc=h,i.unix=function(t){return Ce(1e3*t)},i.months=function(t,e){return fs(t,e,"months")},i.isDate=l,i.locale=ne,i.invalid=_,i.duration=Ue,i.isMoment=b,i.weekdays=function(t,e,s){return ms(t,e,s,"weekdays")},i.parseZone=function(){return Ce.apply(null,arguments).parseZone()},i.localeData=re,i.isDuration=Te,i.monthsShort=function(t,e){return fs(t,e,"monthsShort")},i.weekdaysMin=function(t,e,s){return ms(t,e,s,"weekdaysMin")},i.defineLocale=ae,i.updateLocale=function(t,e){if(null!=e){var s,i,n=Kt;null!=(i=ie(t))&&(n=i._config),e=T(n,e),(s=new P(e)).parentLocale=te[t],te[t]=s,ne(t)}else null!=te[t]&&(null!=te[t].parentLocale?te[t]=te[t].parentLocale:null!=te[t]&&delete te[t]);return te[t]},i.locales=function(){return D(te)},i.weekdaysShort=function(t,e,s){return ms(t,e,s,"weekdaysShort")},i.normalizeUnits=L,i.relativeTimeRounding=function(t){return void 0===t?Hs:"function"==typeof t&&(Hs=t,!0)},i.relativeTimeThreshold=function(t,e){return void 0!==Is[t]&&(void 0===e?Is[t]:(Is[t]=e,"s"===t&&(Is.ss=e-1),!0))},i.calendarFormat=function(t,e){var s=t.diff(e,"days",!0);return s<-6?"sameElse":s<-1?"lastWeek":s<0?"lastDay":s<1?"sameDay":s<2?"nextDay":s<7?"nextWeek":"sameElse"},i.prototype=us,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},i}()}).call(this,s("./node_modules/webpack/buildin/module.js")(t))},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js":function(t,e,s){"use strict";function i(t,e,s,i,n,a,r,o){var l,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=s,u._compiled=!0),i&&(u.functional=!0),a&&(u._scopeId="data-v-"+a),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),n&&n.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},u._ssrRegister=l):n&&(l=o?function(){n.call(this,this.$root.$options.shadowRoot)}:n),l)if(u.functional){u._injectStyles=l;var d=u.render;u.render=function(t,e){return l.call(e),d(t,e)}}else{var c=u.beforeCreate;u.beforeCreate=c?[].concat(c,l):[l]}return{exports:t,options:u}}s.d(e,"a",(function(){return i}))},"./node_modules/webpack/buildin/global.js":function(t,e){var s;s=function(){return this}();try{s=s||new Function("return this")()}catch(t){"object"==typeof window&&(s=window)}t.exports=s},"./node_modules/webpack/buildin/module.js":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"./node_modules/xss/lib/default.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,n=s("./node_modules/cssfilter/lib/index.js").getDefaultWhiteList,a=s("./node_modules/xss/lib/util.js");function r(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var o=new i;function l(t){return t.replace(u,"<").replace(d,">")}var u=/</g,d=/>/g,c=/"/g,h=/"/g,f=/&#([a-zA-Z0-9]*);?/gim,m=/:?/gim,_=/&newline;?/gim,p=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,v=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,g=/u\s*r\s*l\s*\(.*/gi;function y(t){return t.replace(c,""")}function b(t){return t.replace(h,'"')}function w(t){return t.replace(f,(function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))}))}function k(t){return t.replace(m,":").replace(_," ")}function x(t){for(var e="",s=0,i=t.length;s<i;s++)e+=t.charCodeAt(s)<32?" ":t.charAt(s);return a.trim(e)}function C(t){return t=x(t=k(t=w(t=b(t))))}function S(t){return t=l(t=y(t))}var D=/<!--[\s\S]*?-->/g;e.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},e.getDefaultWhiteList=r,e.onTag=function(t,e,s){},e.onIgnoreTag=function(t,e,s){},e.onTagAttr=function(t,e,s){},e.onIgnoreTagAttr=function(t,e,s){},e.safeAttrValue=function(t,e,s,i){if(s=C(s),"href"===e||"src"===e){if("#"===(s=a.trim(s)))return"#";if("http://"!==s.substr(0,7)&&"https://"!==s.substr(0,8)&&"mailto:"!==s.substr(0,7)&&"tel:"!==s.substr(0,4)&&"#"!==s[0]&&"/"!==s[0])return""}else if("background"===e){if(p.lastIndex=0,p.test(s))return""}else if("style"===e){if(v.lastIndex=0,v.test(s))return"";if(g.lastIndex=0,g.test(s)&&(p.lastIndex=0,p.test(s)))return"";!1!==i&&(s=(i=i||o).process(s))}return s=S(s)},e.escapeHtml=l,e.escapeQuote=y,e.unescapeQuote=b,e.escapeHtmlEntities=w,e.escapeDangerHtml5Entities=k,e.clearNonPrintableCharacter=x,e.friendlyAttrValue=C,e.escapeAttrValue=S,e.onIgnoreTagStripAll=function(){return""},e.StripTagBody=function(t,e){"function"!=typeof e&&(e=function(){});var s=!Array.isArray(t),i=[],n=!1;return{onIgnoreTag:function(r,o,l){if(function(e){return!!s||-1!==a.indexOf(t,e)}(r)){if(l.isClosing){var u="[/removed]",d=l.position+u.length;return i.push([!1!==n?n:l.position,d]),n=!1,u}return n||(n=l.position),"[removed]"}return e(r,o,l)},remove:function(t){var e="",s=0;return a.forEach(i,(function(i){e+=t.slice(s,i[0]),s=i[1]})),e+=t.slice(s)}}},e.stripCommentTag=function(t){return t.replace(D,"")},e.stripBlankChar=function(t){var e=t.split("");return(e=e.filter((function(t){var e=t.charCodeAt(0);return 127!==e&&(!(e<=31)||(10===e||13===e))}))).join("")},e.cssFilter=o,e.getDefaultCSSWhiteList=n},"./node_modules/xss/lib/index.js":function(t,e,s){var i=s("./node_modules/xss/lib/default.js"),n=s("./node_modules/xss/lib/parser.js"),a=s("./node_modules/xss/lib/xss.js");function r(t,e){return new a(e).process(t)}for(var o in(e=t.exports=r).filterXSS=r,e.FilterXSS=a,i)e[o]=i[o];for(var o in n)e[o]=n[o];"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},"./node_modules/xss/lib/parser.js":function(t,e,s){var i=s("./node_modules/xss/lib/util.js");function n(t){var e=i.spaceIndex(t);if(-1===e)var s=t.slice(1,-1);else s=t.slice(1,e+1);return"/"===(s=i.trim(s).toLowerCase()).slice(0,1)&&(s=s.slice(1)),"/"===s.slice(-1)&&(s=s.slice(0,-1)),s}function a(t){return"</"===t.slice(0,2)}var r=/[^a-zA-Z0-9_:\.\-]/gim;function o(t,e){for(;e<t.length;e++){var s=t[e];if(" "!==s)return"="===s?e:-1}}function l(t,e){for(;e>0;e--){var s=t[e];if(" "!==s)return"="===s?e:-1}}function u(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}e.parseTag=function(t,e,s){var i="",r=0,o=!1,l=!1,u=0,d=t.length,c="",h="";for(u=0;u<d;u++){var f=t.charAt(u);if(!1===o){if("<"===f){o=u;continue}}else if(!1===l){if("<"===f){i+=s(t.slice(r,u)),o=u,r=u;continue}if(">"===f){i+=s(t.slice(r,o)),c=n(h=t.slice(o,u+1)),i+=e(o,i.length,c,h,a(h)),r=u+1,o=!1;continue}if(('"'===f||"'"===f)&&"="===t.charAt(u-1)){l=f;continue}}else if(f===l){l=!1;continue}}return r<t.length&&(i+=s(t.substr(r))),i},e.parseAttr=function(t,e){var s=0,n=[],a=!1,d=t.length;function c(t,s){if(!((t=(t=i.trim(t)).replace(r,"").toLowerCase()).length<1)){var a=e(t,s||"");a&&n.push(a)}}for(var h=0;h<d;h++){var f,m=t.charAt(h);if(!1!==a||"="!==m)if(!1===a||h!==s||'"'!==m&&"'"!==m||"="!==t.charAt(h-1))if(/\s|\n|\t/.test(m)){if(t=t.replace(/\s|\n|\t/g," "),!1===a){if(-1===(f=o(t,h))){c(i.trim(t.slice(s,h))),a=!1,s=h+1;continue}h=f-1;continue}if(-1===(f=l(t,h-1))){c(a,u(i.trim(t.slice(s,h)))),a=!1,s=h+1;continue}}else;else{if(-1===(f=t.indexOf(m,h+1)))break;c(a,i.trim(t.slice(s+1,f))),a=!1,s=(h=f)+1}else a=t.slice(s,h),s=h+1}return s<t.length&&(!1===a?c(t.slice(s)):c(a,u(i.trim(t.slice(s))))),i.trim(n.join(" "))}},"./node_modules/xss/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,n;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,n=t.length;i<n;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(t){var e=/\s|\n|\t/.exec(t);return e?e.index:-1}}},"./node_modules/xss/lib/xss.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,n=s("./node_modules/xss/lib/default.js"),a=s("./node_modules/xss/lib/parser.js"),r=a.parseTag,o=a.parseAttr,l=s("./node_modules/xss/lib/util.js");function u(t){return null==t}function d(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=n.onIgnoreTagStripAll),t.whiteList=t.whiteList||n.whiteList,t.onTag=t.onTag||n.onTag,t.onTagAttr=t.onTagAttr||n.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||n.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||n.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||n.safeAttrValue,t.escapeHtml=t.escapeHtml||n.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new i(t.css))}d.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onTag,a=e.onIgnoreTag,d=e.onTagAttr,c=e.onIgnoreTagAttr,h=e.safeAttrValue,f=e.escapeHtml,m=this.cssFilter;e.stripBlankChar&&(t=n.stripBlankChar(t)),e.allowCommentTag||(t=n.stripCommentTag(t));var _=!1;if(e.stripIgnoreTagBody){_=n.StripTagBody(e.stripIgnoreTagBody,a);a=_.onIgnoreTag}var p=r(t,(function(t,e,n,r,_){var p,v={sourcePosition:t,position:e,isClosing:_,isWhite:s.hasOwnProperty(n)};if(!u(p=i(n,r,v)))return p;if(v.isWhite){if(v.isClosing)return"</"+n+">";var g=function(t){var e=l.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var s="/"===(t=l.trim(t.slice(e+1,-1)))[t.length-1];return s&&(t=l.trim(t.slice(0,-1))),{html:t,closing:s}}(r),y=s[n],b=o(g.html,(function(t,e){var s,i=-1!==l.indexOf(y,t);return u(s=d(n,t,e,i))?i?(e=h(n,t,e,m))?t+'="'+e+'"':t:u(s=c(n,t,e,i))?void 0:s:s}));r="<"+n;return b&&(r+=" "+b),g.closing&&(r+=" /"),r+=">"}return u(p=a(n,r,v))?f(r):p}),f);return _&&(p=_.remove(p)),p},t.exports=d},"./src/audit.js":function(t,e,s){"use strict";s.r(e);var i=s("vue"),n=s.n(i),a=s("./src/helper/base_hepler.js"),r=s("./src/component/footer.vue"),o=s("./node_modules/lodash/chunk.js"),l=s.n(o),u=s("./src/component/pagination.vue"),d=s("./node_modules/moment/moment.js"),c={mixins:[a.a],name:"logs",data:function(){return{filter:{date_range:null,username:"",ip_address:"",events:[],event_all:!0,is_open:!1,date_from:null,date_to:null},event_types:auditData.filters.types,data:{logs:[],chunks:[],total_items:0,total_pages:0,paged:1},misc:auditData.misc,endpoints:auditData.endpoints,nonces:auditData.nonces,state:{on_saving:!1,is_fetching:!1}}},methods:{date_range:function(){},build_filter_url:function(t){},paging:function(t){this.data.paged=t},do_filter:function(){var t=this,e=this.data.logs.filter((function(e){return(""===t.filter.username||-1!==e.user.indexOf(t.filter.username))&&((null===t.filter.ip_address||-1!==e.ip.indexOf(t.filter.ip_address))&&(!1!==t.filter.event_all||-1!==t.filter.events.indexOf(e.event_type)))}));t.data.chunks=l()(e,40),t.data.total_items=e.length,t.data.total_pages=Math.ceil(t.data.total_items/40),t.data.paged=1},fetch_data:function(t){var e=this;this.state.is_fetching=!0;var s=JSON.parse(JSON.stringify(this.filter));delete s.is_open,delete s.event_all,delete s.date_range,this.httpGetRequest("loadData",s,(function(s){!0===s.success?(e.data.logs=Object.values(s.data.logs),e.data.total_items=s.data.total_items,e.data.total_pages=s.data.total_pages,e.data.chunks=l()(e.data.logs,40),e.data.paged=1,e.state.is_fetching=!1,void 0!==t&&t()):Defender.showNotification("error",s.message)}),!1)},format_time:function(t){return Array.isArray(t)?this.$options.filters.moment(new Date(1e3*t[1]),this.misc.date_format):this.$options.filters.moment(new Date(1e3*t),this.misc.date_format)}},computed:{get_logs:function(){var t=[];return this.data.chunks.length>0&&void 0!==this.data.chunks[this.data.paged-1]&&(t=this.data.chunks[this.data.paged-1]),t},get_count:function(){return this.vsprintf(this.__("%s results"),this.data.total_items)},next_icon:function(){return'<i class="sui-icon-chevron-right" aria-hidden="true"></i>'},prev_icon:function(){return'<i class="sui-icon-chevron-left" aria-hidden="true"></i>'},min_date:function(){return d().format()},max_date:function(){return d().subtract(30,"days").format()},get_export_url:function(){var t=ajaxurl+"?action="+this.endpoints.exportAsCvs+"&_wpnonce="+this.nonces.exportAsCvs;return t+="&date_from="+this.filter.date_from,t+="&date_to="+this.filter.date_to,this.filter.events.forEach((function(e){t+="&event_type[]="+e})),t+="&term="+this.filter.username,t+="&ip="+this.filter.ip_address}},watch:{"filter.date_range":function(t,e){null!==t&&null!==e&&t!==e&&this.fetch_data()}},components:{pagination:u.a},created:function(){var t=new URLSearchParams(window.location.search),e=null!==t.get("date_from")?t.get("date_from"):d().subtract(7,"day").format("MM/DD/YYYY"),s=null!==t.get("date_to")?t.get("date_to"):d().format("MM/DD/YYYY");this.filter.date_range=e+" - "+s,this.filter.date_from=e,this.filter.date_to=s;var i=this;this.fetch_data((function(){i.$parent.$emit("events_in_7_days",i.data.logs.length)}))},mounted:function(){var t=this;this.$nextTick((function(){jQuery("#date-range-picker").daterangepicker({autoApply:!0,maxDate:d().format("MM/DD/YYYY"),minDate:d().subtract(1,"year").format("MM/DD/YYYY"),locale:{format:"MM/DD/YYYY",separator:"-"},ranges:{Today:[d(),d()],"7 Days":[d().subtract(6,"days"),d()],"30 Days":[d().subtract(29,"days"),d()]},template:'<div class="daterangepicker wd-calendar"><div class="ranges"></div><div class="drp-calendar left"><div class="calendar-table"></div><div class="calendar-time"></div></div><div class="drp-calendar right"><div class="calendar-table"></div><div class="calendar-time"></div></div></div>',showCustomRangeLabel:!1,alwaysShowCalendars:!0}),jQuery("#date-range-picker").on("apply.daterangepicker",(function(e,s){t.filter.date_range=s.startDate.format("MM/DD/YYYY")+"-"+s.endDate.format("MM/DD/YYYY"),t.filter.date_from=s.startDate.format("MM/DD/YYYY"),t.filter.date_to=s.endDate.format("MM/DD/YYYY")}))}))}},h=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),f=Object(h.a)(c,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t"+t._s(t.__("Event Logs"))+"\n\t\t")]),t._v(" "),s("div",{staticClass:"sui-actions-right"},[s("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.get_export_url}},[s("i",{staticClass:"sui-icon-upload-cloud",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t"+t._s(t.__("Export CSV"))+"\n\t\t\t")])])]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t"+t._s(t.__("Here are your latest event logs showing what's been happening behind the scenes."))+"\n\t\t")]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-5"},[s("div",{staticClass:"inline-form"},[s("label",[t._v(t._s(t.__("Date range")))]),t._v(" "),s("div",{staticClass:"sui-date"},[s("i",{staticClass:"sui-icon-calendar",attrs:{"aria-hidden":"true"}}),t._v(" "),s("input",{staticClass:"sui-form-control",attrs:{id:"date-range-picker",name:"date_from",type:"text"},domProps:{value:t.filter.date_range}})])])]),t._v(" "),s("div",{staticClass:"sui-col-md-7"},[s("div",{staticClass:"sui-pagination-wrap"},[s("span",{staticClass:"sui-pagination-results",domProps:{textContent:t._s(t.get_count)}}),t._v(" "),t.data.total_items>0?s("pagination",{attrs:{"page-count":t.data.total_pages,"click-handler":t.paging,"prev-text":t.prev_icon,"next-text":t.next_icon,value:t.data.paged,"container-class":"sui-pagination"}}):t._e(),t._v(" "),s("button",{staticClass:"sui-button-icon sui-button-outlined sui-tooltip",attrs:{"data-tooltip":"Filter"},on:{click:function(e){t.filter.is_open=!t.filter.is_open}}},[s("i",{staticClass:"sui-icon-filter",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Open search filter")])])],1)])]),t._v(" "),s("div",{staticClass:"sui-pagination-filter",class:{"sui-open":t.filter.is_open}},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-4"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Username")))]),t._v(" "),s("div",{staticClass:"sui-control-with-icon sui-right-icon"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.username,expression:"filter.username"}],staticClass:"sui-form-control",attrs:{type:"text"},domProps:{value:t.filter.username},on:{input:function(e){e.target.composing||t.$set(t.filter,"username",e.target.value)}}}),t._v(" "),s("i",{staticClass:"sui-icon-magnifying-glass-search",attrs:{"aria-hidden":"true"}})])])]),t._v(" "),s("div",{staticClass:"sui-col-md-3"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("IP Address")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.ip_address,expression:"filter.ip_address"}],staticClass:"sui-form-control",attrs:{type:"text","data-name":"ip",placeholder:"E.g. 192.168.1.1"},domProps:{value:t.filter.ip_address},on:{input:function(e){e.target.composing||t.$set(t.filter,"ip_address",e.target.value)}}})])])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-form-field"},[s("div",{staticClass:"sui-side-tabs"},[s("div",{staticClass:"sui-tabs-menu"},[s("label",{staticClass:"sui-tab-item",class:{active:!0===t.filter.event_all},attrs:{for:"event_filter_all"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.event_all,expression:"filter.event_all"}],attrs:{type:"radio",id:"event_filter_all","data-tab-menu":""},domProps:{value:!0,checked:t._q(t.filter.event_all,!0)},on:{change:function(e){return t.$set(t.filter,"event_all",!0)}}}),t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("All"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("label",{staticClass:"sui-tab-item",class:{active:!1===t.filter.event_all},attrs:{for:"event_filter"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.event_all,expression:"filter.event_all"}],attrs:{type:"radio","data-tab-menu":"events-box",id:"event_filter"},domProps:{value:!1,checked:t._q(t.filter.event_all,!1)},on:{change:function(e){return t.$set(t.filter,"event_all",!1)}}}),t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Specific"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-tabs-content"},[s("div",{staticClass:"sui-tab-content sui-tab-boxed",class:{active:!1===t.filter.event_all},attrs:{id:"events-box","data-tab-content":"events-box"}},[s("div",{staticClass:"sui-row"},t._l(t.event_types,(function(e){return s("label",{staticClass:"sui-checkbox",attrs:{for:"chk_"+e}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.events,expression:"filter.events"}],staticClass:"filterable",attrs:{id:"chk_"+e,type:"checkbox"},domProps:{value:e,checked:Array.isArray(t.filter.events)?t._i(t.filter.events,e)>-1:t.filter.events},on:{change:function(s){var i=t.filter.events,n=s.target,a=!!n.checked;if(Array.isArray(i)){var r=e,o=t._i(i,r);n.checked?o<0&&t.$set(t.filter,"events",i.concat([r])):o>-1&&t.$set(t.filter,"events",i.slice(0,o).concat(i.slice(o+1)))}else t.$set(t.filter,"events",a)}}}),t._v(" "),s("span",{attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",[t._v(t._s(e))])])})),0)])])])])])]),t._v(" "),s("hr"),t._v(" "),s("div",{staticClass:"float-r"},[s("button",{staticClass:"sui-button sui-button-blue",attrs:{type:"submit"},on:{click:t.do_filter}},[t._v("\n\t\t\t\t\t"+t._s(t.__("Apply"))+"\n\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"clear"})])]),t._v(" "),s("div",{staticClass:"sui-accordion sui-accordion-flushed no-border-top"},[s("div",{staticClass:"sui-accordion-header"},[s("div",[t._v(t._s(t.__("Event summary")))]),t._v(" "),s("div",[t._v(t._s(t.__("Date")))]),t._v(" "),s("div")]),t._v(" "),t._l(t.get_logs,(function(e){return s("div",{staticClass:"sui-accordion-item sui-default"},[s("div",{staticClass:"sui-accordion-item-header"},[s("div",{staticClass:"sui-accordion-item-title",domProps:{textContent:t._s(t.xss(e.msg))}}),t._v(" "),s("div",{domProps:{innerHTML:t._s(t.format_time(e.timestamp))}}),t._v(" "),t._m(0,!0)]),t._v(" "),s("div",{staticClass:"sui-accordion-item-body"},[s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-body"},[s("strong",[t._v(t._s(t.__("Description")))]),t._v(" "),s("p",{domProps:{textContent:t._s(e.msg)}}),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("Context")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.context)},domProps:{textContent:t._s(t.xss(e.context))}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("Type")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.event_type)},domProps:{textContent:t._s(t.xss(e.event_type))}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("Ip Address")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.ip)},domProps:{textContent:t._s(t.xss(e.ip))}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("User")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.user)},domProps:{textContent:t._s(t.xss(e.user))}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("Date / Time")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.timestamp)}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t._f("moment")(new Date(1e3*e.timestamp),t.misc.date_format))+"\n\t\t\t\t\t\t\t\t")])])])])])])])}))],2),t._v(" "),0===t.data.chunks.length?s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-notice"},[!0===t.state.is_fetching?s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Loading events..."))+"\n\t\t\t\t")]):s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("There have been no events logged in the selected time period."))+"\n\t\t\t\t")])])])]):t._e(),t._v(" "),s("div",{staticClass:"sui-center-box"},[s("div",{staticClass:"sui-pagination-wrap"},[t.data.total_items>0?s("pagination",{attrs:{"page-count":t.data.total_pages,"click-handler":t.paging,"prev-text":t.prev_icon,"next-text":t.next_icon,value:t.data.paged,"container-class":"sui-pagination"}}):t._e()],1)]),t._v(" "),t.state.is_fetching?s("overlay"):t._e()],1)}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",[e("button",{staticClass:"sui-button-icon sui-accordion-open-indicator",attrs:{"aria-label":"Open item"}},[e("i",{staticClass:"sui-icon-chevron-down",attrs:{"aria-hidden":"true"}})])])}],!1,null,null,null).exports,m={mixins:[a.a],name:"settings",data:function(){return{model:auditData.model.settings,state:{on_saving:!1},nonces:auditData.nonces,endpoints:auditData.endpoints}},methods:{toggle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"enabled",s=this,i={};i[e]=t,this.httpPostRequest("updateSettings",{data:JSON.stringify(i)},(function(){s.$parent.$emit("enable_state",t)}))},updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})}},mounted:function(){var t=this;jQuery("#storage_days").change((function(){t.model.storage_days=jQuery(this).val()}))}},_=Object(h.a)(m,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box audit-settings"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Settings"))+"\n\t\t\t")])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Storage")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Events are stored in our API. You can choose how many days to keep logs for before they are removed."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.storage_days,expression:"model.storage_days"}],attrs:{name:"storage_days",id:"storage_days"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"storage_days",e.target.multiple?s:s[0])}}},[s("option",{attrs:{value:"24 hours"}},[t._v(t._s(t.__("24 hours")))]),t._v(" "),s("option",{attrs:{value:"7 days"}},[t._v(t._s(t.__("7 days")))]),t._v(" "),s("option",{attrs:{value:"30 days"}},[t._v(t._s(t.__("30 days")))]),t._v(" "),s("option",{attrs:{value:"3 months"}},[t._v(t._s(t.__("3 months")))]),t._v(" "),s("option",{attrs:{value:"6 months"}},[t._v(t._s(t.__("6 months")))]),t._v(" "),s("option",{attrs:{value:"12 months"}},[t._v(t._s(t.__("12 months")))])]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose how long you'd like to store your event logs locally before wiping the oldest."))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("If you no longer want to use this feature you can turn it off at any time."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:function(e){return t.toggle(!1)}}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Deactivate"))+"\n\t\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])])])}),[],!1,null,null,null).exports,p=s("./src/component/recipients.vue"),v={mixins:[a.a],name:"report",data:function(){return{model:auditData.model.report,misc:auditData.misc,nonces:auditData.nonces,endpoints:auditData.endpoints,state:{on_saving:!1,show_day:!0}}},components:{recipients:p.a},methods:{updateRecipients:function(t){this.model.receipts=t},updateSettings:function(){var t=this.model,e=this;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)},(function(t){e.$parent.$emit("update_report_time",t.data.summary)}))}},mounted:function(){var t=this;jQuery(".report-select").change((function(){var e=jQuery(this).attr("name");t.model[e]=jQuery(this).val()})),this.model.day=this.model.day.toLowerCase()},watch:{"model.frequency":function(){this.state.show_day=this.model.frequency>1}},created:function(){this.state.show_day=this.model.frequency>1},computed:{timezone_text:function(){return this.vsprintf(this.__("Your timezone is set to UTC %s, so your current time is %s."),this.misc.tz,this.misc.current_time)}}},g=Object(h.a)(v,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Notification"))+"\n\t\t\t")])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Scheduled Reports"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Schedule Defender to automatically email you a summary of all your website events."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.notification,expression:"model.notification"}],attrs:{type:"checkbox",name:"notification",id:"toggle_notification"},domProps:{checked:Array.isArray(t.model.notification)?t._i(t.model.notification,null)>-1:t.model.notification},on:{change:function(e){var s=t.model.notification,i=e.target,n=!!i.checked;if(Array.isArray(s)){var a=t._i(s,null);i.checked?a<0&&t.$set(t.model,"notification",s.concat([null])):a>-1&&t.$set(t.model,"notification",s.slice(0,a).concat(s.slice(a+1)))}else t.$set(t.model,"notification",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"toggle_notification"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Send regular email report"))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame sui-toggle-content"},[s("div",{staticClass:"margin-top-30"},[s("recipients",{attrs:{id:"report_dialog",recipients:t.model.receipts},on:{"update:recipients":t.updateRecipients}})],1),t._v(" "),s("div",{staticClass:"sui-form-field margin-top-30 schedule-box"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Frequency"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.frequency,expression:"model.frequency"}],staticClass:"report-select",attrs:{name:"frequency"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"frequency",e.target.multiple?s:s[0])}}},[s("option",{attrs:{value:"1"}},[t._v(t._s(t.__("Daily")))]),t._v(" "),s("option",{attrs:{value:"7"}},[t._v(t._s(t.__("Weekly")))]),t._v(" "),s("option",{attrs:{value:"30"}},[t._v(t._s(t.__("Monthly")))])])])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{directives:[{name:"show",rawName:"v-show",value:t.state.show_day,expression:"state.show_day"}],staticClass:"sui-col days-container"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Day of the week")))]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.day,expression:"model.day"}],staticClass:"report-select",attrs:{name:"day"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"day",e.target.multiple?s:s[0])}}},t._l(t.misc.days_of_week,(function(e){return s("option",{domProps:{value:e.toLowerCase()}},[t._v(t._s(e)+"\n\t\t\t\t\t\t\t\t\t\t\t")])})),0)]),t._v(" "),s("div",{staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Time of day")))]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.time,expression:"model.time"}],staticClass:"report-select",attrs:{name:"time"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"time",e.target.multiple?s:s[0])}}},t._l(t.misc.times_of_day,(function(e,i){return s("option",{domProps:{value:i}},[t._v(t._s(e)+"\n\t\t\t\t\t\t\t\t\t\t\t")])})),0)]),t._v(" "),s("div",{staticClass:"sui-col-md-12"},[s("span",{staticClass:"sui-p-small",domProps:{innerHTML:t._s(t.timezone_text)}})])])])])])])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue save-changes",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])])])}),[],!1,null,null,null).exports,y={mixins:[a.a],name:"audit",data:function(){return{view:"",summary:{report_time:auditData.summary.report_time,events_in_7_days:"-"},enabled:auditData.enabled,state:{on_saving:!1},nonces:auditData.nonces,endpoints:auditData.endpoints}},components:{"app-footer":r.a,logs:f,settings:_,report:g},methods:{updateSummary:function(t){this.summary.events_in_7_days=t},toggle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"enabled",s=this,i={};i[e]=t,this.httpPostRequest("updateSettings",{data:JSON.stringify(i)},(function(){s.enabled=t,s.$nextTick((function(){s.rebindSUI()}))}))}},created:function(){var t=new URLSearchParams(window.location.search).get("view");null===t&&(t="logs"),this.view=t,this.$on("events_in_7_days",(function(t){this.summary.events_in_7_days=t})),this.$on("update_report_time",(function(t){this.summary.report_time=t.report_time})),this.$on("enable_state",(function(t){this.enabled=t}))},watch:{view:function(t,e){history.replaceState({},null,this.adminUrl()+"admin.php?page=wdf-logging&view="+this.view)}},mounted:function(){self=this,jQuery(".sui-mobile-nav").change((function(){self.view=jQuery(this).val()}))}},b=Object(h.a)(y,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-wrap",class:t.maybeHighContrast()},[t.enabled?s("div",{staticClass:"auditing"},[s("div",{staticClass:"sui-header"},[s("h1",{staticClass:"sui-header-title"},[t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),s("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender/#audit-logging"}})],1),t._v(" "),s("summary-box",{attrs:{"css-class":"sui-summary-sm"}},[s("div",{staticClass:"sui-summary-segment"},[s("div",{staticClass:"sui-summary-details"},[s("span",{staticClass:"sui-summary-large",domProps:{textContent:t._s(t.summary.events_in_7_days)}}),t._v(" "),s("span",{staticClass:"sui-summary-sub"},[t._v("\n "+t._s(t.__("Events logged in the past 7 days"))+"\n ")])])]),t._v(" "),s("div",{staticClass:"sui-summary-segment"},[s("ul",{staticClass:"sui-list"},[s("li",[s("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("Reporting")))]),t._v(" "),s("span",{staticClass:"sui-list-detail",domProps:{textContent:t._s(t.summary.report_time)}})])])])]),t._v(" "),s("div",{staticClass:"sui-row-with-sidenav"},[s("div",{staticClass:"sui-sidenav"},[s("ul",{staticClass:"sui-vertical-tabs sui-sidenav-hide-md"},[s("li",{staticClass:"sui-vertical-tab",class:{current:"logs"===t.view},attrs:{id:"tab_log"}},[s("a",{attrs:{href:t.adminUrl("admin.php?page=wdf-logging")},on:{click:function(e){e.preventDefault(),t.view="logs"}}},[t._v(t._s(t.__("Event Logs")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"settings"===t.view},attrs:{id:"tab_settings"}},[s("a",{attrs:{href:t.adminUrl("admin.php?page=wdf-logging&view=settings")},on:{click:function(e){e.preventDefault(),t.view="settings"}}},[t._v(t._s(t.__("Settings")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"report"===t.view},attrs:{id:"tab_report"}},[s("a",{attrs:{href:t.adminUrl("admin.php?page=wdf-logging&view=report")},on:{click:function(e){e.preventDefault(),t.view="report"}}},[t._v(t._s(t.__("Reports")))])])]),t._v(" "),s("div",{staticClass:"sui-sidenav-hide-lg"},[s("select",{staticClass:"sui-mobile-nav",staticStyle:{display:"none"}},[s("option",{attrs:{value:"logs"}},[t._v(t._s(t.__("Event Logs")))]),t._v(" "),s("option",{attrs:{value:"settings"}},[t._v(t._s(t.__("Settings")))]),t._v(" "),s("option",{attrs:{value:"report"}},[t._v(t._s(t.__("Reports")))])])])]),t._v(" "),s("logs",{directives:[{name:"show",rawName:"v-show",value:"logs"===t.view,expression:"view==='logs'"}]}),t._v(" "),s("settings",{directives:[{name:"show",rawName:"v-show",value:"settings"===t.view,expression:"view==='settings'"}]}),t._v(" "),s("report",{directives:[{name:"show",rawName:"v-show",value:"report"===t.view,expression:"view==='report'"}]})],1),t._v(" "),s("app-footer")],1):s("div",{staticClass:"auditing"},[s("div",{staticClass:"sui-header"},[s("h1",{staticClass:"sui-header-title"},[t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-actions-right"},[s("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender/#audit-logging"}})],1)]),t._v(" "),s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-message"},[!1===t.maybeHideBranding()?s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/audit-disabled-man.svg"),"aria-hidden":"true"}}):t._e(),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n "+t._s(t.__("Track and log each and every event when changes are made to your website and getdetailed reports on what's going on behind the scenes, including any hacking attempts onyour site."))+"\n ")]),t._v(" "),s("submit-button",{attrs:{type:"button","css-class":"sui-button-blue activate",state:t.state},on:{click:function(e){return t.toggle(!0)}}},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1)])])])])}),[],!1,null,null,null).exports,w={mixins:[a.a],name:"audit-free"},k=Object(h.a)(w,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-wrap",class:t.maybeHighContrast},[s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),t._m(0)]),t._v(" "),s("div",{staticClass:"sui-message"},[s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/audit-disabled-man.svg")}}),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n "+t._s(t.__("Track and log each and every event when changes are made to your website and get detailed reports on what's going on behind the scenes, including any hacking attempts on your site. This is a pro feature that requires an active WPMU DEV membership. Try it free today!"))+"\n ")]),t._v(" "),s("a",{staticClass:"sui-button sui-button-purple",attrs:{href:t.campaign_url("defender_auditlogging_upgrade_button"),target:"_blank"}},[t._v("Upgrade to Pro")])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-left"},[e("span",{staticClass:"sui-tag sui-tag-pro"},[this._v("Pro")])])}],!1,null,null,null).exports,x=s("./src/component/overlay.vue"),C=s("./src/component/submit-button.vue"),S=s("./src/component/doc-link.vue"),D=s("./src/component/summary-box.vue");n.a.filter("moment",(function(t,e){return t?d(t).format(e):d().format(e)})),n.a.component("overlay",x.a),n.a.component("submit-button",C.a),n.a.component("app-footer",r.a),n.a.component("doc-link",S.a),n.a.component("summary-box",D.a);new n.a({el:"#defender",components:{audit:b,audit_free:k},render:function(t){return 0===parseInt(defender.is_free)?t(b):t(k)}})},"./src/component/doc-link.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],name:"doc-link",props:["link"],data:function(){return{whitelabel:defender.whitelabel}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return!1===this.whitelabel.hide_doc_link?e("div",{staticClass:"sui-actions-right"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:this.link,target:"_blank"}},[e("i",{staticClass:"sui-icon-academy"}),this._v(" "+this._s(this.__("View Documentation"))+"\n ")])]):this._e()}),[],!1,null,null,null);e.a=a.exports},"./src/component/footer.vue":function(t,e,s){"use strict";var i={data:function(){return{whitelabel:defender.whitelabel,is_free:defender.is_free}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[!0===t.whitelabel.change_footer?s("div",{staticClass:"sui-footer"},[t._v("\n "+t._s(t.whitelabel.footer_text)+"\n ")]):s("div",{staticClass:"sui-footer"},[t._v("Made with "),s("i",{staticClass:"sui-icon-heart"}),t._v(" by WPMU DEV")]),t._v(" "),!1===t.whitelabel.hide_doc_link?s("div",[t.is_free?s("ul",{staticClass:"sui-footer-nav"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7)]):s("ul",{staticClass:"sui-footer-nav"},[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15)]),t._v(" "),t._m(16)]):t._e()])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://profiles.wordpress.org/wpmudev#content-plugins",target:"_blank"}},[this._v("Free\n Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/features/",target:"_blank"}},[this._v("Membership")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://wordpress.org/support/plugin/plugin-name",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/projects/category/plugins/",target:"_blank"}},[this._v("Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/support/",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/community/",target:"_blank"}},[this._v("Community")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ul",{staticClass:"sui-footer-social"},[s("li",[s("a",{attrs:{href:"https://www.facebook.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-facebook",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Facebook")])])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://twitter.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-twitter",attrs:{"aria-hidden":"true"}})]),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Twitter")])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://www.instagram.com/wpmu_dev/",target:"_blank"}},[s("i",{staticClass:"sui-icon-instagram",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Instagram")])])])])}],!1,null,null,null);e.a=a.exports},"./src/component/overlay.vue":function(t,e,s){"use strict";var i={name:"overlay"},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement;this._self._c;return this._m(0)}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"wd-overlay"},[e("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null);e.a=a.exports},"./src/component/pagination.vue":function(t,e,s){"use strict";var i={props:{value:{type:Number},pageCount:{type:Number,required:!0},forcePage:{type:Number},clickHandler:{type:Function,default:function(){}},pageRange:{type:Number,default:3},marginPages:{type:Number,default:1},prevText:{type:String,default:"Prev"},nextText:{type:String,default:"Next"},breakViewText:{type:String,default:"…"},containerClass:{type:String},pageClass:{type:String},pageLinkClass:{type:String},prevClass:{type:String},prevLinkClass:{type:String},nextClass:{type:String},nextLinkClass:{type:String},breakViewClass:{type:String},breakViewLinkClass:{type:String},activeClass:{type:String,default:"active"},disabledClass:{type:String,default:"disabled"},noLiSurround:{type:Boolean,default:!1},firstLastButton:{type:Boolean,default:!1},firstButtonText:{type:String,default:"First"},lastButtonText:{type:String,default:"Last"},hidePrevNext:{type:Boolean,default:!1}},beforeUpdate:function(){void 0!==this.forcePage&&this.forcePage!==this.selected&&(this.selected=this.forcePage)},computed:{selected:{get:function(){return this.value||this.innerValue},set:function(t){this.innerValue=t}},pages:function(){var t=this,e={};if(this.pageCount<=this.pageRange)for(var s=0;s<this.pageCount;s++){var i={index:s,content:s+1,selected:s===this.selected-1};e[s]=i}else{for(var n=Math.floor(this.pageRange/2),a=function(s){var i={index:s,content:s+1,selected:s===t.selected-1};e[s]=i},r=function(t){e[t]={disabled:!0,breakView:!0}},o=0;o<this.marginPages;o++)a(o);var l=0;this.selected-n>0&&(l=this.selected-1-n);var u=l+this.pageRange-1;u>=this.pageCount&&(l=(u=this.pageCount-1)-this.pageRange+1);for(var d=l;d<=u&&d<=this.pageCount-1;d++)a(d);l>this.marginPages&&r(l-1),u+1<this.pageCount-this.marginPages&&r(u+1);for(var c=this.pageCount-1;c>=this.pageCount-this.marginPages;c--)a(c)}return e}},data:function(){return{innerValue:1}},methods:{handlePageSelected:function(t){this.selected!==t&&(this.innerValue=t,this.$emit("input",t),this.clickHandler(t))},prevPage:function(){this.selected<=1||this.handlePageSelected(this.selected-1)},nextPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.selected+1)},firstPageSelected:function(){return 1===this.selected},lastPageSelected:function(){return this.selected===this.pageCount||0===this.pageCount},selectFirstPage:function(){this.selected<=1||this.handlePageSelected(1)},selectLastPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.pageCount)}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.noLiSurround?s("div",{class:t.containerClass},[t.firstLastButton?s("a",{class:[t.pageLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){return t.selectFirstPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectFirstPage()}}}):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():s("a",{class:[t.prevLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){return t.prevPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.prevPage()}}}),t._v(" "),t._l(t.pages,(function(e){return[e.breakView?s("a",{class:[t.pageLinkClass,t.breakViewLinkClass,e.disabled?t.disabledClass:""],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?s("a",{class:[t.pageLinkClass,e.selected?t.activeClass:"",t.disabledClass],attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):s("a",{class:[t.pageLinkClass,e.selected?t.activeClass:""],attrs:{tabindex:"0"},on:{click:function(s){return t.handlePageSelected(e.index+1)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.handlePageSelected(e.index+1)}}},[t._v(t._s(e.content))])]})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():s("a",{class:[t.nextLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){return t.nextPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.nextPage()}}}),t._v(" "),t.firstLastButton?s("a",{class:[t.pageLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){return t.selectLastPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectLastPage()}}}):t._e()],2):s("ul",{class:t.containerClass},[t.firstLastButton?s("li",{class:[t.pageClass,t.firstPageSelected()?t.disabledClass:""]},[s("a",{class:t.pageLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){return t.selectFirstPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectFirstPage()}}})]):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():s("li",{class:[t.prevClass,t.firstPageSelected()?t.disabledClass:""]},[s("a",{class:t.prevLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){return t.prevPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.prevPage()}}})]),t._v(" "),t._l(t.pages,(function(e){return s("li",{class:[t.pageClass,e.selected?t.activeClass:"",e.disabled?t.disabledClass:"",e.breakView?t.breakViewClass:""]},[e.breakView?s("a",{class:[t.pageLinkClass,t.breakViewLinkClass],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?s("a",{class:t.pageLinkClass,attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):s("a",{class:t.pageLinkClass,attrs:{disabled:e.selected,tabindex:"0"},on:{click:function(s){return t.handlePageSelected(e.index+1)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.handlePageSelected(e.index+1)}}},[t._v(t._s(e.content))])])})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():s("li",{class:[t.nextClass,t.lastPageSelected()?t.disabledClass:""]},[s("a",{class:t.nextLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){return t.nextPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.nextPage()}}})]),t._v(" "),t.firstLastButton?s("li",{class:[t.pageClass,t.lastPageSelected()?t.disabledClass:""]},[s("a",{class:t.pageLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){return t.selectLastPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectLastPage()}}})]):t._e()],2)}),[],!1,null,null,null);e.a=a.exports},"./src/component/recipients.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],props:["recipients","id"],data:function(){return{first_name:"",email:"",observers:[],can_add:!1,saving_warning:!1,validate:{email:""}}},created:function(){this.observers=this.recipients},watch:{email:function(){if(this.validateEmail(this.email)){var t=!0,e=this;this.observers.forEach((function(s,i){if(s.email===e.email)return t=!1,void(e.validate.email=e.__("This email address is already in use"))})),this.can_add=t,!0===t&&(this.validate.email="")}else this.can_add=!1,this.validate.email=this.__("Invalid email address")},observers:function(){0===this.observers.length?this.saving_warning=!0:this.saving_warning=!1,void 0!==this.event&&this.$emit("update:recipients",this.observers)}},methods:{addRecipient:function(){this.observers.push({first_name:this.first_name,email:this.email}),jQuery.each(SUI.dialogs,(function(t,e){e.hide()})),this.first_name="",this.email=""},removeRecipient:function(t){this.observers.splice(t,1)},validateEmail:function(t){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(String(t).toLowerCase())}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("div",{directives:[{name:"show",rawName:"v-show",value:t.saving_warning,expression:"saving_warning"}],staticClass:"sui-notice sui-notice-warning"},[s("p",[t._v("\n\t\t\t"+t._s(t.__("You've removed all recipients. If you save without a recipient, we'll automatically turn of reports"))+"\n\t\t")])]),t._v(" "),s("div",{staticClass:"sui-recipients"},[t._l(t.observers,(function(e,i){return s("div",{staticClass:"sui-recipient"},[s("span",{staticClass:"sui-recipient-name"},[t._v(t._s(e.first_name))]),t._v(" "),s("span",{staticClass:"sui-recipient-email"},[t._v(t._s(e.email))]),t._v(" "),s("button",{staticClass:"sui-button-icon",attrs:{type:"button"},on:{click:function(e){return t.removeRecipient(i)}}},[s("i",{staticClass:"sui-icon-trash",attrs:{"aria-hidden":"true"}})])])})),t._v(" "),s("button",{staticClass:"sui-button sui-button-ghost add-recipient",attrs:{"data-a11y-dialog-show":t.id,type:"button"}},[s("i",{staticClass:"sui-icon-plus",attrs:{"aria-hidden":"true"}}),t._v(" "+t._s(t.__("Add Recipient"))+"\n\t\t")])],2),t._v(" "),s("div",{staticClass:"sui-dialog sui-dialog-sm",attrs:{"aria-hidden":"true",tabindex:"-1",id:t.id}},[s("div",{staticClass:"sui-dialog-overlay"}),t._v(" "),s("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"dialogTitle","aria-describedby":"dialogDescription",role:"dialog"}},[s("div",{staticClass:"sui-box",attrs:{role:"document"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Add Recipient"))+"\n\t\t\t\t\t")]),t._v(" "),t._m(0)]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Add as many recipients as you like, they will receive email reports as per the schedule you set."))+"\n\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("First name")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.first_name,expression:"first_name"}],staticClass:"sui-form-control recipient_name",attrs:{type:"text"},domProps:{value:t.first_name},on:{input:function(e){e.target.composing||(t.first_name=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"sui-form-field",class:{"sui-form-field-error":t.validate.email.length>0}},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Email")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.email,expression:"email"}],staticClass:"sui-form-control recipient_email",attrs:{type:"text"},domProps:{value:t.email},on:{input:function(e){e.target.composing||(t.email=e.target.value)}}}),t._v(" "),s("span",{directives:[{name:"show",rawName:"v-show",value:t.validate.email.length>0,expression:"validate.email.length > 0"}],staticClass:"sui-error-message",domProps:{textContent:t._s(this.validate.email)}})])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("button",{staticClass:"sui-button sui-button-ghost",attrs:{type:"button","data-a11y-dialog-hide":"recipient-dialog"}},[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Cancel"))+"\n\t\t\t\t\t")]),t._v(" "),s("button",{staticClass:"sui-modal-close sui-button recipient_save",attrs:{type:"button",disabled:!1===t.can_add},on:{click:t.addRecipient}},[t._v(t._s(t.__("Add"))+"\n\t\t\t\t\t")])])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-right"},[e("button",{staticClass:"sui-dialog-close",attrs:{type:"button","data-a11y-dialog-hide":"","aria-label":"Close this dialog window"}})])}],!1,null,null,null);e.a=a.exports},"./src/component/submit-button.vue":function(t,e,s){"use strict";var i={name:"submit-button",props:["id","state","text","css-class","type"],computed:{getClass:function(){return"sui-button "+this.cssClass}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("button",{staticClass:"sui-button",class:[t.getClass,{"sui-button-onload":t.state.on_saving}],attrs:{id:t.id,type:t.type,disabled:t.state.on_saving},on:{click:function(e){return t.$emit("click")}}},[s("span",{staticClass:"sui-loading-text"},[t._t("default")],2),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}),[],!1,null,null,null);e.a=a.exports},"./src/component/summary-box.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],props:["css-class"],name:"summary-box",data:function(){return{whitelabel:defender.whitelabel}},computed:{summary_class:function(){return{"sui-unbranded":!0===this.whitelabel.hide_branding&&0===this.whitelabel.hero_image.length,"sui-rebranded":!0===this.whitelabel.hide_branding&&this.whitelabel.hero_image.length>0}},css_class:function(){return this.cssClass},rebrand_img:function(){if(this.whitelabel.hero_image.length>0)return{"background-image":"url('"+this.whitelabel.hero_image+"')"}}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-box sui-summary",class:[this.summary_class,this.css_class],style:this.rebrand_img},[e("div",{staticClass:"sui-summary-image-space",attrs:{"aria-hidden":"true"}}),this._v(" "),this._t("default")],2)}),[],!1,null,null,null);e.a=a.exports},"./src/helper/base_hepler.js":function(t,e,s){"use strict";var i=s("./node_modules/xss/lib/index.js"),n=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var s=[],i=!0,n=!1,a=void 0;try{for(var r,o=t[Symbol.iterator]();!(i=(r=o.next()).done)&&(s.push(r.value),!e||s.length!==e);i=!0);}catch(t){n=!0,a=t}finally{try{!i&&o.return&&o.return()}finally{if(n)throw a}}return s}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},a=wp.i18n,r={whiteList:{a:["href","title","target"],span:["class"],strong:["*"]},safeAttrValue:function(t,e,s,n){return"a"===t&&"href"===e&&"%s"===s?"%s":Object(i.safeAttrValue)(t,e,s,n)}},o=new i.FilterXSS(r),l=[];e.a={methods:{__:function(t){var e=a.__(t,"wpdef");return o.process(e)},xss:function(t){return o.process(t)},vsprintf:function(t){return a.sprintf.apply(null,arguments)},siteUrl:function(t){return void 0!==t?defender.site_url+t:defender.site_url},adminUrl:function(t){return void 0!==t?defender.admin_url+t:defender.admin_url},assetUrl:function(t){return defender.defender_url+t},maybeHighContrast:function(){return{"sui-color-accessible":!0===defender.misc.high_contrast}},maybeHideBranding:function(){return defender.whitelabel.hide_branding},campaign_url:function(t){return"https://premium.wpmudev.org/project/wp-defender/?utm_source=defender&utm_medium=plugin&utm_campaign="+t},httpRequest:function(t,e,s,i,n){var a=this;void 0===n&&(this.state.on_saving=!0);var r=ajaxurl+"?action="+this.endpoints[e]+"&_wpnonce="+this.nonces[e],o=jQuery.ajax({url:r,method:t,data:s,success:function(t){var e=t.data;a.state.on_saving=!1,void 0!==e&&void 0!==e.message&&(t.success?Defender.showNotification("success",e.message):Defender.showNotification("error",e.message)),void 0!==i&&i(t)}});l.push(o)},httpGetRequest:function(t,e,s,i){this.httpRequest("get",t,e,s,i)},httpPostRequest:function(t,e,s,i){this.httpRequest("post",t,e,s,i)},abortAllRequests:function(){for(var t=0;t<l.length;t++)l[t].abort()},getQueryStringParams:function(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((function(t,e){var s=e.split("="),i=n(s,2),a=i[0],r=i[1];return t[a]=r?decodeURIComponent(r.replace(/\+/g," ")):"",t}),{}):{}},rebindSUI:function(){jQuery("select:not([multiple])").each((function(){SUI.suiSelect(this)})),jQuery(".sui-accordion").each((function(){SUI.suiAccordion(this)}));var t=jQuery(".sui-wrap");SUI.dialogs={},jQuery(".sui-dialog").each((function(){SUI.dialogs[this.id]=new A11yDialog(this,t)}))}}}},vue:function(t,e){t.exports=Vue}});
|
assets/app/dashboard.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t){var s=window.webpackHotUpdate;window.webpackHotUpdate=function(t,e){!function(t,s){if(!y[t]||!b[t])return;for(var e in b[t]=!1,s)Object.prototype.hasOwnProperty.call(s,e)&&(v[e]=s[e]);0==--f&&0===m&&x()}(t,e),s&&s(t,e)};var e,i=!0,a="495f1b1cd29114aab5aa",n={},o=[],r=[];function c(t){var s=A[t];if(!s)return j;var i=function(i){return s.hot.active?(A[i]?-1===A[i].parents.indexOf(t)&&A[i].parents.push(t):(o=[t],e=i),-1===s.children.indexOf(i)&&s.children.push(i)):(console.warn("[HMR] unexpected require("+i+") from disposed module "+t),o=[]),j(i)},a=function(t){return{configurable:!0,enumerable:!0,get:function(){return j[t]},set:function(s){j[t]=s}}};for(var n in j)Object.prototype.hasOwnProperty.call(j,n)&&"e"!==n&&"t"!==n&&Object.defineProperty(i,n,a(n));return i.e=function(t){return"ready"===d&&_("prepare"),m++,j.e(t).then(s,(function(t){throw s(),t}));function s(){m--,"prepare"===d&&(g[t]||w(t),0===m&&0===f&&x())}},i.t=function(t,s){return 1&s&&(t=i(t)),j.t(t,-2&s)},i}function l(t){var s={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:e!==t,active:!0,accept:function(t,e){if(void 0===t)s._selfAccepted=!0;else if("function"==typeof t)s._selfAccepted=t;else if("object"==typeof t)for(var i=0;i<t.length;i++)s._acceptedDependencies[t[i]]=e||function(){};else s._acceptedDependencies[t]=e||function(){}},decline:function(t){if(void 0===t)s._selfDeclined=!0;else if("object"==typeof t)for(var e=0;e<t.length;e++)s._declinedDependencies[t[e]]=!0;else s._declinedDependencies[t]=!0},dispose:function(t){s._disposeHandlers.push(t)},addDisposeHandler:function(t){s._disposeHandlers.push(t)},removeDisposeHandler:function(t){var e=s._disposeHandlers.indexOf(t);e>=0&&s._disposeHandlers.splice(e,1)},check:k,apply:S,status:function(t){if(!t)return d;u.push(t)},addStatusHandler:function(t){u.push(t)},removeStatusHandler:function(t){var s=u.indexOf(t);s>=0&&u.splice(s,1)},data:n[t]};return e=void 0,s}var u=[],d="idle";function _(t){d=t;for(var s=0;s<u.length;s++)u[s].call(null,t)}var p,v,h,f=0,m=0,g={},b={},y={};function C(t){return+t+""===t?+t:t}function k(t){if("idle"!==d)throw new Error("check() is only allowed in idle status");return i=t,_("check"),(s=1e4,s=s||1e4,new Promise((function(t,e){if("undefined"==typeof XMLHttpRequest)return e(new Error("No browser support"));try{var i=new XMLHttpRequest,n=j.p+""+a+".hot-update.json";i.open("GET",n,!0),i.timeout=s,i.send(null)}catch(t){return e(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)e(new Error("Manifest request to "+n+" timed out."));else if(404===i.status)t();else if(200!==i.status&&304!==i.status)e(new Error("Manifest request to "+n+" failed."));else{try{var s=JSON.parse(i.responseText)}catch(t){return void e(t)}t(s)}}}))).then((function(t){if(!t)return _("idle"),null;b={},g={},y=t.c,h=t.h,_("prepare");var s=new Promise((function(t,s){p={resolve:t,reject:s}}));v={};return w(2),"prepare"===d&&0===m&&0===f&&x(),s}));var s}function w(t){y[t]?(b[t]=!0,f++,function(t){var s=document.createElement("script");s.charset="utf-8",s.src=j.p+""+t+"."+a+".hot-update.js",document.head.appendChild(s)}(t)):g[t]=!0}function x(){_("ready");var t=p;if(p=null,t)if(i)Promise.resolve().then((function(){return S(i)})).then((function(s){t.resolve(s)}),(function(s){t.reject(s)}));else{var s=[];for(var e in v)Object.prototype.hasOwnProperty.call(v,e)&&s.push(C(e));t.resolve(s)}}function S(s){if("ready"!==d)throw new Error("apply() is only allowed in ready status");var e,i,r,c,l;function u(t){for(var s=[t],e={},i=s.map((function(t){return{chain:[t],id:t}}));i.length>0;){var a=i.pop(),n=a.id,o=a.chain;if((c=A[n])&&!c.hot._selfAccepted){if(c.hot._selfDeclined)return{type:"self-declined",chain:o,moduleId:n};if(c.hot._main)return{type:"unaccepted",chain:o,moduleId:n};for(var r=0;r<c.parents.length;r++){var l=c.parents[r],u=A[l];if(u){if(u.hot._declinedDependencies[n])return{type:"declined",chain:o.concat([l]),moduleId:n,parentId:l};-1===s.indexOf(l)&&(u.hot._acceptedDependencies[n]?(e[l]||(e[l]=[]),p(e[l],[n])):(delete e[l],s.push(l),i.push({chain:o.concat([l]),id:l})))}}}}return{type:"accepted",moduleId:t,outdatedModules:s,outdatedDependencies:e}}function p(t,s){for(var e=0;e<s.length;e++){var i=s[e];-1===t.indexOf(i)&&t.push(i)}}s=s||{};var f={},m=[],g={},b=function(){console.warn("[HMR] unexpected require("+w.moduleId+") to disposed module")};for(var k in v)if(Object.prototype.hasOwnProperty.call(v,k)){var w;l=C(k);var x=!1,S=!1,P=!1,T="";switch((w=v[k]?u(l):{type:"disposed",moduleId:k}).chain&&(T="\nUpdate propagation: "+w.chain.join(" -> ")),w.type){case"self-declined":s.onDeclined&&s.onDeclined(w),s.ignoreDeclined||(x=new Error("Aborted because of self decline: "+w.moduleId+T));break;case"declined":s.onDeclined&&s.onDeclined(w),s.ignoreDeclined||(x=new Error("Aborted because of declined dependency: "+w.moduleId+" in "+w.parentId+T));break;case"unaccepted":s.onUnaccepted&&s.onUnaccepted(w),s.ignoreUnaccepted||(x=new Error("Aborted because "+l+" is not accepted"+T));break;case"accepted":s.onAccepted&&s.onAccepted(w),S=!0;break;case"disposed":s.onDisposed&&s.onDisposed(w),P=!0;break;default:throw new Error("Unexception type "+w.type)}if(x)return _("abort"),Promise.reject(x);if(S)for(l in g[l]=v[l],p(m,w.outdatedModules),w.outdatedDependencies)Object.prototype.hasOwnProperty.call(w.outdatedDependencies,l)&&(f[l]||(f[l]=[]),p(f[l],w.outdatedDependencies[l]));P&&(p(m,[w.moduleId]),g[l]=b)}var I,E=[];for(i=0;i<m.length;i++)l=m[i],A[l]&&A[l].hot._selfAccepted&&g[l]!==b&&E.push({module:l,errorHandler:A[l].hot._selfAccepted});_("dispose"),Object.keys(y).forEach((function(t){!1===y[t]&&function(t){delete installedChunks[t]}(t)}));for(var $,O,D=m.slice();D.length>0;)if(l=D.pop(),c=A[l]){var R={},q=c.hot._disposeHandlers;for(r=0;r<q.length;r++)(e=q[r])(R);for(n[l]=R,c.hot.active=!1,delete A[l],delete f[l],r=0;r<c.children.length;r++){var L=A[c.children[r]];L&&((I=L.parents.indexOf(l))>=0&&L.parents.splice(I,1))}}for(l in f)if(Object.prototype.hasOwnProperty.call(f,l)&&(c=A[l]))for(O=f[l],r=0;r<O.length;r++)$=O[r],(I=c.children.indexOf($))>=0&&c.children.splice(I,1);for(l in _("apply"),a=h,g)Object.prototype.hasOwnProperty.call(g,l)&&(t[l]=g[l]);var U=null;for(l in f)if(Object.prototype.hasOwnProperty.call(f,l)&&(c=A[l])){O=f[l];var H=[];for(i=0;i<O.length;i++)if($=O[i],e=c.hot._acceptedDependencies[$]){if(-1!==H.indexOf(e))continue;H.push(e)}for(i=0;i<H.length;i++){e=H[i];try{e(O)}catch(t){s.onErrored&&s.onErrored({type:"accept-errored",moduleId:l,dependencyId:O[i],error:t}),s.ignoreErrored||U||(U=t)}}}for(i=0;i<E.length;i++){var W=E[i];l=W.module,o=[l];try{j(l)}catch(t){if("function"==typeof W.errorHandler)try{W.errorHandler(t)}catch(e){s.onErrored&&s.onErrored({type:"self-accept-error-handler-errored",moduleId:l,error:e,originalError:t}),s.ignoreErrored||U||(U=e),U||(U=t)}else s.onErrored&&s.onErrored({type:"self-accept-errored",moduleId:l,error:t}),s.ignoreErrored||U||(U=t)}}return U?(_("fail"),Promise.reject(U)):(_("idle"),new Promise((function(t){t(m)})))}var A={};function j(s){if(A[s])return A[s].exports;var e=A[s]={i:s,l:!1,exports:{},hot:l(s),parents:(r=o,o=[],r),children:[]};return t[s].call(e.exports,e,e.exports,c(s)),e.l=!0,e.exports}j.m=t,j.c=A,j.d=function(t,s,e){j.o(t,s)||Object.defineProperty(t,s,{enumerable:!0,get:e})},j.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},j.t=function(t,s){if(1&s&&(t=j(t)),8&s)return t;if(4&s&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(j.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&s&&"string"!=typeof t)for(var i in t)j.d(e,i,function(s){return t[s]}.bind(null,i));return e},j.n=function(t){var s=t&&t.__esModule?function(){return t.default}:function(){return t};return j.d(s,"a",s),s},j.o=function(t,s){return Object.prototype.hasOwnProperty.call(t,s)},j.p="",j.h=function(){return a},c("./src/dashboard.js")(j.s="./src/dashboard.js")}({"./node_modules/cssfilter/lib/css.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/default.js"),a=e("./node_modules/cssfilter/lib/parser.js");e("./node_modules/cssfilter/lib/util.js");function n(t){return null==t}function o(t){(t=function(t){var s={};for(var e in t)s[e]=t[e];return s}(t||{})).whiteList=t.whiteList||i.whiteList,t.onAttr=t.onAttr||i.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||i.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,this.options=t}o.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var s=this.options,e=s.whiteList,i=s.onAttr,o=s.onIgnoreAttr,r=s.safeAttrValue;return a(t,(function(t,s,a,c,l){var u=e[a],d=!1;if(!0===u?d=u:"function"==typeof u?d=u(c):u instanceof RegExp&&(d=u.test(c)),!0!==d&&(d=!1),c=r(a,c)){var _,p={position:s,sourcePosition:t,source:l,isWhite:d};return d?n(_=i(a,c,p))?a+":"+c:_:n(_=o(a,c,p))?void 0:_}}))},t.exports=o},"./node_modules/cssfilter/lib/default.js":function(t,s){function e(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var i=/javascript\s*\:/gim;s.whiteList=e(),s.getDefaultWhiteList=e,s.onAttr=function(t,s,e){},s.onIgnoreAttr=function(t,s,e){},s.safeAttrValue=function(t,s){return i.test(s)?"":s}},"./node_modules/cssfilter/lib/index.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/default.js"),a=e("./node_modules/cssfilter/lib/css.js");for(var n in(s=t.exports=function(t,s){return new a(s).process(t)}).FilterCSS=a,i)s[n]=i[n];"undefined"!=typeof window&&(window.filterCSS=t.exports)},"./node_modules/cssfilter/lib/parser.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/util.js");t.exports=function(t,s){";"!==(t=i.trimRight(t))[t.length-1]&&(t+=";");var e=t.length,a=!1,n=0,o=0,r="";function c(){if(!a){var e=i.trim(t.slice(n,o)),c=e.indexOf(":");if(-1!==c){var l=i.trim(e.slice(0,c)),u=i.trim(e.slice(c+1));if(l){var d=s(n,r.length,l,u,e);d&&(r+=d+"; ")}}}n=o+1}for(;o<e;o++){var l=t[o];if("/"===l&&"*"===t[o+1]){var u=t.indexOf("*/",o+2);if(-1===u)break;n=(o=u+1)+1,a=!1}else"("===l?a=!0:")"===l?a=!1:";"===l?a||c():"\n"===l&&c()}return i.trim(r)}},"./node_modules/cssfilter/lib/util.js":function(t,s){t.exports={indexOf:function(t,s){var e,i;if(Array.prototype.indexOf)return t.indexOf(s);for(e=0,i=t.length;e<i;e++)if(t[e]===s)return e;return-1},forEach:function(t,s,e){var i,a;if(Array.prototype.forEach)return t.forEach(s,e);for(i=0,a=t.length;i<a;i++)s.call(e,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\s*$)/g,"")}}},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js":function(t,s,e){"use strict";function i(t,s,e,i,a,n,o,r){var c,l="function"==typeof t?t.options:t;if(s&&(l.render=s,l.staticRenderFns=e,l._compiled=!0),i&&(l.functional=!0),n&&(l._scopeId="data-v-"+n),o?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):a&&(c=r?function(){a.call(this,this.$root.$options.shadowRoot)}:a),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,s){return c.call(s),u(t,s)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}e.d(s,"a",(function(){return i}))},"./node_modules/xss/lib/default.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/index.js").FilterCSS,a=e("./node_modules/cssfilter/lib/index.js").getDefaultWhiteList,n=e("./node_modules/xss/lib/util.js");function o(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var r=new i;function c(t){return t.replace(l,"<").replace(u,">")}var l=/</g,u=/>/g,d=/"/g,_=/"/g,p=/&#([a-zA-Z0-9]*);?/gim,v=/:?/gim,h=/&newline;?/gim,f=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,m=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,g=/u\s*r\s*l\s*\(.*/gi;function b(t){return t.replace(d,""")}function y(t){return t.replace(_,'"')}function C(t){return t.replace(p,(function(t,s){return"x"===s[0]||"X"===s[0]?String.fromCharCode(parseInt(s.substr(1),16)):String.fromCharCode(parseInt(s,10))}))}function k(t){return t.replace(v,":").replace(h," ")}function w(t){for(var s="",e=0,i=t.length;e<i;e++)s+=t.charCodeAt(e)<32?" ":t.charAt(e);return n.trim(s)}function x(t){return t=w(t=k(t=C(t=y(t))))}function S(t){return t=c(t=b(t))}var A=/<!--[\s\S]*?-->/g;s.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},s.getDefaultWhiteList=o,s.onTag=function(t,s,e){},s.onIgnoreTag=function(t,s,e){},s.onTagAttr=function(t,s,e){},s.onIgnoreTagAttr=function(t,s,e){},s.safeAttrValue=function(t,s,e,i){if(e=x(e),"href"===s||"src"===s){if("#"===(e=n.trim(e)))return"#";if("http://"!==e.substr(0,7)&&"https://"!==e.substr(0,8)&&"mailto:"!==e.substr(0,7)&&"tel:"!==e.substr(0,4)&&"#"!==e[0]&&"/"!==e[0])return""}else if("background"===s){if(f.lastIndex=0,f.test(e))return""}else if("style"===s){if(m.lastIndex=0,m.test(e))return"";if(g.lastIndex=0,g.test(e)&&(f.lastIndex=0,f.test(e)))return"";!1!==i&&(e=(i=i||r).process(e))}return e=S(e)},s.escapeHtml=c,s.escapeQuote=b,s.unescapeQuote=y,s.escapeHtmlEntities=C,s.escapeDangerHtml5Entities=k,s.clearNonPrintableCharacter=w,s.friendlyAttrValue=x,s.escapeAttrValue=S,s.onIgnoreTagStripAll=function(){return""},s.StripTagBody=function(t,s){"function"!=typeof s&&(s=function(){});var e=!Array.isArray(t),i=[],a=!1;return{onIgnoreTag:function(o,r,c){if(function(s){return!!e||-1!==n.indexOf(t,s)}(o)){if(c.isClosing){var l="[/removed]",u=c.position+l.length;return i.push([!1!==a?a:c.position,u]),a=!1,l}return a||(a=c.position),"[removed]"}return s(o,r,c)},remove:function(t){var s="",e=0;return n.forEach(i,(function(i){s+=t.slice(e,i[0]),e=i[1]})),s+=t.slice(e)}}},s.stripCommentTag=function(t){return t.replace(A,"")},s.stripBlankChar=function(t){var s=t.split("");return(s=s.filter((function(t){var s=t.charCodeAt(0);return 127!==s&&(!(s<=31)||(10===s||13===s))}))).join("")},s.cssFilter=r,s.getDefaultCSSWhiteList=a},"./node_modules/xss/lib/index.js":function(t,s,e){var i=e("./node_modules/xss/lib/default.js"),a=e("./node_modules/xss/lib/parser.js"),n=e("./node_modules/xss/lib/xss.js");function o(t,s){return new n(s).process(t)}for(var r in(s=t.exports=o).filterXSS=o,s.FilterXSS=n,i)s[r]=i[r];for(var r in a)s[r]=a[r];"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},"./node_modules/xss/lib/parser.js":function(t,s,e){var i=e("./node_modules/xss/lib/util.js");function a(t){var s=i.spaceIndex(t);if(-1===s)var e=t.slice(1,-1);else e=t.slice(1,s+1);return"/"===(e=i.trim(e).toLowerCase()).slice(0,1)&&(e=e.slice(1)),"/"===e.slice(-1)&&(e=e.slice(0,-1)),e}function n(t){return"</"===t.slice(0,2)}var o=/[^a-zA-Z0-9_:\.\-]/gim;function r(t,s){for(;s<t.length;s++){var e=t[s];if(" "!==e)return"="===e?s:-1}}function c(t,s){for(;s>0;s--){var e=t[s];if(" "!==e)return"="===e?s:-1}}function l(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}s.parseTag=function(t,s,e){var i="",o=0,r=!1,c=!1,l=0,u=t.length,d="",_="";for(l=0;l<u;l++){var p=t.charAt(l);if(!1===r){if("<"===p){r=l;continue}}else if(!1===c){if("<"===p){i+=e(t.slice(o,l)),r=l,o=l;continue}if(">"===p){i+=e(t.slice(o,r)),d=a(_=t.slice(r,l+1)),i+=s(r,i.length,d,_,n(_)),o=l+1,r=!1;continue}if(('"'===p||"'"===p)&&"="===t.charAt(l-1)){c=p;continue}}else if(p===c){c=!1;continue}}return o<t.length&&(i+=e(t.substr(o))),i},s.parseAttr=function(t,s){var e=0,a=[],n=!1,u=t.length;function d(t,e){if(!((t=(t=i.trim(t)).replace(o,"").toLowerCase()).length<1)){var n=s(t,e||"");n&&a.push(n)}}for(var _=0;_<u;_++){var p,v=t.charAt(_);if(!1!==n||"="!==v)if(!1===n||_!==e||'"'!==v&&"'"!==v||"="!==t.charAt(_-1))if(/\s|\n|\t/.test(v)){if(t=t.replace(/\s|\n|\t/g," "),!1===n){if(-1===(p=r(t,_))){d(i.trim(t.slice(e,_))),n=!1,e=_+1;continue}_=p-1;continue}if(-1===(p=c(t,_-1))){d(n,l(i.trim(t.slice(e,_)))),n=!1,e=_+1;continue}}else;else{if(-1===(p=t.indexOf(v,_+1)))break;d(n,i.trim(t.slice(e+1,p))),n=!1,e=(_=p)+1}else n=t.slice(e,_),e=_+1}return e<t.length&&(!1===n?d(t.slice(e)):d(n,l(i.trim(t.slice(e))))),i.trim(a.join(" "))}},"./node_modules/xss/lib/util.js":function(t,s){t.exports={indexOf:function(t,s){var e,i;if(Array.prototype.indexOf)return t.indexOf(s);for(e=0,i=t.length;e<i;e++)if(t[e]===s)return e;return-1},forEach:function(t,s,e){var i,a;if(Array.prototype.forEach)return t.forEach(s,e);for(i=0,a=t.length;i<a;i++)s.call(e,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(t){var s=/\s|\n|\t/.exec(t);return s?s.index:-1}}},"./node_modules/xss/lib/xss.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/index.js").FilterCSS,a=e("./node_modules/xss/lib/default.js"),n=e("./node_modules/xss/lib/parser.js"),o=n.parseTag,r=n.parseAttr,c=e("./node_modules/xss/lib/util.js");function l(t){return null==t}function u(t){(t=function(t){var s={};for(var e in t)s[e]=t[e];return s}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=a.onIgnoreTagStripAll),t.whiteList=t.whiteList||a.whiteList,t.onTag=t.onTag||a.onTag,t.onTagAttr=t.onTagAttr||a.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||a.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||a.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||a.safeAttrValue,t.escapeHtml=t.escapeHtml||a.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new i(t.css))}u.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var s=this.options,e=s.whiteList,i=s.onTag,n=s.onIgnoreTag,u=s.onTagAttr,d=s.onIgnoreTagAttr,_=s.safeAttrValue,p=s.escapeHtml,v=this.cssFilter;s.stripBlankChar&&(t=a.stripBlankChar(t)),s.allowCommentTag||(t=a.stripCommentTag(t));var h=!1;if(s.stripIgnoreTagBody){h=a.StripTagBody(s.stripIgnoreTagBody,n);n=h.onIgnoreTag}var f=o(t,(function(t,s,a,o,h){var f,m={sourcePosition:t,position:s,isClosing:h,isWhite:e.hasOwnProperty(a)};if(!l(f=i(a,o,m)))return f;if(m.isWhite){if(m.isClosing)return"</"+a+">";var g=function(t){var s=c.spaceIndex(t);if(-1===s)return{html:"",closing:"/"===t[t.length-2]};var e="/"===(t=c.trim(t.slice(s+1,-1)))[t.length-1];return e&&(t=c.trim(t.slice(0,-1))),{html:t,closing:e}}(o),b=e[a],y=r(g.html,(function(t,s){var e,i=-1!==c.indexOf(b,t);return l(e=u(a,t,s,i))?i?(s=_(a,t,s,v))?t+'="'+s+'"':t:l(e=d(a,t,s,i))?void 0:e:e}));o="<"+a;return y&&(o+=" "+y),g.closing&&(o+=" /"),o+=">"}return l(f=n(a,o,m))?p(o):f}),p);return h&&(f=h.remove(f)),f},t.exports=u},"./src/component/doc-link.vue":function(t,s,e){"use strict";var i={mixins:[e("./src/helper/base_hepler.js").a],name:"doc-link",props:["link"],data:function(){return{whitelabel:defender.whitelabel}}},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement,s=this._self._c||t;return!1===this.whitelabel.hide_doc_link?s("div",{staticClass:"sui-actions-right"},[s("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:this.link,target:"_blank"}},[s("i",{staticClass:"sui-icon-academy"}),this._v(" "+this._s(this.__("View Documentation"))+"\n ")])]):this._e()}),[],!1,null,null,null);s.a=n.exports},"./src/component/footer.vue":function(t,s,e){"use strict";var i={data:function(){return{whitelabel:defender.whitelabel,is_free:defender.is_free}}},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",[!0===t.whitelabel.change_footer?e("div",{staticClass:"sui-footer"},[t._v("\n "+t._s(t.whitelabel.footer_text)+"\n ")]):e("div",{staticClass:"sui-footer"},[t._v("Made with "),e("i",{staticClass:"sui-icon-heart"}),t._v(" by WPMU DEV")]),t._v(" "),!1===t.whitelabel.hide_doc_link?e("div",[t.is_free?e("ul",{staticClass:"sui-footer-nav"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7)]):e("ul",{staticClass:"sui-footer-nav"},[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15)]),t._v(" "),t._m(16)]):t._e()])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://profiles.wordpress.org/wpmudev#content-plugins",target:"_blank"}},[this._v("Free\n Plugins")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/features/",target:"_blank"}},[this._v("Membership")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://wordpress.org/support/plugin/plugin-name",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/projects/category/plugins/",target:"_blank"}},[this._v("Plugins")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/hub/support/",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/hub/community/",target:"_blank"}},[this._v("Community")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("ul",{staticClass:"sui-footer-social"},[e("li",[e("a",{attrs:{href:"https://www.facebook.com/wpmudev",target:"_blank"}},[e("i",{staticClass:"sui-icon-social-facebook",attrs:{"aria-hidden":"true"}}),t._v(" "),e("span",{staticClass:"sui-screen-reader-text"},[t._v("Facebook")])])]),t._v(" "),e("li",[e("a",{attrs:{href:"https://twitter.com/wpmudev",target:"_blank"}},[e("i",{staticClass:"sui-icon-social-twitter",attrs:{"aria-hidden":"true"}})]),t._v(" "),e("span",{staticClass:"sui-screen-reader-text"},[t._v("Twitter")])]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.instagram.com/wpmu_dev/",target:"_blank"}},[e("i",{staticClass:"sui-icon-instagram",attrs:{"aria-hidden":"true"}}),t._v(" "),e("span",{staticClass:"sui-screen-reader-text"},[t._v("Instagram")])])])])}],!1,null,null,null);s.a=n.exports},"./src/component/overlay.vue":function(t,s,e){"use strict";var i={name:"overlay"},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement;this._self._c;return this._m(0)}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"wd-overlay"},[s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null);s.a=n.exports},"./src/component/submit-button.vue":function(t,s,e){"use strict";var i={name:"submit-button",props:["id","state","text","css-class","type"],computed:{getClass:function(){return"sui-button "+this.cssClass}}},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("button",{staticClass:"sui-button",class:[t.getClass,{"sui-button-onload":t.state.on_saving}],attrs:{id:t.id,type:t.type,disabled:t.state.on_saving},on:{click:function(s){return t.$emit("click")}}},[e("span",{staticClass:"sui-loading-text"},[t._t("default")],2),t._v(" "),e("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}),[],!1,null,null,null);s.a=n.exports},"./src/component/summary-box.vue":function(t,s,e){"use strict";var i={mixins:[e("./src/helper/base_hepler.js").a],props:["css-class"],name:"summary-box",data:function(){return{whitelabel:defender.whitelabel}},computed:{summary_class:function(){return{"sui-unbranded":!0===this.whitelabel.hide_branding&&0===this.whitelabel.hero_image.length,"sui-rebranded":!0===this.whitelabel.hide_branding&&this.whitelabel.hero_image.length>0}},css_class:function(){return this.cssClass},rebrand_img:function(){if(this.whitelabel.hero_image.length>0)return console.log({"background-image":"url('"+this.whitelabel.hero_image+"')"}),{"background-image":"url('"+this.whitelabel.hero_image+"')"}}}},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-box sui-summary",class:[this.summary_class,this.css_class],style:this.rebrand_img},[s("div",{staticClass:"sui-summary-image-space",attrs:{"aria-hidden":"true"}}),this._v(" "),this._t("default")],2)}),[],!1,null,null,null);s.a=n.exports},"./src/dashboard.js":function(t,s,e){"use strict";e.r(s);var i=e("vue"),a=e.n(i),n=e("./src/helper/base_hepler.js"),o={mixins:[n.a],name:"security-tweaks",data:function(){return{rules:dashboard.security_tweaks.rules,count:dashboard.security_tweaks.count.issues}},methods:{handleRedirect:function(t){window.location.href=this.adminUrl("admin.php?page=wdf-hardener#"+t.slug)}}},r=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),c=Object(r.a)(o,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box hardener-widget"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-wrench-tool",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Security Tweaks"))+"\n ")]),t._v(" "),t.count>0?e("div",{staticClass:"sui-actions-left"},[e("div",{staticClass:"sui-tag sui-tag-warning",domProps:{textContent:t._s(t.count)}})]):t._e()]),t._v(" "),e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Defender checks for basic security tweaks you can make to enhance your website’s defense against hackers and bots."))+"\n ")]),t._v(" "),0===t.count?e("div",{staticClass:"sui-notice sui-notice-success"},[e("p",[t._v("\n "+t._s(t.__("You’ve actioned all of the recommended security tweaks."))+"\n ")])]):t._e()]),t._v(" "),t.count>0?e("div",{staticClass:"sui-accordion sui-accordion-flushed no-border-bottom"},t._l(t.rules,(function(s){return e("div",{staticClass:"sui-accordion-item sui-warning",on:{click:function(e){return t.handleRedirect(s)}}},[e("div",{staticClass:"sui-accordion-item-header"},[e("div",{staticClass:"sui-accordion-item-title"},[e("i",{staticClass:"sui-icon-warning-alert sui-warning",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(s.title)+"\n "),t._m(0,!0)])])])})),0):t._e(),t._v(" "),e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-hardener")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("View All"))+"\n ")])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-actions-right"},[s("i",{staticClass:"sui-icon-chevron-right",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null).exports,l={mixins:[n.a],name:"file-scanning",data:function(){return{scan:dashboard.scan.scan,state:{on_saving:!1,canceling:!1},nonces:dashboard.scan.nonces,endpoints:dashboard.scan.endpoints,polling_state:null,report:dashboard.scan.report}},methods:{newScan:function(){var t=this;this.httpPostRequest("newScan",{},(function(s){t.$nextTick((function(){t.scan={},t.scan.status=s.data.status,t.scan.percent=s.data.percent,t.scan.status_text=s.data.status_text,t.polling()}))}))},cancelScan:function(){if(!0!==this.state.canceling){this.abortAllRequests();var t=this;clearTimeout(this.polling_state),this.state.canceling=!0,this.httpPostRequest("cancelScan",{},(function(s){t.$nextTick((function(){t.scan=s.data.scan,t.state.canceling=!1,t.$emit("scanCanceled",t.scan)}))}))}},refreshStatus:function(){var t=this;this.httpPostRequest("processScan",{},(function(s){!1===s.success?(t.scan=s.data,t.polling()):(t.scan=s.data.scan,t.$emit("scanCompleted",t.scan,s.data.scan.count.total))}))},polling:function(){!1===this.state.canceling&&(this.polling_state=setTimeout(this.refreshStatus(),500))},resultIndicator:function(t){return t>0?'<span class="sui-tag sui-tag-error">'+t+"</span>":'<i aria-hidden="true" class="sui-icon-check-tick sui-success"></i>'}},computed:{statusText:function(){return this.scan.status_text},reportText:function(){if(!1!==this.report.enabled){var t=void 0;switch(parseInt(this.report.frequency)){case 1:t="daily";break;case 7:t="weekly";break;case 30:t="monthly"}return this.vsprintf(this.__("Automatic scans are running %s"),t)}},percent:function(){return this.scan.percent}},mounted:function(){null===this.scan||"process"!==this.scan.status&&"init"!==this.scan.status||this.polling()}},u=Object(r.a)(l,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-layers",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("File Scanning"))+"\n ")]),t._v(" "),null!==t.scan&&"finish"===t.scan.status?e("div",{staticClass:"sui-actions-left"},[null!==t.scan&&t.scan.count.total>0?e("span",{staticClass:"sui-tag sui-tag-error"},[t._v(t._s(t.scan.count.total))]):t._e()]):t._e()]),t._v(" "),e("div",{staticClass:"sui-box-body",class:{"no-padding-bottom":null!==t.scan&&"finish"===t.scan.status}},[e("p",[t._v("\n "+t._s(t.__("Scan your website for file changes, vulnerabilities and injected code and get and get notified about anything suspicious."))+"\n ")]),t._v(" "),null===t.scan?e("div",[e("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:t.newScan}},[t._v("\n "+t._s(t.__("Run scan"))+"\n ")])],1):"process"===t.scan.status||"init"===t.scan.status?e("div",[e("div",{staticClass:"sui-progress-block"},[e("div",{staticClass:"sui-progress"},[t._m(0),t._v(" "),e("span",{staticClass:"sui-progress-text"},[e("span",{domProps:{textContent:t._s(t.percent+"%")}})]),t._v(" "),e("div",{staticClass:"sui-progress-bar",attrs:{"aria-hidden":"true"}},[e("span",{style:{width:t.percent+"%"}})])]),t._v(" "),e("button",{staticClass:"sui-button-icon sui-tooltip",attrs:{type:"button",disabled:t.state.canceling,"data-tooltip":"Cancel"},on:{click:t.cancelScan}},[e("i",{staticClass:"sui-icon-close",attrs:{"aria-hidden":"true"}})])]),t._v(" "),e("div",{staticClass:"sui-progress-state"},[e("span",{domProps:{textContent:t._s(t.statusText)}})])]):e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v("\n "+t._s(t.__("WordPress Core"))+"\n ")])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.resultIndicator(t.scan.count.core))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v("\n "+t._s(t.__("Plugins & Themes"))+"\n ")])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.resultIndicator(t.scan.count.vuln))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Suspicious Code")))])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.resultIndicator(t.scan.count.content))}})])])])]),t._v(" "),null!==t.scan&&"finish"===t.scan.status?e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-scan")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("View Report"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("p",{staticClass:"sui-p-small",domProps:{textContent:t._s(t.reportText)}})])]):t._e()])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("span",{staticClass:"sui-progress-icon",attrs:{"aria-hidden":"true"}},[s("i",{staticClass:"sui-icon-loader sui-loading"})])}],!1,null,null,null).exports,d={mixins:[n.a],name:"file-scanning",data:function(){return{scan:dashboard.scan.scan,state:{on_saving:!1,canceling:!1},nonces:dashboard.scan.nonces,endpoints:dashboard.scan.endpoints,polling_state:null,report:dashboard.scan.report}},methods:{newScan:function(){var t=this;this.httpPostRequest("newScan",{},(function(s){t.$nextTick((function(){t.scan={},t.scan.status=s.data.status,t.scan.percent=s.data.percent,t.scan.status_text=s.data.status_text,t.polling()}))}))},cancelScan:function(){if(!0!==this.state.canceling){this.abortAllRequests();var t=this;clearTimeout(this.polling_state),this.state.canceling=!0,this.httpPostRequest("cancelScan",{},(function(s){t.$nextTick((function(){t.scan=s.data.scan,t.state.canceling=!1}))}))}},refreshStatus:function(){var t=this;this.httpPostRequest("processScan",{},(function(s){!1===s.success?(t.scan=s.data,t.polling()):t.scan=s.data.scan}))},polling:function(){!1===this.state.canceling&&(this.polling_state=setTimeout(this.refreshStatus(),500))},resultIndicator:function(t){return t>0?'<span class="sui-tag sui-tag-error">'+t+"</span>":'<i aria-hidden="true" class="sui-icon-check-tick sui-success"></i>'}},computed:{statusText:function(){return this.scan.status_text},percent:function(){return this.scan.percent}},mounted:function(){null===this.scan||"process"!==this.scan.status&&"init"!==this.scan.status||this.polling()}},_=Object(r.a)(d,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-layers",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("File Scanning"))+"\n ")]),t._v(" "),null!==t.scan&&"finish"===t.scan.status?e("div",{staticClass:"sui-actions-left"},[t.scan.count.total>0?e("span",{staticClass:"sui-tag sui-tag-error"},[t._v(t._s(t.scan.count.total))]):t._e()]):t._e()]),t._v(" "),e("div",{staticClass:"sui-box-body",class:{"no-padding-bottom":null!==t.scan&&"finish"===t.scan.status}},[e("p",[t._v("\n "+t._s(t.__("Scan your website for file changes, vulnerabilities and injected code and get and get notified about anything suspicious."))+"\n ")]),t._v(" "),null===t.scan?e("div",[e("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:t.newScan}},[t._v("\n "+t._s(t.__("Run scan"))+"\n ")])],1):"process"===t.scan.status||"init"===t.scan.status?e("div",[e("div",{staticClass:"sui-progress-block"},[e("div",{staticClass:"sui-progress"},[t._m(0),t._v(" "),e("span",{staticClass:"sui-progress-text"},[e("span",{domProps:{textContent:t._s(t.percent+"%")}})]),t._v(" "),e("div",{staticClass:"sui-progress-bar",attrs:{"aria-hidden":"true"}},[e("span",{style:{width:t.percent+"%"}})])]),t._v(" "),e("button",{staticClass:"sui-button-icon sui-tooltip",attrs:{type:"button",disabled:t.state.canceling,"data-tooltip":"Cancel"},on:{click:t.cancelScan}},[e("i",{staticClass:"sui-icon-close",attrs:{"aria-hidden":"true"}})])]),t._v(" "),e("div",{staticClass:"sui-progress-state"},[e("span",{domProps:{textContent:t._s(t.statusText)}})])]):e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v("\n "+t._s(t.__("WordPress Core"))+"\n ")])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.resultIndicator(t.scan.count.core))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v("\n "+t._s(t.__("Plugins & Themes"))+"\n ")])]),t._v(" "),e("a",{staticClass:"sui-button sui-button-purple sui-tooltip",attrs:{href:t.campaign_url("defender_dash_filescan_pro_tag"),target:"_blank","data-tooltip":"Try Defender Pro free today"}},[t._v("\n "+t._s(t.__("Pro Feature"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Suspicious Code")))])]),t._v(" "),e("a",{staticClass:"sui-button sui-button-purple sui-tooltip",attrs:{href:t.campaign_url("defender_dash_filescan_pro_tag"),target:"_blank","data-tooltip":"Try Defender Pro free today"}},[t._v("\n "+t._s(t.__("Pro Feature"))+"\n ")])])])])]),t._v(" "),null!==t.scan&&"finish"===t.scan.status?e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-scan")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("View Report"))+"\n ")])])]):t._e()])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("span",{staticClass:"sui-progress-icon",attrs:{"aria-hidden":"true"}},[s("i",{staticClass:"sui-icon-loader sui-loading"})])}],!1,null,null,null).exports,p={mixins:[n.a],name:"blacklist",data:function(){return{state:{on_saving:!1},status:"fetching",nonces:dashboard.blacklist.nonces,endpoints:dashboard.blacklist.endpoints}},methods:{toggle:function(){var t=this;this.httpGetRequest("toggleBlacklistWidget",{},(function(s){switch(parseInt(s.data.status)){case-1:t.status="new";break;case 0:t.status="blacklisted";break;case 1:t.status="good"}}))}},mounted:function(){var t=this;this.httpGetRequest("blacklistWidgetStatus",{},(function(s){switch(parseInt(s.data.status)){case-1:t.status="new";break;case 0:t.status="blacklisted";break;case 1:t.status="good"}}))}},v=Object(r.a)(p,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-target",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Blacklist Monitor"))+"\n ")]),t._v(" "),"blacklisted"===t.status||"good"===t.status?e("div",{staticClass:"sui-actions-right"},[e("label",{staticClass:"sui-toggle"},[e("input",{staticClass:"toggle-checkbox",attrs:{type:"checkbox",checked:"checked"},on:{click:t.toggle}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])]):t._e()]),t._v(" "),e("div",{staticClass:"sui-box-body"},[e("div",[t._v("\n "+t._s(t.__("Automatically check if you’re on Google’s blacklist every 6 hours. If something’swrong, we’ll let you know via email."))+"\n ")]),t._v(" "),"fetching"===t.status?e("div",{staticClass:"sui-notice sui-notice-info"},[e("p",[t._v("\n "+t._s(t.__("Fetching your domain info..."))+"\n ")])]):"new"===t.status?e("form",{staticClass:"margin-top-30",attrs:{method:"post"}},[e("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:function(s){return t.toggle(!0)}}},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1):"blacklisted"===t.status?e("div",{staticClass:"sui-notice sui-notice-error"},[e("p",[t._v("\n "+t._s(t.__("Your domain is currently on Google’s blacklist. Check out the article below to find out how to fix up your domain."))+"\n ")])]):"good"===t.status?e("div",{staticClass:"sui-notice sui-notice-success"},[e("p",[t._v("\n "+t._s(t.__("Your domain is currently clean."))+"\n ")])]):t._e(),t._v(" "),"new"!==t.status?e("div",{staticClass:"sui-center-box no-padding-bottom"},[e("p",{staticClass:"sui-p-small"},[t._v("\n "+t._s(t.__("Want to know more about blacklisting?"))+" "),e("a",{attrs:{href:"https://premium.wpmudev.org/blog/get-off-googles-blacklist/"}},[t._v(t._s(t.__("Read this article.")))])])]):t._e()]),t._v(" "),e("overlay",{directives:[{name:"show",rawName:"v-show",value:!0===t.state.on_saving,expression:"state.on_saving===true"}]})],1)}),[],!1,null,null,null).exports,h={mixins:[n.a],name:"blacklist-free"},f=Object(r.a)(h,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-target",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Blacklist Monitor"))+"\n ")]),t._v(" "),e("div",{staticClass:"sui-actions-left"},[e("span",{staticClass:"sui-tag sui-tag-pro"},[t._v(t._s(t.__("Pro")))])])]),t._v(" "),e("div",{staticClass:"sui-box-body sui-upsell-items"},[e("div",{staticClass:"sui-box-settings-row no-margin-bottom no-padding-bottom"},[e("p",[t._v("\n "+t._s(t.__("Automatically check if you’re on Google’s blacklist every 6 hours. If something’s wrong, we’ll let you know via email."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-settings-row sui-upsell-row"},[e("img",{staticClass:"sui-image sui-upsell-image",attrs:{src:t.assetUrl("assets/img/dashboard-blacklist.svg")}}),t._v(" "),e("div",{staticClass:"sui-upsell-notice"},[e("p",[t._v("\n "+t._s(t.__("Defender will warn you if your site has been flagged as unsafe. Get blacklist Monitor as part of a WPMU DEV membership."))),e("br"),t._v(" "),e("a",{staticClass:"premium-button sui-button sui-button-purple",attrs:{target:"_blank",href:t.campaign_url("defender_dash_blacklist_upgrade_button")}},[t._v(t._s(t.__("Try Pro Free Today")))]),t._v(".\n ")])])])])])}),[],!1,null,null,null).exports,m={mixins:[n.a],name:"ip-lockout",data:function(){return{state:{on_saving:!1},nonces:dashboard.ip_lockout.nonces,endpoints:dashboard.ip_lockout.endpoints,summary:dashboard.ip_lockout.summary,notification:dashboard.ip_lockout.notification,enabled:dashboard.ip_lockout.enabled}},methods:{updateSettings:function(){var t=this;this.httpPostRequest("updateSettings",{data:JSON.stringify({login_protection:!0,detect_404:!0})},(function(){t.enabled=!0}))}},computed:{notificationText:function(){return this.notification?this.__("Lockout notifications are enabled"):this.__("Lockout notifications are disabled")}}},g=Object(r.a)(m,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-lock",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t"+t._s(t.__("IP Lockouts"))+"\n\t\t")])]),t._v(" "),e("div",{staticClass:"sui-box-body",class:{"no-padding-bottom":!0===t.enabled}},[e("p",[t._v("\n\t\t\t"+t._s(t.__("Protect to your login area and have Defender automatically lockout any suspicious behaviour."))+"\n\t\t")]),t._v(" "),!1===t.enabled?e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.updateSettings(s)}}},[e("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[t._v("\n\t\t\t\t"+t._s(t.__("Activate"))+"\n\t\t\t")])],1):e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Last lockout")))])]),t._v(" "),e("span",{domProps:{textContent:t._s(t.summary.lastLockout)}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Login lockouts this week")))])]),t._v(" "),e("span",{domProps:{textContent:t._s(t.summary.ip.week)}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("404 lockouts this week")))])]),t._v(" "),e("span",{domProps:{textContent:t._s(t.summary.nf.week)}})])])])]),t._v(" "),!0===t.enabled?e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-ip-lockout&view=logs")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t"+t._s(t.__("View logs"))+"\n\t\t\t")])]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("p",{staticClass:"sui-p-small",domProps:{textContent:t._s(t.notificationText)}})])]):t._e()])}),[],!1,null,null,null).exports,b={mixins:[n.a],name:"audit",data:function(){return{state:{on_saving:!1},nonces:dashboard.audit.nonces,endpoints:dashboard.audit.endpoints,enabled:dashboard.audit.enabled,report:dashboard.audit.report,summary:{monthCount:"-",dayCount:"-",weekCount:"n/a",lastEvent:"-"}}},methods:{updateSettings:function(){var t=this;this.httpPostRequest("updateSettings",{data:JSON.stringify({enabled:!0})},(function(){t.enabled=!0,t.$nextTick((function(){t.loadData()}))}))},loadData:function(){var t=this;this.httpGetRequest("summary",{},(function(s){t.summary=s.data}))}},computed:{reportText:function(){return this.report?this.__("Audit log reports are enabled"):this.__("Audit log reports are disabled")}},mounted:function(){!0===this.enabled&&this.loadData()}},y=Object(r.a)(b,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-body",class:{"no-padding-bottom":t.enabled}},[e("p",[t._v("\n "+t._s(t.__("Track and log events when changes are made to your website, giving you full visibility over what's going on behind the scenes."))+"\n ")]),t._v(" "),!1===t.enabled?e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.updateSettings(s)}}},[e("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1):e("div",[e("div",{staticClass:"sui-notice"},[e("p",[t._v("\n "+t._s(t.summary.weekCount)+" "+t._s(t.__(" events logged in the past 7 days."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Last event logged")))])]),t._v(" "),e("span",[t._v("\n "+t._s(t.summary.lastEvent)+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Events logged this month")))])]),t._v(" "),e("span",[t._v(t._s(t.summary.monthCount))])])])])])]),t._v(" "),!0===t.enabled?e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-logging")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("View Logs"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("p",{staticClass:"sui-p-small",domProps:{textContent:t._s(t.reportText)}})])]):t._e(),t._v(" "),t.state.on_saving?e("overlay"):t._e()],1)}),[],!1,null,null,null).exports,C={mixins:[n.a],name:"audit-free"},k=Object(r.a)(C,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),e("div",{staticClass:"sui-actions-left"},[e("span",{staticClass:"sui-tag sui-tag-pro"},[t._v(t._s(t.__("Pro")))])])]),t._v(" "),e("div",{staticClass:"sui-box-body sui-upsell-items"},[e("div",{staticClass:"sui-box-settings-row no-margin-bottom no-padding-bottom"},[e("p",[t._v("\n "+t._s(t.__("Track and log events when changes are made to your website giving you full visibility of what's going on behind the scenes."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-settings-row sui-upsell-row"},[e("img",{staticClass:"sui-image sui-upsell-image",attrs:{src:t.assetUrl("assets/img/audit-presale.svg")}}),t._v(" "),e("div",{staticClass:"sui-upsell-notice"},[e("p",[t._v("\n "+t._s(t.__("Get an automatic report about the changes made on your website with Audit Logging. Get Audit Logging as part of a WPMU DEV membership."))),e("br"),t._v(" "),e("a",{staticClass:"premium-button sui-button sui-button-purple",attrs:{target:"_blank",href:t.campaign_url("defender_dash_auditlogging_upsell_link")}},[t._v(t._s(t.__("Try Pro Free Today")))])])])])])])}),[],!1,null,null,null).exports,w={mixins:[n.a],name:"report",data:function(){return{scan:dashboard.report.scan,ip_lockout:dashboard.report.ip_lockout,audit:dashboard.report.audit}},methods:{statusText:function(t){if(-1===t)return'<span class="sui-tag sui-tag-disabled">'+this.__("Inactive")+"</span>";var s=void 0;switch(parseInt(t)){case 1:s=this.__("Daily");break;case 7:s=this.__("Weekly");break;case 30:s=this.__("Monthly")}return'<span class="sui-tag sui-tag-blue">'+s+"</span>"}}},x=Object(r.a)(w,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-graph-line",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Reporting"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-body no-padding-bottom"},[e("p",[t._v(t._s(t.__("Get tailored security reports delivered to your inbox so you don't have to worry about checking in.")))]),t._v(" "),e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("File Scanning")))])])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.statusText(t.scan))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("IP Lockouts")))])])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.statusText(t.ip_lockout))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("Audit Logging")))])])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.statusText(t.audit))}})])])])]),t._v(" "),e("div",{staticClass:"sui-box-footer"},[e("p",{staticClass:"sui-p-small text-center"},[t._v("\n "+t._s(t.__("You can also"))+" "),e("a",{attrs:{target:"_blank",href:"https://premium.wpmudev.org/reports/"}},[t._v(t._s(t.__("create PDF reports")))]),t._v(" "+t._s(t.__("to send to your clients via The Hub."))+"\n ")])])])}),[],!1,null,null,null).exports,S={mixins:[n.a],name:"report",data:function(){return{scan:dashboard.report.scan,ip_lockout:dashboard.report.ip_lockout,audit:dashboard.report.audit}},methods:{statusText:function(t){if(-1===t)return'<span class="sui-tag sui-tag-disabled">'+this.__("Inactive")+"</span>";var s=void 0;switch(parseInt(t)){case 1:s=this.__("Daily");break;case 7:s=this.__("Weekly");break;case 30:s=this.__("Monthly")}return'<span class="sui-tag sui-tag-blue">'+s+"</span>"}}},A=Object(r.a)(S,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-graph-line",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Reporting"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-body sui-upsell-items"},[e("div",{staticClass:"sui-box-settings-row no-padding-bottom"},[e("p",[t._v(t._s(t.__("Get tailored security reports delivered to your inbox so you don't have to worry about checking in.")))])]),t._v(" "),e("div",{staticClass:"sui-field-list no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("File Scanning")))])])]),t._v(" "),e("span",{staticClass:"sui-tag sui-tag-disabled"},[t._v(t._s(t.__("Inactive")))])]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("IP Lockouts")))])])]),t._v(" "),e("span",{staticClass:"sui-tag sui-tag-disabled"},[t._v(t._s(t.__("Inactive")))])]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("Audit Logging")))])])]),t._v(" "),e("span",{staticClass:"sui-tag sui-tag-disabled"},[t._v(t._s(t.__("Inactive")))])])])]),t._v(" "),e("div",{staticClass:"sui-box-settings-row sui-upsell-row"},[e("img",{staticClass:"sui-image sui-upsell-image",attrs:{src:t.assetUrl("/assets/img/dev-man-pre.svg")}}),t._v(" "),e("div",{staticClass:"sui-upsell-notice"},[e("p",[t._v("\n "+t._s(t.__("Schedule automatic reports and recieve directly to your inbox. Get reporting as part of a WPMU DEV membership."))),e("br"),t._v(" "),e("a",{staticClass:"premium-button sui-button sui-button-purple",attrs:{target:"_blank",href:t.campaign_url("defender_dash_reports_upsell_link")}},[t._v(t._s(t.__("Try Pro Free Today")))])])])])])])}),[],!1,null,null,null).exports,j={mixins:[n.a],name:"advanced-tools",data:function(){return{state:{on_saving:!1},nonces:dashboard.advanced_tools.nonces,endpoints:dashboard.advanced_tools.endpoints,two_factor:dashboard.advanced_tools.two_factors,mask_login:dashboard.advanced_tools.mask_login}},methods:{updateSettings:function(t){var s=this;this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:{enabled:!0},module:t})},(function(){"auth"===t?s.two_factor.enabled=!0:s.mask_login.enabled=!0}))}}},P=Object(r.a)(j,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box advanced-tools"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-wand-magic",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Advanced Tools"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-body no-padding-bottom"},[e("p",[t._v("\n "+t._s(t.__("Enable advanced tools for enhanced protection against even the most aggressive of hackers and bots."))+"\n ")])]),t._v(" "),e("hr"),t._v(" "),e("table",{staticClass:"sui-table sui-table-flushed margin-top-30"},[e("tbody",[e("tr",[e("td",[e("small",[e("strong",[t._v(t._s(t.__("Two-Factor Authentication")))])]),t._v(" "),e("br"),t._v(" "),e("small",[t._v("\n "+t._s(t.__("Add an extra layer of security to your WordPress account to ensure that you're the only person who can log in, even if someone else knows your password."))+"\n ")]),t._v(" "),!1===t.two_factor.enabled?e("form",{staticClass:"margin-top-10 margin-bottom-10",attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.updateSettings("auth")}}},[e("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[t._v("\n "+t._s(t.__("Active"))+"\n ")])],1):!1===t.two_factor.useable?e("div",{staticClass:"sui-notice sui-notice-warning margin-bottom-30 margin-top-10"},[e("p",[t._v("\n "+t._s(t.__("Two-factor authentication is currently inactive. Configure and save your settings to finish setup."))+"\n "),e("br"),t._v(" "),e("a",{staticClass:"sui-button margin-top-10",attrs:{href:t.adminUrl("admin.php?page=wdf-advanced-tools")}},[t._v("\n "+t._s(t.__("Finish Setup"))+"\n ")])])]):!0===t.two_factor.useable?e("div",{staticClass:"sui-notice sui-notice-success margin-top-10 margin-bottom-30"},[e("p",[t._v("\n "+t._s(t.__("Two-factor authentication is now active. User roles with this feature enabled must visit their Profile page to complete setup and sync their account with the Authenticator app."))+"\n ")])]):t._e(),t._v(" "),!0===t.two_factor.useable?e("small",[t._v(t._s(t.__("Note: Each user on your website must individually enable two-factor authentication via their user profile in order to enable and use this security feature.")))]):t._e()])]),t._v(" "),e("tr",[e("td",[e("small",{staticClass:"margin-top-30"},[e("strong",[t._v(t._s(t.__("Mask Login Area")))])]),t._v(" "),e("br"),t._v(" "),e("small",[t._v("\n "+t._s(t.__("Change the location of WordPress's default login area."))+"\n ")]),t._v(" "),!1===t.mask_login.enabled?e("form",{staticClass:"margin-top-10 margin-bottom-30",attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.updateSettings("mask-login")}}},[e("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[t._v("\n "+t._s(t.__("Active"))+"\n ")])],1):!1===t.mask_login.useable?e("div",{staticClass:"sui-notice sui-notice-warning margin-bottom-30 margin-top-10"},[e("p",[t._v("\n "+t._s(t.__("Masking is currently inactive. Choose your URL and save your settings to finish setup."))+"\n "),e("br"),t._v(" "),e("a",{staticClass:"sui-button margin-top-10",attrs:{href:t.adminUrl("admin.php?page=wdf-advanced-tools&view=mask-login")}},[t._v("\n "+t._s(t.__("Finish Setup"))+"\n ")])])]):!0===t.mask_login.useable?e("div",{staticClass:"sui-notice sui-notice-success margin-top-10 margin-bottom-30"},[e("p",[t._v("\n "+t._s(t.__("Masking is currently active at "))+" "),e("a",{attrs:{target:"_blank",href:t.mask_login.login_url}},[t._v(t._s(t.mask_login.login_url))])])]):t._e()])])])])])}),[],!1,null,null,null).exports,T={mixins:[n.a],name:"quick-setup",data:function(){return{state:{on_saving:!1},model:{activate_scan:!0,activate_audit:!0,activate_lockout:!0,activate_blacklist:!0},status:"normal",nonces:dashboard.quick_setup.nonces,endpoints:dashboard.quick_setup.endpoints}},methods:{activate:function(){this.httpPostRequest("activate",this.model,(function(t){window.location.reload()}))},skip:function(){this.httpPostRequest("skip",this.model,(function(t){SUI.dialogs.activator.hide()}))}},mounted:function(){document.onreadystatechange=function(){"complete"===document.readyState&&void 0!==SUI.dialogs.activator&&SUI.dialogs.activator.show()}}},I=Object(r.a)(T,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-dialog",attrs:{"aria-hidden":"true",tabindex:"-1",id:"activator"}},[e("div",{staticClass:"sui-dialog-overlay",attrs:{"data-a11y-dialog-hide":""}}),t._v(" "),e("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"Quick setup","aria-describedby":"",role:"dialog"}},["normal"===t.status?e("div",{staticClass:"sui-box",attrs:{role:"document"}},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Quick Setup"))+"\n ")]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.skip(s)}}},[e("submit-button",{staticClass:"sui-button-ghost",attrs:{type:"submit",state:t.state}},[t._v("\n "+t._s(t.__("Skip"))+"\n ")])],1)])]),t._v(" "),e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.activate(s)}}},[e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Welcome to Defender, the hottest security plugin for WordPress! Let’s quickly set up the basics for you, then you can fine tweak each setting as you go – our recommendations are on by default."))+"\n ")]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Automatic File Scans & Reporting"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Scan your website for file changes, vulnerabilities and injected code and get notified about anything suspicious."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_scan,expression:"model.activate_scan"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",name:"activator[]",checked:"",id:"active_scan",value:"activate_scan"},domProps:{checked:Array.isArray(t.model.activate_scan)?t._i(t.model.activate_scan,"activate_scan")>-1:t.model.activate_scan},on:{change:function(s){var e=t.model.activate_scan,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_scan",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_scan",e.concat([n])):o>-1&&t.$set(t.model,"activate_scan",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_scan",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Track and log events when changes are made to your website giving you full visibility of what’s going on behind the scenes."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_audit,expression:"model.activate_audit"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",name:"activator[]",checked:"",id:"active_audit",value:"activate_audit"},domProps:{checked:Array.isArray(t.model.activate_audit)?t._i(t.model.activate_audit,"activate_audit")>-1:t.model.activate_audit},on:{change:function(s){var e=t.model.activate_audit,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_audit",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_audit",e.concat([n])):o>-1&&t.$set(t.model,"activate_audit",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_audit",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("IP Lockouts"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Protect your login area and have Defender automatically lockout any suspicious behaviour."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_lockout,expression:"model.activate_lockout"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",checked:"",name:"activator[]",id:"activate_lockout",value:"activate_lockout"},domProps:{checked:Array.isArray(t.model.activate_lockout)?t._i(t.model.activate_lockout,"activate_lockout")>-1:t.model.activate_lockout},on:{change:function(s){var e=t.model.activate_lockout,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_lockout",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_lockout",e.concat([n])):o>-1&&t.$set(t.model,"activate_lockout",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_lockout",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Blacklist Monitor"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Automatically check if you’re on Google’s blacklist every 6 hours. If something’s wrong, we’ll let you know via email."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_blacklist,expression:"model.activate_blacklist"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",checked:"",name:"activator[]",id:"activate_blacklist",value:"activate_blacklist"},domProps:{checked:Array.isArray(t.model.activate_blacklist)?t._i(t.model.activate_blacklist,"activate_blacklist")>-1:t.model.activate_blacklist},on:{change:function(s){var e=t.model.activate_blacklist,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_blacklist",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_blacklist",e.concat([n])):o>-1&&t.$set(t.model,"activate_blacklist",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_blacklist",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])])]),t._v(" "),e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-9"},[e("small",[t._v("\n "+t._s(t.__("Note: These services will be configured with our recommended settings. You can change these at any time."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-3"},[e("submit-button",{staticClass:"sui-button sui-button-blue",attrs:{type:"submit",state:t.state}},[t._v("\n "+t._s(t.__("Get Started"))+"\n ")])],1)])])]),t._v(" "),t.maybeHideBranding?e("img",{staticClass:"sui-image sui-image-center",attrs:{src:t.assetUrl("/assets/img/defender-activator.svg")}}):t._e()]):e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Just a moment while Defender activates those services for you.."))+"\n ")]),t._v(" "),t._m(0),t._v(" "),t._m(1)])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-progress-block"},[s("div",{staticClass:"sui-progress"},[s("div",{staticClass:"sui-progress-text scan-progress-text sui-icon-loader sui-loading"},[s("span",[this._v("0%")])]),this._v(" "),s("div",{staticClass:"sui-progress-bar scan-progress-bar"},[s("span",{staticStyle:{width:"0%"}})])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-progress-state"},[s("span",{staticClass:"status-text"})])}],!1,null,null,null).exports,E={mixins:[n.a],name:"quick-setup",data:function(){return{state:{on_saving:!1},model:{activate_scan:!0,activate_lockout:!0},status:"normal",nonces:dashboard.quick_setup.nonces,endpoints:dashboard.quick_setup.endpoints}},methods:{activate:function(){this.httpPostRequest("activate",this.model,(function(t){window.location.reload()}))},skip:function(){this.httpPostRequest("skip",this.model,(function(t){SUI.dialogs.activator.hide()}))}},mounted:function(){document.onreadystatechange=function(){"complete"===document.readyState&&void 0!==SUI.dialogs.activator&&SUI.dialogs.activator.show()}}},$=Object(r.a)(E,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-dialog",attrs:{"aria-hidden":"true",tabindex:"-1",id:"activator"}},[e("div",{staticClass:"sui-dialog-overlay",attrs:{"data-a11y-dialog-hide":""}}),t._v(" "),e("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"Quick setup","aria-describedby":"",role:"dialog"}},["normal"===t.status?e("div",{staticClass:"sui-box",attrs:{role:"document"}},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Quick Setup"))+"\n ")]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.skip(s)}}},[e("submit-button",{staticClass:"sui-button-ghost",attrs:{type:"submit",state:t.state}},[t._v("\n "+t._s(t.__("Skip"))+"\n ")])],1)])]),t._v(" "),e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.activate(s)}}},[e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Welcome to Defender, the hottest security plugin for WordPress! Let’s quickly set up the basics for you, then you can fine tweak each setting as you go – our recommendations are on by default."))+"\n ")]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("File Scanning"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Scan your website for file changes, vulnerabilities and injected code and get notified about anything suspicious."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_scan,expression:"model.activate_scan"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",name:"activator[]",checked:"",id:"active_scan",value:"activate_scan"},domProps:{checked:Array.isArray(t.model.activate_scan)?t._i(t.model.activate_scan,"activate_scan")>-1:t.model.activate_scan},on:{change:function(s){var e=t.model.activate_scan,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_scan",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_scan",e.concat([n])):o>-1&&t.$set(t.model,"activate_scan",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_scan",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("IP Lockouts"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Protect your login area and have Defender automatically lockout any suspicious behaviour."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_lockout,expression:"model.activate_lockout"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",checked:"",name:"activator[]",id:"activate_lockout",value:"activate_lockout"},domProps:{checked:Array.isArray(t.model.activate_lockout)?t._i(t.model.activate_lockout,"activate_lockout")>-1:t.model.activate_lockout},on:{change:function(s){var e=t.model.activate_lockout,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_lockout",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_lockout",e.concat([n])):o>-1&&t.$set(t.model,"activate_lockout",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_lockout",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])])]),t._v(" "),e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-9"},[e("small",[t._v("\n "+t._s(t.__("Note: These services will be configured with our recommended settings. You can change these at any time."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-3"},[e("submit-button",{staticClass:"sui-button sui-button-blue",attrs:{type:"submit",state:t.state}},[t._v("\n "+t._s(t.__("Get Started"))+"\n ")])],1)])])]),t._v(" "),t.maybeHideBranding?e("img",{staticClass:"sui-image sui-image-center",attrs:{src:t.assetUrl("/assets/img/defender-activator.svg")}}):t._e()]):e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Just a moment while Defender activates those services for you.."))+"\n ")]),t._v(" "),t._m(0),t._v(" "),t._m(1)])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-progress-block"},[s("div",{staticClass:"sui-progress"},[s("div",{staticClass:"sui-progress-text scan-progress-text sui-icon-loader sui-loading"},[s("span",[this._v("0%")])]),this._v(" "),s("div",{staticClass:"sui-progress-bar scan-progress-bar"},[s("span",{staticStyle:{width:"0%"}})])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-progress-state"},[s("span",{staticClass:"status-text"})])}],!1,null,null,null).exports,O={mixins:[n.a],name:"cross-sale"},D=Object(r.a)(O,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("section",[e("div",{staticClass:"sui-row",attrs:{id:"sui-cross-sell-footer"}},[t._m(0),t._v(" "),e("h3",[t._v(t._s(t.__("Check out our other free wordpress.org plugins!")))])]),t._v(" "),e("div",{staticClass:"sui-row sui-cross-sell-modules"},[e("div",{staticClass:"sui-col-md-4"},[t._m(1),t._v(" "),e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("h3",[t._v(t._s(t.__("Smush Image Compression and Optimization")))]),t._v(" "),e("p",[t._v(t._s(t.__("Resize, optimize and compress all of your images with the incredibly powerful and award-winning, 100% free WordPress image optimizer.")))]),t._v(" "),e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:"https://wordpress.org/plugins/wp-smushit/",target:"_blank"}},[t._v("\n "+t._s(t.__("View features"))+" "),e("i",{staticClass:"sui-icon-arrow-right",attrs:{"aria-hidden":"true"}})])])])]),t._v(" "),e("div",{staticClass:"sui-col-md-4"},[t._m(2),t._v(" "),e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("h3",[t._v(t._s(t.__("Hummingbird Page Speed Optimization")))]),t._v(" "),e("p",[t._v(t._s(t.__("Performance Tests, File Optimization & Compression, Page, Browser & Gravatar Caching, GZIP Compression, CloudFlare Integration & more.")))]),t._v(" "),e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:"https://wordpress.org/plugins/hummingbird-performance/",target:"_blank"}},[t._v("\n "+t._s(t.__("View features"))+" "),e("i",{staticClass:"sui-icon-arrow-right",attrs:{"aria-hidden":"true"}})])])])]),t._v(" "),e("div",{staticClass:"sui-col-md-4"},[t._m(3),t._v(" "),e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("h3",[t._v(t._s(t.__("SmartCrawl Search Engine Optimization")))]),t._v(" "),e("p",[t._v(t._s(t.__("Customize Titles & Meta Data, OpenGraph, Twitter & Pinterest Support, Auto-Keyword Linking, SEO & Readability Analysis, Sitemaps, URL Crawler & more.")))]),t._v(" "),e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:"https://wordpress.org/plugins/smartcrawl-seo/",target:"_blank"}},[t._v("\n "+t._s(t.__("View features"))+" "),e("i",{staticClass:"sui-icon-arrow-right",attrs:{"aria-hidden":"true"}})])])])])]),t._v(" "),e("div",{staticClass:"sui-cross-sell-bottom"},[e("h3",[t._v(t._s(t.__("WPMU DEV - Your All-in-One WordPress Platform")))]),t._v(" "),e("p",[t._v(t._s(t.__("Pretty much everything you need for developing and managing WordPress based websites, and then some")))]),t._v(" "),e("a",{staticClass:"sui-button sui-button-green",attrs:{href:"https://premium.wpmudev.org/?utm_source=defender&utm_medium=plugin&utm_campaign=defender_dash_footer_upsell_notice",target:"_blank",role:"button"}},[t._v(t._s(t.__("Learn more"))+"\n ")]),t._v(" "),e("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/dev-team.png"),srcset:t.assetUrl("assets/img/dev-team@2x.png 2x"),"aria-hidden":"true"}})])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",[s("span",{staticClass:"sui-icon-plugin-2"})])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-cross-1",attrs:{"aria-hidden":"true"}},[s("span")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-cross-2",attrs:{"aria-hidden":"true"}},[s("span")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-cross-3",attrs:{"aria-hidden":"true"}},[s("span")])}],!1,null,null,null).exports,R={mixins:[n.a],name:"dashboard",data:function(){return{quick_setup:parseInt(dashboard.quick_setup.show),is_free:parseInt(defender.is_free),security_tweaks:{count:{issues:dashboard.security_tweaks.count.issues,resolved:dashboard.security_tweaks.count.resolved,total:dashboard.security_tweaks.count.total}},scan:{count:0,scan:dashboard.scan.scan},nonces:dashboard.scan.nonces,endpoints:dashboard.scan.endpoints,state:{on_saving:!1}}},components:{"security-tweaks":c,"file-scanning":u,"file-scanning-free":_,blacklist:v,"blacklist-free":f,"ip-lockout":g,audit:y,"audit-free":k,report:x,"report-free":A,"advanced-tools":P,"quick-setup":I,"quick-setup-free":$,"cross-sale":D},methods:{countScanIssues:function(){var t=dashboard.scan.scan;return null===t||"init"===t.status||"progress"===t.status?0:t.count.total},newScan:function(){var t=this;this.httpPostRequest("newScan",{},(function(s){t.$nextTick((function(){var e=t.$refs["file-scanning"];e.scan={},t.scan.scan={},t.scan.scan.status=s.data.status,e.scan.status=s.data.status,e.scan.percent=s.data.percent,e.scan.status_text=s.data.status_text,e.polling()}))}))},scanCanceled:function(t){this.scan.scan=t},scanCompleted:function(t,s){this.scan.count=s,this.scan.scan=t}},computed:{tooltips:function(){var t=this.__("You don't have any outstanding security issues, nice work!");return 1===this.security_tweaks.count.issues&&0===this.scan.count?t=this.__("You have one security tweak left to do. We recommend you action it, or ignore it if it's irrelevant."):0===this.security_tweaks.count.issues&&1===this.scan.count?t=this.__("We've detected a potential security risk in your file system. We recommend you take a look and action a fix, or ignore the file if it's harmless."):1===this.security_tweaks.count.issues&&1===this.scan.count?t=this.__("You have one security tweak left to do, and one potential security risk in your file system. We recommend you take a look and action fixes, or ignore the issues if they are harmless."):1===this.security_tweaks.count.issues&&this.scan.count>1?t=this.vsprintf(this.__("You have one security tweak left to do, and %s potential security risks in your file system. We recommend you take a look and action fixes, or ignore the issues if they are harmless"),this.scan.count):this.security_tweaks.count.issues>1&&1===this.scan.count?t=this.vsprintf(this.__("You have %s security tweaks left to do, and one potential security risk in your file system. We recommend you take a look and action fixes, or ignore the issues if they are harmless."),this.security_tweaks.count.issues):this.security_tweaks.count.issues>1&&this.scan.count>1?t=this.vsprintf(this.__("You have %s security tweaks left to do, and %s potential security risks in your file system. We recommend you take a look and action fixes, or ignore the issues if they are harmless."),this.security_tweaks.count.issues,this.scan.count):this.security_tweaks.count.issues>1&&0===this.scan.count?t=this.vsprintf(this.__("You have %d security tweaks left to do. We recommend you action it, or ignore it if it's irrelevant."),this.security_tweaks.count.issues):0===this.security_tweaks.count.issues&&this.scan.count>1&&(t=this.vsprintf(this.__("We've detected %d potential security risks in your file system. We recommend you take a look and action a fix, or ignore the file if it's harmless."),this.scan.count)),t},securityTweaksIndicator:function(){return this.security_tweaks.count.resolved+"/"+this.security_tweaks.count.total},countTotalIssues:function(){return this.scan.count+this.security_tweaks.count.issues}},mounted:function(){var t=this;this.$nextTick((function(){t.scan.count=t.countScanIssues()}))}},q=Object(r.a)(R,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-wrap",class:t.maybeHighContrast()},[e("div",{staticClass:"defender-dashboard"},[e("div",{staticClass:"sui-header"},[e("h1",{staticClass:"sui-header-title"},[t._v(t._s(t.__("Dashboard")))]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender"}})],1)]),t._v(" "),e("summary-box",[e("div",{staticClass:"sui-summary-segment"},[e("div",{staticClass:"sui-summary-details"},[e("span",{staticClass:"sui-summary-large",domProps:{textContent:t._s(t.countTotalIssues)}}),t._v(" "),e("span",{staticClass:"sui-tooltip sui-tooltip-top-left sui-tooltip-constrained",attrs:{"data-tooltip":t.tooltips}},[0===this.security_tweaks.count.issues&&0===this.scan.count?e("i",{staticClass:"sui-icon-check-tick sui-success",attrs:{"aria-hidden":"true"}}):e("i",{staticClass:"sui-icon-info sui-warning",attrs:{"aria-hidden":"true"}})]),t._v(" "),e("span",{staticClass:"sui-summary-sub"},[t._v(t._s(t.__("Security Issue")))])])]),t._v(" "),e("div",{staticClass:"sui-summary-segment"},[e("ul",{staticClass:"sui-list"},[e("li",[e("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("Security Tweaks Actioned")))]),t._v(" "),e("span",{staticClass:"sui-list-detail",domProps:{textContent:t._s(t.securityTweaksIndicator)}})]),t._v(" "),e("li",[e("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("File Scan Issues")))]),t._v(" "),e("span",{staticClass:"sui-list-detail"},[null===t.scan.scan?e("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:t.newScan}},[t._v("\n "+t._s(t.__("New Scan"))+"\n ")]):"init"===t.scan.scan.status||"progress"===t.scan.scan.status?e("i",{staticClass:"sui-icon-loader sui-loading"}):0===t.scan.count?e("i",{staticClass:"sui-icon-check-tick sui-success"}):e("span",{staticClass:"sui-tag sui-tag-error"},[t._v(t._s(t.scan.count))])],1)]),t._v(" "),e("li",[e("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("Last Lockout")))]),t._v(" "),e("span",{staticClass:"sui-list-detail"},[t._v(t._s(t.__("Never")))])])])])]),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-6"},[e("security-tweaks"),t._v(" "),0===t.is_free?e("blacklist"):1===t.is_free?e("blacklist-free"):t._e(),t._v(" "),e("advanced-tools")],1),t._v(" "),e("div",{staticClass:"sui-col-md-6"},[0===t.is_free?e("file-scanning",{ref:"file-scanning",on:{scanCanceled:t.scanCanceled,scanCompleted:t.scanCompleted}}):1===t.is_free?e("file-scanning-free",{ref:"file-scanning",attrs:{scanCompleted:"scanCompleted"},on:{scanCanceled:t.scanCanceled}}):t._e(),t._v(" "),e("ip-lockout"),t._v(" "),0===t.is_free?e("audit"):1===t.is_free?e("audit-free"):t._e(),t._v(" "),0===t.is_free?e("report"):1===t.is_free?e("report-free"):t._e()],1)]),t._v(" "),1===t.is_free?e("cross-sale"):t._e(),t._v(" "),e("app-footer")],1),t._v(" "),1===t.quick_setup&&0===t.is_free?e("quick-setup"):1===t.quick_setup&&1===t.is_free?e("quick-setup-free"):t._e()],1)}),[],!1,null,null,null).exports,L=e("./src/component/overlay.vue"),U=e("./src/component/submit-button.vue"),H=e("./src/component/footer.vue"),W=e("./src/component/doc-link.vue"),M=e("./src/component/summary-box.vue");a.a.component("overlay",L.a),a.a.component("submit-button",U.a),a.a.component("app-footer",H.a),a.a.component("doc-link",W.a),a.a.component("summary-box",M.a);new a.a({el:"#defender",components:{dashboard:q},render:function(t){return t(q)}})},"./src/helper/base_hepler.js":function(t,s,e){"use strict";var i=e("./node_modules/xss/lib/index.js"),a=e.n(i),n=function(t,s){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,s){var e=[],i=!0,a=!1,n=void 0;try{for(var o,r=t[Symbol.iterator]();!(i=(o=r.next()).done)&&(e.push(o.value),!s||e.length!==s);i=!0);}catch(t){a=!0,n=t}finally{try{!i&&r.return&&r.return()}finally{if(a)throw n}}return e}(t,s);throw new TypeError("Invalid attempt to destructure non-iterable instance")},o=wp.i18n,r=o.sprintf,c=o.__,l=[];s.a={methods:{__:function(t){return a()(c(t,"wpdef"))},xss:function(t){return a()(t)},vsprintf:function(t){return r.apply(null,arguments)},siteUrl:function(t){return void 0!==t?defender.site_url+t:defender.site_url},adminUrl:function(t){return void 0!==t?defender.admin_url+t:defender.admin_url},assetUrl:function(t){return defender.defender_url+t},maybeHighContrast:function(){return{"sui-color-accessible":!0===defender.misc.high_contrast}},maybeHideBranding:function(){return defender.whitelabel.hide_branding},campaign_url:function(t){return"https://premium.wpmudev.org/project/wp-defender/?utm_source=defender&utm_medium=plugin&utm_campaign="+t},httpRequest:function(t,s,e,i,a){var n=this;void 0===a&&(this.state.on_saving=!0);var o=ajaxurl+"?action="+this.endpoints[s]+"&_wpnonce="+this.nonces[s],r=jQuery.ajax({url:o,method:t,data:e,success:function(t){var s=t.data;n.state.on_saving=!1,void 0!==s&&void 0!==s.message&&(t.success?Defender.showNotification("success",s.message):Defender.showNotification("error",s.message)),void 0!==i&&i(t)}});l.push(r)},httpGetRequest:function(t,s,e,i){this.httpRequest("get",t,s,e,i)},httpPostRequest:function(t,s,e,i){this.httpRequest("post",t,s,e,i)},abortAllRequests:function(){for(var t=0;t<l.length;t++)l[t].abort()},getQueryStringParams:function(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((function(t,s){var e=s.split("="),i=n(e,2),a=i[0],o=i[1];return t[a]=o?decodeURIComponent(o.replace(/\+/g," ")):"",t}),{}):{}},rebindSUI:function(){jQuery("select:not([multiple])").each((function(){SUI.suiSelect(this)})),jQuery(".sui-accordion").each((function(){SUI.suiAccordion(this)}));var t=jQuery(".sui-wrap");SUI.dialogs={},jQuery(".sui-dialog").each((function(){SUI.dialogs[this.id]=new A11yDialog(this,t)}))}}}},vue:function(t,s){t.exports=Vue}});
|
1 |
+
!function(t){var s=window.webpackHotUpdate;window.webpackHotUpdate=function(t,e){!function(t,s){if(!y[t]||!b[t])return;for(var e in b[t]=!1,s)Object.prototype.hasOwnProperty.call(s,e)&&(v[e]=s[e]);0==--f&&0===m&&x()}(t,e),s&&s(t,e)};var e,i=!0,a="d0b3332498cfafc2e0f1",n={},o=[],r=[];function c(t){var s=A[t];if(!s)return j;var i=function(i){return s.hot.active?(A[i]?-1===A[i].parents.indexOf(t)&&A[i].parents.push(t):(o=[t],e=i),-1===s.children.indexOf(i)&&s.children.push(i)):(console.warn("[HMR] unexpected require("+i+") from disposed module "+t),o=[]),j(i)},a=function(t){return{configurable:!0,enumerable:!0,get:function(){return j[t]},set:function(s){j[t]=s}}};for(var n in j)Object.prototype.hasOwnProperty.call(j,n)&&"e"!==n&&"t"!==n&&Object.defineProperty(i,n,a(n));return i.e=function(t){return"ready"===d&&_("prepare"),m++,j.e(t).then(s,(function(t){throw s(),t}));function s(){m--,"prepare"===d&&(g[t]||w(t),0===m&&0===f&&x())}},i.t=function(t,s){return 1&s&&(t=i(t)),j.t(t,-2&s)},i}function l(t){var s={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:e!==t,active:!0,accept:function(t,e){if(void 0===t)s._selfAccepted=!0;else if("function"==typeof t)s._selfAccepted=t;else if("object"==typeof t)for(var i=0;i<t.length;i++)s._acceptedDependencies[t[i]]=e||function(){};else s._acceptedDependencies[t]=e||function(){}},decline:function(t){if(void 0===t)s._selfDeclined=!0;else if("object"==typeof t)for(var e=0;e<t.length;e++)s._declinedDependencies[t[e]]=!0;else s._declinedDependencies[t]=!0},dispose:function(t){s._disposeHandlers.push(t)},addDisposeHandler:function(t){s._disposeHandlers.push(t)},removeDisposeHandler:function(t){var e=s._disposeHandlers.indexOf(t);e>=0&&s._disposeHandlers.splice(e,1)},check:k,apply:S,status:function(t){if(!t)return d;u.push(t)},addStatusHandler:function(t){u.push(t)},removeStatusHandler:function(t){var s=u.indexOf(t);s>=0&&u.splice(s,1)},data:n[t]};return e=void 0,s}var u=[],d="idle";function _(t){d=t;for(var s=0;s<u.length;s++)u[s].call(null,t)}var p,v,h,f=0,m=0,g={},b={},y={};function C(t){return+t+""===t?+t:t}function k(t){if("idle"!==d)throw new Error("check() is only allowed in idle status");return i=t,_("check"),(s=1e4,s=s||1e4,new Promise((function(t,e){if("undefined"==typeof XMLHttpRequest)return e(new Error("No browser support"));try{var i=new XMLHttpRequest,n=j.p+""+a+".hot-update.json";i.open("GET",n,!0),i.timeout=s,i.send(null)}catch(t){return e(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)e(new Error("Manifest request to "+n+" timed out."));else if(404===i.status)t();else if(200!==i.status&&304!==i.status)e(new Error("Manifest request to "+n+" failed."));else{try{var s=JSON.parse(i.responseText)}catch(t){return void e(t)}t(s)}}}))).then((function(t){if(!t)return _("idle"),null;b={},g={},y=t.c,h=t.h,_("prepare");var s=new Promise((function(t,s){p={resolve:t,reject:s}}));v={};return w(2),"prepare"===d&&0===m&&0===f&&x(),s}));var s}function w(t){y[t]?(b[t]=!0,f++,function(t){var s=document.createElement("script");s.charset="utf-8",s.src=j.p+""+t+"."+a+".hot-update.js",document.head.appendChild(s)}(t)):g[t]=!0}function x(){_("ready");var t=p;if(p=null,t)if(i)Promise.resolve().then((function(){return S(i)})).then((function(s){t.resolve(s)}),(function(s){t.reject(s)}));else{var s=[];for(var e in v)Object.prototype.hasOwnProperty.call(v,e)&&s.push(C(e));t.resolve(s)}}function S(s){if("ready"!==d)throw new Error("apply() is only allowed in ready status");var e,i,r,c,l;function u(t){for(var s=[t],e={},i=s.map((function(t){return{chain:[t],id:t}}));i.length>0;){var a=i.pop(),n=a.id,o=a.chain;if((c=A[n])&&!c.hot._selfAccepted){if(c.hot._selfDeclined)return{type:"self-declined",chain:o,moduleId:n};if(c.hot._main)return{type:"unaccepted",chain:o,moduleId:n};for(var r=0;r<c.parents.length;r++){var l=c.parents[r],u=A[l];if(u){if(u.hot._declinedDependencies[n])return{type:"declined",chain:o.concat([l]),moduleId:n,parentId:l};-1===s.indexOf(l)&&(u.hot._acceptedDependencies[n]?(e[l]||(e[l]=[]),p(e[l],[n])):(delete e[l],s.push(l),i.push({chain:o.concat([l]),id:l})))}}}}return{type:"accepted",moduleId:t,outdatedModules:s,outdatedDependencies:e}}function p(t,s){for(var e=0;e<s.length;e++){var i=s[e];-1===t.indexOf(i)&&t.push(i)}}s=s||{};var f={},m=[],g={},b=function(){console.warn("[HMR] unexpected require("+w.moduleId+") to disposed module")};for(var k in v)if(Object.prototype.hasOwnProperty.call(v,k)){var w;l=C(k);var x=!1,S=!1,P=!1,T="";switch((w=v[k]?u(l):{type:"disposed",moduleId:k}).chain&&(T="\nUpdate propagation: "+w.chain.join(" -> ")),w.type){case"self-declined":s.onDeclined&&s.onDeclined(w),s.ignoreDeclined||(x=new Error("Aborted because of self decline: "+w.moduleId+T));break;case"declined":s.onDeclined&&s.onDeclined(w),s.ignoreDeclined||(x=new Error("Aborted because of declined dependency: "+w.moduleId+" in "+w.parentId+T));break;case"unaccepted":s.onUnaccepted&&s.onUnaccepted(w),s.ignoreUnaccepted||(x=new Error("Aborted because "+l+" is not accepted"+T));break;case"accepted":s.onAccepted&&s.onAccepted(w),S=!0;break;case"disposed":s.onDisposed&&s.onDisposed(w),P=!0;break;default:throw new Error("Unexception type "+w.type)}if(x)return _("abort"),Promise.reject(x);if(S)for(l in g[l]=v[l],p(m,w.outdatedModules),w.outdatedDependencies)Object.prototype.hasOwnProperty.call(w.outdatedDependencies,l)&&(f[l]||(f[l]=[]),p(f[l],w.outdatedDependencies[l]));P&&(p(m,[w.moduleId]),g[l]=b)}var I,E=[];for(i=0;i<m.length;i++)l=m[i],A[l]&&A[l].hot._selfAccepted&&g[l]!==b&&E.push({module:l,errorHandler:A[l].hot._selfAccepted});_("dispose"),Object.keys(y).forEach((function(t){!1===y[t]&&function(t){delete installedChunks[t]}(t)}));for(var $,O,D=m.slice();D.length>0;)if(l=D.pop(),c=A[l]){var R={},q=c.hot._disposeHandlers;for(r=0;r<q.length;r++)(e=q[r])(R);for(n[l]=R,c.hot.active=!1,delete A[l],delete f[l],r=0;r<c.children.length;r++){var L=A[c.children[r]];L&&((I=L.parents.indexOf(l))>=0&&L.parents.splice(I,1))}}for(l in f)if(Object.prototype.hasOwnProperty.call(f,l)&&(c=A[l]))for(O=f[l],r=0;r<O.length;r++)$=O[r],(I=c.children.indexOf($))>=0&&c.children.splice(I,1);for(l in _("apply"),a=h,g)Object.prototype.hasOwnProperty.call(g,l)&&(t[l]=g[l]);var U=null;for(l in f)if(Object.prototype.hasOwnProperty.call(f,l)&&(c=A[l])){O=f[l];var H=[];for(i=0;i<O.length;i++)if($=O[i],e=c.hot._acceptedDependencies[$]){if(-1!==H.indexOf(e))continue;H.push(e)}for(i=0;i<H.length;i++){e=H[i];try{e(O)}catch(t){s.onErrored&&s.onErrored({type:"accept-errored",moduleId:l,dependencyId:O[i],error:t}),s.ignoreErrored||U||(U=t)}}}for(i=0;i<E.length;i++){var W=E[i];l=W.module,o=[l];try{j(l)}catch(t){if("function"==typeof W.errorHandler)try{W.errorHandler(t)}catch(e){s.onErrored&&s.onErrored({type:"self-accept-error-handler-errored",moduleId:l,error:e,originalError:t}),s.ignoreErrored||U||(U=e),U||(U=t)}else s.onErrored&&s.onErrored({type:"self-accept-errored",moduleId:l,error:t}),s.ignoreErrored||U||(U=t)}}return U?(_("fail"),Promise.reject(U)):(_("idle"),new Promise((function(t){t(m)})))}var A={};function j(s){if(A[s])return A[s].exports;var e=A[s]={i:s,l:!1,exports:{},hot:l(s),parents:(r=o,o=[],r),children:[]};return t[s].call(e.exports,e,e.exports,c(s)),e.l=!0,e.exports}j.m=t,j.c=A,j.d=function(t,s,e){j.o(t,s)||Object.defineProperty(t,s,{enumerable:!0,get:e})},j.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},j.t=function(t,s){if(1&s&&(t=j(t)),8&s)return t;if(4&s&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(j.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&s&&"string"!=typeof t)for(var i in t)j.d(e,i,function(s){return t[s]}.bind(null,i));return e},j.n=function(t){var s=t&&t.__esModule?function(){return t.default}:function(){return t};return j.d(s,"a",s),s},j.o=function(t,s){return Object.prototype.hasOwnProperty.call(t,s)},j.p="",j.h=function(){return a},c("./src/dashboard.js")(j.s="./src/dashboard.js")}({"./node_modules/cssfilter/lib/css.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/default.js"),a=e("./node_modules/cssfilter/lib/parser.js");e("./node_modules/cssfilter/lib/util.js");function n(t){return null==t}function o(t){(t=function(t){var s={};for(var e in t)s[e]=t[e];return s}(t||{})).whiteList=t.whiteList||i.whiteList,t.onAttr=t.onAttr||i.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||i.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,this.options=t}o.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var s=this.options,e=s.whiteList,i=s.onAttr,o=s.onIgnoreAttr,r=s.safeAttrValue;return a(t,(function(t,s,a,c,l){var u=e[a],d=!1;if(!0===u?d=u:"function"==typeof u?d=u(c):u instanceof RegExp&&(d=u.test(c)),!0!==d&&(d=!1),c=r(a,c)){var _,p={position:s,sourcePosition:t,source:l,isWhite:d};return d?n(_=i(a,c,p))?a+":"+c:_:n(_=o(a,c,p))?void 0:_}}))},t.exports=o},"./node_modules/cssfilter/lib/default.js":function(t,s){function e(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var i=/javascript\s*\:/gim;s.whiteList=e(),s.getDefaultWhiteList=e,s.onAttr=function(t,s,e){},s.onIgnoreAttr=function(t,s,e){},s.safeAttrValue=function(t,s){return i.test(s)?"":s}},"./node_modules/cssfilter/lib/index.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/default.js"),a=e("./node_modules/cssfilter/lib/css.js");for(var n in(s=t.exports=function(t,s){return new a(s).process(t)}).FilterCSS=a,i)s[n]=i[n];"undefined"!=typeof window&&(window.filterCSS=t.exports)},"./node_modules/cssfilter/lib/parser.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/util.js");t.exports=function(t,s){";"!==(t=i.trimRight(t))[t.length-1]&&(t+=";");var e=t.length,a=!1,n=0,o=0,r="";function c(){if(!a){var e=i.trim(t.slice(n,o)),c=e.indexOf(":");if(-1!==c){var l=i.trim(e.slice(0,c)),u=i.trim(e.slice(c+1));if(l){var d=s(n,r.length,l,u,e);d&&(r+=d+"; ")}}}n=o+1}for(;o<e;o++){var l=t[o];if("/"===l&&"*"===t[o+1]){var u=t.indexOf("*/",o+2);if(-1===u)break;n=(o=u+1)+1,a=!1}else"("===l?a=!0:")"===l?a=!1:";"===l?a||c():"\n"===l&&c()}return i.trim(r)}},"./node_modules/cssfilter/lib/util.js":function(t,s){t.exports={indexOf:function(t,s){var e,i;if(Array.prototype.indexOf)return t.indexOf(s);for(e=0,i=t.length;e<i;e++)if(t[e]===s)return e;return-1},forEach:function(t,s,e){var i,a;if(Array.prototype.forEach)return t.forEach(s,e);for(i=0,a=t.length;i<a;i++)s.call(e,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\s*$)/g,"")}}},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js":function(t,s,e){"use strict";function i(t,s,e,i,a,n,o,r){var c,l="function"==typeof t?t.options:t;if(s&&(l.render=s,l.staticRenderFns=e,l._compiled=!0),i&&(l.functional=!0),n&&(l._scopeId="data-v-"+n),o?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):a&&(c=r?function(){a.call(this,this.$root.$options.shadowRoot)}:a),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,s){return c.call(s),u(t,s)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}e.d(s,"a",(function(){return i}))},"./node_modules/xss/lib/default.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/index.js").FilterCSS,a=e("./node_modules/cssfilter/lib/index.js").getDefaultWhiteList,n=e("./node_modules/xss/lib/util.js");function o(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var r=new i;function c(t){return t.replace(l,"<").replace(u,">")}var l=/</g,u=/>/g,d=/"/g,_=/"/g,p=/&#([a-zA-Z0-9]*);?/gim,v=/:?/gim,h=/&newline;?/gim,f=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,m=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,g=/u\s*r\s*l\s*\(.*/gi;function b(t){return t.replace(d,""")}function y(t){return t.replace(_,'"')}function C(t){return t.replace(p,(function(t,s){return"x"===s[0]||"X"===s[0]?String.fromCharCode(parseInt(s.substr(1),16)):String.fromCharCode(parseInt(s,10))}))}function k(t){return t.replace(v,":").replace(h," ")}function w(t){for(var s="",e=0,i=t.length;e<i;e++)s+=t.charCodeAt(e)<32?" ":t.charAt(e);return n.trim(s)}function x(t){return t=w(t=k(t=C(t=y(t))))}function S(t){return t=c(t=b(t))}var A=/<!--[\s\S]*?-->/g;s.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},s.getDefaultWhiteList=o,s.onTag=function(t,s,e){},s.onIgnoreTag=function(t,s,e){},s.onTagAttr=function(t,s,e){},s.onIgnoreTagAttr=function(t,s,e){},s.safeAttrValue=function(t,s,e,i){if(e=x(e),"href"===s||"src"===s){if("#"===(e=n.trim(e)))return"#";if("http://"!==e.substr(0,7)&&"https://"!==e.substr(0,8)&&"mailto:"!==e.substr(0,7)&&"tel:"!==e.substr(0,4)&&"#"!==e[0]&&"/"!==e[0])return""}else if("background"===s){if(f.lastIndex=0,f.test(e))return""}else if("style"===s){if(m.lastIndex=0,m.test(e))return"";if(g.lastIndex=0,g.test(e)&&(f.lastIndex=0,f.test(e)))return"";!1!==i&&(e=(i=i||r).process(e))}return e=S(e)},s.escapeHtml=c,s.escapeQuote=b,s.unescapeQuote=y,s.escapeHtmlEntities=C,s.escapeDangerHtml5Entities=k,s.clearNonPrintableCharacter=w,s.friendlyAttrValue=x,s.escapeAttrValue=S,s.onIgnoreTagStripAll=function(){return""},s.StripTagBody=function(t,s){"function"!=typeof s&&(s=function(){});var e=!Array.isArray(t),i=[],a=!1;return{onIgnoreTag:function(o,r,c){if(function(s){return!!e||-1!==n.indexOf(t,s)}(o)){if(c.isClosing){var l="[/removed]",u=c.position+l.length;return i.push([!1!==a?a:c.position,u]),a=!1,l}return a||(a=c.position),"[removed]"}return s(o,r,c)},remove:function(t){var s="",e=0;return n.forEach(i,(function(i){s+=t.slice(e,i[0]),e=i[1]})),s+=t.slice(e)}}},s.stripCommentTag=function(t){return t.replace(A,"")},s.stripBlankChar=function(t){var s=t.split("");return(s=s.filter((function(t){var s=t.charCodeAt(0);return 127!==s&&(!(s<=31)||(10===s||13===s))}))).join("")},s.cssFilter=r,s.getDefaultCSSWhiteList=a},"./node_modules/xss/lib/index.js":function(t,s,e){var i=e("./node_modules/xss/lib/default.js"),a=e("./node_modules/xss/lib/parser.js"),n=e("./node_modules/xss/lib/xss.js");function o(t,s){return new n(s).process(t)}for(var r in(s=t.exports=o).filterXSS=o,s.FilterXSS=n,i)s[r]=i[r];for(var r in a)s[r]=a[r];"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},"./node_modules/xss/lib/parser.js":function(t,s,e){var i=e("./node_modules/xss/lib/util.js");function a(t){var s=i.spaceIndex(t);if(-1===s)var e=t.slice(1,-1);else e=t.slice(1,s+1);return"/"===(e=i.trim(e).toLowerCase()).slice(0,1)&&(e=e.slice(1)),"/"===e.slice(-1)&&(e=e.slice(0,-1)),e}function n(t){return"</"===t.slice(0,2)}var o=/[^a-zA-Z0-9_:\.\-]/gim;function r(t,s){for(;s<t.length;s++){var e=t[s];if(" "!==e)return"="===e?s:-1}}function c(t,s){for(;s>0;s--){var e=t[s];if(" "!==e)return"="===e?s:-1}}function l(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}s.parseTag=function(t,s,e){var i="",o=0,r=!1,c=!1,l=0,u=t.length,d="",_="";for(l=0;l<u;l++){var p=t.charAt(l);if(!1===r){if("<"===p){r=l;continue}}else if(!1===c){if("<"===p){i+=e(t.slice(o,l)),r=l,o=l;continue}if(">"===p){i+=e(t.slice(o,r)),d=a(_=t.slice(r,l+1)),i+=s(r,i.length,d,_,n(_)),o=l+1,r=!1;continue}if(('"'===p||"'"===p)&&"="===t.charAt(l-1)){c=p;continue}}else if(p===c){c=!1;continue}}return o<t.length&&(i+=e(t.substr(o))),i},s.parseAttr=function(t,s){var e=0,a=[],n=!1,u=t.length;function d(t,e){if(!((t=(t=i.trim(t)).replace(o,"").toLowerCase()).length<1)){var n=s(t,e||"");n&&a.push(n)}}for(var _=0;_<u;_++){var p,v=t.charAt(_);if(!1!==n||"="!==v)if(!1===n||_!==e||'"'!==v&&"'"!==v||"="!==t.charAt(_-1))if(/\s|\n|\t/.test(v)){if(t=t.replace(/\s|\n|\t/g," "),!1===n){if(-1===(p=r(t,_))){d(i.trim(t.slice(e,_))),n=!1,e=_+1;continue}_=p-1;continue}if(-1===(p=c(t,_-1))){d(n,l(i.trim(t.slice(e,_)))),n=!1,e=_+1;continue}}else;else{if(-1===(p=t.indexOf(v,_+1)))break;d(n,i.trim(t.slice(e+1,p))),n=!1,e=(_=p)+1}else n=t.slice(e,_),e=_+1}return e<t.length&&(!1===n?d(t.slice(e)):d(n,l(i.trim(t.slice(e))))),i.trim(a.join(" "))}},"./node_modules/xss/lib/util.js":function(t,s){t.exports={indexOf:function(t,s){var e,i;if(Array.prototype.indexOf)return t.indexOf(s);for(e=0,i=t.length;e<i;e++)if(t[e]===s)return e;return-1},forEach:function(t,s,e){var i,a;if(Array.prototype.forEach)return t.forEach(s,e);for(i=0,a=t.length;i<a;i++)s.call(e,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(t){var s=/\s|\n|\t/.exec(t);return s?s.index:-1}}},"./node_modules/xss/lib/xss.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/index.js").FilterCSS,a=e("./node_modules/xss/lib/default.js"),n=e("./node_modules/xss/lib/parser.js"),o=n.parseTag,r=n.parseAttr,c=e("./node_modules/xss/lib/util.js");function l(t){return null==t}function u(t){(t=function(t){var s={};for(var e in t)s[e]=t[e];return s}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=a.onIgnoreTagStripAll),t.whiteList=t.whiteList||a.whiteList,t.onTag=t.onTag||a.onTag,t.onTagAttr=t.onTagAttr||a.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||a.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||a.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||a.safeAttrValue,t.escapeHtml=t.escapeHtml||a.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new i(t.css))}u.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var s=this.options,e=s.whiteList,i=s.onTag,n=s.onIgnoreTag,u=s.onTagAttr,d=s.onIgnoreTagAttr,_=s.safeAttrValue,p=s.escapeHtml,v=this.cssFilter;s.stripBlankChar&&(t=a.stripBlankChar(t)),s.allowCommentTag||(t=a.stripCommentTag(t));var h=!1;if(s.stripIgnoreTagBody){h=a.StripTagBody(s.stripIgnoreTagBody,n);n=h.onIgnoreTag}var f=o(t,(function(t,s,a,o,h){var f,m={sourcePosition:t,position:s,isClosing:h,isWhite:e.hasOwnProperty(a)};if(!l(f=i(a,o,m)))return f;if(m.isWhite){if(m.isClosing)return"</"+a+">";var g=function(t){var s=c.spaceIndex(t);if(-1===s)return{html:"",closing:"/"===t[t.length-2]};var e="/"===(t=c.trim(t.slice(s+1,-1)))[t.length-1];return e&&(t=c.trim(t.slice(0,-1))),{html:t,closing:e}}(o),b=e[a],y=r(g.html,(function(t,s){var e,i=-1!==c.indexOf(b,t);return l(e=u(a,t,s,i))?i?(s=_(a,t,s,v))?t+'="'+s+'"':t:l(e=d(a,t,s,i))?void 0:e:e}));o="<"+a;return y&&(o+=" "+y),g.closing&&(o+=" /"),o+=">"}return l(f=n(a,o,m))?p(o):f}),p);return h&&(f=h.remove(f)),f},t.exports=u},"./src/component/doc-link.vue":function(t,s,e){"use strict";var i={mixins:[e("./src/helper/base_hepler.js").a],name:"doc-link",props:["link"],data:function(){return{whitelabel:defender.whitelabel}}},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement,s=this._self._c||t;return!1===this.whitelabel.hide_doc_link?s("div",{staticClass:"sui-actions-right"},[s("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:this.link,target:"_blank"}},[s("i",{staticClass:"sui-icon-academy"}),this._v(" "+this._s(this.__("View Documentation"))+"\n ")])]):this._e()}),[],!1,null,null,null);s.a=n.exports},"./src/component/footer.vue":function(t,s,e){"use strict";var i={data:function(){return{whitelabel:defender.whitelabel,is_free:defender.is_free}}},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",[!0===t.whitelabel.change_footer?e("div",{staticClass:"sui-footer"},[t._v("\n "+t._s(t.whitelabel.footer_text)+"\n ")]):e("div",{staticClass:"sui-footer"},[t._v("Made with "),e("i",{staticClass:"sui-icon-heart"}),t._v(" by WPMU DEV")]),t._v(" "),!1===t.whitelabel.hide_doc_link?e("div",[t.is_free?e("ul",{staticClass:"sui-footer-nav"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7)]):e("ul",{staticClass:"sui-footer-nav"},[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15)]),t._v(" "),t._m(16)]):t._e()])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://profiles.wordpress.org/wpmudev#content-plugins",target:"_blank"}},[this._v("Free\n Plugins")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/features/",target:"_blank"}},[this._v("Membership")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://wordpress.org/support/plugin/plugin-name",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/projects/category/plugins/",target:"_blank"}},[this._v("Plugins")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/hub/support/",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/hub/community/",target:"_blank"}},[this._v("Community")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("ul",{staticClass:"sui-footer-social"},[e("li",[e("a",{attrs:{href:"https://www.facebook.com/wpmudev",target:"_blank"}},[e("i",{staticClass:"sui-icon-social-facebook",attrs:{"aria-hidden":"true"}}),t._v(" "),e("span",{staticClass:"sui-screen-reader-text"},[t._v("Facebook")])])]),t._v(" "),e("li",[e("a",{attrs:{href:"https://twitter.com/wpmudev",target:"_blank"}},[e("i",{staticClass:"sui-icon-social-twitter",attrs:{"aria-hidden":"true"}})]),t._v(" "),e("span",{staticClass:"sui-screen-reader-text"},[t._v("Twitter")])]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.instagram.com/wpmu_dev/",target:"_blank"}},[e("i",{staticClass:"sui-icon-instagram",attrs:{"aria-hidden":"true"}}),t._v(" "),e("span",{staticClass:"sui-screen-reader-text"},[t._v("Instagram")])])])])}],!1,null,null,null);s.a=n.exports},"./src/component/overlay.vue":function(t,s,e){"use strict";var i={name:"overlay"},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement;this._self._c;return this._m(0)}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"wd-overlay"},[s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null);s.a=n.exports},"./src/component/submit-button.vue":function(t,s,e){"use strict";var i={name:"submit-button",props:["id","state","text","css-class","type"],computed:{getClass:function(){return"sui-button "+this.cssClass}}},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("button",{staticClass:"sui-button",class:[t.getClass,{"sui-button-onload":t.state.on_saving}],attrs:{id:t.id,type:t.type,disabled:t.state.on_saving},on:{click:function(s){return t.$emit("click")}}},[e("span",{staticClass:"sui-loading-text"},[t._t("default")],2),t._v(" "),e("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}),[],!1,null,null,null);s.a=n.exports},"./src/component/summary-box.vue":function(t,s,e){"use strict";var i={mixins:[e("./src/helper/base_hepler.js").a],props:["css-class"],name:"summary-box",data:function(){return{whitelabel:defender.whitelabel}},computed:{summary_class:function(){return{"sui-unbranded":!0===this.whitelabel.hide_branding&&0===this.whitelabel.hero_image.length,"sui-rebranded":!0===this.whitelabel.hide_branding&&this.whitelabel.hero_image.length>0}},css_class:function(){return this.cssClass},rebrand_img:function(){if(this.whitelabel.hero_image.length>0)return{"background-image":"url('"+this.whitelabel.hero_image+"')"}}}},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-box sui-summary",class:[this.summary_class,this.css_class],style:this.rebrand_img},[s("div",{staticClass:"sui-summary-image-space",attrs:{"aria-hidden":"true"}}),this._v(" "),this._t("default")],2)}),[],!1,null,null,null);s.a=n.exports},"./src/dashboard.js":function(t,s,e){"use strict";e.r(s);var i=e("vue"),a=e.n(i),n=e("./src/helper/base_hepler.js"),o={mixins:[n.a],name:"security-tweaks",data:function(){return{rules:dashboard.security_tweaks.rules,count:dashboard.security_tweaks.count.issues}},methods:{handleRedirect:function(t){window.location.href=this.adminUrl("admin.php?page=wdf-hardener#"+t.slug)}}},r=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),c=Object(r.a)(o,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box hardener-widget"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-wrench-tool",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Security Tweaks"))+"\n ")]),t._v(" "),t.count>0?e("div",{staticClass:"sui-actions-left"},[e("div",{staticClass:"sui-tag sui-tag-warning",domProps:{textContent:t._s(t.count)}})]):t._e()]),t._v(" "),e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Defender checks for basic security tweaks you can make to enhance your website’s defense against hackers and bots."))+"\n ")]),t._v(" "),0===t.count?e("div",{staticClass:"sui-notice sui-notice-success"},[e("p",[t._v("\n "+t._s(t.__("You’ve actioned all of the recommended security tweaks."))+"\n ")])]):t._e()]),t._v(" "),t.count>0?e("div",{staticClass:"sui-accordion sui-accordion-flushed no-border-bottom"},t._l(t.rules,(function(s){return e("div",{staticClass:"sui-accordion-item sui-warning",on:{click:function(e){return t.handleRedirect(s)}}},[e("div",{staticClass:"sui-accordion-item-header"},[e("div",{staticClass:"sui-accordion-item-title"},[e("i",{staticClass:"sui-icon-warning-alert sui-warning",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(s.title)+"\n "),t._m(0,!0)])])])})),0):t._e(),t._v(" "),e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-hardener")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("View All"))+"\n ")])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-actions-right"},[s("i",{staticClass:"sui-icon-chevron-right",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null).exports,l={mixins:[n.a],name:"file-scanning",data:function(){return{scan:dashboard.scan.scan,state:{on_saving:!1,canceling:!1},nonces:dashboard.scan.nonces,endpoints:dashboard.scan.endpoints,polling_state:null,report:dashboard.scan.report}},methods:{newScan:function(){var t=this;this.httpPostRequest("newScan",{},(function(s){t.$nextTick((function(){t.scan={},t.scan.status=s.data.status,t.scan.percent=s.data.percent,t.scan.status_text=s.data.status_text,t.polling()}))}))},cancelScan:function(){if(!0!==this.state.canceling){this.abortAllRequests();var t=this;clearTimeout(this.polling_state),this.state.canceling=!0,this.httpPostRequest("cancelScan",{},(function(s){t.$nextTick((function(){t.scan=s.data.scan,t.state.canceling=!1,t.$emit("scanCanceled",t.scan)}))}))}},refreshStatus:function(){var t=this;this.httpPostRequest("processScan",{},(function(s){!1===s.success?(t.scan=s.data,t.polling()):(t.scan=s.data.scan,t.$emit("scanCompleted",t.scan,s.data.scan.count.total))}))},polling:function(){!1===this.state.canceling&&(this.polling_state=setTimeout(this.refreshStatus(),500))},resultIndicator:function(t){return t>0?'<span class="sui-tag sui-tag-error">'+t+"</span>":'<i aria-hidden="true" class="sui-icon-check-tick sui-success"></i>'}},computed:{statusText:function(){return this.scan.status_text},reportText:function(){if(!1!==this.report.enabled){var t=void 0;switch(parseInt(this.report.frequency)){case 1:t="daily";break;case 7:t="weekly";break;case 30:t="monthly"}return this.vsprintf(this.__("Automatic scans are running %s"),t)}},percent:function(){return this.scan.percent}},mounted:function(){null===this.scan||"process"!==this.scan.status&&"init"!==this.scan.status||this.polling()}},u=Object(r.a)(l,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-layers",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("File Scanning"))+"\n ")]),t._v(" "),null!==t.scan&&"finish"===t.scan.status?e("div",{staticClass:"sui-actions-left"},[null!==t.scan&&t.scan.count.total>0?e("span",{staticClass:"sui-tag sui-tag-error"},[t._v(t._s(t.scan.count.total))]):t._e()]):t._e()]),t._v(" "),e("div",{staticClass:"sui-box-body",class:{"no-padding-bottom":null!==t.scan&&"finish"===t.scan.status}},[e("p",[t._v("\n "+t._s(t.__("Scan your website for file changes, vulnerabilities and injected code and get notified about anything suspicious."))+"\n ")]),t._v(" "),null===t.scan?e("div",[e("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:t.newScan}},[t._v("\n "+t._s(t.__("Run scan"))+"\n ")])],1):"process"===t.scan.status||"init"===t.scan.status?e("div",[e("div",{staticClass:"sui-progress-block"},[e("div",{staticClass:"sui-progress"},[t._m(0),t._v(" "),e("span",{staticClass:"sui-progress-text"},[e("span",{domProps:{textContent:t._s(t.percent+"%")}})]),t._v(" "),e("div",{staticClass:"sui-progress-bar",attrs:{"aria-hidden":"true"}},[e("span",{style:{width:t.percent+"%"}})])]),t._v(" "),e("button",{staticClass:"sui-button-icon sui-tooltip",attrs:{type:"button",disabled:t.state.canceling,"data-tooltip":"Cancel"},on:{click:t.cancelScan}},[e("i",{staticClass:"sui-icon-close",attrs:{"aria-hidden":"true"}})])]),t._v(" "),e("div",{staticClass:"sui-progress-state"},[e("span",{domProps:{textContent:t._s(t.statusText)}})])]):e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v("\n "+t._s(t.__("WordPress Core"))+"\n ")])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.resultIndicator(t.scan.count.core))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v("\n "+t._s(t.__("Plugins & Themes"))+"\n ")])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.resultIndicator(t.scan.count.vuln))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Suspicious Code")))])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.resultIndicator(t.scan.count.content))}})])])])]),t._v(" "),null!==t.scan&&"finish"===t.scan.status?e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-scan")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("View Report"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("p",{staticClass:"sui-p-small",domProps:{textContent:t._s(t.reportText)}})])]):t._e()])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("span",{staticClass:"sui-progress-icon",attrs:{"aria-hidden":"true"}},[s("i",{staticClass:"sui-icon-loader sui-loading"})])}],!1,null,null,null).exports,d={mixins:[n.a],name:"file-scanning",data:function(){return{scan:dashboard.scan.scan,state:{on_saving:!1,canceling:!1},nonces:dashboard.scan.nonces,endpoints:dashboard.scan.endpoints,polling_state:null,report:dashboard.scan.report}},methods:{newScan:function(){var t=this;this.httpPostRequest("newScan",{},(function(s){t.$nextTick((function(){t.scan={},t.scan.status=s.data.status,t.scan.percent=s.data.percent,t.scan.status_text=s.data.status_text,t.polling()}))}))},cancelScan:function(){if(!0!==this.state.canceling){this.abortAllRequests();var t=this;clearTimeout(this.polling_state),this.state.canceling=!0,this.httpPostRequest("cancelScan",{},(function(s){t.$nextTick((function(){t.scan=s.data.scan,t.state.canceling=!1}))}))}},refreshStatus:function(){var t=this;this.httpPostRequest("processScan",{},(function(s){!1===s.success?(t.scan=s.data,t.polling()):t.scan=s.data.scan}))},polling:function(){!1===this.state.canceling&&(this.polling_state=setTimeout(this.refreshStatus(),500))},resultIndicator:function(t){return t>0?'<span class="sui-tag sui-tag-error">'+t+"</span>":'<i aria-hidden="true" class="sui-icon-check-tick sui-success"></i>'}},computed:{statusText:function(){return this.scan.status_text},percent:function(){return this.scan.percent}},mounted:function(){null===this.scan||"process"!==this.scan.status&&"init"!==this.scan.status||this.polling()}},_=Object(r.a)(d,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-layers",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("File Scanning"))+"\n ")]),t._v(" "),null!==t.scan&&"finish"===t.scan.status?e("div",{staticClass:"sui-actions-left"},[t.scan.count.total>0?e("span",{staticClass:"sui-tag sui-tag-error"},[t._v(t._s(t.scan.count.total))]):t._e()]):t._e()]),t._v(" "),e("div",{staticClass:"sui-box-body",class:{"no-padding-bottom":null!==t.scan&&"finish"===t.scan.status}},[e("p",[t._v("\n "+t._s(t.__("Scan your website for file changes, vulnerabilities and injected code and get and get notified about anything suspicious."))+"\n ")]),t._v(" "),null===t.scan?e("div",[e("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:t.newScan}},[t._v("\n "+t._s(t.__("Run scan"))+"\n ")])],1):"process"===t.scan.status||"init"===t.scan.status?e("div",[e("div",{staticClass:"sui-progress-block"},[e("div",{staticClass:"sui-progress"},[t._m(0),t._v(" "),e("span",{staticClass:"sui-progress-text"},[e("span",{domProps:{textContent:t._s(t.percent+"%")}})]),t._v(" "),e("div",{staticClass:"sui-progress-bar",attrs:{"aria-hidden":"true"}},[e("span",{style:{width:t.percent+"%"}})])]),t._v(" "),e("button",{staticClass:"sui-button-icon sui-tooltip",attrs:{type:"button",disabled:t.state.canceling,"data-tooltip":"Cancel"},on:{click:t.cancelScan}},[e("i",{staticClass:"sui-icon-close",attrs:{"aria-hidden":"true"}})])]),t._v(" "),e("div",{staticClass:"sui-progress-state"},[e("span",{domProps:{textContent:t._s(t.statusText)}})])]):e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v("\n "+t._s(t.__("WordPress Core"))+"\n ")])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.resultIndicator(t.scan.count.core))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v("\n "+t._s(t.__("Plugins & Themes"))+"\n ")])]),t._v(" "),e("a",{staticClass:"sui-button sui-button-purple sui-tooltip",attrs:{href:t.campaign_url("defender_dash_filescan_pro_tag"),target:"_blank","data-tooltip":"Try Defender Pro free today"}},[t._v("\n "+t._s(t.__("Pro Feature"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Suspicious Code")))])]),t._v(" "),e("a",{staticClass:"sui-button sui-button-purple sui-tooltip",attrs:{href:t.campaign_url("defender_dash_filescan_pro_tag"),target:"_blank","data-tooltip":"Try Defender Pro free today"}},[t._v("\n "+t._s(t.__("Pro Feature"))+"\n ")])])])])]),t._v(" "),null!==t.scan&&"finish"===t.scan.status?e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-scan")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("View Report"))+"\n ")])])]):t._e()])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("span",{staticClass:"sui-progress-icon",attrs:{"aria-hidden":"true"}},[s("i",{staticClass:"sui-icon-loader sui-loading"})])}],!1,null,null,null).exports,p={mixins:[n.a],name:"blacklist",data:function(){return{state:{on_saving:!1},status:"fetching",nonces:dashboard.blacklist.nonces,endpoints:dashboard.blacklist.endpoints}},methods:{toggle:function(){var t=this;this.httpGetRequest("toggleBlacklistWidget",{},(function(s){switch(parseInt(s.data.status)){case-1:t.status="new";break;case 0:t.status="blacklisted";break;case 1:t.status="good"}}))}},mounted:function(){var t=this;this.httpGetRequest("blacklistWidgetStatus",{},(function(s){switch(parseInt(s.data.status)){case-1:t.status="new";break;case 0:t.status="blacklisted";break;case 1:t.status="good"}}))}},v=Object(r.a)(p,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-target",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Blacklist Monitor"))+"\n ")]),t._v(" "),"blacklisted"===t.status||"good"===t.status?e("div",{staticClass:"sui-actions-right"},[e("label",{staticClass:"sui-toggle"},[e("input",{staticClass:"toggle-checkbox",attrs:{type:"checkbox",checked:"checked"},on:{click:t.toggle}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])]):t._e()]),t._v(" "),e("div",{staticClass:"sui-box-body"},[e("div",[t._v("\n "+t._s(t.__("Automatically check if you’re on Google’s blacklist every 6 hours. If something’swrong, we’ll let you know via email."))+"\n ")]),t._v(" "),"fetching"===t.status?e("div",{staticClass:"sui-notice sui-notice-info"},[e("p",[t._v("\n "+t._s(t.__("Fetching your domain info..."))+"\n ")])]):"new"===t.status?e("form",{staticClass:"margin-top-30",attrs:{method:"post"}},[e("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:function(s){return t.toggle(!0)}}},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1):"blacklisted"===t.status?e("div",{staticClass:"sui-notice sui-notice-error"},[e("p",[t._v("\n "+t._s(t.__("Your domain is currently on Google’s blacklist. Check out the article below to find out how to fix up your domain."))+"\n ")])]):"good"===t.status?e("div",{staticClass:"sui-notice sui-notice-success"},[e("p",[t._v("\n "+t._s(t.__("Your domain is currently clean."))+"\n ")])]):t._e(),t._v(" "),"new"!==t.status?e("div",{staticClass:"sui-center-box no-padding-bottom"},[e("p",{staticClass:"sui-p-small"},[t._v("\n "+t._s(t.__("Want to know more about blacklisting?"))+" "),e("a",{attrs:{href:"https://premium.wpmudev.org/blog/get-off-googles-blacklist/"}},[t._v(t._s(t.__("Read this article.")))])])]):t._e()]),t._v(" "),e("overlay",{directives:[{name:"show",rawName:"v-show",value:!0===t.state.on_saving,expression:"state.on_saving===true"}]})],1)}),[],!1,null,null,null).exports,h={mixins:[n.a],name:"blacklist-free"},f=Object(r.a)(h,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-target",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Blacklist Monitor"))+"\n ")]),t._v(" "),e("div",{staticClass:"sui-actions-left"},[e("span",{staticClass:"sui-tag sui-tag-pro"},[t._v(t._s(t.__("Pro")))])])]),t._v(" "),e("div",{staticClass:"sui-box-body sui-upsell-items"},[e("div",{staticClass:"sui-box-settings-row no-margin-bottom no-padding-bottom"},[e("p",[t._v("\n "+t._s(t.__("Automatically check if you’re on Google’s blacklist every 6 hours. If something’s wrong, we’ll let you know via email."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-settings-row sui-upsell-row"},[e("img",{staticClass:"sui-image sui-upsell-image",attrs:{src:t.assetUrl("assets/img/dashboard-blacklist.svg")}}),t._v(" "),e("div",{staticClass:"sui-upsell-notice"},[e("p",[t._v("\n "+t._s(t.__("Defender will warn you if your site has been flagged as unsafe. Get blacklist Monitor as part of a WPMU DEV membership."))),e("br"),t._v(" "),e("a",{staticClass:"premium-button sui-button sui-button-purple",attrs:{target:"_blank",href:t.campaign_url("defender_dash_blacklist_upgrade_button")}},[t._v(t._s(t.__("Try Pro Free Today")))]),t._v(".\n ")])])])])])}),[],!1,null,null,null).exports,m={mixins:[n.a],name:"ip-lockout",data:function(){return{state:{on_saving:!1},nonces:dashboard.ip_lockout.nonces,endpoints:dashboard.ip_lockout.endpoints,summary:dashboard.ip_lockout.summary,notification:dashboard.ip_lockout.notification,enabled:dashboard.ip_lockout.enabled}},methods:{updateSettings:function(){var t=this;this.httpPostRequest("updateSettings",{data:JSON.stringify({login_protection:!0,detect_404:!0})},(function(){t.enabled=!0}))}},computed:{notificationText:function(){return this.notification?this.__("Lockout notifications are enabled"):this.__("Lockout notifications are disabled")}}},g=Object(r.a)(m,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box",attrs:{id:"ip-lockout"}},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-lock",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t"+t._s(t.__("IP Lockouts"))+"\n\t\t")])]),t._v(" "),e("div",{staticClass:"sui-box-body",class:{"no-padding-bottom":!0===t.enabled}},[e("p",[t._v("\n\t\t\t"+t._s(t.__("Protect to your login area and have Defender automatically lockout any suspicious behaviour."))+"\n\t\t")]),t._v(" "),!1===t.enabled?e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.updateSettings(s)}}},[e("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue activate",state:t.state}},[t._v("\n\t\t\t\t"+t._s(t.__("Activate"))+"\n\t\t\t")])],1):e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Last lockout")))])]),t._v(" "),e("span",{domProps:{textContent:t._s(t.summary.lastLockout)}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Login lockouts this week")))])]),t._v(" "),e("span",{domProps:{textContent:t._s(t.summary.ip.week)}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("404 lockouts this week")))])]),t._v(" "),e("span",{domProps:{textContent:t._s(t.summary.nf.week)}})])])])]),t._v(" "),!0===t.enabled?e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-ip-lockout&view=logs")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t"+t._s(t.__("View logs"))+"\n\t\t\t")])]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("p",{staticClass:"sui-p-small",domProps:{textContent:t._s(t.notificationText)}})])]):t._e()])}),[],!1,null,null,null).exports,b={mixins:[n.a],name:"audit",data:function(){return{state:{on_saving:!1},nonces:dashboard.audit.nonces,endpoints:dashboard.audit.endpoints,enabled:dashboard.audit.enabled,report:dashboard.audit.report,summary:{monthCount:"-",dayCount:"-",weekCount:"n/a",lastEvent:"-"}}},methods:{updateSettings:function(){var t=this;this.httpPostRequest("updateSettings",{data:JSON.stringify({enabled:!0})},(function(){t.enabled=!0,t.$nextTick((function(){t.loadData()}))}))},loadData:function(){var t=this;this.httpGetRequest("summary",{},(function(s){t.summary=s.data}))}},computed:{reportText:function(){return this.report?this.__("Audit log reports are enabled"):this.__("Audit log reports are disabled")}},mounted:function(){!0===this.enabled&&this.loadData()}},y=Object(r.a)(b,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box",attrs:{id:"audit-logging"}},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-body",class:{"no-padding-bottom":t.enabled}},[e("p",[t._v("\n "+t._s(t.__("Track and log events when changes are made to your website, giving you full visibility over what's going on behind the scenes."))+"\n ")]),t._v(" "),!1===t.enabled?e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.updateSettings(s)}}},[e("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue activate",state:t.state}},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1):e("div",[e("div",{staticClass:"sui-notice"},[e("p",[t._v("\n "+t._s(t.summary.weekCount)+" "+t._s(t.__(" events logged in the past 7 days."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Last event logged")))])]),t._v(" "),e("span",[t._v("\n "+t._s(t.summary.lastEvent)+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Events logged this month")))])]),t._v(" "),e("span",[t._v(t._s(t.summary.monthCount))])])])])])]),t._v(" "),!0===t.enabled?e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-logging")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("View Logs"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("p",{staticClass:"sui-p-small",domProps:{textContent:t._s(t.reportText)}})])]):t._e(),t._v(" "),t.state.on_saving?e("overlay"):t._e()],1)}),[],!1,null,null,null).exports,C={mixins:[n.a],name:"audit-free"},k=Object(r.a)(C,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),e("div",{staticClass:"sui-actions-left"},[e("span",{staticClass:"sui-tag sui-tag-pro"},[t._v(t._s(t.__("Pro")))])])]),t._v(" "),e("div",{staticClass:"sui-box-body sui-upsell-items"},[e("div",{staticClass:"sui-box-settings-row no-margin-bottom no-padding-bottom"},[e("p",[t._v("\n "+t._s(t.__("Track and log events when changes are made to your website giving you full visibility of what's going on behind the scenes."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-settings-row sui-upsell-row"},[e("img",{staticClass:"sui-image sui-upsell-image",attrs:{src:t.assetUrl("assets/img/audit-presale.svg")}}),t._v(" "),e("div",{staticClass:"sui-upsell-notice"},[e("p",[t._v("\n "+t._s(t.__("Get an automatic report about the changes made on your website with Audit Logging. Get Audit Logging as part of a WPMU DEV membership."))),e("br"),t._v(" "),e("a",{staticClass:"premium-button sui-button sui-button-purple",attrs:{target:"_blank",href:t.campaign_url("defender_dash_auditlogging_upsell_link")}},[t._v(t._s(t.__("Try Pro Free Today")))])])])])])])}),[],!1,null,null,null).exports,w={mixins:[n.a],name:"report",data:function(){return{scan:dashboard.report.scan,ip_lockout:dashboard.report.ip_lockout,audit:dashboard.report.audit}},methods:{statusText:function(t){if(-1===t)return'<span class="sui-tag sui-tag-disabled">'+this.__("Inactive")+"</span>";var s=void 0;switch(parseInt(t)){case 1:s=this.__("Daily");break;case 7:s=this.__("Weekly");break;case 30:s=this.__("Monthly")}return'<span class="sui-tag sui-tag-blue">'+s+"</span>"}}},x=Object(r.a)(w,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-graph-line",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Reporting"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-body no-padding-bottom"},[e("p",[t._v(t._s(t.__("Get tailored security reports delivered to your inbox so you don't have to worry about checking in.")))]),t._v(" "),e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("File Scanning")))])])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.statusText(t.scan))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("IP Lockouts")))])])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.statusText(t.ip_lockout))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("Audit Logging")))])])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.statusText(t.audit))}})])])])]),t._v(" "),e("div",{staticClass:"sui-box-footer"},[e("p",{staticClass:"sui-p-small text-center"},[t._v("\n "+t._s(t.__("You can also"))+" "),e("a",{attrs:{target:"_blank",href:"https://premium.wpmudev.org/reports/"}},[t._v(t._s(t.__("create PDF reports")))]),t._v(" "+t._s(t.__("to send to your clients via The Hub."))+"\n ")])])])}),[],!1,null,null,null).exports,S={mixins:[n.a],name:"report",data:function(){return{scan:dashboard.report.scan,ip_lockout:dashboard.report.ip_lockout,audit:dashboard.report.audit}},methods:{statusText:function(t){if(-1===t)return'<span class="sui-tag sui-tag-disabled">'+this.__("Inactive")+"</span>";var s=void 0;switch(parseInt(t)){case 1:s=this.__("Daily");break;case 7:s=this.__("Weekly");break;case 30:s=this.__("Monthly")}return'<span class="sui-tag sui-tag-blue">'+s+"</span>"}}},A=Object(r.a)(S,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-graph-line",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Reporting"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-body sui-upsell-items"},[e("div",{staticClass:"sui-box-settings-row no-padding-bottom"},[e("p",[t._v(t._s(t.__("Get tailored security reports delivered to your inbox so you don't have to worry about checking in.")))])]),t._v(" "),e("div",{staticClass:"sui-field-list no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("File Scanning")))])])]),t._v(" "),e("span",{staticClass:"sui-tag sui-tag-disabled"},[t._v(t._s(t.__("Inactive")))])]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("IP Lockouts")))])])]),t._v(" "),e("span",{staticClass:"sui-tag sui-tag-disabled"},[t._v(t._s(t.__("Inactive")))])]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("Audit Logging")))])])]),t._v(" "),e("span",{staticClass:"sui-tag sui-tag-disabled"},[t._v(t._s(t.__("Inactive")))])])])]),t._v(" "),e("div",{staticClass:"sui-box-settings-row sui-upsell-row"},[e("img",{staticClass:"sui-image sui-upsell-image",attrs:{src:t.assetUrl("/assets/img/dev-man-pre.svg")}}),t._v(" "),e("div",{staticClass:"sui-upsell-notice"},[e("p",[t._v("\n "+t._s(t.__("Schedule automatic reports and recieve directly to your inbox. Get reporting as part of a WPMU DEV membership."))),e("br"),t._v(" "),e("a",{staticClass:"premium-button sui-button sui-button-purple",attrs:{target:"_blank",href:t.campaign_url("defender_dash_reports_upsell_link")}},[t._v(t._s(t.__("Try Pro Free Today")))])])])])])])}),[],!1,null,null,null).exports,j={mixins:[n.a],name:"advanced-tools",data:function(){return{state:{on_saving:!1},nonces:dashboard.advanced_tools.nonces,endpoints:dashboard.advanced_tools.endpoints,two_factor:dashboard.advanced_tools.two_factors,mask_login:dashboard.advanced_tools.mask_login}},methods:{updateSettings:function(t){var s=this;this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:{enabled:!0},module:t})},(function(){"auth"===t?s.two_factor.enabled=!0:s.mask_login.enabled=!0}))}}},P=Object(r.a)(j,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box advanced-tools"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-wand-magic",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Advanced Tools"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-body no-padding-bottom"},[e("p",[t._v("\n "+t._s(t.__("Enable advanced tools for enhanced protection against even the most aggressive of hackers and bots."))+"\n ")])]),t._v(" "),e("hr"),t._v(" "),e("table",{staticClass:"sui-table sui-table-flushed margin-top-30"},[e("tbody",[e("tr",[e("td",[e("small",[e("strong",[t._v(t._s(t.__("Two-Factor Authentication")))])]),t._v(" "),e("br"),t._v(" "),e("small",[t._v("\n "+t._s(t.__("Add an extra layer of security to your WordPress account to ensure that you're the only person who can log in, even if someone else knows your password."))+"\n ")]),t._v(" "),!1===t.two_factor.enabled?e("form",{staticClass:"margin-top-10 margin-bottom-10",attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.updateSettings("auth")}}},[e("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1):!1===t.two_factor.useable?e("div",{staticClass:"sui-notice sui-notice-warning margin-bottom-30 margin-top-10"},[e("p",[t._v("\n "+t._s(t.__("Two-factor authentication is currently inactive. Configure and save your settings to finish setup."))+"\n "),e("br"),t._v(" "),e("a",{staticClass:"sui-button margin-top-10",attrs:{href:t.adminUrl("admin.php?page=wdf-advanced-tools")}},[t._v("\n "+t._s(t.__("Finish Setup"))+"\n ")])])]):!0===t.two_factor.useable?e("div",{staticClass:"sui-notice sui-notice-success margin-top-10 margin-bottom-30"},[e("p",[t._v("\n "+t._s(t.__("Two-factor authentication is now active. User roles with this feature enabled must visit their Profile page to complete setup and sync their account with the Authenticator app."))+"\n ")])]):t._e(),t._v(" "),!0===t.two_factor.useable?e("small",[t._v(t._s(t.__("Note: Each user on your website must individually enable two-factor authentication via their user profile in order to enable and use this security feature.")))]):t._e()])]),t._v(" "),e("tr",[e("td",[e("small",{staticClass:"margin-top-30"},[e("strong",[t._v(t._s(t.__("Mask Login Area")))])]),t._v(" "),e("br"),t._v(" "),e("small",[t._v("\n "+t._s(t.__("Change the location of WordPress's default login area."))+"\n ")]),t._v(" "),!1===t.mask_login.enabled?e("form",{staticClass:"margin-top-10 margin-bottom-30",attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.updateSettings("mask-login")}}},[e("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1):!1===t.mask_login.useable?e("div",{staticClass:"sui-notice sui-notice-warning margin-bottom-30 margin-top-10"},[e("p",[t._v("\n "+t._s(t.__("Masking is currently inactive. Choose your URL and save your settings to finish setup."))+"\n "),e("br"),t._v(" "),e("a",{staticClass:"sui-button margin-top-10",attrs:{href:t.adminUrl("admin.php?page=wdf-advanced-tools&view=mask-login")}},[t._v("\n "+t._s(t.__("Finish Setup"))+"\n ")])])]):!0===t.mask_login.useable?e("div",{staticClass:"sui-notice sui-notice-success margin-top-10 margin-bottom-30"},[e("p",[t._v("\n "+t._s(t.__("Masking is currently active at "))+" "),e("a",{attrs:{target:"_blank",href:t.mask_login.login_url}},[t._v(t._s(t.mask_login.login_url))])])]):t._e()])])])])])}),[],!1,null,null,null).exports,T={mixins:[n.a],name:"quick-setup",data:function(){return{state:{on_saving:!1},model:{activate_scan:!0,activate_audit:!0,activate_lockout:!0,activate_blacklist:!0},status:"normal",nonces:dashboard.quick_setup.nonces,endpoints:dashboard.quick_setup.endpoints}},methods:{activate:function(){this.httpPostRequest("activate",this.model,(function(t){window.location.reload()}))},skip:function(){this.httpPostRequest("skip",this.model,(function(t){SUI.dialogs.activator.hide()}))}},mounted:function(){document.onreadystatechange=function(){"complete"===document.readyState&&void 0!==SUI.dialogs.activator&&SUI.dialogs.activator.show()}}},I=Object(r.a)(T,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-dialog",attrs:{"aria-hidden":"true",tabindex:"-1",id:"activator"}},[e("div",{staticClass:"sui-dialog-overlay",attrs:{"data-a11y-dialog-hide":""}}),t._v(" "),e("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"Quick setup","aria-describedby":"",role:"dialog"}},["normal"===t.status?e("div",{staticClass:"sui-box",attrs:{role:"document"}},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Quick Setup"))+"\n ")]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.skip(s)}}},[e("submit-button",{staticClass:"sui-button-ghost quicksetup-skip",attrs:{type:"submit",state:t.state}},[t._v("\n "+t._s(t.__("Skip"))+"\n ")])],1)])]),t._v(" "),e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.activate(s)}}},[e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Welcome to Defender, the hottest security plugin for WordPress! Let’s quickly set up the basics for you, then you can fine tweak each setting as you go – our recommendations are on by default."))+"\n ")]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Automatic File Scans & Reporting"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Scan your website for file changes, vulnerabilities and injected code and get notified about anything suspicious."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_scan,expression:"model.activate_scan"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",name:"activator[]",checked:"",id:"active_scan",value:"activate_scan"},domProps:{checked:Array.isArray(t.model.activate_scan)?t._i(t.model.activate_scan,"activate_scan")>-1:t.model.activate_scan},on:{change:function(s){var e=t.model.activate_scan,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_scan",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_scan",e.concat([n])):o>-1&&t.$set(t.model,"activate_scan",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_scan",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Track and log events when changes are made to your website giving you full visibility of what’s going on behind the scenes."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_audit,expression:"model.activate_audit"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",name:"activator[]",checked:"",id:"active_audit",value:"activate_audit"},domProps:{checked:Array.isArray(t.model.activate_audit)?t._i(t.model.activate_audit,"activate_audit")>-1:t.model.activate_audit},on:{change:function(s){var e=t.model.activate_audit,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_audit",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_audit",e.concat([n])):o>-1&&t.$set(t.model,"activate_audit",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_audit",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("IP Lockouts"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Protect your login area and have Defender automatically lockout any suspicious behaviour."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_lockout,expression:"model.activate_lockout"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",checked:"",name:"activator[]",id:"activate_lockout",value:"activate_lockout"},domProps:{checked:Array.isArray(t.model.activate_lockout)?t._i(t.model.activate_lockout,"activate_lockout")>-1:t.model.activate_lockout},on:{change:function(s){var e=t.model.activate_lockout,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_lockout",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_lockout",e.concat([n])):o>-1&&t.$set(t.model,"activate_lockout",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_lockout",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Blacklist Monitor"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Automatically check if you’re on Google’s blacklist every 6 hours. If something’s wrong, we’ll let you know via email."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_blacklist,expression:"model.activate_blacklist"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",checked:"",name:"activator[]",id:"activate_blacklist",value:"activate_blacklist"},domProps:{checked:Array.isArray(t.model.activate_blacklist)?t._i(t.model.activate_blacklist,"activate_blacklist")>-1:t.model.activate_blacklist},on:{change:function(s){var e=t.model.activate_blacklist,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_blacklist",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_blacklist",e.concat([n])):o>-1&&t.$set(t.model,"activate_blacklist",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_blacklist",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])])]),t._v(" "),e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-9"},[e("small",[t._v("\n "+t._s(t.__("Note: These services will be configured with our recommended settings. You can change these at any time."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-3"},[e("submit-button",{staticClass:"sui-button sui-button-blue quicksetup-apply",attrs:{type:"submit",state:t.state}},[t._v("\n "+t._s(t.__("Get Started"))+"\n ")])],1)])])]),t._v(" "),t.maybeHideBranding?e("img",{staticClass:"sui-image sui-image-center",attrs:{src:t.assetUrl("/assets/img/defender-activator.svg")}}):t._e()]):e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Just a moment while Defender activates those services for you.."))+"\n ")]),t._v(" "),t._m(0),t._v(" "),t._m(1)])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-progress-block"},[s("div",{staticClass:"sui-progress"},[s("div",{staticClass:"sui-progress-text scan-progress-text sui-icon-loader sui-loading"},[s("span",[this._v("0%")])]),this._v(" "),s("div",{staticClass:"sui-progress-bar scan-progress-bar"},[s("span",{staticStyle:{width:"0%"}})])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-progress-state"},[s("span",{staticClass:"status-text"})])}],!1,null,null,null).exports,E={mixins:[n.a],name:"quick-setup",data:function(){return{state:{on_saving:!1},model:{activate_scan:!0,activate_lockout:!0},status:"normal",nonces:dashboard.quick_setup.nonces,endpoints:dashboard.quick_setup.endpoints}},methods:{activate:function(){this.httpPostRequest("activate",this.model,(function(t){window.location.reload()}))},skip:function(){this.httpPostRequest("skip",this.model,(function(t){SUI.dialogs.activator.hide()}))}},mounted:function(){document.onreadystatechange=function(){"complete"===document.readyState&&void 0!==SUI.dialogs.activator&&SUI.dialogs.activator.show()}}},$=Object(r.a)(E,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-dialog",attrs:{"aria-hidden":"true",tabindex:"-1",id:"activator"}},[e("div",{staticClass:"sui-dialog-overlay",attrs:{"data-a11y-dialog-hide":""}}),t._v(" "),e("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"Quick setup","aria-describedby":"",role:"dialog"}},["normal"===t.status?e("div",{staticClass:"sui-box",attrs:{role:"document"}},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Quick Setup"))+"\n ")]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.skip(s)}}},[e("submit-button",{staticClass:"sui-button-ghost",attrs:{type:"submit",state:t.state}},[t._v("\n "+t._s(t.__("Skip"))+"\n ")])],1)])]),t._v(" "),e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.activate(s)}}},[e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Welcome to Defender, the hottest security plugin for WordPress! Let’s quickly set up the basics for you, then you can fine tweak each setting as you go – our recommendations are on by default."))+"\n ")]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("File Scanning"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Scan your website for file changes, vulnerabilities and injected code and get notified about anything suspicious."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_scan,expression:"model.activate_scan"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",name:"activator[]",checked:"",id:"active_scan",value:"activate_scan"},domProps:{checked:Array.isArray(t.model.activate_scan)?t._i(t.model.activate_scan,"activate_scan")>-1:t.model.activate_scan},on:{change:function(s){var e=t.model.activate_scan,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_scan",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_scan",e.concat([n])):o>-1&&t.$set(t.model,"activate_scan",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_scan",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("IP Lockouts"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Protect your login area and have Defender automatically lockout any suspicious behaviour."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_lockout,expression:"model.activate_lockout"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",checked:"",name:"activator[]",id:"activate_lockout",value:"activate_lockout"},domProps:{checked:Array.isArray(t.model.activate_lockout)?t._i(t.model.activate_lockout,"activate_lockout")>-1:t.model.activate_lockout},on:{change:function(s){var e=t.model.activate_lockout,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_lockout",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_lockout",e.concat([n])):o>-1&&t.$set(t.model,"activate_lockout",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_lockout",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])])]),t._v(" "),e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-9"},[e("small",[t._v("\n "+t._s(t.__("Note: These services will be configured with our recommended settings. You can change these at any time."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-3"},[e("submit-button",{staticClass:"sui-button sui-button-blue",attrs:{type:"submit",state:t.state}},[t._v("\n "+t._s(t.__("Get Started"))+"\n ")])],1)])])]),t._v(" "),t.maybeHideBranding?e("img",{staticClass:"sui-image sui-image-center",attrs:{src:t.assetUrl("/assets/img/defender-activator.svg")}}):t._e()]):e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Just a moment while Defender activates those services for you.."))+"\n ")]),t._v(" "),t._m(0),t._v(" "),t._m(1)])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-progress-block"},[s("div",{staticClass:"sui-progress"},[s("div",{staticClass:"sui-progress-text scan-progress-text sui-icon-loader sui-loading"},[s("span",[this._v("0%")])]),this._v(" "),s("div",{staticClass:"sui-progress-bar scan-progress-bar"},[s("span",{staticStyle:{width:"0%"}})])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-progress-state"},[s("span",{staticClass:"status-text"})])}],!1,null,null,null).exports,O={mixins:[n.a],name:"cross-sale"},D=Object(r.a)(O,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("section",[e("div",{staticClass:"sui-row",attrs:{id:"sui-cross-sell-footer"}},[t._m(0),t._v(" "),e("h3",[t._v(t._s(t.__("Check out our other free wordpress.org plugins!")))])]),t._v(" "),e("div",{staticClass:"sui-row sui-cross-sell-modules"},[e("div",{staticClass:"sui-col-md-4"},[t._m(1),t._v(" "),e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("h3",[t._v(t._s(t.__("Smush Image Compression and Optimization")))]),t._v(" "),e("p",[t._v(t._s(t.__("Resize, optimize and compress all of your images with the incredibly powerful and award-winning, 100% free WordPress image optimizer.")))]),t._v(" "),e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:"https://wordpress.org/plugins/wp-smushit/",target:"_blank"}},[t._v("\n "+t._s(t.__("View features"))+" "),e("i",{staticClass:"sui-icon-arrow-right",attrs:{"aria-hidden":"true"}})])])])]),t._v(" "),e("div",{staticClass:"sui-col-md-4"},[t._m(2),t._v(" "),e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("h3",[t._v(t._s(t.__("Hummingbird Page Speed Optimization")))]),t._v(" "),e("p",[t._v(t._s(t.__("Performance Tests, File Optimization & Compression, Page, Browser & Gravatar Caching, GZIP Compression, CloudFlare Integration & more.")))]),t._v(" "),e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:"https://wordpress.org/plugins/hummingbird-performance/",target:"_blank"}},[t._v("\n "+t._s(t.__("View features"))+" "),e("i",{staticClass:"sui-icon-arrow-right",attrs:{"aria-hidden":"true"}})])])])]),t._v(" "),e("div",{staticClass:"sui-col-md-4"},[t._m(3),t._v(" "),e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("h3",[t._v(t._s(t.__("SmartCrawl Search Engine Optimization")))]),t._v(" "),e("p",[t._v(t._s(t.__("Customize Titles & Meta Data, OpenGraph, Twitter & Pinterest Support, Auto-Keyword Linking, SEO & Readability Analysis, Sitemaps, URL Crawler & more.")))]),t._v(" "),e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:"https://wordpress.org/plugins/smartcrawl-seo/",target:"_blank"}},[t._v("\n "+t._s(t.__("View features"))+" "),e("i",{staticClass:"sui-icon-arrow-right",attrs:{"aria-hidden":"true"}})])])])])]),t._v(" "),e("div",{staticClass:"sui-cross-sell-bottom"},[e("h3",[t._v(t._s(t.__("WPMU DEV - Your All-in-One WordPress Platform")))]),t._v(" "),e("p",[t._v(t._s(t.__("Pretty much everything you need for developing and managing WordPress based websites, and then some")))]),t._v(" "),e("a",{staticClass:"sui-button sui-button-green",attrs:{href:"https://premium.wpmudev.org/?utm_source=defender&utm_medium=plugin&utm_campaign=defender_dash_footer_upsell_notice",target:"_blank",role:"button"}},[t._v(t._s(t.__("Learn more"))+"\n ")]),t._v(" "),e("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/dev-team.png"),srcset:t.assetUrl("assets/img/dev-team@2x.png 2x"),"aria-hidden":"true"}})])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",[s("span",{staticClass:"sui-icon-plugin-2"})])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-cross-1",attrs:{"aria-hidden":"true"}},[s("span")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-cross-2",attrs:{"aria-hidden":"true"}},[s("span")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-cross-3",attrs:{"aria-hidden":"true"}},[s("span")])}],!1,null,null,null).exports,R={mixins:[n.a],name:"dashboard",data:function(){return{quick_setup:parseInt(dashboard.quick_setup.show),is_free:parseInt(defender.is_free),security_tweaks:{count:{issues:dashboard.security_tweaks.count.issues,resolved:dashboard.security_tweaks.count.resolved,total:dashboard.security_tweaks.count.total}},scan:{count:0,scan:dashboard.scan.scan},ip_lockout:{last_lockout:dashboard.ip_lockout.summary.lastLockout},nonces:dashboard.scan.nonces,endpoints:dashboard.scan.endpoints,state:{on_saving:!1}}},components:{"security-tweaks":c,"file-scanning":u,"file-scanning-free":_,blacklist:v,"blacklist-free":f,"ip-lockout":g,audit:y,"audit-free":k,report:x,"report-free":A,"advanced-tools":P,"quick-setup":I,"quick-setup-free":$,"cross-sale":D},methods:{countScanIssues:function(){var t=dashboard.scan.scan;return null===t||"init"===t.status||"progress"===t.status?0:t.count.total},newScan:function(){var t=this;this.httpPostRequest("newScan",{},(function(s){t.$nextTick((function(){var e=t.$refs["file-scanning"];e.scan={},t.scan.scan={},t.scan.scan.status=s.data.status,e.scan.status=s.data.status,e.scan.percent=s.data.percent,e.scan.status_text=s.data.status_text,e.polling()}))}))},scanCanceled:function(t){this.scan.scan=t},scanCompleted:function(t,s){this.scan.count=s,this.scan.scan=t}},computed:{tooltips:function(){var t=this.__("You don't have any outstanding security issues, nice work!");return 1===this.security_tweaks.count.issues&&0===this.scan.count?t=this.__("You have one security tweak left to do. We recommend you action it, or ignore it if it's irrelevant."):0===this.security_tweaks.count.issues&&1===this.scan.count?t=this.__("We've detected a potential security risk in your file system. We recommend you take a look and action a fix, or ignore the file if it's harmless."):1===this.security_tweaks.count.issues&&1===this.scan.count?t=this.__("You have one security tweak left to do, and one potential security risk in your file system. We recommend you take a look and action fixes, or ignore the issues if they are harmless."):1===this.security_tweaks.count.issues&&this.scan.count>1?t=this.vsprintf(this.__("You have one security tweak left to do, and %s potential security risks in your file system. We recommend you take a look and action fixes, or ignore the issues if they are harmless"),this.scan.count):this.security_tweaks.count.issues>1&&1===this.scan.count?t=this.vsprintf(this.__("You have %s security tweaks left to do, and one potential security risk in your file system. We recommend you take a look and action fixes, or ignore the issues if they are harmless."),this.security_tweaks.count.issues):this.security_tweaks.count.issues>1&&this.scan.count>1?t=this.vsprintf(this.__("You have %s security tweaks left to do, and %s potential security risks in your file system. We recommend you take a look and action fixes, or ignore the issues if they are harmless."),this.security_tweaks.count.issues,this.scan.count):this.security_tweaks.count.issues>1&&0===this.scan.count?t=this.vsprintf(this.__("You have %d security tweaks left to do. We recommend you action it, or ignore it if it's irrelevant."),this.security_tweaks.count.issues):0===this.security_tweaks.count.issues&&this.scan.count>1&&(t=this.vsprintf(this.__("We've detected %d potential security risks in your file system. We recommend you take a look and action a fix, or ignore the file if it's harmless."),this.scan.count)),t},securityTweaksIndicator:function(){return this.security_tweaks.count.resolved+"/"+this.security_tweaks.count.total},countTotalIssues:function(){return this.scan.count+this.security_tweaks.count.issues}},mounted:function(){var t=this;this.$nextTick((function(){t.scan.count=t.countScanIssues()}))}},q=Object(r.a)(R,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-wrap",class:t.maybeHighContrast()},[e("div",{staticClass:"defender-dashboard"},[e("div",{staticClass:"sui-header"},[e("h1",{staticClass:"sui-header-title"},[t._v(t._s(t.__("Dashboard")))]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender"}})],1)]),t._v(" "),e("summary-box",[e("div",{staticClass:"sui-summary-segment"},[e("div",{staticClass:"sui-summary-details"},[e("span",{staticClass:"sui-summary-large",domProps:{textContent:t._s(t.countTotalIssues)}}),t._v(" "),e("span",{staticClass:"sui-tooltip sui-tooltip-top-left sui-tooltip-constrained",attrs:{"data-tooltip":t.tooltips}},[0===this.security_tweaks.count.issues&&0===this.scan.count?e("i",{staticClass:"sui-icon-check-tick sui-success",attrs:{"aria-hidden":"true"}}):e("i",{staticClass:"sui-icon-info sui-warning",attrs:{"aria-hidden":"true"}})]),t._v(" "),e("span",{staticClass:"sui-summary-sub"},[t._v(t._s(t.__("Security Issue")))])])]),t._v(" "),e("div",{staticClass:"sui-summary-segment"},[e("ul",{staticClass:"sui-list"},[e("li",[e("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("Security Tweaks Actioned")))]),t._v(" "),e("span",{staticClass:"sui-list-detail",domProps:{textContent:t._s(t.securityTweaksIndicator)}})]),t._v(" "),e("li",[e("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("File Scan Issues")))]),t._v(" "),e("span",{staticClass:"sui-list-detail"},[null===t.scan.scan?e("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:t.newScan}},[t._v("\n "+t._s(t.__("New Scan"))+"\n ")]):"init"===t.scan.scan.status||"progress"===t.scan.scan.status?e("i",{staticClass:"sui-icon-loader sui-loading"}):0===t.scan.count?e("i",{staticClass:"sui-icon-check-tick sui-success"}):e("span",{staticClass:"sui-tag sui-tag-error"},[t._v(t._s(t.scan.count))])],1)]),t._v(" "),e("li",[e("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("Last Lockout")))]),t._v(" "),e("span",{staticClass:"sui-list-detail"},[t._v(t._s(t.ip_lockout.last_lockout))])])])])]),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-6"},[e("security-tweaks"),t._v(" "),0===t.is_free?e("blacklist"):1===t.is_free?e("blacklist-free"):t._e(),t._v(" "),e("advanced-tools")],1),t._v(" "),e("div",{staticClass:"sui-col-md-6"},[0===t.is_free?e("file-scanning",{ref:"file-scanning",on:{scanCanceled:t.scanCanceled,scanCompleted:t.scanCompleted}}):1===t.is_free?e("file-scanning-free",{ref:"file-scanning",attrs:{scanCompleted:"scanCompleted"},on:{scanCanceled:t.scanCanceled}}):t._e(),t._v(" "),e("ip-lockout"),t._v(" "),0===t.is_free?e("audit"):1===t.is_free?e("audit-free"):t._e(),t._v(" "),0===t.is_free?e("report"):1===t.is_free?e("report-free"):t._e()],1)]),t._v(" "),1===t.is_free?e("cross-sale"):t._e(),t._v(" "),e("app-footer")],1),t._v(" "),1===t.quick_setup&&0===t.is_free?e("quick-setup"):1===t.quick_setup&&1===t.is_free?e("quick-setup-free"):t._e()],1)}),[],!1,null,null,null).exports,L=e("./src/component/overlay.vue"),U=e("./src/component/submit-button.vue"),H=e("./src/component/footer.vue"),W=e("./src/component/doc-link.vue"),M=e("./src/component/summary-box.vue");a.a.component("overlay",L.a),a.a.component("submit-button",U.a),a.a.component("app-footer",H.a),a.a.component("doc-link",W.a),a.a.component("summary-box",M.a);new a.a({el:"#defender",components:{dashboard:q},render:function(t){return t(q)}})},"./src/helper/base_hepler.js":function(t,s,e){"use strict";var i=e("./node_modules/xss/lib/index.js"),a=function(t,s){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,s){var e=[],i=!0,a=!1,n=void 0;try{for(var o,r=t[Symbol.iterator]();!(i=(o=r.next()).done)&&(e.push(o.value),!s||e.length!==s);i=!0);}catch(t){a=!0,n=t}finally{try{!i&&r.return&&r.return()}finally{if(a)throw n}}return e}(t,s);throw new TypeError("Invalid attempt to destructure non-iterable instance")},n=wp.i18n,o={whiteList:{a:["href","title","target"],span:["class"],strong:["*"]},safeAttrValue:function(t,s,e,a){return"a"===t&&"href"===s&&"%s"===e?"%s":Object(i.safeAttrValue)(t,s,e,a)}},r=new i.FilterXSS(o),c=[];s.a={methods:{__:function(t){var s=n.__(t,"wpdef");return r.process(s)},xss:function(t){return r.process(t)},vsprintf:function(t){return n.sprintf.apply(null,arguments)},siteUrl:function(t){return void 0!==t?defender.site_url+t:defender.site_url},adminUrl:function(t){return void 0!==t?defender.admin_url+t:defender.admin_url},assetUrl:function(t){return defender.defender_url+t},maybeHighContrast:function(){return{"sui-color-accessible":!0===defender.misc.high_contrast}},maybeHideBranding:function(){return defender.whitelabel.hide_branding},campaign_url:function(t){return"https://premium.wpmudev.org/project/wp-defender/?utm_source=defender&utm_medium=plugin&utm_campaign="+t},httpRequest:function(t,s,e,i,a){var n=this;void 0===a&&(this.state.on_saving=!0);var o=ajaxurl+"?action="+this.endpoints[s]+"&_wpnonce="+this.nonces[s],r=jQuery.ajax({url:o,method:t,data:e,success:function(t){var s=t.data;n.state.on_saving=!1,void 0!==s&&void 0!==s.message&&(t.success?Defender.showNotification("success",s.message):Defender.showNotification("error",s.message)),void 0!==i&&i(t)}});c.push(r)},httpGetRequest:function(t,s,e,i){this.httpRequest("get",t,s,e,i)},httpPostRequest:function(t,s,e,i){this.httpRequest("post",t,s,e,i)},abortAllRequests:function(){for(var t=0;t<c.length;t++)c[t].abort()},getQueryStringParams:function(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((function(t,s){var e=s.split("="),i=a(e,2),n=i[0],o=i[1];return t[n]=o?decodeURIComponent(o.replace(/\+/g," ")):"",t}),{}):{}},rebindSUI:function(){jQuery("select:not([multiple])").each((function(){SUI.suiSelect(this)})),jQuery(".sui-accordion").each((function(){SUI.suiAccordion(this)}));var t=jQuery(".sui-wrap");SUI.dialogs={},jQuery(".sui-dialog").each((function(){SUI.dialogs[this.id]=new A11yDialog(this,t)}))}}}},vue:function(t,s){t.exports=Vue}});
|
assets/app/ip-lockout.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t){var e=window.webpackHotUpdate;window.webpackHotUpdate=function(t,s){!function(t,e){if(!y[t]||!b[t])return;for(var s in b[t]=!1,e)Object.prototype.hasOwnProperty.call(e,s)&&(h[s]=e[s]);0==--f&&0===v&&x()}(t,s),e&&e(t,s)};var s,i=!0,n="495f1b1cd29114aab5aa",a={},o=[],r=[];function l(t){var e=D[t];if(!e)return P;var i=function(i){return e.hot.active?(D[i]?-1===D[i].parents.indexOf(t)&&D[i].parents.push(t):(o=[t],s=i),-1===e.children.indexOf(i)&&e.children.push(i)):(console.warn("[HMR] unexpected require("+i+") from disposed module "+t),o=[]),P(i)},n=function(t){return{configurable:!0,enumerable:!0,get:function(){return P[t]},set:function(e){P[t]=e}}};for(var a in P)Object.prototype.hasOwnProperty.call(P,a)&&"e"!==a&&"t"!==a&&Object.defineProperty(i,a,n(a));return i.e=function(t){return"ready"===d&&_("prepare"),v++,P.e(t).then(e,(function(t){throw e(),t}));function e(){v--,"prepare"===d&&(g[t]||C(t),0===v&&0===f&&x())}},i.t=function(t,e){return 1&e&&(t=i(t)),P.t(t,-2&e)},i}function u(t){var e={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:s!==t,active:!0,accept:function(t,s){if(void 0===t)e._selfAccepted=!0;else if("function"==typeof t)e._selfAccepted=t;else if("object"==typeof t)for(var i=0;i<t.length;i++)e._acceptedDependencies[t[i]]=s||function(){};else e._acceptedDependencies[t]=s||function(){}},decline:function(t){if(void 0===t)e._selfDeclined=!0;else if("object"==typeof t)for(var s=0;s<t.length;s++)e._declinedDependencies[t[s]]=!0;else e._declinedDependencies[t]=!0},dispose:function(t){e._disposeHandlers.push(t)},addDisposeHandler:function(t){e._disposeHandlers.push(t)},removeDisposeHandler:function(t){var s=e._disposeHandlers.indexOf(t);s>=0&&e._disposeHandlers.splice(s,1)},check:w,apply:S,status:function(t){if(!t)return d;c.push(t)},addStatusHandler:function(t){c.push(t)},removeStatusHandler:function(t){var e=c.indexOf(t);e>=0&&c.splice(e,1)},data:a[t]};return s=void 0,e}var c=[],d="idle";function _(t){d=t;for(var e=0;e<c.length;e++)c[e].call(null,t)}var m,h,p,f=0,v=0,g={},b={},y={};function k(t){return+t+""===t?+t:t}function w(t){if("idle"!==d)throw new Error("check() is only allowed in idle status");return i=t,_("check"),(e=1e4,e=e||1e4,new Promise((function(t,s){if("undefined"==typeof XMLHttpRequest)return s(new Error("No browser support"));try{var i=new XMLHttpRequest,a=P.p+""+n+".hot-update.json";i.open("GET",a,!0),i.timeout=e,i.send(null)}catch(t){return s(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)s(new Error("Manifest request to "+a+" timed out."));else if(404===i.status)t();else if(200!==i.status&&304!==i.status)s(new Error("Manifest request to "+a+" failed."));else{try{var e=JSON.parse(i.responseText)}catch(t){return void s(t)}t(e)}}}))).then((function(t){if(!t)return _("idle"),null;b={},g={},y=t.c,p=t.h,_("prepare");var e=new Promise((function(t,e){m={resolve:t,reject:e}}));h={};return C(3),"prepare"===d&&0===v&&0===f&&x(),e}));var e}function C(t){y[t]?(b[t]=!0,f++,function(t){var e=document.createElement("script");e.charset="utf-8",e.src=P.p+""+t+"."+n+".hot-update.js",document.head.appendChild(e)}(t)):g[t]=!0}function x(){_("ready");var t=m;if(m=null,t)if(i)Promise.resolve().then((function(){return S(i)})).then((function(e){t.resolve(e)}),(function(e){t.reject(e)}));else{var e=[];for(var s in h)Object.prototype.hasOwnProperty.call(h,s)&&e.push(k(s));t.resolve(e)}}function S(e){if("ready"!==d)throw new Error("apply() is only allowed in ready status");var s,i,r,l,u;function c(t){for(var e=[t],s={},i=e.map((function(t){return{chain:[t],id:t}}));i.length>0;){var n=i.pop(),a=n.id,o=n.chain;if((l=D[a])&&!l.hot._selfAccepted){if(l.hot._selfDeclined)return{type:"self-declined",chain:o,moduleId:a};if(l.hot._main)return{type:"unaccepted",chain:o,moduleId:a};for(var r=0;r<l.parents.length;r++){var u=l.parents[r],c=D[u];if(c){if(c.hot._declinedDependencies[a])return{type:"declined",chain:o.concat([u]),moduleId:a,parentId:u};-1===e.indexOf(u)&&(c.hot._acceptedDependencies[a]?(s[u]||(s[u]=[]),m(s[u],[a])):(delete s[u],e.push(u),i.push({chain:o.concat([u]),id:u})))}}}}return{type:"accepted",moduleId:t,outdatedModules:e,outdatedDependencies:s}}function m(t,e){for(var s=0;s<e.length;s++){var i=e[s];-1===t.indexOf(i)&&t.push(i)}}e=e||{};var f={},v=[],g={},b=function(){console.warn("[HMR] unexpected require("+C.moduleId+") to disposed module")};for(var w in h)if(Object.prototype.hasOwnProperty.call(h,w)){var C;u=k(w);var x=!1,S=!1,M=!1,T="";switch((C=h[w]?c(u):{type:"disposed",moduleId:w}).chain&&(T="\nUpdate propagation: "+C.chain.join(" -> ")),C.type){case"self-declined":e.onDeclined&&e.onDeclined(C),e.ignoreDeclined||(x=new Error("Aborted because of self decline: "+C.moduleId+T));break;case"declined":e.onDeclined&&e.onDeclined(C),e.ignoreDeclined||(x=new Error("Aborted because of declined dependency: "+C.moduleId+" in "+C.parentId+T));break;case"unaccepted":e.onUnaccepted&&e.onUnaccepted(C),e.ignoreUnaccepted||(x=new Error("Aborted because "+u+" is not accepted"+T));break;case"accepted":e.onAccepted&&e.onAccepted(C),S=!0;break;case"disposed":e.onDisposed&&e.onDisposed(C),M=!0;break;default:throw new Error("Unexception type "+C.type)}if(x)return _("abort"),Promise.reject(x);if(S)for(u in g[u]=h[u],m(v,C.outdatedModules),C.outdatedDependencies)Object.prototype.hasOwnProperty.call(C.outdatedDependencies,u)&&(f[u]||(f[u]=[]),m(f[u],C.outdatedDependencies[u]));M&&(m(v,[C.moduleId]),g[u]=b)}var O,j=[];for(i=0;i<v.length;i++)u=v[i],D[u]&&D[u].hot._selfAccepted&&g[u]!==b&&j.push({module:u,errorHandler:D[u].hot._selfAccepted});_("dispose"),Object.keys(y).forEach((function(t){!1===y[t]&&function(t){delete installedChunks[t]}(t)}));for(var Y,I,L=v.slice();L.length>0;)if(u=L.pop(),l=D[u]){var A={},N=l.hot._disposeHandlers;for(r=0;r<N.length;r++)(s=N[r])(A);for(a[u]=A,l.hot.active=!1,delete D[u],delete f[u],r=0;r<l.children.length;r++){var E=D[l.children[r]];E&&((O=E.parents.indexOf(u))>=0&&E.parents.splice(O,1))}}for(u in f)if(Object.prototype.hasOwnProperty.call(f,u)&&(l=D[u]))for(I=f[u],r=0;r<I.length;r++)Y=I[r],(O=l.children.indexOf(Y))>=0&&l.children.splice(O,1);for(u in _("apply"),n=p,g)Object.prototype.hasOwnProperty.call(g,u)&&(t[u]=g[u]);var R=null;for(u in f)if(Object.prototype.hasOwnProperty.call(f,u)&&(l=D[u])){I=f[u];var U=[];for(i=0;i<I.length;i++)if(Y=I[i],s=l.hot._acceptedDependencies[Y]){if(-1!==U.indexOf(s))continue;U.push(s)}for(i=0;i<U.length;i++){s=U[i];try{s(I)}catch(t){e.onErrored&&e.onErrored({type:"accept-errored",moduleId:u,dependencyId:I[i],error:t}),e.ignoreErrored||R||(R=t)}}}for(i=0;i<j.length;i++){var H=j[i];u=H.module,o=[u];try{P(u)}catch(t){if("function"==typeof H.errorHandler)try{H.errorHandler(t)}catch(s){e.onErrored&&e.onErrored({type:"self-accept-error-handler-errored",moduleId:u,error:s,originalError:t}),e.ignoreErrored||R||(R=s),R||(R=t)}else e.onErrored&&e.onErrored({type:"self-accept-errored",moduleId:u,error:t}),e.ignoreErrored||R||(R=t)}}return R?(_("fail"),Promise.reject(R)):(_("idle"),new Promise((function(t){t(v)})))}var D={};function P(e){if(D[e])return D[e].exports;var s=D[e]={i:e,l:!1,exports:{},hot:u(e),parents:(r=o,o=[],r),children:[]};return t[e].call(s.exports,s,s.exports,l(e)),s.l=!0,s.exports}P.m=t,P.c=D,P.d=function(t,e,s){P.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},P.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},P.t=function(t,e){if(1&e&&(t=P(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(P.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)P.d(s,i,function(e){return t[e]}.bind(null,i));return s},P.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return P.d(e,"a",e),e},P.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},P.p="",P.h=function(){return n},l("./src/ip-lockout.js")(P.s="./src/ip-lockout.js")}({"./node_modules/cssfilter/lib/css.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),n=s("./node_modules/cssfilter/lib/parser.js");s("./node_modules/cssfilter/lib/util.js");function a(t){return null==t}function o(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).whiteList=t.whiteList||i.whiteList,t.onAttr=t.onAttr||i.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||i.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,this.options=t}o.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onAttr,o=e.onIgnoreAttr,r=e.safeAttrValue;return n(t,(function(t,e,n,l,u){var c=s[n],d=!1;if(!0===c?d=c:"function"==typeof c?d=c(l):c instanceof RegExp&&(d=c.test(l)),!0!==d&&(d=!1),l=r(n,l)){var _,m={position:e,sourcePosition:t,source:u,isWhite:d};return d?a(_=i(n,l,m))?n+":"+l:_:a(_=o(n,l,m))?void 0:_}}))},t.exports=o},"./node_modules/cssfilter/lib/default.js":function(t,e){function s(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var i=/javascript\s*\:/gim;e.whiteList=s(),e.getDefaultWhiteList=s,e.onAttr=function(t,e,s){},e.onIgnoreAttr=function(t,e,s){},e.safeAttrValue=function(t,e){return i.test(e)?"":e}},"./node_modules/cssfilter/lib/index.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),n=s("./node_modules/cssfilter/lib/css.js");for(var a in(e=t.exports=function(t,e){return new n(e).process(t)}).FilterCSS=n,i)e[a]=i[a];"undefined"!=typeof window&&(window.filterCSS=t.exports)},"./node_modules/cssfilter/lib/parser.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/util.js");t.exports=function(t,e){";"!==(t=i.trimRight(t))[t.length-1]&&(t+=";");var s=t.length,n=!1,a=0,o=0,r="";function l(){if(!n){var s=i.trim(t.slice(a,o)),l=s.indexOf(":");if(-1!==l){var u=i.trim(s.slice(0,l)),c=i.trim(s.slice(l+1));if(u){var d=e(a,r.length,u,c,s);d&&(r+=d+"; ")}}}a=o+1}for(;o<s;o++){var u=t[o];if("/"===u&&"*"===t[o+1]){var c=t.indexOf("*/",o+2);if(-1===c)break;a=(o=c+1)+1,n=!1}else"("===u?n=!0:")"===u?n=!1:";"===u?n||l():"\n"===u&&l()}return i.trim(r)}},"./node_modules/cssfilter/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,n;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,n=t.length;i<n;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\s*$)/g,"")}}},"./node_modules/lodash/_Symbol.js":function(t,e,s){var i=s("./node_modules/lodash/_root.js").Symbol;t.exports=i},"./node_modules/lodash/_baseGetTag.js":function(t,e,s){var i=s("./node_modules/lodash/_Symbol.js"),n=s("./node_modules/lodash/_getRawTag.js"),a=s("./node_modules/lodash/_objectToString.js"),o=i?i.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":o&&o in Object(t)?n(t):a(t)}},"./node_modules/lodash/_baseSlice.js":function(t,e){t.exports=function(t,e,s){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),(s=s>n?n:s)<0&&(s+=n),n=e>s?0:s-e>>>0,e>>>=0;for(var a=Array(n);++i<n;)a[i]=t[i+e];return a}},"./node_modules/lodash/_freeGlobal.js":function(t,e,s){(function(e){var s="object"==typeof e&&e&&e.Object===Object&&e;t.exports=s}).call(this,s("./node_modules/webpack/buildin/global.js"))},"./node_modules/lodash/_getRawTag.js":function(t,e,s){var i=s("./node_modules/lodash/_Symbol.js"),n=Object.prototype,a=n.hasOwnProperty,o=n.toString,r=i?i.toStringTag:void 0;t.exports=function(t){var e=a.call(t,r),s=t[r];try{t[r]=void 0;var i=!0}catch(t){}var n=o.call(t);return i&&(e?t[r]=s:delete t[r]),n}},"./node_modules/lodash/_isIndex.js":function(t,e){var s=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){var i=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==i||"symbol"!=i&&s.test(t))&&t>-1&&t%1==0&&t<e}},"./node_modules/lodash/_isIterateeCall.js":function(t,e,s){var i=s("./node_modules/lodash/eq.js"),n=s("./node_modules/lodash/isArrayLike.js"),a=s("./node_modules/lodash/_isIndex.js"),o=s("./node_modules/lodash/isObject.js");t.exports=function(t,e,s){if(!o(s))return!1;var r=typeof e;return!!("number"==r?n(s)&&a(e,s.length):"string"==r&&e in s)&&i(s[e],t)}},"./node_modules/lodash/_objectToString.js":function(t,e){var s=Object.prototype.toString;t.exports=function(t){return s.call(t)}},"./node_modules/lodash/_root.js":function(t,e,s){var i=s("./node_modules/lodash/_freeGlobal.js"),n="object"==typeof self&&self&&self.Object===Object&&self,a=i||n||Function("return this")();t.exports=a},"./node_modules/lodash/chunk.js":function(t,e,s){var i=s("./node_modules/lodash/_baseSlice.js"),n=s("./node_modules/lodash/_isIterateeCall.js"),a=s("./node_modules/lodash/toInteger.js"),o=Math.ceil,r=Math.max;t.exports=function(t,e,s){e=(s?n(t,e,s):void 0===e)?1:r(a(e),0);var l=null==t?0:t.length;if(!l||e<1)return[];for(var u=0,c=0,d=Array(o(l/e));u<l;)d[c++]=i(t,u,u+=e);return d}},"./node_modules/lodash/eq.js":function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},"./node_modules/lodash/isArrayLike.js":function(t,e,s){var i=s("./node_modules/lodash/isFunction.js"),n=s("./node_modules/lodash/isLength.js");t.exports=function(t){return null!=t&&n(t.length)&&!i(t)}},"./node_modules/lodash/isFunction.js":function(t,e,s){var i=s("./node_modules/lodash/_baseGetTag.js"),n=s("./node_modules/lodash/isObject.js");t.exports=function(t){if(!n(t))return!1;var e=i(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},"./node_modules/lodash/isLength.js":function(t,e){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},"./node_modules/lodash/isObject.js":function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},"./node_modules/lodash/isObjectLike.js":function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},"./node_modules/lodash/isSymbol.js":function(t,e,s){var i=s("./node_modules/lodash/_baseGetTag.js"),n=s("./node_modules/lodash/isObjectLike.js");t.exports=function(t){return"symbol"==typeof t||n(t)&&"[object Symbol]"==i(t)}},"./node_modules/lodash/toFinite.js":function(t,e,s){var i=s("./node_modules/lodash/toNumber.js");t.exports=function(t){return t?(t=i(t))===1/0||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},"./node_modules/lodash/toInteger.js":function(t,e,s){var i=s("./node_modules/lodash/toFinite.js");t.exports=function(t){var e=i(t),s=e%1;return e==e?s?e-s:e:0}},"./node_modules/lodash/toNumber.js":function(t,e,s){var i=s("./node_modules/lodash/isObject.js"),n=s("./node_modules/lodash/isSymbol.js"),a=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(n(t))return NaN;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(a,"");var s=r.test(t);return s||l.test(t)?u(t.slice(2),s?2:8):o.test(t)?NaN:+t}},"./node_modules/moment/moment.js":function(t,e,s){(function(t){t.exports=function(){"use strict";var e,s;function i(){return e.apply(null,arguments)}function n(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function a(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function o(t){return void 0===t}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function l(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function u(t,e){var s,i=[];for(s=0;s<t.length;++s)i.push(e(t[s],s));return i}function c(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function d(t,e){for(var s in e)c(e,s)&&(t[s]=e[s]);return c(e,"toString")&&(t.toString=e.toString),c(e,"valueOf")&&(t.valueOf=e.valueOf),t}function _(t,e,s,i){return Ce(t,e,s,i,!0).utc()}function m(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function h(t){if(null==t._isValid){var e=m(t),i=s.call(e.parsedDateParts,(function(t){return null!=t})),n=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&i);if(t._strict&&(n=n&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return n;t._isValid=n}return t._isValid}function p(t){var e=_(NaN);return null!=t?d(m(e),t):m(e).userInvalidated=!0,e}s=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),s=e.length>>>0,i=0;i<s;i++)if(i in e&&t.call(this,e[i],i,e))return!0;return!1};var f=i.momentProperties=[];function v(t,e){var s,i,n;if(o(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),o(e._i)||(t._i=e._i),o(e._f)||(t._f=e._f),o(e._l)||(t._l=e._l),o(e._strict)||(t._strict=e._strict),o(e._tzm)||(t._tzm=e._tzm),o(e._isUTC)||(t._isUTC=e._isUTC),o(e._offset)||(t._offset=e._offset),o(e._pf)||(t._pf=m(e)),o(e._locale)||(t._locale=e._locale),f.length>0)for(s=0;s<f.length;s++)o(n=e[i=f[s]])||(t[i]=n);return t}var g=!1;function b(t){v(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===g&&(g=!0,i.updateOffset(this),g=!1)}function y(t){return t instanceof b||null!=t&&null!=t._isAMomentObject}function k(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,s=0;return 0!==e&&isFinite(e)&&(s=k(e)),s}function C(t,e,s){var i,n=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),o=0;for(i=0;i<n;i++)(s&&t[i]!==e[i]||!s&&w(t[i])!==w(e[i]))&&o++;return o+a}function x(t){!1===i.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function S(t,e){var s=!0;return d((function(){if(null!=i.deprecationHandler&&i.deprecationHandler(null,t),s){for(var n,a=[],o=0;o<arguments.length;o++){if(n="","object"==typeof arguments[o]){for(var r in n+="\n["+o+"] ",arguments[0])n+=r+": "+arguments[0][r]+", ";n=n.slice(0,-2)}else n=arguments[o];a.push(n)}x(t+"\nArguments: "+Array.prototype.slice.call(a).join("")+"\n"+(new Error).stack),s=!1}return e.apply(this,arguments)}),e)}var D,P={};function M(t,e){null!=i.deprecationHandler&&i.deprecationHandler(t,e),P[t]||(x(e),P[t]=!0)}function T(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function O(t,e){var s,i=d({},t);for(s in e)c(e,s)&&(a(t[s])&&a(e[s])?(i[s]={},d(i[s],t[s]),d(i[s],e[s])):null!=e[s]?i[s]=e[s]:delete i[s]);for(s in t)c(t,s)&&!c(e,s)&&a(t[s])&&(i[s]=d({},i[s]));return i}function j(t){null!=t&&this.set(t)}i.suppressDeprecationWarnings=!1,i.deprecationHandler=null,D=Object.keys?Object.keys:function(t){var e,s=[];for(e in t)c(t,e)&&s.push(e);return s};var Y={};function I(t,e){var s=t.toLowerCase();Y[s]=Y[s+"s"]=Y[e]=t}function L(t){return"string"==typeof t?Y[t]||Y[t.toLowerCase()]:void 0}function A(t){var e,s,i={};for(s in t)c(t,s)&&(e=L(s))&&(i[e]=t[s]);return i}var N={};function E(t,e){N[t]=e}function R(t,e,s){var i=""+Math.abs(t),n=e-i.length;return(t>=0?s?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+i}var U=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,H=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,W={},$={};function F(t,e,s,i){var n=i;"string"==typeof i&&(n=function(){return this[i]()}),t&&($[t]=n),e&&($[e[0]]=function(){return R(n.apply(this,arguments),e[1],e[2])}),s&&($[s]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function q(t,e){return t.isValid()?(e=V(e,t.localeData()),W[e]=W[e]||function(t){var e,s,i,n=t.match(U);for(e=0,s=n.length;e<s;e++)$[n[e]]?n[e]=$[n[e]]:n[e]=(i=n[e]).match(/\[[\s\S]/)?i.replace(/^\[|\]$/g,""):i.replace(/\\/g,"");return function(e){var i,a="";for(i=0;i<s;i++)a+=T(n[i])?n[i].call(e,t):n[i];return a}}(e),W[e](t)):t.localeData().invalidDate()}function V(t,e){var s=5;function i(t){return e.longDateFormat(t)||t}for(H.lastIndex=0;s>=0&&H.test(t);)t=t.replace(H,i),H.lastIndex=0,s-=1;return t}var G=/\d/,z=/\d\d/,B=/\d{3}/,Q=/\d{4}/,Z=/[+-]?\d{6}/,J=/\d\d?/,X=/\d\d\d\d?/,K=/\d\d\d\d\d\d?/,tt=/\d{1,3}/,et=/\d{1,4}/,st=/[+-]?\d{1,6}/,it=/\d+/,nt=/[+-]?\d+/,at=/Z|[+-]\d\d:?\d\d/gi,ot=/Z|[+-]\d\d(?::?\d\d)?/gi,rt=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,lt={};function ut(t,e,s){lt[t]=T(e)?e:function(t,i){return t&&s?s:e}}function ct(t,e){return c(lt,t)?lt[t](e._strict,e._locale):new RegExp(dt(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(t,e,s,i,n){return e||s||i||n}))))}function dt(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var _t={};function mt(t,e){var s,i=e;for("string"==typeof t&&(t=[t]),r(e)&&(i=function(t,s){s[e]=w(t)}),s=0;s<t.length;s++)_t[t[s]]=i}function ht(t,e){mt(t,(function(t,s,i,n){i._w=i._w||{},e(t,i._w,i,n)}))}function pt(t,e,s){null!=e&&c(_t,t)&&_t[t](e,s._a,s,t)}function ft(t){return vt(t)?366:365}function vt(t){return t%4==0&&t%100!=0||t%400==0}F("Y",0,0,(function(){var t=this.year();return t<=9999?""+t:"+"+t})),F(0,["YY",2],0,(function(){return this.year()%100})),F(0,["YYYY",4],0,"year"),F(0,["YYYYY",5],0,"year"),F(0,["YYYYYY",6,!0],0,"year"),I("year","y"),E("year",1),ut("Y",nt),ut("YY",J,z),ut("YYYY",et,Q),ut("YYYYY",st,Z),ut("YYYYYY",st,Z),mt(["YYYYY","YYYYYY"],0),mt("YYYY",(function(t,e){e[0]=2===t.length?i.parseTwoDigitYear(t):w(t)})),mt("YY",(function(t,e){e[0]=i.parseTwoDigitYear(t)})),mt("Y",(function(t,e){e[0]=parseInt(t,10)})),i.parseTwoDigitYear=function(t){return w(t)+(w(t)>68?1900:2e3)};var gt,bt=yt("FullYear",!0);function yt(t,e){return function(s){return null!=s?(wt(this,t,s),i.updateOffset(this,e),this):kt(this,t)}}function kt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function wt(t,e,s){t.isValid()&&!isNaN(s)&&("FullYear"===e&&vt(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](s,t.month(),Ct(s,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](s))}function Ct(t,e){if(isNaN(t)||isNaN(e))return NaN;var s,i=(e%(s=12)+s)%s;return t+=(e-i)/12,1===i?vt(t)?29:28:31-i%7%2}gt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},F("M",["MM",2],"Mo",(function(){return this.month()+1})),F("MMM",0,0,(function(t){return this.localeData().monthsShort(this,t)})),F("MMMM",0,0,(function(t){return this.localeData().months(this,t)})),I("month","M"),E("month",8),ut("M",J),ut("MM",J,z),ut("MMM",(function(t,e){return e.monthsShortRegex(t)})),ut("MMMM",(function(t,e){return e.monthsRegex(t)})),mt(["M","MM"],(function(t,e){e[1]=w(t)-1})),mt(["MMM","MMMM"],(function(t,e,s,i){var n=s._locale.monthsParse(t,i,s._strict);null!=n?e[1]=n:m(s).invalidMonth=t}));var xt=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,St="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Dt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Pt(t,e,s){var i,n,a,o=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)a=_([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(a,"").toLocaleLowerCase();return s?"MMM"===e?-1!==(n=gt.call(this._shortMonthsParse,o))?n:null:-1!==(n=gt.call(this._longMonthsParse,o))?n:null:"MMM"===e?-1!==(n=gt.call(this._shortMonthsParse,o))?n:-1!==(n=gt.call(this._longMonthsParse,o))?n:null:-1!==(n=gt.call(this._longMonthsParse,o))?n:-1!==(n=gt.call(this._shortMonthsParse,o))?n:null}function Mt(t,e){var s;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=w(e);else if(!r(e=t.localeData().monthsParse(e)))return t;return s=Math.min(t.date(),Ct(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,s),t}function Tt(t){return null!=t?(Mt(this,t),i.updateOffset(this,!0),this):kt(this,"Month")}var Ot=rt,jt=rt;function Yt(){function t(t,e){return e.length-t.length}var e,s,i=[],n=[],a=[];for(e=0;e<12;e++)s=_([2e3,e]),i.push(this.monthsShort(s,"")),n.push(this.months(s,"")),a.push(this.months(s,"")),a.push(this.monthsShort(s,""));for(i.sort(t),n.sort(t),a.sort(t),e=0;e<12;e++)i[e]=dt(i[e]),n[e]=dt(n[e]);for(e=0;e<24;e++)a[e]=dt(a[e]);this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+i.join("|")+")","i")}function It(t,e,s,i,n,a,o){var r;return t<100&&t>=0?(r=new Date(t+400,e,s,i,n,a,o),isFinite(r.getFullYear())&&r.setFullYear(t)):r=new Date(t,e,s,i,n,a,o),r}function Lt(t){var e;if(t<100&&t>=0){var s=Array.prototype.slice.call(arguments);s[0]=t+400,e=new Date(Date.UTC.apply(null,s)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)}else e=new Date(Date.UTC.apply(null,arguments));return e}function At(t,e,s){var i=7+e-s;return-(7+Lt(t,0,i).getUTCDay()-e)%7+i-1}function Nt(t,e,s,i,n){var a,o,r=1+7*(e-1)+(7+s-i)%7+At(t,i,n);return r<=0?o=ft(a=t-1)+r:r>ft(t)?(a=t+1,o=r-ft(t)):(a=t,o=r),{year:a,dayOfYear:o}}function Et(t,e,s){var i,n,a=At(t.year(),e,s),o=Math.floor((t.dayOfYear()-a-1)/7)+1;return o<1?i=o+Rt(n=t.year()-1,e,s):o>Rt(t.year(),e,s)?(i=o-Rt(t.year(),e,s),n=t.year()+1):(n=t.year(),i=o),{week:i,year:n}}function Rt(t,e,s){var i=At(t,e,s),n=At(t+1,e,s);return(ft(t)-i+n)/7}function Ut(t,e){return t.slice(e,7).concat(t.slice(0,e))}F("w",["ww",2],"wo","week"),F("W",["WW",2],"Wo","isoWeek"),I("week","w"),I("isoWeek","W"),E("week",5),E("isoWeek",5),ut("w",J),ut("ww",J,z),ut("W",J),ut("WW",J,z),ht(["w","ww","W","WW"],(function(t,e,s,i){e[i.substr(0,1)]=w(t)})),F("d",0,"do","day"),F("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),F("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),F("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),F("e",0,0,"weekday"),F("E",0,0,"isoWeekday"),I("day","d"),I("weekday","e"),I("isoWeekday","E"),E("day",11),E("weekday",11),E("isoWeekday",11),ut("d",J),ut("e",J),ut("E",J),ut("dd",(function(t,e){return e.weekdaysMinRegex(t)})),ut("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),ut("dddd",(function(t,e){return e.weekdaysRegex(t)})),ht(["dd","ddd","dddd"],(function(t,e,s,i){var n=s._locale.weekdaysParse(t,i,s._strict);null!=n?e.d=n:m(s).invalidWeekday=t})),ht(["d","e","E"],(function(t,e,s,i){e[i]=w(t)}));var Ht="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Wt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),$t="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function Ft(t,e,s){var i,n,a,o=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)a=_([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(a,"").toLocaleLowerCase();return s?"dddd"===e?-1!==(n=gt.call(this._weekdaysParse,o))?n:null:"ddd"===e?-1!==(n=gt.call(this._shortWeekdaysParse,o))?n:null:-1!==(n=gt.call(this._minWeekdaysParse,o))?n:null:"dddd"===e?-1!==(n=gt.call(this._weekdaysParse,o))?n:-1!==(n=gt.call(this._shortWeekdaysParse,o))?n:-1!==(n=gt.call(this._minWeekdaysParse,o))?n:null:"ddd"===e?-1!==(n=gt.call(this._shortWeekdaysParse,o))?n:-1!==(n=gt.call(this._weekdaysParse,o))?n:-1!==(n=gt.call(this._minWeekdaysParse,o))?n:null:-1!==(n=gt.call(this._minWeekdaysParse,o))?n:-1!==(n=gt.call(this._weekdaysParse,o))?n:-1!==(n=gt.call(this._shortWeekdaysParse,o))?n:null}var qt=rt,Vt=rt,Gt=rt;function zt(){function t(t,e){return e.length-t.length}var e,s,i,n,a,o=[],r=[],l=[],u=[];for(e=0;e<7;e++)s=_([2e3,1]).day(e),i=this.weekdaysMin(s,""),n=this.weekdaysShort(s,""),a=this.weekdays(s,""),o.push(i),r.push(n),l.push(a),u.push(i),u.push(n),u.push(a);for(o.sort(t),r.sort(t),l.sort(t),u.sort(t),e=0;e<7;e++)r[e]=dt(r[e]),l[e]=dt(l[e]),u[e]=dt(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function Bt(){return this.hours()%12||12}function Qt(t,e){F(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function Zt(t,e){return e._meridiemParse}F("H",["HH",2],0,"hour"),F("h",["hh",2],0,Bt),F("k",["kk",2],0,(function(){return this.hours()||24})),F("hmm",0,0,(function(){return""+Bt.apply(this)+R(this.minutes(),2)})),F("hmmss",0,0,(function(){return""+Bt.apply(this)+R(this.minutes(),2)+R(this.seconds(),2)})),F("Hmm",0,0,(function(){return""+this.hours()+R(this.minutes(),2)})),F("Hmmss",0,0,(function(){return""+this.hours()+R(this.minutes(),2)+R(this.seconds(),2)})),Qt("a",!0),Qt("A",!1),I("hour","h"),E("hour",13),ut("a",Zt),ut("A",Zt),ut("H",J),ut("h",J),ut("k",J),ut("HH",J,z),ut("hh",J,z),ut("kk",J,z),ut("hmm",X),ut("hmmss",K),ut("Hmm",X),ut("Hmmss",K),mt(["H","HH"],3),mt(["k","kk"],(function(t,e,s){var i=w(t);e[3]=24===i?0:i})),mt(["a","A"],(function(t,e,s){s._isPm=s._locale.isPM(t),s._meridiem=t})),mt(["h","hh"],(function(t,e,s){e[3]=w(t),m(s).bigHour=!0})),mt("hmm",(function(t,e,s){var i=t.length-2;e[3]=w(t.substr(0,i)),e[4]=w(t.substr(i)),m(s).bigHour=!0})),mt("hmmss",(function(t,e,s){var i=t.length-4,n=t.length-2;e[3]=w(t.substr(0,i)),e[4]=w(t.substr(i,2)),e[5]=w(t.substr(n)),m(s).bigHour=!0})),mt("Hmm",(function(t,e,s){var i=t.length-2;e[3]=w(t.substr(0,i)),e[4]=w(t.substr(i))})),mt("Hmmss",(function(t,e,s){var i=t.length-4,n=t.length-2;e[3]=w(t.substr(0,i)),e[4]=w(t.substr(i,2)),e[5]=w(t.substr(n))}));var Jt,Xt=yt("Hours",!0),Kt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d 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"},months:St,monthsShort:Dt,week:{dow:0,doy:6},weekdays:Ht,weekdaysMin:$t,weekdaysShort:Wt,meridiemParse:/[ap]\.?m?\.?/i},te={},ee={};function se(t){return t?t.toLowerCase().replace("_","-"):t}function ie(e){var s=null;if(!te[e]&&void 0!==t&&t&&t.exports)try{s=Jt._abbr,!function(){var t=new Error("Cannot find module 'undefined'");throw t.code="MODULE_NOT_FOUND",t}(),ne(s)}catch(t){}return te[e]}function ne(t,e){var s;return t&&((s=o(e)?oe(t):ae(t,e))?Jt=s:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),Jt._abbr}function ae(t,e){if(null!==e){var s,i=Kt;if(e.abbr=t,null!=te[t])M("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=te[t]._config;else if(null!=e.parentLocale)if(null!=te[e.parentLocale])i=te[e.parentLocale]._config;else{if(null==(s=ie(e.parentLocale)))return ee[e.parentLocale]||(ee[e.parentLocale]=[]),ee[e.parentLocale].push({name:t,config:e}),null;i=s._config}return te[t]=new j(O(i,e)),ee[t]&&ee[t].forEach((function(t){ae(t.name,t.config)})),ne(t),te[t]}return delete te[t],null}function oe(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Jt;if(!n(t)){if(e=ie(t))return e;t=[t]}return function(t){for(var e,s,i,n,a=0;a<t.length;){for(e=(n=se(t[a]).split("-")).length,s=(s=se(t[a+1]))?s.split("-"):null;e>0;){if(i=ie(n.slice(0,e).join("-")))return i;if(s&&s.length>=e&&C(n,s,!0)>=e-1)break;e--}a++}return Jt}(t)}function re(t){var e,s=t._a;return s&&-2===m(t).overflow&&(e=s[1]<0||s[1]>11?1:s[2]<1||s[2]>Ct(s[0],s[1])?2:s[3]<0||s[3]>24||24===s[3]&&(0!==s[4]||0!==s[5]||0!==s[6])?3:s[4]<0||s[4]>59?4:s[5]<0||s[5]>59?5:s[6]<0||s[6]>999?6:-1,m(t)._overflowDayOfYear&&(e<0||e>2)&&(e=2),m(t)._overflowWeeks&&-1===e&&(e=7),m(t)._overflowWeekday&&-1===e&&(e=8),m(t).overflow=e),t}function le(t,e,s){return null!=t?t:null!=e?e:s}function ue(t){var e,s,n,a,o,r=[];if(!t._d){for(n=function(t){var e=new Date(i.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[2]&&null==t._a[1]&&function(t){var e,s,i,n,a,o,r,l;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)a=1,o=4,s=le(e.GG,t._a[0],Et(xe(),1,4).year),i=le(e.W,1),((n=le(e.E,1))<1||n>7)&&(l=!0);else{a=t._locale._week.dow,o=t._locale._week.doy;var u=Et(xe(),a,o);s=le(e.gg,t._a[0],u.year),i=le(e.w,u.week),null!=e.d?((n=e.d)<0||n>6)&&(l=!0):null!=e.e?(n=e.e+a,(e.e<0||e.e>6)&&(l=!0)):n=a}i<1||i>Rt(s,a,o)?m(t)._overflowWeeks=!0:null!=l?m(t)._overflowWeekday=!0:(r=Nt(s,i,n,a,o),t._a[0]=r.year,t._dayOfYear=r.dayOfYear)}(t),null!=t._dayOfYear&&(o=le(t._a[0],n[0]),(t._dayOfYear>ft(o)||0===t._dayOfYear)&&(m(t)._overflowDayOfYear=!0),s=Lt(o,0,t._dayOfYear),t._a[1]=s.getUTCMonth(),t._a[2]=s.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=r[e]=n[e];for(;e<7;e++)t._a[e]=r[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[3]&&0===t._a[4]&&0===t._a[5]&&0===t._a[6]&&(t._nextDay=!0,t._a[3]=0),t._d=(t._useUTC?Lt:It).apply(null,r),a=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[3]=24),t._w&&void 0!==t._w.d&&t._w.d!==a&&(m(t).weekdayMismatch=!0)}}var ce=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,de=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_e=/Z|[+-]\d\d(?::?\d\d)?/,me=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],he=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pe=/^\/?Date\((\-?\d+)/i;function fe(t){var e,s,i,n,a,o,r=t._i,l=ce.exec(r)||de.exec(r);if(l){for(m(t).iso=!0,e=0,s=me.length;e<s;e++)if(me[e][1].exec(l[1])){n=me[e][0],i=!1!==me[e][2];break}if(null==n)return void(t._isValid=!1);if(l[3]){for(e=0,s=he.length;e<s;e++)if(he[e][1].exec(l[3])){a=(l[2]||" ")+he[e][0];break}if(null==a)return void(t._isValid=!1)}if(!i&&null!=a)return void(t._isValid=!1);if(l[4]){if(!_e.exec(l[4]))return void(t._isValid=!1);o="Z"}t._f=n+(a||"")+(o||""),ke(t)}else t._isValid=!1}var ve=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function ge(t){var e=parseInt(t,10);return e<=49?2e3+e:e<=999?1900+e:e}var be={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function ye(t){var e,s,i,n,a,o,r,l=ve.exec(t._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(l){var u=(e=l[4],s=l[3],i=l[2],n=l[5],a=l[6],o=l[7],r=[ge(e),Dt.indexOf(s),parseInt(i,10),parseInt(n,10),parseInt(a,10)],o&&r.push(parseInt(o,10)),r);if(!function(t,e,s){return!t||Wt.indexOf(t)===new Date(e[0],e[1],e[2]).getDay()||(m(s).weekdayMismatch=!0,s._isValid=!1,!1)}(l[1],u,t))return;t._a=u,t._tzm=function(t,e,s){if(t)return be[t];if(e)return 0;var i=parseInt(s,10),n=i%100;return(i-n)/100*60+n}(l[8],l[9],l[10]),t._d=Lt.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),m(t).rfc2822=!0}else t._isValid=!1}function ke(t){if(t._f!==i.ISO_8601)if(t._f!==i.RFC_2822){t._a=[],m(t).empty=!0;var e,s,n,a,o,r=""+t._i,l=r.length,u=0;for(n=V(t._f,t._locale).match(U)||[],e=0;e<n.length;e++)a=n[e],(s=(r.match(ct(a,t))||[])[0])&&((o=r.substr(0,r.indexOf(s))).length>0&&m(t).unusedInput.push(o),r=r.slice(r.indexOf(s)+s.length),u+=s.length),$[a]?(s?m(t).empty=!1:m(t).unusedTokens.push(a),pt(a,s,t)):t._strict&&!s&&m(t).unusedTokens.push(a);m(t).charsLeftOver=l-u,r.length>0&&m(t).unusedInput.push(r),t._a[3]<=12&&!0===m(t).bigHour&&t._a[3]>0&&(m(t).bigHour=void 0),m(t).parsedDateParts=t._a.slice(0),m(t).meridiem=t._meridiem,t._a[3]=function(t,e,s){var i;return null==s?e:null!=t.meridiemHour?t.meridiemHour(e,s):null!=t.isPM?((i=t.isPM(s))&&e<12&&(e+=12),i||12!==e||(e=0),e):e}(t._locale,t._a[3],t._meridiem),ue(t),re(t)}else ye(t);else fe(t)}function we(t){var e=t._i,s=t._f;return t._locale=t._locale||oe(t._l),null===e||void 0===s&&""===e?p({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),y(e)?new b(re(e)):(l(e)?t._d=e:n(s)?function(t){var e,s,i,n,a;if(0===t._f.length)return m(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;n<t._f.length;n++)a=0,e=v({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[n],ke(e),h(e)&&(a+=m(e).charsLeftOver,a+=10*m(e).unusedTokens.length,m(e).score=a,(null==i||a<i)&&(i=a,s=e));d(t,s||e)}(t):s?ke(t):function(t){var e=t._i;o(e)?t._d=new Date(i.now()):l(e)?t._d=new Date(e.valueOf()):"string"==typeof e?function(t){var e=pe.exec(t._i);null===e?(fe(t),!1===t._isValid&&(delete t._isValid,ye(t),!1===t._isValid&&(delete t._isValid,i.createFromInputFallback(t)))):t._d=new Date(+e[1])}(t):n(e)?(t._a=u(e.slice(0),(function(t){return parseInt(t,10)})),ue(t)):a(e)?function(t){if(!t._d){var e=A(t._i);t._a=u([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],(function(t){return t&&parseInt(t,10)})),ue(t)}}(t):r(e)?t._d=new Date(e):i.createFromInputFallback(t)}(t),h(t)||(t._d=null),t))}function Ce(t,e,s,i,o){var r,l={};return!0!==s&&!1!==s||(i=s,s=void 0),(a(t)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(t)||n(t)&&0===t.length)&&(t=void 0),l._isAMomentObject=!0,l._useUTC=l._isUTC=o,l._l=s,l._i=t,l._f=e,l._strict=i,(r=new b(re(we(l))))._nextDay&&(r.add(1,"d"),r._nextDay=void 0),r}function xe(t,e,s,i){return Ce(t,e,s,i,!1)}i.createFromInputFallback=S("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))})),i.ISO_8601=function(){},i.RFC_2822=function(){};var Se=S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=xe.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:p()})),De=S("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=xe.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:p()}));function Pe(t,e){var s,i;if(1===e.length&&n(e[0])&&(e=e[0]),!e.length)return xe();for(s=e[0],i=1;i<e.length;++i)e[i].isValid()&&!e[i][t](s)||(s=e[i]);return s}var Me=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Te(t){var e=A(t),s=e.year||0,i=e.quarter||0,n=e.month||0,a=e.week||e.isoWeek||0,o=e.day||0,r=e.hour||0,l=e.minute||0,u=e.second||0,c=e.millisecond||0;this._isValid=function(t){for(var e in t)if(-1===gt.call(Me,e)||null!=t[e]&&isNaN(t[e]))return!1;for(var s=!1,i=0;i<Me.length;++i)if(t[Me[i]]){if(s)return!1;parseFloat(t[Me[i]])!==w(t[Me[i]])&&(s=!0)}return!0}(e),this._milliseconds=+c+1e3*u+6e4*l+1e3*r*60*60,this._days=+o+7*a,this._months=+n+3*i+12*s,this._data={},this._locale=oe(),this._bubble()}function Oe(t){return t instanceof Te}function je(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function Ye(t,e){F(t,0,0,(function(){var t=this.utcOffset(),s="+";return t<0&&(t=-t,s="-"),s+R(~~(t/60),2)+e+R(~~t%60,2)}))}Ye("Z",":"),Ye("ZZ",""),ut("Z",ot),ut("ZZ",ot),mt(["Z","ZZ"],(function(t,e,s){s._useUTC=!0,s._tzm=Le(ot,t)}));var Ie=/([\+\-]|\d\d)/gi;function Le(t,e){var s=(e||"").match(t);if(null===s)return null;var i=((s[s.length-1]||[])+"").match(Ie)||["-",0,0],n=60*i[1]+w(i[2]);return 0===n?0:"+"===i[0]?n:-n}function Ae(t,e){var s,n;return e._isUTC?(s=e.clone(),n=(y(t)||l(t)?t.valueOf():xe(t).valueOf())-s.valueOf(),s._d.setTime(s._d.valueOf()+n),i.updateOffset(s,!1),s):xe(t).local()}function Ne(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Ee(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var Re=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ue=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function He(t,e){var s,i,n,a,o,l,u=t,d=null;return Oe(t)?u={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(u={},e?u[e]=t:u.milliseconds=t):(d=Re.exec(t))?(s="-"===d[1]?-1:1,u={y:0,d:w(d[2])*s,h:w(d[3])*s,m:w(d[4])*s,s:w(d[5])*s,ms:w(je(1e3*d[6]))*s}):(d=Ue.exec(t))?(s="-"===d[1]?-1:1,u={y:We(d[2],s),M:We(d[3],s),w:We(d[4],s),d:We(d[5],s),h:We(d[6],s),m:We(d[7],s),s:We(d[8],s)}):null==u?u={}:"object"==typeof u&&("from"in u||"to"in u)&&(a=xe(u.from),o=xe(u.to),n=a.isValid()&&o.isValid()?(o=Ae(o,a),a.isBefore(o)?l=$e(a,o):((l=$e(o,a)).milliseconds=-l.milliseconds,l.months=-l.months),l):{milliseconds:0,months:0},(u={}).ms=n.milliseconds,u.M=n.months),i=new Te(u),Oe(t)&&c(t,"_locale")&&(i._locale=t._locale),i}function We(t,e){var s=t&&parseFloat(t.replace(",","."));return(isNaN(s)?0:s)*e}function $e(t,e){var s={};return s.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(s.months,"M").isAfter(e)&&--s.months,s.milliseconds=+e-+t.clone().add(s.months,"M"),s}function Fe(t,e){return function(s,i){var n;return null===i||isNaN(+i)||(M(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=s,s=i,i=n),qe(this,He(s="string"==typeof s?+s:s,i),t),this}}function qe(t,e,s,n){var a=e._milliseconds,o=je(e._days),r=je(e._months);t.isValid()&&(n=null==n||n,r&&Mt(t,kt(t,"Month")+r*s),o&&wt(t,"Date",kt(t,"Date")+o*s),a&&t._d.setTime(t._d.valueOf()+a*s),n&&i.updateOffset(t,o||r))}He.fn=Te.prototype,He.invalid=function(){return He(NaN)};var Ve=Fe(1,"add"),Ge=Fe(-1,"subtract");function ze(t,e){var s=12*(e.year()-t.year())+(e.month()-t.month()),i=t.clone().add(s,"months");return-(s+(e-i<0?(e-i)/(i-t.clone().add(s-1,"months")):(e-i)/(t.clone().add(s+1,"months")-i)))||0}function Be(t){var e;return void 0===t?this._locale._abbr:(null!=(e=oe(t))&&(this._locale=e),this)}i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",i.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Qe=S("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function Ze(){return this._locale}function Je(t,e){return(t%e+e)%e}function Xe(t,e,s){return t<100&&t>=0?new Date(t+400,e,s)-126227808e5:new Date(t,e,s).valueOf()}function Ke(t,e,s){return t<100&&t>=0?Date.UTC(t+400,e,s)-126227808e5:Date.UTC(t,e,s)}function ts(t,e){F(0,[t,t.length],0,e)}function es(t,e,s,i,n){var a;return null==t?Et(this,i,n).year:(e>(a=Rt(t,i,n))&&(e=a),ss.call(this,t,e,s,i,n))}function ss(t,e,s,i,n){var a=Nt(t,e,s,i,n),o=Lt(a.year,0,a.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}F(0,["gg",2],0,(function(){return this.weekYear()%100})),F(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),ts("gggg","weekYear"),ts("ggggg","weekYear"),ts("GGGG","isoWeekYear"),ts("GGGGG","isoWeekYear"),I("weekYear","gg"),I("isoWeekYear","GG"),E("weekYear",1),E("isoWeekYear",1),ut("G",nt),ut("g",nt),ut("GG",J,z),ut("gg",J,z),ut("GGGG",et,Q),ut("gggg",et,Q),ut("GGGGG",st,Z),ut("ggggg",st,Z),ht(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,s,i){e[i.substr(0,2)]=w(t)})),ht(["gg","GG"],(function(t,e,s,n){e[n]=i.parseTwoDigitYear(t)})),F("Q",0,"Qo","quarter"),I("quarter","Q"),E("quarter",7),ut("Q",G),mt("Q",(function(t,e){e[1]=3*(w(t)-1)})),F("D",["DD",2],"Do","date"),I("date","D"),E("date",9),ut("D",J),ut("DD",J,z),ut("Do",(function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient})),mt(["D","DD"],2),mt("Do",(function(t,e){e[2]=w(t.match(J)[0])}));var is=yt("Date",!0);F("DDD",["DDDD",3],"DDDo","dayOfYear"),I("dayOfYear","DDD"),E("dayOfYear",4),ut("DDD",tt),ut("DDDD",B),mt(["DDD","DDDD"],(function(t,e,s){s._dayOfYear=w(t)})),F("m",["mm",2],0,"minute"),I("minute","m"),E("minute",14),ut("m",J),ut("mm",J,z),mt(["m","mm"],4);var ns=yt("Minutes",!1);F("s",["ss",2],0,"second"),I("second","s"),E("second",15),ut("s",J),ut("ss",J,z),mt(["s","ss"],5);var as,os=yt("Seconds",!1);for(F("S",0,0,(function(){return~~(this.millisecond()/100)})),F(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),F(0,["SSS",3],0,"millisecond"),F(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),F(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),F(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),F(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),F(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),F(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),I("millisecond","ms"),E("millisecond",16),ut("S",tt,G),ut("SS",tt,z),ut("SSS",tt,B),as="SSSS";as.length<=9;as+="S")ut(as,it);function rs(t,e){e[6]=w(1e3*("0."+t))}for(as="S";as.length<=9;as+="S")mt(as,rs);var ls=yt("Milliseconds",!1);F("z",0,0,"zoneAbbr"),F("zz",0,0,"zoneName");var us=b.prototype;function cs(t){return t}us.add=Ve,us.calendar=function(t,e){var s=t||xe(),n=Ae(s,this).startOf("day"),a=i.calendarFormat(this,n)||"sameElse",o=e&&(T(e[a])?e[a].call(this,s):e[a]);return this.format(o||this.localeData().calendar(a,this,xe(s)))},us.clone=function(){return new b(this)},us.diff=function(t,e,s){var i,n,a;if(!this.isValid())return NaN;if(!(i=Ae(t,this)).isValid())return NaN;switch(n=6e4*(i.utcOffset()-this.utcOffset()),e=L(e)){case"year":a=ze(this,i)/12;break;case"month":a=ze(this,i);break;case"quarter":a=ze(this,i)/3;break;case"second":a=(this-i)/1e3;break;case"minute":a=(this-i)/6e4;break;case"hour":a=(this-i)/36e5;break;case"day":a=(this-i-n)/864e5;break;case"week":a=(this-i-n)/6048e5;break;default:a=this-i}return s?a:k(a)},us.endOf=function(t){var e;if(void 0===(t=L(t))||"millisecond"===t||!this.isValid())return this;var s=this._isUTC?Ke:Xe;switch(t){case"year":e=s(this.year()+1,0,1)-1;break;case"quarter":e=s(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=s(this.year(),this.month()+1,1)-1;break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=s(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=36e5-Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":e=this._d.valueOf(),e+=6e4-Je(e,6e4)-1;break;case"second":e=this._d.valueOf(),e+=1e3-Je(e,1e3)-1}return this._d.setTime(e),i.updateOffset(this,!0),this},us.format=function(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=q(this,t);return this.localeData().postformat(e)},us.from=function(t,e){return this.isValid()&&(y(t)&&t.isValid()||xe(t).isValid())?He({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},us.fromNow=function(t){return this.from(xe(),t)},us.to=function(t,e){return this.isValid()&&(y(t)&&t.isValid()||xe(t).isValid())?He({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},us.toNow=function(t){return this.to(xe(),t)},us.get=function(t){return T(this[t=L(t)])?this[t]():this},us.invalidAt=function(){return m(this).overflow},us.isAfter=function(t,e){var s=y(t)?t:xe(t);return!(!this.isValid()||!s.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()>s.valueOf():s.valueOf()<this.clone().startOf(e).valueOf())},us.isBefore=function(t,e){var s=y(t)?t:xe(t);return!(!this.isValid()||!s.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()<s.valueOf():this.clone().endOf(e).valueOf()<s.valueOf())},us.isBetween=function(t,e,s,i){var n=y(t)?t:xe(t),a=y(e)?e:xe(e);return!!(this.isValid()&&n.isValid()&&a.isValid())&&("("===(i=i||"()")[0]?this.isAfter(n,s):!this.isBefore(n,s))&&(")"===i[1]?this.isBefore(a,s):!this.isAfter(a,s))},us.isSame=function(t,e){var s,i=y(t)?t:xe(t);return!(!this.isValid()||!i.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()===i.valueOf():(s=i.valueOf(),this.clone().startOf(e).valueOf()<=s&&s<=this.clone().endOf(e).valueOf()))},us.isSameOrAfter=function(t,e){return this.isSame(t,e)||this.isAfter(t,e)},us.isSameOrBefore=function(t,e){return this.isSame(t,e)||this.isBefore(t,e)},us.isValid=function(){return h(this)},us.lang=Qe,us.locale=Be,us.localeData=Ze,us.max=De,us.min=Se,us.parsingFlags=function(){return d({},m(this))},us.set=function(t,e){if("object"==typeof t)for(var s=function(t){var e=[];for(var s in t)e.push({unit:s,priority:N[s]});return e.sort((function(t,e){return t.priority-e.priority})),e}(t=A(t)),i=0;i<s.length;i++)this[s[i].unit](t[s[i].unit]);else if(T(this[t=L(t)]))return this[t](e);return this},us.startOf=function(t){var e;if(void 0===(t=L(t))||"millisecond"===t||!this.isValid())return this;var s=this._isUTC?Ke:Xe;switch(t){case"year":e=s(this.year(),0,1);break;case"quarter":e=s(this.year(),this.month()-this.month()%3,1);break;case"month":e=s(this.year(),this.month(),1);break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=s(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":e=this._d.valueOf(),e-=Je(e,6e4);break;case"second":e=this._d.valueOf(),e-=Je(e,1e3)}return this._d.setTime(e),i.updateOffset(this,!0),this},us.subtract=Ge,us.toArray=function(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]},us.toObject=function(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}},us.toDate=function(){return new Date(this.valueOf())},us.toISOString=function(t){if(!this.isValid())return null;var e=!0!==t,s=e?this.clone().utc():this;return s.year()<0||s.year()>9999?q(s,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):T(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",q(s,"Z")):q(s,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},us.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var s="["+t+'("]',i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=e+'[")]';return this.format(s+i+"-MM-DD[T]HH:mm:ss.SSS"+n)},us.toJSON=function(){return this.isValid()?this.toISOString():null},us.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},us.unix=function(){return Math.floor(this.valueOf()/1e3)},us.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},us.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},us.year=bt,us.isLeapYear=function(){return vt(this.year())},us.weekYear=function(t){return es.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},us.isoWeekYear=function(t){return es.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},us.quarter=us.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},us.month=Tt,us.daysInMonth=function(){return Ct(this.year(),this.month())},us.week=us.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},us.isoWeek=us.isoWeeks=function(t){var e=Et(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},us.weeksInYear=function(){var t=this.localeData()._week;return Rt(this.year(),t.dow,t.doy)},us.isoWeeksInYear=function(){return Rt(this.year(),1,4)},us.date=is,us.day=us.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},us.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},us.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},us.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},us.hour=us.hours=Xt,us.minute=us.minutes=ns,us.second=us.seconds=os,us.millisecond=us.milliseconds=ls,us.utcOffset=function(t,e,s){var n,a=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Le(ot,t)))return this}else Math.abs(t)<16&&!s&&(t*=60);return!this._isUTC&&e&&(n=Ne(this)),this._offset=t,this._isUTC=!0,null!=n&&this.add(n,"m"),a!==t&&(!e||this._changeInProgress?qe(this,He(t-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?a:Ne(this)},us.utc=function(t){return this.utcOffset(0,t)},us.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ne(this),"m")),this},us.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Le(at,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},us.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?xe(t).utcOffset():0,(this.utcOffset()-t)%60==0)},us.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},us.isLocal=function(){return!!this.isValid()&&!this._isUTC},us.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},us.isUtc=Ee,us.isUTC=Ee,us.zoneAbbr=function(){return this._isUTC?"UTC":""},us.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},us.dates=S("dates accessor is deprecated. Use date instead.",is),us.months=S("months accessor is deprecated. Use month instead",Tt),us.years=S("years accessor is deprecated. Use year instead",bt),us.zone=S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()})),us.isDSTShifted=S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!o(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),(t=we(t))._a){var e=t._isUTC?_(t._a):xe(t._a);this._isDSTShifted=this.isValid()&&C(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}));var ds=j.prototype;function _s(t,e,s,i){var n=oe(),a=_().set(i,e);return n[s](a,t)}function ms(t,e,s){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return _s(t,e,s,"month");var i,n=[];for(i=0;i<12;i++)n[i]=_s(t,i,s,"month");return n}function hs(t,e,s,i){"boolean"==typeof t?(r(e)&&(s=e,e=void 0),e=e||""):(s=e=t,t=!1,r(e)&&(s=e,e=void 0),e=e||"");var n,a=oe(),o=t?a._week.dow:0;if(null!=s)return _s(e,(s+o)%7,i,"day");var l=[];for(n=0;n<7;n++)l[n]=_s(e,(n+o)%7,i,"day");return l}ds.calendar=function(t,e,s){var i=this._calendar[t]||this._calendar.sameElse;return T(i)?i.call(e,s):i},ds.longDateFormat=function(t){var e=this._longDateFormat[t],s=this._longDateFormat[t.toUpperCase()];return e||!s?e:(this._longDateFormat[t]=s.replace(/MMMM|MM|DD|dddd/g,(function(t){return t.slice(1)})),this._longDateFormat[t])},ds.invalidDate=function(){return this._invalidDate},ds.ordinal=function(t){return this._ordinal.replace("%d",t)},ds.preparse=cs,ds.postformat=cs,ds.relativeTime=function(t,e,s,i){var n=this._relativeTime[s];return T(n)?n(t,e,s,i):n.replace(/%d/i,t)},ds.pastFuture=function(t,e){var s=this._relativeTime[t>0?"future":"past"];return T(s)?s(e):s.replace(/%s/i,e)},ds.set=function(t){var e,s;for(s in t)T(e=t[s])?this[s]=e:this["_"+s]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},ds.months=function(t,e){return t?n(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||xt).test(e)?"format":"standalone"][t.month()]:n(this._months)?this._months:this._months.standalone},ds.monthsShort=function(t,e){return t?n(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[xt.test(e)?"format":"standalone"][t.month()]:n(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},ds.monthsParse=function(t,e,s){var i,n,a;if(this._monthsParseExact)return Pt.call(this,t,e,s);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(n=_([2e3,i]),s&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),s||this._monthsParse[i]||(a="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[i]=new RegExp(a.replace(".",""),"i")),s&&"MMMM"===e&&this._longMonthsParse[i].test(t))return i;if(s&&"MMM"===e&&this._shortMonthsParse[i].test(t))return i;if(!s&&this._monthsParse[i].test(t))return i}},ds.monthsRegex=function(t){return this._monthsParseExact?(c(this,"_monthsRegex")||Yt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(c(this,"_monthsRegex")||(this._monthsRegex=jt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},ds.monthsShortRegex=function(t){return this._monthsParseExact?(c(this,"_monthsRegex")||Yt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(c(this,"_monthsShortRegex")||(this._monthsShortRegex=Ot),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},ds.week=function(t){return Et(t,this._week.dow,this._week.doy).week},ds.firstDayOfYear=function(){return this._week.doy},ds.firstDayOfWeek=function(){return this._week.dow},ds.weekdays=function(t,e){var s=n(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===t?Ut(s,this._week.dow):t?s[t.day()]:s},ds.weekdaysMin=function(t){return!0===t?Ut(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin},ds.weekdaysShort=function(t){return!0===t?Ut(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort},ds.weekdaysParse=function(t,e,s){var i,n,a;if(this._weekdaysParseExact)return Ft.call(this,t,e,s);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(n=_([2e3,1]).day(i),s&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(a="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[i]=new RegExp(a.replace(".",""),"i")),s&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(s&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(s&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!s&&this._weekdaysParse[i].test(t))return i}},ds.weekdaysRegex=function(t){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(c(this,"_weekdaysRegex")||(this._weekdaysRegex=qt),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},ds.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(c(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Vt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},ds.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(c(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Gt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},ds.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},ds.meridiem=function(t,e,s){return t>11?s?"pm":"PM":s?"am":"AM"},ne("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),i.lang=S("moment.lang is deprecated. Use moment.locale instead.",ne),i.langData=S("moment.langData is deprecated. Use moment.localeData instead.",oe);var ps=Math.abs;function fs(t,e,s,i){var n=He(e,s);return t._milliseconds+=i*n._milliseconds,t._days+=i*n._days,t._months+=i*n._months,t._bubble()}function vs(t){return t<0?Math.floor(t):Math.ceil(t)}function gs(t){return 4800*t/146097}function bs(t){return 146097*t/4800}function ys(t){return function(){return this.as(t)}}var ks=ys("ms"),ws=ys("s"),Cs=ys("m"),xs=ys("h"),Ss=ys("d"),Ds=ys("w"),Ps=ys("M"),Ms=ys("Q"),Ts=ys("y");function Os(t){return function(){return this.isValid()?this._data[t]:NaN}}var js=Os("milliseconds"),Ys=Os("seconds"),Is=Os("minutes"),Ls=Os("hours"),As=Os("days"),Ns=Os("months"),Es=Os("years"),Rs=Math.round,Us={ss:44,s:45,m:45,h:22,d:26,M:11};function Hs(t,e,s,i,n){return n.relativeTime(e||1,!!s,t,i)}var Ws=Math.abs;function $s(t){return(t>0)-(t<0)||+t}function Fs(){if(!this.isValid())return this.localeData().invalidDate();var t,e,s=Ws(this._milliseconds)/1e3,i=Ws(this._days),n=Ws(this._months);t=k(s/60),e=k(t/60),s%=60,t%=60;var a=k(n/12),o=n%=12,r=i,l=e,u=t,c=s?s.toFixed(3).replace(/\.?0+$/,""):"",d=this.asSeconds();if(!d)return"P0D";var _=d<0?"-":"",m=$s(this._months)!==$s(d)?"-":"",h=$s(this._days)!==$s(d)?"-":"",p=$s(this._milliseconds)!==$s(d)?"-":"";return _+"P"+(a?m+a+"Y":"")+(o?m+o+"M":"")+(r?h+r+"D":"")+(l||u||c?"T":"")+(l?p+l+"H":"")+(u?p+u+"M":"")+(c?p+c+"S":"")}var qs=Te.prototype;return qs.isValid=function(){return this._isValid},qs.abs=function(){var t=this._data;return this._milliseconds=ps(this._milliseconds),this._days=ps(this._days),this._months=ps(this._months),t.milliseconds=ps(t.milliseconds),t.seconds=ps(t.seconds),t.minutes=ps(t.minutes),t.hours=ps(t.hours),t.months=ps(t.months),t.years=ps(t.years),this},qs.add=function(t,e){return fs(this,t,e,1)},qs.subtract=function(t,e){return fs(this,t,e,-1)},qs.as=function(t){if(!this.isValid())return NaN;var e,s,i=this._milliseconds;if("month"===(t=L(t))||"quarter"===t||"year"===t)switch(e=this._days+i/864e5,s=this._months+gs(e),t){case"month":return s;case"quarter":return s/3;case"year":return s/12}else switch(e=this._days+Math.round(bs(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}},qs.asMilliseconds=ks,qs.asSeconds=ws,qs.asMinutes=Cs,qs.asHours=xs,qs.asDays=Ss,qs.asWeeks=Ds,qs.asMonths=Ps,qs.asQuarters=Ms,qs.asYears=Ts,qs.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12):NaN},qs._bubble=function(){var t,e,s,i,n,a=this._milliseconds,o=this._days,r=this._months,l=this._data;return a>=0&&o>=0&&r>=0||a<=0&&o<=0&&r<=0||(a+=864e5*vs(bs(r)+o),o=0,r=0),l.milliseconds=a%1e3,t=k(a/1e3),l.seconds=t%60,e=k(t/60),l.minutes=e%60,s=k(e/60),l.hours=s%24,o+=k(s/24),n=k(gs(o)),r+=n,o-=vs(bs(n)),i=k(r/12),r%=12,l.days=o,l.months=r,l.years=i,this},qs.clone=function(){return He(this)},qs.get=function(t){return t=L(t),this.isValid()?this[t+"s"]():NaN},qs.milliseconds=js,qs.seconds=Ys,qs.minutes=Is,qs.hours=Ls,qs.days=As,qs.weeks=function(){return k(this.days()/7)},qs.months=Ns,qs.years=Es,qs.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),s=function(t,e,s){var i=He(t).abs(),n=Rs(i.as("s")),a=Rs(i.as("m")),o=Rs(i.as("h")),r=Rs(i.as("d")),l=Rs(i.as("M")),u=Rs(i.as("y")),c=n<=Us.ss&&["s",n]||n<Us.s&&["ss",n]||a<=1&&["m"]||a<Us.m&&["mm",a]||o<=1&&["h"]||o<Us.h&&["hh",o]||r<=1&&["d"]||r<Us.d&&["dd",r]||l<=1&&["M"]||l<Us.M&&["MM",l]||u<=1&&["y"]||["yy",u];return c[2]=e,c[3]=+t>0,c[4]=s,Hs.apply(null,c)}(this,!t,e);return t&&(s=e.pastFuture(+this,s)),e.postformat(s)},qs.toISOString=Fs,qs.toString=Fs,qs.toJSON=Fs,qs.locale=Be,qs.localeData=Ze,qs.toIsoString=S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Fs),qs.lang=Qe,F("X",0,0,"unix"),F("x",0,0,"valueOf"),ut("x",nt),ut("X",/[+-]?\d+(\.\d{1,3})?/),mt("X",(function(t,e,s){s._d=new Date(1e3*parseFloat(t,10))})),mt("x",(function(t,e,s){s._d=new Date(w(t))})),i.version="2.24.0",e=xe,i.fn=us,i.min=function(){var t=[].slice.call(arguments,0);return Pe("isBefore",t)},i.max=function(){var t=[].slice.call(arguments,0);return Pe("isAfter",t)},i.now=function(){return Date.now?Date.now():+new Date},i.utc=_,i.unix=function(t){return xe(1e3*t)},i.months=function(t,e){return ms(t,e,"months")},i.isDate=l,i.locale=ne,i.invalid=p,i.duration=He,i.isMoment=y,i.weekdays=function(t,e,s){return hs(t,e,s,"weekdays")},i.parseZone=function(){return xe.apply(null,arguments).parseZone()},i.localeData=oe,i.isDuration=Oe,i.monthsShort=function(t,e){return ms(t,e,"monthsShort")},i.weekdaysMin=function(t,e,s){return hs(t,e,s,"weekdaysMin")},i.defineLocale=ae,i.updateLocale=function(t,e){if(null!=e){var s,i,n=Kt;null!=(i=ie(t))&&(n=i._config),e=O(n,e),(s=new j(e)).parentLocale=te[t],te[t]=s,ne(t)}else null!=te[t]&&(null!=te[t].parentLocale?te[t]=te[t].parentLocale:null!=te[t]&&delete te[t]);return te[t]},i.locales=function(){return D(te)},i.weekdaysShort=function(t,e,s){return hs(t,e,s,"weekdaysShort")},i.normalizeUnits=L,i.relativeTimeRounding=function(t){return void 0===t?Rs:"function"==typeof t&&(Rs=t,!0)},i.relativeTimeThreshold=function(t,e){return void 0!==Us[t]&&(void 0===e?Us[t]:(Us[t]=e,"s"===t&&(Us.ss=e-1),!0))},i.calendarFormat=function(t,e){var s=t.diff(e,"days",!0);return s<-6?"sameElse":s<-1?"lastWeek":s<0?"lastDay":s<1?"sameDay":s<2?"nextDay":s<7?"nextWeek":"sameElse"},i.prototype=us,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},i}()}).call(this,s("./node_modules/webpack/buildin/module.js")(t))},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js":function(t,e,s){"use strict";function i(t,e,s,i,n,a,o,r){var l,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=s,u._compiled=!0),i&&(u.functional=!0),a&&(u._scopeId="data-v-"+a),o?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),n&&n.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},u._ssrRegister=l):n&&(l=r?function(){n.call(this,this.$root.$options.shadowRoot)}:n),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(t,e){return l.call(e),c(t,e)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:u}}s.d(e,"a",(function(){return i}))},"./node_modules/webpack/buildin/global.js":function(t,e){var s;s=function(){return this}();try{s=s||new Function("return this")()}catch(t){"object"==typeof window&&(s=window)}t.exports=s},"./node_modules/webpack/buildin/module.js":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"./node_modules/xss/lib/default.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,n=s("./node_modules/cssfilter/lib/index.js").getDefaultWhiteList,a=s("./node_modules/xss/lib/util.js");function o(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var r=new i;function l(t){return t.replace(u,"<").replace(c,">")}var u=/</g,c=/>/g,d=/"/g,_=/"/g,m=/&#([a-zA-Z0-9]*);?/gim,h=/:?/gim,p=/&newline;?/gim,f=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,v=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,g=/u\s*r\s*l\s*\(.*/gi;function b(t){return t.replace(d,""")}function y(t){return t.replace(_,'"')}function k(t){return t.replace(m,(function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))}))}function w(t){return t.replace(h,":").replace(p," ")}function C(t){for(var e="",s=0,i=t.length;s<i;s++)e+=t.charCodeAt(s)<32?" ":t.charAt(s);return a.trim(e)}function x(t){return t=C(t=w(t=k(t=y(t))))}function S(t){return t=l(t=b(t))}var D=/<!--[\s\S]*?-->/g;e.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},e.getDefaultWhiteList=o,e.onTag=function(t,e,s){},e.onIgnoreTag=function(t,e,s){},e.onTagAttr=function(t,e,s){},e.onIgnoreTagAttr=function(t,e,s){},e.safeAttrValue=function(t,e,s,i){if(s=x(s),"href"===e||"src"===e){if("#"===(s=a.trim(s)))return"#";if("http://"!==s.substr(0,7)&&"https://"!==s.substr(0,8)&&"mailto:"!==s.substr(0,7)&&"tel:"!==s.substr(0,4)&&"#"!==s[0]&&"/"!==s[0])return""}else if("background"===e){if(f.lastIndex=0,f.test(s))return""}else if("style"===e){if(v.lastIndex=0,v.test(s))return"";if(g.lastIndex=0,g.test(s)&&(f.lastIndex=0,f.test(s)))return"";!1!==i&&(s=(i=i||r).process(s))}return s=S(s)},e.escapeHtml=l,e.escapeQuote=b,e.unescapeQuote=y,e.escapeHtmlEntities=k,e.escapeDangerHtml5Entities=w,e.clearNonPrintableCharacter=C,e.friendlyAttrValue=x,e.escapeAttrValue=S,e.onIgnoreTagStripAll=function(){return""},e.StripTagBody=function(t,e){"function"!=typeof e&&(e=function(){});var s=!Array.isArray(t),i=[],n=!1;return{onIgnoreTag:function(o,r,l){if(function(e){return!!s||-1!==a.indexOf(t,e)}(o)){if(l.isClosing){var u="[/removed]",c=l.position+u.length;return i.push([!1!==n?n:l.position,c]),n=!1,u}return n||(n=l.position),"[removed]"}return e(o,r,l)},remove:function(t){var e="",s=0;return a.forEach(i,(function(i){e+=t.slice(s,i[0]),s=i[1]})),e+=t.slice(s)}}},e.stripCommentTag=function(t){return t.replace(D,"")},e.stripBlankChar=function(t){var e=t.split("");return(e=e.filter((function(t){var e=t.charCodeAt(0);return 127!==e&&(!(e<=31)||(10===e||13===e))}))).join("")},e.cssFilter=r,e.getDefaultCSSWhiteList=n},"./node_modules/xss/lib/index.js":function(t,e,s){var i=s("./node_modules/xss/lib/default.js"),n=s("./node_modules/xss/lib/parser.js"),a=s("./node_modules/xss/lib/xss.js");function o(t,e){return new a(e).process(t)}for(var r in(e=t.exports=o).filterXSS=o,e.FilterXSS=a,i)e[r]=i[r];for(var r in n)e[r]=n[r];"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},"./node_modules/xss/lib/parser.js":function(t,e,s){var i=s("./node_modules/xss/lib/util.js");function n(t){var e=i.spaceIndex(t);if(-1===e)var s=t.slice(1,-1);else s=t.slice(1,e+1);return"/"===(s=i.trim(s).toLowerCase()).slice(0,1)&&(s=s.slice(1)),"/"===s.slice(-1)&&(s=s.slice(0,-1)),s}function a(t){return"</"===t.slice(0,2)}var o=/[^a-zA-Z0-9_:\.\-]/gim;function r(t,e){for(;e<t.length;e++){var s=t[e];if(" "!==s)return"="===s?e:-1}}function l(t,e){for(;e>0;e--){var s=t[e];if(" "!==s)return"="===s?e:-1}}function u(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}e.parseTag=function(t,e,s){var i="",o=0,r=!1,l=!1,u=0,c=t.length,d="",_="";for(u=0;u<c;u++){var m=t.charAt(u);if(!1===r){if("<"===m){r=u;continue}}else if(!1===l){if("<"===m){i+=s(t.slice(o,u)),r=u,o=u;continue}if(">"===m){i+=s(t.slice(o,r)),d=n(_=t.slice(r,u+1)),i+=e(r,i.length,d,_,a(_)),o=u+1,r=!1;continue}if(('"'===m||"'"===m)&&"="===t.charAt(u-1)){l=m;continue}}else if(m===l){l=!1;continue}}return o<t.length&&(i+=s(t.substr(o))),i},e.parseAttr=function(t,e){var s=0,n=[],a=!1,c=t.length;function d(t,s){if(!((t=(t=i.trim(t)).replace(o,"").toLowerCase()).length<1)){var a=e(t,s||"");a&&n.push(a)}}for(var _=0;_<c;_++){var m,h=t.charAt(_);if(!1!==a||"="!==h)if(!1===a||_!==s||'"'!==h&&"'"!==h||"="!==t.charAt(_-1))if(/\s|\n|\t/.test(h)){if(t=t.replace(/\s|\n|\t/g," "),!1===a){if(-1===(m=r(t,_))){d(i.trim(t.slice(s,_))),a=!1,s=_+1;continue}_=m-1;continue}if(-1===(m=l(t,_-1))){d(a,u(i.trim(t.slice(s,_)))),a=!1,s=_+1;continue}}else;else{if(-1===(m=t.indexOf(h,_+1)))break;d(a,i.trim(t.slice(s+1,m))),a=!1,s=(_=m)+1}else a=t.slice(s,_),s=_+1}return s<t.length&&(!1===a?d(t.slice(s)):d(a,u(i.trim(t.slice(s))))),i.trim(n.join(" "))}},"./node_modules/xss/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,n;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,n=t.length;i<n;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(t){var e=/\s|\n|\t/.exec(t);return e?e.index:-1}}},"./node_modules/xss/lib/xss.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,n=s("./node_modules/xss/lib/default.js"),a=s("./node_modules/xss/lib/parser.js"),o=a.parseTag,r=a.parseAttr,l=s("./node_modules/xss/lib/util.js");function u(t){return null==t}function c(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=n.onIgnoreTagStripAll),t.whiteList=t.whiteList||n.whiteList,t.onTag=t.onTag||n.onTag,t.onTagAttr=t.onTagAttr||n.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||n.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||n.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||n.safeAttrValue,t.escapeHtml=t.escapeHtml||n.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new i(t.css))}c.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onTag,a=e.onIgnoreTag,c=e.onTagAttr,d=e.onIgnoreTagAttr,_=e.safeAttrValue,m=e.escapeHtml,h=this.cssFilter;e.stripBlankChar&&(t=n.stripBlankChar(t)),e.allowCommentTag||(t=n.stripCommentTag(t));var p=!1;if(e.stripIgnoreTagBody){p=n.StripTagBody(e.stripIgnoreTagBody,a);a=p.onIgnoreTag}var f=o(t,(function(t,e,n,o,p){var f,v={sourcePosition:t,position:e,isClosing:p,isWhite:s.hasOwnProperty(n)};if(!u(f=i(n,o,v)))return f;if(v.isWhite){if(v.isClosing)return"</"+n+">";var g=function(t){var e=l.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var s="/"===(t=l.trim(t.slice(e+1,-1)))[t.length-1];return s&&(t=l.trim(t.slice(0,-1))),{html:t,closing:s}}(o),b=s[n],y=r(g.html,(function(t,e){var s,i=-1!==l.indexOf(b,t);return u(s=c(n,t,e,i))?i?(e=_(n,t,e,h))?t+'="'+e+'"':t:u(s=d(n,t,e,i))?void 0:s:s}));o="<"+n;return y&&(o+=" "+y),g.closing&&(o+=" /"),o+=">"}return u(f=a(n,o,v))?m(o):f}),m);return p&&(f=p.remove(f)),f},t.exports=c},"./src/component/doc-link.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],name:"doc-link",props:["link"],data:function(){return{whitelabel:defender.whitelabel}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return!1===this.whitelabel.hide_doc_link?e("div",{staticClass:"sui-actions-right"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:this.link,target:"_blank"}},[e("i",{staticClass:"sui-icon-academy"}),this._v(" "+this._s(this.__("View Documentation"))+"\n ")])]):this._e()}),[],!1,null,null,null);e.a=a.exports},"./src/component/footer.vue":function(t,e,s){"use strict";var i={data:function(){return{whitelabel:defender.whitelabel,is_free:defender.is_free}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[!0===t.whitelabel.change_footer?s("div",{staticClass:"sui-footer"},[t._v("\n "+t._s(t.whitelabel.footer_text)+"\n ")]):s("div",{staticClass:"sui-footer"},[t._v("Made with "),s("i",{staticClass:"sui-icon-heart"}),t._v(" by WPMU DEV")]),t._v(" "),!1===t.whitelabel.hide_doc_link?s("div",[t.is_free?s("ul",{staticClass:"sui-footer-nav"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7)]):s("ul",{staticClass:"sui-footer-nav"},[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15)]),t._v(" "),t._m(16)]):t._e()])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://profiles.wordpress.org/wpmudev#content-plugins",target:"_blank"}},[this._v("Free\n Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/features/",target:"_blank"}},[this._v("Membership")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://wordpress.org/support/plugin/plugin-name",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/projects/category/plugins/",target:"_blank"}},[this._v("Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/support/",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/community/",target:"_blank"}},[this._v("Community")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ul",{staticClass:"sui-footer-social"},[s("li",[s("a",{attrs:{href:"https://www.facebook.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-facebook",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Facebook")])])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://twitter.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-twitter",attrs:{"aria-hidden":"true"}})]),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Twitter")])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://www.instagram.com/wpmu_dev/",target:"_blank"}},[s("i",{staticClass:"sui-icon-instagram",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Instagram")])])])])}],!1,null,null,null);e.a=a.exports},"./src/component/overlay.vue":function(t,e,s){"use strict";var i={name:"overlay"},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement;this._self._c;return this._m(0)}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"wd-overlay"},[e("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null);e.a=a.exports},"./src/component/pagination.vue":function(t,e,s){"use strict";var i={props:{value:{type:Number},pageCount:{type:Number,required:!0},forcePage:{type:Number},clickHandler:{type:Function,default:function(){}},pageRange:{type:Number,default:3},marginPages:{type:Number,default:1},prevText:{type:String,default:"Prev"},nextText:{type:String,default:"Next"},breakViewText:{type:String,default:"…"},containerClass:{type:String},pageClass:{type:String},pageLinkClass:{type:String},prevClass:{type:String},prevLinkClass:{type:String},nextClass:{type:String},nextLinkClass:{type:String},breakViewClass:{type:String},breakViewLinkClass:{type:String},activeClass:{type:String,default:"active"},disabledClass:{type:String,default:"disabled"},noLiSurround:{type:Boolean,default:!1},firstLastButton:{type:Boolean,default:!1},firstButtonText:{type:String,default:"First"},lastButtonText:{type:String,default:"Last"},hidePrevNext:{type:Boolean,default:!1}},beforeUpdate:function(){void 0!==this.forcePage&&this.forcePage!==this.selected&&(this.selected=this.forcePage)},computed:{selected:{get:function(){return this.value||this.innerValue},set:function(t){this.innerValue=t}},pages:function(){var t=this,e={};if(this.pageCount<=this.pageRange)for(var s=0;s<this.pageCount;s++){var i={index:s,content:s+1,selected:s===this.selected-1};e[s]=i}else{for(var n=Math.floor(this.pageRange/2),a=function(s){var i={index:s,content:s+1,selected:s===t.selected-1};e[s]=i},o=function(t){e[t]={disabled:!0,breakView:!0}},r=0;r<this.marginPages;r++)a(r);var l=0;this.selected-n>0&&(l=this.selected-1-n);var u=l+this.pageRange-1;u>=this.pageCount&&(l=(u=this.pageCount-1)-this.pageRange+1);for(var c=l;c<=u&&c<=this.pageCount-1;c++)a(c);l>this.marginPages&&o(l-1),u+1<this.pageCount-this.marginPages&&o(u+1);for(var d=this.pageCount-1;d>=this.pageCount-this.marginPages;d--)a(d)}return e}},data:function(){return{innerValue:1}},methods:{handlePageSelected:function(t){this.selected!==t&&(this.innerValue=t,this.$emit("input",t),this.clickHandler(t))},prevPage:function(){this.selected<=1||this.handlePageSelected(this.selected-1)},nextPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.selected+1)},firstPageSelected:function(){return 1===this.selected},lastPageSelected:function(){return this.selected===this.pageCount||0===this.pageCount},selectFirstPage:function(){this.selected<=1||this.handlePageSelected(1)},selectLastPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.pageCount)}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.noLiSurround?s("div",{class:t.containerClass},[t.firstLastButton?s("a",{class:[t.pageLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){return t.selectFirstPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectFirstPage()}}}):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():s("a",{class:[t.prevLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){return t.prevPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.prevPage()}}}),t._v(" "),t._l(t.pages,(function(e){return[e.breakView?s("a",{class:[t.pageLinkClass,t.breakViewLinkClass,e.disabled?t.disabledClass:""],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?s("a",{class:[t.pageLinkClass,e.selected?t.activeClass:"",t.disabledClass],attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):s("a",{class:[t.pageLinkClass,e.selected?t.activeClass:""],attrs:{tabindex:"0"},on:{click:function(s){return t.handlePageSelected(e.index+1)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.handlePageSelected(e.index+1)}}},[t._v(t._s(e.content))])]})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():s("a",{class:[t.nextLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){return t.nextPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.nextPage()}}}),t._v(" "),t.firstLastButton?s("a",{class:[t.pageLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){return t.selectLastPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectLastPage()}}}):t._e()],2):s("ul",{class:t.containerClass},[t.firstLastButton?s("li",{class:[t.pageClass,t.firstPageSelected()?t.disabledClass:""]},[s("a",{class:t.pageLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){return t.selectFirstPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectFirstPage()}}})]):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():s("li",{class:[t.prevClass,t.firstPageSelected()?t.disabledClass:""]},[s("a",{class:t.prevLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){return t.prevPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.prevPage()}}})]),t._v(" "),t._l(t.pages,(function(e){return s("li",{class:[t.pageClass,e.selected?t.activeClass:"",e.disabled?t.disabledClass:"",e.breakView?t.breakViewClass:""]},[e.breakView?s("a",{class:[t.pageLinkClass,t.breakViewLinkClass],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?s("a",{class:t.pageLinkClass,attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):s("a",{class:t.pageLinkClass,attrs:{disabled:e.selected,tabindex:"0"},on:{click:function(s){return t.handlePageSelected(e.index+1)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.handlePageSelected(e.index+1)}}},[t._v(t._s(e.content))])])})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():s("li",{class:[t.nextClass,t.lastPageSelected()?t.disabledClass:""]},[s("a",{class:t.nextLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){return t.nextPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.nextPage()}}})]),t._v(" "),t.firstLastButton?s("li",{class:[t.pageClass,t.lastPageSelected()?t.disabledClass:""]},[s("a",{class:t.pageLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){return t.selectLastPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectLastPage()}}})]):t._e()],2)}),[],!1,null,null,null);e.a=a.exports},"./src/component/recipients.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],props:["recipients","id"],data:function(){return{first_name:"",email:"",observers:[],can_add:!1,saving_warning:!1,validate:{email:""}}},created:function(){this.observers=this.recipients},watch:{email:function(){if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(this.email)){var t=!0,e=this;this.observers.forEach((function(s,i){if(s.email===e.email)return t=!1,void(e.validate.email=e.__("This email address is already in use"))})),this.can_add=t,!0===t&&(this.validate.email="")}else this.can_add=!1,this.validate.email=this.__("Invalid email address")},observers:function(){0===this.observers.length?this.saving_warning=!0:this.saving_warning=!1,void 0!==this.event&&this.$emit("update:recipients",this.observers)}},methods:{addRecipient:function(){this.observers.push({first_name:this.first_name,email:this.email}),jQuery.each(SUI.dialogs,(function(t,e){e.hide()})),this.first_name="",this.email=""},removeRecipient:function(t){this.observers.splice(t,1)}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("div",{directives:[{name:"show",rawName:"v-show",value:t.saving_warning,expression:"saving_warning"}],staticClass:"sui-notice sui-notice-warning"},[s("p",[t._v("\n "+t._s(t.__("You've removed all recipients. If you save without a recipient, we'll automatically turn of reports"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-recipients"},[t._l(t.observers,(function(e,i){return s("div",{staticClass:"sui-recipient"},[s("span",{staticClass:"sui-recipient-name"},[t._v(t._s(e.first_name))]),t._v(" "),s("span",{staticClass:"sui-recipient-email"},[t._v(t._s(e.email))]),t._v(" "),s("button",{staticClass:"sui-button-icon",attrs:{type:"button"},on:{click:function(e){return t.removeRecipient(i)}}},[s("i",{staticClass:"sui-icon-trash",attrs:{"aria-hidden":"true"}})])])})),t._v(" "),s("button",{staticClass:"sui-button sui-button-ghost",attrs:{"data-a11y-dialog-show":t.id,type:"button"}},[s("i",{staticClass:"sui-icon-plus",attrs:{"aria-hidden":"true"}}),t._v(" "+t._s(t.__("Add Recipient"))+"\n ")])],2),t._v(" "),s("div",{staticClass:"sui-dialog sui-dialog-sm",attrs:{"aria-hidden":"true",tabindex:"-1",id:t.id}},[s("div",{staticClass:"sui-dialog-overlay"}),t._v(" "),s("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"dialogTitle","aria-describedby":"dialogDescription",role:"dialog"}},[s("div",{staticClass:"sui-box",attrs:{role:"document"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Add Recipient"))+"\n ")]),t._v(" "),t._m(0)]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n "+t._s(t.__("Add as many recipients as you like, they will receive email reports as per the schedule you set."))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("First name")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.first_name,expression:"first_name"}],staticClass:"sui-form-control",attrs:{type:"text"},domProps:{value:t.first_name},on:{input:function(e){e.target.composing||(t.first_name=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"sui-form-field",class:{"sui-form-field-error":t.validate.email.length>0}},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Email")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.email,expression:"email"}],staticClass:"sui-form-control",attrs:{type:"text"},domProps:{value:t.email},on:{input:function(e){e.target.composing||(t.email=e.target.value)}}}),t._v(" "),s("span",{directives:[{name:"show",rawName:"v-show",value:t.validate.email.length>0,expression:"validate.email.length > 0"}],staticClass:"sui-error-message",domProps:{textContent:t._s(this.validate.email)}})])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("button",{staticClass:"sui-button sui-button-ghost",attrs:{type:"button","data-a11y-dialog-hide":"recipient-dialog"}},[t._v("\n "+t._s(t.__("Cancel"))+"\n ")]),t._v(" "),s("button",{staticClass:"sui-modal-close sui-button",attrs:{type:"button",disabled:!1===t.can_add},on:{click:t.addRecipient}},[t._v(t._s(t.__("Add"))+"\n ")])])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-right"},[e("button",{staticClass:"sui-dialog-close",attrs:{type:"button","data-a11y-dialog-hide":"","aria-label":"Close this dialog window"}})])}],!1,null,null,null);e.a=a.exports},"./src/component/submit-button.vue":function(t,e,s){"use strict";var i={name:"submit-button",props:["id","state","text","css-class","type"],computed:{getClass:function(){return"sui-button "+this.cssClass}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("button",{staticClass:"sui-button",class:[t.getClass,{"sui-button-onload":t.state.on_saving}],attrs:{id:t.id,type:t.type,disabled:t.state.on_saving},on:{click:function(e){return t.$emit("click")}}},[s("span",{staticClass:"sui-loading-text"},[t._t("default")],2),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}),[],!1,null,null,null);e.a=a.exports},"./src/component/summary-box.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],props:["css-class"],name:"summary-box",data:function(){return{whitelabel:defender.whitelabel}},computed:{summary_class:function(){return{"sui-unbranded":!0===this.whitelabel.hide_branding&&0===this.whitelabel.hero_image.length,"sui-rebranded":!0===this.whitelabel.hide_branding&&this.whitelabel.hero_image.length>0}},css_class:function(){return this.cssClass},rebrand_img:function(){if(this.whitelabel.hero_image.length>0)return console.log({"background-image":"url('"+this.whitelabel.hero_image+"')"}),{"background-image":"url('"+this.whitelabel.hero_image+"')"}}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-box sui-summary",class:[this.summary_class,this.css_class],style:this.rebrand_img},[e("div",{staticClass:"sui-summary-image-space",attrs:{"aria-hidden":"true"}}),this._v(" "),this._t("default")],2)}),[],!1,null,null,null);e.a=a.exports},"./src/helper/base_hepler.js":function(t,e,s){"use strict";var i=s("./node_modules/xss/lib/index.js"),n=s.n(i),a=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var s=[],i=!0,n=!1,a=void 0;try{for(var o,r=t[Symbol.iterator]();!(i=(o=r.next()).done)&&(s.push(o.value),!e||s.length!==e);i=!0);}catch(t){n=!0,a=t}finally{try{!i&&r.return&&r.return()}finally{if(n)throw a}}return s}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},o=wp.i18n,r=o.sprintf,l=o.__,u=[];e.a={methods:{__:function(t){return n()(l(t,"wpdef"))},xss:function(t){return n()(t)},vsprintf:function(t){return r.apply(null,arguments)},siteUrl:function(t){return void 0!==t?defender.site_url+t:defender.site_url},adminUrl:function(t){return void 0!==t?defender.admin_url+t:defender.admin_url},assetUrl:function(t){return defender.defender_url+t},maybeHighContrast:function(){return{"sui-color-accessible":!0===defender.misc.high_contrast}},maybeHideBranding:function(){return defender.whitelabel.hide_branding},campaign_url:function(t){return"https://premium.wpmudev.org/project/wp-defender/?utm_source=defender&utm_medium=plugin&utm_campaign="+t},httpRequest:function(t,e,s,i,n){var a=this;void 0===n&&(this.state.on_saving=!0);var o=ajaxurl+"?action="+this.endpoints[e]+"&_wpnonce="+this.nonces[e],r=jQuery.ajax({url:o,method:t,data:s,success:function(t){var e=t.data;a.state.on_saving=!1,void 0!==e&&void 0!==e.message&&(t.success?Defender.showNotification("success",e.message):Defender.showNotification("error",e.message)),void 0!==i&&i(t)}});u.push(r)},httpGetRequest:function(t,e,s,i){this.httpRequest("get",t,e,s,i)},httpPostRequest:function(t,e,s,i){this.httpRequest("post",t,e,s,i)},abortAllRequests:function(){for(var t=0;t<u.length;t++)u[t].abort()},getQueryStringParams:function(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((function(t,e){var s=e.split("="),i=a(s,2),n=i[0],o=i[1];return t[n]=o?decodeURIComponent(o.replace(/\+/g," ")):"",t}),{}):{}},rebindSUI:function(){jQuery("select:not([multiple])").each((function(){SUI.suiSelect(this)})),jQuery(".sui-accordion").each((function(){SUI.suiAccordion(this)}));var t=jQuery(".sui-wrap");SUI.dialogs={},jQuery(".sui-dialog").each((function(){SUI.dialogs[this.id]=new A11yDialog(this,t)}))}}}},"./src/ip-lockout.js":function(t,e,s){"use strict";s.r(e);var i=s("vue"),n=s.n(i),a=s("./src/helper/base_hepler.js"),o={mixins:[a.a],name:"ip-lockout",props:["view"],data:function(){return{model:iplockout.model.ip_lockout,summary_data:iplockout.summaryData,state:{on_saving:!1},nonces:iplockout.nonces,endpoints:iplockout.endpoints,misc:iplockout.misc}},methods:{toggle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"login_protection",s=this,i={};i[e]=t,this.httpPostRequest("updateSettings",{data:JSON.stringify(i)},(function(){s.model[e]=t,!0===t&&s.$nextTick((function(){s.rebindSUI()}))}))},updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})}},computed:{notification:function(){return 0===this.summary_data.ip.day?this.__("Login protection is enabled. There are no lockouts logged yet."):this.vsprintf(this.__('There have been %s lockouts in the last 24 hours. <a href="%s"><strong>View log</strong></a>.'),this.summary_data.ip.day,this.adminUrl("admin.php?page=wdf-ip-lockout&view=logs"))},banned_username:function(){return this.vsprintf(this.__("We recommend adding the usernames <strong>admin</strong>, <strong>administrator</strong> and your hostname <strong>%s</strong> as these are common for bots to try logging in with. One username per line"),this.misc.host)},demo_link:function(){return this.vsprintf(this.__('This message will be displayed across your website during the lockout period. See a quick preview <a href="%s">here</a>.'),this.siteUrl("?def-lockout-demo=1&type=demo"))}},mounted:function(){var t=this;jQuery(".jquery-select").change((function(){var e=jQuery(this).val(),s=jQuery(this).attr("name");t.model[s]=e}))}},r=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),l=Object(r.a)(o,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return!1===t.model.login_protection||0===t.model.login_protection?s("div",{staticClass:"sui-box",attrs:{"data-tab":"login_lockout"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Login Protection"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-message"},[t.maybeHideBranding()?t._e():s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/lockout-man.svg")}}),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n "+t._s(t.__("Put a stop to hackers trying to randomly guess your login credentials. Defender will lock out users after a set number of failed login attempts."))+"\n ")]),t._v(" "),s("form",{staticClass:"ip-frm",attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.toggle(!0,"login_protection")}}},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1)])])]):!0===t.model.login_protection||1===t.model.login_protection?s("div",{staticClass:"sui-box"},[s("form",{staticClass:"ip-frm",attrs:{method:"post",id:"settings-frm"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Login Protection"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n "+t._s(t.__("Put a stop to hackers trying to randomly guess your login credentials. Defender will lock out users after a set number of failed login attempts."))+"\n ")]),t._v(" "),t.summary_data.ip.day>0?s("div",{staticClass:"sui-notice sui-notice-error"},[s("p",{domProps:{innerHTML:t._s(t.notification)}})]):s("div",{staticClass:"sui-notice sui-notice-info"},[s("p",{domProps:{innerHTML:t._s(t.notification)}})]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Threshold")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v(t._s(t.__("Specify how many failed login attempts within a specific time period will trigger a lockout.")))])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-2"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Failed logins")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.login_protection_login_attempt,expression:"model.login_protection_login_attempt"}],staticClass:"sui-form-control sui-input-sm sui-field-has-suffix",attrs:{size:"8",type:"text",id:"login_protection_login_attempt",name:"login_protection_login_attempt"},domProps:{value:t.model.login_protection_login_attempt},on:{input:function(e){e.target.composing||t.$set(t.model,"login_protection_login_attempt",e.target.value)}}})]),t._v(" "),s("div",{staticClass:"sui-col-md-3"},[s("label",{staticClass:"sui-label"},[t._v("\n "+t._s(t.__("Timeframe"))+"\n ")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.login_protection_lockout_timeframe,expression:"model.login_protection_lockout_timeframe"}],staticClass:"sui-form-control sui-input-sm sui-field-has-suffix",attrs:{size:"8",id:"login_lockout_timeframe",name:"login_protection_lockout_timeframe",type:"text"},domProps:{value:t.model.login_protection_lockout_timeframe},on:{input:function(e){e.target.composing||t.$set(t.model,"login_protection_lockout_timeframe",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-field-suffix"},[t._v(t._s(t.__("seconds")))])])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Duration")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v(t._s(t.__("Choose how long you'd like to ban the locked out user for.")))])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-side-tabs"},[s("div",{staticClass:"sui-tabs-menu"},[s("label",{staticClass:"sui-tab-item",class:{active:!1===t.model.login_protection_lockout_ban},attrs:{for:"timeframe"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.login_protection_lockout_ban,expression:"model.login_protection_lockout_ban"}],attrs:{type:"radio",name:"login_protection_lockout_ban",id:"timeframe","data-tab-menu":"timeframe-box"},domProps:{value:!1,checked:t._q(t.model.login_protection_lockout_ban,!1)},on:{change:function(e){return t.$set(t.model,"login_protection_lockout_ban",!1)}}}),t._v("\n "+t._s(t.__("Timeframe"))+"\n ")]),t._v(" "),s("label",{staticClass:"sui-tab-item",class:{active:!0===t.model.login_protection_lockout_ban},attrs:{for:"permanent"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.login_protection_lockout_ban,expression:"model.login_protection_lockout_ban"}],attrs:{type:"radio",name:"login_protection_lockout_ban","data-tab-menu":"",id:"permanent"},domProps:{value:!0,checked:t._q(t.model.login_protection_lockout_ban,!0)},on:{change:function(e){return t.$set(t.model,"login_protection_lockout_ban",!0)}}}),t._v("\n "+t._s(t.__("Permanent"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-tabs-content"},[s("div",{staticClass:"sui-tab-content sui-tab-boxed",class:{active:!1===t.model.login_protection_lockout_ban},attrs:{id:"timeframe-box","data-tab-content":"timeframe-box"}},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.login_protection_lockout_duration,expression:"model.login_protection_lockout_duration"}],staticClass:"sui-form-control",attrs:{size:"4",name:"login_protection_lockout_duration",id:"login_protection_lockout_duration",type:"text"},domProps:{value:t.model.login_protection_lockout_duration},on:{input:function(e){e.target.composing||t.$set(t.model,"login_protection_lockout_duration",e.target.value)}}})]),t._v(" "),s("div",{staticClass:"sui-col-md-4"},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.login_protection_lockout_duration_unit,expression:"model.login_protection_lockout_duration_unit"}],staticClass:"jquery-select sui-select",attrs:{id:"lockout-duration-unit",name:"login_protection_lockout_duration_unit","data-minimum-results-for-search":"Infinity"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"login_protection_lockout_duration_unit",e.target.multiple?s:s[0])}}},[s("option",{attrs:{value:"seconds"}},[t._v(t._s(t.__("Seconds")))]),t._v(" "),s("option",{attrs:{value:"minutes"}},[t._v(t._s(t.__("Minutes")))]),t._v(" "),s("option",{attrs:{value:"hours"}},[t._v(t._s(t.__("Hours")))])])])])])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Message")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v(t._s(t.__("Customize the message locked out users will see.")))])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Custom message")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.login_protection_lockout_message,expression:"model.login_protection_lockout_message"}],staticClass:"sui-form-control",attrs:{name:"login_protection_lockout_message",id:"login_protection_lockout_message"},domProps:{value:t.model.login_protection_lockout_message},on:{input:function(e){e.target.composing||t.$set(t.model,"login_protection_lockout_message",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description",domProps:{innerHTML:t._s(t.demo_link)}})])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Banned usernames")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("It is highly recommended you avoid using the default username ‘admin'. Use this tool to automatically lockout and ban users who try to login with common usernames."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Banned usernames")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.username_blacklist,expression:"model.username_blacklist"}],staticClass:"sui-form-control",attrs:{placeholder:t.__("Type usernames, one per line"),id:"username_blacklist",name:"username_blacklist",rows:"8"},domProps:{value:t.model.username_blacklist},on:{input:function(e){e.target.composing||t.$set(t.model,"username_blacklist",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description",domProps:{innerHTML:t._s(t.banned_username)}})])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("If you no longer want to use this feature you can turn it off at any time."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:function(e){return t.toggle(!1,"login_protection")}}},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit",state:t.state,"css-class":"sui-button-blue"}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Save Changes"))+"\n ")])],1)])])]):t._e()}),[],!1,null,null,null).exports,u={mixins:[a.a],name:"nf-lockout",props:["view"],data:function(){return{model:iplockout.model.nf_lockout,summary_data:iplockout.summaryData,state:{on_saving:!1},nonces:iplockout.nonces,endpoints:iplockout.endpoints,misc:iplockout.misc}},methods:{toggle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"login_protection",s=this,i={};i[e]=t,this.httpPostRequest("updateSettings",{data:JSON.stringify(i)},(function(){s.model[e]=t,!0===t&&s.$nextTick((function(){s.rebindSUI()}))}))},updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})}},computed:{notification:function(){return 0===this.summary_data.nf.day?this.__("404 detection is enabled. There are no lockouts logged yet."):this.vsprintf(this.__('There have been %s lockouts in the last 24 hours. <a href="%s"><strong>View log</strong></a>.'),this.summary_data.nf.day,this.adminUrl("admin.php?page=wdf-ip-lockout&view=logs"))},demo_link:function(){return this.vsprintf(this.__('This message will be displayed across your website during the lockout period. See a quick preview <a href="%s">here</a>.'),this.siteUrl("?def-lockout-demo=1&type=404"))}},mounted:function(){var t=this;jQuery(".jquery-select").change((function(){var e=jQuery(this).val(),s=jQuery(this).attr("name");t.model[s]=e}))}},c=Object(r.a)(u,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return!1===t.model.detect_404||0===t.model.detect_404?s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("404 Detection"))+"\n\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-message"},[!1===t.maybeHideBranding()?s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/lockout-man.svg")}}):t._e(),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("With 404 detection enabled, Defender will keep an eye out for IP addresses that repeatedly request pages on your website that don't exist and then temporarily block them from accessing your site."))+"\n\t\t\t\t")]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.toggle(!0,"detect_404")}}},[s("submit-button",{staticClass:"sui-button-blue",attrs:{type:"submit",state:t.state}},[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Activate"))+"\n\t\t\t\t\t")])],1)])])]):!0===t.model.detect_404||1===t.model.detect_404?s("div",{staticClass:"sui-box",attrs:{"data-tab":"notfound_lockout"}},[s("form",{staticClass:"ip-frm",attrs:{method:"post",id:"settings-frm"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t\t"+t._s(t.__("404 Detection"))+"\n\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("With 404 detection enabled, Defender will keep an eye out for IP addresses that repeatedly request pages on your website that don't exist and then temporarily block them from accessing your site."))+"\n\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-notice",class:{"sui-notice-error":t.summary_data.nf.day>0,"sui-notice-info":0===t.summary_data.nf.day}},[s("p",{domProps:{innerHTML:t._s(t.notification)}})]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Threshold")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Specify how many 404 errors within a specific time period will trigger a lockout."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-2"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("404 hits")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_threshold,expression:"model.detect_404_threshold"}],staticClass:"sui-form-control sui-input-sm sui-field-has-suffix",attrs:{size:"8",type:"text",id:"detect_404_threshold",name:"detect_404_threshold"},domProps:{value:t.model.detect_404_threshold},on:{input:function(e){e.target.composing||t.$set(t.model,"detect_404_threshold",e.target.value)}}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Timeframe")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_timeframe,expression:"model.detect_404_timeframe"}],staticClass:"sui-form-control sui-input-sm sui-field-has-suffix",attrs:{size:"8",id:"detect_404_timeframe",name:"detect_404_timeframe",type:"text"},domProps:{value:t.model.detect_404_timeframe},on:{input:function(e){e.target.composing||t.$set(t.model,"detect_404_timeframe",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-field-suffix"},[t._v(t._s(t.__("seconds")))])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Duration")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v(t._s(t.__("Choose how long you'd like to ban the locked out user for.")))])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-side-tabs"},[s("div",{staticClass:"sui-tabs-menu"},[s("label",{staticClass:"sui-tab-item",class:{active:!1===t.model.detect_404_lockout_ban},attrs:{for:"nf_timeframe"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_lockout_ban,expression:"model.detect_404_lockout_ban"}],attrs:{type:"radio",name:"detect_404_lockout_ban",id:"nf_timeframe","data-tab-menu":"nf-timeframe-box"},domProps:{value:!1,checked:t._q(t.model.detect_404_lockout_ban,!1)},on:{change:function(e){return t.$set(t.model,"detect_404_lockout_ban",!1)}}}),t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Timeframe"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("label",{staticClass:"sui-tab-item",class:{active:!0===t.model.detect_404_lockout_ban},attrs:{for:"nf_permanent"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_lockout_ban,expression:"model.detect_404_lockout_ban"}],attrs:{type:"radio",name:"detect_404_lockout_ban","data-tab-menu":"",id:"nf_permanent"},domProps:{value:!0,checked:t._q(t.model.detect_404_lockout_ban,!0)},on:{change:function(e){return t.$set(t.model,"detect_404_lockout_ban",!0)}}}),t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Permanent"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-tabs-content"},[s("div",{staticClass:"sui-tab-content sui-tab-boxed",class:{active:!1===t.model.detect_404_lockout_ban},attrs:{id:"nf-timeframe-box","data-tab-content":"nf-timeframe-box"}},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_lockout_duration,expression:"model.detect_404_lockout_duration"}],staticClass:"sui-form-control",attrs:{size:"4",name:"detect_404_lockout_duration",id:"detect_404_lockout_duration",type:"text"},domProps:{value:t.model.detect_404_lockout_duration},on:{input:function(e){e.target.composing||t.$set(t.model,"detect_404_lockout_duration",e.target.value)}}})]),t._v(" "),s("div",{staticClass:"sui-col-md-4"},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_lockout_duration_unit,expression:"model.detect_404_lockout_duration_unit"}],staticClass:"jquery-select sui-select",attrs:{id:"detect_404_lockout_duration_unit",name:"detect_404_lockout_duration_unit","data-minimum-results-for-search":"Infinity"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"detect_404_lockout_duration_unit",e.target.multiple?s:s[0])}}},[s("option",{attrs:{value:"seconds"}},[t._v(t._s(t.__("Seconds")))]),t._v(" "),s("option",{attrs:{value:"minutes"}},[t._v(t._s(t.__("Minutes")))]),t._v(" "),s("option",{attrs:{value:"hours"}},[t._v(t._s(t.__("Hours")))])])])])])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Message")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v(t._s(t.__("Customize the message locked out users will see.")))])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_lockout_message,expression:"model.detect_404_lockout_message"}],staticClass:"sui-form-control",attrs:{name:"detect_404_lockout_message",id:"detect_404_lockout_message"},domProps:{value:t.model.detect_404_lockout_message},on:{input:function(e){e.target.composing||t.$set(t.model,"detect_404_lockout_message",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description",domProps:{innerHTML:t._s(t.demo_link)}})])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Files & Folders"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose specific files and folders that you want to automatically ban users/bots from accessing, or whitelist access to."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("strong",[t._v(t._s(t.__("Blacklist")))]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Add file or folder URLs you want to automatically ban. Users or bots who request blacklisted them will be locked out as per your 404 rules above."))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Blaclisted files & folders")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_blacklist,expression:"model.detect_404_blacklist"}],staticClass:"sui-form-control",attrs:{name:"detect_404_blacklist",rows:"8"},domProps:{value:t.model.detect_404_blacklist},on:{input:function(e){e.target.composing||t.$set(t.model,"detect_404_blacklist",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("One URL per line. You must list the full path beginning with a /."))+"\n ")])]),t._v(" "),s("strong",[t._v(t._s(t.__("Whitelist")))]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("If you know a common file or folder on your website is missing, you can record it here so it doesn't count towards a lockout record."))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Whitelisted files & folders")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_whitelist,expression:"model.detect_404_whitelist"}],staticClass:"sui-form-control",attrs:{id:"detect_404_whitelist",name:"detect_404_whitelist",rows:"8"},domProps:{value:t.model.detect_404_whitelist},on:{input:function(e){e.target.composing||t.$set(t.model,"detect_404_whitelist",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("One URL per line. You must list the full path beginning with a /."))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Filetypes & Extensions"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose which types of files or extentions you want to auto-ban or whitelist."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("strong",[t._v(t._s(t.__("Blacklist")))]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Add a common filetype or extention you want to auto-ban. Users or bots who request blacklisted filetypes or extensions will be locked out as per your 404 rules above."))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Blaclisted filetypes & extensions")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_filetypes_blacklist,expression:"model.detect_404_filetypes_blacklist"}],staticClass:"sui-form-control",attrs:{name:"detect_404_filetypes_blacklist",rows:"8"},domProps:{value:t.model.detect_404_filetypes_blacklist},on:{input:function(e){e.target.composing||t.$set(t.model,"detect_404_filetypes_blacklist",e.target.value)}}})]),t._v(" "),s("strong",[t._v(t._s(t.__("Whitelist")))]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Defender will log the 404 error, but won't lockout the user for these filetypes."))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Whitelisted filetypes & extentions")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_ignored_filetypes,expression:"model.detect_404_ignored_filetypes"}],staticClass:"sui-form-control",attrs:{id:"detect_404_blacklist",name:"detect_404_ignored_filetypes",rows:"8"},domProps:{value:t.model.detect_404_ignored_filetypes},on:{input:function(e){e.target.composing||t.$set(t.model,"detect_404_ignored_filetypes",e.target.value)}}})])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Exclusions"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("By default, Defender will monitor all interactions with your website but you can choose to disable 404 detection for specific areas of your site."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_logged,expression:"model.detect_404_logged"}],attrs:{id:"detect_404_logged",type:"checkbox","true-value":"true","false-value":"false",name:"detect_404_logged"},domProps:{checked:Array.isArray(t.model.detect_404_logged)?t._i(t.model.detect_404_logged,null)>-1:t._q(t.model.detect_404_logged,"true")},on:{change:function(e){var s=t.model.detect_404_logged,i=e.target,n=i.checked?"true":"false";if(Array.isArray(s)){var a=t._i(s,null);i.checked?a<0&&t.$set(t.model,"detect_404_logged",s.concat([null])):a>-1&&t.$set(t.model,"detect_404_logged",s.slice(0,a).concat(s.slice(a+1)))}else t.$set(t.model,"detect_404_logged",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"detect_404_logged"}},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Monitor 404s from logged in users"))+"\n\t\t\t\t\t\t\t")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("If you no longer want to use this feature you can turn it off at any time."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:function(e){return t.toggle(!1,"detect_404")}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Deactivate"))+"\n\t\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])])]):t._e()}),[],!1,null,null,null).exports,d=s("./node_modules/lodash/chunk.js"),_=s.n(d),m={mixins:[a.a],name:"locked-ips-dialog",data:function(){return{nonces:iplockout.nonces,endpoints:iplockout.endpoints,blacklist:{ips_locked:[],chunks:[],ip:"",paged:1,count:0},state:{ip_actioning:[],on_saving:!1}}},methods:{query_locked_ips:function(){var t=this;this.httpPostRequest("queryLockedIps",{},(function(e){t.blacklist.ips_locked=Object.values(e.data.ips_locked),t.blacklist.chunks=_()(t.blacklist.ips_locked,20),t.blacklist.count=t.blacklist.ips_locked.length,t.$emit("fetched",t.blacklist.ips_locked.length)}),!0)},ip_action:function(t,e,s){var i=this;this.state.ip_actioning.push(t),this.httpPostRequest("ipAction",{ip:t,behavior:e},(function(n){var a=i.state.ip_actioning.indexOf(t);if(-1!==a&&i.state.ip_actioning.splice(a,1),!0===n.success){var o="unban"===e?"normal":"blocked";i.blacklist.ips_locked[s].status=o}}),!0)}},computed:{filtered_locked_ips:function(){if(this.blacklist.ip.length>0){var t=this.blacklist.ip,e=this.blacklist.ips_locked.filter((function(e){return e.ip.indexOf(t)>-1}));this.blacklist.chunks=_()(e,20)}return this.blacklist.chunks[this.blacklist.paged-1]}},created:function(){this.query_locked_ips()}},h=Object(r.a)(m,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-dialog sui-dialog-sm locked-ips-dialog",attrs:{"aria-hidden":"true",tabindex:"-1",id:"ips-modal"}},[s("div",{staticClass:"sui-dialog-overlay",attrs:{"data-a11y-dialog-hide":""}}),t._v(" "),s("div",{staticClass:"sui-dialog-content",attrs:{role:"dialog"}},[s("div",{staticClass:"sui-box",attrs:{role:"document"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title",attrs:{id:"dialogTitle"}},[t._v(t._s(t.__("Temporary IP Block List")))]),t._v(" "),t._m(0)]),t._v(" "),s("div",{staticClass:"sui-box-body no-padding-bottom"},[s("p",[t._v("\n "+t._s(t.__("Here's a list of IP addresses that are currently temporarily blocked for bad behaviour. Select the IPs you want to unblock below."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-selectors sui-box-selectors-col-1"},[s("ul",{staticClass:"ul-ips"},[s("li",[s("div",{staticClass:"sui-with-button sui-with-button-icon"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.blacklist.ip,expression:"blacklist.ip"}],staticClass:"sui-form-control",attrs:{type:"text",placeholder:t.__("Type IP Address")},domProps:{value:t.blacklist.ip},on:{input:function(e){e.target.composing||t.$set(t.blacklist,"ip",e.target.value)}}}),t._v(" "),t._m(1)])]),t._v(" "),t._l(t.filtered_locked_ips,(function(e,i){return s("li",["blocked"===e.status?s("label",{staticClass:"sui-box-selector"},[s("span",[s("i",{staticClass:"sui-icon-lock",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(e.ip)+"\n "),s("button",{staticClass:"sui-tooltip sui-button-icon",class:{"sui-button-onload":t.state.ip_actioning.indexOf(e.ip)>-1},attrs:{type:"button","data-tooltip":"Unblock"},on:{click:function(s){return t.ip_action(e.ip,"unban",i)}}},[s("span",{staticClass:"sui-loading-text",attrs:{"aria-hidden":"true"}},[s("i",{staticClass:"sui-icon-unlock",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v(t._s(t.__("Unlock")))])]),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])])]):s("label",{staticClass:"sui-box-selector-selected"},[s("span",[s("i",{staticClass:"sui-icon-unlock",attrs:{"aria-hidden":"true"}}),t._v("\n IP "),s("strong",[t._v(t._s(e.ip))]),t._v(" is unblocked\n "),s("button",{staticClass:"sui-tooltip sui-button-icon",class:{"sui-button-onload":t.state.ip_actioning.indexOf(e.ip)>-1},attrs:{type:"button","data-tooltip":"Undo"},on:{click:function(s){return t.ip_action(e.ip,"ban",i)}}},[s("span",{staticClass:"sui-loading-text",attrs:{"aria-hidden":"true"}},[s("i",{staticClass:"sui-icon-undo",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v(t._s(t.__("Undo")))])]),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])])])])}))],2)]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("div",{staticClass:"sui-pagination-wrap"},[s("span",{staticClass:"sui-tag"},[t._v(t._s(t.blacklist.ips_locked.length)+" "+t._s(t.__("results")))]),t._v(" "),s("ul",{staticClass:"sui-pagination"},[s("li",[s("a",{staticClass:"prev",attrs:{href:"#",disabled:1===t.blacklist.paged||!0===t.state.ip_actioning,"data-paged":"1"},on:{click:function(e){e.preventDefault(),t.blacklist.paged-=1}}},[s("i",{staticClass:"sui-icon-chevron-left",attrs:{"aria-hidden":"true"}})])]),t._v(" "),s("li",[s("a",{staticClass:"next",attrs:{href:"#",disabled:t.blacklist.paged===Math.ceil(t.blacklist.ips_locked.length/20)||!0===t.state.ip_actioning,"data-paged":"2"},on:{click:function(e){t.blacklist.paged+=1}}},[s("i",{staticClass:"sui-icon-chevron-right",attrs:{"aria-hidden":"true"}})])])])])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-right"},[e("button",{staticClass:"sui-dialog-close",attrs:{type:"button","data-a11y-dialog-hide":"","aria-label":"Close this dialog window"}})])},function(){var t=this.$createElement,e=this._self._c||t;return e("button",{staticClass:"sui-button-icon",attrs:{type:"button"}},[e("i",{staticClass:"sui-icon-magnifying-glass-search",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null).exports,p={mixins:[a.a],name:"ip_blacklist",props:["view"],data:function(){return{model:iplockout.model.blacklist,state:{on_saving:!1},nonces:iplockout.nonces,endpoints:iplockout.endpoints,misc:iplockout.misc,ip_import:{id:!1,name:null},blacklist:{count:null}}},components:{"locked-ips-dialog":h},methods:{download_geodb:function(){var t=this;this.httpGetRequest("downloadGeoDB",{},(function(){t.misc.geo_db_downloaded=!0,t.$nextTick((function(){jQuery("#country_whitelist").SUIselect2({dropdownCssClass:"sui-select-dropdown"}),jQuery("#country_blacklist").SUIselect2({dropdownCssClass:"sui-select-dropdown"}),location.reload()}))}))},import_ip:function(){var t=this;this.httpPostRequest("importIPs",{id:t.ip_import.id},(function(){t.ip_import={id:!1,name:null}}))},remove_import_file:function(){this.ip_import.id=!1,this.ip_import.name=null},update_settings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})}},computed:{user_ip_notice:function(){return this.vsprintf(this.__("We recommend you add your own IP to avoid getting locked out accidentally! Your current IP is <span class='admin-ip'>%s</span>"),this.misc.user_ip)},log_status:function(){return null===this.blacklist.count?this.__("Loading data..."):0===this.blacklist.count?this.__("There are no IP addresses being blocked at the moment."):1===this.blacklist.count?this.__("There is one IP address being blocked temporary."):this.vsprintf(this.__("There are %d IP address being blocked temporary."),this.blacklist.count)},demo_link:function(){return this.vsprintf(this.__('This message will be displayed across your website during the lockout period. See a quick preview <a href="%s">here</a>.'),this.siteUrl("?def-lockout-demo=1&type=blacklist"))},ip_block_count:function(){return this.vsprintf(this.__("%s results"),this.blacklist.count)},export_url:function(){return this.adminUrl("admin.php?page=wdf-ip-lockout&view=export&_wpnonce="+this.nonces.exportIps)}},mounted:function(){var t=void 0,e=this;console.log("here"),jQuery(".file-picker").click((function(){t?t.open():((t=wp.media.frames.file_frame=wp.media({title:"Choose an Import file",button:{text:"Choose File"},multiple:!1})).on("select",(function(){var s=t.state().get("selection").first().toJSON();e.ip_import.id=s.id,e.ip_import.name=s.filename,jQuery(".upload-input").addClass("sui-has_file"),jQuery(".upload-input .sui-upload-file span").text(s.filename)})),t.open())}));var s=this;jQuery(".jquery-select").change((function(){var t=jQuery(this).val(),e=jQuery(this).attr("name");s.model[e]=t})),"string"==typeof this.model.country_blacklist&&(this.model.country_blacklist.length?this.model.country_blacklist=this.model.country_blacklist.split(","):this.model.country_blacklist=[]),"string"==typeof this.model.country_whitelist&&(this.model.country_whitelist.length?this.model.country_whitelist=this.model.country_whitelist.split(","):this.model.country_whitelist=[])}},f=Object(r.a)(p,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box"},[s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.update_settings(e)}}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t\t"+t._s(t.__("IP Banning"))+"\n\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Choose which IP addresses you wish to permanently ban from accessing your website."))+"\n\t\t\t\t")]),t._v(" "),s("hr"),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("IP Addresses"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Add IP addresses you want to permanently ban from, or always allow access to your website."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("strong",[t._v(t._s(t.__("Blacklist")))]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Any IP addresses you list here will be completely blocked from accessing your website, including admins."))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Blacklisted IPs")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.ip_blacklist,expression:"model.ip_blacklist"}],staticClass:"sui-form-control",attrs:{id:"ip_blacklist",name:"ip_blacklist",placeholder:t.__("Add IP addresses here, one per line"),rows:"8"},domProps:{value:t.model.ip_blacklist},on:{input:function(e){e.target.composing||t.$set(t.model,"ip_blacklist",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Both IPv4 and IPv6 are supported. IP ranges are also accepted in format xxx.xxx.xxx.xxx-xxx.xxx.xxx.xxx."))+"\n ")])]),t._v(" "),s("strong",[t._v(t._s(t.__("Whitelist")))]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Any IP addresses you list here will be exempt any existing or new ban rules outlined in login protection, 404 detection or IP ban lists."))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Allowed IPs")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.ip_whitelist,expression:"model.ip_whitelist"}],staticClass:"sui-form-control",attrs:{id:"ip_whitelist",name:"ip_whitelist",placeholder:t.__("Add IP addresses here, one per line"),rows:"8"},domProps:{value:t.model.ip_whitelist},on:{input:function(e){e.target.composing||t.$set(t.model,"ip_whitelist",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("One IP address per line. Both IPv4 and IPv6 are supported. IP ranges are also accepted in format xxx.xxx.xxx.xxx-xxx.xxx.xxx.xxx."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-notice"},[s("p",{domProps:{innerHTML:t._s(t.user_ip_notice)}})])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Active Lockouts")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("View IP addresses that are temporarily blocked from accessing your site according to your lockout rules. You can release IP addresses from the temporarily block here."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-notice sui-notice-info margin-bottom-10"},[s("p",{domProps:{innerHTML:t._s(t.log_status)}})]),t._v(" "),s("button",{directives:[{name:"show",rawName:"v-show",value:t.blacklist.count>0,expression:"blacklist.count > 0"}],staticClass:"sui-button sui-button-gray",attrs:{type:"button","data-a11y-dialog-show":"ips-modal"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Unlock ips"))+"\n\t\t\t\t\t\t")])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Locations")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v(t._s(t.__("Use this feature to ban any countries you don't expect/want traffic from to protect your site entirely from unwanted hackers and bots.")))])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2 geo-ip-block"},[!1===t.misc.geo_db_downloaded?s("div",{staticClass:"sui-notice sui-notice-info"},[s("p",[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("To use this feature you must first download the latest Geo IP Database."))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-notice-buttons"},[s("submit-button",{attrs:{id:"download-geodb",type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:t.download_geodb}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Download"))+"\n\t\t\t\t\t\t\t\t")])],1)]):s("div",[!1===t.misc.current_country?s("div",[s("div",{staticClass:"sui-notice sui-notice-warning"},[s("p",[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Can't detect current country, it seem your site setup in localhost environment"))+"\n\t\t\t\t\t\t\t\t\t")])])]):s("div",[s("strong",[t._v(t._s(t.__("Blacklist")))]),t._v(" "),s("p",{staticClass:"sui-description no-margin-bottom"},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Any countries you select will not be able to access any area of your website."))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame"},[s("div",{staticClass:"sui-control-with-icon"},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.country_blacklist,expression:"model.country_blacklist"}],staticClass:"sui-select jquery-select sui-form-control",attrs:{name:"country_blacklist",id:"country_blacklist",placeholder:t.__("Type country name"),multiple:""},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"country_blacklist",e.target.multiple?s:s[0])}}},t._l(t.misc.blacklist_countries,(function(e,i){return s("option",{domProps:{value:i}},[t._v("\n\t\t\t\t\t\t\t\t\t\t\t\t"+t._s(e)+"\n\t\t\t\t\t\t\t\t\t\t\t")])})),0),t._v(" "),s("i",{staticClass:"sui-icon-web-globe-world",attrs:{"aria-hidden":"true"}})])]),t._v(" "),s("strong",[t._v(t._s(t.__("Whitelist")))]),t._v(" "),s("p",{staticClass:"sui-description no-margin-bottom"},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Any countries you select will always be able to view your website. Note: We've added your default country by default."))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame"},[s("div",{staticClass:"sui-control-with-icon"},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.country_whitelist,expression:"model.country_whitelist"}],staticClass:"sui-select sui-select jquery-select sui-form-control",attrs:{name:"country_whitelist",id:"country_whitelist",placeholder:t.__("Type country name"),multiple:""},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"country_whitelist",e.target.multiple?s:s[0])}}},t._l(t.misc.whitelist_countries,(function(e,i){return s("option",{domProps:{value:i}},[t._v("\n\t\t\t\t\t\t\t\t\t\t\t\t"+t._s(e)+"\n\t\t\t\t\t\t\t\t\t\t\t")])})),0),t._v(" "),s("i",{staticClass:"sui-icon-web-globe-world",attrs:{"aria-hidden":"true"}})]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Note: your whitelist will override any country ban, but will still follow your 404 and login lockout rules."))+"\n\t\t\t\t\t\t\t\t\t")])]),t._v(" "),t._m(0)])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Message")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v(t._s(t.__("Customize the message locked out users will see.")))])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Custom message"))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.ip_lockout_message,expression:"model.ip_lockout_message"}],staticClass:"sui-form-control",attrs:{name:"ip_lockout_message",placeholder:t.__("The administrator has blocked your IP from accessing this website."),id:"ip_lockout_message"},domProps:{value:t.model.ip_lockout_message},on:{input:function(e){e.target.composing||t.$set(t.model,"ip_lockout_message",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description",domProps:{innerHTML:t._s(t.demo_link)}})])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Import"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Use this tool to import both your blacklist and whitelist from another website."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("span",[t._v(t._s(t.__("Upload your exported blacklist.")))]),t._v(" "),s("div",{staticClass:"upload-input sui-upload",class:{"sui-has_file":!1!==t.ip_import.id}},[s("div",{staticClass:"sui-upload-file"},[s("span",[t._v(t._s(t.ip_import.name))]),t._v(" "),s("button",{staticClass:"file-picker-remove",attrs:{"aria-label":"Remove file",type:"button"},on:{click:t.remove_import_file}},[s("i",{staticClass:"sui-icon-close",attrs:{"aria-hidden":"true"}})])]),t._v(" "),s("button",{staticClass:"sui-upload-button file-picker",attrs:{type:"button"}},[s("i",{staticClass:"sui-icon-upload-cloud",attrs:{"aria-hidden":"true"}}),t._v(" "+t._s(t.__("Upload file"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"clear margin-top-10"}),t._v(" "),s("submit-button",{attrs:{type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:t.import_ip}},[s("i",{staticClass:"sui-icon-download-cloud",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Import"))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Note: Existing IPs will not be removed - only new IPs added."))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Export"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Export both your blacklist and whitelist to use on another website."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("a",{staticClass:"sui-button sui-button-outlined export",attrs:{href:t.export_url}},[s("i",{staticClass:"sui-icon-upload-cloud",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Export"))+"\n\t\t\t\t\t\t")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("The export will include both the blacklist and whitelist."))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])]),t._v(" "),s("locked-ips-dialog",{on:{fetched:function(e){t.blacklist.count=e}}})],1)}),[function(){var t=this.$createElement,e=this._self._c||t;return e("p",{staticClass:"sui-description"},[this._v("\n\t\t\t\t\t\t\t\t\tThis product includes GeoLite2 data created by MaxMind, available from\n\t\t\t\t\t\t\t\t\t"),e("a",{attrs:{href:"https://www.maxmind.com"}},[this._v("https://www.maxmind.com")]),this._v(".\n\t\t\t\t\t\t\t\t")])}],!1,null,null,null).exports,v=s("./src/component/pagination.vue"),g={mixins:[a.a],props:["id","headers","table","sort"],data:function(){return{logs:[],cached:[],countAll:0,totalPages:0,ranges:{Today:[moment(),moment()],"7 Days":[moment().subtract(6,"days"),moment()],"30 Days":[moment().subtract(29,"days"),moment()]},nonces:iplockout.nonces,endpoints:iplockout.endpoints,filters:{date:this.table.date_from+"-"+this.table.date_to,paged:1,type:"",ip:""},state:{show_filter:!1,on_saving:!1,on_querying:!1,show_empty_logs_text:!1,show_init_text:!0,querying:!1},ids:[],allSelected:!1}},components:{paginate:v.a},methods:{paging:function(t){this.filters.paged=t},clearFilter:function(){this.filters.type="",this.filters.ip=""},doFilter:function(){this.state.on_saving=!0;var t=this.filters.date.split("-");this.filters.date_from=t[0],this.filters.date_to=t[1],this._queryLogs(this.filters,1)},bulkSelect:function(){if(!1===this.allSelected)this.ids=[];else for(var t in this.logs)-1===this.ids.indexOf(this.logs[t].id)&&this.ids.push(this.logs[t].id)},addIpToList:function(t,e,s){var i=this;i.state.on_saving=!0,this.httpPostRequest("toggleIpAction",{ip:t,type:e},(function(){i.state.on_saving=!1;var t="";t="unblacklist"===e||"unwhitelist"===e?"na":e,i.logs[s].ip_status=t}))},bulkUpdate:function(){var t=jQuery("#bulk-action").val(),e=this;e.state.on_saving=!0,this.httpPostRequest("bulkAction",{type:t,ids:e.ids},(function(){e.state.on_saving=!1,"delete"===t&&e._queryLogs(e.filters,e.filters.paged)}))},_queryLogs:function(t,e){var s=this,i=this.filters.date.split("-");return t.date_from=i[0],t.date_to=i[1],t.paged=e,s.state.querying=!0,this.httpPostRequest("queryLogs",t,(function(t){var e=t.data;s.state.on_saving=!1,s.logs=e.logs,s.countAll=e.countAll,s.totalPages=e.totalPages,s.state.show_init_text=!1,s.state.querying=!1,0===s.logs.length?s.state.show_empty_logs_text=!0:s.state.show_empty_logs_text=!1}),!0)}},watch:{"filters.date":{handler:function(){this._queryLogs(this.filters,this.filters.paged)}},"filters.paged":function(){this._queryLogs(this.filters,this.filters.paged)},sort:function(t){var e=void 0;"latest"===t&&(e={orbder:"DESC",orderBy:"date"}),"oldest"===t&&(e={order:"ASC",orderBy:"date"}),"ip"===t&&(e={order:"DESC",orderBy:"ip"}),this._queryLogs(e,1)}},computed:{dateRange:function(){return this.filters.date},nextIcon:function(){return'<i class="sui-icon-chevron-right" aria-hidden="true"></i>'},prevIcon:function(){return'<i class="sui-icon-chevron-left" aria-hidden="true"></i>'},badgeClass:function(){return function(t){var e="";return"auth_lock"!==t.type&&"404_lockout"!==t.type&&"404_lockout_ignore"!==t.type||(e="locked"),"auth_lock"!==t.type&&"auth_fail"!==t.type||(e+=" login"),"404_error"!==t.type&&"404_lockout"!==t.type&&"404_lockout_ignore"!==t.type||(e+=" 404"),e}},badgeText:function(){return function(t){return"auth_lock"===t.type||"auth_fail"===t.type?"login":"404"}},eventType:function(){var t=this;return function(e){if(void 0!==e)return e.indexOf("404")>-1?t.__("404 error"):t.__("Login failed")}},logClass:function(){return function(t){if(void 0!==t)return"404_error"===t.type||"auth_fail"===t.type?"sui-warning":"sui-error"}}},created:function(){this._queryLogs({date_from:this.table.date_from,date_to:this.table.date_to},1)},mounted:function(){var t=this;this.$nextTick((function(){jQuery("#date-range-picker").daterangepicker({autoApply:!0,maxDate:moment().format("MM/DD/YYYY"),minDate:moment().subtract(1,"year").format("MM/DD/YYYY"),locale:{format:"MM/DD/YYYY",separator:"-"},ranges:{Today:[moment(),moment()],"7 Days":[moment().subtract(6,"days"),moment()],"30 Days":[moment().subtract(29,"days"),moment()]},template:'<div class="daterangepicker wd-calendar"><div class="ranges"></div><div class="drp-calendar left"><div class="calendar-table"></div><div class="calendar-time"></div></div><div class="drp-calendar right"><div class="calendar-table"></div><div class="calendar-time"></div></div></div>',showCustomRangeLabel:!1,alwaysShowCalendars:!0}),jQuery("#date-range-picker").on("apply.daterangepicker",(function(e,s){t.filters.date=s.startDate.format("MM/DD/YYYY")+"-"+s.endDate.format("MM/DD/YYYY")})),jQuery("#filter_type").change((function(){t.filters.type=jQuery(this).val()}))}))}},b=Object(r.a)(g,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("div",{staticClass:"sui-box-body no-padding-bottom"},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-5"},[s("div",{staticClass:"inline-form"},[s("label",[t._v(t._s(t.__("Date range")))]),t._v(" "),s("div",{staticClass:"sui-date"},[s("i",{staticClass:"sui-icon-calendar",attrs:{"aria-hidden":"true"}}),t._v(" "),s("input",{staticClass:"sui-form-control",attrs:{id:"date-range-picker",name:"date_from",type:"text"},domProps:{value:t.dateRange}})])])]),t._v(" "),s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-pagination-wrap"},[t.countAll>0?s("span",{staticClass:"sui-pagination-results"},[t._v(t._s(t.vsprintf(t.__("%s results"),t.countAll)))]):t._e(),t._v(" "),t.countAll>0?s("paginate",{attrs:{"page-count":t.totalPages,"click-handler":t.paging,"prev-text":t.prevIcon,"next-text":t.nextIcon,"container-class":"sui-pagination"}}):t._e(),t._v(" "),s("button",{staticClass:"sui-button-icon sui-button-outlined sui-pagination-open-filter",on:{click:function(e){t.state.show_filter=!t.state.show_filter}}},[s("i",{staticClass:"sui-icon-filter",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Open search filters")])])],1)])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-5"},[s("form",{staticClass:"inline-form",attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.bulkUpdate(e)}}},[s("label",{staticClass:"sui-checkbox apply-all"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.allSelected,expression:"allSelected"}],attrs:{type:"checkbox","true-value":!0,"false-value":!1},domProps:{checked:Array.isArray(t.allSelected)?t._i(t.allSelected,null)>-1:t.allSelected},on:{change:[function(e){var s=t.allSelected,i=e.target,n=!!i.checked;if(Array.isArray(s)){var a=t._i(s,null);i.checked?a<0&&(t.allSelected=s.concat([null])):a>-1&&(t.allSelected=s.slice(0,a).concat(s.slice(a+1)))}else t.allSelected=n},t.bulkSelect]}}),t._v(" "),s("span",{attrs:{"aria-hidden":"true"}})]),t._v(" "),s("select",{staticClass:"sui-select-sm",attrs:{id:"bulk-action"}},[s("option",{attrs:{value:""}},[t._v(t._s(t.__("Bulk action")))]),t._v(" "),s("option",{attrs:{value:"ban"}},[t._v(t._s(t.__("Ban")))]),t._v(" "),s("option",{attrs:{value:"whitelist"}},[t._v(t._s(t.__("Whitelist")))]),t._v(" "),s("option",{attrs:{value:"delete"}},[t._v(t._s(t.__("Delete")))])]),t._v(" "),s("button",{staticClass:"sui-button",class:{"sui-button-onload":t.state.on_saving},attrs:{type:"submit"}},[s("span",{staticClass:"sui-loading-text"},[t._v("\n "+t._s(t.__("Bulk Update"))+"\n ")]),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])])])]),t._v(" "),s("div",{staticClass:"sui-pagination-filter",class:{"sui-open":t.state.show_filter}},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Lockout Type"))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("select",{attrs:{id:"filter_type",name:"type"}},[s("option",{attrs:{value:""}},[t._v(t._s(t.__("All")))]),t._v(" "),s("option",{attrs:{value:"auth_fail"}},[t._v(t._s(t.__("Failed login attempts")))]),t._v(" "),s("option",{attrs:{value:"auth_lock"}},[t._v(t._s(t.__("Login lockout")))]),t._v(" "),s("option",{attrs:{value:"404_error"}},[t._v(t._s(t.__("404 error")))]),t._v(" "),s("option",{attrs:{value:"404_lockout"}},[t._v(t._s(t.__("404 lockout")))])])])]),t._v(" "),s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("IP Address"))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.filters.ip,expression:"filters.ip"}],staticClass:"sui-form-control",attrs:{type:"text",placeholder:"Enter an IP address"},domProps:{value:t.filters.ip},on:{input:function(e){e.target.composing||t.$set(t.filters,"ip",e.target.value)}}})])]),t._v(" "),s("div",{staticClass:"sui-col"})]),t._v(" "),s("hr"),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"}),t._v(" "),s("div",{staticClass:"sui-col"},[s("button",{staticClass:"sui-button float-r",class:{"sui-button-onload":t.state.on_saving},attrs:{type:"button",disabled:t.state.on_saving},on:{click:t.doFilter}},[s("span",{staticClass:"sui-loading-text"},[t._v("\n "+t._s(t.__("Apply"))+"\n ")]),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])])])])]),t._v(" "),t.state.show_empty_logs_text?s("div",{staticClass:"sui-box-body"},[s("table",{staticClass:"sui-table no-border margin-bottom-20"},[s("tr",[s("td",[s("div",{staticClass:"sui-notice"},[s("p",[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("No lockout events have been logged within the selected time period."))+"\n\t\t\t\t\t\t\t")])])])])])]):t._e(),t._v(" "),t.state.show_init_text?s("div",{staticClass:"sui-box-body"},[s("table",{staticClass:"sui-table no-border margin-bottom-20"},[s("tr",[s("td",[s("div",{staticClass:"sui-notice"},[s("p",[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Loading logs...."))+"\n\t\t\t\t\t\t\t")])])])])])]):t._e(),t._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:!1===t.state.show_init_text&&!1===t.state.show_empty_logs_text,expression:"state.show_init_text===false && state.show_empty_logs_text===false"}]},[t.state.querying?s("overlay"):t._e(),t._v(" "),s("table",{staticClass:"sui-table sui-accordion no-border",attrs:{id:t.id}},[s("thead",[s("tr",t._l(t.headers,(function(e){return s("th",[t._v("\n\t\t\t\t\t\t"+t._s(e)+"\n\t\t\t\t\t")])})),0)]),t._v(" "),s("tbody",[t._l(t.logs,(function(e,i){return[s("tr",{staticClass:"sui-accordion-item",class:t.logClass(e)},[s("td",{staticClass:"sui-table-item-title"},[s("label",{staticClass:"sui-checkbox"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.ids,expression:"ids"}],staticClass:"single-select",attrs:{type:"checkbox"},domProps:{value:e.id,checked:Array.isArray(t.ids)?t._i(t.ids,e.id)>-1:t.ids},on:{change:function(s){var i=t.ids,n=s.target,a=!!n.checked;if(Array.isArray(i)){var o=e.id,r=t._i(i,o);n.checked?r<0&&(t.ids=i.concat([o])):r>-1&&(t.ids=i.slice(0,r).concat(i.slice(r+1)))}else t.ids=a}}}),t._v(" "),s("span",{attrs:{"aria-hidden":"true"}})]),t._v(" "),s("span",{staticClass:"badge",class:t.badgeClass(e)},[t._v(t._s(t.badgeText(e)))]),t._v("\n\t\t\t\t\t\t\t"+t._s(e.log)+"\n\t\t\t\t\t\t")]),t._v(" "),s("td",[t._v("\n\t\t\t\t\t\t\t"+t._s(e.date)+"\n\t\t\t\t\t\t")]),t._v(" "),t._m(0,!0)]),t._v(" "),s("tr",{staticClass:"sui-accordion-item-content"},[s("td",{attrs:{colSpan:"3"}},[s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-body margin-bottom-30"},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("p",[s("strong",[t._v(t._s(t.__("Description")))])]),t._v(" "),s("p",[t._v(t._s(e.log))])]),t._v(" "),s("div",{staticClass:"sui-col"},[s("p",[s("strong",[t._v(t._s(t.__("Type")))])]),t._v(" "),s("p",[s("a",{attrs:{href:""},domProps:{textContent:t._s(t.eventType(e.type))}})])])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("p",[s("strong",[t._v(t._s(t.__("IP Address")))])]),t._v(" "),s("p",[s("a",{attrs:{href:""}},[t._v(t._s(e.ip))])])]),t._v(" "),s("div",{staticClass:"sui-col"},[s("p",[s("strong",[t._v(t._s(t.__("Date/Time")))])]),t._v(" "),s("p",[t._v(t._s(e.date))])]),t._v(" "),s("div",{staticClass:"sui-col"},[s("p",[s("strong",[t._v(t._s(t.__("Ban Status")))])]),t._v(" "),s("p",[t._v(t._s(e.statusText))])])]),t._v(" "),s("div",{staticClass:"sui-border-frame"},["na"===e.ip_status?s("button",{staticClass:"sui-button sui-button-ghost",class:{"sui-button-onload":t.state.on_saving},attrs:{type:"button"},on:{click:function(s){return t.addIpToList(e.ip,"whitelist",i)}}},[s("span",{staticClass:"sui-loading-text"},[s("i",{staticClass:"sui-icon-check-tick",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Add whitelist"))+"\n ")]),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})]):t._e(),t._v(" "),"whitelist"===e.ip_status?s("button",{staticClass:"sui-button sui-button-ghost",class:{"sui-button-onload":t.state.on_saving},attrs:{type:"button"},on:{click:function(s){return t.addIpToList(e.ip,"unwhitelist",i)}}},[s("span",{staticClass:"sui-loading-text"},[t._v("\n "+t._s(t.__("Unwhitelist"))+"\n ")]),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})]):t._e(),t._v(" "),!1===e.is_mine&&"na"===e.ip_status?s("button",{staticClass:"sui-button sui-button-red",class:{"sui-button-onload":t.state.on_saving},attrs:{type:"button"},on:{click:function(s){return t.addIpToList(e.ip,"blacklist",i)}}},[s("span",{staticClass:"sui-loading-text"},[s("i",{staticClass:"sui-icon-cross-close",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Ban IP"))+"\n ")]),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})]):t._e(),t._v(" "),"blacklist"===e.ip_status?s("button",{staticClass:"sui-button sui-button-blue",class:{"sui-button-onload":t.state.on_saving},attrs:{type:"button"},on:{click:function(s){return t.addIpToList(e.ip,"unblacklist",i)}}},[s("span",{staticClass:"sui-loading-text"},[t._v("\n "+t._s(t.__("Unban IP"))+"\n ")]),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})]):t._e(),t._v(" "),s("p",[t._v("\n\t\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Note: Make sure this IP is not a legitimate operation, banning the IP will result in being permanently locked out from accessing your website."))+"\n\t\t\t\t\t\t\t\t\t\t")])])])])])])]}))],2)])],1)])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("td",[e("button",{staticClass:"sui-button-icon sui-accordion-open-indicator"},[e("i",{staticClass:"sui-icon-chevron-down",attrs:{"aria-hidden":"true"}})])])}],!1,null,null,null).exports,y={mixins:[a.a],name:"logs",props:["view"],data:function(){return{table:iplockout.table,sort:"latest"}},components:{"lockout-table":b},mounted:function(){var t=this;jQuery(".jquery-select").change((function(){var e=jQuery(this).val(),s=jQuery(this).attr("name");t[s]=e}))}},k=Object(r.a)(y,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box",attrs:{"data-tab":"logs"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v(t._s(t.__("Logs")))]),t._v(" "),s("div",{staticClass:"sui-actions-right"},[s("div",{staticClass:"box-filter"},[s("span",[t._v("\n "+t._s(t.__("Sort by"))+"\n ")]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.sort,expression:"sort"}],staticClass:"sui-select-sm jquery-select",attrs:{name:"sort"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.sort=e.target.multiple?s:s[0]}}},[s("option",{attrs:{value:"latest"}},[t._v(t._s(t.__("Latest")))]),t._v(" "),s("option",{attrs:{value:"oldest"}},[t._v(t._s(t.__("Oldest")))]),t._v(" "),s("option",{attrs:{value:"ip"}},[t._v(t._s(t.__("IP Address")))])])]),t._v(" "),s("a",{staticClass:"sui-button sui-button-outlined",attrs:{href:t.adminUrl("admin-ajax.php?action=lockoutExportAsCsv")}},[t._v("\n\t\t\t\t\t"+t._s(t.__("Export CSV"))+"\n\t\t\t\t")])])]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t"+t._s(t.__("Here's your comprehensive IP lockout log. You can whitelist and ban IPs from there."))+"\n\t\t\t")])]),t._v(" "),s("lockout-table",{attrs:{id:"iplockout-table",headers:["Details","Time",""],table:t.table,sort:t.sort}})],1)}),[],!1,null,null,null).exports,w=s("./src/component/recipients.vue"),C={mixins:[a.a],name:"notification",props:["view"],data:function(){return{model:iplockout.model.notification,nonces:iplockout.nonces,endpoints:iplockout.endpoints,state:{on_saving:!1}}},components:{recipients:w.a},methods:{updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})},updateRecipients:function(t){this.model.receipts=t}},computed:{},mounted:function(){var t=this;jQuery(".jquery-select").change((function(){var e=jQuery(this).val(),s=jQuery(this).attr("name");t.model[s]=e}))}},x=Object(r.a)(C,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box",attrs:{"data-tab":"notification"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v(t._s(t.__("Notification")))])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Email Notifications"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose which lockout notifications you wish to be notified about. These are sent instantly."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.login_lockout_notification,expression:"model.login_lockout_notification"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",id:"login_lockout_notification","true-value":!0,"false-value":!1},domProps:{checked:Array.isArray(t.model.login_lockout_notification)?t._i(t.model.login_lockout_notification,null)>-1:t.model.login_lockout_notification},on:{change:function(e){var s=t.model.login_lockout_notification,i=e.target,n=!!i.checked;if(Array.isArray(s)){var a=t._i(s,null);i.checked?a<0&&t.$set(t.model,"login_lockout_notification",s.concat([null])):a>-1&&t.$set(t.model,"login_lockout_notification",s.slice(0,a).concat(s.slice(a+1)))}else t.$set(t.model,"login_lockout_notification",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"login_lockout_notification"}},[t._v("\n "+t._s(t.__("Login Protection Lockout"))+"\n ")]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("When a user or IP is locked out for trying to access your login area."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.ip_lockout_notification,expression:"model.ip_lockout_notification"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",id:"ip_lockout_notification","true-value":!0,"false-value":!1},domProps:{checked:Array.isArray(t.model.ip_lockout_notification)?t._i(t.model.ip_lockout_notification,null)>-1:t.model.ip_lockout_notification},on:{change:function(e){var s=t.model.ip_lockout_notification,i=e.target,n=!!i.checked;if(Array.isArray(s)){var a=t._i(s,null);i.checked?a<0&&t.$set(t.model,"ip_lockout_notification",s.concat([null])):a>-1&&t.$set(t.model,"ip_lockout_notification",s.slice(0,a).concat(s.slice(a+1)))}else t.$set(t.model,"ip_lockout_notification",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"ip_lockout_notification"}},[t._v("\n "+t._s(t.__("404 Detection Lockout"))+"\n ")]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("When a user or IP is locked out for repeated hits on non-existent files."))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Email Recipients"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose which of your website’s users will receive lockout notifications via email."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("recipients",{attrs:{id:"notification_dialog",recipients:t.model.receipts},on:{"update:recipients":t.updateRecipients}})],1)]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Repeat Lockouts"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("If you’re getting too many emails from IPs who are repeatedly being locked out you can turn them off for a period of time."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.cooldown_enabled,expression:"model.cooldown_enabled"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox","true-value":!0,"false-value":!1,id:"cooldown_enabled"},domProps:{checked:Array.isArray(t.model.cooldown_enabled)?t._i(t.model.cooldown_enabled,null)>-1:t.model.cooldown_enabled},on:{change:function(e){var s=t.model.cooldown_enabled,i=e.target,n=!!i.checked;if(Array.isArray(s)){var a=t._i(s,null);i.checked?a<0&&t.$set(t.model,"cooldown_enabled",s.concat([null])):a>-1&&t.$set(t.model,"cooldown_enabled",s.slice(0,a).concat(s.slice(a+1)))}else t.$set(t.model,"cooldown_enabled",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"cooldown_enabled"}},[t._v("\n "+t._s(t.__("Limit email notifications for repeat lockouts"))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-border-frame sui-toggle-content"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[s("strong",[t._v(t._s(t.__("Threshold")))]),t._v(" "+t._s(t.__("- The number of lockouts before we turn off emails")))]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.cooldown_number_lockout,expression:"model.cooldown_number_lockout"}],staticClass:"jquery-select sui-select",attrs:{id:"cooldown_number_lockout",name:"cooldown_number_lockout","data-minimum-results-for-search":"Infinity"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"cooldown_number_lockout",e.target.multiple?s:s[0])}}},[s("option",{attrs:{value:"1"}},[t._v("1")]),t._v(" "),s("option",{attrs:{value:"3"}},[t._v("3")]),t._v(" "),s("option",{attrs:{value:"5"}},[t._v("5")]),t._v(" "),s("option",{attrs:{value:"10"}},[t._v("10")])])]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[s("strong",[t._v(t._s(t.__("Cool Off Period")))]),t._v(" "+t._s(t.__("- For how long should we turn them off?")))]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.cooldown_period,expression:"model.cooldown_period"}],staticClass:"jquery-select sui-select",attrs:{id:"cooldown_period",name:"cooldown_period","data-minimum-results-for-search":"Infinity"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"cooldown_period",e.target.multiple?s:s[0])}}},[s("option",{attrs:{value:"1"}},[t._v(t._s(t.__("1 hour")))]),t._v(" "),s("option",{attrs:{value:"2"}},[t._v(t._s(t.__("2 hours")))]),t._v(" "),s("option",{attrs:{value:"6"}},[t._v(t._s(t.__("6 hours")))]),t._v(" "),s("option",{attrs:{value:"12"}},[t._v(t._s(t.__("12 hours")))]),t._v(" "),s("option",{attrs:{value:"24"}},[t._v(t._s(t.__("24 hours")))]),t._v(" "),s("option",{attrs:{value:"36"}},[t._v(t._s(t.__("36 hours")))]),t._v(" "),s("option",{attrs:{value:"48"}},[t._v(t._s(t.__("48 hours")))]),t._v(" "),s("option",{attrs:{value:"168"}},[t._v(t._s(t.__("7 days")))]),t._v(" "),s("option",{attrs:{value:"720"}},[t._v(t._s(t.__("30 days")))])])])])])])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Save Changes"))+"\n ")])],1)])])])}),[],!1,null,null,null).exports,S={mixins:[a.a],name:"settings",props:["view"],data:function(){return{model:iplockout.model.settings,state:{on_saving:!1,ip_actioning:[]},nonces:iplockout.nonces,endpoints:iplockout.endpoints}},methods:{updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})},emptyLogs:function(){var t=this;t.state.on_saving=!0;var e=!1,s=setInterval((function(){!1===e&&(e=!0,t.httpPostRequest("emptyLogs",{},(function(i){!1===i.success?e=!1:(clearInterval(s),t.state.on_saving=!1)})))}),1e3)}}},D=Object(r.a)(S,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box",attrs:{"data-tab":"settings"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v(t._s(t.__("Settings")))])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Storage")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Event logs are cached on your local server to speed up load times. You can choose how many days to keep logs for before they are removed."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.storage_days,expression:"model.storage_days"}],staticClass:"sui-form-control sui-field-has-suffix",attrs:{size:"8",type:"text",id:"storage_days",name:"storage_days"},domProps:{value:t.model.storage_days},on:{input:function(e){e.target.composing||t.$set(t.model,"storage_days",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-field-suffix"},[t._v(t._s(t.__("days")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose how many days of event logs you'd like to store locally."))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Delete logs")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("If you wish to delete your current logs simply hit delete and this will wipe your logs clean."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:t.emptyLogs}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Delete Logs"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Note: Defender will instantly remove all past event logs, you will not be able to get them back."))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit",state:t.state,"css-class":"sui-button-blue"}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Save Changes"))+"\n ")])],1)])])])}),[],!1,null,null,null).exports,P={mixins:[a.a],name:"report",props:["view"],data:function(){return{model:iplockout.model.report,state:{on_saving:!1,ip_actioning:[]},nonces:iplockout.nonces,endpoints:iplockout.endpoints,misc:iplockout.misc}},components:{recipients:w.a},methods:{updateRecipients:function(t){this.model.report_receipts=t},updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})}},mounted:function(){var t=this;jQuery(".jquery-select").change((function(){var e=jQuery(this).val(),s=jQuery(this).attr("name");t.model[s]=e})),t.model.report_day=t.model.report_day.toLowerCase()},computed:{timezone_text:function(){return this.vsprintf(this.__("Your timezone is set to UTC %s, so your current time is %s."),this.misc.tz,this.misc.current_time)}}},M=Object(r.a)(P,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Reporting"))+"\n\t\t\t")])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Lockouts Report"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Configure Defender to automatically email you a lockout report for this website."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.report,expression:"model.report"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",name:"report",id:"report","true-value":!0,"false-value":!1},domProps:{checked:Array.isArray(t.model.report)?t._i(t.model.report,null)>-1:t.model.report},on:{change:function(e){var s=t.model.report,i=e.target,n=!!i.checked;if(Array.isArray(s)){var a=t._i(s,null);i.checked?a<0&&t.$set(t.model,"report",s.concat([null])):a>-1&&t.$set(t.model,"report",s.slice(0,a).concat(s.slice(a+1)))}else t.$set(t.model,"report",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"report"}},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Send regular email report"))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:!0===t.model.report,expression:"model.report===true"}],staticClass:"sui-border-frame sui-toggle-content"},[s("strong",[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Recipients"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("recipients",{attrs:{id:"report_receipts",recipients:t.model.report_receipts},on:{"update:recipients":t.updateRecipients}}),t._v(" "),s("div",{staticClass:"sui-form-field schedule-box"},[s("strong",[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Schedule"))+"\n\t\t\t\t\t\t\t\t\t")]),s("br"),t._v(" "),s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Frequency"))+"\n\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-side-tabs"},[s("div",{staticClass:"sui-tabs-menu"},[s("label",{staticClass:"sui-tab-item",class:{active:1===parseInt(t.model.report_frequency)},attrs:{for:"report-daily"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.report_frequency,expression:"model.report_frequency"}],attrs:{type:"radio",name:"report_frequency","data-attribute":"feature_image_fit",id:"report-daily","data-tab-menu":"report-config-box"},domProps:{value:1,checked:t._q(t.model.report_frequency,1)},on:{change:function(e){return t.$set(t.model,"report_frequency",1)}}}),t._v("\n\t\t\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Daily"))+"\n\t\t\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("label",{staticClass:"sui-tab-item",class:{active:7===parseInt(t.model.report_frequency)},attrs:{for:"report-weekly"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.report_frequency,expression:"model.report_frequency"}],attrs:{type:"radio",name:"report_frequency","data-attribute":"feature_image_fit","data-tab-menu":"report-config-box",id:"report-weekly"},domProps:{value:7,checked:t._q(t.model.report_frequency,7)},on:{change:function(e){return t.$set(t.model,"report_frequency",7)}}}),t._v("\n\t\t\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Weekly"))+"\n\t\t\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("label",{staticClass:"sui-tab-item",class:{active:30===parseInt(t.model.report_frequency)},attrs:{for:"report-monthly"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.report_frequency,expression:"model.report_frequency"}],attrs:{type:"radio",name:"report_frequency","data-attribute":"feature_image_fit",id:"report-monthly","data-tab-menu":"report-config-box"},domProps:{value:30,checked:t._q(t.model.report_frequency,30)},on:{change:function(e){return t.$set(t.model,"report_frequency",30)}}}),t._v("\n\t\t\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Monthly"))+"\n\t\t\t\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-tabs-content"},[s("div",{staticClass:"sui-tab-content sui-tab-boxed active",attrs:{id:"report-config-box","data-tab-content":"report-config-box"}},[s("div",{staticClass:"sui-row"},[s("div",{directives:[{name:"show",rawName:"v-show",value:1!==parseInt(t.model.report_frequency),expression:"parseInt(model.report_frequency) !== 1"}],staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Day of the week")))]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.report_day,expression:"model.report_day"}],staticClass:"jquery-select sui-select",attrs:{name:"report_day",id:"report_day"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"report_day",e.target.multiple?s:s[0])}}},t._l(t.misc.days_of_weeks,(function(e){return s("option",{domProps:{value:e.toLowerCase()}},[t._v(t._s(e)+"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t")])})),0)]),t._v(" "),s("div",{staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Time of day")))]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.report_time,expression:"model.report_time"}],staticClass:"jquery-select sui-select",attrs:{name:"report_time",id:"report_time"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"report_time",e.target.multiple?s:s[0])}}},t._l(t.misc.times_of_days,(function(e,i){return s("option",{domProps:{value:i}},[t._v(t._s(e)+"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t")])})),0)]),t._v(" "),s("div",{staticClass:"sui-col-md-12"},[s("span",{staticClass:"sui-p-small",domProps:{innerHTML:t._s(t.timezone_text)}})])])])])])])],1)])])])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])])])}),[],!1,null,null,null).exports,T={name:"report-free",mixins:[a.a],props:["view"],computed:{upsell_img:function(){return this.assetUrl("assets/img/scanning-free-man.svg")},upsell_text:function(){return this.vsprintf(this.__("Schedule daily, weekly or monthly lockout summary reports for all your websites. This feature is included in a WPMU DEV membership along with 100+ plugins & themes, 24/7 support and lots of handy site management tools – <a href='%s'>Try it all FREE today</a>!"),this.campaign_url("defender_iplockout_reports_upsell_link"))}}},O=Object(r.a)(T,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box",attrs:{"data-tab":"reporting"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Reporting"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-body sui-upsell-items"},[s("div",{staticClass:"sui-box-settings-row sui-disabled no-padding-bottom no-margin-bottom"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Lockouts Report")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Configure Defender to automatically email you a lockout report for this website."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-side-tabs sui-tabs"},[s("div",{attrs:{"data-tabs":""}},[s("div",[t._v(t._s(t.__("On")))]),t._v(" "),s("div",{staticClass:"active"},[t._v(t._s(t.__("Off")))])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row sui-upsell-row"},[s("img",{staticClass:"sui-image sui-upsell-image",attrs:{src:t.upsell_img}}),t._v(" "),s("div",{staticClass:"sui-upsell-notice"},[s("p",{domProps:{innerHTML:t._s(t.upsell_text)}})])])])])}),[],!1,null,null,null).exports,j={name:"ip-lockout",mixins:[a.a],data:function(){return{state:{on_saving:!1},summary_data:iplockout.summaryData,is_free:parseInt(defender.is_free),view:""}},components:{lockout:l,"nf-lockout":c,"ip-blacklist":f,logs:k,notification:x,settings:D,report:M,report_free:O},created:function(){var t=new URLSearchParams(window.location.search).get("view");null===t&&(t="login"),this.view=t},watch:{view:function(){history.replaceState({},null,this.adminUrl()+"admin.php?page=wdf-ip-lockout&view="+this.view)}},mounted:function(){self=this,jQuery(".sui-mobile-nav").change((function(){self.view=jQuery(this).val()}))}},Y=Object(r.a)(j,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-wrap",class:t.maybeHighContrast(),attrs:{id:"defender-app"}},[s("div",{staticClass:"wp-defender",attrs:{id:"wp-defender"}},[s("div",{staticClass:"iplockout"},[s("div",{staticClass:"sui-header"},[s("h1",{staticClass:"sui-header-title"},[t._v(t._s(t.__("IP Lockout")))]),t._v(" "),s("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender/#ip-lockouts"}})],1),t._v(" "),s("summary-box",[s("div",{staticClass:"sui-summary-segment"},[s("div",{staticClass:"sui-summary-details"},[s("span",{staticClass:"sui-summary-large lockoutToday"},[t._v(t._s(t.summary_data.day))]),t._v(" "),s("span",{staticClass:"sui-summary-sub"},[t._v(t._s(t.__("Lockouts in the past 24 hours")))]),t._v(" "),s("span",{staticClass:"sui-summary-detail lockoutThisMonth"},[t._v(t._s(t.summary_data.month))]),t._v(" "),s("span",{staticClass:"sui-summary-sub"},[t._v(t._s(t.__("Total lockouts in the past 30 days")))])])]),t._v(" "),s("div",{staticClass:"sui-summary-segment"},[s("ul",{staticClass:"sui-list"},[s("li",[s("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("Last lockout")))]),t._v(" "),s("span",{staticClass:"sui-list-detail"},[t._v(" "+t._s(t.summary_data.lastLockout))])]),t._v(" "),s("li",[s("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("Login lockouts in the past 7 days")))]),t._v(" "),s("span",{staticClass:"sui-list-detail"},[t._v(t._s(t.summary_data.ip.week))])]),t._v(" "),s("li",[s("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("404 lockouts in the past 7 days")))]),t._v(" "),s("span",{staticClass:"sui-list-detail"},[t._v(t._s(t.summary_data.nf.week))])])])])]),t._v(" "),s("div",{staticClass:"sui-row-with-sidenav"},[s("div",{staticClass:"sui-sidenav"},[s("ul",{staticClass:"sui-vertical-tabs sui-sidenav-hide-md"},[s("li",{staticClass:"sui-vertical-tab",class:{current:"login"===t.view}},[s("a",{attrs:{"data-tab":"login_lockout",href:t.adminUrl("admin.php?page=wdf-ip-lockout")},on:{click:function(e){e.preventDefault(),t.view="login"}}},[t._v(t._s(t.__("Login Protection")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"404"===t.view}},[s("a",{attrs:{"data-tab":"notfound_lockout",href:t.adminUrl("admin.php?page=wdf-ip-lockout&view=404")},on:{click:function(e){e.preventDefault(),t.view="404"}}},[t._v(t._s(t.__("404 Detection")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"blacklist"===t.view}},[s("a",{attrs:{"data-tab":"blacklist",href:t.adminUrl("admin.php?page=wdf-ip-lockout&view=blacklist")},on:{click:function(e){e.preventDefault(),t.view="blacklist"}}},[t._v(t._s(t.__("IP Banning")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"logs"===t.view}},[s("a",{attrs:{"data-tab":"logs",href:t.adminUrl("admin.php?page=wdf-ip-lockout&view=logs")},on:{click:function(e){e.preventDefault(),t.view="logs"}}},[t._v(t._s(t.__("Logs")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"notification"===t.view}},[s("a",{attrs:{"data-tab":"notification",href:t.adminUrl("admin.php?page=wdf-ip-lockout&view=notification")},on:{click:function(e){e.preventDefault(),t.view="notification"}}},[t._v(t._s(t.__("Notifications")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"settings"===t.view}},[s("a",{attrs:{"data-tab":"settings",href:t.adminUrl("admin.php?page=wdf-ip-lockout&view=settings")},on:{click:function(e){e.preventDefault(),t.view="settings"}}},[t._v(t._s(t.__("Settings")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"reporting"===t.view}},[s("a",{attrs:{"data-tab":"reporting",href:t.adminUrl("admin.php?page=wdf-ip-lockout&view=reporting")},on:{click:function(e){e.preventDefault(),t.view="reporting"}}},[t._v(t._s(t.__("Reporting")))])])]),t._v(" "),s("div",{staticClass:"sui-sidenav-hide-lg"},[s("select",{staticClass:"sui-mobile-nav",staticStyle:{display:"none"}},[s("option",{attrs:{value:"login"}},[t._v(t._s(t.__("Login Protection")))]),t._v(" "),s("option",{attrs:{value:"404"}},[t._v(t._s(t.__("404 Detection")))]),t._v(" "),s("option",{attrs:{value:"blacklist"}},[t._v(t._s(t.__("IP Banning")))]),t._v(" "),s("option",{attrs:{value:"logs"}},[t._v(t._s(t.__("Logs")))]),t._v(" "),s("option",{attrs:{value:"notification"}},[t._v(t._s(t.__("Notifications")))]),t._v(" "),s("option",{attrs:{value:"settings"}},[t._v(t._s(t.__("Settings")))]),t._v(" "),s("option",{attrs:{value:"reporting"}},[t._v(t._s(t.__("Reporting")))])])])]),t._v(" "),s("lockout",{directives:[{name:"show",rawName:"v-show",value:"login"===t.view,expression:"view==='login'"}]}),t._v(" "),s("nf-lockout",{directives:[{name:"show",rawName:"v-show",value:"404"===t.view,expression:"view==='404'"}]}),t._v(" "),s("ip-blacklist",{directives:[{name:"show",rawName:"v-show",value:"blacklist"===t.view,expression:"view==='blacklist'"}]}),t._v(" "),s("logs",{directives:[{name:"show",rawName:"v-show",value:"logs"===t.view,expression:"view==='logs'"}]}),t._v(" "),s("notification",{directives:[{name:"show",rawName:"v-show",value:"notification"===t.view,expression:"view==='notification'"}]}),t._v(" "),s("settings",{directives:[{name:"show",rawName:"v-show",value:"settings"===t.view,expression:"view==='settings'"}]}),t._v(" "),1===t.is_free?s("report_free",{directives:[{name:"show",rawName:"v-show",value:"reporting"===t.view,expression:"view==='reporting'"}]}):s("report",{directives:[{name:"show",rawName:"v-show",value:"reporting"===t.view,expression:"view==='reporting'"}]})],1)],1),t._v(" "),s("app-footer")],1)])}),[],!1,null,null,null).exports,I=s("./node_modules/moment/moment.js"),L=s("./src/component/overlay.vue"),A=s("./src/component/submit-button.vue"),N=s("./src/component/footer.vue"),E=s("./src/component/doc-link.vue"),R=s("./src/component/summary-box.vue");n.a.filter("moment",(function(t,e){return t?I(t).format(e):I().format(e)})),n.a.component("overlay",L.a),n.a.component("submit-button",A.a),n.a.component("app-footer",N.a),n.a.component("doc-link",E.a),n.a.component("summary-box",R.a);new n.a({el:"#defender",components:{ip_lockout:Y},render:function(t){return t(Y)}})},vue:function(t,e){t.exports=Vue}});
|
1 |
+
!function(t){var e=window.webpackHotUpdate;window.webpackHotUpdate=function(t,s){!function(t,e){if(!y[t]||!b[t])return;for(var s in b[t]=!1,e)Object.prototype.hasOwnProperty.call(e,s)&&(h[s]=e[s]);0==--f&&0===v&&x()}(t,s),e&&e(t,s)};var s,i=!0,a="d0b3332498cfafc2e0f1",n={},o=[],r=[];function l(t){var e=D[t];if(!e)return P;var i=function(i){return e.hot.active?(D[i]?-1===D[i].parents.indexOf(t)&&D[i].parents.push(t):(o=[t],s=i),-1===e.children.indexOf(i)&&e.children.push(i)):(console.warn("[HMR] unexpected require("+i+") from disposed module "+t),o=[]),P(i)},a=function(t){return{configurable:!0,enumerable:!0,get:function(){return P[t]},set:function(e){P[t]=e}}};for(var n in P)Object.prototype.hasOwnProperty.call(P,n)&&"e"!==n&&"t"!==n&&Object.defineProperty(i,n,a(n));return i.e=function(t){return"ready"===d&&_("prepare"),v++,P.e(t).then(e,(function(t){throw e(),t}));function e(){v--,"prepare"===d&&(g[t]||C(t),0===v&&0===f&&x())}},i.t=function(t,e){return 1&e&&(t=i(t)),P.t(t,-2&e)},i}function c(t){var e={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:s!==t,active:!0,accept:function(t,s){if(void 0===t)e._selfAccepted=!0;else if("function"==typeof t)e._selfAccepted=t;else if("object"==typeof t)for(var i=0;i<t.length;i++)e._acceptedDependencies[t[i]]=s||function(){};else e._acceptedDependencies[t]=s||function(){}},decline:function(t){if(void 0===t)e._selfDeclined=!0;else if("object"==typeof t)for(var s=0;s<t.length;s++)e._declinedDependencies[t[s]]=!0;else e._declinedDependencies[t]=!0},dispose:function(t){e._disposeHandlers.push(t)},addDisposeHandler:function(t){e._disposeHandlers.push(t)},removeDisposeHandler:function(t){var s=e._disposeHandlers.indexOf(t);s>=0&&e._disposeHandlers.splice(s,1)},check:w,apply:S,status:function(t){if(!t)return d;u.push(t)},addStatusHandler:function(t){u.push(t)},removeStatusHandler:function(t){var e=u.indexOf(t);e>=0&&u.splice(e,1)},data:n[t]};return s=void 0,e}var u=[],d="idle";function _(t){d=t;for(var e=0;e<u.length;e++)u[e].call(null,t)}var m,h,p,f=0,v=0,g={},b={},y={};function k(t){return+t+""===t?+t:t}function w(t){if("idle"!==d)throw new Error("check() is only allowed in idle status");return i=t,_("check"),(e=1e4,e=e||1e4,new Promise((function(t,s){if("undefined"==typeof XMLHttpRequest)return s(new Error("No browser support"));try{var i=new XMLHttpRequest,n=P.p+""+a+".hot-update.json";i.open("GET",n,!0),i.timeout=e,i.send(null)}catch(t){return s(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)s(new Error("Manifest request to "+n+" timed out."));else if(404===i.status)t();else if(200!==i.status&&304!==i.status)s(new Error("Manifest request to "+n+" failed."));else{try{var e=JSON.parse(i.responseText)}catch(t){return void s(t)}t(e)}}}))).then((function(t){if(!t)return _("idle"),null;b={},g={},y=t.c,p=t.h,_("prepare");var e=new Promise((function(t,e){m={resolve:t,reject:e}}));h={};return C(3),"prepare"===d&&0===v&&0===f&&x(),e}));var e}function C(t){y[t]?(b[t]=!0,f++,function(t){var e=document.createElement("script");e.charset="utf-8",e.src=P.p+""+t+"."+a+".hot-update.js",document.head.appendChild(e)}(t)):g[t]=!0}function x(){_("ready");var t=m;if(m=null,t)if(i)Promise.resolve().then((function(){return S(i)})).then((function(e){t.resolve(e)}),(function(e){t.reject(e)}));else{var e=[];for(var s in h)Object.prototype.hasOwnProperty.call(h,s)&&e.push(k(s));t.resolve(e)}}function S(e){if("ready"!==d)throw new Error("apply() is only allowed in ready status");var s,i,r,l,c;function u(t){for(var e=[t],s={},i=e.map((function(t){return{chain:[t],id:t}}));i.length>0;){var a=i.pop(),n=a.id,o=a.chain;if((l=D[n])&&!l.hot._selfAccepted){if(l.hot._selfDeclined)return{type:"self-declined",chain:o,moduleId:n};if(l.hot._main)return{type:"unaccepted",chain:o,moduleId:n};for(var r=0;r<l.parents.length;r++){var c=l.parents[r],u=D[c];if(u){if(u.hot._declinedDependencies[n])return{type:"declined",chain:o.concat([c]),moduleId:n,parentId:c};-1===e.indexOf(c)&&(u.hot._acceptedDependencies[n]?(s[c]||(s[c]=[]),m(s[c],[n])):(delete s[c],e.push(c),i.push({chain:o.concat([c]),id:c})))}}}}return{type:"accepted",moduleId:t,outdatedModules:e,outdatedDependencies:s}}function m(t,e){for(var s=0;s<e.length;s++){var i=e[s];-1===t.indexOf(i)&&t.push(i)}}e=e||{};var f={},v=[],g={},b=function(){console.warn("[HMR] unexpected require("+C.moduleId+") to disposed module")};for(var w in h)if(Object.prototype.hasOwnProperty.call(h,w)){var C;c=k(w);var x=!1,S=!1,M=!1,T="";switch((C=h[w]?u(c):{type:"disposed",moduleId:w}).chain&&(T="\nUpdate propagation: "+C.chain.join(" -> ")),C.type){case"self-declined":e.onDeclined&&e.onDeclined(C),e.ignoreDeclined||(x=new Error("Aborted because of self decline: "+C.moduleId+T));break;case"declined":e.onDeclined&&e.onDeclined(C),e.ignoreDeclined||(x=new Error("Aborted because of declined dependency: "+C.moduleId+" in "+C.parentId+T));break;case"unaccepted":e.onUnaccepted&&e.onUnaccepted(C),e.ignoreUnaccepted||(x=new Error("Aborted because "+c+" is not accepted"+T));break;case"accepted":e.onAccepted&&e.onAccepted(C),S=!0;break;case"disposed":e.onDisposed&&e.onDisposed(C),M=!0;break;default:throw new Error("Unexception type "+C.type)}if(x)return _("abort"),Promise.reject(x);if(S)for(c in g[c]=h[c],m(v,C.outdatedModules),C.outdatedDependencies)Object.prototype.hasOwnProperty.call(C.outdatedDependencies,c)&&(f[c]||(f[c]=[]),m(f[c],C.outdatedDependencies[c]));M&&(m(v,[C.moduleId]),g[c]=b)}var O,j=[];for(i=0;i<v.length;i++)c=v[i],D[c]&&D[c].hot._selfAccepted&&g[c]!==b&&j.push({module:c,errorHandler:D[c].hot._selfAccepted});_("dispose"),Object.keys(y).forEach((function(t){!1===y[t]&&function(t){delete installedChunks[t]}(t)}));for(var Y,I,L=v.slice();L.length>0;)if(c=L.pop(),l=D[c]){var A={},N=l.hot._disposeHandlers;for(r=0;r<N.length;r++)(s=N[r])(A);for(n[c]=A,l.hot.active=!1,delete D[c],delete f[c],r=0;r<l.children.length;r++){var E=D[l.children[r]];E&&((O=E.parents.indexOf(c))>=0&&E.parents.splice(O,1))}}for(c in f)if(Object.prototype.hasOwnProperty.call(f,c)&&(l=D[c]))for(I=f[c],r=0;r<I.length;r++)Y=I[r],(O=l.children.indexOf(Y))>=0&&l.children.splice(O,1);for(c in _("apply"),a=p,g)Object.prototype.hasOwnProperty.call(g,c)&&(t[c]=g[c]);var R=null;for(c in f)if(Object.prototype.hasOwnProperty.call(f,c)&&(l=D[c])){I=f[c];var U=[];for(i=0;i<I.length;i++)if(Y=I[i],s=l.hot._acceptedDependencies[Y]){if(-1!==U.indexOf(s))continue;U.push(s)}for(i=0;i<U.length;i++){s=U[i];try{s(I)}catch(t){e.onErrored&&e.onErrored({type:"accept-errored",moduleId:c,dependencyId:I[i],error:t}),e.ignoreErrored||R||(R=t)}}}for(i=0;i<j.length;i++){var H=j[i];c=H.module,o=[c];try{P(c)}catch(t){if("function"==typeof H.errorHandler)try{H.errorHandler(t)}catch(s){e.onErrored&&e.onErrored({type:"self-accept-error-handler-errored",moduleId:c,error:s,originalError:t}),e.ignoreErrored||R||(R=s),R||(R=t)}else e.onErrored&&e.onErrored({type:"self-accept-errored",moduleId:c,error:t}),e.ignoreErrored||R||(R=t)}}return R?(_("fail"),Promise.reject(R)):(_("idle"),new Promise((function(t){t(v)})))}var D={};function P(e){if(D[e])return D[e].exports;var s=D[e]={i:e,l:!1,exports:{},hot:c(e),parents:(r=o,o=[],r),children:[]};return t[e].call(s.exports,s,s.exports,l(e)),s.l=!0,s.exports}P.m=t,P.c=D,P.d=function(t,e,s){P.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},P.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},P.t=function(t,e){if(1&e&&(t=P(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(P.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)P.d(s,i,function(e){return t[e]}.bind(null,i));return s},P.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return P.d(e,"a",e),e},P.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},P.p="",P.h=function(){return a},l("./src/ip-lockout.js")(P.s="./src/ip-lockout.js")}({"./node_modules/cssfilter/lib/css.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),a=s("./node_modules/cssfilter/lib/parser.js");s("./node_modules/cssfilter/lib/util.js");function n(t){return null==t}function o(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).whiteList=t.whiteList||i.whiteList,t.onAttr=t.onAttr||i.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||i.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,this.options=t}o.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onAttr,o=e.onIgnoreAttr,r=e.safeAttrValue;return a(t,(function(t,e,a,l,c){var u=s[a],d=!1;if(!0===u?d=u:"function"==typeof u?d=u(l):u instanceof RegExp&&(d=u.test(l)),!0!==d&&(d=!1),l=r(a,l)){var _,m={position:e,sourcePosition:t,source:c,isWhite:d};return d?n(_=i(a,l,m))?a+":"+l:_:n(_=o(a,l,m))?void 0:_}}))},t.exports=o},"./node_modules/cssfilter/lib/default.js":function(t,e){function s(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var i=/javascript\s*\:/gim;e.whiteList=s(),e.getDefaultWhiteList=s,e.onAttr=function(t,e,s){},e.onIgnoreAttr=function(t,e,s){},e.safeAttrValue=function(t,e){return i.test(e)?"":e}},"./node_modules/cssfilter/lib/index.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),a=s("./node_modules/cssfilter/lib/css.js");for(var n in(e=t.exports=function(t,e){return new a(e).process(t)}).FilterCSS=a,i)e[n]=i[n];"undefined"!=typeof window&&(window.filterCSS=t.exports)},"./node_modules/cssfilter/lib/parser.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/util.js");t.exports=function(t,e){";"!==(t=i.trimRight(t))[t.length-1]&&(t+=";");var s=t.length,a=!1,n=0,o=0,r="";function l(){if(!a){var s=i.trim(t.slice(n,o)),l=s.indexOf(":");if(-1!==l){var c=i.trim(s.slice(0,l)),u=i.trim(s.slice(l+1));if(c){var d=e(n,r.length,c,u,s);d&&(r+=d+"; ")}}}n=o+1}for(;o<s;o++){var c=t[o];if("/"===c&&"*"===t[o+1]){var u=t.indexOf("*/",o+2);if(-1===u)break;n=(o=u+1)+1,a=!1}else"("===c?a=!0:")"===c?a=!1:";"===c?a||l():"\n"===c&&l()}return i.trim(r)}},"./node_modules/cssfilter/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,a;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,a=t.length;i<a;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\s*$)/g,"")}}},"./node_modules/lodash/_Symbol.js":function(t,e,s){var i=s("./node_modules/lodash/_root.js").Symbol;t.exports=i},"./node_modules/lodash/_baseGetTag.js":function(t,e,s){var i=s("./node_modules/lodash/_Symbol.js"),a=s("./node_modules/lodash/_getRawTag.js"),n=s("./node_modules/lodash/_objectToString.js"),o=i?i.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":o&&o in Object(t)?a(t):n(t)}},"./node_modules/lodash/_baseSlice.js":function(t,e){t.exports=function(t,e,s){var i=-1,a=t.length;e<0&&(e=-e>a?0:a+e),(s=s>a?a:s)<0&&(s+=a),a=e>s?0:s-e>>>0,e>>>=0;for(var n=Array(a);++i<a;)n[i]=t[i+e];return n}},"./node_modules/lodash/_freeGlobal.js":function(t,e,s){(function(e){var s="object"==typeof e&&e&&e.Object===Object&&e;t.exports=s}).call(this,s("./node_modules/webpack/buildin/global.js"))},"./node_modules/lodash/_getRawTag.js":function(t,e,s){var i=s("./node_modules/lodash/_Symbol.js"),a=Object.prototype,n=a.hasOwnProperty,o=a.toString,r=i?i.toStringTag:void 0;t.exports=function(t){var e=n.call(t,r),s=t[r];try{t[r]=void 0;var i=!0}catch(t){}var a=o.call(t);return i&&(e?t[r]=s:delete t[r]),a}},"./node_modules/lodash/_isIndex.js":function(t,e){var s=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){var i=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==i||"symbol"!=i&&s.test(t))&&t>-1&&t%1==0&&t<e}},"./node_modules/lodash/_isIterateeCall.js":function(t,e,s){var i=s("./node_modules/lodash/eq.js"),a=s("./node_modules/lodash/isArrayLike.js"),n=s("./node_modules/lodash/_isIndex.js"),o=s("./node_modules/lodash/isObject.js");t.exports=function(t,e,s){if(!o(s))return!1;var r=typeof e;return!!("number"==r?a(s)&&n(e,s.length):"string"==r&&e in s)&&i(s[e],t)}},"./node_modules/lodash/_objectToString.js":function(t,e){var s=Object.prototype.toString;t.exports=function(t){return s.call(t)}},"./node_modules/lodash/_root.js":function(t,e,s){var i=s("./node_modules/lodash/_freeGlobal.js"),a="object"==typeof self&&self&&self.Object===Object&&self,n=i||a||Function("return this")();t.exports=n},"./node_modules/lodash/chunk.js":function(t,e,s){var i=s("./node_modules/lodash/_baseSlice.js"),a=s("./node_modules/lodash/_isIterateeCall.js"),n=s("./node_modules/lodash/toInteger.js"),o=Math.ceil,r=Math.max;t.exports=function(t,e,s){e=(s?a(t,e,s):void 0===e)?1:r(n(e),0);var l=null==t?0:t.length;if(!l||e<1)return[];for(var c=0,u=0,d=Array(o(l/e));c<l;)d[u++]=i(t,c,c+=e);return d}},"./node_modules/lodash/eq.js":function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},"./node_modules/lodash/isArrayLike.js":function(t,e,s){var i=s("./node_modules/lodash/isFunction.js"),a=s("./node_modules/lodash/isLength.js");t.exports=function(t){return null!=t&&a(t.length)&&!i(t)}},"./node_modules/lodash/isFunction.js":function(t,e,s){var i=s("./node_modules/lodash/_baseGetTag.js"),a=s("./node_modules/lodash/isObject.js");t.exports=function(t){if(!a(t))return!1;var e=i(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},"./node_modules/lodash/isLength.js":function(t,e){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},"./node_modules/lodash/isObject.js":function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},"./node_modules/lodash/isObjectLike.js":function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},"./node_modules/lodash/isSymbol.js":function(t,e,s){var i=s("./node_modules/lodash/_baseGetTag.js"),a=s("./node_modules/lodash/isObjectLike.js");t.exports=function(t){return"symbol"==typeof t||a(t)&&"[object Symbol]"==i(t)}},"./node_modules/lodash/toFinite.js":function(t,e,s){var i=s("./node_modules/lodash/toNumber.js");t.exports=function(t){return t?(t=i(t))===1/0||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},"./node_modules/lodash/toInteger.js":function(t,e,s){var i=s("./node_modules/lodash/toFinite.js");t.exports=function(t){var e=i(t),s=e%1;return e==e?s?e-s:e:0}},"./node_modules/lodash/toNumber.js":function(t,e,s){var i=s("./node_modules/lodash/isObject.js"),a=s("./node_modules/lodash/isSymbol.js"),n=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(a(t))return NaN;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(n,"");var s=r.test(t);return s||l.test(t)?c(t.slice(2),s?2:8):o.test(t)?NaN:+t}},"./node_modules/moment/moment.js":function(t,e,s){(function(t){t.exports=function(){"use strict";var e,s;function i(){return e.apply(null,arguments)}function a(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function o(t){return void 0===t}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function l(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function c(t,e){var s,i=[];for(s=0;s<t.length;++s)i.push(e(t[s],s));return i}function u(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function d(t,e){for(var s in e)u(e,s)&&(t[s]=e[s]);return u(e,"toString")&&(t.toString=e.toString),u(e,"valueOf")&&(t.valueOf=e.valueOf),t}function _(t,e,s,i){return Ce(t,e,s,i,!0).utc()}function m(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function h(t){if(null==t._isValid){var e=m(t),i=s.call(e.parsedDateParts,(function(t){return null!=t})),a=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&i);if(t._strict&&(a=a&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return a;t._isValid=a}return t._isValid}function p(t){var e=_(NaN);return null!=t?d(m(e),t):m(e).userInvalidated=!0,e}s=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),s=e.length>>>0,i=0;i<s;i++)if(i in e&&t.call(this,e[i],i,e))return!0;return!1};var f=i.momentProperties=[];function v(t,e){var s,i,a;if(o(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),o(e._i)||(t._i=e._i),o(e._f)||(t._f=e._f),o(e._l)||(t._l=e._l),o(e._strict)||(t._strict=e._strict),o(e._tzm)||(t._tzm=e._tzm),o(e._isUTC)||(t._isUTC=e._isUTC),o(e._offset)||(t._offset=e._offset),o(e._pf)||(t._pf=m(e)),o(e._locale)||(t._locale=e._locale),f.length>0)for(s=0;s<f.length;s++)o(a=e[i=f[s]])||(t[i]=a);return t}var g=!1;function b(t){v(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===g&&(g=!0,i.updateOffset(this),g=!1)}function y(t){return t instanceof b||null!=t&&null!=t._isAMomentObject}function k(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,s=0;return 0!==e&&isFinite(e)&&(s=k(e)),s}function C(t,e,s){var i,a=Math.min(t.length,e.length),n=Math.abs(t.length-e.length),o=0;for(i=0;i<a;i++)(s&&t[i]!==e[i]||!s&&w(t[i])!==w(e[i]))&&o++;return o+n}function x(t){!1===i.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function S(t,e){var s=!0;return d((function(){if(null!=i.deprecationHandler&&i.deprecationHandler(null,t),s){for(var a,n=[],o=0;o<arguments.length;o++){if(a="","object"==typeof arguments[o]){for(var r in a+="\n["+o+"] ",arguments[0])a+=r+": "+arguments[0][r]+", ";a=a.slice(0,-2)}else a=arguments[o];n.push(a)}x(t+"\nArguments: "+Array.prototype.slice.call(n).join("")+"\n"+(new Error).stack),s=!1}return e.apply(this,arguments)}),e)}var D,P={};function M(t,e){null!=i.deprecationHandler&&i.deprecationHandler(t,e),P[t]||(x(e),P[t]=!0)}function T(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function O(t,e){var s,i=d({},t);for(s in e)u(e,s)&&(n(t[s])&&n(e[s])?(i[s]={},d(i[s],t[s]),d(i[s],e[s])):null!=e[s]?i[s]=e[s]:delete i[s]);for(s in t)u(t,s)&&!u(e,s)&&n(t[s])&&(i[s]=d({},i[s]));return i}function j(t){null!=t&&this.set(t)}i.suppressDeprecationWarnings=!1,i.deprecationHandler=null,D=Object.keys?Object.keys:function(t){var e,s=[];for(e in t)u(t,e)&&s.push(e);return s};var Y={};function I(t,e){var s=t.toLowerCase();Y[s]=Y[s+"s"]=Y[e]=t}function L(t){return"string"==typeof t?Y[t]||Y[t.toLowerCase()]:void 0}function A(t){var e,s,i={};for(s in t)u(t,s)&&(e=L(s))&&(i[e]=t[s]);return i}var N={};function E(t,e){N[t]=e}function R(t,e,s){var i=""+Math.abs(t),a=e-i.length;return(t>=0?s?"+":"":"-")+Math.pow(10,Math.max(0,a)).toString().substr(1)+i}var U=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,H=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,$={},W={};function F(t,e,s,i){var a=i;"string"==typeof i&&(a=function(){return this[i]()}),t&&(W[t]=a),e&&(W[e[0]]=function(){return R(a.apply(this,arguments),e[1],e[2])}),s&&(W[s]=function(){return this.localeData().ordinal(a.apply(this,arguments),t)})}function q(t,e){return t.isValid()?(e=V(e,t.localeData()),$[e]=$[e]||function(t){var e,s,i,a=t.match(U);for(e=0,s=a.length;e<s;e++)W[a[e]]?a[e]=W[a[e]]:a[e]=(i=a[e]).match(/\[[\s\S]/)?i.replace(/^\[|\]$/g,""):i.replace(/\\/g,"");return function(e){var i,n="";for(i=0;i<s;i++)n+=T(a[i])?a[i].call(e,t):a[i];return n}}(e),$[e](t)):t.localeData().invalidDate()}function V(t,e){var s=5;function i(t){return e.longDateFormat(t)||t}for(H.lastIndex=0;s>=0&&H.test(t);)t=t.replace(H,i),H.lastIndex=0,s-=1;return t}var G=/\d/,z=/\d\d/,B=/\d{3}/,Q=/\d{4}/,Z=/[+-]?\d{6}/,J=/\d\d?/,X=/\d\d\d\d?/,K=/\d\d\d\d\d\d?/,tt=/\d{1,3}/,et=/\d{1,4}/,st=/[+-]?\d{1,6}/,it=/\d+/,at=/[+-]?\d+/,nt=/Z|[+-]\d\d:?\d\d/gi,ot=/Z|[+-]\d\d(?::?\d\d)?/gi,rt=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,lt={};function ct(t,e,s){lt[t]=T(e)?e:function(t,i){return t&&s?s:e}}function ut(t,e){return u(lt,t)?lt[t](e._strict,e._locale):new RegExp(dt(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(t,e,s,i,a){return e||s||i||a}))))}function dt(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var _t={};function mt(t,e){var s,i=e;for("string"==typeof t&&(t=[t]),r(e)&&(i=function(t,s){s[e]=w(t)}),s=0;s<t.length;s++)_t[t[s]]=i}function ht(t,e){mt(t,(function(t,s,i,a){i._w=i._w||{},e(t,i._w,i,a)}))}function pt(t,e,s){null!=e&&u(_t,t)&&_t[t](e,s._a,s,t)}function ft(t){return vt(t)?366:365}function vt(t){return t%4==0&&t%100!=0||t%400==0}F("Y",0,0,(function(){var t=this.year();return t<=9999?""+t:"+"+t})),F(0,["YY",2],0,(function(){return this.year()%100})),F(0,["YYYY",4],0,"year"),F(0,["YYYYY",5],0,"year"),F(0,["YYYYYY",6,!0],0,"year"),I("year","y"),E("year",1),ct("Y",at),ct("YY",J,z),ct("YYYY",et,Q),ct("YYYYY",st,Z),ct("YYYYYY",st,Z),mt(["YYYYY","YYYYYY"],0),mt("YYYY",(function(t,e){e[0]=2===t.length?i.parseTwoDigitYear(t):w(t)})),mt("YY",(function(t,e){e[0]=i.parseTwoDigitYear(t)})),mt("Y",(function(t,e){e[0]=parseInt(t,10)})),i.parseTwoDigitYear=function(t){return w(t)+(w(t)>68?1900:2e3)};var gt,bt=yt("FullYear",!0);function yt(t,e){return function(s){return null!=s?(wt(this,t,s),i.updateOffset(this,e),this):kt(this,t)}}function kt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function wt(t,e,s){t.isValid()&&!isNaN(s)&&("FullYear"===e&&vt(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](s,t.month(),Ct(s,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](s))}function Ct(t,e){if(isNaN(t)||isNaN(e))return NaN;var s,i=(e%(s=12)+s)%s;return t+=(e-i)/12,1===i?vt(t)?29:28:31-i%7%2}gt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},F("M",["MM",2],"Mo",(function(){return this.month()+1})),F("MMM",0,0,(function(t){return this.localeData().monthsShort(this,t)})),F("MMMM",0,0,(function(t){return this.localeData().months(this,t)})),I("month","M"),E("month",8),ct("M",J),ct("MM",J,z),ct("MMM",(function(t,e){return e.monthsShortRegex(t)})),ct("MMMM",(function(t,e){return e.monthsRegex(t)})),mt(["M","MM"],(function(t,e){e[1]=w(t)-1})),mt(["MMM","MMMM"],(function(t,e,s,i){var a=s._locale.monthsParse(t,i,s._strict);null!=a?e[1]=a:m(s).invalidMonth=t}));var xt=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,St="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Dt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Pt(t,e,s){var i,a,n,o=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)n=_([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(n,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(n,"").toLocaleLowerCase();return s?"MMM"===e?-1!==(a=gt.call(this._shortMonthsParse,o))?a:null:-1!==(a=gt.call(this._longMonthsParse,o))?a:null:"MMM"===e?-1!==(a=gt.call(this._shortMonthsParse,o))?a:-1!==(a=gt.call(this._longMonthsParse,o))?a:null:-1!==(a=gt.call(this._longMonthsParse,o))?a:-1!==(a=gt.call(this._shortMonthsParse,o))?a:null}function Mt(t,e){var s;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=w(e);else if(!r(e=t.localeData().monthsParse(e)))return t;return s=Math.min(t.date(),Ct(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,s),t}function Tt(t){return null!=t?(Mt(this,t),i.updateOffset(this,!0),this):kt(this,"Month")}var Ot=rt,jt=rt;function Yt(){function t(t,e){return e.length-t.length}var e,s,i=[],a=[],n=[];for(e=0;e<12;e++)s=_([2e3,e]),i.push(this.monthsShort(s,"")),a.push(this.months(s,"")),n.push(this.months(s,"")),n.push(this.monthsShort(s,""));for(i.sort(t),a.sort(t),n.sort(t),e=0;e<12;e++)i[e]=dt(i[e]),a[e]=dt(a[e]);for(e=0;e<24;e++)n[e]=dt(n[e]);this._monthsRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+i.join("|")+")","i")}function It(t,e,s,i,a,n,o){var r;return t<100&&t>=0?(r=new Date(t+400,e,s,i,a,n,o),isFinite(r.getFullYear())&&r.setFullYear(t)):r=new Date(t,e,s,i,a,n,o),r}function Lt(t){var e;if(t<100&&t>=0){var s=Array.prototype.slice.call(arguments);s[0]=t+400,e=new Date(Date.UTC.apply(null,s)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)}else e=new Date(Date.UTC.apply(null,arguments));return e}function At(t,e,s){var i=7+e-s;return-(7+Lt(t,0,i).getUTCDay()-e)%7+i-1}function Nt(t,e,s,i,a){var n,o,r=1+7*(e-1)+(7+s-i)%7+At(t,i,a);return r<=0?o=ft(n=t-1)+r:r>ft(t)?(n=t+1,o=r-ft(t)):(n=t,o=r),{year:n,dayOfYear:o}}function Et(t,e,s){var i,a,n=At(t.year(),e,s),o=Math.floor((t.dayOfYear()-n-1)/7)+1;return o<1?i=o+Rt(a=t.year()-1,e,s):o>Rt(t.year(),e,s)?(i=o-Rt(t.year(),e,s),a=t.year()+1):(a=t.year(),i=o),{week:i,year:a}}function Rt(t,e,s){var i=At(t,e,s),a=At(t+1,e,s);return(ft(t)-i+a)/7}function Ut(t,e){return t.slice(e,7).concat(t.slice(0,e))}F("w",["ww",2],"wo","week"),F("W",["WW",2],"Wo","isoWeek"),I("week","w"),I("isoWeek","W"),E("week",5),E("isoWeek",5),ct("w",J),ct("ww",J,z),ct("W",J),ct("WW",J,z),ht(["w","ww","W","WW"],(function(t,e,s,i){e[i.substr(0,1)]=w(t)})),F("d",0,"do","day"),F("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),F("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),F("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),F("e",0,0,"weekday"),F("E",0,0,"isoWeekday"),I("day","d"),I("weekday","e"),I("isoWeekday","E"),E("day",11),E("weekday",11),E("isoWeekday",11),ct("d",J),ct("e",J),ct("E",J),ct("dd",(function(t,e){return e.weekdaysMinRegex(t)})),ct("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),ct("dddd",(function(t,e){return e.weekdaysRegex(t)})),ht(["dd","ddd","dddd"],(function(t,e,s,i){var a=s._locale.weekdaysParse(t,i,s._strict);null!=a?e.d=a:m(s).invalidWeekday=t})),ht(["d","e","E"],(function(t,e,s,i){e[i]=w(t)}));var Ht="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),$t="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Wt="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function Ft(t,e,s){var i,a,n,o=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)n=_([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(n,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(n,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(n,"").toLocaleLowerCase();return s?"dddd"===e?-1!==(a=gt.call(this._weekdaysParse,o))?a:null:"ddd"===e?-1!==(a=gt.call(this._shortWeekdaysParse,o))?a:null:-1!==(a=gt.call(this._minWeekdaysParse,o))?a:null:"dddd"===e?-1!==(a=gt.call(this._weekdaysParse,o))?a:-1!==(a=gt.call(this._shortWeekdaysParse,o))?a:-1!==(a=gt.call(this._minWeekdaysParse,o))?a:null:"ddd"===e?-1!==(a=gt.call(this._shortWeekdaysParse,o))?a:-1!==(a=gt.call(this._weekdaysParse,o))?a:-1!==(a=gt.call(this._minWeekdaysParse,o))?a:null:-1!==(a=gt.call(this._minWeekdaysParse,o))?a:-1!==(a=gt.call(this._weekdaysParse,o))?a:-1!==(a=gt.call(this._shortWeekdaysParse,o))?a:null}var qt=rt,Vt=rt,Gt=rt;function zt(){function t(t,e){return e.length-t.length}var e,s,i,a,n,o=[],r=[],l=[],c=[];for(e=0;e<7;e++)s=_([2e3,1]).day(e),i=this.weekdaysMin(s,""),a=this.weekdaysShort(s,""),n=this.weekdays(s,""),o.push(i),r.push(a),l.push(n),c.push(i),c.push(a),c.push(n);for(o.sort(t),r.sort(t),l.sort(t),c.sort(t),e=0;e<7;e++)r[e]=dt(r[e]),l[e]=dt(l[e]),c[e]=dt(c[e]);this._weekdaysRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function Bt(){return this.hours()%12||12}function Qt(t,e){F(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function Zt(t,e){return e._meridiemParse}F("H",["HH",2],0,"hour"),F("h",["hh",2],0,Bt),F("k",["kk",2],0,(function(){return this.hours()||24})),F("hmm",0,0,(function(){return""+Bt.apply(this)+R(this.minutes(),2)})),F("hmmss",0,0,(function(){return""+Bt.apply(this)+R(this.minutes(),2)+R(this.seconds(),2)})),F("Hmm",0,0,(function(){return""+this.hours()+R(this.minutes(),2)})),F("Hmmss",0,0,(function(){return""+this.hours()+R(this.minutes(),2)+R(this.seconds(),2)})),Qt("a",!0),Qt("A",!1),I("hour","h"),E("hour",13),ct("a",Zt),ct("A",Zt),ct("H",J),ct("h",J),ct("k",J),ct("HH",J,z),ct("hh",J,z),ct("kk",J,z),ct("hmm",X),ct("hmmss",K),ct("Hmm",X),ct("Hmmss",K),mt(["H","HH"],3),mt(["k","kk"],(function(t,e,s){var i=w(t);e[3]=24===i?0:i})),mt(["a","A"],(function(t,e,s){s._isPm=s._locale.isPM(t),s._meridiem=t})),mt(["h","hh"],(function(t,e,s){e[3]=w(t),m(s).bigHour=!0})),mt("hmm",(function(t,e,s){var i=t.length-2;e[3]=w(t.substr(0,i)),e[4]=w(t.substr(i)),m(s).bigHour=!0})),mt("hmmss",(function(t,e,s){var i=t.length-4,a=t.length-2;e[3]=w(t.substr(0,i)),e[4]=w(t.substr(i,2)),e[5]=w(t.substr(a)),m(s).bigHour=!0})),mt("Hmm",(function(t,e,s){var i=t.length-2;e[3]=w(t.substr(0,i)),e[4]=w(t.substr(i))})),mt("Hmmss",(function(t,e,s){var i=t.length-4,a=t.length-2;e[3]=w(t.substr(0,i)),e[4]=w(t.substr(i,2)),e[5]=w(t.substr(a))}));var Jt,Xt=yt("Hours",!0),Kt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d 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"},months:St,monthsShort:Dt,week:{dow:0,doy:6},weekdays:Ht,weekdaysMin:Wt,weekdaysShort:$t,meridiemParse:/[ap]\.?m?\.?/i},te={},ee={};function se(t){return t?t.toLowerCase().replace("_","-"):t}function ie(e){var s=null;if(!te[e]&&void 0!==t&&t&&t.exports)try{s=Jt._abbr,!function(){var t=new Error("Cannot find module 'undefined'");throw t.code="MODULE_NOT_FOUND",t}(),ae(s)}catch(t){}return te[e]}function ae(t,e){var s;return t&&((s=o(e)?oe(t):ne(t,e))?Jt=s:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),Jt._abbr}function ne(t,e){if(null!==e){var s,i=Kt;if(e.abbr=t,null!=te[t])M("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=te[t]._config;else if(null!=e.parentLocale)if(null!=te[e.parentLocale])i=te[e.parentLocale]._config;else{if(null==(s=ie(e.parentLocale)))return ee[e.parentLocale]||(ee[e.parentLocale]=[]),ee[e.parentLocale].push({name:t,config:e}),null;i=s._config}return te[t]=new j(O(i,e)),ee[t]&&ee[t].forEach((function(t){ne(t.name,t.config)})),ae(t),te[t]}return delete te[t],null}function oe(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Jt;if(!a(t)){if(e=ie(t))return e;t=[t]}return function(t){for(var e,s,i,a,n=0;n<t.length;){for(e=(a=se(t[n]).split("-")).length,s=(s=se(t[n+1]))?s.split("-"):null;e>0;){if(i=ie(a.slice(0,e).join("-")))return i;if(s&&s.length>=e&&C(a,s,!0)>=e-1)break;e--}n++}return Jt}(t)}function re(t){var e,s=t._a;return s&&-2===m(t).overflow&&(e=s[1]<0||s[1]>11?1:s[2]<1||s[2]>Ct(s[0],s[1])?2:s[3]<0||s[3]>24||24===s[3]&&(0!==s[4]||0!==s[5]||0!==s[6])?3:s[4]<0||s[4]>59?4:s[5]<0||s[5]>59?5:s[6]<0||s[6]>999?6:-1,m(t)._overflowDayOfYear&&(e<0||e>2)&&(e=2),m(t)._overflowWeeks&&-1===e&&(e=7),m(t)._overflowWeekday&&-1===e&&(e=8),m(t).overflow=e),t}function le(t,e,s){return null!=t?t:null!=e?e:s}function ce(t){var e,s,a,n,o,r=[];if(!t._d){for(a=function(t){var e=new Date(i.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[2]&&null==t._a[1]&&function(t){var e,s,i,a,n,o,r,l;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)n=1,o=4,s=le(e.GG,t._a[0],Et(xe(),1,4).year),i=le(e.W,1),((a=le(e.E,1))<1||a>7)&&(l=!0);else{n=t._locale._week.dow,o=t._locale._week.doy;var c=Et(xe(),n,o);s=le(e.gg,t._a[0],c.year),i=le(e.w,c.week),null!=e.d?((a=e.d)<0||a>6)&&(l=!0):null!=e.e?(a=e.e+n,(e.e<0||e.e>6)&&(l=!0)):a=n}i<1||i>Rt(s,n,o)?m(t)._overflowWeeks=!0:null!=l?m(t)._overflowWeekday=!0:(r=Nt(s,i,a,n,o),t._a[0]=r.year,t._dayOfYear=r.dayOfYear)}(t),null!=t._dayOfYear&&(o=le(t._a[0],a[0]),(t._dayOfYear>ft(o)||0===t._dayOfYear)&&(m(t)._overflowDayOfYear=!0),s=Lt(o,0,t._dayOfYear),t._a[1]=s.getUTCMonth(),t._a[2]=s.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=r[e]=a[e];for(;e<7;e++)t._a[e]=r[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[3]&&0===t._a[4]&&0===t._a[5]&&0===t._a[6]&&(t._nextDay=!0,t._a[3]=0),t._d=(t._useUTC?Lt:It).apply(null,r),n=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[3]=24),t._w&&void 0!==t._w.d&&t._w.d!==n&&(m(t).weekdayMismatch=!0)}}var ue=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,de=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_e=/Z|[+-]\d\d(?::?\d\d)?/,me=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],he=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pe=/^\/?Date\((\-?\d+)/i;function fe(t){var e,s,i,a,n,o,r=t._i,l=ue.exec(r)||de.exec(r);if(l){for(m(t).iso=!0,e=0,s=me.length;e<s;e++)if(me[e][1].exec(l[1])){a=me[e][0],i=!1!==me[e][2];break}if(null==a)return void(t._isValid=!1);if(l[3]){for(e=0,s=he.length;e<s;e++)if(he[e][1].exec(l[3])){n=(l[2]||" ")+he[e][0];break}if(null==n)return void(t._isValid=!1)}if(!i&&null!=n)return void(t._isValid=!1);if(l[4]){if(!_e.exec(l[4]))return void(t._isValid=!1);o="Z"}t._f=a+(n||"")+(o||""),ke(t)}else t._isValid=!1}var ve=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function ge(t){var e=parseInt(t,10);return e<=49?2e3+e:e<=999?1900+e:e}var be={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function ye(t){var e,s,i,a,n,o,r,l=ve.exec(t._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(l){var c=(e=l[4],s=l[3],i=l[2],a=l[5],n=l[6],o=l[7],r=[ge(e),Dt.indexOf(s),parseInt(i,10),parseInt(a,10),parseInt(n,10)],o&&r.push(parseInt(o,10)),r);if(!function(t,e,s){return!t||$t.indexOf(t)===new Date(e[0],e[1],e[2]).getDay()||(m(s).weekdayMismatch=!0,s._isValid=!1,!1)}(l[1],c,t))return;t._a=c,t._tzm=function(t,e,s){if(t)return be[t];if(e)return 0;var i=parseInt(s,10),a=i%100;return(i-a)/100*60+a}(l[8],l[9],l[10]),t._d=Lt.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),m(t).rfc2822=!0}else t._isValid=!1}function ke(t){if(t._f!==i.ISO_8601)if(t._f!==i.RFC_2822){t._a=[],m(t).empty=!0;var e,s,a,n,o,r=""+t._i,l=r.length,c=0;for(a=V(t._f,t._locale).match(U)||[],e=0;e<a.length;e++)n=a[e],(s=(r.match(ut(n,t))||[])[0])&&((o=r.substr(0,r.indexOf(s))).length>0&&m(t).unusedInput.push(o),r=r.slice(r.indexOf(s)+s.length),c+=s.length),W[n]?(s?m(t).empty=!1:m(t).unusedTokens.push(n),pt(n,s,t)):t._strict&&!s&&m(t).unusedTokens.push(n);m(t).charsLeftOver=l-c,r.length>0&&m(t).unusedInput.push(r),t._a[3]<=12&&!0===m(t).bigHour&&t._a[3]>0&&(m(t).bigHour=void 0),m(t).parsedDateParts=t._a.slice(0),m(t).meridiem=t._meridiem,t._a[3]=function(t,e,s){var i;return null==s?e:null!=t.meridiemHour?t.meridiemHour(e,s):null!=t.isPM?((i=t.isPM(s))&&e<12&&(e+=12),i||12!==e||(e=0),e):e}(t._locale,t._a[3],t._meridiem),ce(t),re(t)}else ye(t);else fe(t)}function we(t){var e=t._i,s=t._f;return t._locale=t._locale||oe(t._l),null===e||void 0===s&&""===e?p({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),y(e)?new b(re(e)):(l(e)?t._d=e:a(s)?function(t){var e,s,i,a,n;if(0===t._f.length)return m(t).invalidFormat=!0,void(t._d=new Date(NaN));for(a=0;a<t._f.length;a++)n=0,e=v({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[a],ke(e),h(e)&&(n+=m(e).charsLeftOver,n+=10*m(e).unusedTokens.length,m(e).score=n,(null==i||n<i)&&(i=n,s=e));d(t,s||e)}(t):s?ke(t):function(t){var e=t._i;o(e)?t._d=new Date(i.now()):l(e)?t._d=new Date(e.valueOf()):"string"==typeof e?function(t){var e=pe.exec(t._i);null===e?(fe(t),!1===t._isValid&&(delete t._isValid,ye(t),!1===t._isValid&&(delete t._isValid,i.createFromInputFallback(t)))):t._d=new Date(+e[1])}(t):a(e)?(t._a=c(e.slice(0),(function(t){return parseInt(t,10)})),ce(t)):n(e)?function(t){if(!t._d){var e=A(t._i);t._a=c([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],(function(t){return t&&parseInt(t,10)})),ce(t)}}(t):r(e)?t._d=new Date(e):i.createFromInputFallback(t)}(t),h(t)||(t._d=null),t))}function Ce(t,e,s,i,o){var r,l={};return!0!==s&&!1!==s||(i=s,s=void 0),(n(t)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(t)||a(t)&&0===t.length)&&(t=void 0),l._isAMomentObject=!0,l._useUTC=l._isUTC=o,l._l=s,l._i=t,l._f=e,l._strict=i,(r=new b(re(we(l))))._nextDay&&(r.add(1,"d"),r._nextDay=void 0),r}function xe(t,e,s,i){return Ce(t,e,s,i,!1)}i.createFromInputFallback=S("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))})),i.ISO_8601=function(){},i.RFC_2822=function(){};var Se=S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=xe.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:p()})),De=S("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=xe.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:p()}));function Pe(t,e){var s,i;if(1===e.length&&a(e[0])&&(e=e[0]),!e.length)return xe();for(s=e[0],i=1;i<e.length;++i)e[i].isValid()&&!e[i][t](s)||(s=e[i]);return s}var Me=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Te(t){var e=A(t),s=e.year||0,i=e.quarter||0,a=e.month||0,n=e.week||e.isoWeek||0,o=e.day||0,r=e.hour||0,l=e.minute||0,c=e.second||0,u=e.millisecond||0;this._isValid=function(t){for(var e in t)if(-1===gt.call(Me,e)||null!=t[e]&&isNaN(t[e]))return!1;for(var s=!1,i=0;i<Me.length;++i)if(t[Me[i]]){if(s)return!1;parseFloat(t[Me[i]])!==w(t[Me[i]])&&(s=!0)}return!0}(e),this._milliseconds=+u+1e3*c+6e4*l+1e3*r*60*60,this._days=+o+7*n,this._months=+a+3*i+12*s,this._data={},this._locale=oe(),this._bubble()}function Oe(t){return t instanceof Te}function je(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function Ye(t,e){F(t,0,0,(function(){var t=this.utcOffset(),s="+";return t<0&&(t=-t,s="-"),s+R(~~(t/60),2)+e+R(~~t%60,2)}))}Ye("Z",":"),Ye("ZZ",""),ct("Z",ot),ct("ZZ",ot),mt(["Z","ZZ"],(function(t,e,s){s._useUTC=!0,s._tzm=Le(ot,t)}));var Ie=/([\+\-]|\d\d)/gi;function Le(t,e){var s=(e||"").match(t);if(null===s)return null;var i=((s[s.length-1]||[])+"").match(Ie)||["-",0,0],a=60*i[1]+w(i[2]);return 0===a?0:"+"===i[0]?a:-a}function Ae(t,e){var s,a;return e._isUTC?(s=e.clone(),a=(y(t)||l(t)?t.valueOf():xe(t).valueOf())-s.valueOf(),s._d.setTime(s._d.valueOf()+a),i.updateOffset(s,!1),s):xe(t).local()}function Ne(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Ee(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var Re=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ue=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function He(t,e){var s,i,a,n,o,l,c=t,d=null;return Oe(t)?c={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(c={},e?c[e]=t:c.milliseconds=t):(d=Re.exec(t))?(s="-"===d[1]?-1:1,c={y:0,d:w(d[2])*s,h:w(d[3])*s,m:w(d[4])*s,s:w(d[5])*s,ms:w(je(1e3*d[6]))*s}):(d=Ue.exec(t))?(s="-"===d[1]?-1:1,c={y:$e(d[2],s),M:$e(d[3],s),w:$e(d[4],s),d:$e(d[5],s),h:$e(d[6],s),m:$e(d[7],s),s:$e(d[8],s)}):null==c?c={}:"object"==typeof c&&("from"in c||"to"in c)&&(n=xe(c.from),o=xe(c.to),a=n.isValid()&&o.isValid()?(o=Ae(o,n),n.isBefore(o)?l=We(n,o):((l=We(o,n)).milliseconds=-l.milliseconds,l.months=-l.months),l):{milliseconds:0,months:0},(c={}).ms=a.milliseconds,c.M=a.months),i=new Te(c),Oe(t)&&u(t,"_locale")&&(i._locale=t._locale),i}function $e(t,e){var s=t&&parseFloat(t.replace(",","."));return(isNaN(s)?0:s)*e}function We(t,e){var s={};return s.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(s.months,"M").isAfter(e)&&--s.months,s.milliseconds=+e-+t.clone().add(s.months,"M"),s}function Fe(t,e){return function(s,i){var a;return null===i||isNaN(+i)||(M(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),a=s,s=i,i=a),qe(this,He(s="string"==typeof s?+s:s,i),t),this}}function qe(t,e,s,a){var n=e._milliseconds,o=je(e._days),r=je(e._months);t.isValid()&&(a=null==a||a,r&&Mt(t,kt(t,"Month")+r*s),o&&wt(t,"Date",kt(t,"Date")+o*s),n&&t._d.setTime(t._d.valueOf()+n*s),a&&i.updateOffset(t,o||r))}He.fn=Te.prototype,He.invalid=function(){return He(NaN)};var Ve=Fe(1,"add"),Ge=Fe(-1,"subtract");function ze(t,e){var s=12*(e.year()-t.year())+(e.month()-t.month()),i=t.clone().add(s,"months");return-(s+(e-i<0?(e-i)/(i-t.clone().add(s-1,"months")):(e-i)/(t.clone().add(s+1,"months")-i)))||0}function Be(t){var e;return void 0===t?this._locale._abbr:(null!=(e=oe(t))&&(this._locale=e),this)}i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",i.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Qe=S("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function Ze(){return this._locale}function Je(t,e){return(t%e+e)%e}function Xe(t,e,s){return t<100&&t>=0?new Date(t+400,e,s)-126227808e5:new Date(t,e,s).valueOf()}function Ke(t,e,s){return t<100&&t>=0?Date.UTC(t+400,e,s)-126227808e5:Date.UTC(t,e,s)}function ts(t,e){F(0,[t,t.length],0,e)}function es(t,e,s,i,a){var n;return null==t?Et(this,i,a).year:(e>(n=Rt(t,i,a))&&(e=n),ss.call(this,t,e,s,i,a))}function ss(t,e,s,i,a){var n=Nt(t,e,s,i,a),o=Lt(n.year,0,n.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}F(0,["gg",2],0,(function(){return this.weekYear()%100})),F(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),ts("gggg","weekYear"),ts("ggggg","weekYear"),ts("GGGG","isoWeekYear"),ts("GGGGG","isoWeekYear"),I("weekYear","gg"),I("isoWeekYear","GG"),E("weekYear",1),E("isoWeekYear",1),ct("G",at),ct("g",at),ct("GG",J,z),ct("gg",J,z),ct("GGGG",et,Q),ct("gggg",et,Q),ct("GGGGG",st,Z),ct("ggggg",st,Z),ht(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,s,i){e[i.substr(0,2)]=w(t)})),ht(["gg","GG"],(function(t,e,s,a){e[a]=i.parseTwoDigitYear(t)})),F("Q",0,"Qo","quarter"),I("quarter","Q"),E("quarter",7),ct("Q",G),mt("Q",(function(t,e){e[1]=3*(w(t)-1)})),F("D",["DD",2],"Do","date"),I("date","D"),E("date",9),ct("D",J),ct("DD",J,z),ct("Do",(function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient})),mt(["D","DD"],2),mt("Do",(function(t,e){e[2]=w(t.match(J)[0])}));var is=yt("Date",!0);F("DDD",["DDDD",3],"DDDo","dayOfYear"),I("dayOfYear","DDD"),E("dayOfYear",4),ct("DDD",tt),ct("DDDD",B),mt(["DDD","DDDD"],(function(t,e,s){s._dayOfYear=w(t)})),F("m",["mm",2],0,"minute"),I("minute","m"),E("minute",14),ct("m",J),ct("mm",J,z),mt(["m","mm"],4);var as=yt("Minutes",!1);F("s",["ss",2],0,"second"),I("second","s"),E("second",15),ct("s",J),ct("ss",J,z),mt(["s","ss"],5);var ns,os=yt("Seconds",!1);for(F("S",0,0,(function(){return~~(this.millisecond()/100)})),F(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),F(0,["SSS",3],0,"millisecond"),F(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),F(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),F(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),F(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),F(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),F(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),I("millisecond","ms"),E("millisecond",16),ct("S",tt,G),ct("SS",tt,z),ct("SSS",tt,B),ns="SSSS";ns.length<=9;ns+="S")ct(ns,it);function rs(t,e){e[6]=w(1e3*("0."+t))}for(ns="S";ns.length<=9;ns+="S")mt(ns,rs);var ls=yt("Milliseconds",!1);F("z",0,0,"zoneAbbr"),F("zz",0,0,"zoneName");var cs=b.prototype;function us(t){return t}cs.add=Ve,cs.calendar=function(t,e){var s=t||xe(),a=Ae(s,this).startOf("day"),n=i.calendarFormat(this,a)||"sameElse",o=e&&(T(e[n])?e[n].call(this,s):e[n]);return this.format(o||this.localeData().calendar(n,this,xe(s)))},cs.clone=function(){return new b(this)},cs.diff=function(t,e,s){var i,a,n;if(!this.isValid())return NaN;if(!(i=Ae(t,this)).isValid())return NaN;switch(a=6e4*(i.utcOffset()-this.utcOffset()),e=L(e)){case"year":n=ze(this,i)/12;break;case"month":n=ze(this,i);break;case"quarter":n=ze(this,i)/3;break;case"second":n=(this-i)/1e3;break;case"minute":n=(this-i)/6e4;break;case"hour":n=(this-i)/36e5;break;case"day":n=(this-i-a)/864e5;break;case"week":n=(this-i-a)/6048e5;break;default:n=this-i}return s?n:k(n)},cs.endOf=function(t){var e;if(void 0===(t=L(t))||"millisecond"===t||!this.isValid())return this;var s=this._isUTC?Ke:Xe;switch(t){case"year":e=s(this.year()+1,0,1)-1;break;case"quarter":e=s(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=s(this.year(),this.month()+1,1)-1;break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=s(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=36e5-Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":e=this._d.valueOf(),e+=6e4-Je(e,6e4)-1;break;case"second":e=this._d.valueOf(),e+=1e3-Je(e,1e3)-1}return this._d.setTime(e),i.updateOffset(this,!0),this},cs.format=function(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=q(this,t);return this.localeData().postformat(e)},cs.from=function(t,e){return this.isValid()&&(y(t)&&t.isValid()||xe(t).isValid())?He({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},cs.fromNow=function(t){return this.from(xe(),t)},cs.to=function(t,e){return this.isValid()&&(y(t)&&t.isValid()||xe(t).isValid())?He({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},cs.toNow=function(t){return this.to(xe(),t)},cs.get=function(t){return T(this[t=L(t)])?this[t]():this},cs.invalidAt=function(){return m(this).overflow},cs.isAfter=function(t,e){var s=y(t)?t:xe(t);return!(!this.isValid()||!s.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()>s.valueOf():s.valueOf()<this.clone().startOf(e).valueOf())},cs.isBefore=function(t,e){var s=y(t)?t:xe(t);return!(!this.isValid()||!s.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()<s.valueOf():this.clone().endOf(e).valueOf()<s.valueOf())},cs.isBetween=function(t,e,s,i){var a=y(t)?t:xe(t),n=y(e)?e:xe(e);return!!(this.isValid()&&a.isValid()&&n.isValid())&&("("===(i=i||"()")[0]?this.isAfter(a,s):!this.isBefore(a,s))&&(")"===i[1]?this.isBefore(n,s):!this.isAfter(n,s))},cs.isSame=function(t,e){var s,i=y(t)?t:xe(t);return!(!this.isValid()||!i.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()===i.valueOf():(s=i.valueOf(),this.clone().startOf(e).valueOf()<=s&&s<=this.clone().endOf(e).valueOf()))},cs.isSameOrAfter=function(t,e){return this.isSame(t,e)||this.isAfter(t,e)},cs.isSameOrBefore=function(t,e){return this.isSame(t,e)||this.isBefore(t,e)},cs.isValid=function(){return h(this)},cs.lang=Qe,cs.locale=Be,cs.localeData=Ze,cs.max=De,cs.min=Se,cs.parsingFlags=function(){return d({},m(this))},cs.set=function(t,e){if("object"==typeof t)for(var s=function(t){var e=[];for(var s in t)e.push({unit:s,priority:N[s]});return e.sort((function(t,e){return t.priority-e.priority})),e}(t=A(t)),i=0;i<s.length;i++)this[s[i].unit](t[s[i].unit]);else if(T(this[t=L(t)]))return this[t](e);return this},cs.startOf=function(t){var e;if(void 0===(t=L(t))||"millisecond"===t||!this.isValid())return this;var s=this._isUTC?Ke:Xe;switch(t){case"year":e=s(this.year(),0,1);break;case"quarter":e=s(this.year(),this.month()-this.month()%3,1);break;case"month":e=s(this.year(),this.month(),1);break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=s(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":e=this._d.valueOf(),e-=Je(e,6e4);break;case"second":e=this._d.valueOf(),e-=Je(e,1e3)}return this._d.setTime(e),i.updateOffset(this,!0),this},cs.subtract=Ge,cs.toArray=function(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]},cs.toObject=function(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}},cs.toDate=function(){return new Date(this.valueOf())},cs.toISOString=function(t){if(!this.isValid())return null;var e=!0!==t,s=e?this.clone().utc():this;return s.year()<0||s.year()>9999?q(s,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):T(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",q(s,"Z")):q(s,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},cs.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var s="["+t+'("]',i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",a=e+'[")]';return this.format(s+i+"-MM-DD[T]HH:mm:ss.SSS"+a)},cs.toJSON=function(){return this.isValid()?this.toISOString():null},cs.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},cs.unix=function(){return Math.floor(this.valueOf()/1e3)},cs.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},cs.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},cs.year=bt,cs.isLeapYear=function(){return vt(this.year())},cs.weekYear=function(t){return es.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},cs.isoWeekYear=function(t){return es.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},cs.quarter=cs.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},cs.month=Tt,cs.daysInMonth=function(){return Ct(this.year(),this.month())},cs.week=cs.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},cs.isoWeek=cs.isoWeeks=function(t){var e=Et(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},cs.weeksInYear=function(){var t=this.localeData()._week;return Rt(this.year(),t.dow,t.doy)},cs.isoWeeksInYear=function(){return Rt(this.year(),1,4)},cs.date=is,cs.day=cs.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},cs.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},cs.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},cs.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},cs.hour=cs.hours=Xt,cs.minute=cs.minutes=as,cs.second=cs.seconds=os,cs.millisecond=cs.milliseconds=ls,cs.utcOffset=function(t,e,s){var a,n=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Le(ot,t)))return this}else Math.abs(t)<16&&!s&&(t*=60);return!this._isUTC&&e&&(a=Ne(this)),this._offset=t,this._isUTC=!0,null!=a&&this.add(a,"m"),n!==t&&(!e||this._changeInProgress?qe(this,He(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?n:Ne(this)},cs.utc=function(t){return this.utcOffset(0,t)},cs.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ne(this),"m")),this},cs.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Le(nt,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},cs.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?xe(t).utcOffset():0,(this.utcOffset()-t)%60==0)},cs.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},cs.isLocal=function(){return!!this.isValid()&&!this._isUTC},cs.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},cs.isUtc=Ee,cs.isUTC=Ee,cs.zoneAbbr=function(){return this._isUTC?"UTC":""},cs.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},cs.dates=S("dates accessor is deprecated. Use date instead.",is),cs.months=S("months accessor is deprecated. Use month instead",Tt),cs.years=S("years accessor is deprecated. Use year instead",bt),cs.zone=S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()})),cs.isDSTShifted=S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!o(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),(t=we(t))._a){var e=t._isUTC?_(t._a):xe(t._a);this._isDSTShifted=this.isValid()&&C(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}));var ds=j.prototype;function _s(t,e,s,i){var a=oe(),n=_().set(i,e);return a[s](n,t)}function ms(t,e,s){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return _s(t,e,s,"month");var i,a=[];for(i=0;i<12;i++)a[i]=_s(t,i,s,"month");return a}function hs(t,e,s,i){"boolean"==typeof t?(r(e)&&(s=e,e=void 0),e=e||""):(s=e=t,t=!1,r(e)&&(s=e,e=void 0),e=e||"");var a,n=oe(),o=t?n._week.dow:0;if(null!=s)return _s(e,(s+o)%7,i,"day");var l=[];for(a=0;a<7;a++)l[a]=_s(e,(a+o)%7,i,"day");return l}ds.calendar=function(t,e,s){var i=this._calendar[t]||this._calendar.sameElse;return T(i)?i.call(e,s):i},ds.longDateFormat=function(t){var e=this._longDateFormat[t],s=this._longDateFormat[t.toUpperCase()];return e||!s?e:(this._longDateFormat[t]=s.replace(/MMMM|MM|DD|dddd/g,(function(t){return t.slice(1)})),this._longDateFormat[t])},ds.invalidDate=function(){return this._invalidDate},ds.ordinal=function(t){return this._ordinal.replace("%d",t)},ds.preparse=us,ds.postformat=us,ds.relativeTime=function(t,e,s,i){var a=this._relativeTime[s];return T(a)?a(t,e,s,i):a.replace(/%d/i,t)},ds.pastFuture=function(t,e){var s=this._relativeTime[t>0?"future":"past"];return T(s)?s(e):s.replace(/%s/i,e)},ds.set=function(t){var e,s;for(s in t)T(e=t[s])?this[s]=e:this["_"+s]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},ds.months=function(t,e){return t?a(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||xt).test(e)?"format":"standalone"][t.month()]:a(this._months)?this._months:this._months.standalone},ds.monthsShort=function(t,e){return t?a(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[xt.test(e)?"format":"standalone"][t.month()]:a(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},ds.monthsParse=function(t,e,s){var i,a,n;if(this._monthsParseExact)return Pt.call(this,t,e,s);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(a=_([2e3,i]),s&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(a,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(a,"").replace(".","")+"$","i")),s||this._monthsParse[i]||(n="^"+this.months(a,"")+"|^"+this.monthsShort(a,""),this._monthsParse[i]=new RegExp(n.replace(".",""),"i")),s&&"MMMM"===e&&this._longMonthsParse[i].test(t))return i;if(s&&"MMM"===e&&this._shortMonthsParse[i].test(t))return i;if(!s&&this._monthsParse[i].test(t))return i}},ds.monthsRegex=function(t){return this._monthsParseExact?(u(this,"_monthsRegex")||Yt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(u(this,"_monthsRegex")||(this._monthsRegex=jt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},ds.monthsShortRegex=function(t){return this._monthsParseExact?(u(this,"_monthsRegex")||Yt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(u(this,"_monthsShortRegex")||(this._monthsShortRegex=Ot),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},ds.week=function(t){return Et(t,this._week.dow,this._week.doy).week},ds.firstDayOfYear=function(){return this._week.doy},ds.firstDayOfWeek=function(){return this._week.dow},ds.weekdays=function(t,e){var s=a(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===t?Ut(s,this._week.dow):t?s[t.day()]:s},ds.weekdaysMin=function(t){return!0===t?Ut(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin},ds.weekdaysShort=function(t){return!0===t?Ut(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort},ds.weekdaysParse=function(t,e,s){var i,a,n;if(this._weekdaysParseExact)return Ft.call(this,t,e,s);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(a=_([2e3,1]).day(i),s&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(a,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(a,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(a,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(n="^"+this.weekdays(a,"")+"|^"+this.weekdaysShort(a,"")+"|^"+this.weekdaysMin(a,""),this._weekdaysParse[i]=new RegExp(n.replace(".",""),"i")),s&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(s&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(s&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!s&&this._weekdaysParse[i].test(t))return i}},ds.weekdaysRegex=function(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(u(this,"_weekdaysRegex")||(this._weekdaysRegex=qt),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},ds.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(u(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Vt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},ds.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(u(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Gt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},ds.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},ds.meridiem=function(t,e,s){return t>11?s?"pm":"PM":s?"am":"AM"},ae("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),i.lang=S("moment.lang is deprecated. Use moment.locale instead.",ae),i.langData=S("moment.langData is deprecated. Use moment.localeData instead.",oe);var ps=Math.abs;function fs(t,e,s,i){var a=He(e,s);return t._milliseconds+=i*a._milliseconds,t._days+=i*a._days,t._months+=i*a._months,t._bubble()}function vs(t){return t<0?Math.floor(t):Math.ceil(t)}function gs(t){return 4800*t/146097}function bs(t){return 146097*t/4800}function ys(t){return function(){return this.as(t)}}var ks=ys("ms"),ws=ys("s"),Cs=ys("m"),xs=ys("h"),Ss=ys("d"),Ds=ys("w"),Ps=ys("M"),Ms=ys("Q"),Ts=ys("y");function Os(t){return function(){return this.isValid()?this._data[t]:NaN}}var js=Os("milliseconds"),Ys=Os("seconds"),Is=Os("minutes"),Ls=Os("hours"),As=Os("days"),Ns=Os("months"),Es=Os("years"),Rs=Math.round,Us={ss:44,s:45,m:45,h:22,d:26,M:11};function Hs(t,e,s,i,a){return a.relativeTime(e||1,!!s,t,i)}var $s=Math.abs;function Ws(t){return(t>0)-(t<0)||+t}function Fs(){if(!this.isValid())return this.localeData().invalidDate();var t,e,s=$s(this._milliseconds)/1e3,i=$s(this._days),a=$s(this._months);t=k(s/60),e=k(t/60),s%=60,t%=60;var n=k(a/12),o=a%=12,r=i,l=e,c=t,u=s?s.toFixed(3).replace(/\.?0+$/,""):"",d=this.asSeconds();if(!d)return"P0D";var _=d<0?"-":"",m=Ws(this._months)!==Ws(d)?"-":"",h=Ws(this._days)!==Ws(d)?"-":"",p=Ws(this._milliseconds)!==Ws(d)?"-":"";return _+"P"+(n?m+n+"Y":"")+(o?m+o+"M":"")+(r?h+r+"D":"")+(l||c||u?"T":"")+(l?p+l+"H":"")+(c?p+c+"M":"")+(u?p+u+"S":"")}var qs=Te.prototype;return qs.isValid=function(){return this._isValid},qs.abs=function(){var t=this._data;return this._milliseconds=ps(this._milliseconds),this._days=ps(this._days),this._months=ps(this._months),t.milliseconds=ps(t.milliseconds),t.seconds=ps(t.seconds),t.minutes=ps(t.minutes),t.hours=ps(t.hours),t.months=ps(t.months),t.years=ps(t.years),this},qs.add=function(t,e){return fs(this,t,e,1)},qs.subtract=function(t,e){return fs(this,t,e,-1)},qs.as=function(t){if(!this.isValid())return NaN;var e,s,i=this._milliseconds;if("month"===(t=L(t))||"quarter"===t||"year"===t)switch(e=this._days+i/864e5,s=this._months+gs(e),t){case"month":return s;case"quarter":return s/3;case"year":return s/12}else switch(e=this._days+Math.round(bs(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}},qs.asMilliseconds=ks,qs.asSeconds=ws,qs.asMinutes=Cs,qs.asHours=xs,qs.asDays=Ss,qs.asWeeks=Ds,qs.asMonths=Ps,qs.asQuarters=Ms,qs.asYears=Ts,qs.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12):NaN},qs._bubble=function(){var t,e,s,i,a,n=this._milliseconds,o=this._days,r=this._months,l=this._data;return n>=0&&o>=0&&r>=0||n<=0&&o<=0&&r<=0||(n+=864e5*vs(bs(r)+o),o=0,r=0),l.milliseconds=n%1e3,t=k(n/1e3),l.seconds=t%60,e=k(t/60),l.minutes=e%60,s=k(e/60),l.hours=s%24,o+=k(s/24),a=k(gs(o)),r+=a,o-=vs(bs(a)),i=k(r/12),r%=12,l.days=o,l.months=r,l.years=i,this},qs.clone=function(){return He(this)},qs.get=function(t){return t=L(t),this.isValid()?this[t+"s"]():NaN},qs.milliseconds=js,qs.seconds=Ys,qs.minutes=Is,qs.hours=Ls,qs.days=As,qs.weeks=function(){return k(this.days()/7)},qs.months=Ns,qs.years=Es,qs.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),s=function(t,e,s){var i=He(t).abs(),a=Rs(i.as("s")),n=Rs(i.as("m")),o=Rs(i.as("h")),r=Rs(i.as("d")),l=Rs(i.as("M")),c=Rs(i.as("y")),u=a<=Us.ss&&["s",a]||a<Us.s&&["ss",a]||n<=1&&["m"]||n<Us.m&&["mm",n]||o<=1&&["h"]||o<Us.h&&["hh",o]||r<=1&&["d"]||r<Us.d&&["dd",r]||l<=1&&["M"]||l<Us.M&&["MM",l]||c<=1&&["y"]||["yy",c];return u[2]=e,u[3]=+t>0,u[4]=s,Hs.apply(null,u)}(this,!t,e);return t&&(s=e.pastFuture(+this,s)),e.postformat(s)},qs.toISOString=Fs,qs.toString=Fs,qs.toJSON=Fs,qs.locale=Be,qs.localeData=Ze,qs.toIsoString=S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Fs),qs.lang=Qe,F("X",0,0,"unix"),F("x",0,0,"valueOf"),ct("x",at),ct("X",/[+-]?\d+(\.\d{1,3})?/),mt("X",(function(t,e,s){s._d=new Date(1e3*parseFloat(t,10))})),mt("x",(function(t,e,s){s._d=new Date(w(t))})),i.version="2.24.0",e=xe,i.fn=cs,i.min=function(){var t=[].slice.call(arguments,0);return Pe("isBefore",t)},i.max=function(){var t=[].slice.call(arguments,0);return Pe("isAfter",t)},i.now=function(){return Date.now?Date.now():+new Date},i.utc=_,i.unix=function(t){return xe(1e3*t)},i.months=function(t,e){return ms(t,e,"months")},i.isDate=l,i.locale=ae,i.invalid=p,i.duration=He,i.isMoment=y,i.weekdays=function(t,e,s){return hs(t,e,s,"weekdays")},i.parseZone=function(){return xe.apply(null,arguments).parseZone()},i.localeData=oe,i.isDuration=Oe,i.monthsShort=function(t,e){return ms(t,e,"monthsShort")},i.weekdaysMin=function(t,e,s){return hs(t,e,s,"weekdaysMin")},i.defineLocale=ne,i.updateLocale=function(t,e){if(null!=e){var s,i,a=Kt;null!=(i=ie(t))&&(a=i._config),e=O(a,e),(s=new j(e)).parentLocale=te[t],te[t]=s,ae(t)}else null!=te[t]&&(null!=te[t].parentLocale?te[t]=te[t].parentLocale:null!=te[t]&&delete te[t]);return te[t]},i.locales=function(){return D(te)},i.weekdaysShort=function(t,e,s){return hs(t,e,s,"weekdaysShort")},i.normalizeUnits=L,i.relativeTimeRounding=function(t){return void 0===t?Rs:"function"==typeof t&&(Rs=t,!0)},i.relativeTimeThreshold=function(t,e){return void 0!==Us[t]&&(void 0===e?Us[t]:(Us[t]=e,"s"===t&&(Us.ss=e-1),!0))},i.calendarFormat=function(t,e){var s=t.diff(e,"days",!0);return s<-6?"sameElse":s<-1?"lastWeek":s<0?"lastDay":s<1?"sameDay":s<2?"nextDay":s<7?"nextWeek":"sameElse"},i.prototype=cs,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},i}()}).call(this,s("./node_modules/webpack/buildin/module.js")(t))},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js":function(t,e,s){"use strict";function i(t,e,s,i,a,n,o,r){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=s,c._compiled=!0),i&&(c.functional=!0),n&&(c._scopeId="data-v-"+n),o?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},c._ssrRegister=l):a&&(l=r?function(){a.call(this,this.$root.$options.shadowRoot)}:a),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}s.d(e,"a",(function(){return i}))},"./node_modules/webpack/buildin/global.js":function(t,e){var s;s=function(){return this}();try{s=s||new Function("return this")()}catch(t){"object"==typeof window&&(s=window)}t.exports=s},"./node_modules/webpack/buildin/module.js":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"./node_modules/xss/lib/default.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,a=s("./node_modules/cssfilter/lib/index.js").getDefaultWhiteList,n=s("./node_modules/xss/lib/util.js");function o(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var r=new i;function l(t){return t.replace(c,"<").replace(u,">")}var c=/</g,u=/>/g,d=/"/g,_=/"/g,m=/&#([a-zA-Z0-9]*);?/gim,h=/:?/gim,p=/&newline;?/gim,f=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,v=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,g=/u\s*r\s*l\s*\(.*/gi;function b(t){return t.replace(d,""")}function y(t){return t.replace(_,'"')}function k(t){return t.replace(m,(function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))}))}function w(t){return t.replace(h,":").replace(p," ")}function C(t){for(var e="",s=0,i=t.length;s<i;s++)e+=t.charCodeAt(s)<32?" ":t.charAt(s);return n.trim(e)}function x(t){return t=C(t=w(t=k(t=y(t))))}function S(t){return t=l(t=b(t))}var D=/<!--[\s\S]*?-->/g;e.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},e.getDefaultWhiteList=o,e.onTag=function(t,e,s){},e.onIgnoreTag=function(t,e,s){},e.onTagAttr=function(t,e,s){},e.onIgnoreTagAttr=function(t,e,s){},e.safeAttrValue=function(t,e,s,i){if(s=x(s),"href"===e||"src"===e){if("#"===(s=n.trim(s)))return"#";if("http://"!==s.substr(0,7)&&"https://"!==s.substr(0,8)&&"mailto:"!==s.substr(0,7)&&"tel:"!==s.substr(0,4)&&"#"!==s[0]&&"/"!==s[0])return""}else if("background"===e){if(f.lastIndex=0,f.test(s))return""}else if("style"===e){if(v.lastIndex=0,v.test(s))return"";if(g.lastIndex=0,g.test(s)&&(f.lastIndex=0,f.test(s)))return"";!1!==i&&(s=(i=i||r).process(s))}return s=S(s)},e.escapeHtml=l,e.escapeQuote=b,e.unescapeQuote=y,e.escapeHtmlEntities=k,e.escapeDangerHtml5Entities=w,e.clearNonPrintableCharacter=C,e.friendlyAttrValue=x,e.escapeAttrValue=S,e.onIgnoreTagStripAll=function(){return""},e.StripTagBody=function(t,e){"function"!=typeof e&&(e=function(){});var s=!Array.isArray(t),i=[],a=!1;return{onIgnoreTag:function(o,r,l){if(function(e){return!!s||-1!==n.indexOf(t,e)}(o)){if(l.isClosing){var c="[/removed]",u=l.position+c.length;return i.push([!1!==a?a:l.position,u]),a=!1,c}return a||(a=l.position),"[removed]"}return e(o,r,l)},remove:function(t){var e="",s=0;return n.forEach(i,(function(i){e+=t.slice(s,i[0]),s=i[1]})),e+=t.slice(s)}}},e.stripCommentTag=function(t){return t.replace(D,"")},e.stripBlankChar=function(t){var e=t.split("");return(e=e.filter((function(t){var e=t.charCodeAt(0);return 127!==e&&(!(e<=31)||(10===e||13===e))}))).join("")},e.cssFilter=r,e.getDefaultCSSWhiteList=a},"./node_modules/xss/lib/index.js":function(t,e,s){var i=s("./node_modules/xss/lib/default.js"),a=s("./node_modules/xss/lib/parser.js"),n=s("./node_modules/xss/lib/xss.js");function o(t,e){return new n(e).process(t)}for(var r in(e=t.exports=o).filterXSS=o,e.FilterXSS=n,i)e[r]=i[r];for(var r in a)e[r]=a[r];"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},"./node_modules/xss/lib/parser.js":function(t,e,s){var i=s("./node_modules/xss/lib/util.js");function a(t){var e=i.spaceIndex(t);if(-1===e)var s=t.slice(1,-1);else s=t.slice(1,e+1);return"/"===(s=i.trim(s).toLowerCase()).slice(0,1)&&(s=s.slice(1)),"/"===s.slice(-1)&&(s=s.slice(0,-1)),s}function n(t){return"</"===t.slice(0,2)}var o=/[^a-zA-Z0-9_:\.\-]/gim;function r(t,e){for(;e<t.length;e++){var s=t[e];if(" "!==s)return"="===s?e:-1}}function l(t,e){for(;e>0;e--){var s=t[e];if(" "!==s)return"="===s?e:-1}}function c(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}e.parseTag=function(t,e,s){var i="",o=0,r=!1,l=!1,c=0,u=t.length,d="",_="";for(c=0;c<u;c++){var m=t.charAt(c);if(!1===r){if("<"===m){r=c;continue}}else if(!1===l){if("<"===m){i+=s(t.slice(o,c)),r=c,o=c;continue}if(">"===m){i+=s(t.slice(o,r)),d=a(_=t.slice(r,c+1)),i+=e(r,i.length,d,_,n(_)),o=c+1,r=!1;continue}if(('"'===m||"'"===m)&&"="===t.charAt(c-1)){l=m;continue}}else if(m===l){l=!1;continue}}return o<t.length&&(i+=s(t.substr(o))),i},e.parseAttr=function(t,e){var s=0,a=[],n=!1,u=t.length;function d(t,s){if(!((t=(t=i.trim(t)).replace(o,"").toLowerCase()).length<1)){var n=e(t,s||"");n&&a.push(n)}}for(var _=0;_<u;_++){var m,h=t.charAt(_);if(!1!==n||"="!==h)if(!1===n||_!==s||'"'!==h&&"'"!==h||"="!==t.charAt(_-1))if(/\s|\n|\t/.test(h)){if(t=t.replace(/\s|\n|\t/g," "),!1===n){if(-1===(m=r(t,_))){d(i.trim(t.slice(s,_))),n=!1,s=_+1;continue}_=m-1;continue}if(-1===(m=l(t,_-1))){d(n,c(i.trim(t.slice(s,_)))),n=!1,s=_+1;continue}}else;else{if(-1===(m=t.indexOf(h,_+1)))break;d(n,i.trim(t.slice(s+1,m))),n=!1,s=(_=m)+1}else n=t.slice(s,_),s=_+1}return s<t.length&&(!1===n?d(t.slice(s)):d(n,c(i.trim(t.slice(s))))),i.trim(a.join(" "))}},"./node_modules/xss/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,a;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,a=t.length;i<a;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(t){var e=/\s|\n|\t/.exec(t);return e?e.index:-1}}},"./node_modules/xss/lib/xss.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,a=s("./node_modules/xss/lib/default.js"),n=s("./node_modules/xss/lib/parser.js"),o=n.parseTag,r=n.parseAttr,l=s("./node_modules/xss/lib/util.js");function c(t){return null==t}function u(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=a.onIgnoreTagStripAll),t.whiteList=t.whiteList||a.whiteList,t.onTag=t.onTag||a.onTag,t.onTagAttr=t.onTagAttr||a.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||a.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||a.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||a.safeAttrValue,t.escapeHtml=t.escapeHtml||a.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new i(t.css))}u.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onTag,n=e.onIgnoreTag,u=e.onTagAttr,d=e.onIgnoreTagAttr,_=e.safeAttrValue,m=e.escapeHtml,h=this.cssFilter;e.stripBlankChar&&(t=a.stripBlankChar(t)),e.allowCommentTag||(t=a.stripCommentTag(t));var p=!1;if(e.stripIgnoreTagBody){p=a.StripTagBody(e.stripIgnoreTagBody,n);n=p.onIgnoreTag}var f=o(t,(function(t,e,a,o,p){var f,v={sourcePosition:t,position:e,isClosing:p,isWhite:s.hasOwnProperty(a)};if(!c(f=i(a,o,v)))return f;if(v.isWhite){if(v.isClosing)return"</"+a+">";var g=function(t){var e=l.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var s="/"===(t=l.trim(t.slice(e+1,-1)))[t.length-1];return s&&(t=l.trim(t.slice(0,-1))),{html:t,closing:s}}(o),b=s[a],y=r(g.html,(function(t,e){var s,i=-1!==l.indexOf(b,t);return c(s=u(a,t,e,i))?i?(e=_(a,t,e,h))?t+'="'+e+'"':t:c(s=d(a,t,e,i))?void 0:s:s}));o="<"+a;return y&&(o+=" "+y),g.closing&&(o+=" /"),o+=">"}return c(f=n(a,o,v))?m(o):f}),m);return p&&(f=p.remove(f)),f},t.exports=u},"./src/component/doc-link.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],name:"doc-link",props:["link"],data:function(){return{whitelabel:defender.whitelabel}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return!1===this.whitelabel.hide_doc_link?e("div",{staticClass:"sui-actions-right"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:this.link,target:"_blank"}},[e("i",{staticClass:"sui-icon-academy"}),this._v(" "+this._s(this.__("View Documentation"))+"\n ")])]):this._e()}),[],!1,null,null,null);e.a=n.exports},"./src/component/footer.vue":function(t,e,s){"use strict";var i={data:function(){return{whitelabel:defender.whitelabel,is_free:defender.is_free}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[!0===t.whitelabel.change_footer?s("div",{staticClass:"sui-footer"},[t._v("\n "+t._s(t.whitelabel.footer_text)+"\n ")]):s("div",{staticClass:"sui-footer"},[t._v("Made with "),s("i",{staticClass:"sui-icon-heart"}),t._v(" by WPMU DEV")]),t._v(" "),!1===t.whitelabel.hide_doc_link?s("div",[t.is_free?s("ul",{staticClass:"sui-footer-nav"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7)]):s("ul",{staticClass:"sui-footer-nav"},[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15)]),t._v(" "),t._m(16)]):t._e()])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://profiles.wordpress.org/wpmudev#content-plugins",target:"_blank"}},[this._v("Free\n Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/features/",target:"_blank"}},[this._v("Membership")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://wordpress.org/support/plugin/plugin-name",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/projects/category/plugins/",target:"_blank"}},[this._v("Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/support/",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/community/",target:"_blank"}},[this._v("Community")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ul",{staticClass:"sui-footer-social"},[s("li",[s("a",{attrs:{href:"https://www.facebook.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-facebook",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Facebook")])])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://twitter.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-twitter",attrs:{"aria-hidden":"true"}})]),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Twitter")])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://www.instagram.com/wpmu_dev/",target:"_blank"}},[s("i",{staticClass:"sui-icon-instagram",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Instagram")])])])])}],!1,null,null,null);e.a=n.exports},"./src/component/overlay.vue":function(t,e,s){"use strict";var i={name:"overlay"},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement;this._self._c;return this._m(0)}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"wd-overlay"},[e("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null);e.a=n.exports},"./src/component/pagination.vue":function(t,e,s){"use strict";var i={props:{value:{type:Number},pageCount:{type:Number,required:!0},forcePage:{type:Number},clickHandler:{type:Function,default:function(){}},pageRange:{type:Number,default:3},marginPages:{type:Number,default:1},prevText:{type:String,default:"Prev"},nextText:{type:String,default:"Next"},breakViewText:{type:String,default:"…"},containerClass:{type:String},pageClass:{type:String},pageLinkClass:{type:String},prevClass:{type:String},prevLinkClass:{type:String},nextClass:{type:String},nextLinkClass:{type:String},breakViewClass:{type:String},breakViewLinkClass:{type:String},activeClass:{type:String,default:"active"},disabledClass:{type:String,default:"disabled"},noLiSurround:{type:Boolean,default:!1},firstLastButton:{type:Boolean,default:!1},firstButtonText:{type:String,default:"First"},lastButtonText:{type:String,default:"Last"},hidePrevNext:{type:Boolean,default:!1}},beforeUpdate:function(){void 0!==this.forcePage&&this.forcePage!==this.selected&&(this.selected=this.forcePage)},computed:{selected:{get:function(){return this.value||this.innerValue},set:function(t){this.innerValue=t}},pages:function(){var t=this,e={};if(this.pageCount<=this.pageRange)for(var s=0;s<this.pageCount;s++){var i={index:s,content:s+1,selected:s===this.selected-1};e[s]=i}else{for(var a=Math.floor(this.pageRange/2),n=function(s){var i={index:s,content:s+1,selected:s===t.selected-1};e[s]=i},o=function(t){e[t]={disabled:!0,breakView:!0}},r=0;r<this.marginPages;r++)n(r);var l=0;this.selected-a>0&&(l=this.selected-1-a);var c=l+this.pageRange-1;c>=this.pageCount&&(l=(c=this.pageCount-1)-this.pageRange+1);for(var u=l;u<=c&&u<=this.pageCount-1;u++)n(u);l>this.marginPages&&o(l-1),c+1<this.pageCount-this.marginPages&&o(c+1);for(var d=this.pageCount-1;d>=this.pageCount-this.marginPages;d--)n(d)}return e}},data:function(){return{innerValue:1}},methods:{handlePageSelected:function(t){this.selected!==t&&(this.innerValue=t,this.$emit("input",t),this.clickHandler(t))},prevPage:function(){this.selected<=1||this.handlePageSelected(this.selected-1)},nextPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.selected+1)},firstPageSelected:function(){return 1===this.selected},lastPageSelected:function(){return this.selected===this.pageCount||0===this.pageCount},selectFirstPage:function(){this.selected<=1||this.handlePageSelected(1)},selectLastPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.pageCount)}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.noLiSurround?s("div",{class:t.containerClass},[t.firstLastButton?s("a",{class:[t.pageLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){return t.selectFirstPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectFirstPage()}}}):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():s("a",{class:[t.prevLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){return t.prevPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.prevPage()}}}),t._v(" "),t._l(t.pages,(function(e){return[e.breakView?s("a",{class:[t.pageLinkClass,t.breakViewLinkClass,e.disabled?t.disabledClass:""],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?s("a",{class:[t.pageLinkClass,e.selected?t.activeClass:"",t.disabledClass],attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):s("a",{class:[t.pageLinkClass,e.selected?t.activeClass:""],attrs:{tabindex:"0"},on:{click:function(s){return t.handlePageSelected(e.index+1)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.handlePageSelected(e.index+1)}}},[t._v(t._s(e.content))])]})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():s("a",{class:[t.nextLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){return t.nextPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.nextPage()}}}),t._v(" "),t.firstLastButton?s("a",{class:[t.pageLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){return t.selectLastPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectLastPage()}}}):t._e()],2):s("ul",{class:t.containerClass},[t.firstLastButton?s("li",{class:[t.pageClass,t.firstPageSelected()?t.disabledClass:""]},[s("a",{class:t.pageLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){return t.selectFirstPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectFirstPage()}}})]):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():s("li",{class:[t.prevClass,t.firstPageSelected()?t.disabledClass:""]},[s("a",{class:t.prevLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){return t.prevPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.prevPage()}}})]),t._v(" "),t._l(t.pages,(function(e){return s("li",{class:[t.pageClass,e.selected?t.activeClass:"",e.disabled?t.disabledClass:"",e.breakView?t.breakViewClass:""]},[e.breakView?s("a",{class:[t.pageLinkClass,t.breakViewLinkClass],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?s("a",{class:t.pageLinkClass,attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):s("a",{class:t.pageLinkClass,attrs:{disabled:e.selected,tabindex:"0"},on:{click:function(s){return t.handlePageSelected(e.index+1)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.handlePageSelected(e.index+1)}}},[t._v(t._s(e.content))])])})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():s("li",{class:[t.nextClass,t.lastPageSelected()?t.disabledClass:""]},[s("a",{class:t.nextLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){return t.nextPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.nextPage()}}})]),t._v(" "),t.firstLastButton?s("li",{class:[t.pageClass,t.lastPageSelected()?t.disabledClass:""]},[s("a",{class:t.pageLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){return t.selectLastPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectLastPage()}}})]):t._e()],2)}),[],!1,null,null,null);e.a=n.exports},"./src/component/recipients.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],props:["recipients","id"],data:function(){return{first_name:"",email:"",observers:[],can_add:!1,saving_warning:!1,validate:{email:""}}},created:function(){this.observers=this.recipients},watch:{email:function(){if(this.validateEmail(this.email)){var t=!0,e=this;this.observers.forEach((function(s,i){if(s.email===e.email)return t=!1,void(e.validate.email=e.__("This email address is already in use"))})),this.can_add=t,!0===t&&(this.validate.email="")}else this.can_add=!1,this.validate.email=this.__("Invalid email address")},observers:function(){0===this.observers.length?this.saving_warning=!0:this.saving_warning=!1,void 0!==this.event&&this.$emit("update:recipients",this.observers)}},methods:{addRecipient:function(){this.observers.push({first_name:this.first_name,email:this.email}),jQuery.each(SUI.dialogs,(function(t,e){e.hide()})),this.first_name="",this.email=""},removeRecipient:function(t){this.observers.splice(t,1)},validateEmail:function(t){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(String(t).toLowerCase())}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("div",{directives:[{name:"show",rawName:"v-show",value:t.saving_warning,expression:"saving_warning"}],staticClass:"sui-notice sui-notice-warning"},[s("p",[t._v("\n\t\t\t"+t._s(t.__("You've removed all recipients. If you save without a recipient, we'll automatically turn of reports"))+"\n\t\t")])]),t._v(" "),s("div",{staticClass:"sui-recipients"},[t._l(t.observers,(function(e,i){return s("div",{staticClass:"sui-recipient"},[s("span",{staticClass:"sui-recipient-name"},[t._v(t._s(e.first_name))]),t._v(" "),s("span",{staticClass:"sui-recipient-email"},[t._v(t._s(e.email))]),t._v(" "),s("button",{staticClass:"sui-button-icon",attrs:{type:"button"},on:{click:function(e){return t.removeRecipient(i)}}},[s("i",{staticClass:"sui-icon-trash",attrs:{"aria-hidden":"true"}})])])})),t._v(" "),s("button",{staticClass:"sui-button sui-button-ghost add-recipient",attrs:{"data-a11y-dialog-show":t.id,type:"button"}},[s("i",{staticClass:"sui-icon-plus",attrs:{"aria-hidden":"true"}}),t._v(" "+t._s(t.__("Add Recipient"))+"\n\t\t")])],2),t._v(" "),s("div",{staticClass:"sui-dialog sui-dialog-sm",attrs:{"aria-hidden":"true",tabindex:"-1",id:t.id}},[s("div",{staticClass:"sui-dialog-overlay"}),t._v(" "),s("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"dialogTitle","aria-describedby":"dialogDescription",role:"dialog"}},[s("div",{staticClass:"sui-box",attrs:{role:"document"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Add Recipient"))+"\n\t\t\t\t\t")]),t._v(" "),t._m(0)]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Add as many recipients as you like, they will receive email reports as per the schedule you set."))+"\n\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("First name")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.first_name,expression:"first_name"}],staticClass:"sui-form-control recipient_name",attrs:{type:"text"},domProps:{value:t.first_name},on:{input:function(e){e.target.composing||(t.first_name=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"sui-form-field",class:{"sui-form-field-error":t.validate.email.length>0}},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Email")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.email,expression:"email"}],staticClass:"sui-form-control recipient_email",attrs:{type:"text"},domProps:{value:t.email},on:{input:function(e){e.target.composing||(t.email=e.target.value)}}}),t._v(" "),s("span",{directives:[{name:"show",rawName:"v-show",value:t.validate.email.length>0,expression:"validate.email.length > 0"}],staticClass:"sui-error-message",domProps:{textContent:t._s(this.validate.email)}})])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("button",{staticClass:"sui-button sui-button-ghost",attrs:{type:"button","data-a11y-dialog-hide":"recipient-dialog"}},[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Cancel"))+"\n\t\t\t\t\t")]),t._v(" "),s("button",{staticClass:"sui-modal-close sui-button recipient_save",attrs:{type:"button",disabled:!1===t.can_add},on:{click:t.addRecipient}},[t._v(t._s(t.__("Add"))+"\n\t\t\t\t\t")])])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-right"},[e("button",{staticClass:"sui-dialog-close",attrs:{type:"button","data-a11y-dialog-hide":"","aria-label":"Close this dialog window"}})])}],!1,null,null,null);e.a=n.exports},"./src/component/submit-button.vue":function(t,e,s){"use strict";var i={name:"submit-button",props:["id","state","text","css-class","type"],computed:{getClass:function(){return"sui-button "+this.cssClass}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("button",{staticClass:"sui-button",class:[t.getClass,{"sui-button-onload":t.state.on_saving}],attrs:{id:t.id,type:t.type,disabled:t.state.on_saving},on:{click:function(e){return t.$emit("click")}}},[s("span",{staticClass:"sui-loading-text"},[t._t("default")],2),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}),[],!1,null,null,null);e.a=n.exports},"./src/component/summary-box.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],props:["css-class"],name:"summary-box",data:function(){return{whitelabel:defender.whitelabel}},computed:{summary_class:function(){return{"sui-unbranded":!0===this.whitelabel.hide_branding&&0===this.whitelabel.hero_image.length,"sui-rebranded":!0===this.whitelabel.hide_branding&&this.whitelabel.hero_image.length>0}},css_class:function(){return this.cssClass},rebrand_img:function(){if(this.whitelabel.hero_image.length>0)return{"background-image":"url('"+this.whitelabel.hero_image+"')"}}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-box sui-summary",class:[this.summary_class,this.css_class],style:this.rebrand_img},[e("div",{staticClass:"sui-summary-image-space",attrs:{"aria-hidden":"true"}}),this._v(" "),this._t("default")],2)}),[],!1,null,null,null);e.a=n.exports},"./src/helper/base_hepler.js":function(t,e,s){"use strict";var i=s("./node_modules/xss/lib/index.js"),a=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var s=[],i=!0,a=!1,n=void 0;try{for(var o,r=t[Symbol.iterator]();!(i=(o=r.next()).done)&&(s.push(o.value),!e||s.length!==e);i=!0);}catch(t){a=!0,n=t}finally{try{!i&&r.return&&r.return()}finally{if(a)throw n}}return s}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},n=wp.i18n,o={whiteList:{a:["href","title","target"],span:["class"],strong:["*"]},safeAttrValue:function(t,e,s,a){return"a"===t&&"href"===e&&"%s"===s?"%s":Object(i.safeAttrValue)(t,e,s,a)}},r=new i.FilterXSS(o),l=[];e.a={methods:{__:function(t){var e=n.__(t,"wpdef");return r.process(e)},xss:function(t){return r.process(t)},vsprintf:function(t){return n.sprintf.apply(null,arguments)},siteUrl:function(t){return void 0!==t?defender.site_url+t:defender.site_url},adminUrl:function(t){return void 0!==t?defender.admin_url+t:defender.admin_url},assetUrl:function(t){return defender.defender_url+t},maybeHighContrast:function(){return{"sui-color-accessible":!0===defender.misc.high_contrast}},maybeHideBranding:function(){return defender.whitelabel.hide_branding},campaign_url:function(t){return"https://premium.wpmudev.org/project/wp-defender/?utm_source=defender&utm_medium=plugin&utm_campaign="+t},httpRequest:function(t,e,s,i,a){var n=this;void 0===a&&(this.state.on_saving=!0);var o=ajaxurl+"?action="+this.endpoints[e]+"&_wpnonce="+this.nonces[e],r=jQuery.ajax({url:o,method:t,data:s,success:function(t){var e=t.data;n.state.on_saving=!1,void 0!==e&&void 0!==e.message&&(t.success?Defender.showNotification("success",e.message):Defender.showNotification("error",e.message)),void 0!==i&&i(t)}});l.push(r)},httpGetRequest:function(t,e,s,i){this.httpRequest("get",t,e,s,i)},httpPostRequest:function(t,e,s,i){this.httpRequest("post",t,e,s,i)},abortAllRequests:function(){for(var t=0;t<l.length;t++)l[t].abort()},getQueryStringParams:function(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((function(t,e){var s=e.split("="),i=a(s,2),n=i[0],o=i[1];return t[n]=o?decodeURIComponent(o.replace(/\+/g," ")):"",t}),{}):{}},rebindSUI:function(){jQuery("select:not([multiple])").each((function(){SUI.suiSelect(this)})),jQuery(".sui-accordion").each((function(){SUI.suiAccordion(this)}));var t=jQuery(".sui-wrap");SUI.dialogs={},jQuery(".sui-dialog").each((function(){SUI.dialogs[this.id]=new A11yDialog(this,t)}))}}}},"./src/ip-lockout.js":function(t,e,s){"use strict";s.r(e);var i=s("vue"),a=s.n(i),n=s("./src/helper/base_hepler.js"),o={mixins:[n.a],name:"ip-lockout",props:["view"],data:function(){return{model:iplockout.model.ip_lockout,summary_data:iplockout.summaryData,state:{on_saving:!1},nonces:iplockout.nonces,endpoints:iplockout.endpoints,misc:iplockout.misc}},methods:{toggle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"login_protection",s=this,i={};i[e]=t,this.httpPostRequest("updateSettings",{data:JSON.stringify(i)},(function(){s.model[e]=t,!0===t&&s.$nextTick((function(){s.rebindSUI()}))}))},updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})}},computed:{notification:function(){return 0===this.summary_data.ip.day?this.__("Login protection is enabled. There are no lockouts logged yet."):this.vsprintf(this.__('There have been %s lockouts in the last 24 hours. <a href="%s"><strong>View log</strong></a>.'),this.summary_data.ip.day,this.adminUrl("admin.php?page=wdf-ip-lockout&view=logs"))},banned_username:function(){return this.vsprintf(this.__("We recommend adding the usernames <strong>admin</strong>, <strong>administrator</strong> and your hostname <strong>%s</strong> as these are common for bots to try logging in with. One username per line"),this.misc.host)},demo_link:function(){return this.vsprintf(this.__('This message will be displayed across your website during the lockout period. See a quick preview <a href="%s">here</a>.'),this.siteUrl("?def-lockout-demo=1&type=demo"))}},mounted:function(){var t=this;jQuery(".jquery-select").change((function(){var e=jQuery(this).val(),s=jQuery(this).attr("name");t.model[s]=e}))}},r=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),l=Object(r.a)(o,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return!1===t.model.login_protection||0===t.model.login_protection?s("div",{staticClass:"sui-box",attrs:{"data-tab":"login_lockout"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Login Protection"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-message"},[t.maybeHideBranding()?t._e():s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/lockout-man.svg")}}),t._v(" "),s("div"
|