WP Clone by WP Academy - Version 2.3.0

Version Description

  • Added support for PHP 8.0
  • Added support for WordPress 5.6
  • Removed outdated banners
  • Fixed deprecated functions
  • Fixed some security issues
Download this release

Release Info

Developer migrate
Plugin Icon 128x128 WP Clone by WP Academy
Version 2.3.0
Comparing to
See all releases

Code changes from version 2.2.10 to 2.3.0

lib/functions.php CHANGED
@@ -40,7 +40,7 @@ function wpa_db_backup_wpdb($destination)
40
  }
41
 
42
  wpa_wpc_log( sprintf( 'number of tables to backup - %d', count( $tables ) ) );
43
-
44
  // Cycle through each provided table
45
  foreach ($tables as $table) {
46
 
@@ -48,13 +48,13 @@ function wpa_db_backup_wpdb($destination)
48
  $result = $wpdb->get_results("SELECT * FROM {$table}", ARRAY_N);
49
  $numberOfItems = count($result);
50
  if ($numberOfItems == 0) {
51
- // Empty table - don't attempt to use $result[0] as it doesn't exist
52
  $numberOfFields = 0;
53
  }
54
  else {
55
  $numberOfFields = count($result[0]);
56
  }
57
-
58
  // Second part of the output � create table
59
  $row2 = $wpdb->get_row("SHOW CREATE TABLE {$table}", ARRAY_N);
60
  $return.= 'DROP TABLE IF EXISTS '.$table.';';
@@ -67,9 +67,9 @@ function wpa_db_backup_wpdb($destination)
67
  $query = "INSERT INTO {$table} VALUES(";
68
 
69
  for ($j = 0; $j < $numberOfFields; $j++) {
70
- // Change to 'isset()' instead of 'empty()' as 'empty()' returns true for the
71
  // string "0" - but we may need to explicitly set value to 0 for fields where this
72
- // is not the default. This makes the output of this method identical to the
73
  // wpa_db_backup_direct() method
74
  $query .= (!isset($row[$j])) ? '"", ' : '"' . esc_sql($row[$j]) . '", ';
75
  }
@@ -147,7 +147,7 @@ function wpa_db_backup_direct($destination)
147
  $return.= 'INSERT INTO '.$table.' VALUES(';
148
  for($j=0; $j<$num_fields; $j++)
149
  {
150
- $row[$j] = $wpdb->escape( $row[$j] );
151
  if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
152
  if ($j<($num_fields-1)) { $return.= ', '; } // Add extra space to match wpdb backup method
153
  }
@@ -213,14 +213,14 @@ function CreateWPFullBackupZip($backupName, $zipmode, $use_wpdb = false )
213
  if( false === mkdir( $folderToBeZipped ) ) {
214
  wpa_backup_error ( 'file', sprintf( __( 'Unable to create the temporary backup directory,please make sure that PHP has permission to write into the <code>%s</code> directory.' ), WPCLONE_DIR_BACKUP ) );
215
  }
216
-
217
  file_put_contents( $folderToBeZipped . '/.htaccess', $htaccess );
218
 
219
  if( $dbonly ) {
220
  wpa_wpc_log ( 'database only backup, no files will be copied' );
221
  }
222
 
223
- if( false === $dbonly ) {
224
  if( $skip ) {
225
  wpa_wpc_log( sprintf( 'files larger than %s will be excluded from the backup', bytesToSize( $skip ) ) );
226
  }
@@ -243,9 +243,9 @@ function CreateWPFullBackupZip($backupName, $zipmode, $use_wpdb = false )
243
  /* error handler is called from within the wpa_zip function */
244
 
245
  wpa_zip($zipFileName, $folderToBeZipped, $zipmode);
246
-
247
  wpa_delete_dir( $folderToBeZipped );
248
-
249
  if( ! file_exists( $zipFileName ) ) {
250
  wpa_backup_error( 'backup', 'possibly out of free disk space' );
251
  }
@@ -344,7 +344,7 @@ function wpa_safe_replace_wrapper ( $search, $replace, $prefix ) {
344
  wpa_wpc_log( 'search and replace started' );
345
 
346
  $wpcdb = wpa_wpc_mysql_connect();
347
-
348
  if ( false === $wpcdb->get_dbh() ) {
349
 
350
  wpa_wpc_log( 'mysql connection failure @ safe replace wrapper - error : "' . $wpdbc->error() . '" retrying..' );
@@ -398,7 +398,7 @@ function wpa_wpc_temp_dir() {
398
  function processRestoringBackup($url, $zipmode) {
399
  if( true === is_multisite() )
400
  die( 'wpclone does not work on multisite installs.' );
401
-
402
  wpa_cleanup( true );
403
  if (!is_string($url) || '' == $url) {
404
  wpa_backup_error( 'restore', sprintf( __( 'The provided URL "<code>%s</code>" is either not valid or empty' ), $url ), true );
@@ -411,14 +411,14 @@ function processRestoringBackup($url, $zipmode) {
411
 
412
  if( $zipmode ) {
413
  define( 'PCLZIP_TEMPORARY_DIR', WPCLONE_DIR_BACKUP );
414
-
415
  }
416
-
417
  $temp_dir = wpa_wpc_temp_dir();
418
  $site_url = site_url();
419
  $permalink_url = admin_url( 'options-permalink.php' );
420
  $zipfile = wpa_fetch_file($url);
421
- $report = wpa_wpc_process_db( $zipfile, $zipmode );
422
  $unzipped_folder = wpCloneSafePathMode( trailingslashit( $temp_dir ) . 'wpclone_backup' );
423
 
424
 
@@ -446,54 +446,10 @@ function processRestoringBackup($url, $zipmode) {
446
  unset( $GLOBALS['wpclone'] );
447
  echo wpa_wpc_search_n_replace_report( $report );
448
 
449
- ?>
450
-
451
- <style rel="stylesheet">
452
- .banner-2-after-restore {
453
- min-height: 280px;
454
- width: auto;
455
- background-size: cover;
456
- padding-top: 24px;
457
- padding-left: 25px;
458
- padding-right: 25px;
459
- font-family: 'Montserrat', sans-serif;
460
- margin-right: 30px;
461
- margin-top: 20px;
462
- padding-bottom: 20px;
463
- }
464
- .banner-2-after-restore p{
465
- font-size: 18px;
466
- }
467
-
468
- .banner-2-after-restore p a{
469
- color: #3eb9b4;
470
- text-decoration: none;
471
- }
472
- </style>
473
- <div class="plugin-large-notice-restore-success">
474
- <div class="banner-2-after-restore" style="background-image: url('<?php echo plugins_url( 'lib/img/banner_success_rating_bg.jpg', WPCLONE_ROOT_FILE_PATH )?>')">
475
- <div style="float: right;" id="banner-2-restore-close-icon"><img src='<?php echo plugins_url( 'lib/img/banner_close_icon.png', WPCLONE_ROOT_FILE_PATH )?>'> </div>
476
- <p>
477
- Could you please do us a <strong>BIG favor</strong> and consider contributing to our crowdfunding effort <a target="_blank" href="https://sellcodes.com/q1OGuSox">here</a>? <br> <br>
478
-
479
- <span style="text-decoration: underline">Background:</span> This is a great plugin, but it has been neglected for a long time, <br>
480
- and we would like to change that, i.e. completely re-work the entire plugin, <br> make it 100% bug-free, and
481
- add many more features (while still keeping it super-simple to use!) <br>. We're short on cash,
482
- and need your help for that. Thank you!
483
- <br><br>
484
-
485
- <a href="https://sellcodes.com/q1OGuSox" target="_blank">=&gt; Visit the crowdfunding page</a>
486
- <br><br>
487
- If something doesn’t work as it should, please <a href="https://wordpress.org/support/plugin/wp-clone-by-wp-academy/" target="_blank">ask us in the forum</a> . We’ll try to respond quickly!
488
- </p>
489
- </div>
490
- </div>
491
-
492
- <?php
493
  }
494
 
495
  function wpa_wpc_search_n_replace_report( $report ) {
496
-
497
  if( is_string( $report ) ) {
498
  return sprintf( '<div class="info"><p>%s</p></div>', $report );
499
  }
@@ -517,12 +473,13 @@ function wpa_wpc_search_n_replace_report( $report ) {
517
 
518
  function wpa_save_prefix($path) {
519
  global $wpdb;
520
- $prefix = $wpdb->prefix;
521
  $file = $path . '/prefix.txt';
522
  if ( is_dir($path) && is_writable($path) ) {
523
  file_put_contents($file, $prefix);
524
  }
525
  }
 
526
  /**
527
  * Checks to see whether the destination site's table prefix matches that of the origin site.old prefix is returned in case of a mismatch.
528
  *
@@ -564,12 +521,12 @@ function wpa_unzip($zipfile, $path, $zipmode = false){
564
 
565
  require_once ( ABSPATH . 'wp-admin/includes/class-pclzip.php' );
566
  $z = new PclZip($zipfile);
567
-
568
  $files = $z->extract( PCLZIP_OPT_PATH, $path );
569
 
570
  if ( isset( $previous_encoding ) ) {
571
  mb_internal_encoding( $previous_encoding );
572
-
573
  }
574
 
575
  if ( $files === 0 ) {
@@ -1000,7 +957,7 @@ function wpa_backup_error($error, $data, $restore = false) {
1000
  if( !file_exists( $temp_dir ) ) {
1001
  unset($temp_dir);
1002
  }
1003
-
1004
  switch ( $error ) :
1005
  /* during backup */
1006
  case 'file' :
@@ -1304,9 +1261,9 @@ function wpa_wpc_get_filelist( $path, $exclude, $skip = false ) {
1304
  wpa_wpc_log( sprintf( 'file skipped, file is not readable - "%s"',
1305
  str_replace( WPCLONE_ROOT, '**SITE-ROOT**/', $file ) ) );
1306
  continue;
1307
-
1308
  }
1309
-
1310
  if( ! empty( $exclude ) && wpa_wpc_strpos_array( $exclude, $file ) ) {
1311
  $skipped++;
1312
  wpa_wpc_log( sprintf( 'file is inside an excluded directory, and it will not be included in the backup - "%s"',
@@ -1453,16 +1410,16 @@ function wpa_wpc_process_db( $zipfile, $zipmode = false ) {
1453
  $found = false;
1454
  $db = explode( ";\n", $files['database'] );
1455
  $wpcdb = wpa_wpc_mysql_connect();
1456
-
1457
  wpa_wpc_log( 'database import started' );
1458
  foreach( $db as $query ) {
1459
 
1460
- if( ! $found && false !== strpos( $query, '"siteurl",' ) ) {
1461
  $query = str_replace( $old_url, $cur_url, $query, $count );
1462
  wpa_wpc_log( sprintf( 'updating mysql query with current site\'s url - new query : "%s"', ltrim( $query ) ) );
1463
  if( $count > 0 ) {
1464
  $found = true;
1465
-
1466
  }
1467
 
1468
  }
@@ -1475,7 +1432,7 @@ function wpa_wpc_process_db( $zipfile, $zipmode = false ) {
1475
  }
1476
 
1477
  $status = $wpcdb->query( $query );
1478
-
1479
  if( false === $status ) {
1480
  wpa_wpc_log( sprintf( 'mysql query failed. error : %d %s - query : "%s"', $wpcdb->errno(), $wpcdb->error(), ltrim( $query ) ) );
1481
  }
@@ -1486,12 +1443,12 @@ function wpa_wpc_process_db( $zipfile, $zipmode = false ) {
1486
  if( $cur_url === $old_url ) {
1487
  wpa_wpc_log( 'URLs are similar, skipping search and replace' );
1488
  $report = 'Search and replace did not run because the URLs are similar';
1489
-
1490
  } else {
1491
  $report = wpa_safe_replace_wrapper( $old_url, $cur_url, $prefix );
1492
-
1493
  }
1494
-
1495
  return $report;
1496
 
1497
 
@@ -1514,4 +1471,4 @@ function wpa_wpc_get_prefix( $prev_prefix ) {
1514
  }
1515
 
1516
 
1517
- /* end of file */
40
  }
41
 
42
  wpa_wpc_log( sprintf( 'number of tables to backup - %d', count( $tables ) ) );
43
+
44
  // Cycle through each provided table
45
  foreach ($tables as $table) {
46
 
48
  $result = $wpdb->get_results("SELECT * FROM {$table}", ARRAY_N);
49
  $numberOfItems = count($result);
50
  if ($numberOfItems == 0) {
51
+ // Empty table - don't attempt to use $result[0] as it doesn't exist
52
  $numberOfFields = 0;
53
  }
54
  else {
55
  $numberOfFields = count($result[0]);
56
  }
57
+
58
  // Second part of the output � create table
59
  $row2 = $wpdb->get_row("SHOW CREATE TABLE {$table}", ARRAY_N);
60
  $return.= 'DROP TABLE IF EXISTS '.$table.';';
67
  $query = "INSERT INTO {$table} VALUES(";
68
 
69
  for ($j = 0; $j < $numberOfFields; $j++) {
70
+ // Change to 'isset()' instead of 'empty()' as 'empty()' returns true for the
71
  // string "0" - but we may need to explicitly set value to 0 for fields where this
72
+ // is not the default. This makes the output of this method identical to the
73
  // wpa_db_backup_direct() method
74
  $query .= (!isset($row[$j])) ? '"", ' : '"' . esc_sql($row[$j]) . '", ';
75
  }
147
  $return.= 'INSERT INTO '.$table.' VALUES(';
148
  for($j=0; $j<$num_fields; $j++)
149
  {
150
+ $row[$j] = esc_sql($row[$j]);
151
  if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
152
  if ($j<($num_fields-1)) { $return.= ', '; } // Add extra space to match wpdb backup method
153
  }
213
  if( false === mkdir( $folderToBeZipped ) ) {
214
  wpa_backup_error ( 'file', sprintf( __( 'Unable to create the temporary backup directory,please make sure that PHP has permission to write into the <code>%s</code> directory.' ), WPCLONE_DIR_BACKUP ) );
215
  }
216
+
217
  file_put_contents( $folderToBeZipped . '/.htaccess', $htaccess );
218
 
219
  if( $dbonly ) {
220
  wpa_wpc_log ( 'database only backup, no files will be copied' );
221
  }
222
 
223
+ if( false === $dbonly ) {
224
  if( $skip ) {
225
  wpa_wpc_log( sprintf( 'files larger than %s will be excluded from the backup', bytesToSize( $skip ) ) );
226
  }
243
  /* error handler is called from within the wpa_zip function */
244
 
245
  wpa_zip($zipFileName, $folderToBeZipped, $zipmode);
246
+
247
  wpa_delete_dir( $folderToBeZipped );
248
+
249
  if( ! file_exists( $zipFileName ) ) {
250
  wpa_backup_error( 'backup', 'possibly out of free disk space' );
251
  }
344
  wpa_wpc_log( 'search and replace started' );
345
 
346
  $wpcdb = wpa_wpc_mysql_connect();
347
+
348
  if ( false === $wpcdb->get_dbh() ) {
349
 
350
  wpa_wpc_log( 'mysql connection failure @ safe replace wrapper - error : "' . $wpdbc->error() . '" retrying..' );
398
  function processRestoringBackup($url, $zipmode) {
399
  if( true === is_multisite() )
400
  die( 'wpclone does not work on multisite installs.' );
401
+
402
  wpa_cleanup( true );
403
  if (!is_string($url) || '' == $url) {
404
  wpa_backup_error( 'restore', sprintf( __( 'The provided URL "<code>%s</code>" is either not valid or empty' ), $url ), true );
411
 
412
  if( $zipmode ) {
413
  define( 'PCLZIP_TEMPORARY_DIR', WPCLONE_DIR_BACKUP );
414
+
415
  }
416
+
417
  $temp_dir = wpa_wpc_temp_dir();
418
  $site_url = site_url();
419
  $permalink_url = admin_url( 'options-permalink.php' );
420
  $zipfile = wpa_fetch_file($url);
421
+ $report = wpa_wpc_process_db( $zipfile, $zipmode );
422
  $unzipped_folder = wpCloneSafePathMode( trailingslashit( $temp_dir ) . 'wpclone_backup' );
423
 
424
 
446
  unset( $GLOBALS['wpclone'] );
447
  echo wpa_wpc_search_n_replace_report( $report );
448
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
449
  }
450
 
451
  function wpa_wpc_search_n_replace_report( $report ) {
452
+
453
  if( is_string( $report ) ) {
454
  return sprintf( '<div class="info"><p>%s</p></div>', $report );
455
  }
473
 
474
  function wpa_save_prefix($path) {
475
  global $wpdb;
476
+ $prefix = $wpdb->prefix;
477
  $file = $path . '/prefix.txt';
478
  if ( is_dir($path) && is_writable($path) ) {
479
  file_put_contents($file, $prefix);
480
  }
481
  }
482
+
483
  /**
484
  * Checks to see whether the destination site's table prefix matches that of the origin site.old prefix is returned in case of a mismatch.
485
  *
521
 
522
  require_once ( ABSPATH . 'wp-admin/includes/class-pclzip.php' );
523
  $z = new PclZip($zipfile);
524
+
525
  $files = $z->extract( PCLZIP_OPT_PATH, $path );
526
 
527
  if ( isset( $previous_encoding ) ) {
528
  mb_internal_encoding( $previous_encoding );
529
+
530
  }
531
 
532
  if ( $files === 0 ) {
957
  if( !file_exists( $temp_dir ) ) {
958
  unset($temp_dir);
959
  }
960
+
961
  switch ( $error ) :
962
  /* during backup */
963
  case 'file' :
1261
  wpa_wpc_log( sprintf( 'file skipped, file is not readable - "%s"',
1262
  str_replace( WPCLONE_ROOT, '**SITE-ROOT**/', $file ) ) );
1263
  continue;
1264
+
1265
  }
1266
+
1267
  if( ! empty( $exclude ) && wpa_wpc_strpos_array( $exclude, $file ) ) {
1268
  $skipped++;
1269
  wpa_wpc_log( sprintf( 'file is inside an excluded directory, and it will not be included in the backup - "%s"',
1410
  $found = false;
1411
  $db = explode( ";\n", $files['database'] );
1412
  $wpcdb = wpa_wpc_mysql_connect();
1413
+
1414
  wpa_wpc_log( 'database import started' );
1415
  foreach( $db as $query ) {
1416
 
1417
+ if( ! $found && false !== strpos( $query, '"siteurl",' ) ) {
1418
  $query = str_replace( $old_url, $cur_url, $query, $count );
1419
  wpa_wpc_log( sprintf( 'updating mysql query with current site\'s url - new query : "%s"', ltrim( $query ) ) );
1420
  if( $count > 0 ) {
1421
  $found = true;
1422
+
1423
  }
1424
 
1425
  }
1432
  }
1433
 
1434
  $status = $wpcdb->query( $query );
1435
+
1436
  if( false === $status ) {
1437
  wpa_wpc_log( sprintf( 'mysql query failed. error : %d %s - query : "%s"', $wpcdb->errno(), $wpcdb->error(), ltrim( $query ) ) );
1438
  }
1443
  if( $cur_url === $old_url ) {
1444
  wpa_wpc_log( 'URLs are similar, skipping search and replace' );
1445
  $report = 'Search and replace did not run because the URLs are similar';
1446
+
1447
  } else {
1448
  $report = wpa_safe_replace_wrapper( $old_url, $cur_url, $prefix );
1449
+
1450
  }
1451
+
1452
  return $report;
1453
 
1454
 
1471
  }
1472
 
1473
 
1474
+ /* end of file */
lib/view.php CHANGED
@@ -92,7 +92,7 @@ $backups = get_option( 'wpclone_backups' );
92
  into the "Restore" dialog of a new WordPress site, which will clone the original site to the new site. You must
93
  install the plugin on the new site and then run the WP Clone > Restore function.</p>
94
  <p><b>Attention:</b> The restore process will fail on approximately 10% of installations. PLEASE read the <a href="https://wordpress.org/plugins/wp-clone-by-wp-academy/" target="_blank">plugin page</a> for more information. Only restore on a clean slate site.</p>
95
-
96
  <p><strong>Choose your selection below:</strong> either create a backup of this site, or choose which backup you
97
  would like to restore.</p>
98
 
@@ -123,7 +123,7 @@ $backups = get_option( 'wpclone_backups' );
123
  <tr><td colspan="4"><p>You can use these two fields to override the maximum memory and execution time on most hosts.</br>
124
  For example, if you want to increase the RAM to 2GB, enter <code>2048</code> into the Maximum memory limit field.</br>
125
  And if you want to increase the execution time to 15 minutes, enter <code>900</code> into the Script execution time field.</br>
126
- Default values will be used if you leave them blank. The default value for RAM is 1024MB and the default value for execution time is 600 seconds (ten minutes).</p></td></tr>
127
  <tr align="left"><th><label for="maxmem">Maximum memory limit</label></th><td colspan="2"><input type="text" name="maxmem" /></td></tr>
128
  <tr align="left"><th><label for="maxexec">Script execution time</label></th><td><input type="text" name="maxexec" /></td></tr>
129
  <tr><td colspan="4"><h3>Exclude directories from backup, and backup database only</h3></td></tr>
@@ -137,7 +137,7 @@ $backups = get_option( 'wpclone_backups' );
137
  <tr align="left"><th><label for="exclude">Excluded directories</label></th><td><textarea cols="70" rows="5" name="exclude" ></textarea></td></tr>
138
  <tr><th></th><td colspan="5"><p>Enter one per line, i.e. <code>uploads/backups</code>,use the forward slash <code>/</code> as the directory separator. Directories start at 'wp-content' level.</br>
139
  </br>For example, BackWPup saves its backups into <code>/wp-content/uploads/backwpup-abc123-backups/</code> (the middle part, 'abc123' in this case, is random characters).
140
- If you wanted to exclude that directory, you have to enter <code>uploads/backwpup-abc123-backups</code> into the above field.</p></td></tr>
141
  </table>
142
  </div>
143
  <?php
@@ -169,16 +169,16 @@ $backups = get_option( 'wpclone_backups' );
169
  <a href="<?php echo $filename ?>" class="zclip"> (<?php echo bytesToSize($backup['size']);?>)&nbsp;&nbsp;<?php echo $backup['name'] ?></a>
170
  <input type="hidden" name="backup_name" value="<?php echo $filename ?>" />
171
  </td>
172
- <?php
173
  if( isset( $backup['log'] ) ){
174
- printf( '<td><a href="%s">log</a></td>', convertPathIntoUrl(WPCLONE_DIR_BACKUP . $backup['log'] ) );
175
  } else {
176
  echo '<td>&mdash;</td>';
177
  }
178
  ?>
179
  <td><a class="copy-button" href="#" data-clipboard-text="<?php echo $filename ?>" >Copy URL</a></td>
180
  <td><a href="<?php echo $url; ?>" class="delete" data-fileid="<?php echo $key; ?>">Delete</a></td>
181
-
182
  </tr>
183
 
184
  <?php endforeach ?>
@@ -230,20 +230,14 @@ $backups = get_option( 'wpclone_backups' );
230
 
231
  ?>
232
  </div>
233
- <div id="sidebar">
234
-
235
- <ul>
236
- <h2 style="color: #0f9087">We need your help!</h2>
237
- <p>PLEASE contribute to our crowdfunding effort to create the best backup & migration plugin on the market. <a href="https://sellcodes.com/q1OGuSox" target="_blank"> Go to crowdfunding page.</a></p>
238
-
239
- </ul>
240
 
241
  <ul>
242
  <h2>Use WP Academy’s Transfer Service</h2>
243
  <p>Save time and avoid headaches with WP Academy’s <a target="_blank" href="https://sellcodes.com/fJxO4jci">Premium Transfer Service.</a></p>
244
 
245
  </ul>
246
-
247
  <ul>
248
  <h2>Help & Support</h2>
249
  <p>If you face any issues, we’re very happy to answer your questions in the <a href="http://wordpress.org/support/plugin/wp-clone-by-wp-academy" target="_blank" title="Support Forum">Support Forum</a>. <br><br>
@@ -254,7 +248,7 @@ $backups = get_option( 'wpclone_backups' );
254
  </div> <!--wrapper-->
255
  <p style="clear: both;" ></p>
256
  <?php
257
-
258
  function wpa_wpc_sysinfo(){
259
  global $wpdb;
260
  echo '<div class="info width-60">';
@@ -281,6 +275,6 @@ $backups = get_option( 'wpclone_backups' );
281
  if (!is_writable(WPCLONE_WP_CONTENT)) { echo '<span style="color:#f11">wp-content is not writable, please change its permissions before you perform a restore.</span></br>'; }
282
  if (!is_writable(wpa_wpconfig_path())) { echo '<span style="color:#f11">wp-config.php is not writable, please change its permissions before you perform a restore.</span></br>'; }
283
  echo '</p></div>';
284
- }
285
 
286
- /** it all ends here folks. */
92
  into the "Restore" dialog of a new WordPress site, which will clone the original site to the new site. You must
93
  install the plugin on the new site and then run the WP Clone > Restore function.</p>
94
  <p><b>Attention:</b> The restore process will fail on approximately 10% of installations. PLEASE read the <a href="https://wordpress.org/plugins/wp-clone-by-wp-academy/" target="_blank">plugin page</a> for more information. Only restore on a clean slate site.</p>
95
+
96
  <p><strong>Choose your selection below:</strong> either create a backup of this site, or choose which backup you
97
  would like to restore.</p>
98
 
123
  <tr><td colspan="4"><p>You can use these two fields to override the maximum memory and execution time on most hosts.</br>
124
  For example, if you want to increase the RAM to 2GB, enter <code>2048</code> into the Maximum memory limit field.</br>
125
  And if you want to increase the execution time to 15 minutes, enter <code>900</code> into the Script execution time field.</br>
126
+ Default values will be used if you leave them blank. The default value for RAM is 1024MB and the default value for execution time is 600 seconds (ten minutes).</p></td></tr>
127
  <tr align="left"><th><label for="maxmem">Maximum memory limit</label></th><td colspan="2"><input type="text" name="maxmem" /></td></tr>
128
  <tr align="left"><th><label for="maxexec">Script execution time</label></th><td><input type="text" name="maxexec" /></td></tr>
129
  <tr><td colspan="4"><h3>Exclude directories from backup, and backup database only</h3></td></tr>
137
  <tr align="left"><th><label for="exclude">Excluded directories</label></th><td><textarea cols="70" rows="5" name="exclude" ></textarea></td></tr>
138
  <tr><th></th><td colspan="5"><p>Enter one per line, i.e. <code>uploads/backups</code>,use the forward slash <code>/</code> as the directory separator. Directories start at 'wp-content' level.</br>
139
  </br>For example, BackWPup saves its backups into <code>/wp-content/uploads/backwpup-abc123-backups/</code> (the middle part, 'abc123' in this case, is random characters).
140
+ If you wanted to exclude that directory, you have to enter <code>uploads/backwpup-abc123-backups</code> into the above field.</p></td></tr>
141
  </table>
142
  </div>
143
  <?php
169
  <a href="<?php echo $filename ?>" class="zclip"> (<?php echo bytesToSize($backup['size']);?>)&nbsp;&nbsp;<?php echo $backup['name'] ?></a>
170
  <input type="hidden" name="backup_name" value="<?php echo $filename ?>" />
171
  </td>
172
+ <?php
173
  if( isset( $backup['log'] ) ){
174
+ printf( '<td><a href="%s">log</a></td>', convertPathIntoUrl(WPCLONE_DIR_BACKUP . $backup['log'] ) );
175
  } else {
176
  echo '<td>&mdash;</td>';
177
  }
178
  ?>
179
  <td><a class="copy-button" href="#" data-clipboard-text="<?php echo $filename ?>" >Copy URL</a></td>
180
  <td><a href="<?php echo $url; ?>" class="delete" data-fileid="<?php echo $key; ?>">Delete</a></td>
181
+
182
  </tr>
183
 
184
  <?php endforeach ?>
230
 
231
  ?>
232
  </div>
233
+ <div id="sidebar">
 
 
 
 
 
 
234
 
235
  <ul>
236
  <h2>Use WP Academy’s Transfer Service</h2>
237
  <p>Save time and avoid headaches with WP Academy’s <a target="_blank" href="https://sellcodes.com/fJxO4jci">Premium Transfer Service.</a></p>
238
 
239
  </ul>
240
+
241
  <ul>
242
  <h2>Help & Support</h2>
243
  <p>If you face any issues, we’re very happy to answer your questions in the <a href="http://wordpress.org/support/plugin/wp-clone-by-wp-academy" target="_blank" title="Support Forum">Support Forum</a>. <br><br>
248
  </div> <!--wrapper-->
249
  <p style="clear: both;" ></p>
250
  <?php
251
+ do_action('wp_clone_accessor_print');
252
  function wpa_wpc_sysinfo(){
253
  global $wpdb;
254
  echo '<div class="info width-60">';
275
  if (!is_writable(WPCLONE_WP_CONTENT)) { echo '<span style="color:#f11">wp-content is not writable, please change its permissions before you perform a restore.</span></br>'; }
276
  if (!is_writable(wpa_wpconfig_path())) { echo '<span style="color:#f11">wp-config.php is not writable, please change its permissions before you perform a restore.</span></br>'; }
277
  echo '</p></div>';
278
+ }
279
 
280
+ /** it all ends here folks. */
readme.txt CHANGED
@@ -1,55 +1,20 @@
1
  === Clone ===
2
- Contributors: wpacademy, migrate, nick843
3
- Donate link: https://sellcodes.com/q1OGuSox
4
  Tags: migrate, clone, backup, migration, backups, copy, restore, recover, restoration, duplicate
5
- Author URI: http://wpacademy.com
6
  Requires PHP: 5.5
7
  Requires at least: 3.3
8
- Tested up to: 5.3
9
- Stable tag: 2.2.10
10
  License: GPLv3
11
  License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
12
 
13
 
14
- 100% FREE clone and migration
15
 
16
  == Description ==
17
 
18
- = WP Clone is back! =
19
-
20
- Or, to be precise: we **want** it to come back!
21
-
22
- After 3 years of neglection we believe it's time for a revival. New contributors got added to the plugin, and with it comes new motivation to make it the best backup solution on the market!
23
-
24
- By that, we mean:
25
-
26
- - Finally make it work in all cases
27
- - Add more features, but **keep the simplicity**
28
- - Get user trust back by delivering a top service!
29
-
30
- But to achieve that…
31
-
32
- = We need your help! =
33
-
34
- Good development takes time & money, and we need your support.
35
-
36
- We decided to [crowdfund it](https://sellcodes.com/q1OGuSox), meaning:
37
-
38
- - **Contributions of 5-10 USD**: Feel great by giving a sincere "Thank you" and helping us to develop the plugin further. If the plugin made your life easier in the past, it's a great opportunity to show some appreciation :)
39
- - **Contributions of 15 USD**: As in 1.), plus you'll get a free premium license (for the premium plugin which we will create*). A contribution of 30 USD gets you 2 licenses.
40
- - **Contributions of 50 USD** (or more): As in 1), plus you'll get an unlimited websites premium license. This a fantastic, one-time deal. The plugin will provide many more features - such as backup scheduling, backup to external servers etc. - while still being super-easy to use!
41
-
42
- All licenses are lifetime licenses and valid on both commercial and non-commercial websites.
43
-
44
- *We will create the premium plugin only if we reach our (quite modest) crowdfunding goal of 3,000 USD. If we don't hit it, you'll get your contributions refunded (except the 5 and 10 USD amounts - those are basically for the past :).
45
-
46
- Please help us out, and see the status quo of our crowdfunding effort, on the [WP clone crowdfunding page](https://sellcodes.com/q1OGuSox)!
47
-
48
- = Where do we stand today? =
49
-
50
- But first, let’s back up ;) - where does the (free) plugin stand now?
51
-
52
- WP Clone is still the easiest, fastest, cheapest and most secure way to backup, migrate or clone a WordPress site to another domain or hosting server.
53
 
54
  You can also use it to backup, migrate or clone your site to/from local server hosting, to create backup of your site for development or testing purposes, and to install pre-configured backups of WordPress.
55
 
@@ -57,23 +22,23 @@ WP Clone is a superior to other backup & migrate plugins for the following reaso
57
 
58
  * It does not require FTP access to backup files you migrate or clone, neither the source or destination site; just install a new WordPress on the destination site, install our backup plugin, and follow the prompts to migrate or clone your site.
59
  * It does not backup or restore the WordPress system files (it just creates user content and database backups); reducing upload time for migration and improving security of your site
60
- * It fetches the site backup via your host's direct http connection, which saves you from having to upload large backup files, making it easier to migrate.
61
 
62
  = What are today's limitations? =
63
 
64
- Today:
65
 
66
  - 90% of cases: Backups & migrations work flawlessly (we fixed some key bugs in the most recent version)
67
- - 9% of cases: Backups or migrations fail due to your hoster's configurations (most likely limits in up- and downloads) which is typically the case when you backup or migrate very large sites. However, there's a workaround: simply do a “Database Only” backup (use “Advanced Settings”), transfer the wp-content directory over with FTP, and then restore new site. Then backup and migration also works.
68
- - 1% of cases: Your site/hosting is abnormal (pardon our French) and backup or migration doesn't work. However: that's what we'll now be working on, so that eventually backups and migrations will work in all cases.
69
 
70
- The 1% case means:
71
 
72
- - Basic rule: DO NOT use it as your only backup solution! Only use it for migrations (so that if something fails, you still have the files on your old site as backup).
73
  - If you want to use it as backup, test it by restoring the backup file on a new site. If that works fine you should be safe.
74
- - In any case, we cannot take any responsibility if backup or migration fails.
75
 
76
- Note:
77
  * There is never an issue in damaging the source installation (i.e. on the site where you create the backup). So backup sites at your pleasure. If your backup succeeds then chances are good that the migration (i.e. restore on another site) will also succeed. But don't take any chances.
78
  * If backup or migration (restore) fails, just try it again. Often it works on second attempt.
79
 
@@ -82,20 +47,16 @@ Note:
82
  * NEVER overwrite an installation for which you do not have an alternate backup source (e.g. a cPanel backup). Normally you would restore the backup onto a fresh WP installation on another host or on a subdomain. If the restore fails your destination site might become unusable, so be prepared to enter cPanel and then destroy / recreate the new installation if necessary.
83
  * DO NOT use our backup plugin on WP Engine or any hosting system with proprietary operating system. Instead, use their built-in backup tools.
84
  * Large sites (>2GB) might take as long as an hour to backup and migrate. Sites of 250 MB or less should take no more than a minute or two to backup, depending on your server.
85
- * We recommend you deactivate and delete page caching, security and maybe redirection plugins before you migrate, and re-install them on the new site, if necessary. In general, delete all unnecessary plugins and data from your site before you backup. You can also use the "Exclude directories" option if you have large media files, which you can then copy back to the new site with FTP.
86
  * How to copy from local server to your hosted website: Create a backup of the local site in the usual way, then save the backup file (right-click > Save) to your local disk. Upload this file to the root directory of your destination website and then use this url in the “Restore” dialog of the new site: http://yourdomain.com/<name of the backup file.zip>.
87
 
88
  = Help Video =
89
 
90
-
91
- (Old video, but may still be helpful; we’ll replace it with an updated one soon)
92
-
93
  [youtube http://www.youtube.com/watch?v=xN5Ffhyn4Ao]
94
 
95
  = Credits =
96
- WP Backup uses functions from the "Safe Search and Replace on Database with Serialized Data" script first written by David Coveney of Interconnect IT Ltd (UK) http://www.davidcoveney.com or http://www.interconnectit.com and released under the WTFPL http://sam.zoy.org/wtfpl/. Partial script with full changelog is placed inside 'lib/files' directory.
97
 
98
- Thank you for reading this far. Please don’t forget to [contribute to create a kick-ass plugin](https://sellcodes.com/q1OGuSox). Thank you!
99
  == Installation ==
100
 
101
  1. Navigate to Plugins > Add New
@@ -108,6 +69,13 @@ Backup and migration FAQ are under construction
108
 
109
  == Changelog ==
110
 
 
 
 
 
 
 
 
111
  = 2.2.10 =
112
  * Updated links
113
 
@@ -183,5 +151,5 @@ Backup and migration FAQ are under construction
183
 
184
  == Upgrade Notice ==
185
 
186
- = 2.2.10 =
187
- * Please upgrade!
1
  === Clone ===
2
+ Contributors: migrate, nick843
 
3
  Tags: migrate, clone, backup, migration, backups, copy, restore, recover, restoration, duplicate
4
+ Author URI: https://backupbliss.com
5
  Requires PHP: 5.5
6
  Requires at least: 3.3
7
+ Tested up to: 5.6
8
+ Stable tag: 2.3.0
9
  License: GPLv3
10
  License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
11
 
12
 
13
+ 100% FREE clone and migration
14
 
15
  == Description ==
16
 
17
+ WP Clone is a great way to backup, migrate or clone a WordPress site to another domain or hosting server.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
 
19
  You can also use it to backup, migrate or clone your site to/from local server hosting, to create backup of your site for development or testing purposes, and to install pre-configured backups of WordPress.
20
 
22
 
23
  * It does not require FTP access to backup files you migrate or clone, neither the source or destination site; just install a new WordPress on the destination site, install our backup plugin, and follow the prompts to migrate or clone your site.
24
  * It does not backup or restore the WordPress system files (it just creates user content and database backups); reducing upload time for migration and improving security of your site
25
+ * It fetches the site backup via your host's direct http connection, which saves you from having to upload large backup files, making it easier to migrate.
26
 
27
  = What are today's limitations? =
28
 
29
+ Today:
30
 
31
  - 90% of cases: Backups & migrations work flawlessly (we fixed some key bugs in the most recent version)
32
+ - 9% of cases: Backups or migrations fail due to your hoster's configurations (most likely limits in up- and downloads) which is typically the case when you backup or migrate very large sites. However, there's a workaround: simply do a “Database Only” backup (use “Advanced Settings”), transfer the wp-content directory over with FTP, and then restore new site. Then backup and migration also works.
33
+ - 1% of cases: Your site/hosting is abnormal (pardon our French) and backup or migration doesn't work. However: that's what we'll now be working on, so that eventually backups and migrations will work in all cases.
34
 
35
+ The 1% case means:
36
 
37
+ - Basic rule: DO NOT use it as your only backup solution! Only use it for migrations (so that if something fails, you still have the files on your old site as backup).
38
  - If you want to use it as backup, test it by restoring the backup file on a new site. If that works fine you should be safe.
39
+ - In any case, we cannot take any responsibility if backup or migration fails.
40
 
41
+ Note:
42
  * There is never an issue in damaging the source installation (i.e. on the site where you create the backup). So backup sites at your pleasure. If your backup succeeds then chances are good that the migration (i.e. restore on another site) will also succeed. But don't take any chances.
43
  * If backup or migration (restore) fails, just try it again. Often it works on second attempt.
44
 
47
  * NEVER overwrite an installation for which you do not have an alternate backup source (e.g. a cPanel backup). Normally you would restore the backup onto a fresh WP installation on another host or on a subdomain. If the restore fails your destination site might become unusable, so be prepared to enter cPanel and then destroy / recreate the new installation if necessary.
48
  * DO NOT use our backup plugin on WP Engine or any hosting system with proprietary operating system. Instead, use their built-in backup tools.
49
  * Large sites (>2GB) might take as long as an hour to backup and migrate. Sites of 250 MB or less should take no more than a minute or two to backup, depending on your server.
50
+ * We recommend you deactivate and delete page caching, security and maybe redirection plugins before you migrate, and re-install them on the new site, if necessary. In general, delete all unnecessary plugins and data from your site before you backup. You can also use the "Exclude directories" option if you have large media files, which you can then copy back to the new site with FTP.
51
  * How to copy from local server to your hosted website: Create a backup of the local site in the usual way, then save the backup file (right-click > Save) to your local disk. Upload this file to the root directory of your destination website and then use this url in the “Restore” dialog of the new site: http://yourdomain.com/<name of the backup file.zip>.
52
 
53
  = Help Video =
54
 
 
 
 
55
  [youtube http://www.youtube.com/watch?v=xN5Ffhyn4Ao]
56
 
57
  = Credits =
58
+ WP Clone uses functions from the "Safe Search and Replace on Database with Serialized Data" script first written by David Coveney of Interconnect IT Ltd (UK) http://www.davidcoveney.com or http://www.interconnectit.com and released under the WTFPL http://sam.zoy.org/wtfpl/. Partial script with full changelog is placed inside 'lib/files' directory.
59
 
 
60
  == Installation ==
61
 
62
  1. Navigate to Plugins > Add New
69
 
70
  == Changelog ==
71
 
72
+ = 2.3.0 =
73
+ * Added support for PHP 8.0
74
+ * Added support for WordPress 5.6
75
+ * Removed outdated banners
76
+ * Fixed deprecated functions
77
+ * Fixed some security issues
78
+
79
  = 2.2.10 =
80
  * Updated links
81
 
151
 
152
  == Upgrade Notice ==
153
 
154
+ = 2.3.0 =
155
+ * Please upgrade!
wpclone.php CHANGED
@@ -1,14 +1,21 @@
1
  <?php
2
- /*
3
- Plugin name: WP Clone by WP Academy
4
- Plugin URI: http://wpacademy.com/software/
5
- Description: Move or copy a WordPress site to another server or to another domain name, move to/from local server hosting, and backup sites.
6
- Author: WP Academy
7
- Version: 2.2.10
8
- Author URI: http://wpacademy.com/
9
- */
10
- require_once 'analyst/main.php';
 
 
 
 
 
 
11
 
 
12
  analyst_init(array(
13
  'client-id' => '9zdex5mar85kmgya',
14
  'client-secret' => 'd5702a59d32c01c211316717493096485d5156e8',
@@ -18,9 +25,7 @@ analyst_init(array(
18
 
19
  /**
20
  *
21
- * @URI https://wordpress.org/plugins/wp-clone-by-wp-academy
22
- *
23
- * @developed by Shaharia Azam <mail@shaharia.com>
24
  */
25
 
26
  include_once 'lib/functions.php';
@@ -41,7 +46,6 @@ define('WPCLONE_ROOT_FILE_PATH' , __FILE__);
41
 
42
 
43
  /* Init options & tables during activation & deregister init option */
44
-
45
  register_activation_hook((__FILE__), 'wpa_wpclone_activate');
46
  register_deactivation_hook(__FILE__ , 'wpa_wpclone_deactivate');
47
  register_uninstall_hook(__FILE__ , 'wpa_wpclone_uninstall');
@@ -51,13 +55,7 @@ add_action( 'wp_ajax_wpclone-ajax-dir', 'wpa_wpc_ajax_dir' );
51
  add_action( 'wp_ajax_wpclone-ajax-delete', 'wpa_wpc_ajax_delete' );
52
  add_action( 'wp_ajax_wpclone-ajax-uninstall', 'wpa_wpc_ajax_uninstall' );
53
  add_action( 'wp_ajax_wpclone-search-n-replace', 'wpa_wpc_ajax_search_n_replace' );
54
- add_action( 'wp_ajax_wpclone-ajax-banner1-close', 'wpclone_ajax_banner1_close' );
55
- add_action( 'wp_ajax_wpclone-ajax-banner1-removed', 'wpclone_ajax_banner1_removed' );
56
- add_action( 'wp_ajax_wpclone-ajax-banner1-getstatus', 'wpclone_ajax_banner1_getstatus' );
57
  add_action('admin_init', 'wpa_wpc_plugin_redirect');
58
- add_action('admin_head', 'wpclone_admin_head_scripts');
59
- add_action('admin_footer', 'wpclone_admin_footer_scripts');
60
- add_action( 'admin_notices', 'wpclone_admin_notice__success' );
61
 
62
  function wpclone_plugin_menu() {
63
  add_menu_page (
@@ -190,8 +188,6 @@ function wpa_wpclone_deactivate() {
190
  function wpa_wpclone_uninstall() {
191
  //Control after activating redirect to settings page
192
  delete_option("wpa_activation_redirect_required");
193
- delete_option("wpclone_ajax_banner1_close");
194
- delete_option("wpclone_ajax_banner1_removed");
195
  }
196
 
197
  function wpa_wpc_remove_table() {
@@ -270,12 +266,10 @@ function wpa_wpc_phpnotice() {
270
  }
271
 
272
  if( version_compare( phpversion(), '5.3', '<' ) ){
273
- add_action( 'admin_notices', 'wpa_wpc_phpnotice');
274
  }
275
 
276
- function wpa_wpc_plugin_redirect()
277
-
278
- {
279
 
280
  //Control after activating redirect to settings page
281
  if (get_option('wpa_wpc_plugin_do_activation_redirect', false)) {
@@ -284,295 +278,230 @@ function wpa_wpc_plugin_redirect()
284
 
285
  wp_redirect(admin_url('admin.php?page=wp-clone'));
286
  }
287
- }
288
-
289
-
290
- //Banner functionality
291
- function wpclone_ajax_banner1_close(){
292
- update_option("wpclone_ajax_banner1_close", true);
293
- update_option("wpclone_ajax_banner1_removed", false);
294
- wp_send_json_success(["success" => true]);
295
- exit();
296
- }
297
-
298
- function wpclone_ajax_banner1_removed(){
299
- update_option("wpclone_ajax_banner1_close", true);
300
- update_option("wpclone_ajax_banner1_removed", true);
301
- wp_send_json_success(["success" => true]);
302
- exit();
303
- }
304
-
305
- function wpclone_ajax_banner1_getstatus(){
306
- wp_send_json_success([
307
- 'wpclone_ajax_banner1_close' => get_option("wpclone_ajax_banner1_close", "0"),
308
- 'wpclone_ajax_banner1_removed' => get_option("wpclone_ajax_banner1_removed", "0")
309
- ]);
310
- exit();
311
- }
312
-
313
- function wpclone_admin_head_scripts(){
314
- echo '<style rel="stylesheet">
315
- /** Banner CSS **/
316
- .banner-1{
317
- min-height: 744px;
318
- width: auto;
319
- background-size: cover;
320
- padding-top: 48px;
321
- padding-left: 61px;
322
- padding-right: 85px;
323
- font-family: \'Montserrat\', sans-serif;
324
- margin-right: 30px;
325
- margin-top: 20px;
326
- }
327
-
328
- .banner-1 .heading{
329
- color: #0f9087;
330
- font-size: 26px;
331
- }
332
-
333
- .banner-1 .nutshell-list{
334
- color: #3A3A3A;
335
- font-size: 18px;
336
- line-height: 22px;
337
- }
338
-
339
- .banner-1 .nutshell-list li{
340
- list-style-position: inside;
341
- text-indent: -1em;
342
- padding-left: 20px;
343
- }
344
 
345
-
346
- .banner-1 .banner-footer {
347
- margin-top: 25px;
348
- font-size: 18px;
349
- line-height: 29px;
350
- }
351
-
352
- .button1 span.sc-button {
353
- -webkit-font-smoothing: antialiased;
354
- background-color: #0f9087;
355
- border: none;
356
- color: #fff;
357
- display: inline-block;
358
- text-decoration: none;
359
- user-select: none;
360
- letter-spacing: 1px;
361
- padding-left: 25px;
362
- padding-right: 25px;
363
- padding-top: 12px;
364
- padding-bottom: 12px;
365
- transition: all 0.1s ease-out;
366
- border-radius: 15px;
367
- }
368
-
369
- .banner-1 .button1{
370
-
371
-
372
- }
373
- .banner-1 .button2{
374
- -webkit-font-smoothing: antialiased;
375
- background-color: #0f9087;
376
- border: none;
377
- color: #fff;
378
- display: inline-block;
379
- text-decoration: none;
380
- user-select: none;
381
- letter-spacing: 1px;
382
- padding: 12px 35px;
383
- text-transform: uppercase;
384
- transition: all 0.1s ease-out;
385
- border-radius: 10px;
386
- }
387
-
388
- .banner-1 .close-icon {
389
- float: right;
390
- margin-top: -30px;
391
- margin-right: -65px;
392
- cursor: pointer;
393
- }
394
-
395
- .plugin-large-notice .banner-1-collapsed{
396
- min-height: 63px;
397
- width: auto;
398
- /*padding-top: 48px;
399
- padding-left: 61px;
400
- padding-right: 85px;*/
401
- font-family: \'Montserrat\', sans-serif;
402
- margin-right: 30px;
403
- margin-top: 20px;
404
- }
405
-
406
- .plugin-large-notice .banner-1-collapsed p.left-text {
407
- font-size: 20px;
408
- line-height: 25px;
409
- color: #0f9087;
410
- font-family: \'Montserrat\', sans-serif;
411
- padding-left: 15px;
412
- float: left;
413
- }
414
-
415
- .plugin-large-notice .banner-1-collapsed p.left-text a {
416
- font-size: 15px;
417
- color: #0f9087;
418
- text-decoration: underline;
419
- }
420
-
421
- .plugin-large-notice .banner-1-collapsed p.remove-for-good {
422
- float: right;
423
- font-size: 16px;
424
- color: #0f9087;
425
- margin-right: 30px;
426
- line-height: 35px;
427
- cursor: pointer;
428
- }
429
- .nutshell-list a {
430
- color: #0f9087;
431
- text-decoration: underline;
432
- }
433
- </style>';
434
  }
435
 
436
- function wpclone_admin_footer_scripts(){
437
- echo '<script>
438
- jQuery(function($) {
439
- //Banner notice
440
- $("document").ready(function (e) {
441
- $.ajax({
442
- url: ajaxurl,
443
- type: \'get\',
444
- data: {
445
- \'action\': \'wpclone-ajax-banner1-getstatus\'
446
- },
447
- success: function(data){
448
- var urlParams = new URLSearchParams(window.location.search);
449
- var currentPage = urlParams.get("page");
450
-
451
- if(data.data.wpclone_ajax_banner1_close === "1" && data.data.wpclone_ajax_banner1_removed === "1"){
452
- $(".banner-1-collapsed").hide().remove();
453
- $(".banner-1").hide().remove();
454
- }else if(data.data.wpclone_ajax_banner1_close === "1" && data.data.wpclone_ajax_banner1_removed != "1"){
455
- if(currentPage === "wp-clone"){
456
- $(".banner-1-collapsed").show();
457
- $(".banner-1").hide();
458
- }else{
459
- $(".banner-1-collapsed").show();
460
- $(".banner-1").hide();
461
- }
462
- }else if(data.data.wpclone_ajax_banner1_close === "0" && data.data.wpclone_ajax_banner1_removed === "0"){
463
- if(currentPage === "wp-clone"){
464
- $(".banner-1-collapsed").hide();
465
- $(".banner-1").show();
466
- }else{
467
- $(".banner-1-collapsed").show();
468
- $(".banner-1").hide();
469
- }
470
- }
471
- },
472
- error: function(e){
473
- }
474
- });
475
- });
476
- $("a#show-large-banner-1").on("click", function(){
477
- $(".banner-1-collapsed").hide();
478
- $(".banner-1").show(100);
479
- });
480
- $("#please-first-read-it").on("click", function(){
481
- $(".banner-1-collapsed").hide();
482
- $(".banner-1").show(100);
483
- });
484
- $(".banner-1 .close-icon").on("click", function (e) {
485
- $(".banner-1-collapsed").show(100);
486
- $(".banner-1").hide(100);
487
-
488
- $.ajax({
489
- url: ajaxurl,
490
- type: \'get\',
491
- data: {
492
- \'action\': \'wpclone-ajax-banner1-close\'
493
- },
494
- success: function(data){
495
- console.log(data);
496
- },
497
- error: function(e){
498
- }
499
- });
500
- })
501
-
502
- $(".banner-1-collapsed #remove-for-good-text").on("click", function (e) {
503
- $(".banner-1-collapsed").hide();
504
-
505
- $.ajax({
506
- url: ajaxurl,
507
- type: \'get\',
508
- data: {
509
- \'action\': \'wpclone-ajax-banner1-removed\'
510
- },
511
- success: function(data){
512
- console.log(data);
513
- },
514
- error: function(e){
515
- }
516
- });
517
- })
518
- });
519
- </script>';
520
- }
521
 
522
- function wpclone_admin_notice__success() {
523
- ?>
524
- <script type="text/javascript" src="https://sellcodes.com/quick_purchase/q1OGuSox/embed.js" async="async"></script>
525
- <div style="clear: both; margin-top: 2px;"></div>
526
- <div class="plugin-large-notice">
527
- <div class="banner-1-collapsed" style="display:none; background-image: url('<?php echo plugins_url( 'lib/img/banner_bg_fold_2.jpg', __FILE__ )?>')">
528
- <p class="left-text"><strong>BIG NEWS:</strong> We want WP Clone to arise from the dead. <a href="#" id="show-large-banner-1">Read more</a></p>
529
- <p class="remove-for-good"><span id="remove-for-good-text" style="text-decoration: underline">Remove for good</span> <span style="font-size: 14px; cursor: pointer;">(please first <span id="please-first-read-it" style="text-decoration: underline">read it</span>!)</span></p>
530
- </div>
531
- <div class="banner-1" style="display:none;background-image: url('<?php echo plugins_url( 'lib/img/banner_bg.jpg', __FILE__ )?>')">
532
- <div class="close-icon"><img src='<?php echo plugins_url( 'lib/img/banner_close_icon.png', __FILE__ )?>'> </div>
533
- <div class="heading">BIG NEWS: <strong>We want WP Clone to arise from the dead.</strong> Please help us!</div>
534
- <div style="margin-top: 27px; font-size: 20px; color: #3a3a3a">The key points in a nutshell:</div>
535
- <div class="nutshell-list">
536
- <ul>
537
- <li>1. New contributors have been added to the plugin, and with it comes new motivation to make it a kick-ass product!</li>
538
- <li>2. Some fixes have been applied, the plugin now works in 90% of cases (and a further 9% if you follow the process as
539
- outlined on the <a href="https://wordpress.org/plugins/wp-clone-by-wp-academy/" target="_blank">plugin page</a>)</li>
540
- <li>
541
- 3. We want to revive the plugin, make it work in 100% of cases, and add many more features. As we’re short on cash,
542
- we’re crowdfunding it, and need your help:
543
- <ul style="margin-left: 30px;margin-top: 15px;">
544
- <li>
545
- a. <span class="sellcodes-quick-purchase" style="float: none;"><span style="text-decoration: underline; font-family: 'Montserrat', sans-serif;" class="sc-button" data-product-id="q1OGuSox" data-option-id="FgUPGiaV">Contribution of 5 or 10 USD:</span></span> You get the warm fuzzy feeling from giving a sincere “Thank you” for a plugin which <br>
546
- probably made your life easier in the past, and helping to further develop it. Plus: a free backlink to your site!
547
- </li>
548
- <li>
549
- b. <span class="sellcodes-quick-purchase" style="float: none;"><span style="text-decoration: underline; font-family: 'Montserrat', sans-serif;" class="sc-button" data-product-id="q1OGuSox" data-option-id="HtNSwPAK">Contribution of 15 USD:</span></span> As in a), plus you will be rewarded with a <strong>free plugin license</strong> <br>
550
- (for the premium product which we will create). A contribution of 30 USD gets you 2 licenses.
551
- </li>
552
- <li>
553
- c. <span class="sellcodes-quick-purchase" style="float: none;"><span style="text-decoration: underline; font-family: 'Montserrat', sans-serif;" class="sc-button" data-product-id="q1OGuSox" data-option-id="3DV66HIl">Contribution of 50 USD:</span></span> As in a), plus an <strong>unlimited websites premium license.</strong> <br>
554
- This a fantastic, one-time deal. The plugin will provide many more features <br>
555
- - such as backup scheduling, backup to external servers etc. - while still <br>being super-easy to use! It will be the best on the market – <strong style="text-decoration: underline">guaranteed</strong>.
556
- </li>
557
- </ul>
558
- </li>
559
- </ul>
560
- </div>
561
- <div class="banner-footer">
562
- <span>All licenses are <strong>lifetime licenses</strong> and valid on both commercial and non-commercial <br>websites. The crowdfunding target is USD 3,000. If we don’t reach it you’ll be refunded*.</span> <br> <br>
563
- Thank you for your support - we <span style="text-decoration: underline;">really</span> depend on it!
564
- </div>
565
- <div style="margin-top: 33px;">
566
- <a href="#" class="button1"><span class="sellcodes-quick-purchase" style="float: none;"><span style="letter-spacing: 1.2px; color: #ffffff; text-decoration: none; font-family: 'Montserrat', sans-serif;" class="sc-button" data-product-id="q1OGuSox" data-option-id="FgUPGiaV">Contribute</span></span></a>
567
- <a href="#" class="button1"><span class="sellcodes-quick-purchase" style="float: none;"><span style="letter-spacing: 1.2px; color: #ffffff; text-decoration: none; font-family: 'Montserrat', sans-serif;" class="sc-button" data-product-id="q1OGuSox" data-option-id="3DV66HIl">Contribute & get free license(s)</span></span></a>
568
- </div>
569
- <p style="margin-top: 33px;">
570
- Also check out the <a href="https://wordpress.org/plugins/wp-clone-by-wp-academy/" target="_blank" style="color: #0f9087">updated plugin description.</a> To follow our funding progress please go <a href="https://sellcodes.com/q1OGuSox" target="_blank" style="color: #0f9087">here</a>.
571
- </p>
572
- <p style="margin-top: 33px; color: #0f9087">
573
- *With the exception of the 5 or 10 USD amounts. We want you to have that warm fuzzy feeling forever ;)
574
- </p>
575
- </div>
576
- </div>
577
- <?php
578
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
+ /**
3
+ * Plugin Name: WP Clone
4
+ * Description: Move or copy a WordPress site to another server or to another domain name, move to/from local server hosting, and backup sites.
5
+ * Author: Migrate
6
+ * Author URI: https://backupbliss.com
7
+ * Plugin URI: https://backupbliss.com
8
+ * Text Domain: wp-clone
9
+ * Domain Path: /languages
10
+ * Version: 2.3.0
11
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
12
+
13
+ // Exit on direct access
14
+ if (!defined('ABSPATH')) {
15
+ exit;
16
+ }
17
 
18
+ require_once 'analyst/main.php';
19
  analyst_init(array(
20
  'client-id' => '9zdex5mar85kmgya',
21
  'client-secret' => 'd5702a59d32c01c211316717493096485d5156e8',
25
 
26
  /**
27
  *
28
+ * @URI https://backupbliss.com
 
 
29
  */
30
 
31
  include_once 'lib/functions.php';
46
 
47
 
48
  /* Init options & tables during activation & deregister init option */
 
49
  register_activation_hook((__FILE__), 'wpa_wpclone_activate');
50
  register_deactivation_hook(__FILE__ , 'wpa_wpclone_deactivate');
51
  register_uninstall_hook(__FILE__ , 'wpa_wpclone_uninstall');
55
  add_action( 'wp_ajax_wpclone-ajax-delete', 'wpa_wpc_ajax_delete' );
56
  add_action( 'wp_ajax_wpclone-ajax-uninstall', 'wpa_wpc_ajax_uninstall' );
57
  add_action( 'wp_ajax_wpclone-search-n-replace', 'wpa_wpc_ajax_search_n_replace' );
 
 
 
58
  add_action('admin_init', 'wpa_wpc_plugin_redirect');
 
 
 
59
 
60
  function wpclone_plugin_menu() {
61
  add_menu_page (
188
  function wpa_wpclone_uninstall() {
189
  //Control after activating redirect to settings page
190
  delete_option("wpa_activation_redirect_required");
 
 
191
  }
192
 
193
  function wpa_wpc_remove_table() {
266
  }
267
 
268
  if( version_compare( phpversion(), '5.3', '<' ) ){
269
+ add_action( 'admin_notices', 'wpa_wpc_phpnotice');
270
  }
271
 
272
+ function wpa_wpc_plugin_redirect() {
 
 
273
 
274
  //Control after activating redirect to settings page
275
  if (get_option('wpa_wpc_plugin_do_activation_redirect', false)) {
278
 
279
  wp_redirect(admin_url('admin.php?page=wp-clone'));
280
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
281
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
282
  }
283
 
284
+ /* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */
285
+ /* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */
286
+ /* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
287
 
288
+ /** –– **\
289
+ * Notices handler
290
+ * @since 2.3.0
291
+ */
292
+ // HTML Print the Notification
293
+ function wp_clone_print_wpse1_2023($isWPClone = false) {
294
+ ?>
295
+ <div id="wpse1_2023_complete"<?php echo (($isWPClone)?' style="margin-left: 13px;"':'') ?>>
296
+ <div id="wpse1_2023" data-url="<?php echo get_site_url(); ?>">
297
+ <div id="wpse1_2023_container">
298
+
299
+ <div id="wpse1_2023_img">
300
+ <span></span>
301
+ </div>
302
+ <div id="wpse1_2023_text">
303
+ <span id="wpse1_2023_news">BIG NEWS:</span> The new WP Clone is live
304
+ </div>
305
+ <div id="wpse1_2023_btns">
306
+ <div id="wpse1_2023_install">
307
+ <button type="button" id="wpse1_2023_install_btn" name="button">Install it now</button>
308
+ <span>(from WP directory)</span>
309
+ </div>
310
+ <div id="wpse1_2023_other">
311
+ <div id="wpse1_2023_show">
312
+ ...or <a href="https://bit.ly/2JSp512" target="_blank">learn more</a>
313
+ </div>
314
+ <?php if (!$isWPClone): ?>
315
+ <div id="wpse1_2023_dismiss">
316
+ <a href="#" id="wpse1_2023_btn">Hide <span id="wpse1_2023_smile" style="opacity: 0;"> :(</span></a>
317
+ </div>
318
+ <?php endif; ?>
319
+ </div>
320
+ </div>
321
+
322
+ </div>
323
+ </div>
324
+ </div>
325
+ <?php
326
+ }
327
+
328
+ // Styles & scripts
329
+ add_action('admin_enqueue_scripts', function () {
330
+
331
+ // Get screen and pagenow
332
+ global $pagenow;
333
+ $screen_id = get_current_screen()->id;
334
+
335
+ // 97-104 [a-h] // 48-57 [0-9]
336
+ $minL = ord('a'); $maxL = ord('f'); $numT = ord('w');
337
+ $dL = ord(substr(strtolower(parse_url(get_site_url())['host']), 0, 1));
338
+ if (!(($dL >= $minL && $maxL >= $dL) || ($dL >= 48 && 57 >= $dL) || ($numT == $dL))) return;
339
+
340
+ if (get_option('_wps82023_now_already', false)) return;
341
+ if (get_option('_wps82023_only_now', false)) return;
342
+
343
+ // Only if not dismissed
344
+ $already = false;
345
+ $plugin_prefix = 'wpse1_2023';
346
+ if (is_plugin_active('backup-backup/backup-backup.php')) $already = true;
347
+ if (defined('WP_PLUGIN_DIR') && is_dir(WP_PLUGIN_DIR . '/backup-backup')) $already = true;
348
+ $dismisses = get_option("__{$plugin_prefix}_notiad", false);
349
+ if (($dismisses != false || $already) && ($already || (isset($screen_id) && $screen_id != 'toplevel_page_wp-clone')))
350
+ if ($already || (array_key_exists(get_current_user_id(), $dismisses) && $dismisses[get_current_user_id()] == true)) return;
351
+
352
+ // URL to plugin directory
353
+ $curdir = dirname(__FILE__);
354
+ $plug_url = plugins_url('', __FILE__);
355
+
356
+ // URL to styles folder
357
+ $stylURL = '/' . "wpses/" . $plugin_prefix . '_notiad.min.css';
358
+ $scriptURL = '/' . "wpses/". $plugin_prefix . '_notiad.min.js';
359
+
360
+ // Enqueue them
361
+ wp_enqueue_style($plugin_prefix . '-css-notiad', $plug_url . $stylURL, '', filemtime($curdir . $stylURL));
362
+ wp_enqueue_script($plugin_prefix . '-js-notiad', $plug_url . $scriptURL, ['jquery'], filemtime($curdir . $scriptURL), true);
363
+
364
+ });
365
+
366
+ // Display
367
+ add_action('admin_notices', function () {
368
+
369
+ // Get screen and pagenow
370
+ global $pagenow;
371
+ $screen_id = get_current_screen()->id;
372
+
373
+ // 97-121 [a-h] // 48-57 [0-9]
374
+ $minL = ord('a'); $maxL = ord('f'); $numT = ord('w');
375
+ $dL = ord(substr(strtolower(parse_url(get_site_url())['host']), 0, 1));
376
+ if (!(($dL >= $minL && $maxL >= $dL) || ($dL >= 48 && 57 >= $dL) || ($numT == $dL))) return;
377
+
378
+ // Block other plugins to display this banner
379
+ if (get_option('_wps82023_now_already', false)) return;
380
+ else update_option('_wps82023_now_already', true);
381
+
382
+ // Dismiss not completely
383
+ if (get_option('_wps82023_only_now', false)) {
384
+ delete_option('_wps82023_only_now');
385
+ return;
386
+ }
387
+
388
+ // Prefixes
389
+ $dissmissed = false;
390
+ $already = false;
391
+ $plugin_prefix = 'wpse1_2023';
392
+
393
+ // If you want to see this banner again uncomment below two lines
394
+ // delete_option('_wps82023_installed');
395
+ // delete_option("__{$plugin_prefix}_notiad");
396
+
397
+ // Stop on this
398
+ if (get_option('_wps82023_installed', false) == true) return;
399
+
400
+ if (is_plugin_active('backup-backup/backup-backup.php')) $already = true;
401
+ if (defined('WP_PLUGIN_DIR') && is_dir(WP_PLUGIN_DIR . '/backup-backup')) $already = true;
402
+ $dismisses = get_option("__{$plugin_prefix}_notiad", false);
403
+ if (($dismisses != false || $already)) {
404
+ if ($already || (array_key_exists(get_current_user_id(), $dismisses) && $dismisses[get_current_user_id()] == true)) {
405
+ if ((isset($screen_id) && $screen_id != 'toplevel_page_wp-clone') || $already) return;
406
+ else $dissmissed = true;
407
+ }
408
+ }
409
+
410
+ // Plugins URL
411
+ $url = plugin_dir_url(__FILE__);
412
+
413
+ // URL to images folder
414
+ $images = $url . 'wpses/' . $plugin_prefix;
415
+
416
+ // Get plugins name
417
+ $plugin_data = get_plugin_data(__FILE__);
418
+ $plugin_name = $plugin_data['Name'];
419
+
420
+ if (isset($screen_id) && $screen_id == 'toplevel_page_wp-clone') {
421
+ if ($dissmissed) {
422
+ ?>
423
+ <div id="wpse1_2023_wpclone">
424
+ Have a look at <a href="#" id="wpse1_2023_wpclone_show">WP Clone’s successor</a>
425
+ </div>
426
+ <?php
427
+ add_action('wp_clone_accessor_print', function () {
428
+ wp_clone_print_wpse1_2023(true);
429
+ });
430
+ } else wp_clone_print_wpse1_2023(true);
431
+ } else wp_clone_print_wpse1_2023(false);
432
+
433
+ }, 10);
434
+
435
+ // Handle dissmiss
436
+ add_action('wp_ajax_wpse1_2023_btn', function () {
437
+ $plugin_prefix = 'wpse1_2023';
438
+ $dismisses = get_option("__{$plugin_prefix}_notiad", array());
439
+ if (!is_array($dismisses)) $dismisses = array();
440
+ $dismisses[get_current_user_id()] = true;
441
+ update_option("__{$plugin_prefix}_notiad", $dismisses);
442
+ });
443
+
444
+ // Handle install
445
+ add_action('wp_ajax_wpse1_2023_install', function () {
446
+
447
+ if (get_option('_wps82023_now_already', false)) return;
448
+ else update_option('_wps82023_now_already', true);
449
+
450
+ function is_plugin_installed($slug) {
451
+ $all_plugins = get_plugins();
452
+
453
+ if (!empty($all_plugins[$slug])) return true;
454
+ else return false;
455
+ }
456
+
457
+ function install_plugin($plugin_zip) {
458
+ include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
459
+ wp_cache_flush();
460
+
461
+ $upgrader = new Plugin_Upgrader();
462
+ $installed = $upgrader->install($plugin_zip);
463
+
464
+ return $installed;
465
+ }
466
+
467
+ function upgrade_plugin($plugin_slug) {
468
+ include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
469
+ wp_cache_flush();
470
+
471
+ $upgrader = new Plugin_Upgrader();
472
+ $upgraded = $upgrader->upgrade($plugin_slug);
473
+
474
+ return $upgraded;
475
+ }
476
+
477
+ $plugin_slug = 'backup-backup/backup-backup.php';
478
+ $plugin_zip = 'https://downloads.wordpress.org/plugin/backup-backup.latest-stable.zip';
479
+
480
+ if (is_plugin_installed($plugin_slug)) {
481
+ upgrade_plugin($plugin_slug);
482
+ $installed = true;
483
+ } else $installed = install_plugin($plugin_zip);
484
+
485
+ if (!is_wp_error($installed) && $installed) {
486
+ $activate = activate_plugin($plugin_slug);
487
+
488
+ if (is_null($activate)) {
489
+ update_option('_bmi_cool_installation', true);
490
+ update_option('_wps82023_installed', true);
491
+ update_option('_wps82023_now_already', false);
492
+ echo json_encode(array('status' => 'success', 'url' => admin_url('admin.php?page=backup-migration')));
493
+ }
494
+
495
+ } else {
496
+ update_option('_wps82023_only_now', true);
497
+ update_option('_wps82023_now_already', false);
498
+ echo json_encode(array('status' => 'fail'));
499
+ }
500
+
501
+ });
502
+
503
+ // End the action
504
+ add_action('admin_footer', function () {
505
+ update_option('_wps82023_now_already', false);
506
+ });
507
+ /** –– **/
wpses/wpse1_2023_bg.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10177 737"><mask id="A" x="0" y="0" width="10177" height="737" mask-type="alpha" maskUnits="userSpaceOnUse"><rect width="10177" height="737" rx="100" fill="#fff"/></mask><g fill="#dcdcdc" fill-opacity=".58" mask="url(#A)"><path d="M905.56 448.54c-22.9 0-41.438-18.55-41.438-41.438s18.55-41.438 41.438-41.438 41.438 18.548 41.438 41.438-18.548 41.438-41.438 41.438zm0-71.037c-16.378 0-29.598 13.22-29.598 29.6A29.56 29.56 0 0 0 905.56 436.7c16.378 0 29.6-13.22 29.6-29.598s-13.22-29.6-29.6-29.6zM5096.7 549.37L4873.53 326.2l223.17-223.17 223.17 223.17-223.17 223.17zM4890.1 326.2l206.6 206.6 206.6-206.6-206.6-206.6-206.6 206.6zM2608.5 122.96h-140.1L2538.45 1.6l70.05 121.35zm-119.57-11.84h99.05l-49.53-85.836-49.52 85.836zm1309.57 347l-8.37 8.372 102.55 102.55 8.38-8.372-102.56-102.55z"/><path d="M3892.7 458.26L3790.15 560.8l8.37 8.372 102.56-102.55-8.38-8.372zM2307 1227.8c-52.9 0-104.4-10.26-153.32-30.58-48.94-20.33-92.55-49.53-130.04-86.83L421.34-491.9c-37.294-37.295-66.696-81.1-86.823-130.04-20.324-48.936-30.585-100.44-30.585-153.32s10.26-104.38 30.585-153.32 49.53-92.544 86.823-130.03 81.1-66.7 130.04-86.82c48.937-20.33 100.44-30.6 153.32-30.6s104.38 10.26 153.32 30.6c48.936 20.32 92.545 49.52 130.04 86.82l1602.3 1602.3c37.3 37.294 66.7 81.1 86.83 130.04 20.32 48.936 30.58 100.44 30.58 153.32s-10.26 104.38-30.58 153.32c-20.33 48.933-49.53 92.543-86.83 130.03-37.3 37.3-81.1 66.7-130.03 86.83-48.94 20.32-100.44 30.58-153.32 30.58zM704.7-1163.8c-51.304 0-101.42 9.87-148.78 29.6-47.358 19.74-89.783 47.95-126.1 84.26s-64.723 78.732-84.258 126.1c-19.732 47.358-29.598 97.478-29.598 148.78s9.866 101.42 29.598 148.78 47.95 89.782 84.258 126.1l1602.3 1602.3c36.3 36.3 78.74 64.72 126.1 84.25 47.36 19.74 97.48 29.6 148.8 29.6 51.3 0 101.42-9.86 148.78-29.6 47.36-19.73 89.78-47.95 126.1-84.25 36.3-36.3 64.72-78.74 84.26-126.1 19.73-47.358 29.6-97.478 29.6-148.78s-9.86-101.42-29.6-148.78-47.95-89.782-84.26-126.1L979.6-1049.94c-36.308-36.3-78.733-64.72-126.1-84.26-47.357-19.73-97.478-29.6-148.78-29.6zM5866.3 353.82c-52.88 0-104.38-10.26-153.32-30.585-48.93-20.324-92.54-49.528-130.03-86.822l-731.1-731.1c-37.3-37.294-66.7-81.1-86.82-130.04s-30.6-100.44-30.6-153.32 10.26-104.38 30.6-153.32c20.32-48.936 49.53-92.543 86.82-130.03 37.3-37.3 81.1-66.7 130.04-86.83 48.94-20.32 100.44-30.58 153.32-30.58s104.38 10.26 153.32 30.58c48.94 20.33 92.55 49.53 130.04 86.83l731.08 731.08c37.3 37.294 66.7 81.1 86.82 130.04 20.13 48.937 30.6 100.44 30.6 153.32s-10.26 104.38-30.6 153.32c-20.32 48.936-49.52 92.545-86.82 130.04-37.3 37.294-81.1 66.695-130.03 86.822-48.94 20.324-100.44 30.585-153.33 30.585zm-731.08-1520.4c-51.3 0-101.42 9.87-148.78 29.6s-89.8 47.95-126.1 84.26c-36.3 36.3-64.73 78.73-84.26 126.1-19.54 47.357-29.6 97.478-29.6 148.78s9.87 101.42 29.6 148.78 47.95 89.783 84.26 126.1l731.08 731.1c36.3 36.307 78.74 64.722 126.1 84.257 47.36 19.733 97.48 29.6 148.78 29.6s101.43-9.866 148.8-29.6c47.35-19.732 89.78-47.95 126.1-84.257 36.3-36.308 64.72-78.733 84.25-126.1 19.54-47.358 29.6-97.478 29.6-148.78s-9.86-101.42-29.6-148.78c-19.73-47.358-47.95-89.782-84.25-126.1l-731.1-731.08c-36.3-36.3-78.73-64.72-126.1-84.26-47.36-19.73-97.48-29.6-148.78-29.6zm-97.92 1904c-.6 0-1.38 0-1.98-.197l-1.77-.592c-.6-.197-1.2-.592-1.78-.987s-.98-.8-1.58-1.184c-1.77-1.776-2.96-4.34-2.96-6.906s1-5.13 2.96-6.906c.4-.395 1-.8 1.58-1.184s1.2-.592 1.78-.987l1.77-.592c3.16-.592 6.7.395 8.88 2.763 1.78 1.775 2.96 4.34 2.96 6.906s-.98 5.13-2.96 6.906c-.4.395-.98.8-1.58 1.184-.6.395-1.18.592-1.77.987l-1.78.592c-.4 0-.98.197-1.77.197zm-58.8-58.8c-2.56 0-5.13-.987-6.9-2.96-1.78-1.776-2.96-4.34-2.96-6.907 0-.6 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184.98-1.776.4-.592.8-.986 1.2-1.578 2.37-2.368 5.72-3.355 8.88-2.763l1.77.592c.6.197 1.2.592 1.78.987s1 .8 1.58 1.184c.4.395.8.986 1.18 1.578.4.592.6 1.184 1 1.776l.6 1.776c.2.592.2 1.184.2 1.973 0 2.566-1 5.13-2.96 6.907-.4.394-1 .8-1.58 1.184s-1.18.592-1.78.986l-1.77.592c-.6 0-1.2.198-1.98.198zm-340.2 330.28c-3.95-3.95-3.95-10.063 0-14 3.75-3.946 10.06-3.946 14 0s3.94 10.06 0 14c-1.98 1.97-4.34 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm47.55-47.555c-3.94-3.946-3.94-10.063 0-14 3.95-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm47.56-47.752a10.13 10.13 0 0 1 0-14.01c3.94-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.06-3.947 14 0s3.95 10.063 0 14c-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.95-3.75-3.95-10.064 0-14 3.74-3.946 10.06-3.946 14 0s3.94 10.064 0 14c-1.98 1.973-4.35 2.96-6.9 2.96-2.57-.198-5.13-.987-7.1-2.96zm47.55-47.753c-3.95-3.75-3.95-10.063 0-14s10.06-3.946 14 0c3.95 3.75 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0 3.95 3.75 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.77 0-5.33-.987-7.1-2.96zm-4.32-103.555c-2.56 0-5.13-.987-6.9-2.96-.4-.395-.8-.987-1.2-1.58s-.6-1.183-1-1.775l-.6-1.776c-.2-.592-.2-1.184-.2-1.974 0-.6 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.986 1.2-1.578.98-.8 1.57-1.184c.6-.395 1.2-.592 1.78-.987l1.78-.592c3.15-.592 6.7.395 8.88 2.763.4.395.78.986 1.18 1.578s.6 1.184 1 1.776l.6 1.776c.2.592.2 1.382.2 1.973s0 1.382-.2 1.974l-.6 1.776c-.2.592-.6 1.183-1 1.775l-1.18 1.58c-1.98 1.973-4.54 2.96-7.1 2.96zm-340.2 330.52c-3.94-3.947-3.94-10.064 0-14 3.75-3.947 10.07-3.947 14.02 0 3.94 3.946 3.94 10.063 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.75-3.75-3.75-10.064 0-14 3.95-3.947 10.06-3.947 14 0s3.95 10.063 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.56-.198-5.13-1.184-7.1-2.96zm47.56-47.753a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0 3.74 3.75 3.74 10.064 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.75-47.555c-3.95-3.946-3.95-10.063 0-14 3.75-3.75 10.06-3.75 14 0 3.94 3.947 3.94 10.064 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm47.55-47.555c-3.94-3.946-3.94-10.063 0-14 3.75-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm47.56-47.752c-3.95-3.947-3.95-10.064 0-14 3.94-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.556a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.54 2.96-6.9 2.96-2.76 0-5.32-.986-7.1-2.96zm-4.33-103.594c-.6 0-1.2 0-1.97-.197l-1.78-.592c-.6-.197-1.18-.592-1.78-.987s-.98-.8-1.57-1.184c-.4-.394-.8-.986-1.2-1.578s-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.38-.2-1.973s0-1.184.2-1.974l.6-1.775c.2-.592.6-1.184 1-1.776s.8-.987 1.2-1.58c.4-.395.98-.8 1.57-1.184.6-.394 1.2-.592 1.78-.986l1.78-.592a10 10 0 0 1 8.88 2.762c.4.395.78.987 1.18 1.58s.6 1.184 1 1.776l.6 1.775c.2.592.2 1.382.2 1.974s-.01 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-1 1.776l-1.18 1.578c-1.78 1.974-4.35 2.96-6.9 2.96zm-340.2 330.52c-3.94-3.947-3.94-10.064 0-14 3.95-3.946 10.07-3.946 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.77-.197-5.33-1.184-7.1-2.96zm47.56-47.752a10.13 10.13 0 0 1 0-14.01c3.94-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.55-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zm47.75-47.555c-3.94-3.75-3.94-10.064 0-14 3.75-3.946 10.07-3.946 14.02 0 3.94 3.947 3.94 10.064 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.986-7.1-2.96zm47.56-47.556c-3.95-3.946-3.95-10.063 0-14s10.06-3.946 14 0 3.95 10.064 0 14c-1.97 1.974-4.54 2.96-6.9 2.96-2.76-.197-5.13-1.184-7.1-2.96zm47.56-47.752c-3.95-3.947-3.95-10.064 0-14 3.94-3.946 10.06-3.946 14 0a10.15 10.15 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.55-47.555c-3.95-3.947-3.95-10.064 0-14a10.13 10.13 0 0 1 14.01 0 10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm-4.13-103.595c-2.57 0-5.13-.987-6.9-2.96-.4-.395-.8-.987-1.18-1.58-.4-.592-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.38-.2-1.973s0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.987 1.18-1.58c1.78-1.776 4.34-2.96 6.9-2.96s5.13.987 6.9 2.96c.4.395.8.987 1.2 1.58s.6 1.184.98 1.776l.6 1.776c.2.592.2 1.38.2 1.973s0 1.184-.2 1.973l-.6 1.776c-.2.592-.6 1.184-.98 1.776-.4.592-.8.987-1.2 1.58-.4.394-.98.8-1.58 1.184s-1.18.592-1.77.986l-1.78.592c-.4.198-1.18.198-1.77.198zm-340.4 330.5c-3.94-3.75-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm47.75-47.753c-3.94-3.947-3.94-10.064 0-14 3.95-3.946 10.07-3.946 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.95-3.947-3.95-10.064 0-14 3.75-3.75 10.06-3.75 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.56-47.555c-3.95-3.947-3.95-10.064 0-14 3.74-3.75 10.06-3.75 14 0 3.94 3.946 3.94 10.063 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.57-.198-5.13-.987-7.1-2.96zm47.75-47.752c-3.95-3.947-3.95-10.064 0-14 3.94-3.946 10.06-3.946 14 0s3.94 10.064 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.986-7.1-2.96zm47.55-47.556c-3.94-3.946-3.94-10.063 0-14 3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.54 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zm47.56-47.555c-3.95-3.946-3.95-10.063 0-14 3.75-3.946 10.06-3.946 14 0s3.94 10.064 0 14c-1.98 1.973-4.34 2.96-6.9 2.96-2.56-.197-5.13-.987-7.1-2.96zM4743.3 443.2c-2.56 0-5.13-.986-6.9-2.96-.4-.394-.8-.986-1.2-1.578s-.6-1.184-.98-1.776l-.6-1.776c-.2-.592-.2-1.38-.2-1.973 0-2.566.98-5.13 2.96-6.907 1.77-1.776 4.34-2.96 6.9-2.96 2.57 0 5.13.987 6.9 2.96 1.78 1.776 2.96 4.34 2.96 6.907 0 .592 0 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-1 1.776s-.8.986-1.18 1.578c-1.78 1.974-4.34 2.96-6.9 2.96zm-340.4 330.33c-3.95-3.947-3.95-10.064 0-14s10.06-3.947 14 0 3.95 10.063 0 14c-1.97 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.959zm47.75-47.556c-3.94-3.946-3.94-10.063 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.974-4.34 2.96-6.9 2.96-2.77 0-5.33-.986-7.1-2.96zm47.56-47.555a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0s3.94 10.064 0 14c-1.98 1.974-4.34 2.96-6.9 2.96-2.56-.197-5.13-.986-7.1-2.96zm47.55-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm47.75-47.752c-3.94-3.75-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14.02 0 3.94 3.946 3.94 10.063 0 14-1.98 1.973-4.35 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm47.56-47.555c-3.95-3.75-3.95-10.064 0-14s10.06-3.947 14 0c3.95 3.75 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.56-47.555a10.13 10.13 0 0 1 0-14.01c3.94-3.947 10.06-3.947 14 0 3.94 3.75 3.94 10.063 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.57-.198-5.13-1.184-7.1-2.96zM4684.5 384.4c-.6 0-1.38 0-1.97-.198l-1.78-.6c-.6-.198-1.18-.592-1.77-.987-.6-.395-1-.8-1.58-1.184-.4-.395-.8-.987-1.2-1.58s-.6-1.184-.98-1.776l-.6-1.776c-.2-.592-.2-1.183-.2-1.973 0-.592 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184.98-1.776.4-.592.8-.986 1.2-1.578s.98-.8 1.58-1.184c.6-.395 1.18-.592 1.77-.987l1.78-.592c1.18-.197 2.56-.197 3.94 0l1.78.592c.6.197 1.18.592 1.78.987s.98.8 1.57 1.184c.6.394.8.986 1.2 1.578s.6 1.184 1 1.776l.6 1.776c.2.592.2 1.38.2 1.973s.01 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-1 1.776s-.8.987-1.2 1.58c-.4.395-.98.8-1.57 1.184-.6.395-1.2.592-1.78.987l-1.78.6c-.78.198-1.38.198-1.97.198zm-340.4 330.33c-3.95-3.946-3.95-10.063 0-14 3.75-3.946 10.06-3.946 14 0s3.94 10.064 0 14c-1.98 1.974-4.34 2.96-6.9 2.96s-5.13-.986-7.1-2.96zm47.75-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0s3.95 10.064 0 14c-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.32-.987-7.1-2.96zm47.55-47.555a10.15 10.15 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14.02 0 3.94 3.75 3.94 10.064 0 14-1.98 1.973-4.35 2.96-6.9 2.96-2.76-.197-5.13-.987-7.1-2.96zm47.56-47.752c-3.95-3.947-3.95-10.064 0-14 3.75-3.75 10.06-3.75 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.56-47.555c-3.95-3.947-3.95-10.064 0-14 3.74-3.75 10.06-3.75 14 0 3.94 3.946 3.94 10.063 0 14-1.98 1.973-4.35 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zm47.75-47.555c-3.95-3.947-3.95-10.064 0-14 3.94-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.34 2.96-6.9 2.96-2.76-.197-5.13-.986-7.1-2.96zm47.55-47.556a10.13 10.13 0 0 1 0-14.009c3.95-3.947 10.07-3.947 14 0a10.13 10.13 0 0 1 0 14.009c-1.97 1.974-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96z"/><path d="M4625.7 325.6c-2.57 0-5.13-.987-6.9-2.96-.4-.395-.8-.987-1.18-1.58-.4-.592-.6-1.183-1-1.775l-.6-1.776c-.2-.592-.2-1.382-.2-1.974s0-1.183.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776l1.18-1.578c.4-.395 1-.8 1.58-1.184s1.18-.592 1.78-.8l1.77-.592c1.2-.198 2.57-.198 3.75 0l1.78.592c.6.197 1.18.6 1.77.8.6.394 1 .8 1.58 1.184.4.395.8.986 1.2 1.578s.6 1.184.98 1.776l.6 1.776c.2.592.2 1.184.2 1.973 0 2.566-.98 5.13-2.96 6.907-.4.394-.98.8-1.58 1.184s-1.18.592-1.77.986l-1.78.592c-.8.395-1.38.395-1.97.395zm-340.4 330.33c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.53 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zm47.56-47.556a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.54 2.96-6.9 2.96-2.56 0-5.13-.986-7.1-2.96zm47.75-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.77-.197-5.33-1.184-7.1-2.96zm47.56-47.752c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.55-47.555c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.75-47.555a10.15 10.15 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14.02 0a10.15 10.15 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.76-.198-5.33-.987-7.1-2.96zm47.56-47.753a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0 3.75 3.75 3.75 10.064 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zM4244.7 706.44c-.6 0-1.2 0-1.98-.198l-1.77-.592c-.6-.197-1.2-.592-1.78-.986s-1-.8-1.58-1.184c-.4-.395-.8-.987-1.18-1.58-.4-.592-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.38-.2-1.973s0-1.184.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.986 1.18-1.578c.4-.395 1-.8 1.58-1.185s1.2-.592 1.78-.986l1.77-.592c1.2-.197 2.57-.197 3.75 0l1.78.592c.6.197 1.18.592 1.77.986.6.395 1 .8 1.58 1.185.4.394.8.986 1.2 1.578s.6 1.184.98 1.776l.6 1.776c.2.592.2 1.38.2 1.973s0 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-.98 1.776-.4.592-.8.987-1.2 1.58-.4.394-.98.8-1.58 1.184s-1.18.592-1.77.986l-1.78.592c-.4.198-1.18.198-1.77.198zm322-439.64c-.6 0-1.2.001-1.97-.197l-1.78-.592c-.6-.197-1.18-.592-1.78-.986s-.98-.8-1.57-1.184c-.4-.395-.8-.987-1.2-1.58s-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.184-.2-1.973s0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.987 1.2-1.58c.4-.394.98-.986 1.57-1.184.6-.394 1.2-.6 1.78-.986l1.78-.592a11.85 11.85 0 0 1 3.74 0l1.78.592c.6.197 1.18.592 1.78.986s.98.8 1.58 1.184c.4.395.78.987 1.18 1.58s.6 1.184 1 1.776l.6 1.776c.2.592.2 1.38.2 1.973s.01 1.184-.2 1.973l-.6 1.776c-.2.592-.6 1.184-1 1.776l-1.18 1.58c-1.58 1.776-4.15 2.96-6.9 2.96zm-340.2 330.32c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.95-3.947-3.95-10.064 0-14 3.94-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zM4321.8 502c-3.95-3.947-3.95-10.064 0-14 3.75-3.75 10.06-3.75 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.76-.198-5.32-1.184-7.1-2.96zm47.55-47.753c-3.94-3.946-3.94-10.063 0-14 3.75-3.75 10.07-3.75 14.02 0 3.94 3.947 3.94 10.064 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.95-3.946-3.95-10.063 0-14s10.06-3.946 14 0 3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.77-.197-5.33-1.184-7.1-2.96zm47.56-47.752c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zM4185.9 647.64c-.6 0-1.18 0-1.97-.198l-1.78-.6c-.6-.198-1.18-.592-1.77-.987s-1-.8-1.58-1.184c-1.78-1.776-2.96-4.34-2.96-6.907 0-.592 0-1.38.2-1.973l.6-1.775c.2-.592.6-1.184 1-1.776s.8-.987 1.18-1.58c.4-.395 1-.8 1.58-1.184s1.18-.592 1.77-.987l1.78-.592a11.97 11.97 0 0 1 3.75 0l1.78.592c.6.198 1.18.592 1.77.987s1 .8 1.58 1.184c.4.395.8.987 1.18 1.58.4.592.6 1.184 1 1.776l.6 1.775c.2.592.2 1.38.2 1.973 0 2.566-1 5.13-2.96 6.907-1.78 1.973-4.34 2.96-6.9 2.96zm322-439.64c-.6 0-1.38 0-1.98-.197l-1.77-.592c-.6-.197-1.2-.592-1.78-.987s-1-.8-1.58-1.184c-.4-.394-.8-.986-1.18-1.578-.4-.592-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.38-.2-1.973 0-2.565 1-5.13 2.96-6.907.4-.394 1-.8 1.58-1.184s1.2-.592 1.78-.986l1.77-.592c1.38-.198 2.57-.198 3.95 0l1.78.592c.6.197 1.18.592 1.77.986s1 .8 1.58 1.184c1.78 1.776 2.96 4.342 2.96 6.907 0 .592 0 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-1 1.776s-.8.986-1.18 1.578c-1.97 1.776-4.34 2.96-7.1 2.96zm-340.2 330.32c-3.95-3.947-3.95-10.064 0-14s10.06-3.946 14 0 3.95 10.064 0 14c-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.986-7.1-2.96zm47.55-47.556c-3.94-3.946-3.94-10.063 0-14 3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.53 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm47.76-47.752c-3.95-3.947-3.95-10.064 0-14 3.75-3.946 10.06-3.946 14 0s3.94 10.063 0 14c-1.98 1.973-4.34 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm47.55-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.77 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.95-3.75-3.95-10.064 0-14 3.94-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.55-47.753c-3.94-3.75-3.94-10.063 0-14 3.95-3.946 10.07-3.946 14 0 3.95 3.75 3.95 10.064 0 14-1.97 1.974-4.34 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zm47.75-47.555a10.15 10.15 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14.02 0 3.94 3.75 3.94 10.064 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zM4127.1 588.84c-.6 0-1.18 0-1.97-.197l-1.78-.592c-.6-.197-1.18-.592-1.77-.987-.6-.394-1-.8-1.58-1.183-1.78-1.776-2.96-4.342-2.96-6.907 0-.592 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184.98-1.776.4-.592.8-.986 1.2-1.578.4-.395.98-.8 1.58-1.185.6-.394 1.18-.592 1.77-.986l1.78-.592c1.38-.197 2.56-.197 3.94 0l1.78.592c.6.197 1.18.592 1.78.986s.98.8 1.57 1.185c.4.394.8.986 1.2 1.578s.6 1.184 1 1.776l.6 1.776c.2.592.2 1.184.2 1.973 0 2.565-.98 5.13-2.96 6.907-.4.394-.98.8-1.57 1.183-.6.395-1.2.592-1.78.987l-1.78.592c-.78.197-1.38.197-1.97.197zm322-439.84c-.6 0-1.38 0-1.97-.197l-1.78-.592c-.6-.197-1.18-.592-1.77-.987s-1-.8-1.58-1.184c-1.78-1.776-2.96-4.34-2.96-6.906 0-.592 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.987 1.18-1.58 1-.8 1.58-1.183 1.18-.592 1.77-.987l1.78-.592c1.38-.198 2.57-.198 3.95 0l1.77.592c.6.197 1.2.592 1.78.987s1 .8 1.58 1.183.8.987 1.18 1.58c.4.592.6 1.184 1 1.776l.6 1.776c.2.592.2 1.38.2 1.973s0 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-1 1.776s-.8.987-1.18 1.58c-.4.394-1 .8-1.58 1.184s-1.2.592-1.78.986l-1.77.592h-1.98zm-340.2 330.52c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.55-47.555c-3.75-3.75-3.75-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.198-5.13-1.184-7.1-2.96zm47.56-47.753a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0 3.75 3.75 3.75 10.064 0 14-1.98 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.555c-3.95-3.946-3.95-10.063 0-14 3.75-3.75 10.06-3.75 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.32-.987-7.1-2.96zm47.55-47.555c-3.94-3.946-3.94-10.063 0-14a10.13 10.13 0 0 1 14.01 0c3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-.987-7.1-2.96zm47.56-47.752c-3.95-3.947-3.95-10.064 0-14s10.06-3.947 14 0 3.95 10.063 0 14c-1.97 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.77 0-5.33-.986-7.1-2.96zM4068.3 530.04c-2.57 0-5.13-.987-6.9-2.96-.4-.395-.8-.986-1.18-1.578-.4-.592-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.184-.2-1.973 0-.592 0-1.382.2-1.974l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.986 1.18-1.578c2.37-2.368 5.72-3.355 8.88-2.763l1.78.592c.6.198 1.18.592 1.77.987.6.395 1 .8 1.58 1.184.4.395.8.986 1.2 1.578s.6 1.184.98 1.776l.6 1.776c.2.592.2 1.382.2 1.974s0 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-.98 1.776-.4.592-.8.986-1.2 1.578-1.97 1.776-4.54 2.96-7.1 2.96zm322-439.84c-2.56 0-5.13-.987-6.9-2.96-.4-.395-.78-.986-1.18-1.578s-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.38-.2-1.973s0-1.184.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776l1.18-1.58c.4-.395 1-.8 1.58-1.184.6-.395 1.2-.592 1.78-.987l1.78-.592a11.89 11.89 0 0 1 3.74 0l1.78.592c.6.197 1.18.592 1.78.987s.98.8 1.58 1.184c.4.395.78.987 1.18 1.58s.6 1.184 1 1.776l.6 1.776c.2.592.2 1.38.2 1.973s0 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-1 1.776l-1.18 1.578c-.4.395-1 .8-1.58 1.184-.6.395-1.2.592-1.78.987l-1.78.592c-.6.197-1.38.197-1.97.197zm-340.2 330.52c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.53 2.96-6.9 2.96-2.76-.197-5.33-.986-7.1-2.96zm47.56-47.753a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.55-47.555a10.15 10.15 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.53 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.76-47.555c-3.95-3.946-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.064 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76-.197-5.33-.987-7.1-2.96zm47.55-47.555c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.77-.198-5.13-1.184-7.1-2.96zm47.56-47.752a10.13 10.13 0 0 1 0-14.01c3.94-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.959zm47.55-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0 3.75 3.75 3.75 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zM4009.5 471.23c-.6 0-1.4 0-1.98-.197l-1.77-.592c-.6-.197-1.2-.592-1.78-.987s-1-.8-1.58-1.184c-.4-.394-.8-.986-1.18-1.578-.4-.592-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.38-.2-1.973s0-1.184.2-1.974l.6-1.775c.2-.592.6-1.184 1-1.776s.8-.987 1.18-1.58c.4-.395 1-.8 1.58-1.184s1.18-.592 1.78-.987l1.77-.592a10 10 0 0 1 8.88 2.763c1.78 1.776 2.96 4.34 2.96 6.906 0 .592 0 1.382-.2 1.973l-.6 1.776c-.2.592-.6 1.184-.98 1.776-.4.592-.8.987-1.2 1.58-1.77 1.973-4.34 3.157-6.9 3.157zm322-439.833c-.6 0-1.2 0-1.97-.197l-1.78-.592c-.6-.197-1.18-.592-1.78-.987s-.98-.8-1.57-1.184c-.4-.395-.8-.987-1.2-1.58s-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.184-.2-1.973 0-.592 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.987 1.2-1.58c.4-.395.98-.8 1.57-1.184.6-.395 1.2-.592 1.78-.987l1.78-.592a11.89 11.89 0 0 1 3.74 0l1.78.592c.6.197 1.18.592 1.78.987s.98.8 1.57 1.184c1.78 1.776 2.96 4.34 2.96 6.906s-.98 5.13-2.96 6.906c-.4.395-.98.8-1.57 1.184-.6.395-1.2.592-1.78.987l-1.78.592c-.4.592-1.18.592-1.77.592z"/><path d="M3991.3 361.92a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.77-.197-5.33-1.184-7.1-2.96zm47.56-47.753a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.55-47.555c-3.94-3.946-3.94-10.063 0-14 3.75-3.75 10.07-3.75 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.95-3.947-3.95-10.064 0-14 3.75-3.75 10.06-3.75 14 0 3.94 3.946 3.94 10.063 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.56-.198-5.13-.987-7.1-2.96zm47.75-47.752c-3.95-3.947-3.95-10.064 0-14s10.06-3.946 14 0 3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.32-.986-7.1-2.96zm47.55-47.556a10.15 10.15 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.53 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zm47.56-47.555c-3.95-3.947-3.95-10.064 0-14 3.75-3.946 10.06-3.946 14 0s3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-.987-7.1-2.96zM3950.7 412.43c-.6 0-1.18.001-1.97-.197l-1.78-.592c-.6-.197-1.18-.592-1.77-.986s-1-.8-1.58-1.184c-1.78-1.776-2.96-4.342-2.96-6.907 0-.592 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.986 1.18-1.578c.4-.395 1-.8 1.58-1.184s1.18-.592 1.77-.987l1.78-.592a11.97 11.97 0 0 1 3.75 0l1.78.592c.6.197 1.18.592 1.77.987s1 .8 1.58 1.184c.4.394.8.986 1.18 1.578.4.592.6 1.184 1 1.776l.6 1.776c.2.592.2 1.38.2 1.973 0 2.565-1 5.13-2.96 6.907-.4.394-1 .8-1.58 1.184s-1.18.6-1.77.986l-1.78.592c-.6 0-1.18.197-1.78.197zm-18.4-109.5c-3.94-3.946-3.94-10.063 0-14 3.95-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.75-47.555c-3.94-3.946-3.94-10.063 0-14 3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.53 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm47.56-47.555c-3.95-3.946-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.55-47.555c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.53 2.96-6.9 2.96-2.57-.198-5.13-1.184-7.1-2.96zm47.76-47.753c-3.95-3.75-3.95-10.063 0-14 3.94-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.974-4.54 2.96-6.9 2.96-2.76 0-5.33-.986-7.1-2.96zm47.55-47.555c-3.94-3.75-3.94-10.063 0-14 3.95-3.947 10.07-3.947 14 0 3.75 3.75 3.75 10.064 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.77 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.95-3.947-3.95-10.064 0-14 3.75-3.946 10.06-3.946 14 0s3.94 10.064 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-.987-7.1-2.96zM3891.7 353.43c-.6 0-1.18 0-1.97-.198l-1.78-.592c-.6-.197-1.18-.592-1.77-.986s-1-.8-1.58-1.184c-1.78-1.776-2.96-4.34-2.96-6.906s1-5.13 2.96-6.907a9.99 9.99 0 0 1 8.88-2.762l1.78.592c.6.197 1.18.592 1.77.986s1 .8 1.58 1.184c1.78 1.776 2.96 4.34 2.96 6.907s-1 5.13-2.96 6.906c-.4.395-1 .8-1.58 1.184s-1.18.592-1.77.986l-1.78.592c-.4.198-1 .198-1.78.198zm-18.2-109.33c-3.95-3.946-3.95-10.063 0-14s10.06-3.946 14 0 3.95 10.064 0 14c-1.97 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.555c-3.75-3.75-3.75-10.063 0-14 3.95-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.77 0-5.33-.987-7.1-2.96zM3968.8 149a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0 3.94 3.75 3.94 10.064 0 14-1.98 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.55-47.752c-3.94-3.947-3.94-10.064 0-14a10.13 10.13 0 0 1 14.01 0c3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.56-47.556c-3.95-3.947-3.95-10.064 0-14a10.13 10.13 0 0 1 14.01 0c3.94 3.946 3.94 10.063 0 14-1.98 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.555c-3.95-3.946-3.95-10.063 0-14s10.06-3.947 14 0 3.95 10.063 0 14c-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.55-47.555a10.15 10.15 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.53 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zM3832.9 294.63c-.6 0-1.38 0-1.97-.197l-1.78-.592c-.6-.197-1.18-.592-1.77-.987-.6-.394-1-.8-1.58-1.184-.4-.394-.8-.986-1.2-1.578s-.6-1.184-.98-1.776l-.6-1.776c-.2-.592-.2-1.184-.2-1.974 0-.6 0-1.38.2-1.973l.6-1.775c.2-.592.6-1.184.98-1.776.4-.592.8-.987 1.2-1.58 1.77-1.776 4.34-2.96 6.9-2.96 2.57 0 5.13.987 6.9 2.96.4.395.8.987 1.18 1.58.4.592.6 1.184 1 1.776l.6 1.775c.2.592.2 1.382.2 1.973s0 1.382-.2 1.974l-.6 1.776c-.2.592-.6 1.184-1 1.776s-.8.986-1.18 1.578c-1.58 1.974-3.95 2.96-6.7 2.96zm-18.2-109.33c-3.95-3.946-3.95-10.063 0-14a10.13 10.13 0 0 1 14.01 0c3.94 3.947 3.94 10.064 0 14-1.98 1.974-4.34 2.96-6.9 2.96s-5.13-.986-7.1-2.96zm47.55-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.34 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zM3910 90.2a10.15 10.15 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.34 2.96-6.9 2.96-2.76-.197-5.13-1.184-7.1-2.96zm47.56-47.752c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.95 10.063 0 14c-1.97 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.55-47.555c-3.94-3.947-3.94-10.063 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.76-47.555c-3.75-3.75-3.75-10.064 0-14 3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.34 2.96-6.9 2.96-2.76-.197-5.33-.987-7.1-2.96zm47.55-47.753c-3.75-3.75-3.75-10.063 0-14 3.95-3.946 10.07-3.946 14 0 3.75 3.75 3.75 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zM3774.1 235.82c-.6 0-1.38 0-1.98-.197l-1.77-.592c-.6-.198-1.2-.592-1.78-.987s-.98-.8-1.58-1.184c-.4-.395-.78-.987-1.18-1.58s-.6-1.183-1-1.775l-.6-1.776c-.2-.592-.2-1.382-.2-1.974 0-2.565 1-5.13 2.96-6.906.4-.394 1-.8 1.58-1.184s1.2-.592 1.78-.986l1.77-.592c1.2-.198 2.57-.198 3.75 0l1.78.592c.6.197 1.18.592 1.78.986s.98.8 1.57 1.184c1.78 1.776 2.96 4.34 2.96 6.906s-.98 5.13-2.96 6.907c-.4.394-.98.8-1.57 1.184-.6.394-1.2.592-1.78.986l-1.78.592c-.4.395-1.18.395-1.77.395z"/><path d="M3755.9 126.5a10.15 10.15 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.53 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.56-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zM3851.2 31.4c-3.94-3.947-3.94-10.063 0-14 3.75-3.947 10.07-3.947 14 0 3.95 3.947 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.77-.197-5.33-1.184-7.1-2.96zm47.56-47.752c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0 3.94 3.75 3.94 10.064 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.55-47.555c-3.94-3.946-3.94-10.063 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.75-47.555a10.15 10.15 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.53 2.96-6.9 2.96-2.76-.197-5.33-1.184-7.1-2.96zm47.56-47.752c-3.95-3.946-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zM3715.3 177.02c-2.57 0-5.13-.987-6.9-2.96-.4-.395-.8-.986-1.18-1.578-.4-.592-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.184-.2-1.974 0-.6 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.183 1-1.775s.78-.987 1.18-1.58c1.78-1.776 4.34-2.96 6.9-2.96s5.13.987 6.9 2.96c.4.395.8.987 1.2 1.58s.6 1.183.98 1.775l.6 1.776c.2.592.2 1.382.2 1.973s0 1.382-.2 1.974l-.6 1.776c-.2.592-.6 1.184-.98 1.776-.4.592-.8.986-1.2 1.578-1.77 1.973-4.34 2.96-6.9 2.96zm-18.2-109.315c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.77 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.95-3.946-3.95-10.064 0-14 3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-1.184-7.1-2.96zm47.75-47.752c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.95 10.063 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.32-.987-7.1-2.96zm47.55-47.555c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.53 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.56-47.556a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.54 2.96-6.9 2.96-2.56-.197-5.13-.986-7.1-2.96zm47.55-47.555c-3.94-3.946-3.94-10.063 0-14 3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.53 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm47.76-47.752c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zM3656.4 118.22c-.6 0-1.18 0-1.97-.197l-1.78-.592c-.6-.198-1.18-.592-1.77-.987s-1-.8-1.58-1.184c-.4-.395-.8-.987-1.18-1.58-.4-.592-.6-1.184-1-1.776l-.6-1.775c-.2-.592-.2-1.382-.2-1.974 0-2.565 1-5.13 2.96-6.906 1.78-1.776 4.34-2.96 6.9-2.96s5.13.987 6.9 2.96c1.78 1.776 2.96 4.34 2.96 6.906 0 .592 0 1.382-.2 1.974l-.6 1.775c-.2.592-.6 1.184-.98 1.776-.4.592-.8.987-1.2 1.58-.4.395-.98.8-1.58 1.184s-1.18.592-1.77.987l-1.78.592c-.2.197-.98.197-1.58.197zM3638.3 8.902c-3.95-3.947-3.95-10.063 0-14s10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.55-47.555c-3.74-3.75-3.74-10.063 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm47.56-47.752a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0s3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.555c-3.94-3.946-3.94-10.063 0-14a10.13 10.13 0 0 1 14.01 0c3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.77 0-5.33-.987-7.1-2.96zm47.56-47.555c-3.95-3.946-3.95-10.063 0-14a10.13 10.13 0 0 1 14.01 0 10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-.987-7.1-2.96zm47.55-47.752c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.75-47.555c-3.94-3.947-3.94-10.064 0-14 3.75-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.53 2.96-6.9 2.96-2.76 0-5.33-.986-7.1-2.96zM3597.6 59.417c-.6 0-1.38 0-1.97-.197l-1.78-.592c-.6-.197-1.18-.592-1.77-.987-.6-.395-1-.8-1.58-1.184-.4-.395-.8-.986-1.2-1.578s-.6-1.184-.98-1.776l-.6-1.776c-.2-.592-.2-1.184-.2-1.973 0-.592 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184.98-1.776.4-.592.8-.986 1.2-1.578.4-.395.98-.8 1.58-1.184s1.18-.592 1.77-.987l1.78-.592c3.15-.592 6.7.395 8.88 2.763.4.395.8.986 1.18 1.578.4.592.6 1.184 1 1.776l.6 1.776c.2.592.2 1.38.2 1.973s0 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-1 1.776s-.8.986-1.18 1.578c-1.78 1.776-4.34 2.96-6.9 2.96zM3538.8.615c-2.57 0-5.13-.987-6.9-2.96-1.77-1.776-2.96-4.34-2.96-6.906 0-.592 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.987 1.18-1.58c1.78-1.776 4.34-2.96 6.9-2.96s5.13.987 6.9 2.96c.4.395.8.987 1.2 1.58s.6 1.184 1 1.776l.6 1.776c.2.592.2 1.38.2 1.973 0 2.565-.98 5.13-2.96 6.906-1.77 1.776-4.34 2.96-6.9 2.96zM4784 2069.6c-3.94-3.95-3.94-10.07 0-14 3.95-3.95 10.07-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.54 2.96-6.9 2.96-2.77 0-5.33-1-7.1-2.96zm-46.17-45.98c-3.95-3.95-3.95-10.06 0-14 3.75-3.95 10.06-3.95 14 0s3.95 10.06 0 14c-1.97 1.97-4.34 2.96-6.9 2.96-2.56-.2-5.13-1.18-7.1-2.96zm-45.98-46.17c-3.94-3.95-3.94-10.07 0-14 3.95-3.95 10.07-3.95 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.77 0-5.13-1-7.1-2.96zm-45.97-45.98c-3.95-3.95-3.95-10.06 0-14 3.94-3.95 10.06-3.95 14 0s3.94 10.06 0 14c-1.98 1.97-4.35 2.96-6.9 2.96-2.76-.2-5.33-1-7.1-2.96zm-46.18-45.98c-3.94-3.94-3.94-10.06 0-14 3.75-3.94 10.07-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.54 2.96-6.9 2.96-2.57-.2-5.13-1.18-7.1-2.96zm-45.97-46.17c-3.95-3.95-3.95-10.06 0-14 3.94-3.95 10.06-3.95 14 0s3.94 10.06 0 14c-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm-45.98-45.98c-3.95-3.94-3.95-10.06 0-14 3.75-3.94 10.06-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.54 2.96-6.9 2.96-2.76-.2-5.33-.98-7.1-2.96zm-46.17-45.97c-3.95-3.95-3.95-10.07 0-14 3.74-3.95 10.06-3.95 14 0 3.94 3.94 3.94 10.06 0 14-1.98 1.97-4.54 2.96-6.9 2.96-2.57-.2-5.13-1.2-7.1-2.96zm-45.98-46.18c-3.95-3.94-3.95-10.06 0-14 3.75-3.94 10.06-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.76 0-5.13-.98-7.1-2.96zm-45.98-45.97c-3.94-3.95-3.94-10.07 0-14 3.75-3.95 10.07-3.95 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.77-.2-5.33-1-7.1-2.96zm-46.17-45.98a10.13 10.13 0 0 1 0-14.01c3.94-3.95 10.06-3.95 14 0s3.94 10.06 0 14c-1.97 1.97-4.34 2.96-6.9 2.96-2.56-.2-5.13-1.18-7.1-2.96zm-45.98-46.17c-3.94-3.95-3.94-10.07 0-14 3.75-3.95 10.07-3.95 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.77 0-5.13-1-7.1-2.96zm-46.17-45.98c-3.75-3.75-3.75-10.06 0-14 3.94-3.95 10.06-3.95 14 0s3.94 10.06 0 14c-1.98 1.97-4.34 2.96-6.9 2.96-2.56-.2-5.13-1-7.1-2.96zm-45.98-45.98a10.13 10.13 0 0 1 0-14.01c3.95-3.94 10.06-3.94 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.98-4.54 2.96-6.9 2.96-2.57-.2-5.13-1.18-7.1-2.96zm-45.97-46.17c-3.95-3.75-3.95-10.06 0-14 3.94-3.95 10.06-3.95 14 0 3.95 3.95 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm-46.18-45.98a10.13 10.13 0 0 1 0-14.01c3.95-3.94 10.06-3.94 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.98-4.54 2.96-6.9 2.96-2.56-.2-5.13-.98-7.1-2.96zm-45.97-46.17c-3.95-3.75-3.95-10.06 0-14 3.94-3.95 10.06-3.95 14 0 3.75 3.75 3.75 10.06 0 14-1.97 1.97-4.53 2.96-6.9 2.96-2.57 0-5.13-1-7.1-2.96zm-45.98-45.98c-3.95-3.75-3.95-10.06 0-14 3.94-3.94 10.06-3.94 14 0 3.94 3.95 3.94 10.07 0 14-1.98 1.98-4.54 2.96-6.9 2.96-2.76 0-5.13-.98-7.1-2.96zm-46.18-45.97c-3.94-3.95-3.94-10.07 0-14 3.95-3.95 10.07-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.53 2.96-6.9 2.96-2.57-.2-5.13-1-7.1-2.96zm-45.97-46.18c-3.95-3.75-3.95-10.06 0-14 3.94-3.94 10.06-3.94 14 0 3.94 3.75 3.94 10.07 0 14-1.98 1.98-4.34 2.96-6.9 2.96a9.98 9.98 0 0 1-7.1-2.96zm-45.98-45.97c-3.94-3.95-3.94-10.07 0-14a10.13 10.13 0 0 1 14.01 0c3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.76 0-5.32-1-7.1-2.96zm-46.17-45.98c-3.95-3.95-3.95-10.06 0-14 3.75-3.95 10.06-3.95 14 0 3.94 3.75 3.94 10.06 0 14-1.98 1.97-4.34 2.96-6.9 2.96-2.56-.2-5.13-1-7.1-2.96zm-45.98-46.18c-3.95-3.94-3.95-10.06 0-14a10.15 10.15 0 0 1 14.01 0c3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.54 2.96-6.9 2.96a9.98 9.98 0 0 1-7.1-2.96zm-45.98-45.97c-3.94-3.95-3.94-10.07 0-14.012 3.75-3.75 10.07-3.75 14 0 3.95 3.942 3.95 10.062 0 14.012-1.97 1.97-4.34 2.96-6.9 2.96-2.76 0-5.33-1-7.1-2.96zm-46.17-45.978c-3.95-3.946-3.95-10.064 0-14 3.75-3.75 10.06-3.75 14 0 3.95 3.946 3.95 10.064 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-1.184-7.1-2.96zm-45.98-46.174a10.15 10.15 0 0 1 0-14.01 10.13 10.13 0 0 1 14.01 0c3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm-45.97-45.976c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.986-7.1-2.96zm-46.18-45.977a10.13 10.13 0 0 1 0-14.01 10.13 10.13 0 0 1 14.01 0c3.95 3.947 3.95 10.064 0 14-1.97 1.974-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm-45.97-46.174a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.974-4.54 2.96-6.9 2.96-2.56 0-5.13-.986-7.1-2.96zm-45.98-45.976a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.06-3.947 14 0s3.95 10.063 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.32-.987-7.1-2.96zm-46.17-45.977a10.13 10.13 0 0 1 0-14.01 10.13 10.13 0 0 1 14.01 0 10.13 10.13 0 0 1 0 14.01c-1.98 1.974-4.34 2.96-6.9 2.96-2.56-.197-5.13-1.184-7.1-2.96zm-45.98-46.173c-3.95-3.947-3.95-10.064 0-14s10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.986-7.1-2.96zm-45.98-45.977a10.15 10.15 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.34 2.96-6.9 2.96-2.76-.197-5.33-.987-7.1-2.96zm-46.17-45.976c-3.95-3.947-3.95-10.064 0-14s10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.011c-1.97 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-1.183-7.1-2.96zm-45.98-46.174c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.77 0-5.13-.987-7.1-2.96zm-45.97-45.977c-3.95-3.946-3.95-10.063 0-14 3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.76-.197-5.33-.987-7.1-2.96zm-46.18-45.976c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.198-5.13-1.184-7.1-2.96zM3080.3 365.9c-3.95-3.947-3.95-10.064 0-14 3.94-3.946 10.06-3.946 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm-45.98-45.977c-3.95-3.946-3.95-10.063 0-14s10.06-3.946 14 0 3.95 10.064 0 14c-1.97 1.974-4.34 2.96-6.9 2.96-2.76-.197-5.32-.986-7.1-2.96zm-46.17-45.976c-3.95-3.946-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.064 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-1.184-7.1-2.96zm-45.98-46.174c-3.95-3.946-3.95-10.063 0-14s10.06-3.946 14 0 3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zM2896 181.798c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-.986-7.1-2.96zm-45.98-46.174c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.95 10.063 0 14c-1.97 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm-45.98-45.977c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.947 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.77 0-5.13-.987-7.1-2.96zm-46.17-45.977c-3.95-3.75-3.95-10.063 0-14 3.75-3.947 10.06-3.947 14 0s3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-1.184-7.1-2.96zM2711.9-2.504a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0 3.95 3.947 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm-45.97-45.976c-3.95-3.946-3.95-10.063 0-14 3.75-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm-46.18-45.977c-3.94-3.75-3.94-10.064 0-14 3.75-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm-45.97-46.174a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm-45.98-45.976c-3.95-3.75-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.32-.987-7.1-2.96zm-46.17-45.977a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0s3.94 10.064 0 14c-1.98 1.973-4.35 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm-45.98-46.174c-3.95-3.946-3.95-10.063 0-14s10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.54 2.96-6.9 2.96-2.56 0-5.13-.986-7.1-2.96zm-45.98-45.976c-3.94-3.75-3.94-10.064 0-14 3.95-3.946 10.07-3.946 14 0 3.95 3.75 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.77 0-5.33-.987-7.1-2.96zm-46.17-45.977a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.54 2.96-6.9 2.96-2.56-.197-5.13-1.184-7.1-2.96zm-45.98-46.174c-3.94-3.946-3.94-10.063 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.75 3.95 10.063 0 14-1.97 1.974-4.34 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zm-45.97-45.976c-3.95-3.946-3.95-10.063 0-14 3.94-3.946 10.06-3.946 14 0 3.94 3.75 3.94 10.064 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm-46.18-45.976c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.75 3.75 3.75 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm-45.97-46.174c-3.95-3.947-3.95-10.064 0-14 3.74-3.947 10.06-3.947 14 0 3.94 3.75 3.94 10.063 0 14-1.98 1.973-4.35 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm-45.98-45.977c-3.95-3.946-3.95-10.063 0-14a10.13 10.13 0 0 1 14.01 0c3.95 3.947 3.95 10.064 0 14-1.97 1.974-4.54 2.96-6.9 2.96-2.76 0-5.32-.986-7.1-2.96z"/><path d="M3386.9 489c-3.95-3.946-3.95-10.064 0-14 3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm-46.18-45.976c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.183-7.1-2.96zm-45.97-46.174c-3.95-3.947-3.95-10.064 0-14 3.94-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm-45.98-45.977c-3.95-3.946-3.95-10.063 0-14 3.75-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.974-4.34 2.96-6.9 2.96-2.77 0-5.33-.986-7.1-2.96zm-46.17-45.976c-3.95-3.947-3.95-10.064 0-14 3.94-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.56-.198-5.13-1.184-7.1-2.96zm-45.98-46.174c-3.95-3.947-3.95-10.064 0-14s10.06-3.946 14 0 3.95 10.063 0 14c-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm-45.98-45.976c-3.94-3.947-3.94-10.064 0-14 3.75-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.53 2.96-6.9 2.96-2.76-.197-5.33-.986-7.1-2.96zm-46.17-45.977a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0s3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-1.184-7.1-2.96zm-45.98-46.174c-3.94-3.946-3.94-10.063 0-14 3.75-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zM2972.52 74.6c-3.95-3.75-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.064 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76-.197-5.33-.987-7.1-2.96zm-46.18-45.977a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm-45.97-46.174c-3.95-3.75-3.95-10.063 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.064 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm-46.18-45.976c-3.75-3.75-3.75-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-.987-7.1-2.96zm-45.97-46.174c-3.95-3.75-3.95-10.063 0-14 3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm-45.98-45.977c-3.75-3.75-3.75-10.063 0-14 3.95-3.947 10.06-3.947 14 0s3.95 10.063 0 14c-1.97 1.974-4.34 2.96-6.9 2.96-2.76 0-5.13-.986-7.1-2.96zm-46.17-45.976a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-.987-7.1-2.96zm-45.98-46.174c-3.95-3.75-3.95-10.063 0-14s10.06-3.946 14 0c3.95 3.75 3.95 10.064 0 14-1.97 1.974-4.34 2.96-6.9 2.96s-5.13-.986-7.1-2.96zm-45.98-45.976a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.53 2.96-6.9 2.96-2.77 0-5.13-.987-7.1-2.96zm-46.17-45.977c-3.95-3.946-3.95-10.063 0-14s10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.54 2.96-6.9 2.96-2.56-.197-5.13-.986-7.1-2.96zm-45.98-46.173c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.75 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zM2466-431.92c-3.95-3.947-3.95-10.064 0-14a10.13 10.13 0 0 1 14.01 0c3.94 3.946 3.94 10.063 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm-46.18-45.976c-3.94-3.947-3.94-10.064 0-14 3.75-3.946 10.07-3.946 14 0 3.95 3.75 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.183-7.1-2.96zm-45.97-46.174c-3.95-3.947-3.95-10.064 0-14 3.94-3.947 10.06-3.947 14 0 3.94 3.75 3.94 10.063 0 14-1.98 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm-45.98-45.977c-3.95-3.946-3.95-10.063 0-14 3.75-3.75 10.06-3.75 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.32-.987-7.1-2.96zm-46.17-45.976c-3.95-3.947-3.95-10.064 0-14 3.75-3.75 10.06-3.75 14 0 3.94 3.946 3.94 10.063 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.57-.198-5.13-1.184-7.1-2.96zm-45.98-46.174a10.13 10.13 0 0 1 0-14.01 10.13 10.13 0 0 1 14.01 0c3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zM4445.4 3871.9c-3.94-3.94-3.94-10.06 0-14 3.75-3.94 10.07-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.76 0-5.13-.98-7.1-2.96zm-46.17-45.97a10.13 10.13 0 0 1 0-14.01c3.95-3.95 10.06-3.95 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.56-.2-5.13-1.2-7.1-2.96zm-45.98-46.18c-3.94-3.94-3.94-10.06 0-14 3.75-3.94 10.07-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.57 0-5.13-.98-7.1-2.96zm-45.97-45.97c-3.95-3.95-3.95-10.07 0-14 3.75-3.95 10.06-3.95 14 0 3.94 3.94 3.94 10.06 0 14-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.33-1-7.1-2.96zm-46.18-45.98c-3.94-3.95-3.94-10.06 0-14 3.95-3.95 10.07-3.95 14 0 3.95 3.95 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.57-.2-5.13-1.18-7.1-2.96zm-45.97-46.17c-3.95-3.95-3.95-10.07 0-14 3.75-3.95 10.06-3.95 14 0 3.94 3.94 3.94 10.06 0 14-1.98 1.97-4.54 2.96-6.9 2.96-2.56 0-5.13-1-7.1-2.96zm-45.98-45.98c-3.95-3.95-3.95-10.06 0-14 3.75-3.95 10.06-3.95 14 0s3.95 10.06 0 14c-1.97 1.97-4.54 2.96-6.9 2.96-2.77 0-5.33-1-7.1-2.96zm-46.17-45.98c-3.95-3.94-3.95-10.06 0-14 3.75-3.94 10.06-3.94 14 0 3.94 3.95 3.94 10.07 0 14-1.98 1.98-4.34 2.96-6.9 2.96-2.56-.2-5.13-1.18-7.1-2.96zM4077 3503.5a10.13 10.13 0 0 1 0-14.01c3.95-3.95 10.06-3.95 14 0s3.95 10.06 0 14c-1.97 1.97-4.34 2.96-6.9 2.96s-5.13-1-7.1-2.96zm-45.98-45.98a10.15 10.15 0 0 1 0-14.01c3.95-3.94 10.07-3.94 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.98-4.53 2.96-6.9 2.96-2.76 0-5.33-.98-7.1-2.96zm-46.17-45.97c-3.95-3.75-3.95-10.07 0-14 3.75-3.95 10.06-3.95 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.56-.2-5.13-1.2-7.1-2.96zm-45.98-46.18c-3.75-3.75-3.75-10.06 0-14 3.95-3.94 10.07-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.57 0-5.13-.98-7.1-2.96zm-45.97-45.97a10.13 10.13 0 0 1 0-14.01c3.94-3.95 10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.33-1-7.1-2.96zm-46.18-45.98c-3.94-3.75-3.94-10.06 0-14 3.95-3.95 10.07-3.95 14 0 3.95 3.95 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.57-.2-5.13-1.18-7.1-2.96zm-45.97-46.17c-3.95-3.95-3.95-10.07 0-14 3.94-3.95 10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm-45.98-45.98c-3.95-3.95-3.95-10.06 0-14s10.06-3.95 14 0c3.95 3.75 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.76 0-5.32-1-7.1-2.96zm-46.17-45.98c-3.95-3.94-3.95-10.06 0-14 3.94-3.94 10.06-3.94 14 0 3.94 3.75 3.94 10.07 0 14-1.98 1.98-4.54 2.96-6.9 2.96-2.56-.2-5.13-1.18-7.1-2.96zm-45.98-46.17c-3.95-3.95-3.95-10.06 0-14s10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.54 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm-45.98-45.98c-3.94-3.94-3.94-10.06 0-14 3.95-3.94 10.07-3.94 14 0 3.95 3.75 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.76-.2-5.33-.98-7.1-2.96zm-46.17-45.97c-3.95-3.95-3.95-10.07 0-14a10.13 10.13 0 0 1 14.01 0c3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.56-.2-5.13-1.2-7.1-2.96zM3524.5 2951c-3.94-3.94-3.94-10.06 0-14 3.75-3.94 10.07-3.94 14 0 3.95 3.75 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.77 0-5.13-.98-7.1-2.96zm-45.97-45.97c-3.95-3.95-3.95-10.07 0-14a10.13 10.13 0 0 1 14.01 0c3.94 3.94 3.94 10.06 0 14-1.98 1.97-4.54 2.96-6.9 2.96-2.76-.2-5.33-1-7.1-2.96zm-46.18-46.18c-3.94-3.94-3.94-10.06 0-14a10.13 10.13 0 0 1 14.01 0c3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.57 0-5.13-.98-7.1-2.96zm-45.97-45.97c-3.95-3.95-3.95-10.07 0-14 3.75-3.95 10.06-3.95 14 0 3.94 3.75 3.94 10.06 0 14-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm-46.18-45.98a10.13 10.13 0 0 1 0-14.01 10.13 10.13 0 0 1 14.01 0c3.95 3.95 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.57-.2-5.13-1-7.1-2.96zm-45.97-46.17c-3.95-3.95-3.95-10.07 0-14 3.75-3.75 10.06-3.75 14 0 3.94 3.94 3.94 10.06 0 14-1.98 1.97-4.54 2.96-6.9 2.96-2.56 0-5.13-1-7.1-2.96zm-45.98-45.98a10.13 10.13 0 0 1 0-14.01c3.95-3.95 10.06-3.95 14 0s3.95 10.06 0 14c-1.97 1.97-4.54 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm-46.17-45.98a10.13 10.13 0 0 1 0-14.01 10.13 10.13 0 0 1 14.01 0 10.13 10.13 0 0 1 0 14.01c-1.98 1.98-4.35 2.96-6.9 2.96-2.57-.2-5.13-.98-7.1-2.96zm-45.98-46.17c-3.95-3.95-3.95-10.06 0-14 3.75-3.95 10.06-3.95 14 0s3.95 10.06 0 14c-1.97 1.97-4.54 2.96-6.9 2.96-2.56 0-5.13-1-7.1-2.96zm-45.98-45.98a10.13 10.13 0 0 1 0-14.01c3.95-3.94 10.07-3.94 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.98-4.34 2.96-6.9 2.96-2.77 0-5.13-.98-7.1-2.96zm-46.17-45.97c-3.95-3.95-3.95-10.07 0-14 3.95-3.95 10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.54 2.96-6.9 2.96-2.56-.2-5.13-1.2-7.1-2.96zm-45.98-46.18a10.13 10.13 0 0 1 0-14.01c3.95-3.94 10.07-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.57 0-5.13-.98-7.1-2.96zM2972 2398.5a10.13 10.13 0 0 1 0-14.01c3.94-3.95 10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.33-1-7.1-2.96zm-46.18-45.98c-3.94-3.95-3.94-10.06 0-14 3.95-3.95 10.07-3.95 14 0 3.95 3.95 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.57-.2-5.13-1.18-7.1-2.96zm-45.97-46.17a10.13 10.13 0 0 1 0-14.01c3.94-3.95 10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.97-4.54 2.96-6.9 2.96-2.57 0-5.13-1-7.1-2.96zm-45.98-45.98c-3.95-3.95-3.95-10.06 0-14s10.06-3.95 14 0 3.95 10.06 0 14c-1.97 1.97-4.34 2.96-6.9 2.96-2.76 0-5.32-1-7.1-2.96zm-46.17-45.98c-3.95-3.94-3.95-10.06 0-14 3.94-3.94 10.06-3.94 14 0 3.94 3.95 3.94 10.07 0 14-1.98 1.98-4.54 2.96-6.9 2.96-2.57-.2-5.13-1.18-7.1-2.96zm-45.98-46.17c-3.95-3.95-3.95-10.06 0-14s10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.54 2.96-6.9 2.96-2.56 0-5.13-1-7.1-2.96zm-45.98-45.98c-3.94-3.94-3.94-10.06 0-14 3.75-3.94 10.07-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.77 0-5.33-.98-7.1-2.96zm-46.17-45.97c-3.95-3.95-3.95-10.07 0-14 3.95-3.95 10.06-3.95 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.56-.2-5.13-1.2-7.1-2.96zm-45.98-46.18c-3.94-3.94-3.94-10.06 0-14 3.75-3.94 10.07-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.57 0-5.13-.98-7.1-2.96zm-45.97-45.97c-3.95-3.95-3.95-10.07 0-14 3.75-3.95 10.06-3.95 14 0 3.94 3.94 3.94 10.06 0 14-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.33-1-7.1-2.96zm-46.18-45.98c-3.94-3.95-3.94-10.06 0-14 3.95-3.95 10.07-3.95 14 0 3.95 3.95 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.57-.2-5.13-1.2-7.1-2.96zm-45.97-46.17c-3.95-3.95-3.95-10.07 0-14 3.74-3.95 10.06-3.95 14 0 3.94 3.94 3.94 10.06 0 14-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zM2419.5 1846c-3.95-3.95-3.95-10.06 0-14 3.75-3.95 10.06-3.95 14 0s3.95 10.06 0 14c-1.97 1.97-4.54 2.96-6.9 2.96-2.76 0-5.33-1-7.1-2.96zm-46.2-46c-3.95-3.94-3.95-10.06 0-14 3.74-3.75 10.06-3.75 14 0a10.15 10.15 0 0 1 0 14.01c-1.98 1.98-4.54 2.96-6.9 2.96-2.57-.2-5.13-1.18-7.1-2.96zm-45.98-46.17a10.13 10.13 0 0 1 0-14.01c3.95-3.95 10.06-3.95 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm-45.98-45.98a10.13 10.13 0 0 1 0-14.01c3.95-3.94 10.07-3.94 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.98-4.54 2.96-6.9 2.96-2.77 0-5.33-.98-7.1-2.96zm-46.17-46.17c-3.95-3.75-3.95-10.07 0-14 3.75-3.95 10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.54 2.96-6.9 2.96-2.56 0-5.13-1-7.1-2.96zm-45.98-45.98c-3.75-3.75-3.75-10.06 0-14 3.95-3.94 10.07-3.94 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.98-4.34 2.96-6.9 2.96-2.77 0-5.13-.98-7.1-2.96zm-45.97-45.97c-3.95-3.95-3.95-10.07 0-14.02 3.94-3.94 10.06-3.94 14 0a10.16 10.16 0 0 1 0 14.02c-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.33-1-7.1-2.96zm-46.18-46.18c-3.94-3.75-3.94-10.06 0-14 3.95-3.95 10.07-3.95 14 0 3.95 3.75 3.95 10.07 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.57 0-5.13-1-7.1-2.96zm-45.97-45.98c-3.95-3.94-3.95-10.06 0-14 3.94-3.94 10.06-3.94 14 0a10.15 10.15 0 0 1 0 14.01c-1.98 1.98-4.54 2.96-6.9 2.96-2.76 0-5.13-.98-7.1-2.96zm-46.18-45.97c-3.95-3.95-3.95-10.07 0-14 3.95-3.95 10.06-3.95 14 0 3.95 3.75 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96s-5.13-1-7.1-2.96zm-45.97-46.18c-3.95-3.94-3.95-10.06 0-14 3.94-3.94 10.06-3.94 14 0 3.95 3.75 3.95 10.07 0 14-1.97 1.98-4.53 2.96-6.9 2.96-2.57 0-5.13-.98-7.1-2.96zm-45.98-45.97a10.13 10.13 0 0 1 0-14.01c3.94-3.95 10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.54 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm-46.18-45.98a10.15 10.15 0 0 1 0-14.01c3.75-3.94 10.07-3.94 14 0 3.75 3.75 3.75 10.07 0 14-1.97 1.97-4.53 2.96-6.9 2.96-2.57-.2-5.13-1-7.1-2.96zm-45.97-46.17c-3.95-3.95-3.95-10.07 0-14 3.75-3.75 10.06-3.75 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.97-4.54 2.96-6.9 2.96-2.56 0-5.13-1-7.1-2.96zm-45.98-45.98a10.13 10.13 0 0 1 0-14.01c3.95-3.95 10.07-3.95 14 0 3.75 3.75 3.75 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.77 0-5.14-1-7.1-2.96zm-46.17-45.98c-3.95-3.94-3.95-10.06 0-14 3.75-3.74 10.06-3.74 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.98-4.54 2.96-6.9 2.96-2.56-.2-5.13-.98-7.1-2.96zm-45.98-46.17a10.13 10.13 0 0 1 0-14.01c3.75-3.75 10.06-3.75 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.34 2.96-6.9 2.96s-5.13-1-7.1-2.96zm-45.98-45.98c-3.94-3.94-3.94-10.06 0-14 3.95-3.94 10.07-3.94 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.98-4.53 2.96-6.9 2.96-2.76 0-5.33-.98-7.1-2.96zm-46.17-45.97a10.13 10.13 0 0 1 0-14.01c3.95-3.75 10.06-3.75 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.56-.2-5.13-1-7.1-2.96zm-45.98-46.176a10.15 10.15 0 0 1 0-14.01c3.75-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.53 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm-45.97-45.976c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm-46.18-45.977a10.13 10.13 0 0 1 0-14.01c3.75-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.53 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm-45.97-46.174a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0s3.94 10.064 0 14c-1.98 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm-45.98-45.976c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.32-.987-7.1-2.96zm-46.17-45.977c-3.95-3.946-3.95-10.063 0-14 3.75-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.974-4.54 2.96-6.9 2.96-2.56-.197-5.13-1.184-7.1-2.96zM1268.3 694.8a10.13 10.13 0 0 1 0-14.01c3.75-3.946 10.06-3.946 14 0s3.95 10.064 0 14c-1.97 1.974-4.34 2.96-6.9 2.96s-5.13-.986-7.1-2.96zm-45.98-45.976c-3.94-3.946-3.94-10.064 0-14 3.75-3.947 10.07-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.53 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zM6092.2 1126.4c-3.95-3.95-3.95-10.07 0-14 3.75-3.95 10.06-3.95 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.76 0-5.32-1-7.1-2.96zm-46.17-45.98a10.13 10.13 0 0 1 0-14.01 10.13 10.13 0 0 1 14.01 0c3.94 3.95 3.94 10.06 0 14-1.98 1.97-4.34 2.96-6.9 2.96-2.56-.2-5.13-1-7.1-2.96zm-45.98-46.17c-3.95-3.95-3.95-10.07 0-14 3.95-3.95 10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.54 2.96-6.9 2.96-2.56 0-5.13-1-7.1-2.96zm-45.98-45.98a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm-46.17-45.976a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.56-.198-5.13-1.184-7.1-2.96zm-45.98-46.174c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm-45.97-45.977a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.974-4.54 2.96-6.9 2.96-2.76 0-5.33-.986-7.1-2.96zm-46.18-45.976c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.57-.198-5.13-1.184-7.1-2.96zm-45.97-46.174c-3.95-3.947-3.95-10.064 0-14 3.94-3.946 10.06-3.946 14 0s3.94 10.063 0 14c-1.98 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm-45.98-45.976c-3.95-3.947-3.95-10.064 0-14s10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.011c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.32-.986-7.1-2.96zM306.68 414c-3.947-3.946-3.947-10.063 0-14 3.75-3.946 10.063-3.946 14 0s3.946 10.064 0 14c-1.974 1.974-4.54 2.96-6.907 2.96-2.762 0-5.328-.986-7.103-2.96zm45.976-45.976a10.13 10.13 0 0 1 0-14.01c3.75-3.947 10.064-3.947 14 0s3.947 10.063 0 14c-1.973 1.973-4.34 2.96-6.906 2.96-2.565-.198-5.13-1.184-7.104-2.96zm45.977-46.174c-3.947-3.946-3.947-10.063 0-14 3.75-3.946 10.063-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.973 1.973-4.538 2.96-6.906 2.96-2.565 0-5.13-.987-7.103-2.96z"/></g></svg>
wpses/wpse1_2023_bmi.svg ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <svg width="768" height="767" viewBox="0 0 768 767" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M384.452 0C332.88 0 283.764 10.174 239.208 28.4172V409.418C243.418 491.512 311.479 556.766 394.626 556.766C444.794 556.766 489.7 532.91 518.118 495.722C511.101 535.015 492.156 572.553 461.985 603.075C418.482 646.578 356.034 670.785 294.639 657.805C286.57 656.051 278.852 653.946 271.485 651.139C225.526 634.65 186.233 600.269 159.219 560.625C127.294 513.614 110.103 457.832 110.103 400.998C110.103 397.139 110.103 393.63 110.454 389.771V115.423C42.744 184.536 0.995361 278.909 0.995361 383.456C0.995361 595.357 172.551 766.913 384.452 766.913C596.353 766.913 767.908 595.357 767.908 383.456C767.908 171.555 596.002 0 384.452 0Z" fill="#00938D"/>
3
+ <path d="M409.361 117.176V55.0796L274.642 189.798C274.642 189.798 407.256 322.411 409.361 324.516C405.501 320.657 409.361 291.889 409.361 286.276C409.361 272.945 409.361 259.262 409.361 245.931C491.455 244.527 550.394 334.69 561.971 406.61C574.601 486.249 551.096 576.763 493.209 634.299C471.808 655.699 447.601 672.188 421.64 684.116C565.83 670.434 679.148 548.696 679.148 400.997C679.148 249.439 559.515 124.895 409.361 117.176Z" fill="#55BDBD"/>
4
+ <path opacity="0.07" d="M655.643 112.265L581.267 186.641C641.259 238.914 679.148 315.746 679.148 401.348C679.148 549.047 565.83 670.785 421.64 684.467C447.601 672.539 471.808 656.05 493.209 634.65C567.935 559.923 584.775 449.061 544.079 358.196C534.957 326.271 515.311 298.204 489.7 278.207L271.485 496.423C299.902 533.26 344.457 557.116 394.626 557.116C444.794 557.116 489.7 533.26 518.118 496.072C511.101 535.365 492.156 572.904 461.985 603.426C418.482 646.929 356.035 671.136 294.639 658.155C286.57 656.401 278.852 654.296 271.485 651.489C236.402 638.859 205.178 615.705 180.269 587.989L113.612 654.647C263.416 804.451 506.189 804.451 655.643 654.647C805.096 504.843 805.096 262.069 655.643 112.265Z" fill="black"/>
5
+ </svg>
wpses/wpse1_2023_notiad.min.css ADDED
@@ -0,0 +1,264 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import url('https://fonts.googleapis.com/css?family=Montserrat:300,500,700&display=swap');
2
+
3
+ #wpse1_2023 * {
4
+ font-family: 'Montserrat', sans-serif;
5
+ font-weight: 400;
6
+ font-size: 17px;
7
+ -webkit-touch-callout: none;
8
+ -webkit-user-select: none;
9
+ -khtml-user-select: none;
10
+ -moz-user-select: none;
11
+ -ms-user-select: none;
12
+ user-select: none;
13
+ }
14
+
15
+ #wpse1_2023 b {
16
+ font-family: 'Montserrat', sans-serif;
17
+ font-weight: 700 !important;
18
+ }
19
+
20
+ #wpse1_2023 {
21
+ background: #fff;
22
+ border-radius: 10px;
23
+ max-width: 1130px;
24
+ margin-top: 30px;
25
+ padding: 15px 20px;
26
+ margin-right: 20px;
27
+ background: url('./wpse1_2023_bg.svg');
28
+ background-repeat: no-repeat;
29
+ background-position: 0px 1px;
30
+ background-size: cover;
31
+ box-shadow: 0px 0px 15px 1px rgba(0,0,0,0.12);
32
+ }
33
+
34
+ #wpse1_2023_container {
35
+ position: relative;
36
+ line-height: 20px;
37
+ }
38
+
39
+ #wpse1_2023_container::after {
40
+ content: '';
41
+ display: block;
42
+ clear: both;
43
+ }
44
+
45
+ #wpse1_2023_text {
46
+ float: left;
47
+ line-height: 46px;
48
+ padding-left: 120px;
49
+ padding-right: 20px;
50
+ padding-top: 2px;
51
+ font-size: 20px;
52
+ }
53
+
54
+ #wpse1_2023_img {
55
+ position: absolute;
56
+ pointer-events: none;
57
+ }
58
+
59
+ #wpse1_2023_img span {
60
+ position: relative;
61
+ display: block;
62
+ top: -20px;
63
+ left: 10px;
64
+ border-radius: 50%;
65
+ height: 70px;
66
+ width: 70px;
67
+ border: 1px solid #207d78;
68
+ transform: translatey(0px);
69
+ background: url('./wpse1_2023_bmi.svg');
70
+ background-repeat: no-repeat;
71
+ background-position: -1px -1px;
72
+ background-size: 72px;
73
+ box-shadow: 0 5px 15px 0px rgba(0,0,0,0.6);
74
+ animation: float 4s ease-in-out infinite;
75
+ }
76
+
77
+ #wpse1_2023_btns {
78
+ float: left;
79
+ padding-left: 50px;
80
+ width: calc(100% - 506px - 60px);
81
+ line-height: 46px;
82
+ }
83
+
84
+ #wpse1_2023_other {
85
+ float: left;
86
+ white-space: nowrap;
87
+ overflow: hidden;
88
+ text-overflow: clip;
89
+ width: calc(100% - 200px);
90
+ }
91
+
92
+ #wpse1_2023_btns::after {
93
+ content: '';
94
+ display: block;
95
+ clear: both;
96
+ }
97
+
98
+ #wpse1_2023_install {
99
+ float: left;
100
+ }
101
+
102
+ #wpse1_2023_show {
103
+ font-weight: 300;
104
+ display: inline-block;
105
+ padding-left: 20px;
106
+ white-space: nowrap;
107
+ overflow: hidden;
108
+ text-overflow: clip;
109
+ }
110
+
111
+ #wpse1_2023_dismiss {
112
+ display: inline-block;
113
+ padding-left: 20px;
114
+ white-space: nowrap;
115
+ overflow: hidden;
116
+ text-overflow: clip;
117
+ font-size: 300;
118
+ float: right;
119
+ }
120
+
121
+ #wpse1_2023_dismiss span {
122
+ transition: all .3s;
123
+ font-size: 300;
124
+ }
125
+
126
+ #wpse1_2023_show a {
127
+ line-height: 48px;
128
+ color: #000;
129
+ text-decoration: none !important;
130
+ cursor: pointer;
131
+ font-weight: 300;
132
+ }
133
+
134
+ #wpse1_2023_dismiss a {
135
+ line-height: 48px;
136
+ color: #c5c5c5;
137
+ text-decoration: none !important;
138
+ cursor: pointer;
139
+ font-size: 300;
140
+ }
141
+
142
+ #wpse1_2023_show a, #wpse1_2023_dismiss a {
143
+ opacity: 1;
144
+ transition: all .3s;
145
+ }
146
+ #wpse1_2023_show a:hover, #wpse1_2023_dismiss a:hover {
147
+ opacity: .6;
148
+ }
149
+
150
+ #wpse1_2023_install button {
151
+ border: 0;
152
+ outline: none;
153
+ width: 200px;
154
+ max-width: 200px;
155
+ height: 36px;
156
+ max-height: 48px;
157
+ cursor: pointer;
158
+ border-radius: 30px;
159
+ opacity: 1;
160
+ transition: all .3s;
161
+ background: #0F948D;
162
+ color: white;
163
+ font-weight: 500;
164
+ }
165
+
166
+ #wpse1_2023_install {
167
+ position: relative;
168
+ }
169
+
170
+ #wpse1_2023_install span {
171
+ position: absolute;
172
+ line-height: 18px;
173
+ width: 100%;
174
+ left: 43px;
175
+ top: 42px;
176
+ font-size: 11px;
177
+ }
178
+
179
+ #wpse1_2023_news {
180
+ color: #0F948D;
181
+ font-weight: 800;
182
+ font-size: 20px;
183
+ }
184
+
185
+ #wpse1_2023_install button:hover {
186
+ opacity: .8;
187
+ }
188
+
189
+ #wpse1_2023_wpclone {
190
+ margin-top: 14px;
191
+ margin-bottom: 6px;
192
+ margin-left: 13px;
193
+ font-size: 16px;
194
+ }
195
+
196
+ #wpse1_2023_wpclone_show {
197
+ color: #00b050;
198
+ text-decoration: none;
199
+ transition: .3s all;
200
+ opacity: 1;
201
+ }
202
+
203
+ #wpse1_2023_wpclone_show:hover {
204
+ opacity: .7;
205
+ }
206
+
207
+ @media screen and (max-width: 1280px) {
208
+ #wpse1_2023_text {
209
+ padding-left: 100px;
210
+ padding-right: 5px;
211
+ }
212
+ #wpse1_2023_btns {
213
+ padding-left: 10px;
214
+ width: calc(100% - 496px);
215
+ }
216
+ }
217
+
218
+ @media screen and (max-width: 1160px) {
219
+ #wpse1_2023_text, #wpse1_2023_news {
220
+ font-size: 16px !important;
221
+ }
222
+ #wpse1_2023_text {
223
+ padding-left: 90px;
224
+ padding-right: 5px;
225
+ }
226
+ #wpse1_2023_btns {
227
+ width: calc(100% - 406px);
228
+ }
229
+ #wpse1_2023_img span {
230
+ position: relative;
231
+ top: -20px;
232
+ left: 15px;
233
+ height: 60px;
234
+ width: 60px;
235
+ background-size: 62px;
236
+ }
237
+ }
238
+
239
+ @media screen and (min-width: 960px) and (max-width: 1068px) {
240
+ #wpse1_2023_show {
241
+ display: none;
242
+ }
243
+ }
244
+
245
+ @media screen and (max-width: 940px) {
246
+ #wpse1_2023_complete {
247
+ display: none;
248
+ }
249
+ }
250
+
251
+ @keyframes float {
252
+ 0% {
253
+ box-shadow: 0 5px 15px 0px rgba(0,0,0,0.6);
254
+ transform: translatey(0px);
255
+ }
256
+ 50% {
257
+ box-shadow: 0 25px 15px 0px rgba(0,0,0,0.3);
258
+ transform: translatey(-15px);
259
+ }
260
+ 100% {
261
+ box-shadow: 0 5px 15px 0px rgba(0,0,0,0.6);
262
+ transform: translatey(0px);
263
+ }
264
+ }
wpses/wpse1_2023_notiad.min.js ADDED
@@ -0,0 +1,163 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function($) {
2
+
3
+ let entered = false, interval = null;
4
+ $('#wpse1_2023_btn').on('click', wpse1_2023_btn);
5
+ $('#wpse1_2023_install_btn').on('click', wpse1_2023_btn_install);
6
+ $('#wpse1_2023_btn').on('mouseenter', wpse1_2023_show);
7
+ $('#wpse1_2023_btn').on('mouseleave', wpse1_2023_hide);
8
+ $('#wpse1_2023_wpclone_show').on('click', wpse1_2023_move);
9
+
10
+ function hideIt() {
11
+ $('#wpse1_2023_who').hide(300);
12
+ $('#wpse1_2023').css({
13
+ 'overflow': 'hidden',
14
+ 'max-height': $('#wpse1_2023').height(),
15
+ 'max-width': $('#wpse1_2023').width(),
16
+ 'opacity': 1
17
+ });
18
+
19
+ $('#wpse1_2023').animate({'max-height': '0px', 'opacity': '0', 'padding-top': '0', 'padding-bottom': '0', 'margin-top': '0'}, 300, function () {
20
+ setTimeout(() => { $('#wpse1_2023').remove(); }, 10);
21
+ });
22
+ }
23
+ function wpse1_2023_btn() {
24
+ setTimeout(() => { hideIt(); }, 100);
25
+ $.post(ajaxurl, { action: 'wpse1_2023_btn' });
26
+ }
27
+ function wpse1_2023_btn_install() {
28
+
29
+ $('#wpse1_2023_install_btn').css({'pointer-events': 'none', 'opacity': '.6'});
30
+ $('#wpse1_2023_btns').addClass('wpse1_2023_btns_installing');
31
+ $('#wpse1_2023_other').css({'max-width': `${$('#wpse1_2023_other').width()}px`, 'max-height': `${$('#wpse1_2023_other').height()}px`, 'overflow': 'hidden'});
32
+ $('#wpse1_2023_show').css({'max-width': `${$('#wpse1_2023_show').width()}px`, 'overflow': 'hidden'});
33
+ $('#wpse1_2023_dismiss').css({'max-width': `${$('#wpse1_2023_dismiss').width()}px`, 'overflow': 'hidden'});
34
+ $('#wpse1_2023_other').animate({'padding-left': '0', 'max-width': '0'}, 500, function () {
35
+ $('#wpse1_2023_btns, #wpse1_2023_install').css({'float': 'left', 'width': '200px'});
36
+ $('#wpse1_2023_install').find('span').hide(300);
37
+ $('#wpse1_2023_other').hide();
38
+ });
39
+
40
+ $('#wpse1_2023_text').css({'opacity': '1'});
41
+ $('#wpse1_2023_text').animate({'opacity': '0'}, 500, function () {
42
+ $('#wpse1_2023_text').css({'line-height': '21px'});
43
+ $('#wpse1_2023_install_btn').text('Installing...');
44
+ $('#wpse1_2023_text').html(`We\'re downloading this awesome plugin!<br>We will redirect you soon, please wait<span id="wpse1_2023_dots">...</span> :)`);
45
+ $('#wpse1_2023_text').animate({'opacity': '1'}, 500, function () {
46
+ let dox = '..', predox = '...';
47
+ interval = setInterval(() => {
48
+ $('#wpse1_2023_dots').text(dox);
49
+
50
+ // I named it DOXPARADOX <3
51
+ if (dox == '..' && predox == '...') { dox = '.'; predox = '..' }
52
+ else if (dox == '.' && predox == '...') { dox = '..'; predox = '.' }
53
+ else if (dox == '..' && predox == '..') { dox = '...'; predox = '..' }
54
+ else if (dox == '.' && predox == '..') { dox = '..'; predox = '.' }
55
+ else if (dox == '..' && predox == '.') { dox = '...'; predox = '..' }
56
+ else { dox = '..'; predox = '...' }
57
+ }, 600);
58
+ });
59
+ });
60
+
61
+ $('#wpse1_2023_btns, #wpse1_2023_install').css({'text-align': 'left'});
62
+ $('#wpse1_2023_show, #wpse1_2023_dismiss').css({'overflow': 'hidden', 'text-align': 'left'});
63
+
64
+ $.post(ajaxurl, { action: 'wpse1_2023_install' }).done((res) => {
65
+
66
+ clearInterval(interval);
67
+ setTimeout(function () {
68
+ if (isJsonString(res)) res = cdpParse(res);
69
+ let url = $('#wpse1_2023').data('url');
70
+ if (res.status == 'success') {
71
+ window.location = res.url;
72
+ }
73
+ else if (typeof res.url != 'undefined') handleIssue();
74
+ else handleIssue();
75
+ }, 500);
76
+
77
+ }).fail(() => { handleIssue(); });
78
+
79
+ function handleIssue() {
80
+ clearInterval(interval);
81
+
82
+ $('#wpse1_2023_text').animate({'opacity': '0'}, 500, function () {
83
+ $('#wpse1_2023_text').html(`There was an error during plugin download :(<br>Please try to do it manualy, we will redirect you in <span id="wpse1_2023_nums">3</span>s.`);
84
+ $('#wpse1_2023_text').animate({'opacity': '1'}, 500, function () {
85
+ let i = 3;
86
+ clearInterval(interval);
87
+ interval = setInterval(() => {
88
+ i--;
89
+ $('#wpse1_2023_nums').text(i);
90
+ if (i == 0) {
91
+ let url = $('#wpse1_2023').data('url');
92
+ window.location.href = `${url}/wp-admin/plugin-install.php?s=Migrate&tab=search&type=author`;
93
+ }
94
+ }, 1050);
95
+ });
96
+ });
97
+
98
+ }
99
+
100
+ }
101
+ function wpse1_2023_show() {
102
+ $('#wpse1_2023_smile').css({'opacity': 1});
103
+ }
104
+ function wpse1_2023_hide() {
105
+ $('#wpse1_2023_smile').css({'opacity': 0});
106
+ }
107
+ function wpse1_2023_move() {
108
+ $('#wpse1_2023_wpclone').hide(300);
109
+ $('#wpse1_2023_complete').hide(300);
110
+ setTimeout(function () {
111
+ $('#wpse1_2023_complete').prependTo('#wpbody-content');
112
+ $('#wpse1_2023_complete').show(300);
113
+ }, 310);
114
+ }
115
+
116
+ function isJsonString(str) {
117
+ try { JSON.parse(str); }
118
+ catch (e) {
119
+ if (typeof str === 'string') {
120
+ let reversed = cdpReverseString(str);
121
+ let lastcorrect = reversed.indexOf('}');
122
+ if (lastcorrect == 0) lastcorrect = str.length;
123
+ else lastcorrect = -lastcorrect;
124
+
125
+ str = str.slice(str.indexOf('{'), lastcorrect);
126
+
127
+ try {
128
+ JSON.parse(str);
129
+ } catch (e) {
130
+ return false;
131
+ }
132
+ return true;
133
+ } else return false;
134
+ }
135
+ return true;
136
+ }
137
+ function cdpReverseString(str) {
138
+ if (typeof str === 'string')
139
+ return (str === '') ? '' : cdpReverseString(str.substr(1)) + str.charAt(0);
140
+ else
141
+ return str;
142
+ }
143
+ function cdpParse(str) {
144
+ try { JSON.parse(str); }
145
+ catch (e) {
146
+ if (typeof str === 'string') {
147
+ let reversed = cdpReverseString(str);
148
+ let lastcorrect = reversed.indexOf('}');
149
+ if (lastcorrect == 0) lastcorrect = str.length;
150
+ else lastcorrect = -lastcorrect;
151
+ str = str.slice(str.indexOf('{'), lastcorrect);
152
+ try {
153
+ JSON.parse(str);
154
+ } catch (e) {
155
+ return false;
156
+ }
157
+ return JSON.parse(str);
158
+ } else return false;
159
+ }
160
+ return JSON.parse(str);
161
+ }
162
+
163
+ });