Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
94.14% covered (success)
94.14%
10898 / 11576
86.67% covered (warning)
86.67%
13 / 15
CRAP
n/a
0 / 0
visitors_install
100.00% covered (success)
100.00%
10 / 10
100.00% covered (success)
100.00%
1 / 1
3
visitors_schema
100.00% covered (success)
100.00%
296 / 296
100.00% covered (success)
100.00%
1 / 1
1
visitors_requirements
100.00% covered (success)
100.00%
64 / 64
100.00% covered (success)
100.00%
1 / 1
8
visitors_update_8210
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
1 / 1
2
visitors_update_8212
100.00% covered (success)
100.00%
34 / 34
100.00% covered (success)
100.00%
1 / 1
10
visitors_update_8214
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
1
visitors_update_8215
100.00% covered (success)
100.00%
68 / 68
100.00% covered (success)
100.00%
1 / 1
15
visitors_update_8216
0.00% covered (danger)
0.00%
0 / 281
0.00% covered (danger)
0.00%
0 / 1
1260
visitors_update_8217
0.00% covered (danger)
0.00%
0 / 397
0.00% covered (danger)
0.00%
0 / 1
132
visitors_update_8218
100.00% covered (success)
100.00%
33 / 33
100.00% covered (success)
100.00%
1 / 1
5
visitors_update_8220
100.00% covered (success)
100.00%
9528 / 9528
100.00% covered (success)
100.00%
1 / 1
10
visitors_update_8222
100.00% covered (success)
100.00%
31 / 31
100.00% covered (success)
100.00%
1 / 1
6
visitors_update_8223
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
1
visitors_update_8227
100.00% covered (success)
100.00%
171 / 171
100.00% covered (success)
100.00%
1 / 1
3
visitors_update_8229
100.00% covered (success)
100.00%
640 / 640
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3/**
4 * @file
5 * Install/uninstall visitors module.
6 */
7
8use DeviceDetector\Parser\Client\Browser;
9use Drupal\Core\Entity\EntityTypeInterface;
10use Drupal\Core\Url;
11use Drupal\Core\Utility\Error;
12
13/**
14 * Implements hook_install().
15 */
16function visitors_install($is_syncing) {
17  if ($is_syncing) {
18    return;
19  }
20  if (!\Drupal::moduleHandler()->moduleExists('statistics')) {
21    return;
22  }
23  $settings = \Drupal::service('config.factory')->getEditable('visitors.config');
24  $settings->set('counter.enabled', FALSE)->save();
25
26  \Drupal::messenger()->addWarning(t(
27    'The Statistics module is installed. <a href="@url">Convert the Statistics node views</a> to Visitors page views.',
28    ['@url' => Url::fromRoute('visitors.statistics_migrate')->toString()]
29  ));
30}
31
32/**
33 * Implements hook_schema().
34 */
35function visitors_schema() {
36  $schema['visitors'] = [
37    'fields' => [
38      'visitors_id' => [
39        'type' => 'serial',
40        'not null' => TRUE,
41      ],
42      'visitor_id' => [
43        'type' => 'varchar',
44        'length' => 32,
45        'not null' => FALSE,
46        'default' => NULL,
47      ],
48      'visitors_uid' => [
49        'type' => 'int',
50        'not null' => TRUE,
51        'default' => 0,
52      ],
53      'visitors_ip' => [
54        'type' => 'varchar',
55        'length' => 45,
56        'not null' => TRUE,
57        'default' => '',
58      ],
59      'server' => [
60        'description' => 'The server that generated the response',
61        'type' => 'varchar',
62        'length' => 255,
63        'not null' => FALSE,
64        'default' => NULL,
65      ],
66      'visitors_date_time' => [
67        'type' => 'int',
68        'not null' => TRUE,
69        'default' => 0,
70      ],
71      'visitor_localtime' => [
72        'type' => 'int',
73        'size' => 'medium',
74        'not null' => FALSE,
75        'default' => NULL,
76      ],
77      'visitors_url' => [
78        'type' => 'text',
79        'not null' => TRUE,
80      ],
81      'visitors_referer' => [
82        'type' => 'text',
83        'not null' => TRUE,
84      ],
85      'visitors_path' => [
86        'type' => 'varchar',
87        'length' => 255,
88        'not null' => TRUE,
89        'default' => '',
90      ],
91      'visitors_title' => [
92        'type' => 'text',
93        'not null' => TRUE,
94      ],
95      'visitors_user_agent' => [
96        'type' => 'text',
97        'not null' => TRUE,
98      ],
99      'route' => [
100        'type' => 'varchar',
101        'length' => 255,
102        'not null' => TRUE,
103        'default' => '',
104      ],
105      'config_resolution' => [
106        'type' => 'varchar',
107        'length' => 18,
108        'not null' => FALSE,
109        'default' => NULL,
110      ],
111      'config_pdf' => [
112        'type' => 'int',
113        'size' => 'tiny',
114        'not null' => FALSE,
115        'default' => NULL,
116      ],
117      'config_flash' => [
118        'type' => 'int',
119        'size' => 'tiny',
120        'not null' => FALSE,
121        'default' => NULL,
122      ],
123      'config_java' => [
124        'type' => 'int',
125        'size' => 'tiny',
126        'not null' => FALSE,
127        'default' => NULL,
128      ],
129      'config_quicktime' => [
130        'type' => 'int',
131        'size' => 'tiny',
132        'not null' => FALSE,
133        'default' => NULL,
134      ],
135      'config_realplayer' => [
136        'type' => 'int',
137        'size' => 'tiny',
138        'not null' => FALSE,
139        'default' => NULL,
140      ],
141      'config_windowsmedia' => [
142        'type' => 'int',
143        'size' => 'tiny',
144        'not null' => FALSE,
145        'default' => NULL,
146      ],
147      'config_silverlight' => [
148        'type' => 'int',
149        'size' => 'tiny',
150        'not null' => FALSE,
151        'default' => NULL,
152      ],
153      'config_cookie' => [
154        'type' => 'int',
155        'size' => 'tiny',
156        'not null' => FALSE,
157        'default' => NULL,
158      ],
159      'config_browser_engine' => [
160        'type' => 'varchar',
161        'length' => '10',
162        'not null' => FALSE,
163        'default' => NULL,
164      ],
165      'config_browser_name' => [
166        'type' => 'varchar',
167        'length' => '2',
168        'not null' => FALSE,
169        'default' => NULL,
170      ],
171      'config_browser_version' => [
172        'type' => 'varchar',
173        'length' => '20',
174        'not null' => FALSE,
175        'default' => NULL,
176      ],
177      'config_client_type' => [
178        'type' => 'varchar',
179        'length' => '100',
180        'not null' => FALSE,
181        'default' => NULL,
182      ],
183      'config_device_brand' => [
184        'type' => 'varchar',
185        'length' => '100',
186        'not null' => FALSE,
187        'default' => NULL,
188      ],
189      'config_device_model' => [
190        'type' => 'varchar',
191        'length' => '100',
192        'not null' => FALSE,
193        'default' => NULL,
194      ],
195      'config_device_type' => [
196        'type' => 'varchar',
197        'length' => '100',
198        'not null' => FALSE,
199        'default' => NULL,
200      ],
201      'config_os' => [
202        'type' => 'varchar',
203        'length' => '3',
204        'not null' => FALSE,
205        'default' => NULL,
206      ],
207      'config_os_version' => [
208        'type' => 'varchar',
209        'length' => '100',
210        'not null' => FALSE,
211        'default' => NULL,
212      ],
213      'bot' => [
214        'type' => 'int',
215        'size' => 'tiny',
216        'not null' => FALSE,
217        'default' => NULL,
218      ],
219      'language' => [
220        'type' => 'varchar',
221        'length' => 2,
222        'not null' => TRUE,
223        'default' => '',
224      ],
225      'location_continent' => [
226        'type' => 'varchar',
227        'length' => 2,
228        'not null' => TRUE,
229        'default' => '',
230      ],
231      'location_country' => [
232        'type' => 'varchar',
233        'length' => 2,
234        'not null' => TRUE,
235        'default' => '',
236      ],
237      'pf_network' => [
238        'description' => 'Network performance',
239        'type' => 'int',
240        'not null' => FALSE,
241        'default' => NULL,
242      ],
243      'pf_server' => [
244        'description' => 'Server performance',
245        'type' => 'int',
246        'not null' => FALSE,
247        'default' => NULL,
248      ],
249      'pf_transfer' => [
250        'description' => 'Transfer performance',
251        'type' => 'int',
252        'not null' => FALSE,
253        'default' => NULL,
254      ],
255      'pf_dom_processing' => [
256        'description' => 'DOM processing performance',
257        'type' => 'int',
258        'not null' => FALSE,
259        'default' => NULL,
260      ],
261      'pf_dom_complete' => [
262        'description' => 'DOM complete performance',
263        'type' => 'int',
264        'not null' => FALSE,
265        'default' => NULL,
266      ],
267      'pf_on_load' => [
268        'description' => 'On load performance',
269        'type' => 'int',
270        'not null' => FALSE,
271        'default' => NULL,
272      ],
273      'pf_total' => [
274        'description' => 'Total performance',
275        'type' => 'int',
276        'not null' => FALSE,
277        'default' => NULL,
278      ],
279    ],
280    'primary key' => ['visitors_id'],
281    'indexes' => [
282      'visitors_uid' => ['visitors_uid'],
283      'visitors_ip' => ['visitors_ip'],
284      'visitor_id' => ['visitor_id'],
285      'visitors_date_time' => ['visitors_date_time'],
286      'bot' => ['bot'],
287    ],
288  ];
289
290  $schema['visitors_counter'] = [
291    'fields' => [
292      'entity_id' => [
293        'description' => 'The entity id for these visits.',
294        'type' => 'int',
295        'unsigned' => TRUE,
296        'not null' => TRUE,
297        'default' => 0,
298      ],
299      'entity_type' => [
300        'type' => 'varchar_ascii',
301        'not null' => TRUE,
302        'default' => 'node',
303        'length' => EntityTypeInterface::ID_MAX_LENGTH,
304        'description' => 'The entity_type of the entity for these visits.',
305      ],
306      'total' => [
307        'description' => 'The total number of times the entity has been viewed.',
308        'type' => 'int',
309        'unsigned' => TRUE,
310        'not null' => TRUE,
311        'default' => 0,
312        'size' => 'big',
313      ],
314      'today' => [
315        'description' => 'The total number of times the entity has been viewed today.',
316        'type' => 'int',
317        'unsigned' => TRUE,
318        'not null' => TRUE,
319        'default' => 0,
320        'size' => 'medium',
321      ],
322      'timestamp' => [
323        'description' => 'The most recent time the entity has been viewed.',
324        'type' => 'int',
325        'unsigned' => TRUE,
326        'not null' => TRUE,
327        'default' => 0,
328      ],
329    ],
330    'primary key' => ['entity_type', 'entity_id'],
331  ];
332
333  return $schema;
334}
335
336/**
337 * Implements hook_requirements().
338 */
339function visitors_requirements($phase) {
340  $requirements = [];
341  if ($phase != 'runtime') {
342    return $requirements;
343  }
344
345  $device = \Drupal::service('visitors.device');
346  if (!$device->hasLibrary()) {
347    $requirements['visitors_device'] = [
348      'title' => t('Device Detector'),
349      'value' => t('Not found'),
350      'severity' => REQUIREMENT_WARNING,
351      'description' => t('The <a href=":url">Device Detector</a> library is strongly encouraged by the Visitors module. Composer will download the library automatically.', [
352        ':url' => 'https://github.com/matomo-org/device-detector',
353      ]),
354    ];
355  }
356
357  $requirements['visitors']['title'] = t('Visitors');
358  $requirements['visitors']['severity'] = REQUIREMENT_OK;
359  $requirements['visitors']['value'] = t('Enabled');
360  $requirements['visitors']['description'] = ['#markup' => ''];
361  $rebuild_ip_address = \Drupal::state()
362    ->get('visitors.rebuild.ip_address', FALSE);
363  if ($rebuild_ip_address) {
364    $requirements['visitors']['severity'] = REQUIREMENT_WARNING;
365    $url_ip_form = Url::fromUri('internal:/admin/config/system/visitors/rebuild-ip-address', [
366      'query' => [
367        'destination' => Url::fromUri('internal:/admin/reports/status')->toString(),
368      ],
369    ]);
370    $requirements['visitors']['description']['#markup'] .= t('IP addresses need to be <a href="@rebuild-form">converted</a> to the new format, that support IPv6.', [
371      '@rebuild-form' => $url_ip_form->toString(),
372    ]);
373  }
374
375  $rebuild_route = \Drupal::state()
376    ->get('visitors.rebuild.route', FALSE);
377  if ($rebuild_route) {
378    $requirements['visitors']['severity'] = REQUIREMENT_WARNING;
379    $url_route_form = Url::fromUri('internal:/admin/config/system/visitors/rebuild-route', [
380      'query' => [
381        'destination' => Url::fromUri('internal:/admin/reports/status')->toString(),
382      ],
383    ]);
384    if ($rebuild_ip_address) {
385      $requirements['visitors']['description']['#markup'] .= '<br/>';
386    }
387    $requirements['visitors']['description']['#markup'] .= t('Some routes are missing from the visitors log, <a href="@rebuild-form">add missing routes</a>.', [
388      '@rebuild-form' => $url_route_form->toString(),
389    ]);
390  }
391  $schema = \Drupal::database()->schema();
392  $performance_exists = $schema->tableExists('visitors_performance');
393  if ($performance_exists) {
394    $requirements['visitors']['severity'] = REQUIREMENT_WARNING;
395    $url_performance = Url::fromUri('internal:/admin/config/system/visitors/performance', [
396      'query' => [
397        'destination' => Url::fromUri('internal:/admin/reports/status')->toString(),
398      ],
399    ]);
400    $requirements['visitors']['description']['#markup'] .= '<br/>';
401    $requirements['visitors']['description']['#markup'] .= t('Performance data needs to be <a href="@performance-form">migrated</a> to the visitors table.', [
402      '@performance-form' => $url_performance->toString(),
403    ]);
404  }
405
406  $properties = $rebuild_ip_address + $rebuild_route;
407  if ($properties) {
408    $requirements['visitors']['value'] = \Drupal::translation()->formatPlural(
409      $properties,
410      '@count property needs rebuilding',
411      '@count properties need rebuilding'
412    );
413  }
414
415  return $requirements;
416}
417
418/**
419 * Exclude users from statistics by role.
420 */
421function visitors_update_8210() {
422
423  $config = \Drupal::service('config.factory')->getEditable('visitors.config');
424  $roles = [];
425  if ($config->get('exclude_administer_users')) {
426    $roles['administer'] = 'administer';
427  }
428  $config->set('excluded_roles', $roles);
429  $config->set('exclude_user1', FALSE);
430  $config->clear('exclude_administer_users');
431
432  $config->save();
433}
434
435/**
436 * Adds default block settings.
437 */
438function visitors_update_8212() {
439
440  $config = \Drupal::service('config.factory')->get('visitors.config');
441  $block_storage = \Drupal::entityTypeManager()->getStorage('block');
442  $ids = $block_storage->getQuery()
443    ->condition('plugin', 'visitors_block')
444    ->accessCheck(FALSE)
445    ->execute();
446
447  foreach ($ids as $bid) {
448    $save = FALSE;
449    $block = $block_storage->load($bid);
450    $settings = $block->get('settings') ?? [];
451
452    if (!array_key_exists('show_last_registered_user', $settings)) {
453      $settings['show_last_registered_user'] = $config->get('show_last_registered_user');
454      $save = TRUE;
455    }
456    if (!array_key_exists('show_published_nodes', $settings)) {
457      $settings['show_published_nodes'] = $config->get('show_published_nodes');
458      $save = TRUE;
459    }
460    if (!array_key_exists('show_registered_users_count', $settings)) {
461      $settings['show_registered_users_count'] = $config->get('show_registered_users_count');
462      $save = TRUE;
463    }
464    if (!array_key_exists('show_since_date', $settings)) {
465      $settings['show_since_date'] = $config->get('show_since_date');
466      $save = TRUE;
467    }
468    if (!array_key_exists('show_total_visitors', $settings)) {
469      $settings['show_total_visitors'] = $config->get('show_total_visitors');
470      $save = TRUE;
471    }
472    if (!array_key_exists('show_unique_visitor', $settings)) {
473      $settings['show_unique_visitor'] = $config->get('show_unique_visitor');
474      $save = TRUE;
475    }
476    if (!array_key_exists('show_user_ip', $settings)) {
477      $settings['show_user_ip'] = $config->get('show_user_ip');
478      $save = TRUE;
479    }
480
481    if ($save) {
482      $block->set('settings', $settings);
483      $block->save();
484    }
485  }
486}
487
488/**
489 * Support IPv6.
490 */
491function visitors_update_8214() {
492
493  /** @var \Drupal\Core\Database\Connection $database */
494  $database = \Drupal::database();
495
496  $database->schema()
497    ->changeField('visitors', 'visitors_ip', 'visitors_ip', [
498      'type' => 'varchar',
499      'length' => 45,
500      'not null' => TRUE,
501      'default' => '',
502    ]);
503  \Drupal::state()->set('visitors.rebuild.ip_address', TRUE);
504
505}
506
507/**
508 * Uses ajax for tracking.
509 */
510function visitors_update_8215(&$sandbox) {
511
512  if (!isset($sandbox['progress'])) {
513    $sandbox['max'] = 10;
514    // Update visitors.config.
515    $settings = \Drupal::service('config.factory')->getEditable('visitors.config');
516    $config = \Drupal::config('visitors.config');
517
518    $settings->set('visibility.user_role_mode', 1);
519    if (count($config->get('excluded_roles'))) {
520      $settings->set('visibility.user_role_roles', $config->get('excluded_roles'));
521    }
522
523    if ($config->get('exclude_user1')) {
524      $settings->set('visibility.exclude_user1', TRUE);
525    }
526
527    $settings->clear('exclude_user1');
528    $settings->clear('excluded_pages');
529    $settings->clear('excluded_roles');
530    $settings->clear('negate_pages');
531
532    $settings->set('visibility.request_path_mode', 0);
533    $settings->set('visibility.request_path_pages', "/admin\n/admin/*\n/batch\n/node/add*\n/node/*/*\n/user/*/*");
534    $settings->set('visibility.user_account_mode', 0);
535    $settings->set('track.userid', TRUE);
536    $settings->set('domain_mode', 0);
537    $settings->set('codesnippet.before', '');
538    $settings->set('codesnippet.after', '');
539
540    $settings->set('disable_tracking', FALSE);
541    $settings->set('status_codes_disabled', []);
542
543    $settings->save();
544    $sandbox['progress'] = 0;
545  }
546
547  // Delete invalid visits.
548  /** @var \Drupal\Core\Database\Connection $database */
549  $database = \Drupal::database();
550  if ($sandbox['progress'] == 1) {
551    // Deletes cron visits.
552    $database->delete('visitors')
553      ->condition('visitors_url', 'http://default/')
554      ->execute();
555  }
556
557  if ($sandbox['progress'] == 2) {
558    // Delete batch job visits.
559    $database->delete('visitors')
560      ->condition('visitors_path', '/batch')
561      ->execute();
562  }
563
564  if ($sandbox['progress'] == 3) {
565    // Deletes ajax visits.
566    $database->delete('visitors')
567      ->condition('visitors_path', '/history/get_node_read_timestamps')
568      ->execute();
569  }
570
571  if ($sandbox['progress'] == 4) {
572    // Deletes ajax history visits.
573    $database->delete('visitors')
574      ->condition('visitors_path', '/history/%/read', 'LIKE')
575      ->execute();
576  }
577
578  if ($sandbox['progress'] == 5) {
579    // Delete uploaded image visits.
580    $database->delete('visitors')
581      ->condition('visitors_path', '/ckeditor5/upload-image/%', 'LIKE')
582      ->execute();
583  }
584
585  if ($sandbox['progress'] == 6) {
586    // Delete jsnlog entries.
587    $database->delete('visitors')
588      ->condition('visitors_path', '/jsnlog/log%', 'LIKE')
589      ->execute();
590  }
591
592  if ($sandbox['progress'] == 7) {
593    $database->delete('visitors')
594      ->condition('visitors_url', '%/jsnlog.logger', 'LIKE')
595      ->condition('visitors_path', '/',)
596      ->execute();
597  }
598
599  if ($sandbox['progress'] == 8) {
600    // Deletes tagify visits.
601    $database->delete('visitors')
602      ->condition('visitors_path', '/tagify_autocomplete/%', 'LIKE')
603      ->execute();
604  }
605
606  if ($sandbox['progress'] == 9) {
607    // Deletes entity reference id visits.
608    $database->delete('visitors')
609      ->condition('visitors_path', '/entity_reference_autocomplete_id/%/%/%', 'LIKE')
610      ->execute();
611  }
612
613  if ($sandbox['progress'] == 10) {
614    // Deletes entity reference visits.
615    $database->delete('visitors')
616      ->condition('visitors_path', '/entity_reference_autocomplete/%/%/%', 'LIKE')
617      ->execute();
618  }
619
620  $sandbox['progress'] += 1;
621  $sandbox['#finished'] = empty($sandbox['max']) ? 1 : $sandbox['progress'] / $sandbox['max'];
622}
623
624/**
625 * Entity View counter.
626 */
627function visitors_update_8216(&$sandbox) {
628  /** @var \Drupal\Core\Database\Connection $database */
629  $database = \Drupal::database();
630  $time = \Drupal::time();
631  $logger = \Drupal::logger('visitors');
632  $sandbox['#finished'] = 0;
633  if (!isset($sandbox['progress'])) {
634    drupal_flush_all_caches();
635    $sandbox['progress'] = -15;
636    \Drupal::service('config.factory')
637      ->getEditable('visitors.config')
638      ->set('counter.enabled', 1)
639      ->set('counter.entity_types', ['node' => 'node'])
640      ->set('counter.display_max_age', 3600)
641      ->save();
642  }
643  elseif ($sandbox['progress'] == -15) {
644    $schema = $database->schema();
645    try {
646      $schema->addField(
647        'visitors',
648        'route',
649        [
650          'type' => 'varchar',
651          'length' => 255,
652          'not null' => TRUE,
653          'default' => '',
654        ]
655      );
656    }
657    catch (\Exception $e) {
658      Error::logException($logger, $e);
659    }
660    \Drupal::state()->set('visitors.rebuild.route', TRUE);
661    $sandbox['progress'] += 1;
662  }
663  elseif ($sandbox['progress'] == -14) {
664    $schema = $database->schema();
665    try {
666      $schema->addField(
667        'visitors',
668        'config_resolution',
669        [
670          'type' => 'varchar',
671          'length' => 18,
672          'not null' => FALSE,
673          'default' => NULL,
674        ]
675      );
676    }
677    catch (\Exception $e) {
678      Error::logException($logger, $e);
679    }
680    $sandbox['progress'] += 1;
681  }
682  elseif ($sandbox['progress'] == -13) {
683    $schema = $database->schema();
684    try {
685      $schema->addField(
686        'visitors',
687        'config_pdf',
688        [
689          'type' => 'int',
690          'size' => 'tiny',
691          'not null' => FALSE,
692          'default' => NULL,
693        ]
694      );
695    }
696    catch (\Exception $e) {
697      Error::logException($logger, $e);
698    }
699    $sandbox['progress'] += 1;
700  }
701  elseif ($sandbox['progress'] == -12) {
702    $schema = $database->schema();
703    try {
704      $schema->addField(
705        'visitors',
706        'config_flash',
707        [
708          'type' => 'int',
709          'size' => 'tiny',
710          'not null' => FALSE,
711          'default' => NULL,
712        ]
713      );
714    }
715    catch (\Exception $e) {
716      Error::logException($logger, $e);
717    }
718    $sandbox['progress'] += 1;
719  }
720  elseif ($sandbox['progress'] == -11) {
721    $schema = $database->schema();
722    try {
723      $schema->addField(
724        'visitors',
725        'config_java',
726        [
727          'type' => 'int',
728          'size' => 'tiny',
729          'not null' => FALSE,
730          'default' => NULL,
731        ]
732      );
733    }
734    catch (\Exception $e) {
735      Error::logException($logger, $e);
736    }
737    $sandbox['progress'] += 1;
738  }
739  elseif ($sandbox['progress'] == -10) {
740    $schema = $database->schema();
741    try {
742      $schema->addField(
743        'visitors',
744        'config_quicktime',
745        [
746          'type' => 'int',
747          'size' => 'tiny',
748          'not null' => FALSE,
749          'default' => NULL,
750        ]
751      );
752    }
753    catch (\Exception $e) {
754      Error::logException($logger, $e);
755    }
756    $sandbox['progress'] += 1;
757  }
758  elseif ($sandbox['progress'] == -9) {
759    $schema = $database->schema();
760    try {
761      $schema->addField(
762        'visitors',
763        'config_realplayer',
764        [
765          'type' => 'int',
766          'size' => 'tiny',
767          'not null' => FALSE,
768          'default' => NULL,
769        ]
770      );
771    }
772    catch (\Exception $e) {
773      Error::logException($logger, $e);
774    }
775    $sandbox['progress'] += 1;
776  }
777  elseif ($sandbox['progress'] == -8) {
778    $schema = $database->schema();
779    try {
780      $schema->addField(
781        'visitors',
782        'config_windowsmedia',
783        [
784          'type' => 'int',
785          'size' => 'tiny',
786          'not null' => FALSE,
787          'default' => NULL,
788        ]
789      );
790    }
791    catch (\Exception $e) {
792      Error::logException($logger, $e);
793    }
794    $sandbox['progress'] += 1;
795  }
796  elseif ($sandbox['progress'] == -7) {
797    $schema = $database->schema();
798    try {
799      $schema->addField(
800        'visitors',
801        'config_silverlight',
802        [
803          'type' => 'int',
804          'size' => 'tiny',
805          'not null' => FALSE,
806          'default' => NULL,
807        ]
808      );
809    }
810    catch (\Exception $e) {
811      Error::logException($logger, $e);
812    }
813    $sandbox['progress'] += 1;
814  }
815  elseif ($sandbox['progress'] == -6) {
816    $schema = $database->schema();
817    try {
818      $schema->addField(
819        'visitors',
820        'config_cookie',
821        [
822          'type' => 'int',
823          'size' => 'tiny',
824          'not null' => FALSE,
825          'default' => NULL,
826        ]
827      );
828    }
829    catch (\Exception $e) {
830      Error::logException($logger, $e);
831    }
832    $sandbox['progress'] += 1;
833  }
834
835  elseif ($sandbox['progress'] == -5) {
836    $schema = $database->schema();
837    $table_name = 'visitors_counter';
838    $table_schema = [
839      'fields' => [
840        'entity_id' => [
841          'description' => 'The entity id for these visits.',
842          'type' => 'int',
843          'unsigned' => TRUE,
844          'not null' => TRUE,
845          'default' => 0,
846        ],
847        'entity_type' => [
848          'type' => 'varchar_ascii',
849          'not null' => TRUE,
850          'default' => 'node',
851          'length' => EntityTypeInterface::ID_MAX_LENGTH,
852          'description' => 'The entity_type of the entity for these visits.',
853        ],
854        'total' => [
855          'description' => 'The total number of times the entity has been viewed.',
856          'type' => 'int',
857          'unsigned' => TRUE,
858          'not null' => TRUE,
859          'default' => 0,
860          'size' => 'big',
861        ],
862        'today' => [
863          'description' => 'The total number of times the entity has been viewed today.',
864          'type' => 'int',
865          'unsigned' => TRUE,
866          'not null' => TRUE,
867          'default' => 0,
868          'size' => 'medium',
869        ],
870        'timestamp' => [
871          'description' => 'The most recent time the entity has been viewed.',
872          'type' => 'int',
873          'unsigned' => TRUE,
874          'not null' => TRUE,
875          'default' => 0,
876        ],
877      ],
878      'primary key' => ['entity_type', 'entity_id'],
879    ];
880    try {
881      $schema->createTable($table_name, $table_schema);
882    }
883    catch (\Exception $e) {
884      Error::logException($logger, $e);
885    }
886    $sandbox['progress'] += 1;
887  }
888  elseif ($sandbox['progress'] == -4) {
889    // Wait to ensure the route column is there. This is a hack.
890    sleep(10);
891    $sandbox['progress'] += 1;
892  }
893  elseif ($sandbox['progress'] == -3) {
894    $database->update('visitors')
895      ->fields([
896        'route' => 'entity.node.canonical',
897      ])
898      ->condition('visitors_path', '/node/%', 'LIKE')
899      ->condition('visitors_path', '/node/%/%', 'NOT LIKE')
900      ->condition('visitors_path', '/node/add', '<>')
901      ->execute();
902
903    $sandbox['progress'] += 1;
904  }
905  elseif ($sandbox['progress'] == -2) {
906    $database->update('visitors')
907      ->fields([
908        'route' => 'entity.node.preview',
909      ])
910      ->condition('visitors_path', '/node/preview/%/%', 'LIKE')
911      ->execute();
912
913    $sandbox['progress'] += 1;
914  }
915  elseif ($sandbox['progress'] == -1) {
916    $query = $database->select('visitors', 'v')
917      ->fields('v', ['visitors_path'])
918      ->condition('route', 'entity.node.canonical')
919      ->groupBy('visitors_path');
920    $query->addExpression('COUNT(visitors_path)', 'count');
921    $query->addExpression('MAX(visitors_date_time)', 'timestamp');
922    $sandbox['paths'] = $query->execute()->fetchAll();
923
924    $sandbox['max'] = count($sandbox['paths']);
925    $sandbox['progress'] += 1;
926  }
927  else {
928    $execution_time = 0;
929    $node_storage = \Drupal::entityTypeManager()->getStorage('node');
930    do {
931      $record = array_pop($sandbox['paths']);
932      $sandbox['progress'] += 1;
933
934      if (empty($record)) {
935        $logger->error(var_export($record, TRUE));
936        $execution_time = $time->getCurrentTime() - $time->getRequestTime();
937        if ($execution_time > 30) {
938          $sandbox['#finished'] = empty($sandbox['max']) ? 1 : $sandbox['progress'] / $sandbox['max'];
939          break;
940        }
941        continue;
942      }
943      $path = $record->visitors_path;
944      [$type, $id] = array_slice(explode('/', $path), 1);
945      if (is_null($id)) {
946        \Drupal::logger('visitors')->error('Invalid path: @path', [
947          '@path' => $path,
948        ]);
949        continue;
950      }
951      if (!$node_storage->load($id)) {
952        continue;
953      }
954      $count = $record->count;
955      $timestamp = $record->timestamp;
956      $database
957        ->merge('visitors_counter')
958        ->key('entity_type', $type)
959        ->key('entity_id', $id)
960        ->fields([
961          'today' => 0,
962          'total' => $count,
963          'timestamp' => $timestamp,
964        ])
965        ->expression('today', '[today]')
966        ->expression('total', "[total] + $count")
967        ->execute();
968
969      $execution_time = $time->getCurrentTime() - $time->getRequestTime();
970
971    } while ($execution_time < 30);
972
973    $sandbox['#finished'] = empty($sandbox['max']) ? 1 : $sandbox['progress'] / $sandbox['max'];
974    if (empty($sandbox['paths'])) {
975      $sandbox['#finished'] = 1;
976    }
977  }
978
979}
980
981/**
982 * Tracks unique visitor_id, and adds visitors table indexes, performance.
983 */
984function visitors_update_8217(&$sandbox) {
985  if (!isset($sandbox['progress'])) {
986    $sandbox['progress'] = 0;
987    $sandbox['max'] = 5;
988
989    drupal_flush_all_caches();
990    $settings = \Drupal::service('config.factory')
991      ->getEditable('visitors.config');
992    $flush_log_timer = $settings->get('flush_log_timer');
993    $settings->set('bot_retention_log', $flush_log_timer);
994    $settings->set('performance', FALSE);
995    $settings->clear('show_last_registered_user');
996    $settings->clear('show_published_nodes');
997    $settings->clear('show_registered_users_count');
998    $settings->clear('show_since_date');
999    $settings->clear('show_total_visitors');
1000    $settings->clear('show_unique_visitor');
1001    $settings->clear('show_user_ip');
1002    $settings->clear('start_count_total_visitors');
1003
1004    $settings->save();
1005  }
1006
1007  $schema = [
1008    'fields' => [
1009      'visitors_id' => [
1010        'type' => 'serial',
1011        'not null' => TRUE,
1012      ],
1013      'visitor_id' => [
1014        'type' => 'varchar',
1015        'length' => 32,
1016        'not null' => FALSE,
1017        'default' => NULL,
1018      ],
1019      'visitors_uid' => [
1020        'type' => 'int',
1021        'not null' => TRUE,
1022        'default' => 0,
1023      ],
1024      'visitors_ip' => [
1025        'type' => 'varchar',
1026        'length' => 45,
1027        'not null' => TRUE,
1028        'default' => '',
1029      ],
1030      'visitors_date_time' => [
1031        'type' => 'int',
1032        'not null' => TRUE,
1033        'default' => 0,
1034      ],
1035      'visitor_localtime' => [
1036        'type' => 'int',
1037        'size' => 'medium',
1038        'not null' => FALSE,
1039        'default' => NULL,
1040      ],
1041      'visitors_url' => [
1042        'type' => 'text',
1043        'not null' => TRUE,
1044      ],
1045      'visitors_referer' => [
1046        'type' => 'text',
1047        'not null' => TRUE,
1048      ],
1049      'visitors_path' => [
1050        'type' => 'varchar',
1051        'length' => 255,
1052        'not null' => TRUE,
1053        'default' => '',
1054      ],
1055      'visitors_title' => [
1056        'type' => 'varchar',
1057        'length' => 255,
1058        'not null' => TRUE,
1059        'default' => '',
1060      ],
1061      'visitors_user_agent' => [
1062        'type' => 'text',
1063        'not null' => TRUE,
1064      ],
1065      'route' => [
1066        'type' => 'varchar',
1067        'length' => 255,
1068        'not null' => TRUE,
1069        'default' => '',
1070      ],
1071      'config_resolution' => [
1072        'type' => 'varchar',
1073        'length' => 18,
1074        'not null' => FALSE,
1075        'default' => NULL,
1076      ],
1077      'config_pdf' => [
1078        'type' => 'int',
1079        'size' => 'tiny',
1080        'not null' => FALSE,
1081        'default' => NULL,
1082      ],
1083      'config_flash' => [
1084        'type' => 'int',
1085        'size' => 'tiny',
1086        'not null' => FALSE,
1087        'default' => NULL,
1088      ],
1089      'config_java' => [
1090        'type' => 'int',
1091        'size' => 'tiny',
1092        'not null' => FALSE,
1093        'default' => NULL,
1094      ],
1095      'config_quicktime' => [
1096        'type' => 'int',
1097        'size' => 'tiny',
1098        'not null' => FALSE,
1099        'default' => NULL,
1100      ],
1101      'config_realplayer' => [
1102        'type' => 'int',
1103        'size' => 'tiny',
1104        'not null' => FALSE,
1105        'default' => NULL,
1106      ],
1107      'config_windowsmedia' => [
1108        'type' => 'int',
1109        'size' => 'tiny',
1110        'not null' => FALSE,
1111        'default' => NULL,
1112      ],
1113      'config_silverlight' => [
1114        'type' => 'int',
1115        'size' => 'tiny',
1116        'not null' => FALSE,
1117        'default' => NULL,
1118      ],
1119      'config_cookie' => [
1120        'type' => 'int',
1121        'size' => 'tiny',
1122        'not null' => FALSE,
1123        'default' => NULL,
1124      ],
1125      'config_browser_engine' => [
1126        'type' => 'varchar',
1127        'length' => '10',
1128        'not null' => FALSE,
1129        'default' => NULL,
1130      ],
1131      'config_browser_name' => [
1132        'type' => 'varchar',
1133        'length' => '40',
1134        'not null' => FALSE,
1135        'default' => NULL,
1136      ],
1137      'config_browser_version' => [
1138        'type' => 'varchar',
1139        'length' => '20',
1140        'not null' => FALSE,
1141        'default' => NULL,
1142      ],
1143      'config_client_type' => [
1144        'type' => 'varchar',
1145        'length' => '100',
1146        'not null' => FALSE,
1147        'default' => NULL,
1148      ],
1149      'config_device_brand' => [
1150        'type' => 'varchar',
1151        'length' => '100',
1152        'not null' => FALSE,
1153        'default' => NULL,
1154      ],
1155      'config_device_model' => [
1156        'type' => 'varchar',
1157        'length' => '100',
1158        'not null' => FALSE,
1159        'default' => NULL,
1160      ],
1161      'config_device_type' => [
1162        'type' => 'varchar',
1163        'length' => '100',
1164        'not null' => FALSE,
1165        'default' => NULL,
1166      ],
1167      'config_os' => [
1168        'type' => 'varchar',
1169        'length' => '3',
1170        'not null' => FALSE,
1171        'default' => NULL,
1172      ],
1173      'config_os_version' => [
1174        'type' => 'varchar',
1175        'length' => '100',
1176        'not null' => FALSE,
1177        'default' => NULL,
1178      ],
1179      'bot' => [
1180        'type' => 'int',
1181        'size' => 'tiny',
1182        'not null' => FALSE,
1183        'default' => NULL,
1184      ],
1185    ],
1186    'primary key' => ['visitors_id'],
1187    'indexes' => [
1188      'visitors_uid' => ['visitors_uid'],
1189      'visitors_ip' => ['visitors_ip'],
1190      'visitor_id' => ['visitor_id'],
1191      'visitors_date_time' => ['visitors_date_time'],
1192      'bot' => ['bot'],
1193    ],
1194  ];
1195  /** @var \Drupal\Core\Database\Connection $database */
1196  $database = \Drupal::database();
1197  $logger = \Drupal::logger('visitors');
1198  if ($sandbox['progress'] == 1) {
1199    try {
1200      $database->schema()->addField(
1201        'visitors',
1202        'visitor_localtime',
1203        [
1204          'type' => 'int',
1205          'size' => 'medium',
1206          'not null' => FALSE,
1207          'default' => NULL,
1208        ]
1209      );
1210
1211      $database->schema()
1212        ->addField('visitors', 'visitor_id', [
1213          'type' => 'varchar',
1214          'length' => 32,
1215          'not null' => FALSE,
1216          'default' => NULL,
1217        ]);
1218      $database->schema()
1219        ->addIndex('visitors', 'visitor_id', ['visitor_id'], $schema);
1220    }
1221    catch (\Exception $e) {
1222      Error::logException($logger, $e);
1223    }
1224  }
1225  elseif ($sandbox['progress'] == 2) {
1226    try {
1227      $database->schema()
1228        ->addIndex('visitors', 'visitors_uid', ['visitors_uid'], $schema);
1229
1230      $database->schema()
1231        ->addIndex('visitors', 'visitors_ip', ['visitors_ip'], $schema);
1232
1233      $database->schema()
1234        ->addIndex('visitors', 'visitors_date_time', ['visitors_date_time'], $schema);
1235    }
1236    catch (\Exception $e) {
1237      Error::logException($logger, $e);
1238    }
1239  }
1240  elseif ($sandbox['progress'] == 3) {
1241    try {
1242      $database->schema()->addField(
1243        'visitors',
1244        'config_browser_engine',
1245        [
1246          'type' => 'varchar',
1247          'length' => '10',
1248          'not null' => FALSE,
1249          'default' => NULL,
1250        ]
1251      );
1252
1253      $database->schema()->addField(
1254        'visitors',
1255        'config_browser_name',
1256        [
1257          'type' => 'varchar',
1258          'length' => '40',
1259          'not null' => FALSE,
1260          'default' => NULL,
1261        ]
1262      );
1263
1264      $database->schema()->addField(
1265        'visitors',
1266        'config_browser_version',
1267        [
1268          'type' => 'varchar',
1269          'length' => '20',
1270          'not null' => FALSE,
1271          'default' => NULL,
1272        ]
1273      );
1274
1275      // @todo need to check length
1276      $database->schema()->addField(
1277        'visitors',
1278        'config_client_type',
1279        [
1280          'type' => 'varchar',
1281          'length' => '100',
1282          'not null' => FALSE,
1283          'default' => NULL,
1284        ]
1285      );
1286
1287      $database->schema()->addField(
1288        'visitors',
1289        'config_device_brand',
1290        [
1291          'type' => 'varchar',
1292          'length' => '100',
1293          'not null' => FALSE,
1294          'default' => NULL,
1295        ]
1296      );
1297
1298      $database->schema()->addField(
1299        'visitors',
1300        'config_device_model',
1301        [
1302          'type' => 'varchar',
1303          'length' => '100',
1304          'not null' => FALSE,
1305          'default' => NULL,
1306        ]
1307      );
1308
1309      $database->schema()->addField(
1310        'visitors',
1311        'config_device_type',
1312        [
1313          'type' => 'varchar',
1314          'length' => '100',
1315          'not null' => FALSE,
1316          'default' => NULL,
1317        ]
1318      );
1319
1320      $database->schema()->addField(
1321        'visitors',
1322        'config_os',
1323        [
1324          'type' => 'varchar',
1325          'length' => '3',
1326          'not null' => FALSE,
1327          'default' => NULL,
1328        ]
1329      );
1330
1331      $database->schema()->addField(
1332        'visitors',
1333        'config_os_version',
1334        [
1335          'type' => 'varchar',
1336          'length' => '100',
1337          'not null' => FALSE,
1338          'default' => NULL,
1339        ]
1340      );
1341
1342      $database->schema()->addField(
1343        'visitors',
1344        'bot',
1345        [
1346          'type' => 'int',
1347          'size' => 'tiny',
1348          'not null' => FALSE,
1349          'default' => NULL,
1350        ]
1351      );
1352      $database->schema()
1353        ->addIndex('visitors', 'bot', ['bot'], $schema);
1354
1355      \Drupal::state()->set('visitors.rebuild.device', TRUE);
1356    }
1357    catch (\Exception $e) {
1358      Error::logException($logger, $e);
1359    }
1360  }
1361  elseif ($sandbox['progress'] == 4) {
1362
1363    $schema = $database->schema();
1364    $table_name = 'visitors_performance';
1365    $table_schema = [
1366      'fields' => [
1367        'id' => [
1368          'type' => 'serial',
1369          'not null' => TRUE,
1370        ],
1371        'visitors_id' => [
1372          'type' => 'int',
1373          'not null' => TRUE,
1374        ],
1375        'network' => [
1376          'type' => 'int',
1377          'not null' => TRUE,
1378        ],
1379        'server' => [
1380          'type' => 'int',
1381          'not null' => TRUE,
1382        ],
1383        'transfer' => [
1384          'type' => 'int',
1385          'not null' => TRUE,
1386        ],
1387        'dom_processing' => [
1388          'type' => 'int',
1389          'not null' => TRUE,
1390        ],
1391        'dom_complete' => [
1392          'type' => 'int',
1393          'not null' => TRUE,
1394        ],
1395        'on_load' => [
1396          'type' => 'int',
1397          'not null' => TRUE,
1398        ],
1399        'total' => [
1400          'type' => 'int',
1401          'not null' => TRUE,
1402        ],
1403      ],
1404      'primary key' => ['id'],
1405      'indexes' => [
1406        'visitors_id' => ['visitors_id'],
1407      ],
1408    ];
1409
1410    try {
1411      $schema->createTable($table_name, $table_schema);
1412    }
1413    catch (\Exception $e) {
1414      Error::logException($logger, $e);
1415    }
1416  }
1417
1418  $sandbox['progress'] += 1;
1419  $sandbox['#finished'] = empty($sandbox['max']) ? 1 : $sandbox['progress'] / $sandbox['max'];
1420}
1421
1422/**
1423 * Adds more visitor reports.
1424 */
1425function visitors_update_8218(&$sandbox) {
1426
1427  if (!isset($sandbox['progress'])) {
1428    $sandbox['progress'] = 0;
1429
1430    /** @var \Drupal\Core\Database\Connection $database */
1431    $database = \Drupal::database();
1432    $query = $database->select('visitors', 'v')
1433      ->fields('v', ['config_browser_name'])
1434      ->distinct();
1435    $result = $query->execute();
1436    $sandbox['browser'] = $result->fetchAll();
1437    $sandbox['max'] = count($sandbox['browser']);
1438
1439    \Drupal::configFactory()->getEditable('visitors.config')
1440      ->set('script_type', 'minified')
1441      ->save();
1442  }
1443  else {
1444
1445    $browser = array_pop($sandbox['browser']);
1446    $browser_name = $browser->config_browser_name ?? '';
1447    if (strlen($browser_name) > 2) {
1448      $short_name = Browser::getBrowserShortName($browser_name);
1449      /** @var \Drupal\Core\Database\Connection $database */
1450      $database = \Drupal::database();
1451      $query = $database->update('visitors')
1452        ->fields([
1453          'config_browser_name' => $short_name,
1454        ])
1455        ->condition('config_browser_name', $browser_name);
1456      $query->execute();
1457    }
1458
1459    $sandbox['progress'] += 1;
1460  }
1461
1462  $sandbox['#finished'] = empty($sandbox['max']) ? 1 : $sandbox['progress'] / $sandbox['max'];
1463
1464  if ($sandbox['#finished'] == 1) {
1465    $schema = \Drupal::database()->schema();
1466    $schema->changeField('visitors', 'config_browser_name', 'config_browser_name', [
1467      'type' => 'varchar',
1468      'length' => '2',
1469      'not null' => FALSE,
1470      'default' => NULL,
1471    ]);
1472  }
1473}
1474
1475/**
1476 * Adds Location reports.
1477 */
1478function visitors_update_8220() {
1479  $settings = \Drupal::service('config.factory')->getEditable('visitors.config');
1480  $settings
1481    ->clear('chart_height')
1482    ->clear('chart_width')
1483    ->save();
1484
1485  $module_handler = \Drupal::service('module_handler');
1486  if (!$module_handler->moduleExists('charts_chartjs')) {
1487    $module_installer = \Drupal::service('module_installer');
1488    $module_installer->install(['charts_chartjs']);
1489  }
1490
1491  $schema = \Drupal::database()->schema();
1492  $table = 'visitors';
1493
1494  if (!$schema->fieldExists($table, 'language')) {
1495    $schema->addField(
1496      'visitors',
1497      'language',
1498      [
1499        'type' => 'varchar',
1500        'length' => 2,
1501        'not null' => TRUE,
1502        'default' => '',
1503      ]
1504    );
1505  }
1506
1507  if ($schema->fieldExists($table, 'location_continent_code')) {
1508    $schema->changeField(
1509      'visitors',
1510      'location_continent_code',
1511      'location_continent',
1512      [
1513        'type' => 'varchar',
1514        'length' => 2,
1515        'not null' => TRUE,
1516        'default' => '',
1517      ]
1518    );
1519  }
1520  else {
1521    $schema->addField(
1522      'visitors',
1523      'location_continent',
1524      [
1525        'type' => 'varchar',
1526        'length' => 2,
1527        'not null' => TRUE,
1528        'default' => '',
1529      ]
1530    );
1531  }
1532
1533  if ($schema->fieldExists($table, 'location_country_code')) {
1534    $schema->changeField(
1535      'visitors',
1536      'location_country_code',
1537      'location_country',
1538      [
1539        'type' => 'varchar',
1540        'length' => 2,
1541        'not null' => TRUE,
1542        'default' => '',
1543      ]
1544    );
1545  }
1546  else {
1547    $schema->addField(
1548      'visitors',
1549      'location_country',
1550      [
1551        'type' => 'varchar',
1552        'length' => 2,
1553        'not null' => TRUE,
1554        'default' => '',
1555      ]
1556    );
1557  }
1558
1559  $visitors_view = [
1560    'langcode' => 'en',
1561    'status' => TRUE,
1562    'dependencies' => [
1563      'module' => [
1564        0 => 'charts',
1565        1 => 'charts_chartjs',
1566        2 => 'visitors',
1567      ],
1568    ],
1569    'id' => 'visitors',
1570    'label' => 'Visitors',
1571    'module' => 'views',
1572    'description' => 'Visitors web analytics reports.',
1573    'tag' => '',
1574    'base_table' => 'visitors',
1575    'base_field' => '',
1576    'display' => [
1577      'default' => [
1578        'id' => 'default',
1579        'display_title' => 'Default',
1580        'display_plugin' => 'default',
1581        'position' => 0,
1582        'display_options' => [
1583          'title' => '',
1584          'fields' => [
1585            'visitor_id' => [
1586              'id' => 'visitor_id',
1587              'table' => 'visitors',
1588              'field' => 'visitor_id',
1589              'relationship' => 'none',
1590              'group_type' => 'count_distinct',
1591              'admin_label' => '',
1592              'plugin_id' => 'standard',
1593              'label' => 'Unique visitors',
1594              'exclude' => FALSE,
1595              'alter' => [
1596                'alter_text' => FALSE,
1597                'text' => '',
1598                'make_link' => FALSE,
1599                'path' => '',
1600                'absolute' => FALSE,
1601                'external' => FALSE,
1602                'replace_spaces' => FALSE,
1603                'path_case' => 'none',
1604                'trim_whitespace' => FALSE,
1605                'alt' => '',
1606                'rel' => '',
1607                'link_class' => '',
1608                'prefix' => '',
1609                'suffix' => '',
1610                'target' => '',
1611                'nl2br' => FALSE,
1612                'max_length' => 0,
1613                'word_boundary' => TRUE,
1614                'ellipsis' => TRUE,
1615                'more_link' => FALSE,
1616                'more_link_text' => '',
1617                'more_link_path' => '',
1618                'strip_tags' => FALSE,
1619                'trim' => FALSE,
1620                'preserve_tags' => '',
1621                'html' => FALSE,
1622              ],
1623              'element_type' => '',
1624              'element_class' => '',
1625              'element_label_type' => '',
1626              'element_label_class' => '',
1627              'element_label_colon' => TRUE,
1628              'element_wrapper_type' => '',
1629              'element_wrapper_class' => '',
1630              'element_default_classes' => TRUE,
1631              'empty' => '',
1632              'hide_empty' => FALSE,
1633              'empty_zero' => FALSE,
1634              'hide_alter_empty' => TRUE,
1635            ],
1636          ],
1637          'pager' => [
1638            'type' => 'mini',
1639            'options' => [
1640              'offset' => 0,
1641              'items_per_page' => 10,
1642              'total_pages' => NULL,
1643              'id' => 0,
1644              'tags' => [
1645                'next' => '››',
1646                'previous' => '‹‹',
1647              ],
1648              'expose' => [
1649                'items_per_page' => FALSE,
1650                'items_per_page_label' => 'Items per page',
1651                'items_per_page_options' => '5, 10, 25, 50',
1652                'items_per_page_options_all' => FALSE,
1653                'items_per_page_options_all_label' => '- All -',
1654                'offset' => FALSE,
1655                'offset_label' => 'Offset',
1656              ],
1657            ],
1658          ],
1659          'exposed_form' => [
1660            'type' => 'basic',
1661            'options' => [
1662              'submit_button' => 'Apply',
1663              'reset_button' => FALSE,
1664              'reset_button_label' => 'Reset',
1665              'exposed_sorts_label' => 'Sort by',
1666              'expose_sort_order' => TRUE,
1667              'sort_asc_label' => 'Asc',
1668              'sort_desc_label' => 'Desc',
1669            ],
1670          ],
1671          'access' => [
1672            'type' => 'none',
1673            'options' => [],
1674          ],
1675          'cache' => [
1676            'type' => 'none',
1677            'options' => [],
1678          ],
1679          'empty' => [],
1680          'sorts' => [
1681            'visitors_id' => [
1682              'id' => 'visitors_id',
1683              'table' => 'visitors',
1684              'field' => 'visitors_id',
1685              'relationship' => 'none',
1686              'group_type' => 'count_distinct',
1687              'admin_label' => '',
1688              'plugin_id' => 'standard',
1689              'order' => 'DESC',
1690              'expose' => [
1691                'label' => '',
1692                'field_identifier' => '',
1693              ],
1694              'exposed' => FALSE,
1695            ],
1696          ],
1697          'arguments' => [],
1698          'filters' => [
1699            'bot' => [
1700              'id' => 'bot',
1701              'table' => 'visitors',
1702              'field' => 'bot',
1703              'relationship' => 'none',
1704              'group_type' => 'group',
1705              'admin_label' => '',
1706              'plugin_id' => 'boolean',
1707              'operator' => '!=',
1708              'value' => '1',
1709              'group' => 1,
1710              'exposed' => FALSE,
1711              'expose' => [
1712                'operator_id' => '',
1713                'label' => '',
1714                'description' => '',
1715                'use_operator' => FALSE,
1716                'operator' => '',
1717                'operator_limit_selection' => FALSE,
1718                'operator_list' => [],
1719                'identifier' => '',
1720                'required' => FALSE,
1721                'remember' => FALSE,
1722                'multiple' => FALSE,
1723                'remember_roles' => [
1724                  'authenticated' => 'authenticated',
1725                ],
1726              ],
1727              'is_grouped' => FALSE,
1728              'group_info' => [
1729                'label' => '',
1730                'description' => '',
1731                'identifier' => '',
1732                'optional' => TRUE,
1733                'widget' => 'select',
1734                'multiple' => FALSE,
1735                'remember' => FALSE,
1736                'default_group' => 'All',
1737                'default_group_multiple' => [],
1738                'group_items' => [],
1739              ],
1740            ],
1741            'visitors_date_time' => [
1742              'id' => 'visitors_date_time',
1743              'table' => 'visitors',
1744              'field' => 'visitors_date_time',
1745              'relationship' => 'none',
1746              'group_type' => 'group',
1747              'admin_label' => '',
1748              'plugin_id' => 'visitors_date',
1749              'operator' => 'between',
1750              'value' => [
1751                'min' => 'to',
1752                'max' => 'from',
1753                'value' => '',
1754                'type' => 'global',
1755              ],
1756              'group' => 1,
1757              'exposed' => FALSE,
1758              'expose' => [
1759                'operator_id' => '',
1760                'label' => '',
1761                'description' => '',
1762                'use_operator' => FALSE,
1763                'operator' => '',
1764                'operator_limit_selection' => FALSE,
1765                'operator_list' => [],
1766                'identifier' => '',
1767                'required' => FALSE,
1768                'remember' => FALSE,
1769                'multiple' => FALSE,
1770                'remember_roles' => [
1771                  'authenticated' => 'authenticated',
1772                ],
1773                'min_placeholder' => '',
1774                'max_placeholder' => '',
1775                'placeholder' => '',
1776              ],
1777              'is_grouped' => FALSE,
1778              'group_info' => [
1779                'label' => '',
1780                'description' => '',
1781                'identifier' => '',
1782                'optional' => TRUE,
1783                'widget' => 'select',
1784                'multiple' => FALSE,
1785                'remember' => FALSE,
1786                'default_group' => 'All',
1787                'default_group_multiple' => [],
1788                'group_items' => [],
1789              ],
1790            ],
1791          ],
1792          'style' => [
1793            'type' => 'table',
1794            'options' => [
1795              'grouping' => [],
1796              'row_class' => '',
1797              'default_row_class' => TRUE,
1798              'columns' => [
1799                'route' => 'route',
1800                'visitor_id' => 'visitor_id',
1801              ],
1802              'default' => 'visitor_id',
1803              'info' => [
1804                'route' => [
1805                  'sortable' => FALSE,
1806                  'default_sort_order' => 'asc',
1807                  'align' => '',
1808                  'separator' => '',
1809                  'empty_column' => FALSE,
1810                  'responsive' => '',
1811                ],
1812                'visitor_id' => [
1813                  'sortable' => TRUE,
1814                  'default_sort_order' => 'desc',
1815                  'align' => '',
1816                  'separator' => '',
1817                  'empty_column' => FALSE,
1818                  'responsive' => '',
1819                ],
1820              ],
1821              'override' => TRUE,
1822              'sticky' => TRUE,
1823              'summary' => '',
1824              'empty_table' => FALSE,
1825              'caption' => '',
1826              'description' => '',
1827            ],
1828          ],
1829          'row' => [
1830            'type' => 'fields',
1831            'options' => [
1832              'default_field_elements' => TRUE,
1833              'inline' => [],
1834              'separator' => '',
1835              'hide_empty' => FALSE,
1836            ],
1837          ],
1838          'query' => [
1839            'type' => 'views_query',
1840            'options' => [
1841              'query_comment' => '',
1842              'disable_sql_rewrite' => FALSE,
1843              'distinct' => FALSE,
1844              'replica' => FALSE,
1845              'query_tags' => [],
1846            ],
1847          ],
1848          'relationships' => [],
1849          'use_ajax' => TRUE,
1850          'group_by' => TRUE,
1851          'header' => [],
1852          'footer' => [],
1853          'display_extenders' => [],
1854        ],
1855        'cache_metadata' => [
1856          'max-age' => -1,
1857          'contexts' => [
1858            0 => 'languages:language_interface',
1859            1 => 'url.query_args',
1860          ],
1861          'tags' => [],
1862        ],
1863      ],
1864      'browser_engine_pie' => [
1865        'id' => 'browser_engine_pie',
1866        'display_title' => 'Engine Pie',
1867        'display_plugin' => 'embed',
1868        'position' => 8,
1869        'display_options' => [
1870          'title' => 'Browser Engines',
1871          'fields' => [
1872            'config_browser_engine' => [
1873              'id' => 'config_browser_engine',
1874              'table' => 'visitors',
1875              'field' => 'config_browser_engine',
1876              'relationship' => 'none',
1877              'group_type' => 'group',
1878              'admin_label' => '',
1879              'plugin_id' => 'standard',
1880              'label' => 'Engine',
1881              'exclude' => FALSE,
1882              'alter' => [
1883                'alter_text' => FALSE,
1884                'text' => '',
1885                'make_link' => FALSE,
1886                'path' => '',
1887                'absolute' => FALSE,
1888                'external' => FALSE,
1889                'replace_spaces' => FALSE,
1890                'path_case' => 'none',
1891                'trim_whitespace' => FALSE,
1892                'alt' => '',
1893                'rel' => '',
1894                'link_class' => '',
1895                'prefix' => '',
1896                'suffix' => '',
1897                'target' => '',
1898                'nl2br' => FALSE,
1899                'max_length' => 0,
1900                'word_boundary' => TRUE,
1901                'ellipsis' => TRUE,
1902                'more_link' => FALSE,
1903                'more_link_text' => '',
1904                'more_link_path' => '',
1905                'strip_tags' => FALSE,
1906                'trim' => FALSE,
1907                'preserve_tags' => '',
1908                'html' => FALSE,
1909              ],
1910              'element_type' => '',
1911              'element_class' => '',
1912              'element_label_type' => '',
1913              'element_label_class' => '',
1914              'element_label_colon' => TRUE,
1915              'element_wrapper_type' => '',
1916              'element_wrapper_class' => '',
1917              'element_default_classes' => TRUE,
1918              'empty' => '',
1919              'hide_empty' => FALSE,
1920              'empty_zero' => FALSE,
1921              'hide_alter_empty' => TRUE,
1922            ],
1923            'visitor_id' => [
1924              'id' => 'visitor_id',
1925              'table' => 'visitors',
1926              'field' => 'visitor_id',
1927              'relationship' => 'none',
1928              'group_type' => 'count_distinct',
1929              'admin_label' => '',
1930              'plugin_id' => 'standard',
1931              'label' => 'Unique visitors',
1932              'exclude' => FALSE,
1933              'alter' => [
1934                'alter_text' => FALSE,
1935                'text' => '',
1936                'make_link' => FALSE,
1937                'path' => '',
1938                'absolute' => FALSE,
1939                'external' => FALSE,
1940                'replace_spaces' => FALSE,
1941                'path_case' => 'none',
1942                'trim_whitespace' => FALSE,
1943                'alt' => '',
1944                'rel' => '',
1945                'link_class' => '',
1946                'prefix' => '',
1947                'suffix' => '',
1948                'target' => '',
1949                'nl2br' => FALSE,
1950                'max_length' => 0,
1951                'word_boundary' => TRUE,
1952                'ellipsis' => TRUE,
1953                'more_link' => FALSE,
1954                'more_link_text' => '',
1955                'more_link_path' => '',
1956                'strip_tags' => FALSE,
1957                'trim' => FALSE,
1958                'preserve_tags' => '',
1959                'html' => FALSE,
1960              ],
1961              'element_type' => '',
1962              'element_class' => '',
1963              'element_label_type' => '',
1964              'element_label_class' => '',
1965              'element_label_colon' => TRUE,
1966              'element_wrapper_type' => '',
1967              'element_wrapper_class' => '',
1968              'element_default_classes' => TRUE,
1969              'empty' => '',
1970              'hide_empty' => FALSE,
1971              'empty_zero' => FALSE,
1972              'hide_alter_empty' => TRUE,
1973            ],
1974          ],
1975          'style' => [
1976            'type' => 'chart',
1977            'options' => [
1978              'grouping' => [],
1979              'chart_settings' => [
1980                'library' => 'chartjs',
1981                'type' => 'pie',
1982                'fields' => [
1983                  'label' => 'config_browser_engine',
1984                  'stacking' => FALSE,
1985                  'data_providers' => [
1986                    'config_browser_engine' => [
1987                      'enabled' => FALSE,
1988                      'color' => '#000000',
1989                      'weight' => 2,
1990                    ],
1991                    'visitor_id' => [
1992                      'enabled' => TRUE,
1993                      'color' => '#000000',
1994                      'weight' => 2,
1995                    ],
1996                  ],
1997                ],
1998                'display' => [
1999                  'title' => 'Browser Engines',
2000                  'title_position' => 'top',
2001                  'subtitle' => '',
2002                  'data_labels' => FALSE,
2003                  'data_markers' => TRUE,
2004                  'legend_position' => 'bottom',
2005                  'background' => '',
2006                  'three_dimensional' => 0,
2007                  'polar' => 0,
2008                  'tooltips' => TRUE,
2009                  'dimensions' => [
2010                    'width' => '60',
2011                    'width_units' => '',
2012                    'height' => '60',
2013                    'height_units' => '%',
2014                  ],
2015                  'gauge' => [
2016                    'max' => '',
2017                    'min' => '',
2018                    'green_from' => '',
2019                    'green_to' => '',
2020                    'yellow_from' => '',
2021                    'yellow_to' => '',
2022                    'red_from' => '',
2023                    'red_to' => '',
2024                  ],
2025                  'color_changer' => FALSE,
2026                ],
2027                'xaxis' => [
2028                  'title' => '',
2029                  'labels_rotation' => '0',
2030                ],
2031                'yaxis' => [
2032                  'title' => '',
2033                  'min' => '',
2034                  'max' => '',
2035                  'prefix' => '',
2036                  'suffix' => '',
2037                  'decimal_count' => '',
2038                  'labels_rotation' => '0',
2039                ],
2040              ],
2041            ],
2042          ],
2043          'row' => [
2044            'type' => 'fields',
2045            'options' => [
2046              'default_field_elements' => TRUE,
2047              'inline' => [],
2048              'separator' => '',
2049              'hide_empty' => FALSE,
2050            ],
2051          ],
2052          'defaults' => [
2053            'title' => FALSE,
2054            'style' => FALSE,
2055            'row' => FALSE,
2056            'fields' => FALSE,
2057            'footer' => FALSE,
2058          ],
2059          'display_description' => '',
2060          'footer' => [
2061            'visitors_display_link' => [
2062              'id' => 'visitors_display_link',
2063              'table' => 'visitors',
2064              'field' => 'visitors_display_link',
2065              'relationship' => 'none',
2066              'group_type' => 'group',
2067              'admin_label' => '',
2068              'plugin_id' => 'visitors_display_link',
2069              'label' => 'table',
2070              'empty' => FALSE,
2071              'display_id' => 'browser_engine_table',
2072            ],
2073          ],
2074          'display_extenders' => [],
2075        ],
2076        'cache_metadata' => [
2077          'max-age' => -1,
2078          'contexts' => [
2079            0 => 'languages:language_interface',
2080            1 => 'url.query_args',
2081          ],
2082          'tags' => [],
2083        ],
2084      ],
2085      'browser_engine_table' => [
2086        'id' => 'browser_engine_table',
2087        'display_title' => 'Engine Table',
2088        'display_plugin' => 'embed',
2089        'position' => 8,
2090        'display_options' => [
2091          'title' => 'Browser Engines',
2092          'fields' => [
2093            'config_browser_engine' => [
2094              'id' => 'config_browser_engine',
2095              'table' => 'visitors',
2096              'field' => 'config_browser_engine',
2097              'relationship' => 'none',
2098              'group_type' => 'group',
2099              'admin_label' => '',
2100              'plugin_id' => 'standard',
2101              'label' => 'Engine',
2102              'exclude' => FALSE,
2103              'alter' => [
2104                'alter_text' => FALSE,
2105                'text' => '',
2106                'make_link' => FALSE,
2107                'path' => '',
2108                'absolute' => FALSE,
2109                'external' => FALSE,
2110                'replace_spaces' => FALSE,
2111                'path_case' => 'none',
2112                'trim_whitespace' => FALSE,
2113                'alt' => '',
2114                'rel' => '',
2115                'link_class' => '',
2116                'prefix' => '',
2117                'suffix' => '',
2118                'target' => '',
2119                'nl2br' => FALSE,
2120                'max_length' => 0,
2121                'word_boundary' => TRUE,
2122                'ellipsis' => TRUE,
2123                'more_link' => FALSE,
2124                'more_link_text' => '',
2125                'more_link_path' => '',
2126                'strip_tags' => FALSE,
2127                'trim' => FALSE,
2128                'preserve_tags' => '',
2129                'html' => FALSE,
2130              ],
2131              'element_type' => '',
2132              'element_class' => '',
2133              'element_label_type' => '',
2134              'element_label_class' => '',
2135              'element_label_colon' => TRUE,
2136              'element_wrapper_type' => '',
2137              'element_wrapper_class' => '',
2138              'element_default_classes' => TRUE,
2139              'empty' => '',
2140              'hide_empty' => FALSE,
2141              'empty_zero' => FALSE,
2142              'hide_alter_empty' => TRUE,
2143            ],
2144            'visitor_id' => [
2145              'id' => 'visitor_id',
2146              'table' => 'visitors',
2147              'field' => 'visitor_id',
2148              'relationship' => 'none',
2149              'group_type' => 'count_distinct',
2150              'admin_label' => '',
2151              'plugin_id' => 'standard',
2152              'label' => 'Unique visitors',
2153              'exclude' => FALSE,
2154              'alter' => [
2155                'alter_text' => FALSE,
2156                'text' => '',
2157                'make_link' => FALSE,
2158                'path' => '',
2159                'absolute' => FALSE,
2160                'external' => FALSE,
2161                'replace_spaces' => FALSE,
2162                'path_case' => 'none',
2163                'trim_whitespace' => FALSE,
2164                'alt' => '',
2165                'rel' => '',
2166                'link_class' => '',
2167                'prefix' => '',
2168                'suffix' => '',
2169                'target' => '',
2170                'nl2br' => FALSE,
2171                'max_length' => 0,
2172                'word_boundary' => TRUE,
2173                'ellipsis' => TRUE,
2174                'more_link' => FALSE,
2175                'more_link_text' => '',
2176                'more_link_path' => '',
2177                'strip_tags' => FALSE,
2178                'trim' => FALSE,
2179                'preserve_tags' => '',
2180                'html' => FALSE,
2181              ],
2182              'element_type' => '',
2183              'element_class' => '',
2184              'element_label_type' => '',
2185              'element_label_class' => '',
2186              'element_label_colon' => TRUE,
2187              'element_wrapper_type' => '',
2188              'element_wrapper_class' => '',
2189              'element_default_classes' => TRUE,
2190              'empty' => '',
2191              'hide_empty' => FALSE,
2192              'empty_zero' => FALSE,
2193              'hide_alter_empty' => TRUE,
2194            ],
2195          ],
2196          'defaults' => [
2197            'title' => FALSE,
2198            'fields' => FALSE,
2199            'footer' => FALSE,
2200          ],
2201          'display_description' => '',
2202          'footer' => [
2203            'visitors_display_link' => [
2204              'id' => 'visitors_display_link',
2205              'table' => 'visitors',
2206              'field' => 'visitors_display_link',
2207              'relationship' => 'none',
2208              'group_type' => 'group',
2209              'admin_label' => '',
2210              'plugin_id' => 'visitors_display_link',
2211              'label' => 'chart',
2212              'empty' => FALSE,
2213              'display_id' => 'browser_engine_pie',
2214            ],
2215          ],
2216          'display_extenders' => [],
2217        ],
2218        'cache_metadata' => [
2219          'max-age' => -1,
2220          'contexts' => [
2221            0 => 'languages:language_interface',
2222            1 => 'url.query_args',
2223          ],
2224          'tags' => [],
2225        ],
2226      ],
2227      'browser_name_table' => [
2228        'id' => 'browser_name_table',
2229        'display_title' => 'Browser Name',
2230        'display_plugin' => 'embed',
2231        'position' => 6,
2232        'display_options' => [
2233          'title' => 'Browser',
2234          'fields' => [
2235            'config_browser_name' => [
2236              'id' => 'config_browser_name',
2237              'table' => 'visitors',
2238              'field' => 'config_browser_name',
2239              'relationship' => 'none',
2240              'group_type' => 'group',
2241              'admin_label' => '',
2242              'plugin_id' => 'visitors_browser',
2243              'label' => 'Browser',
2244              'exclude' => FALSE,
2245              'alter' => [
2246                'alter_text' => FALSE,
2247                'text' => '',
2248                'make_link' => FALSE,
2249                'path' => '',
2250                'absolute' => FALSE,
2251                'external' => FALSE,
2252                'replace_spaces' => FALSE,
2253                'path_case' => 'none',
2254                'trim_whitespace' => FALSE,
2255                'alt' => '',
2256                'rel' => '',
2257                'link_class' => '',
2258                'prefix' => '',
2259                'suffix' => '',
2260                'target' => '',
2261                'nl2br' => FALSE,
2262                'max_length' => 0,
2263                'word_boundary' => TRUE,
2264                'ellipsis' => TRUE,
2265                'more_link' => FALSE,
2266                'more_link_text' => '',
2267                'more_link_path' => '',
2268                'strip_tags' => FALSE,
2269                'trim' => FALSE,
2270                'preserve_tags' => '',
2271                'html' => FALSE,
2272              ],
2273              'element_type' => '',
2274              'element_class' => '',
2275              'element_label_type' => '',
2276              'element_label_class' => '',
2277              'element_label_colon' => TRUE,
2278              'element_wrapper_type' => '',
2279              'element_wrapper_class' => '',
2280              'element_default_classes' => TRUE,
2281              'empty' => '',
2282              'hide_empty' => FALSE,
2283              'empty_zero' => FALSE,
2284              'hide_alter_empty' => TRUE,
2285              'icon' => TRUE,
2286            ],
2287            'visitor_id' => [
2288              'id' => 'visitor_id',
2289              'table' => 'visitors',
2290              'field' => 'visitor_id',
2291              'relationship' => 'none',
2292              'group_type' => 'count_distinct',
2293              'admin_label' => '',
2294              'plugin_id' => 'standard',
2295              'label' => 'Unique visitors',
2296              'exclude' => FALSE,
2297              'alter' => [
2298                'alter_text' => FALSE,
2299                'text' => '',
2300                'make_link' => FALSE,
2301                'path' => '',
2302                'absolute' => FALSE,
2303                'external' => FALSE,
2304                'replace_spaces' => FALSE,
2305                'path_case' => 'none',
2306                'trim_whitespace' => FALSE,
2307                'alt' => '',
2308                'rel' => '',
2309                'link_class' => '',
2310                'prefix' => '',
2311                'suffix' => '',
2312                'target' => '',
2313                'nl2br' => FALSE,
2314                'max_length' => 0,
2315                'word_boundary' => TRUE,
2316                'ellipsis' => TRUE,
2317                'more_link' => FALSE,
2318                'more_link_text' => '',
2319                'more_link_path' => '',
2320                'strip_tags' => FALSE,
2321                'trim' => FALSE,
2322                'preserve_tags' => '',
2323                'html' => FALSE,
2324              ],
2325              'element_type' => '',
2326              'element_class' => '',
2327              'element_label_type' => '',
2328              'element_label_class' => '',
2329              'element_label_colon' => TRUE,
2330              'element_wrapper_type' => '',
2331              'element_wrapper_class' => '',
2332              'element_default_classes' => TRUE,
2333              'empty' => '',
2334              'hide_empty' => FALSE,
2335              'empty_zero' => FALSE,
2336              'hide_alter_empty' => TRUE,
2337            ],
2338          ],
2339          'defaults' => [
2340            'title' => FALSE,
2341            'fields' => FALSE,
2342            'footer' => FALSE,
2343          ],
2344          'display_description' => '',
2345          'footer' => [
2346            'visitors_display_link' => [
2347              'id' => 'visitors_display_link',
2348              'table' => 'visitors',
2349              'field' => 'visitors_display_link',
2350              'relationship' => 'none',
2351              'group_type' => 'group',
2352              'admin_label' => '',
2353              'plugin_id' => 'visitors_display_link',
2354              'label' => 'Browser version',
2355              'empty' => FALSE,
2356              'display_id' => 'browser_version_table',
2357            ],
2358          ],
2359          'display_extenders' => [],
2360        ],
2361        'cache_metadata' => [
2362          'max-age' => -1,
2363          'contexts' => [
2364            0 => 'languages:language_interface',
2365            1 => 'url.query_args',
2366          ],
2367          'tags' => [],
2368        ],
2369      ],
2370      'browser_version_table' => [
2371        'id' => 'browser_version_table',
2372        'display_title' => 'Browser Version',
2373        'display_plugin' => 'embed',
2374        'position' => 7,
2375        'display_options' => [
2376          'title' => 'Browser Version',
2377          'fields' => [
2378            'config_browser_name' => [
2379              'id' => 'config_browser_name',
2380              'table' => 'visitors',
2381              'field' => 'config_browser_name',
2382              'relationship' => 'none',
2383              'group_type' => 'group',
2384              'admin_label' => '',
2385              'plugin_id' => 'visitors_browser',
2386              'label' => 'Browser Name',
2387              'exclude' => TRUE,
2388              'alter' => [
2389                'alter_text' => FALSE,
2390                'text' => '',
2391                'make_link' => FALSE,
2392                'path' => '',
2393                'absolute' => FALSE,
2394                'external' => FALSE,
2395                'replace_spaces' => FALSE,
2396                'path_case' => 'none',
2397                'trim_whitespace' => FALSE,
2398                'alt' => '',
2399                'rel' => '',
2400                'link_class' => '',
2401                'prefix' => '',
2402                'suffix' => '',
2403                'target' => '',
2404                'nl2br' => FALSE,
2405                'max_length' => 0,
2406                'word_boundary' => TRUE,
2407                'ellipsis' => TRUE,
2408                'more_link' => FALSE,
2409                'more_link_text' => '',
2410                'more_link_path' => '',
2411                'strip_tags' => FALSE,
2412                'trim' => FALSE,
2413                'preserve_tags' => '',
2414                'html' => FALSE,
2415              ],
2416              'element_type' => '',
2417              'element_class' => '',
2418              'element_label_type' => '',
2419              'element_label_class' => '',
2420              'element_label_colon' => TRUE,
2421              'element_wrapper_type' => '',
2422              'element_wrapper_class' => '',
2423              'element_default_classes' => TRUE,
2424              'empty' => '',
2425              'hide_empty' => FALSE,
2426              'empty_zero' => FALSE,
2427              'hide_alter_empty' => TRUE,
2428              'icon' => TRUE,
2429            ],
2430            'config_browser_version' => [
2431              'id' => 'config_browser_version',
2432              'table' => 'visitors',
2433              'field' => 'config_browser_version',
2434              'relationship' => 'none',
2435              'group_type' => 'group',
2436              'admin_label' => '',
2437              'plugin_id' => 'standard',
2438              'label' => 'Browser Version',
2439              'exclude' => FALSE,
2440              'alter' => [
2441                'alter_text' => TRUE,
2442                'text' => '{{ config_browser_name }} {{ config_browser_version }} ',
2443                'make_link' => FALSE,
2444                'path' => '',
2445                'absolute' => FALSE,
2446                'external' => FALSE,
2447                'replace_spaces' => FALSE,
2448                'path_case' => 'none',
2449                'trim_whitespace' => FALSE,
2450                'alt' => '',
2451                'rel' => '',
2452                'link_class' => '',
2453                'prefix' => '',
2454                'suffix' => '',
2455                'target' => '',
2456                'nl2br' => FALSE,
2457                'max_length' => 0,
2458                'word_boundary' => TRUE,
2459                'ellipsis' => TRUE,
2460                'more_link' => FALSE,
2461                'more_link_text' => '',
2462                'more_link_path' => '',
2463                'strip_tags' => FALSE,
2464                'trim' => FALSE,
2465                'preserve_tags' => '',
2466                'html' => FALSE,
2467              ],
2468              'element_type' => '',
2469              'element_class' => '',
2470              'element_label_type' => '',
2471              'element_label_class' => '',
2472              'element_label_colon' => TRUE,
2473              'element_wrapper_type' => '',
2474              'element_wrapper_class' => '',
2475              'element_default_classes' => TRUE,
2476              'empty' => '',
2477              'hide_empty' => FALSE,
2478              'empty_zero' => FALSE,
2479              'hide_alter_empty' => TRUE,
2480            ],
2481            'visitor_id' => [
2482              'id' => 'visitor_id',
2483              'table' => 'visitors',
2484              'field' => 'visitor_id',
2485              'relationship' => 'none',
2486              'group_type' => 'count_distinct',
2487              'admin_label' => '',
2488              'plugin_id' => 'standard',
2489              'label' => 'Unique visitors',
2490              'exclude' => FALSE,
2491              'alter' => [
2492                'alter_text' => FALSE,
2493                'text' => '',
2494                'make_link' => FALSE,
2495                'path' => '',
2496                'absolute' => FALSE,
2497                'external' => FALSE,
2498                'replace_spaces' => FALSE,
2499                'path_case' => 'none',
2500                'trim_whitespace' => FALSE,
2501                'alt' => '',
2502                'rel' => '',
2503                'link_class' => '',
2504                'prefix' => '',
2505                'suffix' => '',
2506                'target' => '',
2507                'nl2br' => FALSE,
2508                'max_length' => 0,
2509                'word_boundary' => TRUE,
2510                'ellipsis' => TRUE,
2511                'more_link' => FALSE,
2512                'more_link_text' => '',
2513                'more_link_path' => '',
2514                'strip_tags' => FALSE,
2515                'trim' => FALSE,
2516                'preserve_tags' => '',
2517                'html' => FALSE,
2518              ],
2519              'element_type' => '',
2520              'element_class' => '',
2521              'element_label_type' => '',
2522              'element_label_class' => '',
2523              'element_label_colon' => TRUE,
2524              'element_wrapper_type' => '',
2525              'element_wrapper_class' => '',
2526              'element_default_classes' => TRUE,
2527              'empty' => '',
2528              'hide_empty' => FALSE,
2529              'empty_zero' => FALSE,
2530              'hide_alter_empty' => TRUE,
2531            ],
2532          ],
2533          'defaults' => [
2534            'title' => FALSE,
2535            'fields' => FALSE,
2536            'footer' => FALSE,
2537          ],
2538          'display_description' => '',
2539          'footer' => [
2540            'visitors_display_link' => [
2541              'id' => 'visitors_display_link',
2542              'table' => 'visitors',
2543              'field' => 'visitors_display_link',
2544              'relationship' => 'none',
2545              'group_type' => 'group',
2546              'admin_label' => '',
2547              'plugin_id' => 'visitors_display_link',
2548              'label' => 'Browser',
2549              'empty' => FALSE,
2550              'display_id' => 'browser_name_table',
2551            ],
2552          ],
2553          'display_extenders' => [],
2554        ],
2555        'cache_metadata' => [
2556          'max-age' => -1,
2557          'contexts' => [
2558            0 => 'languages:language_interface',
2559            1 => 'url.query_args',
2560          ],
2561          'tags' => [],
2562        ],
2563      ],
2564      'continent_pie' => [
2565        'id' => 'continent_pie',
2566        'display_title' => 'Continent Pie',
2567        'display_plugin' => 'embed',
2568        'position' => 1,
2569        'display_options' => [
2570          'title' => 'Continent',
2571          'fields' => [
2572            'location_continent' => [
2573              'id' => 'location_continent',
2574              'table' => 'visitors',
2575              'field' => 'location_continent',
2576              'relationship' => 'none',
2577              'group_type' => 'group',
2578              'admin_label' => '',
2579              'plugin_id' => 'visitors_continent',
2580              'label' => 'Continent',
2581              'exclude' => FALSE,
2582              'alter' => [
2583                'alter_text' => FALSE,
2584                'text' => '',
2585                'make_link' => FALSE,
2586                'path' => '',
2587                'absolute' => FALSE,
2588                'external' => FALSE,
2589                'replace_spaces' => FALSE,
2590                'path_case' => 'none',
2591                'trim_whitespace' => FALSE,
2592                'alt' => '',
2593                'rel' => '',
2594                'link_class' => '',
2595                'prefix' => '',
2596                'suffix' => '',
2597                'target' => '',
2598                'nl2br' => FALSE,
2599                'max_length' => 0,
2600                'word_boundary' => TRUE,
2601                'ellipsis' => TRUE,
2602                'more_link' => FALSE,
2603                'more_link_text' => '',
2604                'more_link_path' => '',
2605                'strip_tags' => FALSE,
2606                'trim' => FALSE,
2607                'preserve_tags' => '',
2608                'html' => FALSE,
2609              ],
2610              'element_type' => '',
2611              'element_class' => '',
2612              'element_label_type' => '',
2613              'element_label_class' => '',
2614              'element_label_colon' => TRUE,
2615              'element_wrapper_type' => '',
2616              'element_wrapper_class' => '',
2617              'element_default_classes' => TRUE,
2618              'empty' => '',
2619              'hide_empty' => FALSE,
2620              'empty_zero' => FALSE,
2621              'hide_alter_empty' => TRUE,
2622            ],
2623            'visitor_id' => [
2624              'id' => 'visitor_id',
2625              'table' => 'visitors',
2626              'field' => 'visitor_id',
2627              'relationship' => 'none',
2628              'group_type' => 'count_distinct',
2629              'admin_label' => '',
2630              'plugin_id' => 'standard',
2631              'label' => 'Unique visitors',
2632              'exclude' => FALSE,
2633              'alter' => [
2634                'alter_text' => FALSE,
2635                'text' => '',
2636                'make_link' => FALSE,
2637                'path' => '',
2638                'absolute' => FALSE,
2639                'external' => FALSE,
2640                'replace_spaces' => FALSE,
2641                'path_case' => 'none',
2642                'trim_whitespace' => FALSE,
2643                'alt' => '',
2644                'rel' => '',
2645                'link_class' => '',
2646                'prefix' => '',
2647                'suffix' => '',
2648                'target' => '',
2649                'nl2br' => FALSE,
2650                'max_length' => 0,
2651                'word_boundary' => TRUE,
2652                'ellipsis' => TRUE,
2653                'more_link' => FALSE,
2654                'more_link_text' => '',
2655                'more_link_path' => '',
2656                'strip_tags' => FALSE,
2657                'trim' => FALSE,
2658                'preserve_tags' => '',
2659                'html' => FALSE,
2660              ],
2661              'element_type' => '',
2662              'element_class' => '',
2663              'element_label_type' => '',
2664              'element_label_class' => '',
2665              'element_label_colon' => TRUE,
2666              'element_wrapper_type' => '',
2667              'element_wrapper_class' => '',
2668              'element_default_classes' => TRUE,
2669              'empty' => '',
2670              'hide_empty' => FALSE,
2671              'empty_zero' => FALSE,
2672              'hide_alter_empty' => TRUE,
2673            ],
2674          ],
2675          'style' => [
2676            'type' => 'chart',
2677            'options' => [
2678              'grouping' => [],
2679              'chart_settings' => [
2680                'library' => 'chartjs',
2681                'type' => 'pie',
2682                'fields' => [
2683                  'label' => 'location_continent',
2684                  'stacking' => FALSE,
2685                  'data_providers' => [
2686                    'location_continent' => [
2687                      'enabled' => FALSE,
2688                      'color' => '#000000',
2689                      'weight' => 2,
2690                    ],
2691                    'visitor_id' => [
2692                      'enabled' => TRUE,
2693                      'color' => '#000000',
2694                      'weight' => 2,
2695                    ],
2696                  ],
2697                ],
2698                'display' => [
2699                  'title' => 'Continent',
2700                  'title_position' => 'top',
2701                  'subtitle' => '',
2702                  'data_labels' => FALSE,
2703                  'data_markers' => TRUE,
2704                  'legend_position' => 'bottom',
2705                  'background' => '',
2706                  'three_dimensional' => 0,
2707                  'polar' => 0,
2708                  'tooltips' => TRUE,
2709                  'dimensions' => [
2710                    'width' => '60',
2711                    'width_units' => '%',
2712                    'height' => '60',
2713                    'height_units' => '%',
2714                  ],
2715                  'gauge' => [
2716                    'max' => '',
2717                    'min' => '',
2718                    'green_from' => '',
2719                    'green_to' => '',
2720                    'yellow_from' => '',
2721                    'yellow_to' => '',
2722                    'red_from' => '',
2723                    'red_to' => '',
2724                  ],
2725                  'color_changer' => FALSE,
2726                ],
2727                'xaxis' => [
2728                  'title' => '',
2729                  'labels_rotation' => '0',
2730                ],
2731                'yaxis' => [
2732                  'title' => '',
2733                  'min' => '',
2734                  'max' => '',
2735                  'prefix' => '',
2736                  'suffix' => '',
2737                  'decimal_count' => '',
2738                  'labels_rotation' => '0',
2739                ],
2740              ],
2741            ],
2742          ],
2743          'row' => [
2744            'type' => 'fields',
2745            'options' => [
2746              'default_field_elements' => TRUE,
2747              'inline' => [],
2748              'separator' => '',
2749              'hide_empty' => FALSE,
2750            ],
2751          ],
2752          'defaults' => [
2753            'title' => FALSE,
2754            'style' => FALSE,
2755            'row' => FALSE,
2756            'fields' => FALSE,
2757            'footer' => FALSE,
2758          ],
2759          'display_description' => '',
2760          'footer' => [
2761            'visitors_display_link' => [
2762              'id' => 'visitors_display_link',
2763              'table' => 'visitors',
2764              'field' => 'visitors_display_link',
2765              'relationship' => 'none',
2766              'group_type' => 'group',
2767              'admin_label' => '',
2768              'plugin_id' => 'visitors_display_link',
2769              'label' => 'table',
2770              'empty' => FALSE,
2771              'display_id' => 'continent_table',
2772            ],
2773          ],
2774          'display_extenders' => [],
2775        ],
2776        'cache_metadata' => [
2777          'max-age' => -1,
2778          'contexts' => [
2779            0 => 'languages:language_interface',
2780            1 => 'url.query_args',
2781          ],
2782          'tags' => [],
2783        ],
2784      ],
2785      'continent_table' => [
2786        'id' => 'continent_table',
2787        'display_title' => 'Continent Table',
2788        'display_plugin' => 'embed',
2789        'position' => 1,
2790        'display_options' => [
2791          'title' => 'Continent',
2792          'fields' => [
2793            'location_continent_1' => [
2794              'id' => 'location_continent_1',
2795              'table' => 'visitors',
2796              'field' => 'location_continent',
2797              'relationship' => 'none',
2798              'group_type' => 'group',
2799              'admin_label' => '',
2800              'plugin_id' => 'visitors_continent',
2801              'label' => 'Abbreviation',
2802              'exclude' => TRUE,
2803              'alter' => [
2804                'alter_text' => TRUE,
2805                'text' => '{{ location_continent_1|lower }}',
2806                'make_link' => FALSE,
2807                'path' => '',
2808                'absolute' => FALSE,
2809                'external' => FALSE,
2810                'replace_spaces' => FALSE,
2811                'path_case' => 'none',
2812                'trim_whitespace' => FALSE,
2813                'alt' => '',
2814                'rel' => '',
2815                'link_class' => '',
2816                'prefix' => '',
2817                'suffix' => '',
2818                'target' => '',
2819                'nl2br' => FALSE,
2820                'max_length' => 0,
2821                'word_boundary' => TRUE,
2822                'ellipsis' => TRUE,
2823                'more_link' => FALSE,
2824                'more_link_text' => '',
2825                'more_link_path' => '',
2826                'strip_tags' => FALSE,
2827                'trim' => FALSE,
2828                'preserve_tags' => '',
2829                'html' => FALSE,
2830              ],
2831              'element_type' => '',
2832              'element_class' => '',
2833              'element_label_type' => '',
2834              'element_label_class' => '',
2835              'element_label_colon' => TRUE,
2836              'element_wrapper_type' => '',
2837              'element_wrapper_class' => '',
2838              'element_default_classes' => TRUE,
2839              'empty' => '',
2840              'hide_empty' => FALSE,
2841              'empty_zero' => FALSE,
2842              'hide_alter_empty' => TRUE,
2843              'abbreviation' => TRUE,
2844            ],
2845            'location_continent' => [
2846              'id' => 'location_continent',
2847              'table' => 'visitors',
2848              'field' => 'location_continent',
2849              'relationship' => 'none',
2850              'group_type' => 'group',
2851              'admin_label' => '',
2852              'plugin_id' => 'visitors_continent',
2853              'label' => 'Continent',
2854              'exclude' => FALSE,
2855              'alter' => [
2856                'alter_text' => FALSE,
2857                'text' => '',
2858                'make_link' => TRUE,
2859                'path' => 'internal:/visitors/location/continent/{{ location_continent_1 }}',
2860                'absolute' => FALSE,
2861                'external' => FALSE,
2862                'replace_spaces' => FALSE,
2863                'path_case' => 'none',
2864                'trim_whitespace' => FALSE,
2865                'alt' => '',
2866                'rel' => '',
2867                'link_class' => '',
2868                'prefix' => '',
2869                'suffix' => '',
2870                'target' => '',
2871                'nl2br' => FALSE,
2872                'max_length' => 0,
2873                'word_boundary' => TRUE,
2874                'ellipsis' => TRUE,
2875                'more_link' => FALSE,
2876                'more_link_text' => '',
2877                'more_link_path' => '',
2878                'strip_tags' => FALSE,
2879                'trim' => FALSE,
2880                'preserve_tags' => '',
2881                'html' => FALSE,
2882              ],
2883              'element_type' => '',
2884              'element_class' => '',
2885              'element_label_type' => '',
2886              'element_label_class' => '',
2887              'element_label_colon' => TRUE,
2888              'element_wrapper_type' => '',
2889              'element_wrapper_class' => '',
2890              'element_default_classes' => TRUE,
2891              'empty' => '',
2892              'hide_empty' => FALSE,
2893              'empty_zero' => FALSE,
2894              'hide_alter_empty' => TRUE,
2895              'abbreviation' => FALSE,
2896            ],
2897            'visitor_id' => [
2898              'id' => 'visitor_id',
2899              'table' => 'visitors',
2900              'field' => 'visitor_id',
2901              'relationship' => 'none',
2902              'group_type' => 'count_distinct',
2903              'admin_label' => '',
2904              'plugin_id' => 'standard',
2905              'label' => 'Unique visitors',
2906              'exclude' => FALSE,
2907              'alter' => [
2908                'alter_text' => FALSE,
2909                'text' => '',
2910                'make_link' => FALSE,
2911                'path' => '',
2912                'absolute' => FALSE,
2913                'external' => FALSE,
2914                'replace_spaces' => FALSE,
2915                'path_case' => 'none',
2916                'trim_whitespace' => FALSE,
2917                'alt' => '',
2918                'rel' => '',
2919                'link_class' => '',
2920                'prefix' => '',
2921                'suffix' => '',
2922                'target' => '',
2923                'nl2br' => FALSE,
2924                'max_length' => 0,
2925                'word_boundary' => TRUE,
2926                'ellipsis' => TRUE,
2927                'more_link' => FALSE,
2928                'more_link_text' => '',
2929                'more_link_path' => '',
2930                'strip_tags' => FALSE,
2931                'trim' => FALSE,
2932                'preserve_tags' => '',
2933                'html' => FALSE,
2934              ],
2935              'element_type' => '',
2936              'element_class' => '',
2937              'element_label_type' => '',
2938              'element_label_class' => '',
2939              'element_label_colon' => TRUE,
2940              'element_wrapper_type' => '',
2941              'element_wrapper_class' => '',
2942              'element_default_classes' => TRUE,
2943              'empty' => '',
2944              'hide_empty' => FALSE,
2945              'empty_zero' => FALSE,
2946              'hide_alter_empty' => TRUE,
2947            ],
2948          ],
2949          'defaults' => [
2950            'title' => FALSE,
2951            'fields' => FALSE,
2952            'footer' => FALSE,
2953          ],
2954          'display_description' => '',
2955          'footer' => [
2956            'visitors_display_link' => [
2957              'id' => 'visitors_display_link',
2958              'table' => 'visitors',
2959              'field' => 'visitors_display_link',
2960              'relationship' => 'none',
2961              'group_type' => 'group',
2962              'admin_label' => '',
2963              'plugin_id' => 'visitors_display_link',
2964              'label' => 'chart',
2965              'empty' => FALSE,
2966              'display_id' => 'continent_pie',
2967            ],
2968          ],
2969          'display_extenders' => [],
2970        ],
2971        'cache_metadata' => [
2972          'max-age' => -1,
2973          'contexts' => [
2974            0 => 'languages:language_interface',
2975            1 => 'url.query_args',
2976          ],
2977          'tags' => [],
2978        ],
2979      ],
2980      'country_table' => [
2981        'id' => 'country_table',
2982        'display_title' => 'Country',
2983        'display_plugin' => 'embed',
2984        'position' => 2,
2985        'display_options' => [
2986          'title' => 'Country',
2987          'fields' => [
2988            'location_country_1' => [
2989              'id' => 'location_country_1',
2990              'table' => 'visitors',
2991              'field' => 'location_country',
2992              'relationship' => 'none',
2993              'group_type' => 'group',
2994              'admin_label' => '',
2995              'plugin_id' => 'visitors_country',
2996              'label' => 'Abbreviation',
2997              'exclude' => TRUE,
2998              'alter' => [
2999                'alter_text' => TRUE,
3000                'text' => '{{ location_country_1|lower }}',
3001                'make_link' => FALSE,
3002                'path' => 'internal:/visitors/location/region/{{ location_country_1 }}',
3003                'absolute' => FALSE,
3004                'external' => FALSE,
3005                'replace_spaces' => FALSE,
3006                'path_case' => 'none',
3007                'trim_whitespace' => TRUE,
3008                'alt' => '',
3009                'rel' => '',
3010                'link_class' => '',
3011                'prefix' => '',
3012                'suffix' => '',
3013                'target' => '',
3014                'nl2br' => FALSE,
3015                'max_length' => 0,
3016                'word_boundary' => TRUE,
3017                'ellipsis' => TRUE,
3018                'more_link' => FALSE,
3019                'more_link_text' => '',
3020                'more_link_path' => '',
3021                'strip_tags' => FALSE,
3022                'trim' => FALSE,
3023                'preserve_tags' => '',
3024                'html' => FALSE,
3025              ],
3026              'element_type' => '',
3027              'element_class' => '',
3028              'element_label_type' => '',
3029              'element_label_class' => '',
3030              'element_label_colon' => TRUE,
3031              'element_wrapper_type' => '',
3032              'element_wrapper_class' => '',
3033              'element_default_classes' => TRUE,
3034              'empty' => '',
3035              'hide_empty' => FALSE,
3036              'empty_zero' => FALSE,
3037              'hide_alter_empty' => TRUE,
3038              'icon' => FALSE,
3039              'text' => FALSE,
3040              'abbreviation' => TRUE,
3041            ],
3042            'location_country' => [
3043              'id' => 'location_country',
3044              'table' => 'visitors',
3045              'field' => 'location_country',
3046              'relationship' => 'none',
3047              'group_type' => 'group',
3048              'admin_label' => '',
3049              'plugin_id' => 'visitors_country',
3050              'label' => 'Country',
3051              'exclude' => FALSE,
3052              'alter' => [
3053                'alter_text' => FALSE,
3054                'text' => '',
3055                'make_link' => TRUE,
3056                'path' => 'internal:/visitors/location/country/{{location_country_1}}',
3057                'absolute' => FALSE,
3058                'external' => FALSE,
3059                'replace_spaces' => FALSE,
3060                'path_case' => 'none',
3061                'trim_whitespace' => TRUE,
3062                'alt' => '',
3063                'rel' => '',
3064                'link_class' => '',
3065                'prefix' => '',
3066                'suffix' => '',
3067                'target' => '',
3068                'nl2br' => FALSE,
3069                'max_length' => 0,
3070                'word_boundary' => TRUE,
3071                'ellipsis' => TRUE,
3072                'more_link' => FALSE,
3073                'more_link_text' => '',
3074                'more_link_path' => '',
3075                'strip_tags' => FALSE,
3076                'trim' => FALSE,
3077                'preserve_tags' => '',
3078                'html' => FALSE,
3079              ],
3080              'element_type' => '',
3081              'element_class' => '',
3082              'element_label_type' => '',
3083              'element_label_class' => '',
3084              'element_label_colon' => TRUE,
3085              'element_wrapper_type' => '',
3086              'element_wrapper_class' => '',
3087              'element_default_classes' => TRUE,
3088              'empty' => '',
3089              'hide_empty' => FALSE,
3090              'empty_zero' => FALSE,
3091              'hide_alter_empty' => TRUE,
3092              'icon' => TRUE,
3093              'text' => TRUE,
3094              'abbreviation' => FALSE,
3095            ],
3096            'visitor_id' => [
3097              'id' => 'visitor_id',
3098              'table' => 'visitors',
3099              'field' => 'visitor_id',
3100              'relationship' => 'none',
3101              'group_type' => 'count_distinct',
3102              'admin_label' => '',
3103              'plugin_id' => 'standard',
3104              'label' => 'Unique visitors',
3105              'exclude' => FALSE,
3106              'alter' => [
3107                'alter_text' => FALSE,
3108                'text' => '',
3109                'make_link' => FALSE,
3110                'path' => '',
3111                'absolute' => FALSE,
3112                'external' => FALSE,
3113                'replace_spaces' => FALSE,
3114                'path_case' => 'none',
3115                'trim_whitespace' => FALSE,
3116                'alt' => '',
3117                'rel' => '',
3118                'link_class' => '',
3119                'prefix' => '',
3120                'suffix' => '',
3121                'target' => '',
3122                'nl2br' => FALSE,
3123                'max_length' => 0,
3124                'word_boundary' => TRUE,
3125                'ellipsis' => TRUE,
3126                'more_link' => FALSE,
3127                'more_link_text' => '',
3128                'more_link_path' => '',
3129                'strip_tags' => FALSE,
3130                'trim' => FALSE,
3131                'preserve_tags' => '',
3132                'html' => FALSE,
3133              ],
3134              'element_type' => '',
3135              'element_class' => '',
3136              'element_label_type' => '',
3137              'element_label_class' => '',
3138              'element_label_colon' => TRUE,
3139              'element_wrapper_type' => '',
3140              'element_wrapper_class' => '',
3141              'element_default_classes' => TRUE,
3142              'empty' => '',
3143              'hide_empty' => FALSE,
3144              'empty_zero' => FALSE,
3145              'hide_alter_empty' => TRUE,
3146            ],
3147          ],
3148          'arguments' => [
3149            'location_continent' => [
3150              'id' => 'location_continent',
3151              'table' => 'visitors',
3152              'field' => 'location_continent',
3153              'relationship' => 'none',
3154              'group_type' => 'group',
3155              'admin_label' => '',
3156              'plugin_id' => 'string',
3157              'default_action' => 'ignore',
3158              'exception' => [
3159                'value' => 'all',
3160                'title_enable' => FALSE,
3161                'title' => 'All',
3162              ],
3163              'title_enable' => FALSE,
3164              'title' => '',
3165              'default_argument_type' => 'fixed',
3166              'default_argument_options' => [
3167                'argument' => '',
3168              ],
3169              'summary_options' => [
3170                'base_path' => '',
3171                'count' => TRUE,
3172                'override' => FALSE,
3173                'items_per_page' => 25,
3174              ],
3175              'summary' => [
3176                'sort_order' => 'asc',
3177                'number_of_records' => 0,
3178                'format' => 'default_summary',
3179              ],
3180              'specify_validation' => FALSE,
3181              'validate' => [
3182                'type' => 'none',
3183                'fail' => 'not found',
3184              ],
3185              'validate_options' => [],
3186              'glossary' => FALSE,
3187              'limit' => 0,
3188              'case' => 'none',
3189              'path_case' => 'none',
3190              'transform_dash' => FALSE,
3191              'break_phrase' => FALSE,
3192            ],
3193          ],
3194          'defaults' => [
3195            'title' => FALSE,
3196            'fields' => FALSE,
3197            'arguments' => FALSE,
3198            'filters' => TRUE,
3199            'filter_groups' => TRUE,
3200          ],
3201          'display_description' => '',
3202          'display_extenders' => [],
3203        ],
3204        'cache_metadata' => [
3205          'max-age' => -1,
3206          'contexts' => [
3207            0 => 'languages:language_interface',
3208            1 => 'url',
3209            2 => 'url.query_args',
3210          ],
3211          'tags' => [],
3212        ],
3213      ],
3214      'daily_column' => [
3215        'id' => 'daily_column',
3216        'display_title' => 'Daily Column',
3217        'display_plugin' => 'embed',
3218        'position' => 26,
3219        'display_options' => [
3220          'fields' => [
3221            'visitors_day' => [
3222              'id' => 'visitors_day',
3223              'table' => 'visitors',
3224              'field' => 'visitors_day',
3225              'relationship' => 'none',
3226              'group_type' => 'group',
3227              'admin_label' => '',
3228              'plugin_id' => 'visitors_day',
3229              'label' => 'Day',
3230              'exclude' => FALSE,
3231              'alter' => [
3232                'alter_text' => FALSE,
3233                'text' => '',
3234                'make_link' => FALSE,
3235                'path' => '',
3236                'absolute' => FALSE,
3237                'external' => FALSE,
3238                'replace_spaces' => FALSE,
3239                'path_case' => 'none',
3240                'trim_whitespace' => FALSE,
3241                'alt' => '',
3242                'rel' => '',
3243                'link_class' => '',
3244                'prefix' => '',
3245                'suffix' => '',
3246                'target' => '',
3247                'nl2br' => FALSE,
3248                'max_length' => 0,
3249                'word_boundary' => TRUE,
3250                'ellipsis' => TRUE,
3251                'more_link' => FALSE,
3252                'more_link_text' => '',
3253                'more_link_path' => '',
3254                'strip_tags' => FALSE,
3255                'trim' => FALSE,
3256                'preserve_tags' => '',
3257                'html' => FALSE,
3258              ],
3259              'element_type' => '',
3260              'element_class' => '',
3261              'element_label_type' => '',
3262              'element_label_class' => '',
3263              'element_label_colon' => TRUE,
3264              'element_wrapper_type' => '',
3265              'element_wrapper_class' => '',
3266              'element_default_classes' => TRUE,
3267              'empty' => '',
3268              'hide_empty' => FALSE,
3269              'empty_zero' => FALSE,
3270              'hide_alter_empty' => TRUE,
3271            ],
3272            'visitor_id' => [
3273              'id' => 'visitor_id',
3274              'table' => 'visitors',
3275              'field' => 'visitor_id',
3276              'relationship' => 'none',
3277              'group_type' => 'count_distinct',
3278              'admin_label' => '',
3279              'plugin_id' => 'standard',
3280              'label' => 'Unique visitors',
3281              'exclude' => FALSE,
3282              'alter' => [
3283                'alter_text' => FALSE,
3284                'text' => '',
3285                'make_link' => FALSE,
3286                'path' => '',
3287                'absolute' => FALSE,
3288                'external' => FALSE,
3289                'replace_spaces' => FALSE,
3290                'path_case' => 'none',
3291                'trim_whitespace' => FALSE,
3292                'alt' => '',
3293                'rel' => '',
3294                'link_class' => '',
3295                'prefix' => '',
3296                'suffix' => '',
3297                'target' => '',
3298                'nl2br' => FALSE,
3299                'max_length' => 0,
3300                'word_boundary' => TRUE,
3301                'ellipsis' => TRUE,
3302                'more_link' => FALSE,
3303                'more_link_text' => '',
3304                'more_link_path' => '',
3305                'strip_tags' => FALSE,
3306                'trim' => FALSE,
3307                'preserve_tags' => '',
3308                'html' => FALSE,
3309              ],
3310              'element_type' => '',
3311              'element_class' => '',
3312              'element_label_type' => '',
3313              'element_label_class' => '',
3314              'element_label_colon' => TRUE,
3315              'element_wrapper_type' => '',
3316              'element_wrapper_class' => '',
3317              'element_default_classes' => TRUE,
3318              'empty' => '',
3319              'hide_empty' => FALSE,
3320              'empty_zero' => FALSE,
3321              'hide_alter_empty' => TRUE,
3322            ],
3323          ],
3324          'pager' => [
3325            'type' => 'none',
3326            'options' => [
3327              'offset' => 0,
3328            ],
3329          ],
3330          'sorts' => [],
3331          'style' => [
3332            'type' => 'chart',
3333            'options' => [
3334              'grouping' => [],
3335              'chart_settings' => [
3336                'library' => 'chartjs',
3337                'type' => 'column',
3338                'fields' => [
3339                  'label' => 'visitors_day',
3340                  'stacking' => FALSE,
3341                  'data_providers' => [
3342                    'visitors_day' => [
3343                      'enabled' => FALSE,
3344                      'color' => '#006fb0',
3345                      'weight' => 2,
3346                    ],
3347                    'visitor_id' => [
3348                      'enabled' => TRUE,
3349                      'color' => '#0277bd',
3350                      'weight' => 2,
3351                    ],
3352                  ],
3353                ],
3354                'display' => [
3355                  'title' => 'Daily',
3356                  'title_position' => 'top',
3357                  'subtitle' => '',
3358                  'data_labels' => FALSE,
3359                  'data_markers' => TRUE,
3360                  'legend_position' => '',
3361                  'background' => '',
3362                  'three_dimensional' => 0,
3363                  'polar' => 0,
3364                  'tooltips' => TRUE,
3365                  'dimensions' => [
3366                    'width' => '',
3367                    'width_units' => '',
3368                    'height' => '',
3369                    'height_units' => '',
3370                  ],
3371                  'gauge' => [
3372                    'max' => '',
3373                    'min' => '',
3374                    'green_from' => '',
3375                    'green_to' => '',
3376                    'yellow_from' => '',
3377                    'yellow_to' => '',
3378                    'red_from' => '',
3379                    'red_to' => '',
3380                  ],
3381                  'color_changer' => FALSE,
3382                ],
3383                'xaxis' => [
3384                  'title' => '',
3385                  'labels_rotation' => '0',
3386                ],
3387                'yaxis' => [
3388                  'title' => '',
3389                  'min' => '',
3390                  'max' => '',
3391                  'prefix' => '',
3392                  'suffix' => '',
3393                  'decimal_count' => '',
3394                  'labels_rotation' => '0',
3395                ],
3396              ],
3397            ],
3398          ],
3399          'row' => [
3400            'type' => 'fields',
3401            'options' => [
3402              'default_field_elements' => TRUE,
3403              'inline' => [],
3404              'separator' => '',
3405              'hide_empty' => FALSE,
3406            ],
3407          ],
3408          'defaults' => [
3409            'pager' => FALSE,
3410            'style' => FALSE,
3411            'row' => FALSE,
3412            'fields' => FALSE,
3413            'sorts' => FALSE,
3414            'header' => FALSE,
3415            'footer' => FALSE,
3416          ],
3417          'display_description' => '',
3418          'header' => [],
3419          'footer' => [],
3420          'display_extenders' => [],
3421        ],
3422        'cache_metadata' => [
3423          'max-age' => -1,
3424          'contexts' => [
3425            0 => 'languages:language_interface',
3426          ],
3427          'tags' => [],
3428        ],
3429      ],
3430      'day_of_month_column' => [
3431        'id' => 'day_of_month_column',
3432        'display_title' => 'Day of Month Column',
3433        'display_plugin' => 'embed',
3434        'position' => 28,
3435        'display_options' => [
3436          'fields' => [
3437            'visitors_day_of_month' => [
3438              'id' => 'visitors_day_of_month',
3439              'table' => 'visitors',
3440              'field' => 'visitors_day_of_month',
3441              'relationship' => 'none',
3442              'group_type' => 'group',
3443              'admin_label' => '',
3444              'plugin_id' => 'visitors_day_of_month',
3445              'label' => 'Day of Month',
3446              'exclude' => FALSE,
3447              'alter' => [
3448                'alter_text' => FALSE,
3449                'text' => '',
3450                'make_link' => FALSE,
3451                'path' => '',
3452                'absolute' => FALSE,
3453                'external' => FALSE,
3454                'replace_spaces' => FALSE,
3455                'path_case' => 'none',
3456                'trim_whitespace' => FALSE,
3457                'alt' => '',
3458                'rel' => '',
3459                'link_class' => '',
3460                'prefix' => '',
3461                'suffix' => '',
3462                'target' => '',
3463                'nl2br' => FALSE,
3464                'max_length' => 0,
3465                'word_boundary' => TRUE,
3466                'ellipsis' => TRUE,
3467                'more_link' => FALSE,
3468                'more_link_text' => '',
3469                'more_link_path' => '',
3470                'strip_tags' => FALSE,
3471                'trim' => FALSE,
3472                'preserve_tags' => '',
3473                'html' => FALSE,
3474              ],
3475              'element_type' => '',
3476              'element_class' => '',
3477              'element_label_type' => '',
3478              'element_label_class' => '',
3479              'element_label_colon' => TRUE,
3480              'element_wrapper_type' => '',
3481              'element_wrapper_class' => '',
3482              'element_default_classes' => TRUE,
3483              'empty' => '',
3484              'hide_empty' => FALSE,
3485              'empty_zero' => FALSE,
3486              'hide_alter_empty' => TRUE,
3487            ],
3488            'visitor_id' => [
3489              'id' => 'visitor_id',
3490              'table' => 'visitors',
3491              'field' => 'visitor_id',
3492              'relationship' => 'none',
3493              'group_type' => 'count_distinct',
3494              'admin_label' => '',
3495              'plugin_id' => 'standard',
3496              'label' => 'Unique visitors',
3497              'exclude' => FALSE,
3498              'alter' => [
3499                'alter_text' => FALSE,
3500                'text' => '',
3501                'make_link' => FALSE,
3502                'path' => '',
3503                'absolute' => FALSE,
3504                'external' => FALSE,
3505                'replace_spaces' => FALSE,
3506                'path_case' => 'none',
3507                'trim_whitespace' => FALSE,
3508                'alt' => '',
3509                'rel' => '',
3510                'link_class' => '',
3511                'prefix' => '',
3512                'suffix' => '',
3513                'target' => '',
3514                'nl2br' => FALSE,
3515                'max_length' => 0,
3516                'word_boundary' => TRUE,
3517                'ellipsis' => TRUE,
3518                'more_link' => FALSE,
3519                'more_link_text' => '',
3520                'more_link_path' => '',
3521                'strip_tags' => FALSE,
3522                'trim' => FALSE,
3523                'preserve_tags' => '',
3524                'html' => FALSE,
3525              ],
3526              'element_type' => '',
3527              'element_class' => '',
3528              'element_label_type' => '',
3529              'element_label_class' => '',
3530              'element_label_colon' => TRUE,
3531              'element_wrapper_type' => '',
3532              'element_wrapper_class' => '',
3533              'element_default_classes' => TRUE,
3534              'empty' => '',
3535              'hide_empty' => FALSE,
3536              'empty_zero' => FALSE,
3537              'hide_alter_empty' => TRUE,
3538            ],
3539          ],
3540          'pager' => [
3541            'type' => 'none',
3542            'options' => [
3543              'offset' => 0,
3544            ],
3545          ],
3546          'sorts' => [],
3547          'style' => [
3548            'type' => 'chart',
3549            'options' => [
3550              'grouping' => [],
3551              'chart_settings' => [
3552                'library' => 'chartjs',
3553                'type' => 'column',
3554                'fields' => [
3555                  'label' => 'visitors_day_of_month',
3556                  'stacking' => FALSE,
3557                  'data_providers' => [
3558                    'visitors_day_of_month' => [
3559                      'enabled' => FALSE,
3560                      'color' => '#000000',
3561                      'weight' => 2,
3562                    ],
3563                    'visitor_id' => [
3564                      'enabled' => TRUE,
3565                      'color' => '#0277bd',
3566                      'weight' => 2,
3567                    ],
3568                  ],
3569                ],
3570                'display' => [
3571                  'title' => 'Day of Month',
3572                  'title_position' => 'top',
3573                  'subtitle' => '',
3574                  'data_labels' => FALSE,
3575                  'data_markers' => TRUE,
3576                  'legend_position' => '',
3577                  'background' => '',
3578                  'three_dimensional' => 0,
3579                  'polar' => 0,
3580                  'tooltips' => TRUE,
3581                  'dimensions' => [
3582                    'width' => '',
3583                    'width_units' => '',
3584                    'height' => '',
3585                    'height_units' => '',
3586                  ],
3587                  'gauge' => [
3588                    'max' => '',
3589                    'min' => '',
3590                    'green_from' => '',
3591                    'green_to' => '',
3592                    'yellow_from' => '',
3593                    'yellow_to' => '',
3594                    'red_from' => '',
3595                    'red_to' => '',
3596                  ],
3597                  'color_changer' => FALSE,
3598                ],
3599                'xaxis' => [
3600                  'title' => '',
3601                  'labels_rotation' => '0',
3602                ],
3603                'yaxis' => [
3604                  'title' => '',
3605                  'min' => '',
3606                  'max' => '',
3607                  'prefix' => '',
3608                  'suffix' => '',
3609                  'decimal_count' => '',
3610                  'labels_rotation' => '0',
3611                ],
3612              ],
3613            ],
3614          ],
3615          'row' => [
3616            'type' => 'fields',
3617            'options' => [
3618              'default_field_elements' => TRUE,
3619              'inline' => [],
3620              'separator' => '',
3621              'hide_empty' => FALSE,
3622            ],
3623          ],
3624          'defaults' => [
3625            'pager' => FALSE,
3626            'style' => FALSE,
3627            'row' => FALSE,
3628            'fields' => FALSE,
3629            'sorts' => FALSE,
3630            'header' => FALSE,
3631            'footer' => FALSE,
3632          ],
3633          'display_description' => '',
3634          'header' => [],
3635          'footer' => [
3636            'visitors_display_link' => [
3637              'id' => 'visitors_display_link',
3638              'table' => 'visitors',
3639              'field' => 'visitors_display_link',
3640              'relationship' => 'none',
3641              'group_type' => 'group',
3642              'admin_label' => '',
3643              'plugin_id' => 'visitors_display_link',
3644              'label' => 'table',
3645              'empty' => FALSE,
3646              'display_id' => 'day_of_month_table',
3647            ],
3648          ],
3649          'display_extenders' => [],
3650        ],
3651        'cache_metadata' => [
3652          'max-age' => -1,
3653          'contexts' => [
3654            0 => 'languages:language_interface',
3655          ],
3656          'tags' => [],
3657        ],
3658      ],
3659      'day_of_month_table' => [
3660        'id' => 'day_of_month_table',
3661        'display_title' => 'Day of Month Table',
3662        'display_plugin' => 'embed',
3663        'position' => 28,
3664        'display_options' => [
3665          'title' => 'Day of Month',
3666          'fields' => [
3667            'visitors_day_of_month' => [
3668              'id' => 'visitors_day_of_month',
3669              'table' => 'visitors',
3670              'field' => 'visitors_day_of_month',
3671              'relationship' => 'none',
3672              'group_type' => 'group',
3673              'admin_label' => '',
3674              'plugin_id' => 'visitors_day_of_month',
3675              'label' => 'Day of Month',
3676              'exclude' => FALSE,
3677              'alter' => [
3678                'alter_text' => FALSE,
3679                'text' => '',
3680                'make_link' => FALSE,
3681                'path' => '',
3682                'absolute' => FALSE,
3683                'external' => FALSE,
3684                'replace_spaces' => FALSE,
3685                'path_case' => 'none',
3686                'trim_whitespace' => FALSE,
3687                'alt' => '',
3688                'rel' => '',
3689                'link_class' => '',
3690                'prefix' => '',
3691                'suffix' => '',
3692                'target' => '',
3693                'nl2br' => FALSE,
3694                'max_length' => 0,
3695                'word_boundary' => TRUE,
3696                'ellipsis' => TRUE,
3697                'more_link' => FALSE,
3698                'more_link_text' => '',
3699                'more_link_path' => '',
3700                'strip_tags' => FALSE,
3701                'trim' => FALSE,
3702                'preserve_tags' => '',
3703                'html' => FALSE,
3704              ],
3705              'element_type' => '',
3706              'element_class' => '',
3707              'element_label_type' => '',
3708              'element_label_class' => '',
3709              'element_label_colon' => TRUE,
3710              'element_wrapper_type' => '',
3711              'element_wrapper_class' => '',
3712              'element_default_classes' => TRUE,
3713              'empty' => '',
3714              'hide_empty' => FALSE,
3715              'empty_zero' => FALSE,
3716              'hide_alter_empty' => TRUE,
3717            ],
3718            'visitor_id' => [
3719              'id' => 'visitor_id',
3720              'table' => 'visitors',
3721              'field' => 'visitor_id',
3722              'relationship' => 'none',
3723              'group_type' => 'count_distinct',
3724              'admin_label' => '',
3725              'plugin_id' => 'standard',
3726              'label' => 'Unique visitors',
3727              'exclude' => FALSE,
3728              'alter' => [
3729                'alter_text' => FALSE,
3730                'text' => '',
3731                'make_link' => FALSE,
3732                'path' => '',
3733                'absolute' => FALSE,
3734                'external' => FALSE,
3735                'replace_spaces' => FALSE,
3736                'path_case' => 'none',
3737                'trim_whitespace' => FALSE,
3738                'alt' => '',
3739                'rel' => '',
3740                'link_class' => '',
3741                'prefix' => '',
3742                'suffix' => '',
3743                'target' => '',
3744                'nl2br' => FALSE,
3745                'max_length' => 0,
3746                'word_boundary' => TRUE,
3747                'ellipsis' => TRUE,
3748                'more_link' => FALSE,
3749                'more_link_text' => '',
3750                'more_link_path' => '',
3751                'strip_tags' => FALSE,
3752                'trim' => FALSE,
3753                'preserve_tags' => '',
3754                'html' => FALSE,
3755              ],
3756              'element_type' => '',
3757              'element_class' => '',
3758              'element_label_type' => '',
3759              'element_label_class' => '',
3760              'element_label_colon' => TRUE,
3761              'element_wrapper_type' => '',
3762              'element_wrapper_class' => '',
3763              'element_default_classes' => TRUE,
3764              'empty' => '',
3765              'hide_empty' => FALSE,
3766              'empty_zero' => FALSE,
3767              'hide_alter_empty' => TRUE,
3768            ],
3769          ],
3770          'pager' => [
3771            'type' => 'none',
3772            'options' => [
3773              'offset' => 0,
3774            ],
3775          ],
3776          'sorts' => [],
3777          'style' => [
3778            'type' => 'table',
3779            'options' => [
3780              'grouping' => [],
3781              'row_class' => '',
3782              'default_row_class' => TRUE,
3783              'columns' => [
3784                'visitors_day_of_month' => 'visitors_day_of_month',
3785                'visitor_id' => 'visitor_id',
3786              ],
3787              'default' => '-1',
3788              'info' => [
3789                'visitors_day_of_month' => [
3790                  'sortable' => FALSE,
3791                  'default_sort_order' => 'asc',
3792                  'align' => '',
3793                  'separator' => '',
3794                  'empty_column' => FALSE,
3795                  'responsive' => '',
3796                ],
3797                'visitor_id' => [
3798                  'sortable' => TRUE,
3799                  'default_sort_order' => 'desc',
3800                  'align' => 'views-align-right',
3801                  'separator' => '',
3802                  'empty_column' => FALSE,
3803                  'responsive' => '',
3804                ],
3805              ],
3806              'override' => TRUE,
3807              'sticky' => TRUE,
3808              'summary' => '',
3809              'empty_table' => FALSE,
3810              'caption' => 'Day of Month',
3811              'description' => '',
3812            ],
3813          ],
3814          'row' => [
3815            'type' => 'fields',
3816            'options' => [
3817              'default_field_elements' => TRUE,
3818              'inline' => [],
3819              'separator' => '',
3820              'hide_empty' => FALSE,
3821            ],
3822          ],
3823          'defaults' => [
3824            'title' => FALSE,
3825            'pager' => FALSE,
3826            'style' => FALSE,
3827            'row' => FALSE,
3828            'fields' => FALSE,
3829            'sorts' => FALSE,
3830            'header' => FALSE,
3831            'footer' => FALSE,
3832          ],
3833          'display_description' => '',
3834          'header' => [],
3835          'footer' => [
3836            'visitors_display_link' => [
3837              'id' => 'visitors_display_link',
3838              'table' => 'visitors',
3839              'field' => 'visitors_display_link',
3840              'relationship' => 'none',
3841              'group_type' => 'group',
3842              'admin_label' => '',
3843              'plugin_id' => 'visitors_display_link',
3844              'label' => 'chart',
3845              'empty' => FALSE,
3846              'display_id' => 'day_of_month_column',
3847            ],
3848          ],
3849          'display_extenders' => [],
3850        ],
3851        'cache_metadata' => [
3852          'max-age' => -1,
3853          'contexts' => [
3854            0 => 'languages:language_interface',
3855            1 => 'url.query_args',
3856          ],
3857          'tags' => [],
3858        ],
3859      ],
3860      'day_of_week_column' => [
3861        'id' => 'day_of_week_column',
3862        'display_title' => 'Day of Week Column',
3863        'display_plugin' => 'embed',
3864        'position' => 30,
3865        'display_options' => [
3866          'fields' => [
3867            'visitors_day_of_week' => [
3868              'id' => 'visitors_day_of_week',
3869              'table' => 'visitors',
3870              'field' => 'visitors_day_of_week',
3871              'relationship' => 'none',
3872              'group_type' => 'group',
3873              'admin_label' => '',
3874              'plugin_id' => 'visitors_day_of_week',
3875              'label' => 'Day of Week',
3876              'exclude' => FALSE,
3877              'alter' => [
3878                'alter_text' => FALSE,
3879                'text' => '',
3880                'make_link' => FALSE,
3881                'path' => '',
3882                'absolute' => FALSE,
3883                'external' => FALSE,
3884                'replace_spaces' => FALSE,
3885                'path_case' => 'none',
3886                'trim_whitespace' => FALSE,
3887                'alt' => '',
3888                'rel' => '',
3889                'link_class' => '',
3890                'prefix' => '',
3891                'suffix' => '',
3892                'target' => '',
3893                'nl2br' => FALSE,
3894                'max_length' => 0,
3895                'word_boundary' => TRUE,
3896                'ellipsis' => TRUE,
3897                'more_link' => FALSE,
3898                'more_link_text' => '',
3899                'more_link_path' => '',
3900                'strip_tags' => FALSE,
3901                'trim' => FALSE,
3902                'preserve_tags' => '',
3903                'html' => FALSE,
3904              ],
3905              'element_type' => '',
3906              'element_class' => '',
3907              'element_label_type' => '',
3908              'element_label_class' => '',
3909              'element_label_colon' => TRUE,
3910              'element_wrapper_type' => '',
3911              'element_wrapper_class' => '',
3912              'element_default_classes' => TRUE,
3913              'empty' => '',
3914              'hide_empty' => FALSE,
3915              'empty_zero' => FALSE,
3916              'hide_alter_empty' => TRUE,
3917            ],
3918            'visitor_id' => [
3919              'id' => 'visitor_id',
3920              'table' => 'visitors',
3921              'field' => 'visitor_id',
3922              'relationship' => 'none',
3923              'group_type' => 'count_distinct',
3924              'admin_label' => '',
3925              'plugin_id' => 'standard',
3926              'label' => 'Unique visitors',
3927              'exclude' => FALSE,
3928              'alter' => [
3929                'alter_text' => FALSE,
3930                'text' => '',
3931                'make_link' => FALSE,
3932                'path' => '',
3933                'absolute' => FALSE,
3934                'external' => FALSE,
3935                'replace_spaces' => FALSE,
3936                'path_case' => 'none',
3937                'trim_whitespace' => FALSE,
3938                'alt' => '',
3939                'rel' => '',
3940                'link_class' => '',
3941                'prefix' => '',
3942                'suffix' => '',
3943                'target' => '',
3944                'nl2br' => FALSE,
3945                'max_length' => 0,
3946                'word_boundary' => TRUE,
3947                'ellipsis' => TRUE,
3948                'more_link' => FALSE,
3949                'more_link_text' => '',
3950                'more_link_path' => '',
3951                'strip_tags' => FALSE,
3952                'trim' => FALSE,
3953                'preserve_tags' => '',
3954                'html' => FALSE,
3955              ],
3956              'element_type' => '',
3957              'element_class' => '',
3958              'element_label_type' => '',
3959              'element_label_class' => '',
3960              'element_label_colon' => TRUE,
3961              'element_wrapper_type' => '',
3962              'element_wrapper_class' => '',
3963              'element_default_classes' => TRUE,
3964              'empty' => '',
3965              'hide_empty' => FALSE,
3966              'empty_zero' => FALSE,
3967              'hide_alter_empty' => TRUE,
3968            ],
3969          ],
3970          'sorts' => [],
3971          'style' => [
3972            'type' => 'chart',
3973            'options' => [
3974              'grouping' => [],
3975              'chart_settings' => [
3976                'library' => 'chartjs',
3977                'type' => 'column',
3978                'fields' => [
3979                  'label' => 'visitors_day_of_week',
3980                  'stacking' => FALSE,
3981                  'data_providers' => [
3982                    'visitors_day_of_week' => [
3983                      'enabled' => FALSE,
3984                      'color' => '#000000',
3985                      'weight' => 2,
3986                    ],
3987                    'visitor_id' => [
3988                      'enabled' => TRUE,
3989                      'color' => '#0277bd',
3990                      'weight' => 2,
3991                    ],
3992                  ],
3993                ],
3994                'display' => [
3995                  'title' => 'Day of Week',
3996                  'title_position' => 'top',
3997                  'subtitle' => '',
3998                  'data_labels' => FALSE,
3999                  'data_markers' => TRUE,
4000                  'legend_position' => '',
4001                  'background' => '',
4002                  'three_dimensional' => 0,
4003                  'polar' => 0,
4004                  'tooltips' => TRUE,
4005                  'dimensions' => [
4006                    'width' => '',
4007                    'width_units' => '',
4008                    'height' => '',
4009                    'height_units' => '',
4010                  ],
4011                  'gauge' => [
4012                    'max' => '',
4013                    'min' => '',
4014                    'green_from' => '',
4015                    'green_to' => '',
4016                    'yellow_from' => '',
4017                    'yellow_to' => '',
4018                    'red_from' => '',
4019                    'red_to' => '',
4020                  ],
4021                  'color_changer' => FALSE,
4022                ],
4023                'xaxis' => [
4024                  'title' => '',
4025                  'labels_rotation' => '0',
4026                ],
4027                'yaxis' => [
4028                  'title' => '',
4029                  'min' => '',
4030                  'max' => '',
4031                  'prefix' => '',
4032                  'suffix' => '',
4033                  'decimal_count' => '',
4034                  'labels_rotation' => '0',
4035                ],
4036              ],
4037            ],
4038          ],
4039          'row' => [
4040            'type' => 'fields',
4041            'options' => [
4042              'default_field_elements' => TRUE,
4043              'inline' => [],
4044              'separator' => '',
4045              'hide_empty' => FALSE,
4046            ],
4047          ],
4048          'defaults' => [
4049            'style' => FALSE,
4050            'row' => FALSE,
4051            'fields' => FALSE,
4052            'sorts' => FALSE,
4053            'header' => FALSE,
4054            'footer' => FALSE,
4055          ],
4056          'display_description' => '',
4057          'header' => [],
4058          'footer' => [
4059            'visitors_display_link' => [
4060              'id' => 'visitors_display_link',
4061              'table' => 'visitors',
4062              'field' => 'visitors_display_link',
4063              'relationship' => 'none',
4064              'group_type' => 'group',
4065              'admin_label' => '',
4066              'plugin_id' => 'visitors_display_link',
4067              'label' => 'table',
4068              'empty' => FALSE,
4069              'display_id' => 'day_of_week_table',
4070            ],
4071          ],
4072          'display_extenders' => [],
4073        ],
4074        'cache_metadata' => [
4075          'max-age' => -1,
4076          'contexts' => [
4077            0 => 'languages:language_interface',
4078            1 => 'url.query_args',
4079          ],
4080          'tags' => [],
4081        ],
4082      ],
4083      'day_of_week_table' => [
4084        'id' => 'day_of_week_table',
4085        'display_title' => 'Day of Week Table',
4086        'display_plugin' => 'embed',
4087        'position' => 30,
4088        'display_options' => [
4089          'title' => 'Day of Week',
4090          'fields' => [
4091            'visitors_day_of_week' => [
4092              'id' => 'visitors_day_of_week',
4093              'table' => 'visitors',
4094              'field' => 'visitors_day_of_week',
4095              'relationship' => 'none',
4096              'group_type' => 'group',
4097              'admin_label' => '',
4098              'plugin_id' => 'visitors_day_of_week',
4099              'label' => 'Day of Week',
4100              'exclude' => FALSE,
4101              'alter' => [
4102                'alter_text' => FALSE,
4103                'text' => '',
4104                'make_link' => FALSE,
4105                'path' => '',
4106                'absolute' => FALSE,
4107                'external' => FALSE,
4108                'replace_spaces' => FALSE,
4109                'path_case' => 'none',
4110                'trim_whitespace' => FALSE,
4111                'alt' => '',
4112                'rel' => '',
4113                'link_class' => '',
4114                'prefix' => '',
4115                'suffix' => '',
4116                'target' => '',
4117                'nl2br' => FALSE,
4118                'max_length' => 0,
4119                'word_boundary' => TRUE,
4120                'ellipsis' => TRUE,
4121                'more_link' => FALSE,
4122                'more_link_text' => '',
4123                'more_link_path' => '',
4124                'strip_tags' => FALSE,
4125                'trim' => FALSE,
4126                'preserve_tags' => '',
4127                'html' => FALSE,
4128              ],
4129              'element_type' => '',
4130              'element_class' => '',
4131              'element_label_type' => '',
4132              'element_label_class' => '',
4133              'element_label_colon' => TRUE,
4134              'element_wrapper_type' => '',
4135              'element_wrapper_class' => '',
4136              'element_default_classes' => TRUE,
4137              'empty' => '',
4138              'hide_empty' => FALSE,
4139              'empty_zero' => FALSE,
4140              'hide_alter_empty' => TRUE,
4141            ],
4142            'visitor_id' => [
4143              'id' => 'visitor_id',
4144              'table' => 'visitors',
4145              'field' => 'visitor_id',
4146              'relationship' => 'none',
4147              'group_type' => 'count_distinct',
4148              'admin_label' => '',
4149              'plugin_id' => 'standard',
4150              'label' => 'Unique visitors',
4151              'exclude' => FALSE,
4152              'alter' => [
4153                'alter_text' => FALSE,
4154                'text' => '',
4155                'make_link' => FALSE,
4156                'path' => '',
4157                'absolute' => FALSE,
4158                'external' => FALSE,
4159                'replace_spaces' => FALSE,
4160                'path_case' => 'none',
4161                'trim_whitespace' => FALSE,
4162                'alt' => '',
4163                'rel' => '',
4164                'link_class' => '',
4165                'prefix' => '',
4166                'suffix' => '',
4167                'target' => '',
4168                'nl2br' => FALSE,
4169                'max_length' => 0,
4170                'word_boundary' => TRUE,
4171                'ellipsis' => TRUE,
4172                'more_link' => FALSE,
4173                'more_link_text' => '',
4174                'more_link_path' => '',
4175                'strip_tags' => FALSE,
4176                'trim' => FALSE,
4177                'preserve_tags' => '',
4178                'html' => FALSE,
4179              ],
4180              'element_type' => '',
4181              'element_class' => '',
4182              'element_label_type' => '',
4183              'element_label_class' => '',
4184              'element_label_colon' => TRUE,
4185              'element_wrapper_type' => '',
4186              'element_wrapper_class' => '',
4187              'element_default_classes' => TRUE,
4188              'empty' => '',
4189              'hide_empty' => FALSE,
4190              'empty_zero' => FALSE,
4191              'hide_alter_empty' => TRUE,
4192            ],
4193          ],
4194          'sorts' => [],
4195          'style' => [
4196            'type' => 'table',
4197            'options' => [
4198              'grouping' => [],
4199              'row_class' => '',
4200              'default_row_class' => TRUE,
4201              'columns' => [
4202                'visitors_day_of_week' => 'visitors_day_of_week',
4203                'visitor_id' => 'visitor_id',
4204              ],
4205              'default' => '-1',
4206              'info' => [
4207                'visitors_day_of_week' => [
4208                  'sortable' => FALSE,
4209                  'default_sort_order' => 'asc',
4210                  'align' => '',
4211                  'separator' => '',
4212                  'empty_column' => FALSE,
4213                  'responsive' => '',
4214                ],
4215                'visitor_id' => [
4216                  'sortable' => TRUE,
4217                  'default_sort_order' => 'desc',
4218                  'align' => 'views-align-right',
4219                  'separator' => '',
4220                  'empty_column' => FALSE,
4221                  'responsive' => '',
4222                ],
4223              ],
4224              'override' => TRUE,
4225              'sticky' => TRUE,
4226              'summary' => '',
4227              'empty_table' => FALSE,
4228              'caption' => 'Day of Week',
4229              'description' => '',
4230            ],
4231          ],
4232          'row' => [
4233            'type' => 'fields',
4234            'options' => [
4235              'default_field_elements' => TRUE,
4236              'inline' => [],
4237              'separator' => '',
4238              'hide_empty' => FALSE,
4239            ],
4240          ],
4241          'defaults' => [
4242            'title' => FALSE,
4243            'style' => FALSE,
4244            'row' => FALSE,
4245            'fields' => FALSE,
4246            'sorts' => FALSE,
4247            'header' => FALSE,
4248            'footer' => FALSE,
4249          ],
4250          'display_description' => '',
4251          'header' => [],
4252          'footer' => [
4253            'visitors_display_link' => [
4254              'id' => 'visitors_display_link',
4255              'table' => 'visitors',
4256              'field' => 'visitors_display_link',
4257              'relationship' => 'none',
4258              'group_type' => 'group',
4259              'admin_label' => '',
4260              'plugin_id' => 'visitors_display_link',
4261              'label' => 'chart',
4262              'empty' => FALSE,
4263              'display_id' => 'day_of_week_column',
4264            ],
4265          ],
4266          'display_extenders' => [],
4267        ],
4268        'cache_metadata' => [
4269          'max-age' => -1,
4270          'contexts' => [
4271            0 => 'languages:language_interface',
4272            1 => 'url.query_args',
4273          ],
4274          'tags' => [],
4275        ],
4276      ],
4277      'device_brand_table' => [
4278        'id' => 'device_brand_table',
4279        'display_title' => 'Device Brand',
4280        'display_plugin' => 'embed',
4281        'position' => 10,
4282        'display_options' => [
4283          'title' => 'Device Brand',
4284          'fields' => [
4285            'config_device_brand' => [
4286              'id' => 'config_device_brand',
4287              'table' => 'visitors',
4288              'field' => 'config_device_brand',
4289              'relationship' => 'none',
4290              'group_type' => 'group',
4291              'admin_label' => '',
4292              'plugin_id' => 'visitors_brand',
4293              'label' => 'Brand',
4294              'exclude' => FALSE,
4295              'alter' => [
4296                'alter_text' => FALSE,
4297                'text' => '',
4298                'make_link' => FALSE,
4299                'path' => '',
4300                'absolute' => FALSE,
4301                'external' => FALSE,
4302                'replace_spaces' => FALSE,
4303                'path_case' => 'none',
4304                'trim_whitespace' => FALSE,
4305                'alt' => '',
4306                'rel' => '',
4307                'link_class' => '',
4308                'prefix' => '',
4309                'suffix' => '',
4310                'target' => '',
4311                'nl2br' => FALSE,
4312                'max_length' => 0,
4313                'word_boundary' => TRUE,
4314                'ellipsis' => TRUE,
4315                'more_link' => FALSE,
4316                'more_link_text' => '',
4317                'more_link_path' => '',
4318                'strip_tags' => FALSE,
4319                'trim' => FALSE,
4320                'preserve_tags' => '',
4321                'html' => FALSE,
4322              ],
4323              'element_type' => '',
4324              'element_class' => '',
4325              'element_label_type' => '',
4326              'element_label_class' => '',
4327              'element_label_colon' => TRUE,
4328              'element_wrapper_type' => '',
4329              'element_wrapper_class' => '',
4330              'element_default_classes' => TRUE,
4331              'empty' => '',
4332              'hide_empty' => FALSE,
4333              'empty_zero' => FALSE,
4334              'hide_alter_empty' => TRUE,
4335              'icon' => TRUE,
4336            ],
4337            'visitor_id' => [
4338              'id' => 'visitor_id',
4339              'table' => 'visitors',
4340              'field' => 'visitor_id',
4341              'relationship' => 'none',
4342              'group_type' => 'count_distinct',
4343              'admin_label' => '',
4344              'plugin_id' => 'standard',
4345              'label' => 'Unique visitors',
4346              'exclude' => FALSE,
4347              'alter' => [
4348                'alter_text' => FALSE,
4349                'text' => '',
4350                'make_link' => FALSE,
4351                'path' => '',
4352                'absolute' => FALSE,
4353                'external' => FALSE,
4354                'replace_spaces' => FALSE,
4355                'path_case' => 'none',
4356                'trim_whitespace' => FALSE,
4357                'alt' => '',
4358                'rel' => '',
4359                'link_class' => '',
4360                'prefix' => '',
4361                'suffix' => '',
4362                'target' => '',
4363                'nl2br' => FALSE,
4364                'max_length' => 0,
4365                'word_boundary' => TRUE,
4366                'ellipsis' => TRUE,
4367                'more_link' => FALSE,
4368                'more_link_text' => '',
4369                'more_link_path' => '',
4370                'strip_tags' => FALSE,
4371                'trim' => FALSE,
4372                'preserve_tags' => '',
4373                'html' => FALSE,
4374              ],
4375              'element_type' => '',
4376              'element_class' => '',
4377              'element_label_type' => '',
4378              'element_label_class' => '',
4379              'element_label_colon' => TRUE,
4380              'element_wrapper_type' => '',
4381              'element_wrapper_class' => '',
4382              'element_default_classes' => TRUE,
4383              'empty' => '',
4384              'hide_empty' => FALSE,
4385              'empty_zero' => FALSE,
4386              'hide_alter_empty' => TRUE,
4387            ],
4388          ],
4389          'defaults' => [
4390            'title' => FALSE,
4391            'fields' => FALSE,
4392          ],
4393          'display_description' => '',
4394          'display_extenders' => [],
4395        ],
4396        'cache_metadata' => [
4397          'max-age' => -1,
4398          'contexts' => [
4399            0 => 'languages:language_interface',
4400            1 => 'url.query_args',
4401          ],
4402          'tags' => [],
4403        ],
4404      ],
4405      'device_config_table' => [
4406        'id' => 'device_config_table',
4407        'display_title' => 'Configuration',
4408        'display_plugin' => 'embed',
4409        'position' => 13,
4410        'display_options' => [
4411          'title' => 'Configuration',
4412          'fields' => [
4413            'config_os' => [
4414              'id' => 'config_os',
4415              'table' => 'visitors',
4416              'field' => 'config_os',
4417              'relationship' => 'none',
4418              'group_type' => 'group',
4419              'admin_label' => '',
4420              'plugin_id' => 'visitors_operating_system',
4421              'label' => 'Operating System',
4422              'exclude' => TRUE,
4423              'alter' => [
4424                'alter_text' => FALSE,
4425                'text' => '',
4426                'make_link' => FALSE,
4427                'path' => '',
4428                'absolute' => FALSE,
4429                'external' => FALSE,
4430                'replace_spaces' => FALSE,
4431                'path_case' => 'none',
4432                'trim_whitespace' => FALSE,
4433                'alt' => '',
4434                'rel' => '',
4435                'link_class' => '',
4436                'prefix' => '',
4437                'suffix' => '',
4438                'target' => '',
4439                'nl2br' => FALSE,
4440                'max_length' => 0,
4441                'word_boundary' => TRUE,
4442                'ellipsis' => TRUE,
4443                'more_link' => FALSE,
4444                'more_link_text' => '',
4445                'more_link_path' => '',
4446                'strip_tags' => FALSE,
4447                'trim' => FALSE,
4448                'preserve_tags' => '',
4449                'html' => FALSE,
4450              ],
4451              'element_type' => '',
4452              'element_class' => '',
4453              'element_label_type' => '',
4454              'element_label_class' => '',
4455              'element_label_colon' => TRUE,
4456              'element_wrapper_type' => '',
4457              'element_wrapper_class' => '',
4458              'element_default_classes' => TRUE,
4459              'empty' => '',
4460              'hide_empty' => FALSE,
4461              'empty_zero' => FALSE,
4462              'hide_alter_empty' => TRUE,
4463              'icon' => FALSE,
4464            ],
4465            'config_browser_name' => [
4466              'id' => 'config_browser_name',
4467              'table' => 'visitors',
4468              'field' => 'config_browser_name',
4469              'relationship' => 'none',
4470              'group_type' => 'group',
4471              'admin_label' => '',
4472              'plugin_id' => 'visitors_browser',
4473              'label' => 'Browser Name',
4474              'exclude' => TRUE,
4475              'alter' => [
4476                'alter_text' => FALSE,
4477                'text' => '',
4478                'make_link' => FALSE,
4479                'path' => '',
4480                'absolute' => FALSE,
4481                'external' => FALSE,
4482                'replace_spaces' => FALSE,
4483                'path_case' => 'none',
4484                'trim_whitespace' => FALSE,
4485                'alt' => '',
4486                'rel' => '',
4487                'link_class' => '',
4488                'prefix' => '',
4489                'suffix' => '',
4490                'target' => '',
4491                'nl2br' => FALSE,
4492                'max_length' => 0,
4493                'word_boundary' => TRUE,
4494                'ellipsis' => TRUE,
4495                'more_link' => FALSE,
4496                'more_link_text' => '',
4497                'more_link_path' => '',
4498                'strip_tags' => FALSE,
4499                'trim' => FALSE,
4500                'preserve_tags' => '',
4501                'html' => FALSE,
4502              ],
4503              'element_type' => '',
4504              'element_class' => '',
4505              'element_label_type' => '',
4506              'element_label_class' => '',
4507              'element_label_colon' => TRUE,
4508              'element_wrapper_type' => '',
4509              'element_wrapper_class' => '',
4510              'element_default_classes' => TRUE,
4511              'empty' => '',
4512              'hide_empty' => FALSE,
4513              'empty_zero' => FALSE,
4514              'hide_alter_empty' => TRUE,
4515              'icon' => FALSE,
4516            ],
4517            'config_resolution' => [
4518              'id' => 'config_resolution',
4519              'table' => 'visitors',
4520              'field' => 'config_resolution',
4521              'relationship' => 'none',
4522              'group_type' => 'group',
4523              'admin_label' => '',
4524              'plugin_id' => 'standard',
4525              'label' => 'Configurations',
4526              'exclude' => FALSE,
4527              'alter' => [
4528                'alter_text' => TRUE,
4529                'text' => '{{ config_os }} / {{ config_browser_name }} / {{ config_resolution }} ',
4530                'make_link' => FALSE,
4531                'path' => '',
4532                'absolute' => FALSE,
4533                'external' => FALSE,
4534                'replace_spaces' => FALSE,
4535                'path_case' => 'none',
4536                'trim_whitespace' => FALSE,
4537                'alt' => '',
4538                'rel' => '',
4539                'link_class' => '',
4540                'prefix' => '',
4541                'suffix' => '',
4542                'target' => '',
4543                'nl2br' => FALSE,
4544                'max_length' => 0,
4545                'word_boundary' => TRUE,
4546                'ellipsis' => TRUE,
4547                'more_link' => FALSE,
4548                'more_link_text' => '',
4549                'more_link_path' => '',
4550                'strip_tags' => FALSE,
4551                'trim' => FALSE,
4552                'preserve_tags' => '',
4553                'html' => FALSE,
4554              ],
4555              'element_type' => '',
4556              'element_class' => '',
4557              'element_label_type' => '',
4558              'element_label_class' => '',
4559              'element_label_colon' => TRUE,
4560              'element_wrapper_type' => '',
4561              'element_wrapper_class' => '',
4562              'element_default_classes' => TRUE,
4563              'empty' => '',
4564              'hide_empty' => FALSE,
4565              'empty_zero' => FALSE,
4566              'hide_alter_empty' => TRUE,
4567            ],
4568            'visitor_id' => [
4569              'id' => 'visitor_id',
4570              'table' => 'visitors',
4571              'field' => 'visitor_id',
4572              'relationship' => 'none',
4573              'group_type' => 'count_distinct',
4574              'admin_label' => '',
4575              'plugin_id' => 'standard',
4576              'label' => 'Unique visitors',
4577              'exclude' => FALSE,
4578              'alter' => [
4579                'alter_text' => FALSE,
4580                'text' => '',
4581                'make_link' => FALSE,
4582                'path' => '',
4583                'absolute' => FALSE,
4584                'external' => FALSE,
4585                'replace_spaces' => FALSE,
4586                'path_case' => 'none',
4587                'trim_whitespace' => FALSE,
4588                'alt' => '',
4589                'rel' => '',
4590                'link_class' => '',
4591                'prefix' => '',
4592                'suffix' => '',
4593                'target' => '',
4594                'nl2br' => FALSE,
4595                'max_length' => 0,
4596                'word_boundary' => TRUE,
4597                'ellipsis' => TRUE,
4598                'more_link' => FALSE,
4599                'more_link_text' => '',
4600                'more_link_path' => '',
4601                'strip_tags' => FALSE,
4602                'trim' => FALSE,
4603                'preserve_tags' => '',
4604                'html' => FALSE,
4605              ],
4606              'element_type' => '',
4607              'element_class' => '',
4608              'element_label_type' => '',
4609              'element_label_class' => '',
4610              'element_label_colon' => TRUE,
4611              'element_wrapper_type' => '',
4612              'element_wrapper_class' => '',
4613              'element_default_classes' => TRUE,
4614              'empty' => '',
4615              'hide_empty' => FALSE,
4616              'empty_zero' => FALSE,
4617              'hide_alter_empty' => TRUE,
4618            ],
4619          ],
4620          'defaults' => [
4621            'title' => FALSE,
4622            'fields' => FALSE,
4623            'footer' => FALSE,
4624          ],
4625          'display_description' => '',
4626          'footer' => [
4627            'visitors_display_link' => [
4628              'id' => 'visitors_display_link',
4629              'table' => 'visitors',
4630              'field' => 'visitors_display_link',
4631              'relationship' => 'none',
4632              'group_type' => 'group',
4633              'admin_label' => '',
4634              'plugin_id' => 'visitors_display_link',
4635              'label' => 'Resolution',
4636              'empty' => FALSE,
4637              'display_id' => 'device_resolution_table',
4638            ],
4639          ],
4640          'display_extenders' => [],
4641        ],
4642        'cache_metadata' => [
4643          'max-age' => -1,
4644          'contexts' => [
4645            0 => 'languages:language_interface',
4646            1 => 'url.query_args',
4647          ],
4648          'tags' => [],
4649        ],
4650      ],
4651      'device_model_table' => [
4652        'id' => 'device_model_table',
4653        'display_title' => 'Device Model',
4654        'display_plugin' => 'embed',
4655        'position' => 11,
4656        'display_options' => [
4657          'title' => 'Model',
4658          'fields' => [
4659            'config_device_brand' => [
4660              'id' => 'config_device_brand',
4661              'table' => 'visitors',
4662              'field' => 'config_device_brand',
4663              'relationship' => 'none',
4664              'group_type' => 'group',
4665              'admin_label' => '',
4666              'plugin_id' => 'visitors_brand',
4667              'label' => 'Device brand',
4668              'exclude' => TRUE,
4669              'alter' => [
4670                'alter_text' => TRUE,
4671                'text' => '{{ config_device_brand }} - ',
4672                'make_link' => FALSE,
4673                'path' => '',
4674                'absolute' => FALSE,
4675                'external' => FALSE,
4676                'replace_spaces' => FALSE,
4677                'path_case' => 'none',
4678                'trim_whitespace' => FALSE,
4679                'alt' => '',
4680                'rel' => '',
4681                'link_class' => '',
4682                'prefix' => '',
4683                'suffix' => '',
4684                'target' => '',
4685                'nl2br' => FALSE,
4686                'max_length' => 0,
4687                'word_boundary' => TRUE,
4688                'ellipsis' => TRUE,
4689                'more_link' => FALSE,
4690                'more_link_text' => '',
4691                'more_link_path' => '',
4692                'strip_tags' => FALSE,
4693                'trim' => FALSE,
4694                'preserve_tags' => '',
4695                'html' => FALSE,
4696              ],
4697              'element_type' => '',
4698              'element_class' => '',
4699              'element_label_type' => '',
4700              'element_label_class' => '',
4701              'element_label_colon' => TRUE,
4702              'element_wrapper_type' => '',
4703              'element_wrapper_class' => '',
4704              'element_default_classes' => TRUE,
4705              'empty' => '',
4706              'hide_empty' => FALSE,
4707              'empty_zero' => FALSE,
4708              'hide_alter_empty' => TRUE,
4709              'icon' => FALSE,
4710            ],
4711            'config_device_model' => [
4712              'id' => 'config_device_model',
4713              'table' => 'visitors',
4714              'field' => 'config_device_model',
4715              'relationship' => 'none',
4716              'group_type' => 'group',
4717              'admin_label' => '',
4718              'plugin_id' => 'standard',
4719              'label' => 'Device model',
4720              'exclude' => TRUE,
4721              'alter' => [
4722                'alter_text' => FALSE,
4723                'text' => '',
4724                'make_link' => FALSE,
4725                'path' => '',
4726                'absolute' => FALSE,
4727                'external' => FALSE,
4728                'replace_spaces' => FALSE,
4729                'path_case' => 'none',
4730                'trim_whitespace' => FALSE,
4731                'alt' => '',
4732                'rel' => '',
4733                'link_class' => '',
4734                'prefix' => '',
4735                'suffix' => '',
4736                'target' => '',
4737                'nl2br' => FALSE,
4738                'max_length' => 0,
4739                'word_boundary' => TRUE,
4740                'ellipsis' => TRUE,
4741                'more_link' => FALSE,
4742                'more_link_text' => '',
4743                'more_link_path' => '',
4744                'strip_tags' => FALSE,
4745                'trim' => FALSE,
4746                'preserve_tags' => '',
4747                'html' => FALSE,
4748              ],
4749              'element_type' => '',
4750              'element_class' => '',
4751              'element_label_type' => '',
4752              'element_label_class' => '',
4753              'element_label_colon' => TRUE,
4754              'element_wrapper_type' => '',
4755              'element_wrapper_class' => '',
4756              'element_default_classes' => TRUE,
4757              'empty' => 'Generic',
4758              'hide_empty' => FALSE,
4759              'empty_zero' => FALSE,
4760              'hide_alter_empty' => TRUE,
4761            ],
4762            'config_device_type' => [
4763              'id' => 'config_device_type',
4764              'table' => 'visitors',
4765              'field' => 'config_device_type',
4766              'relationship' => 'none',
4767              'group_type' => 'group',
4768              'admin_label' => '',
4769              'plugin_id' => 'visitors_device',
4770              'label' => 'Device model',
4771              'exclude' => FALSE,
4772              'alter' => [
4773                'alter_text' => TRUE,
4774                'text' => '{{ config_device_brand }}{{ config_device_model }} {{ config_device_type }} ',
4775                'make_link' => FALSE,
4776                'path' => '',
4777                'absolute' => FALSE,
4778                'external' => FALSE,
4779                'replace_spaces' => FALSE,
4780                'path_case' => 'none',
4781                'trim_whitespace' => FALSE,
4782                'alt' => '',
4783                'rel' => '',
4784                'link_class' => '',
4785                'prefix' => '',
4786                'suffix' => '',
4787                'target' => '',
4788                'nl2br' => FALSE,
4789                'max_length' => 0,
4790                'word_boundary' => TRUE,
4791                'ellipsis' => TRUE,
4792                'more_link' => FALSE,
4793                'more_link_text' => '',
4794                'more_link_path' => '',
4795                'strip_tags' => FALSE,
4796                'trim' => FALSE,
4797                'preserve_tags' => '',
4798                'html' => FALSE,
4799              ],
4800              'element_type' => '',
4801              'element_class' => '',
4802              'element_label_type' => '',
4803              'element_label_class' => '',
4804              'element_label_colon' => TRUE,
4805              'element_wrapper_type' => '',
4806              'element_wrapper_class' => '',
4807              'element_default_classes' => TRUE,
4808              'empty' => '',
4809              'hide_empty' => FALSE,
4810              'empty_zero' => FALSE,
4811              'hide_alter_empty' => TRUE,
4812              'icon' => FALSE,
4813            ],
4814            'visitor_id' => [
4815              'id' => 'visitor_id',
4816              'table' => 'visitors',
4817              'field' => 'visitor_id',
4818              'relationship' => 'none',
4819              'group_type' => 'count_distinct',
4820              'admin_label' => '',
4821              'plugin_id' => 'standard',
4822              'label' => 'Unique visitors',
4823              'exclude' => FALSE,
4824              'alter' => [
4825                'alter_text' => FALSE,
4826                'text' => '',
4827                'make_link' => FALSE,
4828                'path' => '',
4829                'absolute' => FALSE,
4830                'external' => FALSE,
4831                'replace_spaces' => FALSE,
4832                'path_case' => 'none',
4833                'trim_whitespace' => FALSE,
4834                'alt' => '',
4835                'rel' => '',
4836                'link_class' => '',
4837                'prefix' => '',
4838                'suffix' => '',
4839                'target' => '',
4840                'nl2br' => FALSE,
4841                'max_length' => 0,
4842                'word_boundary' => TRUE,
4843                'ellipsis' => TRUE,
4844                'more_link' => FALSE,
4845                'more_link_text' => '',
4846                'more_link_path' => '',
4847                'strip_tags' => FALSE,
4848                'trim' => FALSE,
4849                'preserve_tags' => '',
4850                'html' => FALSE,
4851              ],
4852              'element_type' => '',
4853              'element_class' => '',
4854              'element_label_type' => '',
4855              'element_label_class' => '',
4856              'element_label_colon' => TRUE,
4857              'element_wrapper_type' => '',
4858              'element_wrapper_class' => '',
4859              'element_default_classes' => TRUE,
4860              'empty' => '',
4861              'hide_empty' => FALSE,
4862              'empty_zero' => FALSE,
4863              'hide_alter_empty' => TRUE,
4864            ],
4865          ],
4866          'defaults' => [
4867            'title' => FALSE,
4868            'fields' => FALSE,
4869          ],
4870          'display_description' => '',
4871          'display_extenders' => [],
4872        ],
4873        'cache_metadata' => [
4874          'max-age' => -1,
4875          'contexts' => [
4876            0 => 'languages:language_interface',
4877            1 => 'url.query_args',
4878          ],
4879          'tags' => [],
4880        ],
4881      ],
4882      'device_resolution_table' => [
4883        'id' => 'device_resolution_table',
4884        'display_title' => 'Resolution',
4885        'display_plugin' => 'embed',
4886        'position' => 12,
4887        'display_options' => [
4888          'title' => 'Resolution',
4889          'fields' => [
4890            'config_resolution' => [
4891              'id' => 'config_resolution',
4892              'table' => 'visitors',
4893              'field' => 'config_resolution',
4894              'relationship' => 'none',
4895              'group_type' => 'group',
4896              'admin_label' => '',
4897              'plugin_id' => 'standard',
4898              'label' => 'Resolution',
4899              'exclude' => FALSE,
4900              'alter' => [
4901                'alter_text' => FALSE,
4902                'text' => '',
4903                'make_link' => FALSE,
4904                'path' => '',
4905                'absolute' => FALSE,
4906                'external' => FALSE,
4907                'replace_spaces' => FALSE,
4908                'path_case' => 'none',
4909                'trim_whitespace' => FALSE,
4910                'alt' => '',
4911                'rel' => '',
4912                'link_class' => '',
4913                'prefix' => '',
4914                'suffix' => '',
4915                'target' => '',
4916                'nl2br' => FALSE,
4917                'max_length' => 0,
4918                'word_boundary' => TRUE,
4919                'ellipsis' => TRUE,
4920                'more_link' => FALSE,
4921                'more_link_text' => '',
4922                'more_link_path' => '',
4923                'strip_tags' => FALSE,
4924                'trim' => FALSE,
4925                'preserve_tags' => '',
4926                'html' => FALSE,
4927              ],
4928              'element_type' => '',
4929              'element_class' => '',
4930              'element_label_type' => '',
4931              'element_label_class' => '',
4932              'element_label_colon' => TRUE,
4933              'element_wrapper_type' => '',
4934              'element_wrapper_class' => '',
4935              'element_default_classes' => TRUE,
4936              'empty' => '',
4937              'hide_empty' => FALSE,
4938              'empty_zero' => FALSE,
4939              'hide_alter_empty' => TRUE,
4940            ],
4941            'visitor_id' => [
4942              'id' => 'visitor_id',
4943              'table' => 'visitors',
4944              'field' => 'visitor_id',
4945              'relationship' => 'none',
4946              'group_type' => 'count_distinct',
4947              'admin_label' => '',
4948              'plugin_id' => 'standard',
4949              'label' => 'Unique visitors',
4950              'exclude' => FALSE,
4951              'alter' => [
4952                'alter_text' => FALSE,
4953                'text' => '',
4954                'make_link' => FALSE,
4955                'path' => '',
4956                'absolute' => FALSE,
4957                'external' => FALSE,
4958                'replace_spaces' => FALSE,
4959                'path_case' => 'none',
4960                'trim_whitespace' => FALSE,
4961                'alt' => '',
4962                'rel' => '',
4963                'link_class' => '',
4964                'prefix' => '',
4965                'suffix' => '',
4966                'target' => '',
4967                'nl2br' => FALSE,
4968                'max_length' => 0,
4969                'word_boundary' => TRUE,
4970                'ellipsis' => TRUE,
4971                'more_link' => FALSE,
4972                'more_link_text' => '',
4973                'more_link_path' => '',
4974                'strip_tags' => FALSE,
4975                'trim' => FALSE,
4976                'preserve_tags' => '',
4977                'html' => FALSE,
4978              ],
4979              'element_type' => '',
4980              'element_class' => '',
4981              'element_label_type' => '',
4982              'element_label_class' => '',
4983              'element_label_colon' => TRUE,
4984              'element_wrapper_type' => '',
4985              'element_wrapper_class' => '',
4986              'element_default_classes' => TRUE,
4987              'empty' => '',
4988              'hide_empty' => FALSE,
4989              'empty_zero' => FALSE,
4990              'hide_alter_empty' => TRUE,
4991            ],
4992          ],
4993          'defaults' => [
4994            'title' => FALSE,
4995            'fields' => FALSE,
4996            'footer' => FALSE,
4997          ],
4998          'display_description' => '',
4999          'footer' => [
5000            'visitors_display_link' => [
5001              'id' => 'visitors_display_link',
5002              'table' => 'visitors',
5003              'field' => 'visitors_display_link',
5004              'relationship' => 'none',
5005              'group_type' => 'group',
5006              'admin_label' => '',
5007              'plugin_id' => 'visitors_display_link',
5008              'label' => 'Configurations',
5009              'empty' => FALSE,
5010              'display_id' => 'device_config_table',
5011            ],
5012          ],
5013          'display_extenders' => [],
5014        ],
5015        'cache_metadata' => [
5016          'max-age' => -1,
5017          'contexts' => [
5018            0 => 'languages:language_interface',
5019            1 => 'url.query_args',
5020          ],
5021          'tags' => [],
5022        ],
5023      ],
5024      'device_type_table' => [
5025        'id' => 'device_type_table',
5026        'display_title' => 'Device Type',
5027        'display_plugin' => 'embed',
5028        'position' => 9,
5029        'display_options' => [
5030          'title' => 'Device Type',
5031          'fields' => [
5032            'config_device_type' => [
5033              'id' => 'config_device_type',
5034              'table' => 'visitors',
5035              'field' => 'config_device_type',
5036              'relationship' => 'none',
5037              'group_type' => 'group',
5038              'admin_label' => '',
5039              'plugin_id' => 'visitors_device',
5040              'label' => 'Device',
5041              'exclude' => FALSE,
5042              'alter' => [
5043                'alter_text' => FALSE,
5044                'text' => '',
5045                'make_link' => FALSE,
5046                'path' => '',
5047                'absolute' => FALSE,
5048                'external' => FALSE,
5049                'replace_spaces' => FALSE,
5050                'path_case' => 'none',
5051                'trim_whitespace' => FALSE,
5052                'alt' => '',
5053                'rel' => '',
5054                'link_class' => '',
5055                'prefix' => '',
5056                'suffix' => '',
5057                'target' => '',
5058                'nl2br' => FALSE,
5059                'max_length' => 0,
5060                'word_boundary' => TRUE,
5061                'ellipsis' => TRUE,
5062                'more_link' => FALSE,
5063                'more_link_text' => '',
5064                'more_link_path' => '',
5065                'strip_tags' => FALSE,
5066                'trim' => FALSE,
5067                'preserve_tags' => '',
5068                'html' => FALSE,
5069              ],
5070              'element_type' => '',
5071              'element_class' => '',
5072              'element_label_type' => '',
5073              'element_label_class' => '',
5074              'element_label_colon' => TRUE,
5075              'element_wrapper_type' => '',
5076              'element_wrapper_class' => '',
5077              'element_default_classes' => TRUE,
5078              'empty' => '',
5079              'hide_empty' => FALSE,
5080              'empty_zero' => FALSE,
5081              'hide_alter_empty' => TRUE,
5082              'icon' => TRUE,
5083            ],
5084            'visitor_id' => [
5085              'id' => 'visitor_id',
5086              'table' => 'visitors',
5087              'field' => 'visitor_id',
5088              'relationship' => 'none',
5089              'group_type' => 'count_distinct',
5090              'admin_label' => '',
5091              'plugin_id' => 'standard',
5092              'label' => 'Unique visitors',
5093              'exclude' => FALSE,
5094              'alter' => [
5095                'alter_text' => FALSE,
5096                'text' => '',
5097                'make_link' => FALSE,
5098                'path' => '',
5099                'absolute' => FALSE,
5100                'external' => FALSE,
5101                'replace_spaces' => FALSE,
5102                'path_case' => 'none',
5103                'trim_whitespace' => FALSE,
5104                'alt' => '',
5105                'rel' => '',
5106                'link_class' => '',
5107                'prefix' => '',
5108                'suffix' => '',
5109                'target' => '',
5110                'nl2br' => FALSE,
5111                'max_length' => 0,
5112                'word_boundary' => TRUE,
5113                'ellipsis' => TRUE,
5114                'more_link' => FALSE,
5115                'more_link_text' => '',
5116                'more_link_path' => '',
5117                'strip_tags' => FALSE,
5118                'trim' => FALSE,
5119                'preserve_tags' => '',
5120                'html' => FALSE,
5121              ],
5122              'element_type' => '',
5123              'element_class' => '',
5124              'element_label_type' => '',
5125              'element_label_class' => '',
5126              'element_label_colon' => TRUE,
5127              'element_wrapper_type' => '',
5128              'element_wrapper_class' => '',
5129              'element_default_classes' => TRUE,
5130              'empty' => '',
5131              'hide_empty' => FALSE,
5132              'empty_zero' => FALSE,
5133              'hide_alter_empty' => TRUE,
5134            ],
5135          ],
5136          'defaults' => [
5137            'title' => FALSE,
5138            'fields' => FALSE,
5139          ],
5140          'display_description' => '',
5141          'display_extenders' => [],
5142        ],
5143        'cache_metadata' => [
5144          'max-age' => -1,
5145          'contexts' => [
5146            0 => 'languages:language_interface',
5147            1 => 'url.query_args',
5148          ],
5149          'tags' => [],
5150        ],
5151      ],
5152      'distinct_countries_list' => [
5153        'id' => 'distinct_countries_list',
5154        'display_title' => 'Distinct Countries',
5155        'display_plugin' => 'embed',
5156        'position' => 3,
5157        'display_options' => [
5158          'title' => 'Distinct Countries',
5159          'fields' => [
5160            'location_country' => [
5161              'id' => 'location_country',
5162              'table' => 'visitors',
5163              'field' => 'location_country',
5164              'relationship' => 'none',
5165              'group_type' => 'count_distinct',
5166              'admin_label' => '',
5167              'plugin_id' => 'visitors_country',
5168              'label' => '',
5169              'exclude' => FALSE,
5170              'alter' => [
5171                'alter_text' => FALSE,
5172                'text' => '{{ location_country }} distinct countries',
5173                'make_link' => FALSE,
5174                'path' => '',
5175                'absolute' => FALSE,
5176                'external' => FALSE,
5177                'replace_spaces' => FALSE,
5178                'path_case' => 'none',
5179                'trim_whitespace' => FALSE,
5180                'alt' => '',
5181                'rel' => '',
5182                'link_class' => '',
5183                'prefix' => '',
5184                'suffix' => '',
5185                'target' => '',
5186                'nl2br' => FALSE,
5187                'max_length' => 0,
5188                'word_boundary' => TRUE,
5189                'ellipsis' => TRUE,
5190                'more_link' => FALSE,
5191                'more_link_text' => '',
5192                'more_link_path' => '',
5193                'strip_tags' => FALSE,
5194                'trim' => FALSE,
5195                'preserve_tags' => '',
5196                'html' => FALSE,
5197              ],
5198              'element_type' => '',
5199              'element_class' => '',
5200              'element_label_type' => '',
5201              'element_label_class' => '',
5202              'element_label_colon' => FALSE,
5203              'element_wrapper_type' => '',
5204              'element_wrapper_class' => '',
5205              'element_default_classes' => TRUE,
5206              'empty' => '',
5207              'hide_empty' => FALSE,
5208              'empty_zero' => FALSE,
5209              'hide_alter_empty' => TRUE,
5210              'icon' => FALSE,
5211              'set_precision' => FALSE,
5212              'precision' => 0,
5213              'decimal' => '.',
5214              'separator' => ',',
5215              'format_plural' => TRUE,
5216              'format_plural_string' => '1 distinct country
5217  \x03
5218  @count distinct countries',
5219              'prefix' => '',
5220              'suffix' => '',
5221            ],
5222          ],
5223          'sorts' => [],
5224          'style' => [
5225            'type' => 'default',
5226            'options' => [
5227              'grouping' => [],
5228              'row_class' => '',
5229              'default_row_class' => TRUE,
5230            ],
5231          ],
5232          'row' => [
5233            'type' => 'fields',
5234            'options' => [
5235              'default_field_elements' => TRUE,
5236              'inline' => [],
5237              'separator' => '',
5238              'hide_empty' => FALSE,
5239            ],
5240          ],
5241          'defaults' => [
5242            'title' => FALSE,
5243            'style' => FALSE,
5244            'row' => FALSE,
5245            'fields' => FALSE,
5246            'sorts' => FALSE,
5247            'filters' => TRUE,
5248            'filter_groups' => TRUE,
5249          ],
5250          'display_description' => '',
5251          'display_extenders' => [],
5252        ],
5253        'cache_metadata' => [
5254          'max-age' => -1,
5255          'contexts' => [
5256            0 => 'languages:language_interface',
5257            1 => 'url.query_args',
5258          ],
5259          'tags' => [],
5260        ],
5261      ],
5262      'hour_column' => [
5263        'id' => 'hour_column',
5264        'display_title' => 'Hour Column',
5265        'display_plugin' => 'embed',
5266        'position' => 24,
5267        'display_options' => [
5268          'fields' => [
5269            'visitors_hour' => [
5270              'id' => 'visitors_hour',
5271              'table' => 'visitors',
5272              'field' => 'visitors_hour',
5273              'relationship' => 'none',
5274              'group_type' => 'group',
5275              'admin_label' => '',
5276              'plugin_id' => 'visitors_hour',
5277              'label' => 'Hour',
5278              'exclude' => FALSE,
5279              'alter' => [
5280                'alter_text' => FALSE,
5281                'text' => '',
5282                'make_link' => FALSE,
5283                'path' => '',
5284                'absolute' => FALSE,
5285                'external' => FALSE,
5286                'replace_spaces' => FALSE,
5287                'path_case' => 'none',
5288                'trim_whitespace' => FALSE,
5289                'alt' => '',
5290                'rel' => '',
5291                'link_class' => '',
5292                'prefix' => '',
5293                'suffix' => '',
5294                'target' => '',
5295                'nl2br' => FALSE,
5296                'max_length' => 0,
5297                'word_boundary' => TRUE,
5298                'ellipsis' => TRUE,
5299                'more_link' => FALSE,
5300                'more_link_text' => '',
5301                'more_link_path' => '',
5302                'strip_tags' => FALSE,
5303                'trim' => FALSE,
5304                'preserve_tags' => '',
5305                'html' => FALSE,
5306              ],
5307              'element_type' => '',
5308              'element_class' => '',
5309              'element_label_type' => '',
5310              'element_label_class' => '',
5311              'element_label_colon' => TRUE,
5312              'element_wrapper_type' => '',
5313              'element_wrapper_class' => '',
5314              'element_default_classes' => TRUE,
5315              'empty' => '',
5316              'hide_empty' => FALSE,
5317              'empty_zero' => FALSE,
5318              'hide_alter_empty' => TRUE,
5319            ],
5320            'visitor_id' => [
5321              'id' => 'visitor_id',
5322              'table' => 'visitors',
5323              'field' => 'visitor_id',
5324              'relationship' => 'none',
5325              'group_type' => 'count_distinct',
5326              'admin_label' => '',
5327              'plugin_id' => 'standard',
5328              'label' => 'Unique visitors',
5329              'exclude' => FALSE,
5330              'alter' => [
5331                'alter_text' => FALSE,
5332                'text' => '',
5333                'make_link' => FALSE,
5334                'path' => '',
5335                'absolute' => FALSE,
5336                'external' => FALSE,
5337                'replace_spaces' => FALSE,
5338                'path_case' => 'none',
5339                'trim_whitespace' => FALSE,
5340                'alt' => '',
5341                'rel' => '',
5342                'link_class' => '',
5343                'prefix' => '',
5344                'suffix' => '',
5345                'target' => '',
5346                'nl2br' => FALSE,
5347                'max_length' => 0,
5348                'word_boundary' => TRUE,
5349                'ellipsis' => TRUE,
5350                'more_link' => FALSE,
5351                'more_link_text' => '',
5352                'more_link_path' => '',
5353                'strip_tags' => FALSE,
5354                'trim' => FALSE,
5355                'preserve_tags' => '',
5356                'html' => FALSE,
5357              ],
5358              'element_type' => '',
5359              'element_class' => '',
5360              'element_label_type' => '',
5361              'element_label_class' => '',
5362              'element_label_colon' => TRUE,
5363              'element_wrapper_type' => '',
5364              'element_wrapper_class' => '',
5365              'element_default_classes' => TRUE,
5366              'empty' => '',
5367              'hide_empty' => FALSE,
5368              'empty_zero' => FALSE,
5369              'hide_alter_empty' => TRUE,
5370            ],
5371          ],
5372          'pager' => [
5373            'type' => 'none',
5374            'options' => [
5375              'offset' => 0,
5376            ],
5377          ],
5378          'sorts' => [],
5379          'style' => [
5380            'type' => 'chart',
5381            'options' => [
5382              'grouping' => [],
5383              'chart_settings' => [
5384                'library' => 'chartjs',
5385                'type' => 'column',
5386                'fields' => [
5387                  'label' => 'visitors_hour',
5388                  'stacking' => FALSE,
5389                  'data_providers' => [
5390                    'visitors_hour' => [
5391                      'enabled' => FALSE,
5392                      'color' => '#000000',
5393                      'weight' => 2,
5394                    ],
5395                    'visitor_id' => [
5396                      'enabled' => TRUE,
5397                      'color' => '#0277bd',
5398                      'weight' => 2,
5399                    ],
5400                  ],
5401                ],
5402                'display' => [
5403                  'title' => 'Your time',
5404                  'title_position' => 'top',
5405                  'subtitle' => '',
5406                  'data_labels' => FALSE,
5407                  'data_markers' => FALSE,
5408                  'legend_position' => '',
5409                  'background' => '',
5410                  'three_dimensional' => 0,
5411                  'polar' => 0,
5412                  'tooltips' => FALSE,
5413                  'dimensions' => [
5414                    'width' => '',
5415                    'width_units' => '',
5416                    'height' => '',
5417                    'height_units' => '',
5418                  ],
5419                  'gauge' => [
5420                    'max' => '',
5421                    'min' => '',
5422                    'green_from' => '',
5423                    'green_to' => '',
5424                    'yellow_from' => '',
5425                    'yellow_to' => '',
5426                    'red_from' => '',
5427                    'red_to' => '',
5428                  ],
5429                  'color_changer' => FALSE,
5430                ],
5431                'xaxis' => [
5432                  'title' => '',
5433                  'labels_rotation' => '0',
5434                ],
5435                'yaxis' => [
5436                  'title' => '',
5437                  'min' => '',
5438                  'max' => '',
5439                  'prefix' => '',
5440                  'suffix' => '',
5441                  'decimal_count' => '',
5442                  'labels_rotation' => '0',
5443                ],
5444              ],
5445            ],
5446          ],
5447          'row' => [
5448            'type' => 'fields',
5449            'options' => [
5450              'default_field_elements' => TRUE,
5451              'inline' => [],
5452              'separator' => '',
5453              'hide_empty' => FALSE,
5454            ],
5455          ],
5456          'defaults' => [
5457            'pager' => FALSE,
5458            'style' => FALSE,
5459            'row' => FALSE,
5460            'fields' => FALSE,
5461            'sorts' => FALSE,
5462            'header' => FALSE,
5463            'footer' => FALSE,
5464          ],
5465          'display_description' => '',
5466          'header' => [],
5467          'footer' => [
5468            'visitors_display_link' => [
5469              'id' => 'visitors_display_link',
5470              'table' => 'visitors',
5471              'field' => 'visitors_display_link',
5472              'relationship' => 'none',
5473              'group_type' => 'group',
5474              'admin_label' => '',
5475              'plugin_id' => 'visitors_display_link',
5476              'label' => 'table',
5477              'empty' => FALSE,
5478              'display_id' => 'hour_table',
5479            ],
5480          ],
5481          'display_extenders' => [],
5482        ],
5483        'cache_metadata' => [
5484          'max-age' => -1,
5485          'contexts' => [
5486            0 => 'languages:language_interface',
5487          ],
5488          'tags' => [],
5489        ],
5490      ],
5491      'hour_table' => [
5492        'id' => 'hour_table',
5493        'display_title' => 'Hour Table',
5494        'display_plugin' => 'embed',
5495        'position' => 24,
5496        'display_options' => [
5497          'title' => 'Your time',
5498          'fields' => [
5499            'visitors_hour' => [
5500              'id' => 'visitors_hour',
5501              'table' => 'visitors',
5502              'field' => 'visitors_hour',
5503              'relationship' => 'none',
5504              'group_type' => 'group',
5505              'admin_label' => '',
5506              'plugin_id' => 'visitors_hour',
5507              'label' => 'Hour',
5508              'exclude' => FALSE,
5509              'alter' => [
5510                'alter_text' => FALSE,
5511                'text' => '',
5512                'make_link' => FALSE,
5513                'path' => '',
5514                'absolute' => FALSE,
5515                'external' => FALSE,
5516                'replace_spaces' => FALSE,
5517                'path_case' => 'none',
5518                'trim_whitespace' => FALSE,
5519                'alt' => '',
5520                'rel' => '',
5521                'link_class' => '',
5522                'prefix' => '',
5523                'suffix' => '',
5524                'target' => '',
5525                'nl2br' => FALSE,
5526                'max_length' => 0,
5527                'word_boundary' => TRUE,
5528                'ellipsis' => TRUE,
5529                'more_link' => FALSE,
5530                'more_link_text' => '',
5531                'more_link_path' => '',
5532                'strip_tags' => FALSE,
5533                'trim' => FALSE,
5534                'preserve_tags' => '',
5535                'html' => FALSE,
5536              ],
5537              'element_type' => '',
5538              'element_class' => '',
5539              'element_label_type' => '',
5540              'element_label_class' => '',
5541              'element_label_colon' => TRUE,
5542              'element_wrapper_type' => '',
5543              'element_wrapper_class' => '',
5544              'element_default_classes' => TRUE,
5545              'empty' => '',
5546              'hide_empty' => FALSE,
5547              'empty_zero' => FALSE,
5548              'hide_alter_empty' => TRUE,
5549            ],
5550            'visitor_id' => [
5551              'id' => 'visitor_id',
5552              'table' => 'visitors',
5553              'field' => 'visitor_id',
5554              'relationship' => 'none',
5555              'group_type' => 'count_distinct',
5556              'admin_label' => '',
5557              'plugin_id' => 'standard',
5558              'label' => 'Unique visitors',
5559              'exclude' => FALSE,
5560              'alter' => [
5561                'alter_text' => FALSE,
5562                'text' => '',
5563                'make_link' => FALSE,
5564                'path' => '',
5565                'absolute' => FALSE,
5566                'external' => FALSE,
5567                'replace_spaces' => FALSE,
5568                'path_case' => 'none',
5569                'trim_whitespace' => FALSE,
5570                'alt' => '',
5571                'rel' => '',
5572                'link_class' => '',
5573                'prefix' => '',
5574                'suffix' => '',
5575                'target' => '',
5576                'nl2br' => FALSE,
5577                'max_length' => 0,
5578                'word_boundary' => TRUE,
5579                'ellipsis' => TRUE,
5580                'more_link' => FALSE,
5581                'more_link_text' => '',
5582                'more_link_path' => '',
5583                'strip_tags' => FALSE,
5584                'trim' => FALSE,
5585                'preserve_tags' => '',
5586                'html' => FALSE,
5587              ],
5588              'element_type' => '',
5589              'element_class' => '',
5590              'element_label_type' => '',
5591              'element_label_class' => '',
5592              'element_label_colon' => TRUE,
5593              'element_wrapper_type' => '',
5594              'element_wrapper_class' => '',
5595              'element_default_classes' => TRUE,
5596              'empty' => '',
5597              'hide_empty' => FALSE,
5598              'empty_zero' => FALSE,
5599              'hide_alter_empty' => TRUE,
5600            ],
5601          ],
5602          'pager' => [
5603            'type' => 'none',
5604            'options' => [
5605              'offset' => 0,
5606            ],
5607          ],
5608          'sorts' => [],
5609          'style' => [
5610            'type' => 'table',
5611            'options' => [
5612              'grouping' => [],
5613              'row_class' => '',
5614              'default_row_class' => TRUE,
5615              'columns' => [
5616                'visitors_hour' => 'visitors_hour',
5617                'visitor_id' => 'visitor_id',
5618              ],
5619              'default' => '-1',
5620              'info' => [
5621                'visitors_hour' => [
5622                  'sortable' => FALSE,
5623                  'default_sort_order' => 'asc',
5624                  'align' => '',
5625                  'separator' => '',
5626                  'empty_column' => FALSE,
5627                  'responsive' => '',
5628                ],
5629                'visitor_id' => [
5630                  'sortable' => TRUE,
5631                  'default_sort_order' => 'desc',
5632                  'align' => 'views-align-right',
5633                  'separator' => '',
5634                  'empty_column' => FALSE,
5635                  'responsive' => '',
5636                ],
5637              ],
5638              'override' => TRUE,
5639              'sticky' => TRUE,
5640              'summary' => '',
5641              'empty_table' => FALSE,
5642              'caption' => 'Your time',
5643              'description' => '',
5644            ],
5645          ],
5646          'row' => [
5647            'type' => 'fields',
5648            'options' => [
5649              'default_field_elements' => TRUE,
5650              'inline' => [],
5651              'separator' => '',
5652              'hide_empty' => FALSE,
5653            ],
5654          ],
5655          'defaults' => [
5656            'title' => FALSE,
5657            'pager' => FALSE,
5658            'style' => FALSE,
5659            'row' => FALSE,
5660            'fields' => FALSE,
5661            'sorts' => FALSE,
5662            'header' => FALSE,
5663            'footer' => FALSE,
5664          ],
5665          'display_description' => '',
5666          'header' => [],
5667          'footer' => [
5668            'visitors_display_link' => [
5669              'id' => 'visitors_display_link',
5670              'table' => 'visitors',
5671              'field' => 'visitors_display_link',
5672              'relationship' => 'none',
5673              'group_type' => 'group',
5674              'admin_label' => '',
5675              'plugin_id' => 'visitors_display_link',
5676              'label' => 'chart',
5677              'empty' => FALSE,
5678              'display_id' => 'hour_column',
5679            ],
5680          ],
5681          'display_extenders' => [],
5682        ],
5683        'cache_metadata' => [
5684          'max-age' => -1,
5685          'contexts' => [
5686            0 => 'languages:language_interface',
5687            1 => 'url.query_args',
5688          ],
5689          'tags' => [],
5690        ],
5691      ],
5692      'language_code_table' => [
5693        'id' => 'language_code_table',
5694        'display_title' => 'Language Code',
5695        'display_plugin' => 'embed',
5696        'position' => 5,
5697        'display_options' => [
5698          'title' => 'Language Code',
5699          'fields' => [
5700            'language' => [
5701              'id' => 'language',
5702              'table' => 'visitors',
5703              'field' => 'language',
5704              'relationship' => 'none',
5705              'group_type' => 'group',
5706              'admin_label' => '',
5707              'plugin_id' => 'visitors_language',
5708              'label' => 'Language',
5709              'exclude' => FALSE,
5710              'alter' => [
5711                'alter_text' => FALSE,
5712                'text' => '',
5713                'make_link' => FALSE,
5714                'path' => '',
5715                'absolute' => FALSE,
5716                'external' => FALSE,
5717                'replace_spaces' => FALSE,
5718                'path_case' => 'none',
5719                'trim_whitespace' => FALSE,
5720                'alt' => '',
5721                'rel' => '',
5722                'link_class' => '',
5723                'prefix' => '',
5724                'suffix' => '',
5725                'target' => '',
5726                'nl2br' => FALSE,
5727                'max_length' => 0,
5728                'word_boundary' => TRUE,
5729                'ellipsis' => TRUE,
5730                'more_link' => FALSE,
5731                'more_link_text' => '',
5732                'more_link_path' => '',
5733                'strip_tags' => FALSE,
5734                'trim' => FALSE,
5735                'preserve_tags' => '',
5736                'html' => FALSE,
5737              ],
5738              'element_type' => '',
5739              'element_class' => '',
5740              'element_label_type' => '',
5741              'element_label_class' => '',
5742              'element_label_colon' => TRUE,
5743              'element_wrapper_type' => '',
5744              'element_wrapper_class' => '',
5745              'element_default_classes' => TRUE,
5746              'empty' => '',
5747              'hide_empty' => FALSE,
5748              'empty_zero' => FALSE,
5749              'hide_alter_empty' => TRUE,
5750              'code' => TRUE,
5751            ],
5752            'visitor_id' => [
5753              'id' => 'visitor_id',
5754              'table' => 'visitors',
5755              'field' => 'visitor_id',
5756              'relationship' => 'none',
5757              'group_type' => 'count_distinct',
5758              'admin_label' => '',
5759              'plugin_id' => 'standard',
5760              'label' => 'Unique visitors',
5761              'exclude' => FALSE,
5762              'alter' => [
5763                'alter_text' => FALSE,
5764                'text' => '',
5765                'make_link' => FALSE,
5766                'path' => '',
5767                'absolute' => FALSE,
5768                'external' => FALSE,
5769                'replace_spaces' => FALSE,
5770                'path_case' => 'none',
5771                'trim_whitespace' => FALSE,
5772                'alt' => '',
5773                'rel' => '',
5774                'link_class' => '',
5775                'prefix' => '',
5776                'suffix' => '',
5777                'target' => '',
5778                'nl2br' => FALSE,
5779                'max_length' => 0,
5780                'word_boundary' => TRUE,
5781                'ellipsis' => TRUE,
5782                'more_link' => FALSE,
5783                'more_link_text' => '',
5784                'more_link_path' => '',
5785                'strip_tags' => FALSE,
5786                'trim' => FALSE,
5787                'preserve_tags' => '',
5788                'html' => FALSE,
5789              ],
5790              'element_type' => '',
5791              'element_class' => '',
5792              'element_label_type' => '',
5793              'element_label_class' => '',
5794              'element_label_colon' => TRUE,
5795              'element_wrapper_type' => '',
5796              'element_wrapper_class' => '',
5797              'element_default_classes' => TRUE,
5798              'empty' => '',
5799              'hide_empty' => FALSE,
5800              'empty_zero' => FALSE,
5801              'hide_alter_empty' => TRUE,
5802            ],
5803          ],
5804          'defaults' => [
5805            'title' => FALSE,
5806            'fields' => FALSE,
5807            'filters' => TRUE,
5808            'filter_groups' => TRUE,
5809            'footer' => FALSE,
5810          ],
5811          'display_description' => '',
5812          'footer' => [
5813            'visitors_display_link' => [
5814              'id' => 'visitors_display_link',
5815              'table' => 'visitors',
5816              'field' => 'visitors_display_link',
5817              'relationship' => 'none',
5818              'group_type' => 'group',
5819              'admin_label' => '',
5820              'plugin_id' => 'visitors_display_link',
5821              'label' => 'Language',
5822              'empty' => FALSE,
5823              'display_id' => 'language_table',
5824            ],
5825          ],
5826          'display_extenders' => [],
5827        ],
5828        'cache_metadata' => [
5829          'max-age' => -1,
5830          'contexts' => [
5831            0 => 'languages:language_interface',
5832            1 => 'url.query_args',
5833          ],
5834          'tags' => [],
5835        ],
5836      ],
5837      'language_table' => [
5838        'id' => 'language_table',
5839        'display_title' => 'Language',
5840        'display_plugin' => 'embed',
5841        'position' => 4,
5842        'display_options' => [
5843          'title' => 'Language',
5844          'fields' => [
5845            'language' => [
5846              'id' => 'language',
5847              'table' => 'visitors',
5848              'field' => 'language',
5849              'relationship' => 'none',
5850              'group_type' => 'group',
5851              'admin_label' => '',
5852              'plugin_id' => 'standard',
5853              'label' => 'Language',
5854              'exclude' => FALSE,
5855              'alter' => [
5856                'alter_text' => FALSE,
5857                'text' => '',
5858                'make_link' => FALSE,
5859                'path' => '',
5860                'absolute' => FALSE,
5861                'external' => FALSE,
5862                'replace_spaces' => FALSE,
5863                'path_case' => 'none',
5864                'trim_whitespace' => FALSE,
5865                'alt' => '',
5866                'rel' => '',
5867                'link_class' => '',
5868                'prefix' => '',
5869                'suffix' => '',
5870                'target' => '',
5871                'nl2br' => FALSE,
5872                'max_length' => 0,
5873                'word_boundary' => TRUE,
5874                'ellipsis' => TRUE,
5875                'more_link' => FALSE,
5876                'more_link_text' => '',
5877                'more_link_path' => '',
5878                'strip_tags' => FALSE,
5879                'trim' => FALSE,
5880                'preserve_tags' => '',
5881                'html' => FALSE,
5882              ],
5883              'element_type' => '',
5884              'element_class' => '',
5885              'element_label_type' => '',
5886              'element_label_class' => '',
5887              'element_label_colon' => TRUE,
5888              'element_wrapper_type' => '',
5889              'element_wrapper_class' => '',
5890              'element_default_classes' => TRUE,
5891              'empty' => '',
5892              'hide_empty' => FALSE,
5893              'empty_zero' => FALSE,
5894              'hide_alter_empty' => TRUE,
5895            ],
5896            'visitor_id' => [
5897              'id' => 'visitor_id',
5898              'table' => 'visitors',
5899              'field' => 'visitor_id',
5900              'relationship' => 'none',
5901              'group_type' => 'count_distinct',
5902              'admin_label' => '',
5903              'plugin_id' => 'standard',
5904              'label' => 'Unique visitors',
5905              'exclude' => FALSE,
5906              'alter' => [
5907                'alter_text' => FALSE,
5908                'text' => '',
5909                'make_link' => FALSE,
5910                'path' => '',
5911                'absolute' => FALSE,
5912                'external' => FALSE,
5913                'replace_spaces' => FALSE,
5914                'path_case' => 'none',
5915                'trim_whitespace' => FALSE,
5916                'alt' => '',
5917                'rel' => '',
5918                'link_class' => '',
5919                'prefix' => '',
5920                'suffix' => '',
5921                'target' => '',
5922                'nl2br' => FALSE,
5923                'max_length' => 0,
5924                'word_boundary' => TRUE,
5925                'ellipsis' => TRUE,
5926                'more_link' => FALSE,
5927                'more_link_text' => '',
5928                'more_link_path' => '',
5929                'strip_tags' => FALSE,
5930                'trim' => FALSE,
5931                'preserve_tags' => '',
5932                'html' => FALSE,
5933              ],
5934              'element_type' => '',
5935              'element_class' => '',
5936              'element_label_type' => '',
5937              'element_label_class' => '',
5938              'element_label_colon' => TRUE,
5939              'element_wrapper_type' => '',
5940              'element_wrapper_class' => '',
5941              'element_default_classes' => TRUE,
5942              'empty' => '',
5943              'hide_empty' => FALSE,
5944              'empty_zero' => FALSE,
5945              'hide_alter_empty' => TRUE,
5946            ],
5947          ],
5948          'defaults' => [
5949            'title' => FALSE,
5950            'fields' => FALSE,
5951            'filters' => TRUE,
5952            'filter_groups' => TRUE,
5953            'footer' => FALSE,
5954          ],
5955          'display_description' => '',
5956          'footer' => [
5957            'visitors_display_link' => [
5958              'id' => 'visitors_display_link',
5959              'table' => 'visitors',
5960              'field' => 'visitors_display_link',
5961              'relationship' => 'none',
5962              'group_type' => 'group',
5963              'admin_label' => '',
5964              'plugin_id' => 'visitors_display_link',
5965              'label' => 'Language Code',
5966              'empty' => FALSE,
5967              'display_id' => 'language_code_table',
5968            ],
5969          ],
5970          'display_extenders' => [],
5971        ],
5972        'cache_metadata' => [
5973          'max-age' => -1,
5974          'contexts' => [
5975            0 => 'languages:language_interface',
5976            1 => 'url.query_args',
5977          ],
5978          'tags' => [],
5979        ],
5980      ],
5981      'local_hour_column' => [
5982        'id' => 'local_hour_column',
5983        'display_title' => 'Local Column',
5984        'display_plugin' => 'embed',
5985        'position' => 22,
5986        'display_options' => [
5987          'fields' => [
5988            'visitor_localtime' => [
5989              'id' => 'visitor_localtime',
5990              'table' => 'visitors',
5991              'field' => 'visitor_localtime',
5992              'relationship' => 'none',
5993              'group_type' => 'group',
5994              'admin_label' => '',
5995              'plugin_id' => 'visitors_local_hour',
5996              'label' => 'Hour',
5997              'exclude' => FALSE,
5998              'alter' => [
5999                'alter_text' => FALSE,
6000                'text' => '',
6001                'make_link' => FALSE,
6002                'path' => '',
6003                'absolute' => FALSE,
6004                'external' => FALSE,
6005                'replace_spaces' => FALSE,
6006                'path_case' => 'none',
6007                'trim_whitespace' => FALSE,
6008                'alt' => '',
6009                'rel' => '',
6010                'link_class' => '',
6011                'prefix' => '',
6012                'suffix' => '',
6013                'target' => '',
6014                'nl2br' => FALSE,
6015                'max_length' => 0,
6016                'word_boundary' => TRUE,
6017                'ellipsis' => TRUE,
6018                'more_link' => FALSE,
6019                'more_link_text' => '',
6020                'more_link_path' => '',
6021                'strip_tags' => FALSE,
6022                'trim' => FALSE,
6023                'preserve_tags' => '',
6024                'html' => FALSE,
6025              ],
6026              'element_type' => '',
6027              'element_class' => '',
6028              'element_label_type' => '',
6029              'element_label_class' => '',
6030              'element_label_colon' => TRUE,
6031              'element_wrapper_type' => '',
6032              'element_wrapper_class' => '',
6033              'element_default_classes' => TRUE,
6034              'empty' => '',
6035              'hide_empty' => FALSE,
6036              'empty_zero' => FALSE,
6037              'hide_alter_empty' => TRUE,
6038            ],
6039            'visitor_id' => [
6040              'id' => 'visitor_id',
6041              'table' => 'visitors',
6042              'field' => 'visitor_id',
6043              'relationship' => 'none',
6044              'group_type' => 'count_distinct',
6045              'admin_label' => '',
6046              'plugin_id' => 'standard',
6047              'label' => 'Unique visitors',
6048              'exclude' => FALSE,
6049              'alter' => [
6050                'alter_text' => FALSE,
6051                'text' => '',
6052                'make_link' => FALSE,
6053                'path' => '',
6054                'absolute' => FALSE,
6055                'external' => FALSE,
6056                'replace_spaces' => FALSE,
6057                'path_case' => 'none',
6058                'trim_whitespace' => FALSE,
6059                'alt' => '',
6060                'rel' => '',
6061                'link_class' => '',
6062                'prefix' => '',
6063                'suffix' => '',
6064                'target' => '',
6065                'nl2br' => FALSE,
6066                'max_length' => 0,
6067                'word_boundary' => TRUE,
6068                'ellipsis' => TRUE,
6069                'more_link' => FALSE,
6070                'more_link_text' => '',
6071                'more_link_path' => '',
6072                'strip_tags' => FALSE,
6073                'trim' => FALSE,
6074                'preserve_tags' => '',
6075                'html' => FALSE,
6076              ],
6077              'element_type' => '',
6078              'element_class' => '',
6079              'element_label_type' => '',
6080              'element_label_class' => '',
6081              'element_label_colon' => TRUE,
6082              'element_wrapper_type' => '',
6083              'element_wrapper_class' => '',
6084              'element_default_classes' => TRUE,
6085              'empty' => '',
6086              'hide_empty' => FALSE,
6087              'empty_zero' => FALSE,
6088              'hide_alter_empty' => TRUE,
6089            ],
6090          ],
6091          'pager' => [
6092            'type' => 'none',
6093            'options' => [
6094              'offset' => 0,
6095            ],
6096          ],
6097          'sorts' => [],
6098          'style' => [
6099            'type' => 'chart',
6100            'options' => [
6101              'grouping' => [],
6102              'chart_settings' => [
6103                'library' => 'chartjs',
6104                'type' => 'column',
6105                'fields' => [
6106                  'label' => 'visitor_localtime',
6107                  'stacking' => FALSE,
6108                  'data_providers' => [
6109                    'visitor_localtime' => [
6110                      'enabled' => FALSE,
6111                      'color' => '#000000',
6112                      'weight' => 2,
6113                    ],
6114                    'visitor_id' => [
6115                      'enabled' => TRUE,
6116                      'color' => '#0277bd',
6117                      'weight' => 2,
6118                    ],
6119                  ],
6120                ],
6121                'display' => [
6122                  'title' => 'Visitor\'s time',
6123                  'title_position' => '',
6124                  'subtitle' => '',
6125                  'data_labels' => FALSE,
6126                  'data_markers' => TRUE,
6127                  'legend_position' => '',
6128                  'background' => '',
6129                  'three_dimensional' => 0,
6130                  'polar' => 0,
6131                  'tooltips' => TRUE,
6132                  'dimensions' => [
6133                    'width' => '',
6134                    'width_units' => '',
6135                    'height' => '',
6136                    'height_units' => '',
6137                  ],
6138                  'gauge' => [
6139                    'max' => '',
6140                    'min' => '',
6141                    'green_from' => '',
6142                    'green_to' => '',
6143                    'yellow_from' => '',
6144                    'yellow_to' => '',
6145                    'red_from' => '',
6146                    'red_to' => '',
6147                  ],
6148                  'color_changer' => FALSE,
6149                ],
6150                'xaxis' => [
6151                  'title' => '',
6152                  'labels_rotation' => '0',
6153                ],
6154                'yaxis' => [
6155                  'title' => '',
6156                  'min' => '',
6157                  'max' => '',
6158                  'prefix' => '',
6159                  'suffix' => '',
6160                  'decimal_count' => '0',
6161                  'labels_rotation' => '0',
6162                ],
6163              ],
6164            ],
6165          ],
6166          'row' => [
6167            'type' => 'fields',
6168            'options' => [
6169              'default_field_elements' => TRUE,
6170              'inline' => [],
6171              'separator' => '',
6172              'hide_empty' => FALSE,
6173            ],
6174          ],
6175          'defaults' => [
6176            'pager' => FALSE,
6177            'style' => FALSE,
6178            'row' => FALSE,
6179            'fields' => FALSE,
6180            'sorts' => FALSE,
6181            'header' => FALSE,
6182            'footer' => FALSE,
6183          ],
6184          'display_description' => '',
6185          'header' => [],
6186          'footer' => [
6187            'visitors_display_link' => [
6188              'id' => 'visitors_display_link',
6189              'table' => 'visitors',
6190              'field' => 'visitors_display_link',
6191              'relationship' => 'none',
6192              'group_type' => 'group',
6193              'admin_label' => '',
6194              'plugin_id' => 'visitors_display_link',
6195              'label' => 'table',
6196              'empty' => FALSE,
6197              'display_id' => 'local_hour_table',
6198            ],
6199          ],
6200          'display_extenders' => [],
6201        ],
6202        'cache_metadata' => [
6203          'max-age' => -1,
6204          'contexts' => [
6205            0 => 'languages:language_interface',
6206          ],
6207          'tags' => [],
6208        ],
6209      ],
6210      'local_hour_table' => [
6211        'id' => 'local_hour_table',
6212        'display_title' => 'Local Table',
6213        'display_plugin' => 'embed',
6214        'position' => 22,
6215        'display_options' => [
6216          'title' => 'Visitor\'s time',
6217          'fields' => [
6218            'visitor_localtime' => [
6219              'id' => 'visitor_localtime',
6220              'table' => 'visitors',
6221              'field' => 'visitor_localtime',
6222              'relationship' => 'none',
6223              'group_type' => 'group',
6224              'admin_label' => '',
6225              'plugin_id' => 'visitors_local_hour',
6226              'label' => 'Hour',
6227              'exclude' => FALSE,
6228              'alter' => [
6229                'alter_text' => FALSE,
6230                'text' => '',
6231                'make_link' => FALSE,
6232                'path' => '',
6233                'absolute' => FALSE,
6234                'external' => FALSE,
6235                'replace_spaces' => FALSE,
6236                'path_case' => 'none',
6237                'trim_whitespace' => FALSE,
6238                'alt' => '',
6239                'rel' => '',
6240                'link_class' => '',
6241                'prefix' => '',
6242                'suffix' => '',
6243                'target' => '',
6244                'nl2br' => FALSE,
6245                'max_length' => 0,
6246                'word_boundary' => TRUE,
6247                'ellipsis' => TRUE,
6248                'more_link' => FALSE,
6249                'more_link_text' => '',
6250                'more_link_path' => '',
6251                'strip_tags' => FALSE,
6252                'trim' => FALSE,
6253                'preserve_tags' => '',
6254                'html' => FALSE,
6255              ],
6256              'element_type' => '',
6257              'element_class' => '',
6258              'element_label_type' => '',
6259              'element_label_class' => '',
6260              'element_label_colon' => TRUE,
6261              'element_wrapper_type' => '',
6262              'element_wrapper_class' => '',
6263              'element_default_classes' => TRUE,
6264              'empty' => '',
6265              'hide_empty' => FALSE,
6266              'empty_zero' => FALSE,
6267              'hide_alter_empty' => TRUE,
6268            ],
6269            'visitor_id' => [
6270              'id' => 'visitor_id',
6271              'table' => 'visitors',
6272              'field' => 'visitor_id',
6273              'relationship' => 'none',
6274              'group_type' => 'count_distinct',
6275              'admin_label' => '',
6276              'plugin_id' => 'standard',
6277              'label' => 'Unique visitors',
6278              'exclude' => FALSE,
6279              'alter' => [
6280                'alter_text' => FALSE,
6281                'text' => '',
6282                'make_link' => FALSE,
6283                'path' => '',
6284                'absolute' => FALSE,
6285                'external' => FALSE,
6286                'replace_spaces' => FALSE,
6287                'path_case' => 'none',
6288                'trim_whitespace' => FALSE,
6289                'alt' => '',
6290                'rel' => '',
6291                'link_class' => '',
6292                'prefix' => '',
6293                'suffix' => '',
6294                'target' => '',
6295                'nl2br' => FALSE,
6296                'max_length' => 0,
6297                'word_boundary' => TRUE,
6298                'ellipsis' => TRUE,
6299                'more_link' => FALSE,
6300                'more_link_text' => '',
6301                'more_link_path' => '',
6302                'strip_tags' => FALSE,
6303                'trim' => FALSE,
6304                'preserve_tags' => '',
6305                'html' => FALSE,
6306              ],
6307              'element_type' => '',
6308              'element_class' => '',
6309              'element_label_type' => '',
6310              'element_label_class' => '',
6311              'element_label_colon' => TRUE,
6312              'element_wrapper_type' => '',
6313              'element_wrapper_class' => '',
6314              'element_default_classes' => TRUE,
6315              'empty' => '',
6316              'hide_empty' => FALSE,
6317              'empty_zero' => FALSE,
6318              'hide_alter_empty' => TRUE,
6319            ],
6320          ],
6321          'pager' => [
6322            'type' => 'none',
6323            'options' => [
6324              'offset' => 0,
6325            ],
6326          ],
6327          'sorts' => [],
6328          'style' => [
6329            'type' => 'table',
6330            'options' => [
6331              'grouping' => [],
6332              'row_class' => '',
6333              'default_row_class' => TRUE,
6334              'columns' => [
6335                'visitor_localtime' => 'visitor_localtime',
6336                'visitor_id' => 'visitor_id',
6337              ],
6338              'default' => '-1',
6339              'info' => [
6340                'visitor_localtime' => [
6341                  'sortable' => FALSE,
6342                  'default_sort_order' => 'asc',
6343                  'align' => '',
6344                  'separator' => '',
6345                  'empty_column' => FALSE,
6346                  'responsive' => '',
6347                ],
6348                'visitor_id' => [
6349                  'sortable' => TRUE,
6350                  'default_sort_order' => 'desc',
6351                  'align' => 'views-align-right',
6352                  'separator' => '',
6353                  'empty_column' => FALSE,
6354                  'responsive' => '',
6355                ],
6356              ],
6357              'override' => TRUE,
6358              'sticky' => TRUE,
6359              'summary' => '',
6360              'empty_table' => FALSE,
6361              'caption' => 'Visitor\'s time',
6362              'description' => '',
6363            ],
6364          ],
6365          'row' => [
6366            'type' => 'fields',
6367            'options' => [
6368              'default_field_elements' => TRUE,
6369              'inline' => [],
6370              'separator' => '',
6371              'hide_empty' => FALSE,
6372            ],
6373          ],
6374          'defaults' => [
6375            'title' => FALSE,
6376            'pager' => FALSE,
6377            'style' => FALSE,
6378            'row' => FALSE,
6379            'fields' => FALSE,
6380            'sorts' => FALSE,
6381            'header' => FALSE,
6382            'footer' => FALSE,
6383          ],
6384          'display_description' => '',
6385          'header' => [],
6386          'footer' => [
6387            'visitors_display_link' => [
6388              'id' => 'visitors_display_link',
6389              'table' => 'visitors',
6390              'field' => 'visitors_display_link',
6391              'relationship' => 'none',
6392              'group_type' => 'group',
6393              'admin_label' => '',
6394              'plugin_id' => 'visitors_display_link',
6395              'label' => 'chart',
6396              'empty' => FALSE,
6397              'display_id' => 'local_hour_column',
6398            ],
6399          ],
6400          'display_extenders' => [],
6401        ],
6402        'cache_metadata' => [
6403          'max-age' => -1,
6404          'contexts' => [
6405            0 => 'languages:language_interface',
6406            1 => 'url.query_args',
6407          ],
6408          'tags' => [],
6409        ],
6410      ],
6411      'monthly_column' => [
6412        'id' => 'monthly_column',
6413        'display_title' => 'Monthly Column',
6414        'display_plugin' => 'embed',
6415        'position' => 26,
6416        'display_options' => [
6417          'fields' => [
6418            'visitors_month' => [
6419              'id' => 'visitors_month',
6420              'table' => 'visitors',
6421              'field' => 'visitors_month',
6422              'relationship' => 'none',
6423              'group_type' => 'group',
6424              'admin_label' => '',
6425              'plugin_id' => 'visitors_month',
6426              'label' => 'Month',
6427              'exclude' => FALSE,
6428              'alter' => [
6429                'alter_text' => FALSE,
6430                'text' => '',
6431                'make_link' => FALSE,
6432                'path' => '',
6433                'absolute' => FALSE,
6434                'external' => FALSE,
6435                'replace_spaces' => FALSE,
6436                'path_case' => 'none',
6437                'trim_whitespace' => FALSE,
6438                'alt' => '',
6439                'rel' => '',
6440                'link_class' => '',
6441                'prefix' => '',
6442                'suffix' => '',
6443                'target' => '',
6444                'nl2br' => FALSE,
6445                'max_length' => 0,
6446                'word_boundary' => TRUE,
6447                'ellipsis' => TRUE,
6448                'more_link' => FALSE,
6449                'more_link_text' => '',
6450                'more_link_path' => '',
6451                'strip_tags' => FALSE,
6452                'trim' => FALSE,
6453                'preserve_tags' => '',
6454                'html' => FALSE,
6455              ],
6456              'element_type' => '',
6457              'element_class' => '',
6458              'element_label_type' => '',
6459              'element_label_class' => '',
6460              'element_label_colon' => TRUE,
6461              'element_wrapper_type' => '',
6462              'element_wrapper_class' => '',
6463              'element_default_classes' => TRUE,
6464              'empty' => '',
6465              'hide_empty' => FALSE,
6466              'empty_zero' => FALSE,
6467              'hide_alter_empty' => TRUE,
6468            ],
6469            'visitor_id' => [
6470              'id' => 'visitor_id',
6471              'table' => 'visitors',
6472              'field' => 'visitor_id',
6473              'relationship' => 'none',
6474              'group_type' => 'count_distinct',
6475              'admin_label' => '',
6476              'plugin_id' => 'standard',
6477              'label' => 'Unique visitors',
6478              'exclude' => FALSE,
6479              'alter' => [
6480                'alter_text' => FALSE,
6481                'text' => '',
6482                'make_link' => FALSE,
6483                'path' => '',
6484                'absolute' => FALSE,
6485                'external' => FALSE,
6486                'replace_spaces' => FALSE,
6487                'path_case' => 'none',
6488                'trim_whitespace' => FALSE,
6489                'alt' => '',
6490                'rel' => '',
6491                'link_class' => '',
6492                'prefix' => '',
6493                'suffix' => '',
6494                'target' => '',
6495                'nl2br' => FALSE,
6496                'max_length' => 0,
6497                'word_boundary' => TRUE,
6498                'ellipsis' => TRUE,
6499                'more_link' => FALSE,
6500                'more_link_text' => '',
6501                'more_link_path' => '',
6502                'strip_tags' => FALSE,
6503                'trim' => FALSE,
6504                'preserve_tags' => '',
6505                'html' => FALSE,
6506              ],
6507              'element_type' => '',
6508              'element_class' => '',
6509              'element_label_type' => '',
6510              'element_label_class' => '',
6511              'element_label_colon' => TRUE,
6512              'element_wrapper_type' => '',
6513              'element_wrapper_class' => '',
6514              'element_default_classes' => TRUE,
6515              'empty' => '',
6516              'hide_empty' => FALSE,
6517              'empty_zero' => FALSE,
6518              'hide_alter_empty' => TRUE,
6519            ],
6520          ],
6521          'sorts' => [],
6522          'style' => [
6523            'type' => 'chart',
6524            'options' => [
6525              'grouping' => [],
6526              'chart_settings' => [
6527                'library' => 'chartjs',
6528                'type' => 'column',
6529                'fields' => [
6530                  'label' => 'visitors_month',
6531                  'stacking' => FALSE,
6532                  'data_providers' => [
6533                    'visitors_month' => [
6534                      'enabled' => FALSE,
6535                      'color' => '#000000',
6536                      'weight' => 2,
6537                    ],
6538                    'visitor_id' => [
6539                      'enabled' => TRUE,
6540                      'color' => '#0277bd',
6541                      'weight' => 2,
6542                    ],
6543                  ],
6544                ],
6545                'display' => [
6546                  'title' => 'Monthly',
6547                  'title_position' => 'top',
6548                  'subtitle' => '',
6549                  'data_labels' => FALSE,
6550                  'data_markers' => TRUE,
6551                  'legend_position' => '',
6552                  'background' => '',
6553                  'three_dimensional' => 0,
6554                  'polar' => 0,
6555                  'tooltips' => TRUE,
6556                  'dimensions' => [
6557                    'width' => '',
6558                    'width_units' => '',
6559                    'height' => '',
6560                    'height_units' => '',
6561                  ],
6562                  'gauge' => [
6563                    'max' => '',
6564                    'min' => '',
6565                    'green_from' => '',
6566                    'green_to' => '',
6567                    'yellow_from' => '',
6568                    'yellow_to' => '',
6569                    'red_from' => '',
6570                    'red_to' => '',
6571                  ],
6572                  'color_changer' => FALSE,
6573                ],
6574                'xaxis' => [
6575                  'title' => '',
6576                  'labels_rotation' => '0',
6577                ],
6578                'yaxis' => [
6579                  'title' => '',
6580                  'min' => '',
6581                  'max' => '',
6582                  'prefix' => '',
6583                  'suffix' => '',
6584                  'decimal_count' => '',
6585                  'labels_rotation' => '0',
6586                ],
6587              ],
6588            ],
6589          ],
6590          'row' => [
6591            'type' => 'fields',
6592            'options' => [
6593              'default_field_elements' => TRUE,
6594              'inline' => [],
6595              'separator' => '',
6596              'hide_empty' => FALSE,
6597            ],
6598          ],
6599          'defaults' => [
6600            'style' => FALSE,
6601            'row' => FALSE,
6602            'fields' => FALSE,
6603            'sorts' => FALSE,
6604            'header' => FALSE,
6605            'footer' => FALSE,
6606          ],
6607          'display_description' => '',
6608          'header' => [],
6609          'footer' => [
6610            'visitors_display_link' => [
6611              'id' => 'visitors_display_link',
6612              'table' => 'visitors',
6613              'field' => 'visitors_display_link',
6614              'relationship' => 'none',
6615              'group_type' => 'group',
6616              'admin_label' => '',
6617              'plugin_id' => 'visitors_display_link',
6618              'label' => 'table',
6619              'empty' => FALSE,
6620              'display_id' => 'monthly_table',
6621            ],
6622          ],
6623          'display_extenders' => [],
6624        ],
6625        'cache_metadata' => [
6626          'max-age' => -1,
6627          'contexts' => [
6628            0 => 'languages:language_interface',
6629            1 => 'url.query_args',
6630          ],
6631          'tags' => [],
6632        ],
6633      ],
6634      'monthly_table' => [
6635        'id' => 'monthly_table',
6636        'display_title' => 'Monthly Table',
6637        'display_plugin' => 'embed',
6638        'position' => 26,
6639        'display_options' => [
6640          'title' => 'Monthly',
6641          'fields' => [
6642            'visitors_month' => [
6643              'id' => 'visitors_month',
6644              'table' => 'visitors',
6645              'field' => 'visitors_month',
6646              'relationship' => 'none',
6647              'group_type' => 'group',
6648              'admin_label' => '',
6649              'plugin_id' => 'visitors_month',
6650              'label' => 'Month',
6651              'exclude' => FALSE,
6652              'alter' => [
6653                'alter_text' => FALSE,
6654                'text' => '',
6655                'make_link' => FALSE,
6656                'path' => '',
6657                'absolute' => FALSE,
6658                'external' => FALSE,
6659                'replace_spaces' => FALSE,
6660                'path_case' => 'none',
6661                'trim_whitespace' => FALSE,
6662                'alt' => '',
6663                'rel' => '',
6664                'link_class' => '',
6665                'prefix' => '',
6666                'suffix' => '',
6667                'target' => '',
6668                'nl2br' => FALSE,
6669                'max_length' => 0,
6670                'word_boundary' => TRUE,
6671                'ellipsis' => TRUE,
6672                'more_link' => FALSE,
6673                'more_link_text' => '',
6674                'more_link_path' => '',
6675                'strip_tags' => FALSE,
6676                'trim' => FALSE,
6677                'preserve_tags' => '',
6678                'html' => FALSE,
6679              ],
6680              'element_type' => '',
6681              'element_class' => '',
6682              'element_label_type' => '',
6683              'element_label_class' => '',
6684              'element_label_colon' => TRUE,
6685              'element_wrapper_type' => '',
6686              'element_wrapper_class' => '',
6687              'element_default_classes' => TRUE,
6688              'empty' => '',
6689              'hide_empty' => FALSE,
6690              'empty_zero' => FALSE,
6691              'hide_alter_empty' => TRUE,
6692            ],
6693            'visitor_id' => [
6694              'id' => 'visitor_id',
6695              'table' => 'visitors',
6696              'field' => 'visitor_id',
6697              'relationship' => 'none',
6698              'group_type' => 'count_distinct',
6699              'admin_label' => '',
6700              'plugin_id' => 'standard',
6701              'label' => 'Unique visitors',
6702              'exclude' => FALSE,
6703              'alter' => [
6704                'alter_text' => FALSE,
6705                'text' => '',
6706                'make_link' => FALSE,
6707                'path' => '',
6708                'absolute' => FALSE,
6709                'external' => FALSE,
6710                'replace_spaces' => FALSE,
6711                'path_case' => 'none',
6712                'trim_whitespace' => FALSE,
6713                'alt' => '',
6714                'rel' => '',
6715                'link_class' => '',
6716                'prefix' => '',
6717                'suffix' => '',
6718                'target' => '',
6719                'nl2br' => FALSE,
6720                'max_length' => 0,
6721                'word_boundary' => TRUE,
6722                'ellipsis' => TRUE,
6723                'more_link' => FALSE,
6724                'more_link_text' => '',
6725                'more_link_path' => '',
6726                'strip_tags' => FALSE,
6727                'trim' => FALSE,
6728                'preserve_tags' => '',
6729                'html' => FALSE,
6730              ],
6731              'element_type' => '',
6732              'element_class' => '',
6733              'element_label_type' => '',
6734              'element_label_class' => '',
6735              'element_label_colon' => TRUE,
6736              'element_wrapper_type' => '',
6737              'element_wrapper_class' => '',
6738              'element_default_classes' => TRUE,
6739              'empty' => '',
6740              'hide_empty' => FALSE,
6741              'empty_zero' => FALSE,
6742              'hide_alter_empty' => TRUE,
6743            ],
6744          ],
6745          'sorts' => [],
6746          'style' => [
6747            'type' => 'table',
6748            'options' => [
6749              'grouping' => [],
6750              'row_class' => '',
6751              'default_row_class' => TRUE,
6752              'columns' => [
6753                'visitors_month' => 'visitors_month',
6754                'visitor_id' => 'visitor_id',
6755              ],
6756              'default' => '-1',
6757              'info' => [
6758                'visitors_month' => [
6759                  'sortable' => FALSE,
6760                  'default_sort_order' => 'asc',
6761                  'align' => '',
6762                  'separator' => '',
6763                  'empty_column' => FALSE,
6764                  'responsive' => '',
6765                ],
6766                'visitor_id' => [
6767                  'sortable' => TRUE,
6768                  'default_sort_order' => 'desc',
6769                  'align' => 'views-align-right',
6770                  'separator' => '',
6771                  'empty_column' => FALSE,
6772                  'responsive' => '',
6773                ],
6774              ],
6775              'override' => TRUE,
6776              'sticky' => TRUE,
6777              'summary' => '',
6778              'empty_table' => FALSE,
6779              'caption' => 'Monthly',
6780              'description' => '',
6781            ],
6782          ],
6783          'row' => [
6784            'type' => 'fields',
6785            'options' => [
6786              'default_field_elements' => TRUE,
6787              'inline' => [],
6788              'separator' => '',
6789              'hide_empty' => FALSE,
6790            ],
6791          ],
6792          'defaults' => [
6793            'title' => FALSE,
6794            'style' => FALSE,
6795            'row' => FALSE,
6796            'fields' => FALSE,
6797            'sorts' => FALSE,
6798            'header' => FALSE,
6799            'footer' => FALSE,
6800          ],
6801          'display_description' => '',
6802          'header' => [],
6803          'footer' => [
6804            'visitors_display_link' => [
6805              'id' => 'visitors_display_link',
6806              'table' => 'visitors',
6807              'field' => 'visitors_display_link',
6808              'relationship' => 'none',
6809              'group_type' => 'group',
6810              'admin_label' => '',
6811              'plugin_id' => 'visitors_display_link',
6812              'label' => 'chart',
6813              'empty' => FALSE,
6814              'display_id' => 'monthly_column',
6815            ],
6816          ],
6817          'display_extenders' => [],
6818        ],
6819        'cache_metadata' => [
6820          'max-age' => -1,
6821          'contexts' => [
6822            0 => 'languages:language_interface',
6823            1 => 'url.query_args',
6824          ],
6825          'tags' => [],
6826        ],
6827      ],
6828      'os_family_table' => [
6829        'id' => 'os_family_table',
6830        'display_title' => 'OS Family',
6831        'display_plugin' => 'embed',
6832        'position' => 14,
6833        'display_options' => [
6834          'title' => 'OS Family',
6835          'fields' => [
6836            'config_os' => [
6837              'id' => 'config_os',
6838              'table' => 'visitors',
6839              'field' => 'config_os',
6840              'relationship' => 'none',
6841              'group_type' => 'group',
6842              'admin_label' => '',
6843              'plugin_id' => 'visitors_operating_system',
6844              'label' => 'Operating System families',
6845              'exclude' => FALSE,
6846              'alter' => [
6847                'alter_text' => FALSE,
6848                'text' => '',
6849                'make_link' => FALSE,
6850                'path' => '',
6851                'absolute' => FALSE,
6852                'external' => FALSE,
6853                'replace_spaces' => FALSE,
6854                'path_case' => 'none',
6855                'trim_whitespace' => FALSE,
6856                'alt' => '',
6857                'rel' => '',
6858                'link_class' => '',
6859                'prefix' => '',
6860                'suffix' => '',
6861                'target' => '',
6862                'nl2br' => FALSE,
6863                'max_length' => 0,
6864                'word_boundary' => TRUE,
6865                'ellipsis' => TRUE,
6866                'more_link' => FALSE,
6867                'more_link_text' => '',
6868                'more_link_path' => '',
6869                'strip_tags' => FALSE,
6870                'trim' => FALSE,
6871                'preserve_tags' => '',
6872                'html' => FALSE,
6873              ],
6874              'element_type' => '',
6875              'element_class' => '',
6876              'element_label_type' => '',
6877              'element_label_class' => '',
6878              'element_label_colon' => TRUE,
6879              'element_wrapper_type' => '',
6880              'element_wrapper_class' => '',
6881              'element_default_classes' => TRUE,
6882              'empty' => '',
6883              'hide_empty' => FALSE,
6884              'empty_zero' => FALSE,
6885              'hide_alter_empty' => TRUE,
6886              'icon' => TRUE,
6887            ],
6888            'visitor_id' => [
6889              'id' => 'visitor_id',
6890              'table' => 'visitors',
6891              'field' => 'visitor_id',
6892              'relationship' => 'none',
6893              'group_type' => 'count_distinct',
6894              'admin_label' => '',
6895              'plugin_id' => 'standard',
6896              'label' => 'Unique visitors',
6897              'exclude' => FALSE,
6898              'alter' => [
6899                'alter_text' => FALSE,
6900                'text' => '',
6901                'make_link' => FALSE,
6902                'path' => '',
6903                'absolute' => FALSE,
6904                'external' => FALSE,
6905                'replace_spaces' => FALSE,
6906                'path_case' => 'none',
6907                'trim_whitespace' => FALSE,
6908                'alt' => '',
6909                'rel' => '',
6910                'link_class' => '',
6911                'prefix' => '',
6912                'suffix' => '',
6913                'target' => '',
6914                'nl2br' => FALSE,
6915                'max_length' => 0,
6916                'word_boundary' => TRUE,
6917                'ellipsis' => TRUE,
6918                'more_link' => FALSE,
6919                'more_link_text' => '',
6920                'more_link_path' => '',
6921                'strip_tags' => FALSE,
6922                'trim' => FALSE,
6923                'preserve_tags' => '',
6924                'html' => FALSE,
6925              ],
6926              'element_type' => '',
6927              'element_class' => '',
6928              'element_label_type' => '',
6929              'element_label_class' => '',
6930              'element_label_colon' => TRUE,
6931              'element_wrapper_type' => '',
6932              'element_wrapper_class' => '',
6933              'element_default_classes' => TRUE,
6934              'empty' => '',
6935              'hide_empty' => FALSE,
6936              'empty_zero' => FALSE,
6937              'hide_alter_empty' => TRUE,
6938            ],
6939          ],
6940          'defaults' => [
6941            'title' => FALSE,
6942            'fields' => FALSE,
6943            'footer' => FALSE,
6944          ],
6945          'display_description' => '',
6946          'footer' => [
6947            'visitors_display_link' => [
6948              'id' => 'visitors_display_link',
6949              'table' => 'visitors',
6950              'field' => 'visitors_display_link',
6951              'relationship' => 'none',
6952              'group_type' => 'group',
6953              'admin_label' => '',
6954              'plugin_id' => 'visitors_display_link',
6955              'label' => 'Operating System versions',
6956              'empty' => FALSE,
6957              'display_id' => 'os_version_table',
6958            ],
6959          ],
6960          'display_extenders' => [],
6961        ],
6962        'cache_metadata' => [
6963          'max-age' => -1,
6964          'contexts' => [
6965            0 => 'languages:language_interface',
6966            1 => 'url.query_args',
6967          ],
6968          'tags' => [],
6969        ],
6970      ],
6971      'os_version_table' => [
6972        'id' => 'os_version_table',
6973        'display_title' => 'OS Version',
6974        'display_plugin' => 'embed',
6975        'position' => 15,
6976        'display_options' => [
6977          'title' => 'OS Version',
6978          'fields' => [
6979            'config_os_version' => [
6980              'id' => 'config_os_version',
6981              'table' => 'visitors',
6982              'field' => 'config_os_version',
6983              'relationship' => 'none',
6984              'group_type' => 'group',
6985              'admin_label' => '',
6986              'plugin_id' => 'standard',
6987              'label' => 'OS version',
6988              'exclude' => TRUE,
6989              'alter' => [
6990                'alter_text' => FALSE,
6991                'text' => '',
6992                'make_link' => FALSE,
6993                'path' => '',
6994                'absolute' => FALSE,
6995                'external' => FALSE,
6996                'replace_spaces' => FALSE,
6997                'path_case' => 'none',
6998                'trim_whitespace' => FALSE,
6999                'alt' => '',
7000                'rel' => '',
7001                'link_class' => '',
7002                'prefix' => '',
7003                'suffix' => '',
7004                'target' => '',
7005                'nl2br' => FALSE,
7006                'max_length' => 0,
7007                'word_boundary' => TRUE,
7008                'ellipsis' => TRUE,
7009                'more_link' => FALSE,
7010                'more_link_text' => '',
7011                'more_link_path' => '',
7012                'strip_tags' => FALSE,
7013                'trim' => FALSE,
7014                'preserve_tags' => '',
7015                'html' => FALSE,
7016              ],
7017              'element_type' => '',
7018              'element_class' => '',
7019              'element_label_type' => '',
7020              'element_label_class' => '',
7021              'element_label_colon' => TRUE,
7022              'element_wrapper_type' => '',
7023              'element_wrapper_class' => '',
7024              'element_default_classes' => TRUE,
7025              'empty' => 'Unknown',
7026              'hide_empty' => FALSE,
7027              'empty_zero' => FALSE,
7028              'hide_alter_empty' => TRUE,
7029            ],
7030            'config_os' => [
7031              'id' => 'config_os',
7032              'table' => 'visitors',
7033              'field' => 'config_os',
7034              'relationship' => 'none',
7035              'group_type' => 'group',
7036              'admin_label' => '',
7037              'plugin_id' => 'visitors_operating_system',
7038              'label' => 'Operating System',
7039              'exclude' => FALSE,
7040              'alter' => [
7041                'alter_text' => TRUE,
7042                'text' => '{{ config_os }}  {{ config_os_version }}',
7043                'make_link' => FALSE,
7044                'path' => '',
7045                'absolute' => FALSE,
7046                'external' => FALSE,
7047                'replace_spaces' => FALSE,
7048                'path_case' => 'none',
7049                'trim_whitespace' => FALSE,
7050                'alt' => '',
7051                'rel' => '',
7052                'link_class' => '',
7053                'prefix' => '',
7054                'suffix' => '',
7055                'target' => '',
7056                'nl2br' => FALSE,
7057                'max_length' => 0,
7058                'word_boundary' => TRUE,
7059                'ellipsis' => TRUE,
7060                'more_link' => FALSE,
7061                'more_link_text' => '',
7062                'more_link_path' => '',
7063                'strip_tags' => FALSE,
7064                'trim' => FALSE,
7065                'preserve_tags' => '',
7066                'html' => FALSE,
7067              ],
7068              'element_type' => '',
7069              'element_class' => '',
7070              'element_label_type' => '',
7071              'element_label_class' => '',
7072              'element_label_colon' => TRUE,
7073              'element_wrapper_type' => '',
7074              'element_wrapper_class' => '',
7075              'element_default_classes' => TRUE,
7076              'empty' => '',
7077              'hide_empty' => FALSE,
7078              'empty_zero' => FALSE,
7079              'hide_alter_empty' => TRUE,
7080              'icon' => TRUE,
7081            ],
7082            'visitor_id' => [
7083              'id' => 'visitor_id',
7084              'table' => 'visitors',
7085              'field' => 'visitor_id',
7086              'relationship' => 'none',
7087              'group_type' => 'count_distinct',
7088              'admin_label' => '',
7089              'plugin_id' => 'standard',
7090              'label' => 'Unique visitors',
7091              'exclude' => FALSE,
7092              'alter' => [
7093                'alter_text' => FALSE,
7094                'text' => '',
7095                'make_link' => FALSE,
7096                'path' => '',
7097                'absolute' => FALSE,
7098                'external' => FALSE,
7099                'replace_spaces' => FALSE,
7100                'path_case' => 'none',
7101                'trim_whitespace' => FALSE,
7102                'alt' => '',
7103                'rel' => '',
7104                'link_class' => '',
7105                'prefix' => '',
7106                'suffix' => '',
7107                'target' => '',
7108                'nl2br' => FALSE,
7109                'max_length' => 0,
7110                'word_boundary' => TRUE,
7111                'ellipsis' => TRUE,
7112                'more_link' => FALSE,
7113                'more_link_text' => '',
7114                'more_link_path' => '',
7115                'strip_tags' => FALSE,
7116                'trim' => FALSE,
7117                'preserve_tags' => '',
7118                'html' => FALSE,
7119              ],
7120              'element_type' => '',
7121              'element_class' => '',
7122              'element_label_type' => '',
7123              'element_label_class' => '',
7124              'element_label_colon' => TRUE,
7125              'element_wrapper_type' => '',
7126              'element_wrapper_class' => '',
7127              'element_default_classes' => TRUE,
7128              'empty' => '',
7129              'hide_empty' => FALSE,
7130              'empty_zero' => FALSE,
7131              'hide_alter_empty' => TRUE,
7132            ],
7133          ],
7134          'defaults' => [
7135            'title' => FALSE,
7136            'fields' => FALSE,
7137            'footer' => FALSE,
7138          ],
7139          'display_description' => '',
7140          'footer' => [
7141            'visitors_display_link' => [
7142              'id' => 'visitors_display_link',
7143              'table' => 'visitors',
7144              'field' => 'visitors_display_link',
7145              'relationship' => 'none',
7146              'group_type' => 'group',
7147              'admin_label' => '',
7148              'plugin_id' => 'visitors_display_link',
7149              'label' => 'Operating System families',
7150              'empty' => FALSE,
7151              'display_id' => 'os_family_table',
7152            ],
7153          ],
7154          'display_extenders' => [],
7155        ],
7156        'cache_metadata' => [
7157          'max-age' => -1,
7158          'contexts' => [
7159            0 => 'languages:language_interface',
7160            1 => 'url.query_args',
7161          ],
7162          'tags' => [],
7163        ],
7164      ],
7165      'performance_daily_column' => [
7166        'id' => 'performance_daily_column',
7167        'display_title' => 'Performance Daily',
7168        'display_plugin' => 'embed',
7169        'position' => 21,
7170        'display_options' => [
7171          'fields' => [
7172            'network' => [
7173              'id' => 'network',
7174              'table' => 'visitors_performance',
7175              'field' => 'network',
7176              'relationship' => 'visitors_performance',
7177              'group_type' => 'avg',
7178              'admin_label' => '',
7179              'plugin_id' => 'numeric',
7180              'label' => 'Network',
7181              'exclude' => FALSE,
7182              'alter' => [
7183                'alter_text' => FALSE,
7184                'text' => '',
7185                'make_link' => FALSE,
7186                'path' => '',
7187                'absolute' => FALSE,
7188                'external' => FALSE,
7189                'replace_spaces' => FALSE,
7190                'path_case' => 'none',
7191                'trim_whitespace' => FALSE,
7192                'alt' => '',
7193                'rel' => '',
7194                'link_class' => '',
7195                'prefix' => '',
7196                'suffix' => '',
7197                'target' => '',
7198                'nl2br' => FALSE,
7199                'max_length' => 0,
7200                'word_boundary' => TRUE,
7201                'ellipsis' => TRUE,
7202                'more_link' => FALSE,
7203                'more_link_text' => '',
7204                'more_link_path' => '',
7205                'strip_tags' => FALSE,
7206                'trim' => FALSE,
7207                'preserve_tags' => '',
7208                'html' => FALSE,
7209              ],
7210              'element_type' => '',
7211              'element_class' => '',
7212              'element_label_type' => '',
7213              'element_label_class' => '',
7214              'element_label_colon' => TRUE,
7215              'element_wrapper_type' => '',
7216              'element_wrapper_class' => '',
7217              'element_default_classes' => TRUE,
7218              'empty' => '',
7219              'hide_empty' => FALSE,
7220              'empty_zero' => FALSE,
7221              'hide_alter_empty' => TRUE,
7222              'set_precision' => FALSE,
7223              'precision' => 0,
7224              'decimal' => '.',
7225              'separator' => ',',
7226              'format_plural' => FALSE,
7227              'format_plural_string' => '1
7228  \x03
7229  @count',
7230              'prefix' => '',
7231              'suffix' => '',
7232            ],
7233            'server' => [
7234              'id' => 'server',
7235              'table' => 'visitors_performance',
7236              'field' => 'server',
7237              'relationship' => 'visitors_performance',
7238              'group_type' => 'avg',
7239              'admin_label' => '',
7240              'plugin_id' => 'numeric',
7241              'label' => 'Server',
7242              'exclude' => FALSE,
7243              'alter' => [
7244                'alter_text' => FALSE,
7245                'text' => '',
7246                'make_link' => FALSE,
7247                'path' => '',
7248                'absolute' => FALSE,
7249                'external' => FALSE,
7250                'replace_spaces' => FALSE,
7251                'path_case' => 'none',
7252                'trim_whitespace' => FALSE,
7253                'alt' => '',
7254                'rel' => '',
7255                'link_class' => '',
7256                'prefix' => '',
7257                'suffix' => '',
7258                'target' => '',
7259                'nl2br' => FALSE,
7260                'max_length' => 0,
7261                'word_boundary' => TRUE,
7262                'ellipsis' => TRUE,
7263                'more_link' => FALSE,
7264                'more_link_text' => '',
7265                'more_link_path' => '',
7266                'strip_tags' => FALSE,
7267                'trim' => FALSE,
7268                'preserve_tags' => '',
7269                'html' => FALSE,
7270              ],
7271              'element_type' => '',
7272              'element_class' => '',
7273              'element_label_type' => '',
7274              'element_label_class' => '',
7275              'element_label_colon' => TRUE,
7276              'element_wrapper_type' => '',
7277              'element_wrapper_class' => '',
7278              'element_default_classes' => TRUE,
7279              'empty' => '',
7280              'hide_empty' => FALSE,
7281              'empty_zero' => FALSE,
7282              'hide_alter_empty' => TRUE,
7283              'set_precision' => FALSE,
7284              'precision' => 0,
7285              'decimal' => '.',
7286              'separator' => ',',
7287              'format_plural' => FALSE,
7288              'format_plural_string' => '1
7289  \x03
7290  @count',
7291              'prefix' => '',
7292              'suffix' => '',
7293            ],
7294            'transfer' => [
7295              'id' => 'transfer',
7296              'table' => 'visitors_performance',
7297              'field' => 'transfer',
7298              'relationship' => 'visitors_performance',
7299              'group_type' => 'avg',
7300              'admin_label' => '',
7301              'plugin_id' => 'numeric',
7302              'label' => 'Transfer',
7303              'exclude' => FALSE,
7304              'alter' => [
7305                'alter_text' => FALSE,
7306                'text' => '',
7307                'make_link' => FALSE,
7308                'path' => '',
7309                'absolute' => FALSE,
7310                'external' => FALSE,
7311                'replace_spaces' => FALSE,
7312                'path_case' => 'none',
7313                'trim_whitespace' => FALSE,
7314                'alt' => '',
7315                'rel' => '',
7316                'link_class' => '',
7317                'prefix' => '',
7318                'suffix' => '',
7319                'target' => '',
7320                'nl2br' => FALSE,
7321                'max_length' => 0,
7322                'word_boundary' => TRUE,
7323                'ellipsis' => TRUE,
7324                'more_link' => FALSE,
7325                'more_link_text' => '',
7326                'more_link_path' => '',
7327                'strip_tags' => FALSE,
7328                'trim' => FALSE,
7329                'preserve_tags' => '',
7330                'html' => FALSE,
7331              ],
7332              'element_type' => '',
7333              'element_class' => '',
7334              'element_label_type' => '',
7335              'element_label_class' => '',
7336              'element_label_colon' => TRUE,
7337              'element_wrapper_type' => '',
7338              'element_wrapper_class' => '',
7339              'element_default_classes' => TRUE,
7340              'empty' => '',
7341              'hide_empty' => FALSE,
7342              'empty_zero' => FALSE,
7343              'hide_alter_empty' => TRUE,
7344              'set_precision' => FALSE,
7345              'precision' => 0,
7346              'decimal' => '.',
7347              'separator' => ',',
7348              'format_plural' => FALSE,
7349              'format_plural_string' => '1
7350  \x03
7351  @count',
7352              'prefix' => '',
7353              'suffix' => '',
7354            ],
7355            'dom_processing' => [
7356              'id' => 'dom_processing',
7357              'table' => 'visitors_performance',
7358              'field' => 'dom_processing',
7359              'relationship' => 'visitors_performance',
7360              'group_type' => 'avg',
7361              'admin_label' => '',
7362              'plugin_id' => 'numeric',
7363              'label' => 'DOM Processing',
7364              'exclude' => FALSE,
7365              'alter' => [
7366                'alter_text' => FALSE,
7367                'text' => '',
7368                'make_link' => FALSE,
7369                'path' => '',
7370                'absolute' => FALSE,
7371                'external' => FALSE,
7372                'replace_spaces' => FALSE,
7373                'path_case' => 'none',
7374                'trim_whitespace' => FALSE,
7375                'alt' => '',
7376                'rel' => '',
7377                'link_class' => '',
7378                'prefix' => '',
7379                'suffix' => '',
7380                'target' => '',
7381                'nl2br' => FALSE,
7382                'max_length' => 0,
7383                'word_boundary' => TRUE,
7384                'ellipsis' => TRUE,
7385                'more_link' => FALSE,
7386                'more_link_text' => '',
7387                'more_link_path' => '',
7388                'strip_tags' => FALSE,
7389                'trim' => FALSE,
7390                'preserve_tags' => '',
7391                'html' => FALSE,
7392              ],
7393              'element_type' => '',
7394              'element_class' => '',
7395              'element_label_type' => '',
7396              'element_label_class' => '',
7397              'element_label_colon' => TRUE,
7398              'element_wrapper_type' => '',
7399              'element_wrapper_class' => '',
7400              'element_default_classes' => TRUE,
7401              'empty' => '',
7402              'hide_empty' => FALSE,
7403              'empty_zero' => FALSE,
7404              'hide_alter_empty' => TRUE,
7405              'set_precision' => FALSE,
7406              'precision' => 0,
7407              'decimal' => '.',
7408              'separator' => ',',
7409              'format_plural' => FALSE,
7410              'format_plural_string' => '1
7411  \x03
7412  @count',
7413              'prefix' => '',
7414              'suffix' => '',
7415            ],
7416            'dom_complete' => [
7417              'id' => 'dom_complete',
7418              'table' => 'visitors_performance',
7419              'field' => 'dom_complete',
7420              'relationship' => 'visitors_performance',
7421              'group_type' => 'avg',
7422              'admin_label' => '',
7423              'plugin_id' => 'numeric',
7424              'label' => 'DOM Complete',
7425              'exclude' => FALSE,
7426              'alter' => [
7427                'alter_text' => FALSE,
7428                'text' => '',
7429                'make_link' => FALSE,
7430                'path' => '',
7431                'absolute' => FALSE,
7432                'external' => FALSE,
7433                'replace_spaces' => FALSE,
7434                'path_case' => 'none',
7435                'trim_whitespace' => FALSE,
7436                'alt' => '',
7437                'rel' => '',
7438                'link_class' => '',
7439                'prefix' => '',
7440                'suffix' => '',
7441                'target' => '',
7442                'nl2br' => FALSE,
7443                'max_length' => 0,
7444                'word_boundary' => TRUE,
7445                'ellipsis' => TRUE,
7446                'more_link' => FALSE,
7447                'more_link_text' => '',
7448                'more_link_path' => '',
7449                'strip_tags' => FALSE,
7450                'trim' => FALSE,
7451                'preserve_tags' => '',
7452                'html' => FALSE,
7453              ],
7454              'element_type' => '',
7455              'element_class' => '',
7456              'element_label_type' => '',
7457              'element_label_class' => '',
7458              'element_label_colon' => TRUE,
7459              'element_wrapper_type' => '',
7460              'element_wrapper_class' => '',
7461              'element_default_classes' => TRUE,
7462              'empty' => '',
7463              'hide_empty' => FALSE,
7464              'empty_zero' => FALSE,
7465              'hide_alter_empty' => TRUE,
7466              'set_precision' => FALSE,
7467              'precision' => 0,
7468              'decimal' => '.',
7469              'separator' => ',',
7470              'format_plural' => FALSE,
7471              'format_plural_string' => '1
7472  \x03
7473  @count',
7474              'prefix' => '',
7475              'suffix' => '',
7476            ],
7477            'on_load' => [
7478              'id' => 'on_load',
7479              'table' => 'visitors_performance',
7480              'field' => 'on_load',
7481              'relationship' => 'visitors_performance',
7482              'group_type' => 'avg',
7483              'admin_label' => '',
7484              'plugin_id' => 'numeric',
7485              'label' => 'On Load',
7486              'exclude' => FALSE,
7487              'alter' => [
7488                'alter_text' => FALSE,
7489                'text' => '',
7490                'make_link' => FALSE,
7491                'path' => '',
7492                'absolute' => FALSE,
7493                'external' => FALSE,
7494                'replace_spaces' => FALSE,
7495                'path_case' => 'none',
7496                'trim_whitespace' => FALSE,
7497                'alt' => '',
7498                'rel' => '',
7499                'link_class' => '',
7500                'prefix' => '',
7501                'suffix' => '',
7502                'target' => '',
7503                'nl2br' => FALSE,
7504                'max_length' => 0,
7505                'word_boundary' => TRUE,
7506                'ellipsis' => TRUE,
7507                'more_link' => FALSE,
7508                'more_link_text' => '',
7509                'more_link_path' => '',
7510                'strip_tags' => FALSE,
7511                'trim' => FALSE,
7512                'preserve_tags' => '',
7513                'html' => FALSE,
7514              ],
7515              'element_type' => '',
7516              'element_class' => '',
7517              'element_label_type' => '',
7518              'element_label_class' => '',
7519              'element_label_colon' => TRUE,
7520              'element_wrapper_type' => '',
7521              'element_wrapper_class' => '',
7522              'element_default_classes' => TRUE,
7523              'empty' => '',
7524              'hide_empty' => FALSE,
7525              'empty_zero' => FALSE,
7526              'hide_alter_empty' => TRUE,
7527              'set_precision' => FALSE,
7528              'precision' => 0,
7529              'decimal' => '.',
7530              'separator' => ',',
7531              'format_plural' => FALSE,
7532              'format_plural_string' => '1
7533  \x03
7534  @count',
7535              'prefix' => '',
7536              'suffix' => '',
7537            ],
7538            'visitors_day' => [
7539              'id' => 'visitors_day',
7540              'table' => 'visitors',
7541              'field' => 'visitors_day',
7542              'relationship' => 'none',
7543              'group_type' => 'group',
7544              'admin_label' => '',
7545              'plugin_id' => 'visitors_day',
7546              'label' => 'Day',
7547              'exclude' => FALSE,
7548              'alter' => [
7549                'alter_text' => FALSE,
7550                'text' => '',
7551                'make_link' => FALSE,
7552                'path' => '',
7553                'absolute' => FALSE,
7554                'external' => FALSE,
7555                'replace_spaces' => FALSE,
7556                'path_case' => 'none',
7557                'trim_whitespace' => FALSE,
7558                'alt' => '',
7559                'rel' => '',
7560                'link_class' => '',
7561                'prefix' => '',
7562                'suffix' => '',
7563                'target' => '',
7564                'nl2br' => FALSE,
7565                'max_length' => 0,
7566                'word_boundary' => TRUE,
7567                'ellipsis' => TRUE,
7568                'more_link' => FALSE,
7569                'more_link_text' => '',
7570                'more_link_path' => '',
7571                'strip_tags' => FALSE,
7572                'trim' => FALSE,
7573                'preserve_tags' => '',
7574                'html' => FALSE,
7575              ],
7576              'element_type' => '',
7577              'element_class' => '',
7578              'element_label_type' => '',
7579              'element_label_class' => '',
7580              'element_label_colon' => TRUE,
7581              'element_wrapper_type' => '',
7582              'element_wrapper_class' => '',
7583              'element_default_classes' => TRUE,
7584              'empty' => '',
7585              'hide_empty' => FALSE,
7586              'empty_zero' => FALSE,
7587              'hide_alter_empty' => TRUE,
7588            ],
7589          ],
7590          'pager' => [
7591            'type' => 'none',
7592            'options' => [
7593              'offset' => 0,
7594            ],
7595          ],
7596          'sorts' => [],
7597          'style' => [
7598            'type' => 'chart',
7599            'options' => [
7600              'grouping' => [],
7601              'chart_settings' => [
7602                'library' => 'chartjs',
7603                'type' => 'column',
7604                'fields' => [
7605                  'label' => 'visitors_day',
7606                  'stacking' => TRUE,
7607                  'data_providers' => [
7608                    'network' => [
7609                      'enabled' => TRUE,
7610                      'color' => '#0277bd',
7611                      'weight' => 7,
7612                    ],
7613                    'server' => [
7614                      'enabled' => TRUE,
7615                      'color' => '#ff8f00',
7616                      'weight' => 7,
7617                    ],
7618                    'transfer' => [
7619                      'enabled' => TRUE,
7620                      'color' => '#ad1457',
7621                      'weight' => 7,
7622                    ],
7623                    'dom_processing' => [
7624                      'enabled' => TRUE,
7625                      'color' => '#6a1b9a',
7626                      'weight' => 7,
7627                    ],
7628                    'dom_complete' => [
7629                      'enabled' => TRUE,
7630                      'color' => '#558b2f',
7631                      'weight' => 7,
7632                    ],
7633                    'on_load' => [
7634                      'enabled' => TRUE,
7635                      'color' => '#00838f',
7636                      'weight' => 7,
7637                    ],
7638                    'visitors_day' => [
7639                      'enabled' => FALSE,
7640                      'color' => '#7643b6',
7641                      'weight' => 7,
7642                    ],
7643                  ],
7644                ],
7645                'display' => [
7646                  'title' => '',
7647                  'title_position' => '',
7648                  'subtitle' => '',
7649                  'data_labels' => FALSE,
7650                  'data_markers' => TRUE,
7651                  'legend_position' => 'bottom',
7652                  'background' => '',
7653                  'three_dimensional' => 0,
7654                  'polar' => 0,
7655                  'tooltips' => TRUE,
7656                  'dimensions' => [
7657                    'width' => '',
7658                    'width_units' => '',
7659                    'height' => '',
7660                    'height_units' => '',
7661                  ],
7662                  'gauge' => [
7663                    'max' => '',
7664                    'min' => '',
7665                    'green_from' => '',
7666                    'green_to' => '',
7667                    'yellow_from' => '',
7668                    'yellow_to' => '',
7669                    'red_from' => '',
7670                    'red_to' => '',
7671                  ],
7672                  'color_changer' => FALSE,
7673                ],
7674                'xaxis' => [
7675                  'title' => '',
7676                  'labels_rotation' => '0',
7677                ],
7678                'yaxis' => [
7679                  'title' => '',
7680                  'min' => '',
7681                  'max' => '',
7682                  'prefix' => '',
7683                  'suffix' => '',
7684                  'decimal_count' => '',
7685                  'labels_rotation' => '0',
7686                ],
7687              ],
7688            ],
7689          ],
7690          'row' => [
7691            'type' => 'fields',
7692            'options' => [
7693              'default_field_elements' => TRUE,
7694              'inline' => [],
7695              'separator' => '',
7696              'hide_empty' => FALSE,
7697            ],
7698          ],
7699          'defaults' => [
7700            'pager' => FALSE,
7701            'style' => FALSE,
7702            'row' => FALSE,
7703            'relationships' => FALSE,
7704            'fields' => FALSE,
7705            'sorts' => FALSE,
7706          ],
7707          'relationships' => [
7708            'visitors_performance' => [
7709              'id' => 'visitors_performance',
7710              'table' => 'visitors',
7711              'field' => 'visitors_performance',
7712              'relationship' => 'none',
7713              'group_type' => 'group',
7714              'admin_label' => 'Visitor performance',
7715              'plugin_id' => 'standard',
7716              'required' => TRUE,
7717            ],
7718          ],
7719          'display_description' => '',
7720          'display_extenders' => [],
7721        ],
7722        'cache_metadata' => [
7723          'max-age' => -1,
7724          'contexts' => [
7725            0 => 'languages:language_interface',
7726          ],
7727          'tags' => [],
7728        ],
7729      ],
7730      'performance_hourly_column' => [
7731        'id' => 'performance_hourly_column',
7732        'display_title' => 'Performance Hourly',
7733        'display_plugin' => 'embed',
7734        'position' => 21,
7735        'display_options' => [
7736          'fields' => [
7737            'network' => [
7738              'id' => 'network',
7739              'table' => 'visitors_performance',
7740              'field' => 'network',
7741              'relationship' => 'visitors_performance',
7742              'group_type' => 'avg',
7743              'admin_label' => '',
7744              'plugin_id' => 'numeric',
7745              'label' => 'Network',
7746              'exclude' => FALSE,
7747              'alter' => [
7748                'alter_text' => FALSE,
7749                'text' => '',
7750                'make_link' => FALSE,
7751                'path' => '',
7752                'absolute' => FALSE,
7753                'external' => FALSE,
7754                'replace_spaces' => FALSE,
7755                'path_case' => 'none',
7756                'trim_whitespace' => FALSE,
7757                'alt' => '',
7758                'rel' => '',
7759                'link_class' => '',
7760                'prefix' => '',
7761                'suffix' => '',
7762                'target' => '',
7763                'nl2br' => FALSE,
7764                'max_length' => 0,
7765                'word_boundary' => TRUE,
7766                'ellipsis' => TRUE,
7767                'more_link' => FALSE,
7768                'more_link_text' => '',
7769                'more_link_path' => '',
7770                'strip_tags' => FALSE,
7771                'trim' => FALSE,
7772                'preserve_tags' => '',
7773                'html' => FALSE,
7774              ],
7775              'element_type' => '',
7776              'element_class' => '',
7777              'element_label_type' => '',
7778              'element_label_class' => '',
7779              'element_label_colon' => TRUE,
7780              'element_wrapper_type' => '',
7781              'element_wrapper_class' => '',
7782              'element_default_classes' => TRUE,
7783              'empty' => '',
7784              'hide_empty' => FALSE,
7785              'empty_zero' => FALSE,
7786              'hide_alter_empty' => TRUE,
7787              'set_precision' => FALSE,
7788              'precision' => 0,
7789              'decimal' => '.',
7790              'separator' => ',',
7791              'format_plural' => FALSE,
7792              'format_plural_string' => '1
7793  \x03
7794  @count',
7795              'prefix' => '',
7796              'suffix' => '',
7797            ],
7798            'server' => [
7799              'id' => 'server',
7800              'table' => 'visitors_performance',
7801              'field' => 'server',
7802              'relationship' => 'visitors_performance',
7803              'group_type' => 'avg',
7804              'admin_label' => '',
7805              'plugin_id' => 'numeric',
7806              'label' => 'Server',
7807              'exclude' => FALSE,
7808              'alter' => [
7809                'alter_text' => FALSE,
7810                'text' => '',
7811                'make_link' => FALSE,
7812                'path' => '',
7813                'absolute' => FALSE,
7814                'external' => FALSE,
7815                'replace_spaces' => FALSE,
7816                'path_case' => 'none',
7817                'trim_whitespace' => FALSE,
7818                'alt' => '',
7819                'rel' => '',
7820                'link_class' => '',
7821                'prefix' => '',
7822                'suffix' => '',
7823                'target' => '',
7824                'nl2br' => FALSE,
7825                'max_length' => 0,
7826                'word_boundary' => TRUE,
7827                'ellipsis' => TRUE,
7828                'more_link' => FALSE,
7829                'more_link_text' => '',
7830                'more_link_path' => '',
7831                'strip_tags' => FALSE,
7832                'trim' => FALSE,
7833                'preserve_tags' => '',
7834                'html' => FALSE,
7835              ],
7836              'element_type' => '',
7837              'element_class' => '',
7838              'element_label_type' => '',
7839              'element_label_class' => '',
7840              'element_label_colon' => TRUE,
7841              'element_wrapper_type' => '',
7842              'element_wrapper_class' => '',
7843              'element_default_classes' => TRUE,
7844              'empty' => '',
7845              'hide_empty' => FALSE,
7846              'empty_zero' => FALSE,
7847              'hide_alter_empty' => TRUE,
7848              'set_precision' => FALSE,
7849              'precision' => 0,
7850              'decimal' => '.',
7851              'separator' => ',',
7852              'format_plural' => FALSE,
7853              'format_plural_string' => '1
7854  \x03
7855  @count',
7856              'prefix' => '',
7857              'suffix' => '',
7858            ],
7859            'transfer' => [
7860              'id' => 'transfer',
7861              'table' => 'visitors_performance',
7862              'field' => 'transfer',
7863              'relationship' => 'visitors_performance',
7864              'group_type' => 'avg',
7865              'admin_label' => '',
7866              'plugin_id' => 'numeric',
7867              'label' => 'Transfer',
7868              'exclude' => FALSE,
7869              'alter' => [
7870                'alter_text' => FALSE,
7871                'text' => '',
7872                'make_link' => FALSE,
7873                'path' => '',
7874                'absolute' => FALSE,
7875                'external' => FALSE,
7876                'replace_spaces' => FALSE,
7877                'path_case' => 'none',
7878                'trim_whitespace' => FALSE,
7879                'alt' => '',
7880                'rel' => '',
7881                'link_class' => '',
7882                'prefix' => '',
7883                'suffix' => '',
7884                'target' => '',
7885                'nl2br' => FALSE,
7886                'max_length' => 0,
7887                'word_boundary' => TRUE,
7888                'ellipsis' => TRUE,
7889                'more_link' => FALSE,
7890                'more_link_text' => '',
7891                'more_link_path' => '',
7892                'strip_tags' => FALSE,
7893                'trim' => FALSE,
7894                'preserve_tags' => '',
7895                'html' => FALSE,
7896              ],
7897              'element_type' => '',
7898              'element_class' => '',
7899              'element_label_type' => '',
7900              'element_label_class' => '',
7901              'element_label_colon' => TRUE,
7902              'element_wrapper_type' => '',
7903              'element_wrapper_class' => '',
7904              'element_default_classes' => TRUE,
7905              'empty' => '',
7906              'hide_empty' => FALSE,
7907              'empty_zero' => FALSE,
7908              'hide_alter_empty' => TRUE,
7909              'set_precision' => FALSE,
7910              'precision' => 0,
7911              'decimal' => '.',
7912              'separator' => ',',
7913              'format_plural' => FALSE,
7914              'format_plural_string' => '1
7915  \x03
7916  @count',
7917              'prefix' => '',
7918              'suffix' => '',
7919            ],
7920            'dom_processing' => [
7921              'id' => 'dom_processing',
7922              'table' => 'visitors_performance',
7923              'field' => 'dom_processing',
7924              'relationship' => 'visitors_performance',
7925              'group_type' => 'avg',
7926              'admin_label' => '',
7927              'plugin_id' => 'numeric',
7928              'label' => 'DOM Processing',
7929              'exclude' => FALSE,
7930              'alter' => [
7931                'alter_text' => FALSE,
7932                'text' => '',
7933                'make_link' => FALSE,
7934                'path' => '',
7935                'absolute' => FALSE,
7936                'external' => FALSE,
7937                'replace_spaces' => FALSE,
7938                'path_case' => 'none',
7939                'trim_whitespace' => FALSE,
7940                'alt' => '',
7941                'rel' => '',
7942                'link_class' => '',
7943                'prefix' => '',
7944                'suffix' => '',
7945                'target' => '',
7946                'nl2br' => FALSE,
7947                'max_length' => 0,
7948                'word_boundary' => TRUE,
7949                'ellipsis' => TRUE,
7950                'more_link' => FALSE,
7951                'more_link_text' => '',
7952                'more_link_path' => '',
7953                'strip_tags' => FALSE,
7954                'trim' => FALSE,
7955                'preserve_tags' => '',
7956                'html' => FALSE,
7957              ],
7958              'element_type' => '',
7959              'element_class' => '',
7960              'element_label_type' => '',
7961              'element_label_class' => '',
7962              'element_label_colon' => TRUE,
7963              'element_wrapper_type' => '',
7964              'element_wrapper_class' => '',
7965              'element_default_classes' => TRUE,
7966              'empty' => '',
7967              'hide_empty' => FALSE,
7968              'empty_zero' => FALSE,
7969              'hide_alter_empty' => TRUE,
7970              'set_precision' => FALSE,
7971              'precision' => 0,
7972              'decimal' => '.',
7973              'separator' => ',',
7974              'format_plural' => FALSE,
7975              'format_plural_string' => '1
7976  \x03
7977  @count',
7978              'prefix' => '',
7979              'suffix' => '',
7980            ],
7981            'dom_complete' => [
7982              'id' => 'dom_complete',
7983              'table' => 'visitors_performance',
7984              'field' => 'dom_complete',
7985              'relationship' => 'visitors_performance',
7986              'group_type' => 'avg',
7987              'admin_label' => '',
7988              'plugin_id' => 'numeric',
7989              'label' => 'DOM Complete',
7990              'exclude' => FALSE,
7991              'alter' => [
7992                'alter_text' => FALSE,
7993                'text' => '',
7994                'make_link' => FALSE,
7995                'path' => '',
7996                'absolute' => FALSE,
7997                'external' => FALSE,
7998                'replace_spaces' => FALSE,
7999                'path_case' => 'none',
8000                'trim_whitespace' => FALSE,
8001                'alt' => '',
8002                'rel' => '',
8003                'link_class' => '',
8004                'prefix' => '',
8005                'suffix' => '',
8006                'target' => '',
8007                'nl2br' => FALSE,
8008                'max_length' => 0,
8009                'word_boundary' => TRUE,
8010                'ellipsis' => TRUE,
8011                'more_link' => FALSE,
8012                'more_link_text' => '',
8013                'more_link_path' => '',
8014                'strip_tags' => FALSE,
8015                'trim' => FALSE,
8016                'preserve_tags' => '',
8017                'html' => FALSE,
8018              ],
8019              'element_type' => '',
8020              'element_class' => '',
8021              'element_label_type' => '',
8022              'element_label_class' => '',
8023              'element_label_colon' => TRUE,
8024              'element_wrapper_type' => '',
8025              'element_wrapper_class' => '',
8026              'element_default_classes' => TRUE,
8027              'empty' => '',
8028              'hide_empty' => FALSE,
8029              'empty_zero' => FALSE,
8030              'hide_alter_empty' => TRUE,
8031              'set_precision' => FALSE,
8032              'precision' => 0,
8033              'decimal' => '.',
8034              'separator' => ',',
8035              'format_plural' => FALSE,
8036              'format_plural_string' => '1
8037  \x03
8038  @count',
8039              'prefix' => '',
8040              'suffix' => '',
8041            ],
8042            'on_load' => [
8043              'id' => 'on_load',
8044              'table' => 'visitors_performance',
8045              'field' => 'on_load',
8046              'relationship' => 'visitors_performance',
8047              'group_type' => 'avg',
8048              'admin_label' => '',
8049              'plugin_id' => 'numeric',
8050              'label' => 'On Load',
8051              'exclude' => FALSE,
8052              'alter' => [
8053                'alter_text' => FALSE,
8054                'text' => '',
8055                'make_link' => FALSE,
8056                'path' => '',
8057                'absolute' => FALSE,
8058                'external' => FALSE,
8059                'replace_spaces' => FALSE,
8060                'path_case' => 'none',
8061                'trim_whitespace' => FALSE,
8062                'alt' => '',
8063                'rel' => '',
8064                'link_class' => '',
8065                'prefix' => '',
8066                'suffix' => '',
8067                'target' => '',
8068                'nl2br' => FALSE,
8069                'max_length' => 0,
8070                'word_boundary' => TRUE,
8071                'ellipsis' => TRUE,
8072                'more_link' => FALSE,
8073                'more_link_text' => '',
8074                'more_link_path' => '',
8075                'strip_tags' => FALSE,
8076                'trim' => FALSE,
8077                'preserve_tags' => '',
8078                'html' => FALSE,
8079              ],
8080              'element_type' => '',
8081              'element_class' => '',
8082              'element_label_type' => '',
8083              'element_label_class' => '',
8084              'element_label_colon' => TRUE,
8085              'element_wrapper_type' => '',
8086              'element_wrapper_class' => '',
8087              'element_default_classes' => TRUE,
8088              'empty' => '',
8089              'hide_empty' => FALSE,
8090              'empty_zero' => FALSE,
8091              'hide_alter_empty' => TRUE,
8092              'set_precision' => FALSE,
8093              'precision' => 0,
8094              'decimal' => '.',
8095              'separator' => ',',
8096              'format_plural' => FALSE,
8097              'format_plural_string' => '1
8098  \x03
8099  @count',
8100              'prefix' => '',
8101              'suffix' => '',
8102            ],
8103            'visitors_hour' => [
8104              'id' => 'visitors_hour',
8105              'table' => 'visitors',
8106              'field' => 'visitors_hour',
8107              'relationship' => 'none',
8108              'group_type' => 'group',
8109              'admin_label' => '',
8110              'plugin_id' => 'visitors_hour',
8111              'label' => 'Hour',
8112              'exclude' => FALSE,
8113              'alter' => [
8114                'alter_text' => FALSE,
8115                'text' => '',
8116                'make_link' => FALSE,
8117                'path' => '',
8118                'absolute' => FALSE,
8119                'external' => FALSE,
8120                'replace_spaces' => FALSE,
8121                'path_case' => 'none',
8122                'trim_whitespace' => FALSE,
8123                'alt' => '',
8124                'rel' => '',
8125                'link_class' => '',
8126                'prefix' => '',
8127                'suffix' => '',
8128                'target' => '',
8129                'nl2br' => FALSE,
8130                'max_length' => 0,
8131                'word_boundary' => TRUE,
8132                'ellipsis' => TRUE,
8133                'more_link' => FALSE,
8134                'more_link_text' => '',
8135                'more_link_path' => '',
8136                'strip_tags' => FALSE,
8137                'trim' => FALSE,
8138                'preserve_tags' => '',
8139                'html' => FALSE,
8140              ],
8141              'element_type' => '',
8142              'element_class' => '',
8143              'element_label_type' => '',
8144              'element_label_class' => '',
8145              'element_label_colon' => TRUE,
8146              'element_wrapper_type' => '',
8147              'element_wrapper_class' => '',
8148              'element_default_classes' => TRUE,
8149              'empty' => '',
8150              'hide_empty' => FALSE,
8151              'empty_zero' => FALSE,
8152              'hide_alter_empty' => TRUE,
8153            ],
8154          ],
8155          'pager' => [
8156            'type' => 'none',
8157            'options' => [
8158              'offset' => 0,
8159            ],
8160          ],
8161          'sorts' => [],
8162          'style' => [
8163            'type' => 'chart',
8164            'options' => [
8165              'grouping' => [],
8166              'chart_settings' => [
8167                'library' => 'chartjs',
8168                'type' => 'column',
8169                'fields' => [
8170                  'label' => 'visitors_hour',
8171                  'stacking' => TRUE,
8172                  'data_providers' => [
8173                    'network' => [
8174                      'enabled' => TRUE,
8175                      'color' => '#0277bd',
8176                      'weight' => 7,
8177                    ],
8178                    'server' => [
8179                      'enabled' => TRUE,
8180                      'color' => '#ff8f00',
8181                      'weight' => 7,
8182                    ],
8183                    'transfer' => [
8184                      'enabled' => TRUE,
8185                      'color' => '#ad1457',
8186                      'weight' => 7,
8187                    ],
8188                    'dom_processing' => [
8189                      'enabled' => TRUE,
8190                      'color' => '#6a1b9a',
8191                      'weight' => 7,
8192                    ],
8193                    'dom_complete' => [
8194                      'enabled' => TRUE,
8195                      'color' => '#558b2f',
8196                      'weight' => 7,
8197                    ],
8198                    'on_load' => [
8199                      'enabled' => TRUE,
8200                      'color' => '#00838f',
8201                      'weight' => 7,
8202                    ],
8203                    'visitors_hour' => [
8204                      'enabled' => FALSE,
8205                      'color' => '#7643b6',
8206                      'weight' => 7,
8207                    ],
8208                  ],
8209                ],
8210                'display' => [
8211                  'title' => '',
8212                  'title_position' => '',
8213                  'subtitle' => '',
8214                  'data_labels' => FALSE,
8215                  'data_markers' => TRUE,
8216                  'legend_position' => 'bottom',
8217                  'background' => '',
8218                  'three_dimensional' => 0,
8219                  'polar' => 0,
8220                  'tooltips' => TRUE,
8221                  'dimensions' => [
8222                    'width' => '',
8223                    'width_units' => '',
8224                    'height' => '',
8225                    'height_units' => '',
8226                  ],
8227                  'gauge' => [
8228                    'max' => '',
8229                    'min' => '',
8230                    'green_from' => '',
8231                    'green_to' => '',
8232                    'yellow_from' => '',
8233                    'yellow_to' => '',
8234                    'red_from' => '',
8235                    'red_to' => '',
8236                  ],
8237                  'color_changer' => FALSE,
8238                ],
8239                'xaxis' => [
8240                  'title' => '',
8241                  'labels_rotation' => '0',
8242                ],
8243                'yaxis' => [
8244                  'title' => '',
8245                  'min' => '',
8246                  'max' => '',
8247                  'prefix' => '',
8248                  'suffix' => '',
8249                  'decimal_count' => '',
8250                  'labels_rotation' => '0',
8251                ],
8252              ],
8253            ],
8254          ],
8255          'row' => [
8256            'type' => 'fields',
8257            'options' => [
8258              'default_field_elements' => TRUE,
8259              'inline' => [],
8260              'separator' => '',
8261              'hide_empty' => FALSE,
8262            ],
8263          ],
8264          'defaults' => [
8265            'pager' => FALSE,
8266            'style' => FALSE,
8267            'row' => FALSE,
8268            'relationships' => FALSE,
8269            'fields' => FALSE,
8270            'sorts' => FALSE,
8271          ],
8272          'relationships' => [
8273            'visitors_performance' => [
8274              'id' => 'visitors_performance',
8275              'table' => 'visitors',
8276              'field' => 'visitors_performance',
8277              'relationship' => 'none',
8278              'group_type' => 'group',
8279              'admin_label' => 'Visitor performance',
8280              'plugin_id' => 'standard',
8281              'required' => TRUE,
8282            ],
8283          ],
8284          'display_description' => '',
8285          'display_extenders' => [],
8286        ],
8287        'cache_metadata' => [
8288          'max-age' => -1,
8289          'contexts' => [
8290            0 => 'languages:language_interface',
8291          ],
8292          'tags' => [],
8293        ],
8294      ],
8295      'performance_weekly_column' => [
8296        'id' => 'performance_weekly_column',
8297        'display_title' => 'Performance Weekly',
8298        'display_plugin' => 'embed',
8299        'position' => 21,
8300        'display_options' => [
8301          'fields' => [
8302            'network' => [
8303              'id' => 'network',
8304              'table' => 'visitors_performance',
8305              'field' => 'network',
8306              'relationship' => 'visitors_performance',
8307              'group_type' => 'avg',
8308              'admin_label' => '',
8309              'plugin_id' => 'numeric',
8310              'label' => 'Network',
8311              'exclude' => FALSE,
8312              'alter' => [
8313                'alter_text' => FALSE,
8314                'text' => '',
8315                'make_link' => FALSE,
8316                'path' => '',
8317                'absolute' => FALSE,
8318                'external' => FALSE,
8319                'replace_spaces' => FALSE,
8320                'path_case' => 'none',
8321                'trim_whitespace' => FALSE,
8322                'alt' => '',
8323                'rel' => '',
8324                'link_class' => '',
8325                'prefix' => '',
8326                'suffix' => '',
8327                'target' => '',
8328                'nl2br' => FALSE,
8329                'max_length' => 0,
8330                'word_boundary' => TRUE,
8331                'ellipsis' => TRUE,
8332                'more_link' => FALSE,
8333                'more_link_text' => '',
8334                'more_link_path' => '',
8335                'strip_tags' => FALSE,
8336                'trim' => FALSE,
8337                'preserve_tags' => '',
8338                'html' => FALSE,
8339              ],
8340              'element_type' => '',
8341              'element_class' => '',
8342              'element_label_type' => '',
8343              'element_label_class' => '',
8344              'element_label_colon' => TRUE,
8345              'element_wrapper_type' => '',
8346              'element_wrapper_class' => '',
8347              'element_default_classes' => TRUE,
8348              'empty' => '',
8349              'hide_empty' => FALSE,
8350              'empty_zero' => FALSE,
8351              'hide_alter_empty' => TRUE,
8352              'set_precision' => FALSE,
8353              'precision' => 0,
8354              'decimal' => '.',
8355              'separator' => ',',
8356              'format_plural' => FALSE,
8357              'format_plural_string' => '1
8358  \x03
8359  @count',
8360              'prefix' => '',
8361              'suffix' => '',
8362            ],
8363            'server' => [
8364              'id' => 'server',
8365              'table' => 'visitors_performance',
8366              'field' => 'server',
8367              'relationship' => 'visitors_performance',
8368              'group_type' => 'avg',
8369              'admin_label' => '',
8370              'plugin_id' => 'numeric',
8371              'label' => 'Server',
8372              'exclude' => FALSE,
8373              'alter' => [
8374                'alter_text' => FALSE,
8375                'text' => '',
8376                'make_link' => FALSE,
8377                'path' => '',
8378                'absolute' => FALSE,
8379                'external' => FALSE,
8380                'replace_spaces' => FALSE,
8381                'path_case' => 'none',
8382                'trim_whitespace' => FALSE,
8383                'alt' => '',
8384                'rel' => '',
8385                'link_class' => '',
8386                'prefix' => '',
8387                'suffix' => '',
8388                'target' => '',
8389                'nl2br' => FALSE,
8390                'max_length' => 0,
8391                'word_boundary' => TRUE,
8392                'ellipsis' => TRUE,
8393                'more_link' => FALSE,
8394                'more_link_text' => '',
8395                'more_link_path' => '',
8396                'strip_tags' => FALSE,
8397                'trim' => FALSE,
8398                'preserve_tags' => '',
8399                'html' => FALSE,
8400              ],
8401              'element_type' => '',
8402              'element_class' => '',
8403              'element_label_type' => '',
8404              'element_label_class' => '',
8405              'element_label_colon' => TRUE,
8406              'element_wrapper_type' => '',
8407              'element_wrapper_class' => '',
8408              'element_default_classes' => TRUE,
8409              'empty' => '',
8410              'hide_empty' => FALSE,
8411              'empty_zero' => FALSE,
8412              'hide_alter_empty' => TRUE,
8413              'set_precision' => FALSE,
8414              'precision' => 0,
8415              'decimal' => '.',
8416              'separator' => ',',
8417              'format_plural' => FALSE,
8418              'format_plural_string' => '1
8419  \x03
8420  @count',
8421              'prefix' => '',
8422              'suffix' => '',
8423            ],
8424            'transfer' => [
8425              'id' => 'transfer',
8426              'table' => 'visitors_performance',
8427              'field' => 'transfer',
8428              'relationship' => 'visitors_performance',
8429              'group_type' => 'avg',
8430              'admin_label' => '',
8431              'plugin_id' => 'numeric',
8432              'label' => 'Transfer',
8433              'exclude' => FALSE,
8434              'alter' => [
8435                'alter_text' => FALSE,
8436                'text' => '',
8437                'make_link' => FALSE,
8438                'path' => '',
8439                'absolute' => FALSE,
8440                'external' => FALSE,
8441                'replace_spaces' => FALSE,
8442                'path_case' => 'none',
8443                'trim_whitespace' => FALSE,
8444                'alt' => '',
8445                'rel' => '',
8446                'link_class' => '',
8447                'prefix' => '',
8448                'suffix' => '',
8449                'target' => '',
8450                'nl2br' => FALSE,
8451                'max_length' => 0,
8452                'word_boundary' => TRUE,
8453                'ellipsis' => TRUE,
8454                'more_link' => FALSE,
8455                'more_link_text' => '',
8456                'more_link_path' => '',
8457                'strip_tags' => FALSE,
8458                'trim' => FALSE,
8459                'preserve_tags' => '',
8460                'html' => FALSE,
8461              ],
8462              'element_type' => '',
8463              'element_class' => '',
8464              'element_label_type' => '',
8465              'element_label_class' => '',
8466              'element_label_colon' => TRUE,
8467              'element_wrapper_type' => '',
8468              'element_wrapper_class' => '',
8469              'element_default_classes' => TRUE,
8470              'empty' => '',
8471              'hide_empty' => FALSE,
8472              'empty_zero' => FALSE,
8473              'hide_alter_empty' => TRUE,
8474              'set_precision' => FALSE,
8475              'precision' => 0,
8476              'decimal' => '.',
8477              'separator' => ',',
8478              'format_plural' => FALSE,
8479              'format_plural_string' => '1
8480  \x03
8481  @count',
8482              'prefix' => '',
8483              'suffix' => '',
8484            ],
8485            'dom_processing' => [
8486              'id' => 'dom_processing',
8487              'table' => 'visitors_performance',
8488              'field' => 'dom_processing',
8489              'relationship' => 'visitors_performance',
8490              'group_type' => 'avg',
8491              'admin_label' => '',
8492              'plugin_id' => 'numeric',
8493              'label' => 'DOM Processing',
8494              'exclude' => FALSE,
8495              'alter' => [
8496                'alter_text' => FALSE,
8497                'text' => '',
8498                'make_link' => FALSE,
8499                'path' => '',
8500                'absolute' => FALSE,
8501                'external' => FALSE,
8502                'replace_spaces' => FALSE,
8503                'path_case' => 'none',
8504                'trim_whitespace' => FALSE,
8505                'alt' => '',
8506                'rel' => '',
8507                'link_class' => '',
8508                'prefix' => '',
8509                'suffix' => '',
8510                'target' => '',
8511                'nl2br' => FALSE,
8512                'max_length' => 0,
8513                'word_boundary' => TRUE,
8514                'ellipsis' => TRUE,
8515                'more_link' => FALSE,
8516                'more_link_text' => '',
8517                'more_link_path' => '',
8518                'strip_tags' => FALSE,
8519                'trim' => FALSE,
8520                'preserve_tags' => '',
8521                'html' => FALSE,
8522              ],
8523              'element_type' => '',
8524              'element_class' => '',
8525              'element_label_type' => '',
8526              'element_label_class' => '',
8527              'element_label_colon' => TRUE,
8528              'element_wrapper_type' => '',
8529              'element_wrapper_class' => '',
8530              'element_default_classes' => TRUE,
8531              'empty' => '',
8532              'hide_empty' => FALSE,
8533              'empty_zero' => FALSE,
8534              'hide_alter_empty' => TRUE,
8535              'set_precision' => FALSE,
8536              'precision' => 0,
8537              'decimal' => '.',
8538              'separator' => ',',
8539              'format_plural' => FALSE,
8540              'format_plural_string' => '1
8541  \x03
8542  @count',
8543              'prefix' => '',
8544              'suffix' => '',
8545            ],
8546            'dom_complete' => [
8547              'id' => 'dom_complete',
8548              'table' => 'visitors_performance',
8549              'field' => 'dom_complete',
8550              'relationship' => 'visitors_performance',
8551              'group_type' => 'avg',
8552              'admin_label' => '',
8553              'plugin_id' => 'numeric',
8554              'label' => 'DOM Complete',
8555              'exclude' => FALSE,
8556              'alter' => [
8557                'alter_text' => FALSE,
8558                'text' => '',
8559                'make_link' => FALSE,
8560                'path' => '',
8561                'absolute' => FALSE,
8562                'external' => FALSE,
8563                'replace_spaces' => FALSE,
8564                'path_case' => 'none',
8565                'trim_whitespace' => FALSE,
8566                'alt' => '',
8567                'rel' => '',
8568                'link_class' => '',
8569                'prefix' => '',
8570                'suffix' => '',
8571                'target' => '',
8572                'nl2br' => FALSE,
8573                'max_length' => 0,
8574                'word_boundary' => TRUE,
8575                'ellipsis' => TRUE,
8576                'more_link' => FALSE,
8577                'more_link_text' => '',
8578                'more_link_path' => '',
8579                'strip_tags' => FALSE,
8580                'trim' => FALSE,
8581                'preserve_tags' => '',
8582                'html' => FALSE,
8583              ],
8584              'element_type' => '',
8585              'element_class' => '',
8586              'element_label_type' => '',
8587              'element_label_class' => '',
8588              'element_label_colon' => TRUE,
8589              'element_wrapper_type' => '',
8590              'element_wrapper_class' => '',
8591              'element_default_classes' => TRUE,
8592              'empty' => '',
8593              'hide_empty' => FALSE,
8594              'empty_zero' => FALSE,
8595              'hide_alter_empty' => TRUE,
8596              'set_precision' => FALSE,
8597              'precision' => 0,
8598              'decimal' => '.',
8599              'separator' => ',',
8600              'format_plural' => FALSE,
8601              'format_plural_string' => '1
8602  \x03
8603  @count',
8604              'prefix' => '',
8605              'suffix' => '',
8606            ],
8607            'on_load' => [
8608              'id' => 'on_load',
8609              'table' => 'visitors_performance',
8610              'field' => 'on_load',
8611              'relationship' => 'visitors_performance',
8612              'group_type' => 'avg',
8613              'admin_label' => '',
8614              'plugin_id' => 'numeric',
8615              'label' => 'On Load',
8616              'exclude' => FALSE,
8617              'alter' => [
8618                'alter_text' => FALSE,
8619                'text' => '',
8620                'make_link' => FALSE,
8621                'path' => '',
8622                'absolute' => FALSE,
8623                'external' => FALSE,
8624                'replace_spaces' => FALSE,
8625                'path_case' => 'none',
8626                'trim_whitespace' => FALSE,
8627                'alt' => '',
8628                'rel' => '',
8629                'link_class' => '',
8630                'prefix' => '',
8631                'suffix' => '',
8632                'target' => '',
8633                'nl2br' => FALSE,
8634                'max_length' => 0,
8635                'word_boundary' => TRUE,
8636                'ellipsis' => TRUE,
8637                'more_link' => FALSE,
8638                'more_link_text' => '',
8639                'more_link_path' => '',
8640                'strip_tags' => FALSE,
8641                'trim' => FALSE,
8642                'preserve_tags' => '',
8643                'html' => FALSE,
8644              ],
8645              'element_type' => '',
8646              'element_class' => '',
8647              'element_label_type' => '',
8648              'element_label_class' => '',
8649              'element_label_colon' => TRUE,
8650              'element_wrapper_type' => '',
8651              'element_wrapper_class' => '',
8652              'element_default_classes' => TRUE,
8653              'empty' => '',
8654              'hide_empty' => FALSE,
8655              'empty_zero' => FALSE,
8656              'hide_alter_empty' => TRUE,
8657              'set_precision' => FALSE,
8658              'precision' => 0,
8659              'decimal' => '.',
8660              'separator' => ',',
8661              'format_plural' => FALSE,
8662              'format_plural_string' => '1
8663  \x03
8664  @count',
8665              'prefix' => '',
8666              'suffix' => '',
8667            ],
8668            'visitors_week' => [
8669              'id' => 'visitors_week',
8670              'table' => 'visitors',
8671              'field' => 'visitors_week',
8672              'relationship' => 'none',
8673              'group_type' => 'group',
8674              'admin_label' => '',
8675              'plugin_id' => 'visitors_week',
8676              'label' => 'Week',
8677              'exclude' => FALSE,
8678              'alter' => [
8679                'alter_text' => FALSE,
8680                'text' => '',
8681                'make_link' => FALSE,
8682                'path' => '',
8683                'absolute' => FALSE,
8684                'external' => FALSE,
8685                'replace_spaces' => FALSE,
8686                'path_case' => 'none',
8687                'trim_whitespace' => FALSE,
8688                'alt' => '',
8689                'rel' => '',
8690                'link_class' => '',
8691                'prefix' => '',
8692                'suffix' => '',
8693                'target' => '',
8694                'nl2br' => FALSE,
8695                'max_length' => 0,
8696                'word_boundary' => TRUE,
8697                'ellipsis' => TRUE,
8698                'more_link' => FALSE,
8699                'more_link_text' => '',
8700                'more_link_path' => '',
8701                'strip_tags' => FALSE,
8702                'trim' => FALSE,
8703                'preserve_tags' => '',
8704                'html' => FALSE,
8705              ],
8706              'element_type' => '',
8707              'element_class' => '',
8708              'element_label_type' => '',
8709              'element_label_class' => '',
8710              'element_label_colon' => TRUE,
8711              'element_wrapper_type' => '',
8712              'element_wrapper_class' => '',
8713              'element_default_classes' => TRUE,
8714              'empty' => '',
8715              'hide_empty' => FALSE,
8716              'empty_zero' => FALSE,
8717              'hide_alter_empty' => TRUE,
8718            ],
8719          ],
8720          'pager' => [
8721            'type' => 'none',
8722            'options' => [
8723              'offset' => 0,
8724            ],
8725          ],
8726          'sorts' => [],
8727          'style' => [
8728            'type' => 'chart',
8729            'options' => [
8730              'grouping' => [],
8731              'chart_settings' => [
8732                'library' => 'chartjs',
8733                'type' => 'column',
8734                'fields' => [
8735                  'label' => 'visitors_week',
8736                  'stacking' => TRUE,
8737                  'data_providers' => [
8738                    'network' => [
8739                      'enabled' => TRUE,
8740                      'color' => '#0277bd',
8741                      'weight' => 7,
8742                    ],
8743                    'server' => [
8744                      'enabled' => TRUE,
8745                      'color' => '#ff8f00',
8746                      'weight' => 7,
8747                    ],
8748                    'transfer' => [
8749                      'enabled' => TRUE,
8750                      'color' => '#ad1457',
8751                      'weight' => 7,
8752                    ],
8753                    'dom_processing' => [
8754                      'enabled' => TRUE,
8755                      'color' => '#6a1b9a',
8756                      'weight' => 7,
8757                    ],
8758                    'dom_complete' => [
8759                      'enabled' => TRUE,
8760                      'color' => '#558b2f',
8761                      'weight' => 7,
8762                    ],
8763                    'on_load' => [
8764                      'enabled' => TRUE,
8765                      'color' => '#00838f',
8766                      'weight' => 7,
8767                    ],
8768                    'visitors_week' => [
8769                      'enabled' => FALSE,
8770                      'color' => '#7643b6',
8771                      'weight' => 7,
8772                    ],
8773                  ],
8774                ],
8775                'display' => [
8776                  'title' => '',
8777                  'title_position' => '',
8778                  'subtitle' => '',
8779                  'data_labels' => FALSE,
8780                  'data_markers' => TRUE,
8781                  'legend_position' => 'bottom',
8782                  'background' => '',
8783                  'three_dimensional' => 0,
8784                  'polar' => 0,
8785                  'tooltips' => TRUE,
8786                  'dimensions' => [
8787                    'width' => '',
8788                    'width_units' => '',
8789                    'height' => '',
8790                    'height_units' => '',
8791                  ],
8792                  'gauge' => [
8793                    'max' => '',
8794                    'min' => '',
8795                    'green_from' => '',
8796                    'green_to' => '',
8797                    'yellow_from' => '',
8798                    'yellow_to' => '',
8799                    'red_from' => '',
8800                    'red_to' => '',
8801                  ],
8802                  'color_changer' => FALSE,
8803                ],
8804                'xaxis' => [
8805                  'title' => '',
8806                  'labels_rotation' => '0',
8807                ],
8808                'yaxis' => [
8809                  'title' => '',
8810                  'min' => '',
8811                  'max' => '',
8812                  'prefix' => '',
8813                  'suffix' => '',
8814                  'decimal_count' => '',
8815                  'labels_rotation' => '0',
8816                ],
8817              ],
8818            ],
8819          ],
8820          'row' => [
8821            'type' => 'fields',
8822            'options' => [
8823              'default_field_elements' => TRUE,
8824              'inline' => [],
8825              'separator' => '',
8826              'hide_empty' => FALSE,
8827            ],
8828          ],
8829          'defaults' => [
8830            'pager' => FALSE,
8831            'style' => FALSE,
8832            'row' => FALSE,
8833            'relationships' => FALSE,
8834            'fields' => FALSE,
8835            'sorts' => FALSE,
8836          ],
8837          'relationships' => [
8838            'visitors_performance' => [
8839              'id' => 'visitors_performance',
8840              'table' => 'visitors',
8841              'field' => 'visitors_performance',
8842              'relationship' => 'none',
8843              'group_type' => 'group',
8844              'admin_label' => 'Visitor performance',
8845              'plugin_id' => 'standard',
8846              'required' => TRUE,
8847            ],
8848          ],
8849          'display_description' => '',
8850          'display_extenders' => [],
8851        ],
8852        'cache_metadata' => [
8853          'max-age' => -1,
8854          'contexts' => [
8855            0 => 'languages:language_interface',
8856          ],
8857          'tags' => [],
8858        ],
8859      ],
8860      'recent_view_table' => [
8861        'id' => 'recent_view_table',
8862        'display_title' => 'Recent views',
8863        'display_plugin' => 'embed',
8864        'position' => 19,
8865        'display_options' => [
8866          'fields' => [
8867            'visitors_id' => [
8868              'id' => 'visitors_id',
8869              'table' => 'visitors',
8870              'field' => 'visitors_id',
8871              'relationship' => 'none',
8872              'group_type' => 'group',
8873              'admin_label' => '',
8874              'plugin_id' => 'numeric',
8875              'label' => 'Visitors ID',
8876              'exclude' => TRUE,
8877              'alter' => [
8878                'alter_text' => FALSE,
8879                'text' => '',
8880                'make_link' => FALSE,
8881                'path' => '',
8882                'absolute' => FALSE,
8883                'external' => FALSE,
8884                'replace_spaces' => FALSE,
8885                'path_case' => 'none',
8886                'trim_whitespace' => FALSE,
8887                'alt' => '',
8888                'rel' => '',
8889                'link_class' => '',
8890                'prefix' => '',
8891                'suffix' => '',
8892                'target' => '',
8893                'nl2br' => FALSE,
8894                'max_length' => 0,
8895                'word_boundary' => TRUE,
8896                'ellipsis' => TRUE,
8897                'more_link' => FALSE,
8898                'more_link_text' => '',
8899                'more_link_path' => '',
8900                'strip_tags' => FALSE,
8901                'trim' => FALSE,
8902                'preserve_tags' => '',
8903                'html' => FALSE,
8904              ],
8905              'element_type' => '',
8906              'element_class' => '',
8907              'element_label_type' => '',
8908              'element_label_class' => '',
8909              'element_label_colon' => TRUE,
8910              'element_wrapper_type' => '',
8911              'element_wrapper_class' => '',
8912              'element_default_classes' => TRUE,
8913              'empty' => '',
8914              'hide_empty' => FALSE,
8915              'empty_zero' => FALSE,
8916              'hide_alter_empty' => TRUE,
8917              'set_precision' => FALSE,
8918              'precision' => 0,
8919              'decimal' => '.',
8920              'separator' => ',',
8921              'format_plural' => FALSE,
8922              'format_plural_string' => '1
8923  \x03
8924  @count',
8925              'prefix' => '',
8926              'suffix' => '',
8927            ],
8928            'visitors_url' => [
8929              'id' => 'visitors_url',
8930              'table' => 'visitors',
8931              'field' => 'visitors_url',
8932              'relationship' => 'none',
8933              'group_type' => 'group',
8934              'admin_label' => '',
8935              'plugin_id' => 'standard',
8936              'label' => 'URL',
8937              'exclude' => FALSE,
8938              'alter' => [
8939                'alter_text' => FALSE,
8940                'text' => '',
8941                'make_link' => FALSE,
8942                'path' => '',
8943                'absolute' => FALSE,
8944                'external' => FALSE,
8945                'replace_spaces' => FALSE,
8946                'path_case' => 'none',
8947                'trim_whitespace' => FALSE,
8948                'alt' => '',
8949                'rel' => '',
8950                'link_class' => '',
8951                'prefix' => '',
8952                'suffix' => '',
8953                'target' => '',
8954                'nl2br' => FALSE,
8955                'max_length' => 0,
8956                'word_boundary' => TRUE,
8957                'ellipsis' => TRUE,
8958                'more_link' => FALSE,
8959                'more_link_text' => '',
8960                'more_link_path' => '',
8961                'strip_tags' => FALSE,
8962                'trim' => FALSE,
8963                'preserve_tags' => '',
8964                'html' => FALSE,
8965              ],
8966              'element_type' => '',
8967              'element_class' => '',
8968              'element_label_type' => '',
8969              'element_label_class' => '',
8970              'element_label_colon' => TRUE,
8971              'element_wrapper_type' => '',
8972              'element_wrapper_class' => '',
8973              'element_default_classes' => TRUE,
8974              'empty' => '',
8975              'hide_empty' => FALSE,
8976              'empty_zero' => FALSE,
8977              'hide_alter_empty' => TRUE,
8978            ],
8979            'visitors_date_time' => [
8980              'id' => 'visitors_date_time',
8981              'table' => 'visitors',
8982              'field' => 'visitors_date_time',
8983              'relationship' => 'none',
8984              'group_type' => 'group',
8985              'admin_label' => '',
8986              'plugin_id' => 'date',
8987              'label' => 'Date Time',
8988              'exclude' => FALSE,
8989              'alter' => [
8990                'alter_text' => FALSE,
8991                'text' => '',
8992                'make_link' => FALSE,
8993                'path' => '',
8994                'absolute' => FALSE,
8995                'external' => FALSE,
8996                'replace_spaces' => FALSE,
8997                'path_case' => 'none',
8998                'trim_whitespace' => FALSE,
8999                'alt' => '',
9000                'rel' => '',
9001                'link_class' => '',
9002                'prefix' => '',
9003                'suffix' => '',
9004                'target' => '',
9005                'nl2br' => FALSE,
9006                'max_length' => 0,
9007                'word_boundary' => TRUE,
9008                'ellipsis' => TRUE,
9009                'more_link' => FALSE,
9010                'more_link_text' => '',
9011                'more_link_path' => '',
9012                'strip_tags' => FALSE,
9013                'trim' => FALSE,
9014                'preserve_tags' => '',
9015                'html' => FALSE,
9016              ],
9017              'element_type' => '',
9018              'element_class' => '',
9019              'element_label_type' => '',
9020              'element_label_class' => '',
9021              'element_label_colon' => TRUE,
9022              'element_wrapper_type' => '',
9023              'element_wrapper_class' => '',
9024              'element_default_classes' => TRUE,
9025              'empty' => '',
9026              'hide_empty' => FALSE,
9027              'empty_zero' => FALSE,
9028              'hide_alter_empty' => TRUE,
9029              'date_format' => 'short',
9030              'custom_date_format' => '',
9031              'timezone' => '',
9032            ],
9033            'visitor_id' => [
9034              'id' => 'visitor_id',
9035              'table' => 'visitors',
9036              'field' => 'visitor_id',
9037              'relationship' => 'none',
9038              'group_type' => 'group',
9039              'admin_label' => '',
9040              'plugin_id' => 'standard',
9041              'label' => 'Visitor',
9042              'exclude' => FALSE,
9043              'alter' => [
9044                'alter_text' => FALSE,
9045                'text' => '',
9046                'make_link' => FALSE,
9047                'path' => '',
9048                'absolute' => FALSE,
9049                'external' => FALSE,
9050                'replace_spaces' => FALSE,
9051                'path_case' => 'none',
9052                'trim_whitespace' => FALSE,
9053                'alt' => '',
9054                'rel' => '',
9055                'link_class' => '',
9056                'prefix' => '',
9057                'suffix' => '',
9058                'target' => '',
9059                'nl2br' => FALSE,
9060                'max_length' => 0,
9061                'word_boundary' => TRUE,
9062                'ellipsis' => TRUE,
9063                'more_link' => FALSE,
9064                'more_link_text' => '',
9065                'more_link_path' => '',
9066                'strip_tags' => FALSE,
9067                'trim' => FALSE,
9068                'preserve_tags' => '',
9069                'html' => FALSE,
9070              ],
9071              'element_type' => '',
9072              'element_class' => '',
9073              'element_label_type' => '',
9074              'element_label_class' => '',
9075              'element_label_colon' => TRUE,
9076              'element_wrapper_type' => '',
9077              'element_wrapper_class' => '',
9078              'element_default_classes' => TRUE,
9079              'empty' => '',
9080              'hide_empty' => FALSE,
9081              'empty_zero' => FALSE,
9082              'hide_alter_empty' => TRUE,
9083            ],
9084            'nothing' => [
9085              'id' => 'nothing',
9086              'table' => 'views',
9087              'field' => 'nothing',
9088              'relationship' => 'none',
9089              'group_type' => 'group',
9090              'admin_label' => '',
9091              'plugin_id' => 'custom',
9092              'label' => 'Operations',
9093              'exclude' => FALSE,
9094              'alter' => [
9095                'alter_text' => TRUE,
9096                'text' => 'details',
9097                'make_link' => TRUE,
9098                'path' => 'internal:/visitors/hits/{{ visitors_id }}',
9099                'absolute' => FALSE,
9100                'external' => FALSE,
9101                'replace_spaces' => FALSE,
9102                'path_case' => 'none',
9103                'trim_whitespace' => FALSE,
9104                'alt' => '',
9105                'rel' => '',
9106                'link_class' => '',
9107                'prefix' => '',
9108                'suffix' => '',
9109                'target' => '',
9110                'nl2br' => FALSE,
9111                'max_length' => 0,
9112                'word_boundary' => TRUE,
9113                'ellipsis' => TRUE,
9114                'more_link' => FALSE,
9115                'more_link_text' => '',
9116                'more_link_path' => '',
9117                'strip_tags' => FALSE,
9118                'trim' => FALSE,
9119                'preserve_tags' => '',
9120                'html' => FALSE,
9121              ],
9122              'element_type' => '',
9123              'element_class' => '',
9124              'element_label_type' => '',
9125              'element_label_class' => '',
9126              'element_label_colon' => TRUE,
9127              'element_wrapper_type' => '',
9128              'element_wrapper_class' => '',
9129              'element_default_classes' => TRUE,
9130              'empty' => '',
9131              'hide_empty' => FALSE,
9132              'empty_zero' => FALSE,
9133              'hide_alter_empty' => FALSE,
9134            ],
9135          ],
9136          'pager' => [
9137            'type' => 'full',
9138            'options' => [
9139              'offset' => 0,
9140              'items_per_page' => 10,
9141              'total_pages' => NULL,
9142              'id' => 0,
9143              'tags' => [
9144                'next' => '››',
9145                'previous' => '‹‹',
9146                'first' => '« First',
9147                'last' => 'Last Â»',
9148              ],
9149              'expose' => [
9150                'items_per_page' => FALSE,
9151                'items_per_page_label' => 'Items per page',
9152                'items_per_page_options' => '5, 10, 25, 50',
9153                'items_per_page_options_all' => FALSE,
9154                'items_per_page_options_all_label' => '- All -',
9155                'offset' => FALSE,
9156                'offset_label' => 'Offset',
9157              ],
9158              'quantity' => 9,
9159            ],
9160          ],
9161          'sorts' => [],
9162          'arguments' => [
9163            'route' => [
9164              'id' => 'route',
9165              'table' => 'visitors',
9166              'field' => 'route',
9167              'relationship' => 'none',
9168              'group_type' => 'group',
9169              'admin_label' => '',
9170              'plugin_id' => 'string',
9171              'default_action' => 'ignore',
9172              'exception' => [
9173                'value' => 'all',
9174                'title_enable' => FALSE,
9175                'title' => 'All',
9176              ],
9177              'title_enable' => FALSE,
9178              'title' => '',
9179              'default_argument_type' => 'fixed',
9180              'default_argument_options' => [
9181                'argument' => '',
9182              ],
9183              'summary_options' => [
9184                'base_path' => '',
9185                'count' => TRUE,
9186                'override' => FALSE,
9187                'items_per_page' => 25,
9188              ],
9189              'summary' => [
9190                'sort_order' => 'asc',
9191                'number_of_records' => 0,
9192                'format' => 'default_summary',
9193              ],
9194              'specify_validation' => FALSE,
9195              'validate' => [
9196                'type' => 'none',
9197                'fail' => 'not found',
9198              ],
9199              'validate_options' => [],
9200              'glossary' => FALSE,
9201              'limit' => 0,
9202              'case' => 'none',
9203              'path_case' => 'none',
9204              'transform_dash' => FALSE,
9205              'break_phrase' => FALSE,
9206            ],
9207            'visitors_ip' => [
9208              'id' => 'visitors_ip',
9209              'table' => 'visitors',
9210              'field' => 'visitors_ip',
9211              'relationship' => 'none',
9212              'group_type' => 'group',
9213              'admin_label' => '',
9214              'plugin_id' => 'string',
9215              'default_action' => 'ignore',
9216              'exception' => [
9217                'value' => 'all',
9218                'title_enable' => FALSE,
9219                'title' => 'All',
9220              ],
9221              'title_enable' => FALSE,
9222              'title' => '',
9223              'default_argument_type' => 'fixed',
9224              'default_argument_options' => [
9225                'argument' => '',
9226              ],
9227              'summary_options' => [
9228                'base_path' => '',
9229                'count' => TRUE,
9230                'override' => FALSE,
9231                'items_per_page' => 25,
9232              ],
9233              'summary' => [
9234                'sort_order' => 'asc',
9235                'number_of_records' => 0,
9236                'format' => 'default_summary',
9237              ],
9238              'specify_validation' => FALSE,
9239              'validate' => [
9240                'type' => 'none',
9241                'fail' => 'not found',
9242              ],
9243              'validate_options' => [],
9244              'glossary' => FALSE,
9245              'limit' => 0,
9246              'case' => 'none',
9247              'path_case' => 'none',
9248              'transform_dash' => FALSE,
9249              'break_phrase' => FALSE,
9250            ],
9251            'location_country' => [
9252              'id' => 'location_country',
9253              'table' => 'visitors',
9254              'field' => 'location_country',
9255              'relationship' => 'none',
9256              'group_type' => 'group',
9257              'admin_label' => '',
9258              'plugin_id' => 'string',
9259              'default_action' => 'ignore',
9260              'exception' => [
9261                'value' => 'all',
9262                'title_enable' => FALSE,
9263                'title' => 'All',
9264              ],
9265              'title_enable' => FALSE,
9266              'title' => '',
9267              'default_argument_type' => 'fixed',
9268              'default_argument_options' => [
9269                'argument' => '',
9270              ],
9271              'summary_options' => [
9272                'base_path' => '',
9273                'count' => TRUE,
9274                'override' => FALSE,
9275                'items_per_page' => 25,
9276              ],
9277              'summary' => [
9278                'sort_order' => 'asc',
9279                'number_of_records' => 0,
9280                'format' => 'default_summary',
9281              ],
9282              'specify_validation' => FALSE,
9283              'validate' => [
9284                'type' => 'none',
9285                'fail' => 'not found',
9286              ],
9287              'validate_options' => [],
9288              'glossary' => FALSE,
9289              'limit' => 0,
9290              'case' => 'upper',
9291              'path_case' => 'none',
9292              'transform_dash' => FALSE,
9293              'break_phrase' => FALSE,
9294            ],
9295          ],
9296          'filters' => [
9297            'bot' => [
9298              'id' => 'bot',
9299              'table' => 'visitors',
9300              'field' => 'bot',
9301              'relationship' => 'none',
9302              'group_type' => 'group',
9303              'admin_label' => '',
9304              'plugin_id' => 'boolean',
9305              'operator' => '!=',
9306              'value' => '1',
9307              'group' => 1,
9308              'exposed' => FALSE,
9309              'expose' => [
9310                'operator_id' => '',
9311                'label' => '',
9312                'description' => '',
9313                'use_operator' => FALSE,
9314                'operator' => '',
9315                'operator_limit_selection' => FALSE,
9316                'operator_list' => [],
9317                'identifier' => '',
9318                'required' => FALSE,
9319                'remember' => FALSE,
9320                'multiple' => FALSE,
9321                'remember_roles' => [
9322                  'authenticated' => 'authenticated',
9323                ],
9324              ],
9325              'is_grouped' => FALSE,
9326              'group_info' => [
9327                'label' => '',
9328                'description' => '',
9329                'identifier' => '',
9330                'optional' => TRUE,
9331                'widget' => 'select',
9332                'multiple' => FALSE,
9333                'remember' => FALSE,
9334                'default_group' => 'All',
9335                'default_group_multiple' => [],
9336                'group_items' => [],
9337              ],
9338            ],
9339            'visitors_date_time' => [
9340              'id' => 'visitors_date_time',
9341              'table' => 'visitors',
9342              'field' => 'visitors_date_time',
9343              'relationship' => 'none',
9344              'group_type' => 'group',
9345              'admin_label' => '',
9346              'plugin_id' => 'visitors_date',
9347              'operator' => 'between',
9348              'value' => [
9349                'min' => 'to',
9350                'max' => 'from',
9351                'value' => '',
9352                'type' => 'global',
9353              ],
9354              'group' => 1,
9355              'exposed' => FALSE,
9356              'expose' => [
9357                'operator_id' => '',
9358                'label' => '',
9359                'description' => '',
9360                'use_operator' => FALSE,
9361                'operator' => '',
9362                'operator_limit_selection' => FALSE,
9363                'operator_list' => [],
9364                'identifier' => '',
9365                'required' => FALSE,
9366                'remember' => FALSE,
9367                'multiple' => FALSE,
9368                'remember_roles' => [
9369                  'authenticated' => 'authenticated',
9370                ],
9371                'min_placeholder' => '',
9372                'max_placeholder' => '',
9373                'placeholder' => '',
9374              ],
9375              'is_grouped' => FALSE,
9376              'group_info' => [
9377                'label' => '',
9378                'description' => '',
9379                'identifier' => '',
9380                'optional' => TRUE,
9381                'widget' => 'select',
9382                'multiple' => FALSE,
9383                'remember' => FALSE,
9384                'default_group' => 'All',
9385                'default_group_multiple' => [],
9386                'group_items' => [],
9387              ],
9388            ],
9389            'visitors_path' => [
9390              'id' => 'visitors_path',
9391              'table' => 'visitors',
9392              'field' => 'visitors_path',
9393              'relationship' => 'none',
9394              'group_type' => 'group',
9395              'admin_label' => '',
9396              'plugin_id' => 'string',
9397              'operator' => 'starts',
9398              'value' => '',
9399              'group' => 1,
9400              'exposed' => TRUE,
9401              'expose' => [
9402                'operator_id' => 'visitors_path_op',
9403                'label' => 'Path',
9404                'description' => '',
9405                'use_operator' => FALSE,
9406                'operator' => 'visitors_path_op',
9407                'operator_limit_selection' => FALSE,
9408                'operator_list' => [],
9409                'identifier' => 'visitors_path',
9410                'required' => FALSE,
9411                'remember' => FALSE,
9412                'multiple' => FALSE,
9413                'remember_roles' => [
9414                  'authenticated' => 'authenticated',
9415                  'anonymous' => '0',
9416                  'content_editor' => '0',
9417                  'administrator' => '0',
9418                ],
9419                'placeholder' => '',
9420              ],
9421              'is_grouped' => FALSE,
9422              'group_info' => [
9423                'label' => '',
9424                'description' => '',
9425                'identifier' => '',
9426                'optional' => TRUE,
9427                'widget' => 'select',
9428                'multiple' => FALSE,
9429                'remember' => FALSE,
9430                'default_group' => 'All',
9431                'default_group_multiple' => [],
9432                'group_items' => [],
9433              ],
9434            ],
9435          ],
9436          'filter_groups' => [
9437            'operator' => 'AND',
9438            'groups' => [
9439              1 => 'AND',
9440            ],
9441          ],
9442          'style' => [
9443            'type' => 'table',
9444            'options' => [
9445              'grouping' => [],
9446              'row_class' => '',
9447              'default_row_class' => TRUE,
9448              'columns' => [
9449                'visitors_id' => 'visitors_id',
9450                'visitors_url' => 'visitors_url',
9451                'visitors_date_time' => 'visitors_date_time',
9452                'visitor_id' => 'visitor_id',
9453                'nothing' => 'nothing',
9454              ],
9455              'default' => 'visitors_date_time',
9456              'info' => [
9457                'visitors_id' => [
9458                  'sortable' => FALSE,
9459                  'default_sort_order' => 'asc',
9460                  'align' => '',
9461                  'separator' => '',
9462                  'empty_column' => FALSE,
9463                  'responsive' => '',
9464                ],
9465                'visitors_url' => [
9466                  'sortable' => FALSE,
9467                  'default_sort_order' => 'asc',
9468                  'align' => '',
9469                  'separator' => '',
9470                  'empty_column' => FALSE,
9471                  'responsive' => '',
9472                ],
9473                'visitors_date_time' => [
9474                  'sortable' => TRUE,
9475                  'default_sort_order' => 'desc',
9476                  'align' => '',
9477                  'separator' => '',
9478                  'empty_column' => FALSE,
9479                  'responsive' => '',
9480                ],
9481                'visitor_id' => [
9482                  'sortable' => FALSE,
9483                  'default_sort_order' => 'desc',
9484                  'align' => '',
9485                  'separator' => '',
9486                  'empty_column' => FALSE,
9487                  'responsive' => '',
9488                ],
9489                'nothing' => [
9490                  'align' => '',
9491                  'separator' => '',
9492                  'empty_column' => FALSE,
9493                  'responsive' => '',
9494                ],
9495              ],
9496              'override' => TRUE,
9497              'sticky' => TRUE,
9498              'summary' => '',
9499              'empty_table' => FALSE,
9500              'caption' => '',
9501              'description' => '',
9502            ],
9503          ],
9504          'row' => [
9505            'type' => 'fields',
9506            'options' => [
9507              'default_field_elements' => TRUE,
9508              'inline' => [],
9509              'separator' => '',
9510              'hide_empty' => FALSE,
9511            ],
9512          ],
9513          'defaults' => [
9514            'pager' => FALSE,
9515            'group_by' => FALSE,
9516            'style' => FALSE,
9517            'row' => FALSE,
9518            'relationships' => FALSE,
9519            'fields' => FALSE,
9520            'sorts' => FALSE,
9521            'arguments' => FALSE,
9522            'filters' => FALSE,
9523            'filter_groups' => FALSE,
9524            'header' => FALSE,
9525          ],
9526          'relationships' => [],
9527          'group_by' => FALSE,
9528          'display_description' => '',
9529          'header' => [
9530            'result' => [
9531              'id' => 'result',
9532              'table' => 'views',
9533              'field' => 'result',
9534              'relationship' => 'none',
9535              'group_type' => 'group',
9536              'admin_label' => '',
9537              'plugin_id' => 'result',
9538              'empty' => FALSE,
9539              'content' => 'Displaying @start - @end of @total',
9540            ],
9541          ],
9542          'display_extenders' => [],
9543        ],
9544        'cache_metadata' => [
9545          'max-age' => -1,
9546          'contexts' => [
9547            0 => 'languages:language_interface',
9548            1 => 'url',
9549            2 => 'url.query_args',
9550          ],
9551          'tags' => [],
9552        ],
9553      ],
9554      'referrer_table' => [
9555        'id' => 'referrer_table',
9556        'display_title' => 'Referrer views',
9557        'display_plugin' => 'embed',
9558        'position' => 19,
9559        'display_options' => [
9560          'fields' => [
9561            'visitors_id' => [
9562              'id' => 'visitors_id',
9563              'table' => 'visitors',
9564              'field' => 'visitors_id',
9565              'relationship' => 'none',
9566              'group_type' => 'group',
9567              'admin_label' => '',
9568              'plugin_id' => 'numeric',
9569              'label' => 'Visitors ID',
9570              'exclude' => TRUE,
9571              'alter' => [
9572                'alter_text' => FALSE,
9573                'text' => '',
9574                'make_link' => FALSE,
9575                'path' => '',
9576                'absolute' => FALSE,
9577                'external' => FALSE,
9578                'replace_spaces' => FALSE,
9579                'path_case' => 'none',
9580                'trim_whitespace' => FALSE,
9581                'alt' => '',
9582                'rel' => '',
9583                'link_class' => '',
9584                'prefix' => '',
9585                'suffix' => '',
9586                'target' => '',
9587                'nl2br' => FALSE,
9588                'max_length' => 0,
9589                'word_boundary' => TRUE,
9590                'ellipsis' => TRUE,
9591                'more_link' => FALSE,
9592                'more_link_text' => '',
9593                'more_link_path' => '',
9594                'strip_tags' => FALSE,
9595                'trim' => FALSE,
9596                'preserve_tags' => '',
9597                'html' => FALSE,
9598              ],
9599              'element_type' => '',
9600              'element_class' => '',
9601              'element_label_type' => '',
9602              'element_label_class' => '',
9603              'element_label_colon' => TRUE,
9604              'element_wrapper_type' => '',
9605              'element_wrapper_class' => '',
9606              'element_default_classes' => TRUE,
9607              'empty' => '',
9608              'hide_empty' => FALSE,
9609              'empty_zero' => FALSE,
9610              'hide_alter_empty' => TRUE,
9611              'set_precision' => FALSE,
9612              'precision' => 0,
9613              'decimal' => '.',
9614              'separator' => ',',
9615              'format_plural' => FALSE,
9616              'format_plural_string' => '1
9617  \x03
9618  @count',
9619              'prefix' => '',
9620              'suffix' => '',
9621            ],
9622            'visitors_referer' => [
9623              'id' => 'visitors_referer',
9624              'table' => 'visitors',
9625              'field' => 'visitors_referer',
9626              'relationship' => 'none',
9627              'group_type' => 'group',
9628              'admin_label' => '',
9629              'plugin_id' => 'standard',
9630              'label' => 'Referrer',
9631              'exclude' => FALSE,
9632              'alter' => [
9633                'alter_text' => FALSE,
9634                'text' => '',
9635                'make_link' => FALSE,
9636                'path' => '',
9637                'absolute' => FALSE,
9638                'external' => FALSE,
9639                'replace_spaces' => FALSE,
9640                'path_case' => 'none',
9641                'trim_whitespace' => FALSE,
9642                'alt' => '',
9643                'rel' => '',
9644                'link_class' => '',
9645                'prefix' => '',
9646                'suffix' => '',
9647                'target' => '',
9648                'nl2br' => FALSE,
9649                'max_length' => 0,
9650                'word_boundary' => TRUE,
9651                'ellipsis' => TRUE,
9652                'more_link' => FALSE,
9653                'more_link_text' => '',
9654                'more_link_path' => '',
9655                'strip_tags' => FALSE,
9656                'trim' => FALSE,
9657                'preserve_tags' => '',
9658                'html' => FALSE,
9659              ],
9660              'element_type' => '',
9661              'element_class' => '',
9662              'element_label_type' => '',
9663              'element_label_class' => '',
9664              'element_label_colon' => TRUE,
9665              'element_wrapper_type' => '',
9666              'element_wrapper_class' => '',
9667              'element_default_classes' => TRUE,
9668              'empty' => '(Direct Entry)',
9669              'hide_empty' => FALSE,
9670              'empty_zero' => FALSE,
9671              'hide_alter_empty' => TRUE,
9672            ],
9673            'visitors_date_time' => [
9674              'id' => 'visitors_date_time',
9675              'table' => 'visitors',
9676              'field' => 'visitors_date_time',
9677              'relationship' => 'none',
9678              'group_type' => 'group',
9679              'admin_label' => '',
9680              'plugin_id' => 'date',
9681              'label' => 'Date Time',
9682              'exclude' => FALSE,
9683              'alter' => [
9684                'alter_text' => FALSE,
9685                'text' => '',
9686                'make_link' => FALSE,
9687                'path' => '',
9688                'absolute' => FALSE,
9689                'external' => FALSE,
9690                'replace_spaces' => FALSE,
9691                'path_case' => 'none',
9692                'trim_whitespace' => FALSE,
9693                'alt' => '',
9694                'rel' => '',
9695                'link_class' => '',
9696                'prefix' => '',
9697                'suffix' => '',
9698                'target' => '',
9699                'nl2br' => FALSE,
9700                'max_length' => 0,
9701                'word_boundary' => TRUE,
9702                'ellipsis' => TRUE,
9703                'more_link' => FALSE,
9704                'more_link_text' => '',
9705                'more_link_path' => '',
9706                'strip_tags' => FALSE,
9707                'trim' => FALSE,
9708                'preserve_tags' => '',
9709                'html' => FALSE,
9710              ],
9711              'element_type' => '',
9712              'element_class' => '',
9713              'element_label_type' => '',
9714              'element_label_class' => '',
9715              'element_label_colon' => TRUE,
9716              'element_wrapper_type' => '',
9717              'element_wrapper_class' => '',
9718              'element_default_classes' => TRUE,
9719              'empty' => '',
9720              'hide_empty' => FALSE,
9721              'empty_zero' => FALSE,
9722              'hide_alter_empty' => TRUE,
9723              'date_format' => 'fallback',
9724              'custom_date_format' => '',
9725              'timezone' => '',
9726            ],
9727            'visitor_id' => [
9728              'id' => 'visitor_id',
9729              'table' => 'visitors',
9730              'field' => 'visitor_id',
9731              'relationship' => 'none',
9732              'group_type' => 'group',
9733              'admin_label' => '',
9734              'plugin_id' => 'standard',
9735              'label' => 'Visitor',
9736              'exclude' => FALSE,
9737              'alter' => [
9738                'alter_text' => FALSE,
9739                'text' => '',
9740                'make_link' => FALSE,
9741                'path' => '',
9742                'absolute' => FALSE,
9743                'external' => FALSE,
9744                'replace_spaces' => FALSE,
9745                'path_case' => 'none',
9746                'trim_whitespace' => FALSE,
9747                'alt' => '',
9748                'rel' => '',
9749                'link_class' => '',
9750                'prefix' => '',
9751                'suffix' => '',
9752                'target' => '',
9753                'nl2br' => FALSE,
9754                'max_length' => 0,
9755                'word_boundary' => TRUE,
9756                'ellipsis' => TRUE,
9757                'more_link' => FALSE,
9758                'more_link_text' => '',
9759                'more_link_path' => '',
9760                'strip_tags' => FALSE,
9761                'trim' => FALSE,
9762                'preserve_tags' => '',
9763                'html' => FALSE,
9764              ],
9765              'element_type' => '',
9766              'element_class' => '',
9767              'element_label_type' => '',
9768              'element_label_class' => '',
9769              'element_label_colon' => TRUE,
9770              'element_wrapper_type' => '',
9771              'element_wrapper_class' => '',
9772              'element_default_classes' => TRUE,
9773              'empty' => '',
9774              'hide_empty' => FALSE,
9775              'empty_zero' => FALSE,
9776              'hide_alter_empty' => TRUE,
9777            ],
9778            'nothing' => [
9779              'id' => 'nothing',
9780              'table' => 'views',
9781              'field' => 'nothing',
9782              'relationship' => 'none',
9783              'group_type' => 'group',
9784              'admin_label' => '',
9785              'plugin_id' => 'custom',
9786              'label' => 'Operations',
9787              'exclude' => FALSE,
9788              'alter' => [
9789                'alter_text' => TRUE,
9790                'text' => 'details',
9791                'make_link' => TRUE,
9792                'path' => 'internal:/visitors/hits/{{ visitors_id }}',
9793                'absolute' => FALSE,
9794                'external' => FALSE,
9795                'replace_spaces' => FALSE,
9796                'path_case' => 'none',
9797                'trim_whitespace' => FALSE,
9798                'alt' => '',
9799                'rel' => '',
9800                'link_class' => '',
9801                'prefix' => '',
9802                'suffix' => '',
9803                'target' => '',
9804                'nl2br' => FALSE,
9805                'max_length' => 0,
9806                'word_boundary' => TRUE,
9807                'ellipsis' => TRUE,
9808                'more_link' => FALSE,
9809                'more_link_text' => '',
9810                'more_link_path' => '',
9811                'strip_tags' => FALSE,
9812                'trim' => FALSE,
9813                'preserve_tags' => '',
9814                'html' => FALSE,
9815              ],
9816              'element_type' => '',
9817              'element_class' => '',
9818              'element_label_type' => '',
9819              'element_label_class' => '',
9820              'element_label_colon' => TRUE,
9821              'element_wrapper_type' => '',
9822              'element_wrapper_class' => '',
9823              'element_default_classes' => TRUE,
9824              'empty' => '',
9825              'hide_empty' => FALSE,
9826              'empty_zero' => FALSE,
9827              'hide_alter_empty' => FALSE,
9828            ],
9829          ],
9830          'pager' => [
9831            'type' => 'full',
9832            'options' => [
9833              'offset' => 0,
9834              'items_per_page' => 10,
9835              'total_pages' => NULL,
9836              'id' => 0,
9837              'tags' => [
9838                'next' => '››',
9839                'previous' => '‹‹',
9840                'first' => '« First',
9841                'last' => 'Last Â»',
9842              ],
9843              'expose' => [
9844                'items_per_page' => FALSE,
9845                'items_per_page_label' => 'Items per page',
9846                'items_per_page_options' => '5, 10, 25, 50',
9847                'items_per_page_options_all' => FALSE,
9848                'items_per_page_options_all_label' => '- All -',
9849                'offset' => FALSE,
9850                'offset_label' => 'Offset',
9851              ],
9852              'quantity' => 9,
9853            ],
9854          ],
9855          'sorts' => [
9856            'visitors_id' => [
9857              'id' => 'visitors_id',
9858              'table' => 'visitors',
9859              'field' => 'visitors_id',
9860              'relationship' => 'none',
9861              'group_type' => 'group',
9862              'admin_label' => '',
9863              'plugin_id' => 'standard',
9864              'order' => 'DESC',
9865              'expose' => [
9866                'label' => '',
9867                'field_identifier' => '',
9868              ],
9869              'exposed' => FALSE,
9870            ],
9871          ],
9872          'arguments' => [
9873            'visitors_path' => [
9874              'id' => 'visitors_path',
9875              'table' => 'visitors',
9876              'field' => 'visitors_path',
9877              'relationship' => 'none',
9878              'group_type' => 'group',
9879              'admin_label' => '',
9880              'plugin_id' => 'string',
9881              'default_action' => 'default',
9882              'exception' => [
9883                'value' => 'all',
9884                'title_enable' => FALSE,
9885                'title' => 'All',
9886              ],
9887              'title_enable' => FALSE,
9888              'title' => '',
9889              'default_argument_type' => 'visitors_path',
9890              'default_argument_options' => [
9891                'pop' => 1,
9892                'route' => FALSE,
9893              ],
9894              'summary_options' => [
9895                'base_path' => '',
9896                'count' => TRUE,
9897                'override' => FALSE,
9898                'items_per_page' => 25,
9899              ],
9900              'summary' => [
9901                'sort_order' => 'asc',
9902                'number_of_records' => 0,
9903                'format' => 'default_summary',
9904              ],
9905              'specify_validation' => FALSE,
9906              'validate' => [
9907                'type' => 'none',
9908                'fail' => 'not found',
9909              ],
9910              'validate_options' => [],
9911              'glossary' => FALSE,
9912              'limit' => 0,
9913              'case' => 'none',
9914              'path_case' => 'none',
9915              'transform_dash' => FALSE,
9916              'break_phrase' => FALSE,
9917            ],
9918          ],
9919          'defaults' => [
9920            'pager' => FALSE,
9921            'group_by' => FALSE,
9922            'relationships' => FALSE,
9923            'fields' => FALSE,
9924            'sorts' => FALSE,
9925            'arguments' => FALSE,
9926            'header' => FALSE,
9927          ],
9928          'relationships' => [],
9929          'group_by' => FALSE,
9930          'display_description' => '',
9931          'header' => [
9932            'result' => [
9933              'id' => 'result',
9934              'table' => 'views',
9935              'field' => 'result',
9936              'relationship' => 'none',
9937              'group_type' => 'group',
9938              'admin_label' => '',
9939              'plugin_id' => 'result',
9940              'empty' => FALSE,
9941              'content' => 'Displaying @start - @end of @total',
9942            ],
9943          ],
9944          'display_extenders' => [],
9945        ],
9946        'cache_metadata' => [
9947          'max-age' => -1,
9948          'contexts' => [
9949            0 => 'languages:language_interface',
9950            1 => 'url',
9951            2 => 'url.query_args',
9952          ],
9953          'tags' => [],
9954        ],
9955      ],
9956      'top_host_table' => [
9957        'id' => 'top_host_table',
9958        'display_title' => 'Top Host',
9959        'display_plugin' => 'embed',
9960        'position' => 18,
9961        'display_options' => [
9962          'fields' => [
9963            'visitors_ip' => [
9964              'id' => 'visitors_ip',
9965              'table' => 'visitors',
9966              'field' => 'visitors_ip',
9967              'relationship' => 'none',
9968              'group_type' => 'group',
9969              'admin_label' => '',
9970              'plugin_id' => 'standard',
9971              'label' => 'Host',
9972              'exclude' => FALSE,
9973              'alter' => [
9974                'alter_text' => FALSE,
9975                'text' => '',
9976                'make_link' => TRUE,
9977                'path' => 'internal:/visitors/host/{{ visitors_ip }}',
9978                'absolute' => FALSE,
9979                'external' => FALSE,
9980                'replace_spaces' => FALSE,
9981                'path_case' => 'none',
9982                'trim_whitespace' => FALSE,
9983                'alt' => '',
9984                'rel' => '',
9985                'link_class' => '',
9986                'prefix' => '',
9987                'suffix' => '',
9988                'target' => '',
9989                'nl2br' => FALSE,
9990                'max_length' => 0,
9991                'word_boundary' => TRUE,
9992                'ellipsis' => TRUE,
9993                'more_link' => FALSE,
9994                'more_link_text' => '',
9995                'more_link_path' => '',
9996                'strip_tags' => FALSE,
9997                'trim' => FALSE,
9998                'preserve_tags' => '',
9999                'html' => FALSE,
10000              ],
10001              'element_type' => '',
10002              'element_class' => '',
10003              'element_label_type' => '',
10004              'element_label_class' => '',
10005              'element_label_colon' => TRUE,
10006              'element_wrapper_type' => '',
10007              'element_wrapper_class' => '',
10008              'element_default_classes' => TRUE,
10009              'empty' => '',
10010              'hide_empty' => FALSE,
10011              'empty_zero' => FALSE,
10012              'hide_alter_empty' => TRUE,
10013            ],
10014            'visitor_id' => [
10015              'id' => 'visitor_id',
10016              'table' => 'visitors',
10017              'field' => 'visitor_id',
10018              'relationship' => 'none',
10019              'group_type' => 'count_distinct',
10020              'admin_label' => '',
10021              'plugin_id' => 'standard',
10022              'label' => 'Unique visitors',
10023              'exclude' => FALSE,
10024              'alter' => [
10025                'alter_text' => FALSE,
10026                'text' => '',
10027                'make_link' => FALSE,
10028                'path' => '',
10029                'absolute' => FALSE,
10030                'external' => FALSE,
10031                'replace_spaces' => FALSE,
10032                'path_case' => 'none',
10033                'trim_whitespace' => FALSE,
10034                'alt' => '',
10035                'rel' => '',
10036                'link_class' => '',
10037                'prefix' => '',
10038                'suffix' => '',
10039                'target' => '',
10040                'nl2br' => FALSE,
10041                'max_length' => 0,
10042                'word_boundary' => TRUE,
10043                'ellipsis' => TRUE,
10044                'more_link' => FALSE,
10045                'more_link_text' => '',
10046                'more_link_path' => '',
10047                'strip_tags' => FALSE,
10048                'trim' => FALSE,
10049                'preserve_tags' => '',
10050                'html' => FALSE,
10051              ],
10052              'element_type' => '',
10053              'element_class' => '',
10054              'element_label_type' => '',
10055              'element_label_class' => '',
10056              'element_label_colon' => TRUE,
10057              'element_wrapper_type' => '',
10058              'element_wrapper_class' => '',
10059              'element_default_classes' => TRUE,
10060              'empty' => '',
10061              'hide_empty' => FALSE,
10062              'empty_zero' => FALSE,
10063              'hide_alter_empty' => TRUE,
10064            ],
10065          ],
10066          'defaults' => [
10067            'fields' => FALSE,
10068            'header' => FALSE,
10069          ],
10070          'display_description' => '',
10071          'header' => [
10072            'result' => [
10073              'id' => 'result',
10074              'table' => 'views',
10075              'field' => 'result',
10076              'relationship' => 'none',
10077              'group_type' => 'group',
10078              'admin_label' => '',
10079              'plugin_id' => 'result',
10080              'empty' => FALSE,
10081              'content' => 'Displaying @start - @end of @total',
10082            ],
10083          ],
10084          'display_extenders' => [],
10085        ],
10086        'cache_metadata' => [
10087          'max-age' => -1,
10088          'contexts' => [
10089            0 => 'languages:language_interface',
10090            1 => 'url.query_args',
10091          ],
10092          'tags' => [],
10093        ],
10094      ],
10095      'top_path_table' => [
10096        'id' => 'top_path_table',
10097        'display_title' => 'Top Path',
10098        'display_plugin' => 'embed',
10099        'position' => 16,
10100        'display_options' => [
10101          'title' => 'Path',
10102          'fields' => [
10103            'visitors_path' => [
10104              'id' => 'visitors_path',
10105              'table' => 'visitors',
10106              'field' => 'visitors_path',
10107              'relationship' => 'none',
10108              'group_type' => 'group',
10109              'admin_label' => '',
10110              'plugin_id' => 'standard',
10111              'label' => 'Path',
10112              'exclude' => FALSE,
10113              'alter' => [
10114                'alter_text' => FALSE,
10115                'text' => '',
10116                'make_link' => FALSE,
10117                'path' => '',
10118                'absolute' => FALSE,
10119                'external' => FALSE,
10120                'replace_spaces' => FALSE,
10121                'path_case' => 'none',
10122                'trim_whitespace' => FALSE,
10123                'alt' => '',
10124                'rel' => '',
10125                'link_class' => '',
10126                'prefix' => '',
10127                'suffix' => '',
10128                'target' => '',
10129                'nl2br' => FALSE,
10130                'max_length' => 0,
10131                'word_boundary' => TRUE,
10132                'ellipsis' => TRUE,
10133                'more_link' => FALSE,
10134                'more_link_text' => '',
10135                'more_link_path' => '',
10136                'strip_tags' => FALSE,
10137                'trim' => FALSE,
10138                'preserve_tags' => '',
10139                'html' => FALSE,
10140              ],
10141              'element_type' => '',
10142              'element_class' => '',
10143              'element_label_type' => '',
10144              'element_label_class' => '',
10145              'element_label_colon' => TRUE,
10146              'element_wrapper_type' => '',
10147              'element_wrapper_class' => '',
10148              'element_default_classes' => TRUE,
10149              'empty' => '',
10150              'hide_empty' => FALSE,
10151              'empty_zero' => FALSE,
10152              'hide_alter_empty' => TRUE,
10153            ],
10154            'visitor_id' => [
10155              'id' => 'visitor_id',
10156              'table' => 'visitors',
10157              'field' => 'visitor_id',
10158              'relationship' => 'none',
10159              'group_type' => 'count_distinct',
10160              'admin_label' => '',
10161              'plugin_id' => 'standard',
10162              'label' => 'Unique visitors',
10163              'exclude' => FALSE,
10164              'alter' => [
10165                'alter_text' => FALSE,
10166                'text' => '',
10167                'make_link' => FALSE,
10168                'path' => '',
10169                'absolute' => FALSE,
10170                'external' => FALSE,
10171                'replace_spaces' => FALSE,
10172                'path_case' => 'none',
10173                'trim_whitespace' => FALSE,
10174                'alt' => '',
10175                'rel' => '',
10176                'link_class' => '',
10177                'prefix' => '',
10178                'suffix' => '',
10179                'target' => '',
10180                'nl2br' => FALSE,
10181                'max_length' => 0,
10182                'word_boundary' => TRUE,
10183                'ellipsis' => TRUE,
10184                'more_link' => FALSE,
10185                'more_link_text' => '',
10186                'more_link_path' => '',
10187                'strip_tags' => FALSE,
10188                'trim' => FALSE,
10189                'preserve_tags' => '',
10190                'html' => FALSE,
10191              ],
10192              'element_type' => '',
10193              'element_class' => '',
10194              'element_label_type' => '',
10195              'element_label_class' => '',
10196              'element_label_colon' => TRUE,
10197              'element_wrapper_type' => '',
10198              'element_wrapper_class' => '',
10199              'element_default_classes' => TRUE,
10200              'empty' => '',
10201              'hide_empty' => FALSE,
10202              'empty_zero' => FALSE,
10203              'hide_alter_empty' => TRUE,
10204            ],
10205          ],
10206          'sorts' => [],
10207          'defaults' => [
10208            'title' => FALSE,
10209            'fields' => FALSE,
10210            'sorts' => FALSE,
10211            'header' => FALSE,
10212          ],
10213          'display_description' => '',
10214          'header' => [
10215            'result' => [
10216              'id' => 'result',
10217              'table' => 'views',
10218              'field' => 'result',
10219              'relationship' => 'none',
10220              'group_type' => 'group',
10221              'admin_label' => '',
10222              'plugin_id' => 'result',
10223              'empty' => FALSE,
10224              'content' => 'Displaying @start - @end of @total',
10225            ],
10226          ],
10227          'display_extenders' => [],
10228        ],
10229        'cache_metadata' => [
10230          'max-age' => -1,
10231          'contexts' => [
10232            0 => 'languages:language_interface',
10233            1 => 'url.query_args',
10234          ],
10235          'tags' => [],
10236        ],
10237      ],
10238      'top_route_table' => [
10239        'id' => 'top_route_table',
10240        'display_title' => 'Top Route',
10241        'display_plugin' => 'embed',
10242        'position' => 17,
10243        'display_options' => [
10244          'fields' => [
10245            'route' => [
10246              'id' => 'route',
10247              'table' => 'visitors',
10248              'field' => 'route',
10249              'relationship' => 'none',
10250              'group_type' => 'group',
10251              'admin_label' => '',
10252              'plugin_id' => 'standard',
10253              'label' => 'Route',
10254              'exclude' => FALSE,
10255              'alter' => [
10256                'alter_text' => FALSE,
10257                'text' => '',
10258                'make_link' => TRUE,
10259                'path' => 'internal:/visitors/route/{{ route }}',
10260                'absolute' => FALSE,
10261                'external' => FALSE,
10262                'replace_spaces' => FALSE,
10263                'path_case' => 'none',
10264                'trim_whitespace' => FALSE,
10265                'alt' => '',
10266                'rel' => '',
10267                'link_class' => '',
10268                'prefix' => '',
10269                'suffix' => '',
10270                'target' => '',
10271                'nl2br' => FALSE,
10272                'max_length' => 0,
10273                'word_boundary' => TRUE,
10274                'ellipsis' => TRUE,
10275                'more_link' => FALSE,
10276                'more_link_text' => '',
10277                'more_link_path' => '',
10278                'strip_tags' => FALSE,
10279                'trim' => FALSE,
10280                'preserve_tags' => '',
10281                'html' => FALSE,
10282              ],
10283              'element_type' => '',
10284              'element_class' => '',
10285              'element_label_type' => '',
10286              'element_label_class' => '',
10287              'element_label_colon' => TRUE,
10288              'element_wrapper_type' => '',
10289              'element_wrapper_class' => '',
10290              'element_default_classes' => TRUE,
10291              'empty' => '',
10292              'hide_empty' => FALSE,
10293              'empty_zero' => FALSE,
10294              'hide_alter_empty' => TRUE,
10295            ],
10296            'visitor_id' => [
10297              'id' => 'visitor_id',
10298              'table' => 'visitors',
10299              'field' => 'visitor_id',
10300              'relationship' => 'none',
10301              'group_type' => 'count_distinct',
10302              'admin_label' => '',
10303              'plugin_id' => 'standard',
10304              'label' => 'Unique visitors',
10305              'exclude' => FALSE,
10306              'alter' => [
10307                'alter_text' => FALSE,
10308                'text' => '',
10309                'make_link' => FALSE,
10310                'path' => '',
10311                'absolute' => FALSE,
10312                'external' => FALSE,
10313                'replace_spaces' => FALSE,
10314                'path_case' => 'none',
10315                'trim_whitespace' => FALSE,
10316                'alt' => '',
10317                'rel' => '',
10318                'link_class' => '',
10319                'prefix' => '',
10320                'suffix' => '',
10321                'target' => '',
10322                'nl2br' => FALSE,
10323                'max_length' => 0,
10324                'word_boundary' => TRUE,
10325                'ellipsis' => TRUE,
10326                'more_link' => FALSE,
10327                'more_link_text' => '',
10328                'more_link_path' => '',
10329                'strip_tags' => FALSE,
10330                'trim' => FALSE,
10331                'preserve_tags' => '',
10332                'html' => FALSE,
10333              ],
10334              'element_type' => '',
10335              'element_class' => '',
10336              'element_label_type' => '',
10337              'element_label_class' => '',
10338              'element_label_colon' => TRUE,
10339              'element_wrapper_type' => '',
10340              'element_wrapper_class' => '',
10341              'element_default_classes' => TRUE,
10342              'empty' => '',
10343              'hide_empty' => FALSE,
10344              'empty_zero' => FALSE,
10345              'hide_alter_empty' => TRUE,
10346            ],
10347          ],
10348          'sorts' => [],
10349          'filters' => [
10350            'bot' => [
10351              'id' => 'bot',
10352              'table' => 'visitors',
10353              'field' => 'bot',
10354              'relationship' => 'none',
10355              'group_type' => 'group',
10356              'admin_label' => '',
10357              'plugin_id' => 'boolean',
10358              'operator' => '!=',
10359              'value' => '1',
10360              'group' => 1,
10361              'exposed' => FALSE,
10362              'expose' => [
10363                'operator_id' => '',
10364                'label' => '',
10365                'description' => '',
10366                'use_operator' => FALSE,
10367                'operator' => '',
10368                'operator_limit_selection' => FALSE,
10369                'operator_list' => [],
10370                'identifier' => '',
10371                'required' => FALSE,
10372                'remember' => FALSE,
10373                'multiple' => FALSE,
10374                'remember_roles' => [
10375                  'authenticated' => 'authenticated',
10376                ],
10377              ],
10378              'is_grouped' => FALSE,
10379              'group_info' => [
10380                'label' => '',
10381                'description' => '',
10382                'identifier' => '',
10383                'optional' => TRUE,
10384                'widget' => 'select',
10385                'multiple' => FALSE,
10386                'remember' => FALSE,
10387                'default_group' => 'All',
10388                'default_group_multiple' => [],
10389                'group_items' => [],
10390              ],
10391            ],
10392            'visitors_date_time' => [
10393              'id' => 'visitors_date_time',
10394              'table' => 'visitors',
10395              'field' => 'visitors_date_time',
10396              'relationship' => 'none',
10397              'group_type' => 'group',
10398              'admin_label' => '',
10399              'plugin_id' => 'visitors_date',
10400              'operator' => 'between',
10401              'value' => [
10402                'min' => 'to',
10403                'max' => 'from',
10404                'value' => '',
10405                'type' => 'global',
10406              ],
10407              'group' => 1,
10408              'exposed' => FALSE,
10409              'expose' => [
10410                'operator_id' => '',
10411                'label' => '',
10412                'description' => '',
10413                'use_operator' => FALSE,
10414                'operator' => '',
10415                'operator_limit_selection' => FALSE,
10416                'operator_list' => [],
10417                'identifier' => '',
10418                'required' => FALSE,
10419                'remember' => FALSE,
10420                'multiple' => FALSE,
10421                'remember_roles' => [
10422                  'authenticated' => 'authenticated',
10423                ],
10424                'min_placeholder' => '',
10425                'max_placeholder' => '',
10426                'placeholder' => '',
10427              ],
10428              'is_grouped' => FALSE,
10429              'group_info' => [
10430                'label' => '',
10431                'description' => '',
10432                'identifier' => '',
10433                'optional' => TRUE,
10434                'widget' => 'select',
10435                'multiple' => FALSE,
10436                'remember' => FALSE,
10437                'default_group' => 'All',
10438                'default_group_multiple' => [],
10439                'group_items' => [],
10440              ],
10441            ],
10442            'route' => [
10443              'id' => 'route',
10444              'table' => 'visitors',
10445              'field' => 'route',
10446              'relationship' => 'none',
10447              'group_type' => 'group',
10448              'admin_label' => '',
10449              'plugin_id' => 'string',
10450              'operator' => 'starts',
10451              'value' => '',
10452              'group' => 1,
10453              'exposed' => TRUE,
10454              'expose' => [
10455                'operator_id' => 'route_op',
10456                'label' => 'Route',
10457                'description' => '',
10458                'use_operator' => FALSE,
10459                'operator' => 'route_op',
10460                'operator_limit_selection' => FALSE,
10461                'operator_list' => [],
10462                'identifier' => 'route',
10463                'required' => FALSE,
10464                'remember' => FALSE,
10465                'multiple' => FALSE,
10466                'remember_roles' => [
10467                  'authenticated' => 'authenticated',
10468                  'anonymous' => '0',
10469                  'content_editor' => '0',
10470                  'administrator' => '0',
10471                ],
10472                'placeholder' => '',
10473              ],
10474              'is_grouped' => FALSE,
10475              'group_info' => [
10476                'label' => '',
10477                'description' => '',
10478                'identifier' => '',
10479                'optional' => TRUE,
10480                'widget' => 'select',
10481                'multiple' => FALSE,
10482                'remember' => FALSE,
10483                'default_group' => 'All',
10484                'default_group_multiple' => [],
10485                'group_items' => [],
10486              ],
10487            ],
10488          ],
10489          'filter_groups' => [
10490            'operator' => 'AND',
10491            'groups' => [
10492              1 => 'AND',
10493            ],
10494          ],
10495          'style' => [
10496            'type' => 'table',
10497            'options' => [
10498              'grouping' => [],
10499              'row_class' => '',
10500              'default_row_class' => TRUE,
10501              'columns' => [
10502                'route' => 'route',
10503                'visitor_id' => 'visitor_id',
10504              ],
10505              'default' => 'visitor_id',
10506              'info' => [
10507                'route' => [
10508                  'sortable' => FALSE,
10509                  'default_sort_order' => 'asc',
10510                  'align' => '',
10511                  'separator' => '',
10512                  'empty_column' => FALSE,
10513                  'responsive' => '',
10514                ],
10515                'visitor_id' => [
10516                  'sortable' => TRUE,
10517                  'default_sort_order' => 'desc',
10518                  'align' => '',
10519                  'separator' => '',
10520                  'empty_column' => FALSE,
10521                  'responsive' => '',
10522                ],
10523              ],
10524              'override' => TRUE,
10525              'sticky' => TRUE,
10526              'summary' => '',
10527              'empty_table' => FALSE,
10528              'caption' => '',
10529              'description' => '',
10530            ],
10531          ],
10532          'row' => [
10533            'type' => 'fields',
10534            'options' => [
10535              'default_field_elements' => TRUE,
10536              'inline' => [],
10537              'separator' => '',
10538              'hide_empty' => FALSE,
10539            ],
10540          ],
10541          'defaults' => [
10542            'style' => FALSE,
10543            'row' => FALSE,
10544            'fields' => FALSE,
10545            'sorts' => FALSE,
10546            'filters' => FALSE,
10547            'filter_groups' => FALSE,
10548            'header' => FALSE,
10549          ],
10550          'display_description' => '',
10551          'header' => [
10552            'result' => [
10553              'id' => 'result',
10554              'table' => 'views',
10555              'field' => 'result',
10556              'relationship' => 'none',
10557              'group_type' => 'group',
10558              'admin_label' => '',
10559              'plugin_id' => 'result',
10560              'empty' => FALSE,
10561              'content' => 'Displaying @start - @end of @total',
10562            ],
10563          ],
10564          'display_extenders' => [],
10565        ],
10566        'cache_metadata' => [
10567          'max-age' => -1,
10568          'contexts' => [
10569            0 => 'languages:language_interface',
10570            1 => 'url',
10571            2 => 'url.query_args',
10572          ],
10573          'tags' => [],
10574        ],
10575      ],
10576      'weekly_column' => [
10577        'id' => 'weekly_column',
10578        'display_title' => 'Weekly Column',
10579        'display_plugin' => 'embed',
10580        'position' => 26,
10581        'display_options' => [
10582          'fields' => [
10583            'visitor_id' => [
10584              'id' => 'visitor_id',
10585              'table' => 'visitors',
10586              'field' => 'visitor_id',
10587              'relationship' => 'none',
10588              'group_type' => 'count_distinct',
10589              'admin_label' => '',
10590              'plugin_id' => 'standard',
10591              'label' => 'Unique visitors',
10592              'exclude' => FALSE,
10593              'alter' => [
10594                'alter_text' => FALSE,
10595                'text' => '',
10596                'make_link' => FALSE,
10597                'path' => '',
10598                'absolute' => FALSE,
10599                'external' => FALSE,
10600                'replace_spaces' => FALSE,
10601                'path_case' => 'none',
10602                'trim_whitespace' => FALSE,
10603                'alt' => '',
10604                'rel' => '',
10605                'link_class' => '',
10606                'prefix' => '',
10607                'suffix' => '',
10608                'target' => '',
10609                'nl2br' => FALSE,
10610                'max_length' => 0,
10611                'word_boundary' => TRUE,
10612                'ellipsis' => TRUE,
10613                'more_link' => FALSE,
10614                'more_link_text' => '',
10615                'more_link_path' => '',
10616                'strip_tags' => FALSE,
10617                'trim' => FALSE,
10618                'preserve_tags' => '',
10619                'html' => FALSE,
10620              ],
10621              'element_type' => '',
10622              'element_class' => '',
10623              'element_label_type' => '',
10624              'element_label_class' => '',
10625              'element_label_colon' => TRUE,
10626              'element_wrapper_type' => '',
10627              'element_wrapper_class' => '',
10628              'element_default_classes' => TRUE,
10629              'empty' => '',
10630              'hide_empty' => FALSE,
10631              'empty_zero' => FALSE,
10632              'hide_alter_empty' => TRUE,
10633            ],
10634            'visitors_week' => [
10635              'id' => 'visitors_week',
10636              'table' => 'visitors',
10637              'field' => 'visitors_week',
10638              'relationship' => 'none',
10639              'group_type' => 'group',
10640              'admin_label' => '',
10641              'plugin_id' => 'visitors_week',
10642              'label' => 'Week',
10643              'exclude' => FALSE,
10644              'alter' => [
10645                'alter_text' => FALSE,
10646                'text' => '',
10647                'make_link' => FALSE,
10648                'path' => '',
10649                'absolute' => FALSE,
10650                'external' => FALSE,
10651                'replace_spaces' => FALSE,
10652                'path_case' => 'none',
10653                'trim_whitespace' => FALSE,
10654                'alt' => '',
10655                'rel' => '',
10656                'link_class' => '',
10657                'prefix' => '',
10658                'suffix' => '',
10659                'target' => '',
10660                'nl2br' => FALSE,
10661                'max_length' => 0,
10662                'word_boundary' => TRUE,
10663                'ellipsis' => TRUE,
10664                'more_link' => FALSE,
10665                'more_link_text' => '',
10666                'more_link_path' => '',
10667                'strip_tags' => FALSE,
10668                'trim' => FALSE,
10669                'preserve_tags' => '',
10670                'html' => FALSE,
10671              ],
10672              'element_type' => '',
10673              'element_class' => '',
10674              'element_label_type' => '',
10675              'element_label_class' => '',
10676              'element_label_colon' => TRUE,
10677              'element_wrapper_type' => '',
10678              'element_wrapper_class' => '',
10679              'element_default_classes' => TRUE,
10680              'empty' => '',
10681              'hide_empty' => FALSE,
10682              'empty_zero' => FALSE,
10683              'hide_alter_empty' => TRUE,
10684            ],
10685          ],
10686          'pager' => [
10687            'type' => 'none',
10688            'options' => [
10689              'offset' => 0,
10690            ],
10691          ],
10692          'sorts' => [],
10693          'style' => [
10694            'type' => 'chart',
10695            'options' => [
10696              'grouping' => [],
10697              'chart_settings' => [
10698                'library' => 'chartjs',
10699                'type' => 'column',
10700                'fields' => [
10701                  'label' => 'visitors_week',
10702                  'stacking' => FALSE,
10703                  'data_providers' => [
10704                    'visitor_id' => [
10705                      'enabled' => TRUE,
10706                      'color' => '#0277bd',
10707                      'weight' => -1,
10708                    ],
10709                    'visitors_week' => [
10710                      'enabled' => FALSE,
10711                      'color' => '#0277bd',
10712                      'weight' => -2,
10713                    ],
10714                  ],
10715                ],
10716                'display' => [
10717                  'title' => 'Weekly',
10718                  'title_position' => 'top',
10719                  'subtitle' => '',
10720                  'data_labels' => FALSE,
10721                  'data_markers' => TRUE,
10722                  'legend_position' => '',
10723                  'background' => '',
10724                  'three_dimensional' => 0,
10725                  'polar' => 0,
10726                  'tooltips' => TRUE,
10727                  'dimensions' => [
10728                    'width' => '',
10729                    'width_units' => '',
10730                    'height' => '',
10731                    'height_units' => '',
10732                  ],
10733                  'gauge' => [
10734                    'max' => '',
10735                    'min' => '',
10736                    'green_from' => '',
10737                    'green_to' => '',
10738                    'yellow_from' => '',
10739                    'yellow_to' => '',
10740                    'red_from' => '',
10741                    'red_to' => '',
10742                  ],
10743                  'color_changer' => FALSE,
10744                ],
10745                'xaxis' => [
10746                  'title' => '',
10747                  'labels_rotation' => '0',
10748                ],
10749                'yaxis' => [
10750                  'title' => '',
10751                  'min' => '',
10752                  'max' => '',
10753                  'prefix' => '',
10754                  'suffix' => '',
10755                  'decimal_count' => '',
10756                  'labels_rotation' => '0',
10757                ],
10758              ],
10759            ],
10760          ],
10761          'row' => [
10762            'type' => 'fields',
10763            'options' => [
10764              'default_field_elements' => TRUE,
10765              'inline' => [],
10766              'separator' => '',
10767              'hide_empty' => FALSE,
10768            ],
10769          ],
10770          'defaults' => [
10771            'pager' => FALSE,
10772            'style' => FALSE,
10773            'row' => FALSE,
10774            'fields' => FALSE,
10775            'sorts' => FALSE,
10776            'header' => FALSE,
10777            'footer' => FALSE,
10778          ],
10779          'display_description' => '',
10780          'header' => [],
10781          'footer' => [],
10782          'display_extenders' => [],
10783        ],
10784        'cache_metadata' => [
10785          'max-age' => -1,
10786          'contexts' => [
10787            0 => 'languages:language_interface',
10788          ],
10789          'tags' => [],
10790        ],
10791      ],
10792      'weekly_table' => [
10793        'id' => 'weekly_table',
10794        'display_title' => 'Weekly Table',
10795        'display_plugin' => 'embed',
10796        'position' => 26,
10797        'display_options' => [
10798          'fields' => [
10799            'visitors_week' => [
10800              'id' => 'visitors_week',
10801              'table' => 'visitors',
10802              'field' => 'visitors_week',
10803              'relationship' => 'none',
10804              'group_type' => 'group',
10805              'admin_label' => '',
10806              'plugin_id' => 'visitors_week',
10807              'label' => 'Week',
10808              'exclude' => FALSE,
10809              'alter' => [
10810                'alter_text' => FALSE,
10811                'text' => '',
10812                'make_link' => FALSE,
10813                'path' => '',
10814                'absolute' => FALSE,
10815                'external' => FALSE,
10816                'replace_spaces' => FALSE,
10817                'path_case' => 'none',
10818                'trim_whitespace' => FALSE,
10819                'alt' => '',
10820                'rel' => '',
10821                'link_class' => '',
10822                'prefix' => '',
10823                'suffix' => '',
10824                'target' => '',
10825                'nl2br' => FALSE,
10826                'max_length' => 0,
10827                'word_boundary' => TRUE,
10828                'ellipsis' => TRUE,
10829                'more_link' => FALSE,
10830                'more_link_text' => '',
10831                'more_link_path' => '',
10832                'strip_tags' => FALSE,
10833                'trim' => FALSE,
10834                'preserve_tags' => '',
10835                'html' => FALSE,
10836              ],
10837              'element_type' => '',
10838              'element_class' => '',
10839              'element_label_type' => '',
10840              'element_label_class' => '',
10841              'element_label_colon' => TRUE,
10842              'element_wrapper_type' => '',
10843              'element_wrapper_class' => '',
10844              'element_default_classes' => TRUE,
10845              'empty' => '',
10846              'hide_empty' => FALSE,
10847              'empty_zero' => FALSE,
10848              'hide_alter_empty' => TRUE,
10849            ],
10850            'visitor_id' => [
10851              'id' => 'visitor_id',
10852              'table' => 'visitors',
10853              'field' => 'visitor_id',
10854              'relationship' => 'none',
10855              'group_type' => 'count_distinct',
10856              'admin_label' => '',
10857              'plugin_id' => 'standard',
10858              'label' => 'Unique visitors',
10859              'exclude' => FALSE,
10860              'alter' => [
10861                'alter_text' => FALSE,
10862                'text' => '',
10863                'make_link' => FALSE,
10864                'path' => '',
10865                'absolute' => FALSE,
10866                'external' => FALSE,
10867                'replace_spaces' => FALSE,
10868                'path_case' => 'none',
10869                'trim_whitespace' => FALSE,
10870                'alt' => '',
10871                'rel' => '',
10872                'link_class' => '',
10873                'prefix' => '',
10874                'suffix' => '',
10875                'target' => '',
10876                'nl2br' => FALSE,
10877                'max_length' => 0,
10878                'word_boundary' => TRUE,
10879                'ellipsis' => TRUE,
10880                'more_link' => FALSE,
10881                'more_link_text' => '',
10882                'more_link_path' => '',
10883                'strip_tags' => FALSE,
10884                'trim' => FALSE,
10885                'preserve_tags' => '',
10886                'html' => FALSE,
10887              ],
10888              'element_type' => '',
10889              'element_class' => '',
10890              'element_label_type' => '',
10891              'element_label_class' => '',
10892              'element_label_colon' => TRUE,
10893              'element_wrapper_type' => '',
10894              'element_wrapper_class' => '',
10895              'element_default_classes' => TRUE,
10896              'empty' => '',
10897              'hide_empty' => FALSE,
10898              'empty_zero' => FALSE,
10899              'hide_alter_empty' => TRUE,
10900            ],
10901          ],
10902          'pager' => [
10903            'type' => 'none',
10904            'options' => [
10905              'offset' => 0,
10906            ],
10907          ],
10908          'sorts' => [],
10909          'style' => [
10910            'type' => 'table',
10911            'options' => [
10912              'grouping' => [],
10913              'row_class' => '',
10914              'default_row_class' => TRUE,
10915              'columns' => [
10916                'visitor_id' => 'visitor_id',
10917                'visitors_week' => 'visitors_week',
10918              ],
10919              'default' => '-1',
10920              'info' => [
10921                'visitor_id' => [
10922                  'sortable' => FALSE,
10923                  'default_sort_order' => 'asc',
10924                  'align' => '',
10925                  'separator' => '',
10926                  'empty_column' => FALSE,
10927                  'responsive' => '',
10928                ],
10929                'visitors_week' => [
10930                  'sortable' => FALSE,
10931                  'default_sort_order' => 'asc',
10932                  'align' => '',
10933                  'separator' => '',
10934                  'empty_column' => FALSE,
10935                  'responsive' => '',
10936                ],
10937              ],
10938              'override' => TRUE,
10939              'sticky' => FALSE,
10940              'summary' => '',
10941              'empty_table' => FALSE,
10942              'caption' => '',
10943              'description' => '',
10944            ],
10945          ],
10946          'row' => [
10947            'type' => 'fields',
10948            'options' => [
10949              'default_field_elements' => TRUE,
10950              'inline' => [],
10951              'separator' => '',
10952              'hide_empty' => FALSE,
10953            ],
10954          ],
10955          'defaults' => [
10956            'pager' => FALSE,
10957            'style' => FALSE,
10958            'row' => FALSE,
10959            'fields' => FALSE,
10960            'sorts' => FALSE,
10961            'header' => FALSE,
10962            'footer' => FALSE,
10963          ],
10964          'display_description' => '',
10965          'header' => [],
10966          'footer' => [],
10967          'display_extenders' => [],
10968        ],
10969        'cache_metadata' => [
10970          'max-age' => -1,
10971          'contexts' => [
10972            0 => 'languages:language_interface',
10973          ],
10974          'tags' => [],
10975        ],
10976      ],
10977    ],
10978  ];
10979
10980  $entity_type_manager = \Drupal::entityTypeManager();
10981  $view_storage = $entity_type_manager->getStorage('view');
10982
10983  $view_storage->create($visitors_view)->save();
10984
10985  $old_views = [
10986    'visitors_browser',
10987    'visitors_device',
10988    'visitors_operating_system',
10989    'visitors_recent_visits',
10990    'visitors_top_visits',
10991  ];
10992  foreach ($old_views as $old_view) {
10993    $view = $view_storage->load($old_view);
10994    if ($view) {
10995      $view->delete();
10996    }
10997  }
10998
10999  $block_storage = $entity_type_manager->getStorage('block');
11000  // Remove block.
11001  $block_ids = $block_storage->getQuery()
11002    ->condition('plugin', 'visitors_block')
11003    ->accessCheck(FALSE)
11004    ->execute();
11005
11006  foreach ($block_ids as $bid) {
11007    $save = FALSE;
11008    $block = $block_storage->load($bid);
11009    if (!$block) {
11010      continue;
11011    }
11012    $block->delete();
11013  }
11014
11015  $table_name = 'visitors_performance';
11016  $table_schema = [
11017    'fields' => [
11018      'id' => [
11019        'type' => 'serial',
11020        'not null' => TRUE,
11021      ],
11022      'visitors_id' => [
11023        'type' => 'int',
11024        'not null' => TRUE,
11025      ],
11026      'network' => [
11027        'type' => 'int',
11028        'not null' => TRUE,
11029      ],
11030      'server' => [
11031        'type' => 'int',
11032        'not null' => TRUE,
11033      ],
11034      'transfer' => [
11035        'type' => 'int',
11036        'not null' => TRUE,
11037      ],
11038      'dom_processing' => [
11039        'type' => 'int',
11040        'not null' => TRUE,
11041      ],
11042      'dom_complete' => [
11043        'type' => 'int',
11044        'not null' => TRUE,
11045      ],
11046      'on_load' => [
11047        'type' => 'int',
11048        'not null' => TRUE,
11049      ],
11050      'total' => [
11051        'type' => 'int',
11052        'not null' => TRUE,
11053      ],
11054    ],
11055    'primary key' => ['id'],
11056    'indexes' => [
11057      'visitors_id' => ['visitors_id'],
11058    ],
11059  ];
11060
11061  if (!$schema->tableExists($table_name)) {
11062    $schema->createTable($table_name, $table_schema);
11063  }
11064
11065}
11066
11067/**
11068 * Performance metrics are mandatory.
11069 */
11070function visitors_update_8222(&$sandbox) {
11071
11072  if (!isset($sandbox['progress'])) {
11073    $sandbox['progress'] = 0;
11074    $sandbox['max'] = 2;
11075    $performance_columns = [
11076      'pf_network' => [
11077        'description' => 'Network performance',
11078        'type' => 'int',
11079        'not null' => FALSE,
11080        'default' => NULL,
11081      ],
11082      'pf_server' => [
11083        'description' => 'Server performance',
11084        'type' => 'int',
11085        'not null' => FALSE,
11086        'default' => NULL,
11087      ],
11088      'pf_transfer' => [
11089        'description' => 'Transfer performance',
11090        'type' => 'int',
11091        'not null' => FALSE,
11092        'default' => NULL,
11093      ],
11094      'pf_dom_processing' => [
11095        'description' => 'DOM processing performance',
11096        'type' => 'int',
11097        'not null' => FALSE,
11098        'default' => NULL,
11099      ],
11100      'pf_dom_complete' => [
11101        'description' => 'DOM complete performance',
11102        'type' => 'int',
11103        'not null' => FALSE,
11104        'default' => NULL,
11105      ],
11106      'pf_on_load' => [
11107        'description' => 'On load performance',
11108        'type' => 'int',
11109        'not null' => FALSE,
11110        'default' => NULL,
11111      ],
11112      'pf_total' => [
11113        'description' => 'Total performance',
11114        'type' => 'int',
11115        'not null' => FALSE,
11116        'default' => NULL,
11117      ],
11118      'server' => [
11119        'description' => 'The server that generated the response',
11120        'type' => 'varchar',
11121        'length' => 255,
11122        'not null' => FALSE,
11123        'default' => NULL,
11124      ],
11125    ];
11126
11127    $database = \Drupal::database();
11128    $schema = $database->schema();
11129    $table = 'visitors';
11130    foreach ($performance_columns as $column => $definition) {
11131      if ($schema->fieldExists($table, $column)) {
11132        continue;
11133      }
11134
11135      $schema->addField(
11136          $table,
11137          $column,
11138          $definition
11139        );
11140    }
11141
11142    $schema->changeField('visitors', 'visitors_title', 'visitors_title', [
11143      'type' => 'text',
11144      'not null' => TRUE,
11145    ]);
11146  }
11147  elseif ($sandbox['progress'] == 1) {
11148    $settings = \Drupal::configFactory()->getEditable('visitors.config');
11149    $settings->clear('performance')->save();
11150
11151    $performance_daily_column = [
11152      'id' => 'performance_daily_column',
11153      'display_title' => 'Performance Daily',
11154      'display_plugin' => 'embed',
11155      'position' => 21,
11156      'display_options' => [
11157        'fields' => [
11158          'pf_network' => [
11159            'id' => 'pf_network',
11160            'table' => 'visitors',
11161            'field' => 'pf_network',
11162            'relationship' => 'none',
11163            'group_type' => 'avg',
11164            'admin_label' => '',
11165            'plugin_id' => 'numeric',
11166            'label' => 'Network',
11167            'exclude' => FALSE,
11168            'alter' => [
11169              'alter_text' => FALSE,
11170              'text' => '',
11171              'make_link' => FALSE,
11172              'path' => '',
11173              'absolute' => FALSE,
11174              'external' => FALSE,
11175              'replace_spaces' => FALSE,
11176              'path_case' => 'none',
11177              'trim_whitespace' => FALSE,
11178              'alt' => '',
11179              'rel' => '',
11180              'link_class' => '',
11181              'prefix' => '',
11182              'suffix' => '',
11183              'target' => '',
11184              'nl2br' => FALSE,
11185              'max_length' => 0,
11186              'word_boundary' => TRUE,
11187              'ellipsis' => TRUE,
11188              'more_link' => FALSE,
11189              'more_link_text' => '',
11190              'more_link_path' => '',
11191              'strip_tags' => FALSE,
11192              'trim' => FALSE,
11193              'preserve_tags' => '',
11194              'html' => FALSE,
11195            ],
11196            'element_type' => '',
11197            'element_class' => '',
11198            'element_label_type' => '',
11199            'element_label_class' => '',
11200            'element_label_colon' => TRUE,
11201            'element_wrapper_type' => '',
11202            'element_wrapper_class' => '',
11203            'element_default_classes' => TRUE,
11204            'empty' => '',
11205            'hide_empty' => FALSE,
11206            'empty_zero' => FALSE,
11207            'hide_alter_empty' => TRUE,
11208            'set_precision' => FALSE,
11209            'precision' => 0,
11210            'decimal' => '.',
11211            'separator' => ',',
11212            'format_plural' => FALSE,
11213            'format_plural_string' => '1
11214  \x03
11215  @count',
11216            'prefix' => '',
11217            'suffix' => '',
11218          ],
11219          'pf_server' => [
11220            'id' => 'pf_server',
11221            'table' => 'visitors',
11222            'field' => 'pf_server',
11223            'relationship' => 'none',
11224            'group_type' => 'avg',
11225            'admin_label' => '',
11226            'plugin_id' => 'numeric',
11227            'label' => 'Server',
11228            'exclude' => FALSE,
11229            'alter' => [
11230              'alter_text' => FALSE,
11231              'text' => '',
11232              'make_link' => FALSE,
11233              'path' => '',
11234              'absolute' => FALSE,
11235              'external' => FALSE,
11236              'replace_spaces' => FALSE,
11237              'path_case' => 'none',
11238              'trim_whitespace' => FALSE,
11239              'alt' => '',
11240              'rel' => '',
11241              'link_class' => '',
11242              'prefix' => '',
11243              'suffix' => '',
11244              'target' => '',
11245              'nl2br' => FALSE,
11246              'max_length' => 0,
11247              'word_boundary' => TRUE,
11248              'ellipsis' => TRUE,
11249              'more_link' => FALSE,
11250              'more_link_text' => '',
11251              'more_link_path' => '',
11252              'strip_tags' => FALSE,
11253              'trim' => FALSE,
11254              'preserve_tags' => '',
11255              'html' => FALSE,
11256            ],
11257            'element_type' => '',
11258            'element_class' => '',
11259            'element_label_type' => '',
11260            'element_label_class' => '',
11261            'element_label_colon' => TRUE,
11262            'element_wrapper_type' => '',
11263            'element_wrapper_class' => '',
11264            'element_default_classes' => TRUE,
11265            'empty' => '',
11266            'hide_empty' => FALSE,
11267            'empty_zero' => FALSE,
11268            'hide_alter_empty' => TRUE,
11269            'set_precision' => FALSE,
11270            'precision' => 0,
11271            'decimal' => '.',
11272            'separator' => ',',
11273            'format_plural' => FALSE,
11274            'format_plural_string' => '1
11275  \x03
11276  @count',
11277            'prefix' => '',
11278            'suffix' => '',
11279          ],
11280          'pf_transfer' => [
11281            'id' => 'pf_transfer',
11282            'table' => 'visitors',
11283            'field' => 'pf_transfer',
11284            'relationship' => 'none',
11285            'group_type' => 'avg',
11286            'admin_label' => '',
11287            'plugin_id' => 'numeric',
11288            'label' => 'Transfer',
11289            'exclude' => FALSE,
11290            'alter' => [
11291              'alter_text' => FALSE,
11292              'text' => '',
11293              'make_link' => FALSE,
11294              'path' => '',
11295              'absolute' => FALSE,
11296              'external' => FALSE,
11297              'replace_spaces' => FALSE,
11298              'path_case' => 'none',
11299              'trim_whitespace' => FALSE,
11300              'alt' => '',
11301              'rel' => '',
11302              'link_class' => '',
11303              'prefix' => '',
11304              'suffix' => '',
11305              'target' => '',
11306              'nl2br' => FALSE,
11307              'max_length' => 0,
11308              'word_boundary' => TRUE,
11309              'ellipsis' => TRUE,
11310              'more_link' => FALSE,
11311              'more_link_text' => '',
11312              'more_link_path' => '',
11313              'strip_tags' => FALSE,
11314              'trim' => FALSE,
11315              'preserve_tags' => '',
11316              'html' => FALSE,
11317            ],
11318            'element_type' => '',
11319            'element_class' => '',
11320            'element_label_type' => '',
11321            'element_label_class' => '',
11322            'element_label_colon' => TRUE,
11323            'element_wrapper_type' => '',
11324            'element_wrapper_class' => '',
11325            'element_default_classes' => TRUE,
11326            'empty' => '',
11327            'hide_empty' => FALSE,
11328            'empty_zero' => FALSE,
11329            'hide_alter_empty' => TRUE,
11330            'set_precision' => FALSE,
11331            'precision' => 0,
11332            'decimal' => '.',
11333            'separator' => ',',
11334            'format_plural' => FALSE,
11335            'format_plural_string' => '1
11336  \x03
11337  @count',
11338            'prefix' => '',
11339            'suffix' => '',
11340          ],
11341          'pf_dom_processing' => [
11342            'id' => 'pf_dom_processing',
11343            'table' => 'visitors',
11344            'field' => 'pf_dom_processing',
11345            'relationship' => 'none',
11346            'group_type' => 'avg',
11347            'admin_label' => '',
11348            'plugin_id' => 'numeric',
11349            'label' => 'DOM Processing',
11350            'exclude' => FALSE,
11351            'alter' => [
11352              'alter_text' => FALSE,
11353              'text' => '',
11354              'make_link' => FALSE,
11355              'path' => '',
11356              'absolute' => FALSE,
11357              'external' => FALSE,
11358              'replace_spaces' => FALSE,
11359              'path_case' => 'none',
11360              'trim_whitespace' => FALSE,
11361              'alt' => '',
11362              'rel' => '',
11363              'link_class' => '',
11364              'prefix' => '',
11365              'suffix' => '',
11366              'target' => '',
11367              'nl2br' => FALSE,
11368              'max_length' => 0,
11369              'word_boundary' => TRUE,
11370              'ellipsis' => TRUE,
11371              'more_link' => FALSE,
11372              'more_link_text' => '',
11373              'more_link_path' => '',
11374              'strip_tags' => FALSE,
11375              'trim' => FALSE,
11376              'preserve_tags' => '',
11377              'html' => FALSE,
11378            ],
11379            'element_type' => '',
11380            'element_class' => '',
11381            'element_label_type' => '',
11382            'element_label_class' => '',
11383            'element_label_colon' => TRUE,
11384            'element_wrapper_type' => '',
11385            'element_wrapper_class' => '',
11386            'element_default_classes' => TRUE,
11387            'empty' => '',
11388            'hide_empty' => FALSE,
11389            'empty_zero' => FALSE,
11390            'hide_alter_empty' => TRUE,
11391            'set_precision' => FALSE,
11392            'precision' => 0,
11393            'decimal' => '.',
11394            'separator' => ',',
11395            'format_plural' => FALSE,
11396            'format_plural_string' => '1
11397  \x03
11398  @count',
11399            'prefix' => '',
11400            'suffix' => '',
11401          ],
11402          'pf_dom_complete' => [
11403            'id' => 'pf_dom_complete',
11404            'table' => 'visitors',
11405            'field' => 'pf_dom_complete',
11406            'relationship' => 'none',
11407            'group_type' => 'avg',
11408            'admin_label' => '',
11409            'plugin_id' => 'numeric',
11410            'label' => 'DOM Complete',
11411            'exclude' => FALSE,
11412            'alter' => [
11413              'alter_text' => FALSE,
11414              'text' => '',
11415              'make_link' => FALSE,
11416              'path' => '',
11417              'absolute' => FALSE,
11418              'external' => FALSE,
11419              'replace_spaces' => FALSE,
11420              'path_case' => 'none',
11421              'trim_whitespace' => FALSE,
11422              'alt' => '',
11423              'rel' => '',
11424              'link_class' => '',
11425              'prefix' => '',
11426              'suffix' => '',
11427              'target' => '',
11428              'nl2br' => FALSE,
11429              'max_length' => 0,
11430              'word_boundary' => TRUE,
11431              'ellipsis' => TRUE,
11432              'more_link' => FALSE,
11433              'more_link_text' => '',
11434              'more_link_path' => '',
11435              'strip_tags' => FALSE,
11436              'trim' => FALSE,
11437              'preserve_tags' => '',
11438              'html' => FALSE,
11439            ],
11440            'element_type' => '',
11441            'element_class' => '',
11442            'element_label_type' => '',
11443            'element_label_class' => '',
11444            'element_label_colon' => TRUE,
11445            'element_wrapper_type' => '',
11446            'element_wrapper_class' => '',
11447            'element_default_classes' => TRUE,
11448            'empty' => '',
11449            'hide_empty' => FALSE,
11450            'empty_zero' => FALSE,
11451            'hide_alter_empty' => TRUE,
11452            'set_precision' => FALSE,
11453            'precision' => 0,
11454            'decimal' => '.',
11455            'separator' => ',',
11456            'format_plural' => FALSE,
11457            'format_plural_string' => '1
11458  \x03
11459  @count',
11460            'prefix' => '',
11461            'suffix' => '',
11462          ],
11463          'pf_on_load' => [
11464            'id' => 'pf_on_load',
11465            'table' => 'visitors',
11466            'field' => 'pf_on_load',
11467            'relationship' => 'none',
11468            'group_type' => 'avg',
11469            'admin_label' => '',
11470            'plugin_id' => 'numeric',
11471            'label' => 'On Load',
11472            'exclude' => FALSE,
11473            'alter' => [
11474              'alter_text' => FALSE,
11475              'text' => '',
11476              'make_link' => FALSE,
11477              'path' => '',
11478              'absolute' => FALSE,
11479              'external' => FALSE,
11480              'replace_spaces' => FALSE,
11481              'path_case' => 'none',
11482              'trim_whitespace' => FALSE,
11483              'alt' => '',
11484              'rel' => '',
11485              'link_class' => '',
11486              'prefix' => '',
11487              'suffix' => '',
11488              'target' => '',
11489              'nl2br' => FALSE,
11490              'max_length' => 0,
11491              'word_boundary' => TRUE,
11492              'ellipsis' => TRUE,
11493              'more_link' => FALSE,
11494              'more_link_text' => '',
11495              'more_link_path' => '',
11496              'strip_tags' => FALSE,
11497              'trim' => FALSE,
11498              'preserve_tags' => '',
11499              'html' => FALSE,
11500            ],
11501            'element_type' => '',
11502            'element_class' => '',
11503            'element_label_type' => '',
11504            'element_label_class' => '',
11505            'element_label_colon' => TRUE,
11506            'element_wrapper_type' => '',
11507            'element_wrapper_class' => '',
11508            'element_default_classes' => TRUE,
11509            'empty' => '',
11510            'hide_empty' => FALSE,
11511            'empty_zero' => FALSE,
11512            'hide_alter_empty' => TRUE,
11513            'set_precision' => FALSE,
11514            'precision' => 0,
11515            'decimal' => '.',
11516            'separator' => ',',
11517            'format_plural' => FALSE,
11518            'format_plural_string' => '1
11519  \x03
11520  @count',
11521            'prefix' => '',
11522            'suffix' => '',
11523          ],
11524          'visitors_day' => [
11525            'id' => 'visitors_day',
11526            'table' => 'visitors',
11527            'field' => 'visitors_day',
11528            'relationship' => 'none',
11529            'group_type' => 'group',
11530            'admin_label' => '',
11531            'plugin_id' => 'visitors_day',
11532            'label' => 'Day',
11533            'exclude' => FALSE,
11534            'alter' => [
11535              'alter_text' => FALSE,
11536              'text' => '',
11537              'make_link' => FALSE,
11538              'path' => '',
11539              'absolute' => FALSE,
11540              'external' => FALSE,
11541              'replace_spaces' => FALSE,
11542              'path_case' => 'none',
11543              'trim_whitespace' => FALSE,
11544              'alt' => '',
11545              'rel' => '',
11546              'link_class' => '',
11547              'prefix' => '',
11548              'suffix' => '',
11549              'target' => '',
11550              'nl2br' => FALSE,
11551              'max_length' => 0,
11552              'word_boundary' => TRUE,
11553              'ellipsis' => TRUE,
11554              'more_link' => FALSE,
11555              'more_link_text' => '',
11556              'more_link_path' => '',
11557              'strip_tags' => FALSE,
11558              'trim' => FALSE,
11559              'preserve_tags' => '',
11560              'html' => FALSE,
11561            ],
11562            'element_type' => '',
11563            'element_class' => '',
11564            'element_label_type' => '',
11565            'element_label_class' => '',
11566            'element_label_colon' => TRUE,
11567            'element_wrapper_type' => '',
11568            'element_wrapper_class' => '',
11569            'element_default_classes' => TRUE,
11570            'empty' => '',
11571            'hide_empty' => FALSE,
11572            'empty_zero' => FALSE,
11573            'hide_alter_empty' => TRUE,
11574          ],
11575        ],
11576        'pager' => [
11577          'type' => 'none',
11578          'options' => [
11579            'offset' => 0,
11580          ],
11581        ],
11582        'sorts' => [],
11583        'style' => [
11584          'type' => 'chart',
11585          'options' => [
11586            'grouping' => [],
11587            'chart_settings' => [
11588              'library' => 'chartjs',
11589              'type' => 'column',
11590              'fields' => [
11591                'label' => 'visitors_day',
11592                'stacking' => TRUE,
11593                'data_providers' => [
11594                  'pf_network' => [
11595                    'enabled' => TRUE,
11596                    'color' => '#0277bd',
11597                    'weight' => 7,
11598                  ],
11599                  'pf_server' => [
11600                    'enabled' => TRUE,
11601                    'color' => '#ff8f00',
11602                    'weight' => 7,
11603                  ],
11604                  'pf_transfer' => [
11605                    'enabled' => TRUE,
11606                    'color' => '#ad1457',
11607                    'weight' => 7,
11608                  ],
11609                  'pf_dom_processing' => [
11610                    'enabled' => TRUE,
11611                    'color' => '#6a1b9a',
11612                    'weight' => 7,
11613                  ],
11614                  'pf_dom_complete' => [
11615                    'enabled' => TRUE,
11616                    'color' => '#558b2f',
11617                    'weight' => 7,
11618                  ],
11619                  'pf_on_load' => [
11620                    'enabled' => TRUE,
11621                    'color' => '#00838f',
11622                    'weight' => 7,
11623                  ],
11624                  'visitors_day' => [
11625                    'enabled' => FALSE,
11626                    'color' => '#7643b6',
11627                    'weight' => 7,
11628                  ],
11629                ],
11630              ],
11631              'display' => [
11632                'title' => '',
11633                'title_position' => '',
11634                'subtitle' => '',
11635                'data_labels' => FALSE,
11636                'data_markers' => TRUE,
11637                'legend_position' => 'bottom',
11638                'background' => '',
11639                'three_dimensional' => 0,
11640                'polar' => 0,
11641                'tooltips' => TRUE,
11642                'dimensions' => [
11643                  'width' => '',
11644                  'width_units' => '',
11645                  'height' => '',
11646                  'height_units' => '',
11647                ],
11648                'gauge' => [
11649                  'max' => '',
11650                  'min' => '',
11651                  'green_from' => '',
11652                  'green_to' => '',
11653                  'yellow_from' => '',
11654                  'yellow_to' => '',
11655                  'red_from' => '',
11656                  'red_to' => '',
11657                ],
11658                'color_changer' => FALSE,
11659              ],
11660              'xaxis' => [
11661                'title' => '',
11662                'labels_rotation' => '0',
11663              ],
11664              'yaxis' => [
11665                'title' => '',
11666                'min' => '',
11667                'max' => '',
11668                'prefix' => '',
11669                'suffix' => '',
11670                'decimal_count' => '',
11671                'labels_rotation' => '0',
11672              ],
11673            ],
11674          ],
11675        ],
11676        'row' => [
11677          'type' => 'fields',
11678          'options' => [
11679            'default_field_elements' => TRUE,
11680            'inline' => [],
11681            'separator' => '',
11682            'hide_empty' => FALSE,
11683          ],
11684        ],
11685        'defaults' => [
11686          'pager' => FALSE,
11687          'style' => FALSE,
11688          'row' => FALSE,
11689          'relationships' => FALSE,
11690          'fields' => FALSE,
11691          'sorts' => FALSE,
11692        ],
11693        'relationships' => [],
11694        'display_description' => '',
11695        'display_extenders' => [],
11696      ],
11697      'cache_metadata' => [
11698        'max-age' => -1,
11699        'contexts' => [
11700          0 => 'languages:language_interface',
11701        ],
11702        'tags' => [],
11703      ],
11704    ];
11705
11706    $performance_hourly_column = [
11707      'id' => 'performance_hourly_column',
11708      'display_title' => 'Performance Hourly',
11709      'display_plugin' => 'embed',
11710      'position' => 21,
11711      'display_options' => [
11712        'fields' => [
11713          'pf_network' => [
11714            'id' => 'pf_network',
11715            'table' => 'visitors',
11716            'field' => 'pf_network',
11717            'relationship' => 'none',
11718            'group_type' => 'avg',
11719            'admin_label' => '',
11720            'plugin_id' => 'numeric',
11721            'label' => 'Network',
11722            'exclude' => FALSE,
11723            'alter' => [
11724              'alter_text' => FALSE,
11725              'text' => '',
11726              'make_link' => FALSE,
11727              'path' => '',
11728              'absolute' => FALSE,
11729              'external' => FALSE,
11730              'replace_spaces' => FALSE,
11731              'path_case' => 'none',
11732              'trim_whitespace' => FALSE,
11733              'alt' => '',
11734              'rel' => '',
11735              'link_class' => '',
11736              'prefix' => '',
11737              'suffix' => '',
11738              'target' => '',
11739              'nl2br' => FALSE,
11740              'max_length' => 0,
11741              'word_boundary' => TRUE,
11742              'ellipsis' => TRUE,
11743              'more_link' => FALSE,
11744              'more_link_text' => '',
11745              'more_link_path' => '',
11746              'strip_tags' => FALSE,
11747              'trim' => FALSE,
11748              'preserve_tags' => '',
11749              'html' => FALSE,
11750            ],
11751            'element_type' => '',
11752            'element_class' => '',
11753            'element_label_type' => '',
11754            'element_label_class' => '',
11755            'element_label_colon' => TRUE,
11756            'element_wrapper_type' => '',
11757            'element_wrapper_class' => '',
11758            'element_default_classes' => TRUE,
11759            'empty' => '',
11760            'hide_empty' => FALSE,
11761            'empty_zero' => FALSE,
11762            'hide_alter_empty' => TRUE,
11763            'set_precision' => FALSE,
11764            'precision' => 0,
11765            'decimal' => '.',
11766            'separator' => ',',
11767            'format_plural' => FALSE,
11768            'format_plural_string' => '1
11769  \x03
11770  @count',
11771            'prefix' => '',
11772            'suffix' => '',
11773          ],
11774          'pf_server' => [
11775            'id' => 'pf_server',
11776            'table' => 'visitors',
11777            'field' => 'pf_server',
11778            'relationship' => 'none',
11779            'group_type' => 'avg',
11780            'admin_label' => '',
11781            'plugin_id' => 'numeric',
11782            'label' => 'Server',
11783            'exclude' => FALSE,
11784            'alter' => [
11785              'alter_text' => FALSE,
11786              'text' => '',
11787              'make_link' => FALSE,
11788              'path' => '',
11789              'absolute' => FALSE,
11790              'external' => FALSE,
11791              'replace_spaces' => FALSE,
11792              'path_case' => 'none',
11793              'trim_whitespace' => FALSE,
11794              'alt' => '',
11795              'rel' => '',
11796              'link_class' => '',
11797              'prefix' => '',
11798              'suffix' => '',
11799              'target' => '',
11800              'nl2br' => FALSE,
11801              'max_length' => 0,
11802              'word_boundary' => TRUE,
11803              'ellipsis' => TRUE,
11804              'more_link' => FALSE,
11805              'more_link_text' => '',
11806              'more_link_path' => '',
11807              'strip_tags' => FALSE,
11808              'trim' => FALSE,
11809              'preserve_tags' => '',
11810              'html' => FALSE,
11811            ],
11812            'element_type' => '',
11813            'element_class' => '',
11814            'element_label_type' => '',
11815            'element_label_class' => '',
11816            'element_label_colon' => TRUE,
11817            'element_wrapper_type' => '',
11818            'element_wrapper_class' => '',
11819            'element_default_classes' => TRUE,
11820            'empty' => '',
11821            'hide_empty' => FALSE,
11822            'empty_zero' => FALSE,
11823            'hide_alter_empty' => TRUE,
11824            'set_precision' => FALSE,
11825            'precision' => 0,
11826            'decimal' => '.',
11827            'separator' => ',',
11828            'format_plural' => FALSE,
11829            'format_plural_string' => '1
11830  \x03
11831  @count',
11832            'prefix' => '',
11833            'suffix' => '',
11834          ],
11835          'pf_transfer' => [
11836            'id' => 'pf_transfer',
11837            'table' => 'visitors',
11838            'field' => 'pf_transfer',
11839            'relationship' => 'none',
11840            'group_type' => 'avg',
11841            'admin_label' => '',
11842            'plugin_id' => 'numeric',
11843            'label' => 'Transfer',
11844            'exclude' => FALSE,
11845            'alter' => [
11846              'alter_text' => FALSE,
11847              'text' => '',
11848              'make_link' => FALSE,
11849              'path' => '',
11850              'absolute' => FALSE,
11851              'external' => FALSE,
11852              'replace_spaces' => FALSE,
11853              'path_case' => 'none',
11854              'trim_whitespace' => FALSE,
11855              'alt' => '',
11856              'rel' => '',
11857              'link_class' => '',
11858              'prefix' => '',
11859              'suffix' => '',
11860              'target' => '',
11861              'nl2br' => FALSE,
11862              'max_length' => 0,
11863              'word_boundary' => TRUE,
11864              'ellipsis' => TRUE,
11865              'more_link' => FALSE,
11866              'more_link_text' => '',
11867              'more_link_path' => '',
11868              'strip_tags' => FALSE,
11869              'trim' => FALSE,
11870              'preserve_tags' => '',
11871              'html' => FALSE,
11872            ],
11873            'element_type' => '',
11874            'element_class' => '',
11875            'element_label_type' => '',
11876            'element_label_class' => '',
11877            'element_label_colon' => TRUE,
11878            'element_wrapper_type' => '',
11879            'element_wrapper_class' => '',
11880            'element_default_classes' => TRUE,
11881            'empty' => '',
11882            'hide_empty' => FALSE,
11883            'empty_zero' => FALSE,
11884            'hide_alter_empty' => TRUE,
11885            'set_precision' => FALSE,
11886            'precision' => 0,
11887            'decimal' => '.',
11888            'separator' => ',',
11889            'format_plural' => FALSE,
11890            'format_plural_string' => '1
11891  \x03
11892  @count',
11893            'prefix' => '',
11894            'suffix' => '',
11895          ],
11896          'pf_dom_processing' => [
11897            'id' => 'pf_dom_processing',
11898            'table' => 'visitors',
11899            'field' => 'pf_dom_processing',
11900            'relationship' => 'none',
11901            'group_type' => 'avg',
11902            'admin_label' => '',
11903            'plugin_id' => 'numeric',
11904            'label' => 'DOM Processing',
11905            'exclude' => FALSE,
11906            'alter' => [
11907              'alter_text' => FALSE,
11908              'text' => '',
11909              'make_link' => FALSE,
11910              'path' => '',
11911              'absolute' => FALSE,
11912              'external' => FALSE,
11913              'replace_spaces' => FALSE,
11914              'path_case' => 'none',
11915              'trim_whitespace' => FALSE,
11916              'alt' => '',
11917              'rel' => '',
11918              'link_class' => '',
11919              'prefix' => '',
11920              'suffix' => '',
11921              'target' => '',
11922              'nl2br' => FALSE,
11923              'max_length' => 0,
11924              'word_boundary' => TRUE,
11925              'ellipsis' => TRUE,
11926              'more_link' => FALSE,
11927              'more_link_text' => '',
11928              'more_link_path' => '',
11929              'strip_tags' => FALSE,
11930              'trim' => FALSE,
11931              'preserve_tags' => '',
11932              'html' => FALSE,
11933            ],
11934            'element_type' => '',
11935            'element_class' => '',
11936            'element_label_type' => '',
11937            'element_label_class' => '',
11938            'element_label_colon' => TRUE,
11939            'element_wrapper_type' => '',
11940            'element_wrapper_class' => '',
11941            'element_default_classes' => TRUE,
11942            'empty' => '',
11943            'hide_empty' => FALSE,
11944            'empty_zero' => FALSE,
11945            'hide_alter_empty' => TRUE,
11946            'set_precision' => FALSE,
11947            'precision' => 0,
11948            'decimal' => '.',
11949            'separator' => ',',
11950            'format_plural' => FALSE,
11951            'format_plural_string' => '1
11952  \x03
11953  @count',
11954            'prefix' => '',
11955            'suffix' => '',
11956          ],
11957          'pf_dom_complete' => [
11958            'id' => 'pf_dom_complete',
11959            'table' => 'visitors',
11960            'field' => 'pf_dom_complete',
11961            'relationship' => 'none',
11962            'group_type' => 'avg',
11963            'admin_label' => '',
11964            'plugin_id' => 'numeric',
11965            'label' => 'DOM Complete',
11966            'exclude' => FALSE,
11967            'alter' => [
11968              'alter_text' => FALSE,
11969              'text' => '',
11970              'make_link' => FALSE,
11971              'path' => '',
11972              'absolute' => FALSE,
11973              'external' => FALSE,
11974              'replace_spaces' => FALSE,
11975              'path_case' => 'none',
11976              'trim_whitespace' => FALSE,
11977              'alt' => '',
11978              'rel' => '',
11979              'link_class' => '',
11980              'prefix' => '',
11981              'suffix' => '',
11982              'target' => '',
11983              'nl2br' => FALSE,
11984              'max_length' => 0,
11985              'word_boundary' => TRUE,
11986              'ellipsis' => TRUE,
11987              'more_link' => FALSE,
11988              'more_link_text' => '',
11989              'more_link_path' => '',
11990              'strip_tags' => FALSE,
11991              'trim' => FALSE,
11992              'preserve_tags' => '',
11993              'html' => FALSE,
11994            ],
11995            'element_type' => '',
11996            'element_class' => '',
11997            'element_label_type' => '',
11998            'element_label_class' => '',
11999            'element_label_colon' => TRUE,
12000            'element_wrapper_type' => '',
12001            'element_wrapper_class' => '',
12002            'element_default_classes' => TRUE,
12003            'empty' => '',
12004            'hide_empty' => FALSE,
12005            'empty_zero' => FALSE,
12006            'hide_alter_empty' => TRUE,
12007            'set_precision' => FALSE,
12008            'precision' => 0,
12009            'decimal' => '.',
12010            'separator' => ',',
12011            'format_plural' => FALSE,
12012            'format_plural_string' => '1
12013  \x03
12014  @count',
12015            'prefix' => '',
12016            'suffix' => '',
12017          ],
12018          'pf_on_load' => [
12019            'id' => 'pf_on_load',
12020            'table' => 'visitors',
12021            'field' => 'pf_on_load',
12022            'relationship' => 'none',
12023            'group_type' => 'avg',
12024            'admin_label' => '',
12025            'plugin_id' => 'numeric',
12026            'label' => 'On Load',
12027            'exclude' => FALSE,
12028            'alter' => [
12029              'alter_text' => FALSE,
12030              'text' => '',
12031              'make_link' => FALSE,
12032              'path' => '',
12033              'absolute' => FALSE,
12034              'external' => FALSE,
12035              'replace_spaces' => FALSE,
12036              'path_case' => 'none',
12037              'trim_whitespace' => FALSE,
12038              'alt' => '',
12039              'rel' => '',
12040              'link_class' => '',
12041              'prefix' => '',
12042              'suffix' => '',
12043              'target' => '',
12044              'nl2br' => FALSE,
12045              'max_length' => 0,
12046              'word_boundary' => TRUE,
12047              'ellipsis' => TRUE,
12048              'more_link' => FALSE,
12049              'more_link_text' => '',
12050              'more_link_path' => '',
12051              'strip_tags' => FALSE,
12052              'trim' => FALSE,
12053              'preserve_tags' => '',
12054              'html' => FALSE,
12055            ],
12056            'element_type' => '',
12057            'element_class' => '',
12058            'element_label_type' => '',
12059            'element_label_class' => '',
12060            'element_label_colon' => TRUE,
12061            'element_wrapper_type' => '',
12062            'element_wrapper_class' => '',
12063            'element_default_classes' => TRUE,
12064            'empty' => '',
12065            'hide_empty' => FALSE,
12066            'empty_zero' => FALSE,
12067            'hide_alter_empty' => TRUE,
12068            'set_precision' => FALSE,
12069            'precision' => 0,
12070            'decimal' => '.',
12071            'separator' => ',',
12072            'format_plural' => FALSE,
12073            'format_plural_string' => '1
12074  \x03
12075  @count',
12076            'prefix' => '',
12077            'suffix' => '',
12078          ],
12079          'visitors_hour' => [
12080            'id' => 'visitors_hour',
12081            'table' => 'visitors',
12082            'field' => 'visitors_hour',
12083            'relationship' => 'none',
12084            'group_type' => 'group',
12085            'admin_label' => '',
12086            'plugin_id' => 'visitors_hour',
12087            'label' => 'Hour',
12088            'exclude' => FALSE,
12089            'alter' => [
12090              'alter_text' => FALSE,
12091              'text' => '',
12092              'make_link' => FALSE,
12093              'path' => '',
12094              'absolute' => FALSE,
12095              'external' => FALSE,
12096              'replace_spaces' => FALSE,
12097              'path_case' => 'none',
12098              'trim_whitespace' => FALSE,
12099              'alt' => '',
12100              'rel' => '',
12101              'link_class' => '',
12102              'prefix' => '',
12103              'suffix' => '',
12104              'target' => '',
12105              'nl2br' => FALSE,
12106              'max_length' => 0,
12107              'word_boundary' => TRUE,
12108              'ellipsis' => TRUE,
12109              'more_link' => FALSE,
12110              'more_link_text' => '',
12111              'more_link_path' => '',
12112              'strip_tags' => FALSE,
12113              'trim' => FALSE,
12114              'preserve_tags' => '',
12115              'html' => FALSE,
12116            ],
12117            'element_type' => '',
12118            'element_class' => '',
12119            'element_label_type' => '',
12120            'element_label_class' => '',
12121            'element_label_colon' => TRUE,
12122            'element_wrapper_type' => '',
12123            'element_wrapper_class' => '',
12124            'element_default_classes' => TRUE,
12125            'empty' => '',
12126            'hide_empty' => FALSE,
12127            'empty_zero' => FALSE,
12128            'hide_alter_empty' => TRUE,
12129          ],
12130        ],
12131        'pager' => [
12132          'type' => 'none',
12133          'options' => [
12134            'offset' => 0,
12135          ],
12136        ],
12137        'sorts' => [],
12138        'style' => [
12139          'type' => 'chart',
12140          'options' => [
12141            'grouping' => [],
12142            'chart_settings' => [
12143              'library' => 'chartjs',
12144              'type' => 'column',
12145              'fields' => [
12146                'label' => 'visitors_hour',
12147                'stacking' => TRUE,
12148                'data_providers' => [
12149                  'pf_network' => [
12150                    'enabled' => TRUE,
12151                    'color' => '#0277bd',
12152                    'weight' => 7,
12153                  ],
12154                  'pf_server' => [
12155                    'enabled' => TRUE,
12156                    'color' => '#ff8f00',
12157                    'weight' => 7,
12158                  ],
12159                  'pf_transfer' => [
12160                    'enabled' => TRUE,
12161                    'color' => '#ad1457',
12162                    'weight' => 7,
12163                  ],
12164                  'pf_dom_processing' => [
12165                    'enabled' => TRUE,
12166                    'color' => '#6a1b9a',
12167                    'weight' => 7,
12168                  ],
12169                  'pf_dom_complete' => [
12170                    'enabled' => TRUE,
12171                    'color' => '#558b2f',
12172                    'weight' => 7,
12173                  ],
12174                  'pf_on_load' => [
12175                    'enabled' => TRUE,
12176                    'color' => '#00838f',
12177                    'weight' => 7,
12178                  ],
12179                  'visitors_hour' => [
12180                    'enabled' => FALSE,
12181                    'color' => '#7643b6',
12182                    'weight' => 7,
12183                  ],
12184                ],
12185              ],
12186              'display' => [
12187                'title' => '',
12188                'title_position' => '',
12189                'subtitle' => '',
12190                'data_labels' => FALSE,
12191                'data_markers' => TRUE,
12192                'legend_position' => 'bottom',
12193                'background' => '',
12194                'three_dimensional' => 0,
12195                'polar' => 0,
12196                'tooltips' => TRUE,
12197                'dimensions' => [
12198                  'width' => '',
12199                  'width_units' => '',
12200                  'height' => '',
12201                  'height_units' => '',
12202                ],
12203                'gauge' => [
12204                  'max' => '',
12205                  'min' => '',
12206                  'green_from' => '',
12207                  'green_to' => '',
12208                  'yellow_from' => '',
12209                  'yellow_to' => '',
12210                  'red_from' => '',
12211                  'red_to' => '',
12212                ],
12213                'color_changer' => FALSE,
12214              ],
12215              'xaxis' => [
12216                'title' => '',
12217                'labels_rotation' => '0',
12218              ],
12219              'yaxis' => [
12220                'title' => '',
12221                'min' => '',
12222                'max' => '',
12223                'prefix' => '',
12224                'suffix' => '',
12225                'decimal_count' => '',
12226                'labels_rotation' => '0',
12227              ],
12228            ],
12229          ],
12230        ],
12231        'row' => [
12232          'type' => 'fields',
12233          'options' => [
12234            'default_field_elements' => TRUE,
12235            'inline' => [],
12236            'separator' => '',
12237            'hide_empty' => FALSE,
12238          ],
12239        ],
12240        'defaults' => [
12241          'pager' => FALSE,
12242          'style' => FALSE,
12243          'row' => FALSE,
12244          'relationships' => FALSE,
12245          'fields' => FALSE,
12246          'sorts' => FALSE,
12247        ],
12248        'relationships' => [],
12249        'display_description' => '',
12250        'display_extenders' => [],
12251      ],
12252      'cache_metadata' => [
12253        'max-age' => -1,
12254        'contexts' => [
12255          0 => 'languages:language_interface',
12256        ],
12257        'tags' => [],
12258      ],
12259    ];
12260
12261    $performance_weekly_column = [
12262      'id' => 'performance_weekly_column',
12263      'display_title' => 'Performance Weekly',
12264      'display_plugin' => 'embed',
12265      'position' => 21,
12266      'display_options' => [
12267        'fields' => [
12268          'pf_network' => [
12269            'id' => 'pf_network',
12270            'table' => 'visitors',
12271            'field' => 'pf_network',
12272            'relationship' => 'none',
12273            'group_type' => 'avg',
12274            'admin_label' => '',
12275            'plugin_id' => 'numeric',
12276            'label' => 'Network',
12277            'exclude' => FALSE,
12278            'alter' => [
12279              'alter_text' => FALSE,
12280              'text' => '',
12281              'make_link' => FALSE,
12282              'path' => '',
12283              'absolute' => FALSE,
12284              'external' => FALSE,
12285              'replace_spaces' => FALSE,
12286              'path_case' => 'none',
12287              'trim_whitespace' => FALSE,
12288              'alt' => '',
12289              'rel' => '',
12290              'link_class' => '',
12291              'prefix' => '',
12292              'suffix' => '',
12293              'target' => '',
12294              'nl2br' => FALSE,
12295              'max_length' => 0,
12296              'word_boundary' => TRUE,
12297              'ellipsis' => TRUE,
12298              'more_link' => FALSE,
12299              'more_link_text' => '',
12300              'more_link_path' => '',
12301              'strip_tags' => FALSE,
12302              'trim' => FALSE,
12303              'preserve_tags' => '',
12304              'html' => FALSE,
12305            ],
12306            'element_type' => '',
12307            'element_class' => '',
12308            'element_label_type' => '',
12309            'element_label_class' => '',
12310            'element_label_colon' => TRUE,
12311            'element_wrapper_type' => '',
12312            'element_wrapper_class' => '',
12313            'element_default_classes' => TRUE,
12314            'empty' => '',
12315            'hide_empty' => FALSE,
12316            'empty_zero' => FALSE,
12317            'hide_alter_empty' => TRUE,
12318            'set_precision' => FALSE,
12319            'precision' => 0,
12320            'decimal' => '.',
12321            'separator' => ',',
12322            'format_plural' => FALSE,
12323            'format_plural_string' => '1
12324  \x03
12325  @count',
12326            'prefix' => '',
12327            'suffix' => '',
12328          ],
12329          'pf_server' => [
12330            'id' => 'pf_server',
12331            'table' => 'visitors',
12332            'field' => 'pf_server',
12333            'relationship' => 'none',
12334            'group_type' => 'avg',
12335            'admin_label' => '',
12336            'plugin_id' => 'numeric',
12337            'label' => 'Server',
12338            'exclude' => FALSE,
12339            'alter' => [
12340              'alter_text' => FALSE,
12341              'text' => '',
12342              'make_link' => FALSE,
12343              'path' => '',
12344              'absolute' => FALSE,
12345              'external' => FALSE,
12346              'replace_spaces' => FALSE,
12347              'path_case' => 'none',
12348              'trim_whitespace' => FALSE,
12349              'alt' => '',
12350              'rel' => '',
12351              'link_class' => '',
12352              'prefix' => '',
12353              'suffix' => '',
12354              'target' => '',
12355              'nl2br' => FALSE,
12356              'max_length' => 0,
12357              'word_boundary' => TRUE,
12358              'ellipsis' => TRUE,
12359              'more_link' => FALSE,
12360              'more_link_text' => '',
12361              'more_link_path' => '',
12362              'strip_tags' => FALSE,
12363              'trim' => FALSE,
12364              'preserve_tags' => '',
12365              'html' => FALSE,
12366            ],
12367            'element_type' => '',
12368            'element_class' => '',
12369            'element_label_type' => '',
12370            'element_label_class' => '',
12371            'element_label_colon' => TRUE,
12372            'element_wrapper_type' => '',
12373            'element_wrapper_class' => '',
12374            'element_default_classes' => TRUE,
12375            'empty' => '',
12376            'hide_empty' => FALSE,
12377            'empty_zero' => FALSE,
12378            'hide_alter_empty' => TRUE,
12379            'set_precision' => FALSE,
12380            'precision' => 0,
12381            'decimal' => '.',
12382            'separator' => ',',
12383            'format_plural' => FALSE,
12384            'format_plural_string' => '1
12385  \x03
12386  @count',
12387            'prefix' => '',
12388            'suffix' => '',
12389          ],
12390          'pf_transfer' => [
12391            'id' => 'pf_transfer',
12392            'table' => 'visitors',
12393            'field' => 'pf_transfer',
12394            'relationship' => 'none',
12395            'group_type' => 'avg',
12396            'admin_label' => '',
12397            'plugin_id' => 'numeric',
12398            'label' => 'Transfer',
12399            'exclude' => FALSE,
12400            'alter' => [
12401              'alter_text' => FALSE,
12402              'text' => '',
12403              'make_link' => FALSE,
12404              'path' => '',
12405              'absolute' => FALSE,
12406              'external' => FALSE,
12407              'replace_spaces' => FALSE,
12408              'path_case' => 'none',
12409              'trim_whitespace' => FALSE,
12410              'alt' => '',
12411              'rel' => '',
12412              'link_class' => '',
12413              'prefix' => '',
12414              'suffix' => '',
12415              'target' => '',
12416              'nl2br' => FALSE,
12417              'max_length' => 0,
12418              'word_boundary' => TRUE,
12419              'ellipsis' => TRUE,
12420              'more_link' => FALSE,
12421              'more_link_text' => '',
12422              'more_link_path' => '',
12423              'strip_tags' => FALSE,
12424              'trim' => FALSE,
12425              'preserve_tags' => '',
12426              'html' => FALSE,
12427            ],
12428            'element_type' => '',
12429            'element_class' => '',
12430            'element_label_type' => '',
12431            'element_label_class' => '',
12432            'element_label_colon' => TRUE,
12433            'element_wrapper_type' => '',
12434            'element_wrapper_class' => '',
12435            'element_default_classes' => TRUE,
12436            'empty' => '',
12437            'hide_empty' => FALSE,
12438            'empty_zero' => FALSE,
12439            'hide_alter_empty' => TRUE,
12440            'set_precision' => FALSE,
12441            'precision' => 0,
12442            'decimal' => '.',
12443            'separator' => ',',
12444            'format_plural' => FALSE,
12445            'format_plural_string' => '1
12446  \x03
12447  @count',
12448            'prefix' => '',
12449            'suffix' => '',
12450          ],
12451          'pf_dom_processing' => [
12452            'id' => 'pf_dom_processing',
12453            'table' => 'visitors',
12454            'field' => 'pf_dom_processing',
12455            'relationship' => 'none',
12456            'group_type' => 'avg',
12457            'admin_label' => '',
12458            'plugin_id' => 'numeric',
12459            'label' => 'DOM Processing',
12460            'exclude' => FALSE,
12461            'alter' => [
12462              'alter_text' => FALSE,
12463              'text' => '',
12464              'make_link' => FALSE,
12465              'path' => '',
12466              'absolute' => FALSE,
12467              'external' => FALSE,
12468              'replace_spaces' => FALSE,
12469              'path_case' => 'none',
12470              'trim_whitespace' => FALSE,
12471              'alt' => '',
12472              'rel' => '',
12473              'link_class' => '',
12474              'prefix' => '',
12475              'suffix' => '',
12476              'target' => '',
12477              'nl2br' => FALSE,
12478              'max_length' => 0,
12479              'word_boundary' => TRUE,
12480              'ellipsis' => TRUE,
12481              'more_link' => FALSE,
12482              'more_link_text' => '',
12483              'more_link_path' => '',
12484              'strip_tags' => FALSE,
12485              'trim' => FALSE,
12486              'preserve_tags' => '',
12487              'html' => FALSE,
12488            ],
12489            'element_type' => '',
12490            'element_class' => '',
12491            'element_label_type' => '',
12492            'element_label_class' => '',
12493            'element_label_colon' => TRUE,
12494            'element_wrapper_type' => '',
12495            'element_wrapper_class' => '',
12496            'element_default_classes' => TRUE,
12497            'empty' => '',
12498            'hide_empty' => FALSE,
12499            'empty_zero' => FALSE,
12500            'hide_alter_empty' => TRUE,
12501            'set_precision' => FALSE,
12502            'precision' => 0,
12503            'decimal' => '.',
12504            'separator' => ',',
12505            'format_plural' => FALSE,
12506            'format_plural_string' => '1
12507  \x03
12508  @count',
12509            'prefix' => '',
12510            'suffix' => '',
12511          ],
12512          'pf_dom_complete' => [
12513            'id' => 'pf_dom_complete',
12514            'table' => 'visitors',
12515            'field' => 'pf_dom_complete',
12516            'relationship' => 'none',
12517            'group_type' => 'avg',
12518            'admin_label' => '',
12519            'plugin_id' => 'numeric',
12520            'label' => 'DOM Complete',
12521            'exclude' => FALSE,
12522            'alter' => [
12523              'alter_text' => FALSE,
12524              'text' => '',
12525              'make_link' => FALSE,
12526              'path' => '',
12527              'absolute' => FALSE,
12528              'external' => FALSE,
12529              'replace_spaces' => FALSE,
12530              'path_case' => 'none',
12531              'trim_whitespace' => FALSE,
12532              'alt' => '',
12533              'rel' => '',
12534              'link_class' => '',
12535              'prefix' => '',
12536              'suffix' => '',
12537              'target' => '',
12538              'nl2br' => FALSE,
12539              'max_length' => 0,
12540              'word_boundary' => TRUE,
12541              'ellipsis' => TRUE,
12542              'more_link' => FALSE,
12543              'more_link_text' => '',
12544              'more_link_path' => '',
12545              'strip_tags' => FALSE,
12546              'trim' => FALSE,
12547              'preserve_tags' => '',
12548              'html' => FALSE,
12549            ],
12550            'element_type' => '',
12551            'element_class' => '',
12552            'element_label_type' => '',
12553            'element_label_class' => '',
12554            'element_label_colon' => TRUE,
12555            'element_wrapper_type' => '',
12556            'element_wrapper_class' => '',
12557            'element_default_classes' => TRUE,
12558            'empty' => '',
12559            'hide_empty' => FALSE,
12560            'empty_zero' => FALSE,
12561            'hide_alter_empty' => TRUE,
12562            'set_precision' => FALSE,
12563            'precision' => 0,
12564            'decimal' => '.',
12565            'separator' => ',',
12566            'format_plural' => FALSE,
12567            'format_plural_string' => '1
12568  \x03
12569  @count',
12570            'prefix' => '',
12571            'suffix' => '',
12572          ],
12573          'pf_on_load' => [
12574            'id' => 'pf_on_load',
12575            'table' => 'visitors',
12576            'field' => 'pf_on_load',
12577            'relationship' => 'none',
12578            'group_type' => 'avg',
12579            'admin_label' => '',
12580            'plugin_id' => 'numeric',
12581            'label' => 'On Load',
12582            'exclude' => FALSE,
12583            'alter' => [
12584              'alter_text' => FALSE,
12585              'text' => '',
12586              'make_link' => FALSE,
12587              'path' => '',
12588              'absolute' => FALSE,
12589              'external' => FALSE,
12590              'replace_spaces' => FALSE,
12591              'path_case' => 'none',
12592              'trim_whitespace' => FALSE,
12593              'alt' => '',
12594              'rel' => '',
12595              'link_class' => '',
12596              'prefix' => '',
12597              'suffix' => '',
12598              'target' => '',
12599              'nl2br' => FALSE,
12600              'max_length' => 0,
12601              'word_boundary' => TRUE,
12602              'ellipsis' => TRUE,
12603              'more_link' => FALSE,
12604              'more_link_text' => '',
12605              'more_link_path' => '',
12606              'strip_tags' => FALSE,
12607              'trim' => FALSE,
12608              'preserve_tags' => '',
12609              'html' => FALSE,
12610            ],
12611            'element_type' => '',
12612            'element_class' => '',
12613            'element_label_type' => '',
12614            'element_label_class' => '',
12615            'element_label_colon' => TRUE,
12616            'element_wrapper_type' => '',
12617            'element_wrapper_class' => '',
12618            'element_default_classes' => TRUE,
12619            'empty' => '',
12620            'hide_empty' => FALSE,
12621            'empty_zero' => FALSE,
12622            'hide_alter_empty' => TRUE,
12623            'set_precision' => FALSE,
12624            'precision' => 0,
12625            'decimal' => '.',
12626            'separator' => ',',
12627            'format_plural' => FALSE,
12628            'format_plural_string' => '1
12629  \x03
12630  @count',
12631            'prefix' => '',
12632            'suffix' => '',
12633          ],
12634          'visitors_week' => [
12635            'id' => 'visitors_week',
12636            'table' => 'visitors',
12637            'field' => 'visitors_week',
12638            'relationship' => 'none',
12639            'group_type' => 'group',
12640            'admin_label' => '',
12641            'plugin_id' => 'visitors_week',
12642            'label' => 'Week',
12643            'exclude' => FALSE,
12644            'alter' => [
12645              'alter_text' => FALSE,
12646              'text' => '',
12647              'make_link' => FALSE,
12648              'path' => '',
12649              'absolute' => FALSE,
12650              'external' => FALSE,
12651              'replace_spaces' => FALSE,
12652              'path_case' => 'none',
12653              'trim_whitespace' => FALSE,
12654              'alt' => '',
12655              'rel' => '',
12656              'link_class' => '',
12657              'prefix' => '',
12658              'suffix' => '',
12659              'target' => '',
12660              'nl2br' => FALSE,
12661              'max_length' => 0,
12662              'word_boundary' => TRUE,
12663              'ellipsis' => TRUE,
12664              'more_link' => FALSE,
12665              'more_link_text' => '',
12666              'more_link_path' => '',
12667              'strip_tags' => FALSE,
12668              'trim' => FALSE,
12669              'preserve_tags' => '',
12670              'html' => FALSE,
12671            ],
12672            'element_type' => '',
12673            'element_class' => '',
12674            'element_label_type' => '',
12675            'element_label_class' => '',
12676            'element_label_colon' => TRUE,
12677            'element_wrapper_type' => '',
12678            'element_wrapper_class' => '',
12679            'element_default_classes' => TRUE,
12680            'empty' => '',
12681            'hide_empty' => FALSE,
12682            'empty_zero' => FALSE,
12683            'hide_alter_empty' => TRUE,
12684          ],
12685        ],
12686        'pager' => [
12687          'type' => 'none',
12688          'options' => [
12689            'offset' => 0,
12690          ],
12691        ],
12692        'sorts' => [],
12693        'style' => [
12694          'type' => 'chart',
12695          'options' => [
12696            'grouping' => [],
12697            'chart_settings' => [
12698              'library' => 'chartjs',
12699              'type' => 'column',
12700              'fields' => [
12701                'label' => 'visitors_week',
12702                'stacking' => TRUE,
12703                'data_providers' => [
12704                  'pf_network' => [
12705                    'enabled' => TRUE,
12706                    'color' => '#0277bd',
12707                    'weight' => 7,
12708                  ],
12709                  'pf_server' => [
12710                    'enabled' => TRUE,
12711                    'color' => '#ff8f00',
12712                    'weight' => 7,
12713                  ],
12714                  'pf_transfer' => [
12715                    'enabled' => TRUE,
12716                    'color' => '#ad1457',
12717                    'weight' => 7,
12718                  ],
12719                  'pf_dom_processing' => [
12720                    'enabled' => TRUE,
12721                    'color' => '#6a1b9a',
12722                    'weight' => 7,
12723                  ],
12724                  'pf_dom_complete' => [
12725                    'enabled' => TRUE,
12726                    'color' => '#558b2f',
12727                    'weight' => 7,
12728                  ],
12729                  'pf_on_load' => [
12730                    'enabled' => TRUE,
12731                    'color' => '#00838f',
12732                    'weight' => 7,
12733                  ],
12734                  'visitors_week' => [
12735                    'enabled' => FALSE,
12736                    'color' => '#7643b6',
12737                    'weight' => 7,
12738                  ],
12739                ],
12740              ],
12741              'display' => [
12742                'title' => '',
12743                'title_position' => '',
12744                'subtitle' => '',
12745                'data_labels' => FALSE,
12746                'data_markers' => TRUE,
12747                'legend_position' => 'bottom',
12748                'background' => '',
12749                'three_dimensional' => 0,
12750                'polar' => 0,
12751                'tooltips' => TRUE,
12752                'dimensions' => [
12753                  'width' => '',
12754                  'width_units' => '',
12755                  'height' => '',
12756                  'height_units' => '',
12757                ],
12758                'gauge' => [
12759                  'max' => '',
12760                  'min' => '',
12761                  'green_from' => '',
12762                  'green_to' => '',
12763                  'yellow_from' => '',
12764                  'yellow_to' => '',
12765                  'red_from' => '',
12766                  'red_to' => '',
12767                ],
12768                'color_changer' => FALSE,
12769              ],
12770              'xaxis' => [
12771                'title' => '',
12772                'labels_rotation' => '0',
12773              ],
12774              'yaxis' => [
12775                'title' => '',
12776                'min' => '',
12777                'max' => '',
12778                'prefix' => '',
12779                'suffix' => '',
12780                'decimal_count' => '',
12781                'labels_rotation' => '0',
12782              ],
12783            ],
12784          ],
12785        ],
12786        'row' => [
12787          'type' => 'fields',
12788          'options' => [
12789            'default_field_elements' => TRUE,
12790            'inline' => [],
12791            'separator' => '',
12792            'hide_empty' => FALSE,
12793          ],
12794        ],
12795        'defaults' => [
12796          'pager' => FALSE,
12797          'style' => FALSE,
12798          'row' => FALSE,
12799          'relationships' => FALSE,
12800          'fields' => FALSE,
12801          'sorts' => FALSE,
12802        ],
12803        'relationships' => [],
12804        'display_description' => '',
12805        'display_extenders' => [],
12806      ],
12807      'cache_metadata' => [
12808        'max-age' => -1,
12809        'contexts' => [
12810          0 => 'languages:language_interface',
12811        ],
12812        'tags' => [],
12813      ],
12814    ];
12815
12816    $view_storage = \Drupal::entityTypeManager()->getStorage('view');
12817    $visitors_view = $view_storage->load('visitors');
12818
12819    $displays = $visitors_view->get('display');
12820
12821    $displays['performance_hourly_column'] = $performance_hourly_column;
12822    $displays['performance_daily_column'] = $performance_daily_column;
12823    $displays['performance_weekly_column'] = $performance_weekly_column;
12824    $displays['hour_column']['display_options']['style']['options']['chart_settings']['display']['tooltips'] = TRUE;
12825
12826    $visitors_view->set('display', $displays);
12827
12828    $visitors_view->save();
12829
12830  }
12831
12832  $sandbox['progress'] += 1;
12833
12834  $sandbox['#finished'] = empty($sandbox['max']) ? 1 : $sandbox['progress'] / $sandbox['max'];
12835}
12836
12837/**
12838 * Removes old properties from visitors.config.
12839 */
12840function visitors_update_8223() {
12841  $config = \Drupal::service('config.factory')->getEditable('visitors.config');
12842  $config
12843    ->clear('status_codes_disabled')
12844    ->clear('codesnippet')
12845    ->clear('privacy')
12846    ->save();
12847}
12848
12849/**
12850 * Adds view counter for any content entity type.
12851 */
12852function visitors_update_8227() {
12853  $block_storage = \Drupal::entityTypeManager()->getStorage('block');
12854  $block_ids = $block_storage->getQuery()
12855    ->condition('plugin', 'visitors_popular_block')
12856    ->accessCheck(FALSE)
12857    ->execute();
12858
12859  foreach ($block_ids as $block_id) {
12860    $block = $block_storage->load($block_id);
12861    $settings = $block->get('settings');
12862
12863    if (empty($settings['entity_type'])) {
12864      $settings['entity_type'] = 'node';
12865      $block->set('settings', $settings)->save();
12866    }
12867  }
12868  // Get Editable config.
12869  $view = \Drupal::configFactory()->getEditable('views.view.visitors');
12870
12871  $visitors_day_sort = [
12872    'visitors_day' => [
12873      'id' => 'visitors_day',
12874      'table' => 'visitors',
12875      'field' => 'visitors_day',
12876      'relationship' => 'none',
12877      'group_type' => 'group',
12878      'admin_label' => '',
12879      'plugin_id' => 'visitors_timestamp',
12880      'order' => 'ASC',
12881      'expose' => [
12882        'label' => '',
12883        'field_identifier' => '',
12884      ],
12885      'exposed' => FALSE,
12886    ],
12887  ];
12888  $visitors_day_of_month_sort = [
12889    'visitors_day_of_month' => [
12890      'id' => 'visitors_day_of_month',
12891      'table' => 'visitors',
12892      'field' => 'visitors_day_of_month',
12893      'relationship' => 'none',
12894      'group_type' => 'group',
12895      'admin_label' => '',
12896      'plugin_id' => 'visitors_timestamp',
12897      'order' => 'ASC',
12898      'expose' => [
12899        'label' => '',
12900        'field_identifier' => '',
12901      ],
12902      'exposed' => FALSE,
12903    ],
12904  ];
12905  $visitors_day_of_week_sort = [
12906    'visitors_day_of_week' => [
12907      'id' => 'visitors_day_of_week',
12908      'table' => 'visitors',
12909      'field' => 'visitors_day_of_week',
12910      'relationship' => 'none',
12911      'group_type' => 'group',
12912      'admin_label' => '',
12913      'plugin_id' => 'visitors_timestamp',
12914      'order' => 'ASC',
12915      'expose' => [
12916        'label' => '',
12917        'field_identifier' => '',
12918      ],
12919      'exposed' => FALSE,
12920    ],
12921  ];
12922  $visitors_hour_sort = [
12923    'visitors_hour' => [
12924      'id' => 'visitors_hour',
12925      'table' => 'visitors',
12926      'field' => 'visitors_hour',
12927      'relationship' => 'none',
12928      'group_type' => 'group',
12929      'admin_label' => '',
12930      'plugin_id' => 'visitors_timestamp',
12931      'order' => 'ASC',
12932      'expose' => [
12933        'label' => '',
12934        'field_identifier' => '',
12935      ],
12936      'exposed' => FALSE,
12937    ],
12938  ];
12939  $visitors_localtime = [
12940    'visitor_localtime' => [
12941      'id' => 'visitor_localtime',
12942      'table' => 'visitors',
12943      'field' => 'visitor_localtime',
12944      'relationship' => 'none',
12945      'group_type' => 'group',
12946      'admin_label' => '',
12947      'plugin_id' => 'visitors_timestamp',
12948      'order' => 'ASC',
12949      'expose' => [
12950        'label' => '',
12951        'field_identifier' => '',
12952      ],
12953      'exposed' => FALSE,
12954    ],
12955  ];
12956  $visitors_month_sort = [
12957    'visitors_month' => [
12958      'id' => 'visitors_month',
12959      'table' => 'visitors',
12960      'field' => 'visitors_month',
12961      'relationship' => 'none',
12962      'group_type' => 'group',
12963      'admin_label' => '',
12964      'plugin_id' => 'visitors_timestamp',
12965      'order' => 'ASC',
12966      'expose' => [
12967        'label' => '',
12968        'field_identifier' => '',
12969      ],
12970      'exposed' => FALSE,
12971    ],
12972  ];
12973  $visitors_day_sort = [
12974    'visitors_day' => [
12975      'id' => 'visitors_day',
12976      'table' => 'visitors',
12977      'field' => 'visitors_day',
12978      'relationship' => 'none',
12979      'group_type' => 'group',
12980      'admin_label' => '',
12981      'plugin_id' => 'visitors_timestamp',
12982      'order' => 'ASC',
12983      'expose' => [
12984        'label' => '',
12985        'field_identifier' => '',
12986      ],
12987      'exposed' => FALSE,
12988    ],
12989  ];
12990  $visitors_hour_sort = [
12991    'visitors_hour' => [
12992      'id' => 'visitors_hour',
12993      'table' => 'visitors',
12994      'field' => 'visitors_hour',
12995      'relationship' => 'none',
12996      'group_type' => 'group',
12997      'admin_label' => '',
12998      'plugin_id' => 'visitors_timestamp',
12999      'order' => 'ASC',
13000      'expose' => [
13001        'label' => '',
13002        'field_identifier' => '',
13003      ],
13004      'exposed' => FALSE,
13005    ],
13006  ];
13007  $visitors_week_sort = [
13008    'visitors_week' => [
13009      'id' => 'visitors_week',
13010      'table' => 'visitors',
13011      'field' => 'visitors_week',
13012      'relationship' => 'none',
13013      'group_type' => 'group',
13014      'admin_label' => '',
13015      'plugin_id' => 'visitors_timestamp',
13016      'order' => 'ASC',
13017      'expose' => [
13018        'label' => '',
13019        'field_identifier' => '',
13020      ],
13021      'exposed' => FALSE,
13022    ],
13023  ];
13024
13025  $pager_0 = [
13026    'type' => 'none',
13027    'options' => [
13028      'offset' => 0,
13029    ],
13030  ];
13031
13032  $view->set('display.daily_column.display_options.sorts', $visitors_day_sort);
13033
13034  $view->set('display.day_of_month_column.display_options.sorts', $visitors_day_of_month_sort);
13035  $view->set('display.day_of_month_table.display_options.sorts', $visitors_day_of_month_sort);
13036
13037  $view->set('display.day_of_week_column.display_options.pager', $pager_0);
13038  $view->set('display.day_of_week_column.display_options.defaults.pager', FALSE);
13039
13040  $view->set('display.day_of_week_column.display_options.sorts', $visitors_day_of_week_sort);
13041  $view->set('display.day_of_week_column.cache_metadata.contexts', ['languages:language_interface']);
13042
13043  $view->set('display.day_of_week_table.display_options.pager', $pager_0);
13044  $view->set('display.day_of_week_table.display_options.defaults.pager', FALSE);
13045  $view->set('display.day_of_week_table.display_options.sorts', $visitors_day_of_week_sort);
13046  $view->set('display.day_of_week_table.cache_metadata.contexts', ['languages:language_interface', 'url.query_args']);
13047
13048  $view->set('display.hour_column.display_options.sorts', $visitors_hour_sort);
13049
13050  $view->set('display.hour_table.display_options.sorts', $visitors_hour_sort);
13051
13052  $view->set('display.local_hour_column.display_options.sorts', $visitors_localtime);
13053  $view->set('display.local_hour_table.display_options.sorts', $visitors_localtime);
13054
13055  $view->set('display.monthly_column.display_options.sorts', $visitors_month_sort);
13056  $view->set('display.monthly_column.display_options.pager', $pager_0);
13057  $view->set('display.monthly_column.display_options.defaults.pager', FALSE);
13058  $view->set('display.monthly_column.cache_metadata.contexts', ['languages:language_interface']);
13059
13060  $view->set('display.monthly_table.display_options.sorts', $visitors_month_sort);
13061  $view->set('display.monthly_table.display_options.pager', $pager_0);
13062  $view->set('display.monthly_table.display_options.defaults.pager', FALSE);
13063
13064  $view->set('display.performance_daily_column.display_options.sorts', $visitors_day_sort);
13065  $view->set('display.performance_hourly_column.display_options.sorts', $visitors_hour_sort);
13066  $view->set('display.performance_weekly_column.display_options.sorts', $visitors_week_sort);
13067
13068  $view->set('display.weekly_column.display_options.sorts', $visitors_week_sort);
13069  $view->set('display.weekly_table.display_options.sorts', $visitors_week_sort);
13070
13071  $view->set('display.referrer_table.cache_metadata.contexts', [
13072    'languages:language_interface',
13073    'url',
13074    'url.path',
13075    'url.query_args',
13076  ]);
13077
13078  $view->save();
13079}
13080
13081/**
13082 * Adds date range cache context for better performance.
13083 */
13084function visitors_update_8229() {
13085  drupal_flush_all_caches();
13086
13087  $view = \Drupal::configFactory()->getEditable('views.view.visitors');
13088
13089  $view->set('display.default.display_options.cache.type', 'tag');
13090
13091  $default_context = $view->get('display.default.cache_metadata.contexts');
13092  $default_context[] = 'visitors_date_range';
13093  $view->set('display.default.cache_metadata.contexts', $default_context);
13094
13095  $browser_engine_pie_context = $view->get('display.browser_engine_pie.cache_metadata.contexts');
13096  $browser_engine_pie_context[] = 'visitors_date_range';
13097  $view->set('display.browser_engine_pie.cache_metadata.contexts', $browser_engine_pie_context);
13098
13099  $browser_engine_table_context = $view->get('display.browser_engine_table.cache_metadata.contexts');
13100  $browser_engine_table_context[] = 'visitors_date_range';
13101  $view->set('display.browser_engine_table.cache_metadata.contexts', $browser_engine_table_context);
13102
13103  $browser_name_table_context = $view->get('display.browser_name_table.cache_metadata.contexts');
13104  $browser_name_table_context[] = 'visitors_date_range';
13105  $view->set('display.browser_name_table.cache_metadata.contexts', $browser_name_table_context);
13106
13107  $browser_version_table_context = $view->get('display.browser_version_table.cache_metadata.contexts');
13108  $browser_version_table_context[] = 'visitors_date_range';
13109  $view->set('display.browser_version_table.cache_metadata.contexts', $browser_version_table_context);
13110
13111  $continent_pie_context = $view->get('display.continent_pie.cache_metadata.contexts');
13112  $continent_pie_context[] = 'visitors_date_range';
13113  $view->set('display.continent_pie.cache_metadata.contexts', $continent_pie_context);
13114
13115  $continent_table_context = $view->get('display.continent_table.cache_metadata.contexts');
13116  $continent_table_context[] = 'visitors_date_range';
13117  $view->set('display.continent_table.cache_metadata.contexts', $continent_table_context);
13118
13119  $country_table_context = $view->get('display.country_table.cache_metadata.contexts');
13120  $country_table_context[] = 'visitors_date_range';
13121  $view->set('display.country_table.cache_metadata.contexts', $country_table_context);
13122
13123  $daily_column_context = $view->get('display.daily_column.cache_metadata.contexts');
13124  $daily_column_context[] = 'visitors_date_range';
13125  $view->set('display.daily_column.cache_metadata.contexts', $daily_column_context);
13126
13127  $day_of_month_column_context = $view->get('display.day_of_month_column.cache_metadata.contexts');
13128  $day_of_month_column_context[] = 'visitors_date_range';
13129  $view->set('display.day_of_month_column.cache_metadata.contexts', $day_of_month_column_context);
13130
13131  $day_of_month_table_context = $view->get('display.day_of_month_table.cache_metadata.contexts');
13132  $day_of_month_table_context[] = 'visitors_date_range';
13133  $view->set('display.day_of_month_table.cache_metadata.contexts', $day_of_month_table_context);
13134
13135  $day_of_week_column_context = $view->get('display.day_of_week_column.cache_metadata.contexts');
13136  $day_of_week_column_context[] = 'visitors_date_range';
13137  $view->set('display.day_of_week_column.cache_metadata.contexts', $day_of_week_column_context);
13138
13139  $day_of_week_table_context = $view->get('display.day_of_week_table.cache_metadata.contexts');
13140  $day_of_week_table_context[] = 'visitors_date_range';
13141  $view->set('display.day_of_week_table.cache_metadata.contexts', $day_of_week_table_context);
13142
13143  $device_brand_table_context = $view->get('display.device_brand_table.cache_metadata.contexts');
13144  $device_brand_table_context[] = 'visitors_date_range';
13145  $view->set('display.device_brand_table.cache_metadata.contexts', $device_brand_table_context);
13146
13147  $device_config_table_context = $view->get('display.device_config_table.cache_metadata.contexts');
13148  $device_config_table_context[] = 'visitors_date_range';
13149  $view->set('display.device_config_table.cache_metadata.contexts', $device_config_table_context);
13150
13151  $device_model_table_context = $view->get('display.device_model_table.cache_metadata.contexts');
13152  $device_model_table_context[] = 'visitors_date_range';
13153  $view->set('display.device_model_table.cache_metadata.contexts', $device_model_table_context);
13154
13155  $device_resolution_table_context = $view->get('display.device_resolution_table.cache_metadata.contexts');
13156  $device_resolution_table_context[] = 'visitors_date_range';
13157  $view->set('display.device_resolution_table.cache_metadata.contexts', $device_resolution_table_context);
13158
13159  $device_type_table_context = $view->get('display.device_type_table.cache_metadata.contexts');
13160  $device_type_table_context[] = 'visitors_date_range';
13161  $view->set('display.device_type_table.cache_metadata.contexts', $device_type_table_context);
13162
13163  $distinct_countries_list_context = $view->get('display.distinct_countries_list.cache_metadata.contexts');
13164  $distinct_countries_list_context[] = 'visitors_date_range';
13165  $view->set('display.distinct_countries_list.cache_metadata.contexts', $distinct_countries_list_context);
13166
13167  $hour_column_context = $view->get('display.hour_column.cache_metadata.contexts');
13168  $hour_column_context[] = 'visitors_date_range';
13169  $view->set('display.hour_column.cache_metadata.contexts', $hour_column_context);
13170
13171  $hour_table_context = $view->get('display.hour_table.cache_metadata.contexts');
13172  $hour_table_context[] = 'visitors_date_range';
13173  $view->set('display.hour_table.cache_metadata.contexts', $hour_table_context);
13174
13175  $language_code_table_context = $view->get('display.language_code_table.cache_metadata.contexts');
13176  $language_code_table_context[] = 'visitors_date_range';
13177  $view->set('display.language_code_table.cache_metadata.contexts', $language_code_table_context);
13178
13179  $language_table_context = $view->get('display.language_table.cache_metadata.contexts');
13180  $language_table_context[] = 'visitors_date_range';
13181  $view->set('display.language_table.cache_metadata.contexts', $language_table_context);
13182
13183  $local_hour_column_context = $view->get('display.local_hour_column.cache_metadata.contexts');
13184  $local_hour_column_context[] = 'visitors_date_range';
13185  $view->set('display.local_hour_column.cache_metadata.contexts', $local_hour_column_context);
13186
13187  $local_hour_table_context = $view->get('display.local_hour_table.cache_metadata.contexts');
13188  $local_hour_table_context[] = 'visitors_date_range';
13189  $view->set('display.local_hour_table.cache_metadata.contexts', $local_hour_table_context);
13190
13191  $monthly_column_context = $view->get('display.monthly_column.cache_metadata.contexts');
13192  $monthly_column_context[] = 'visitors_date_range';
13193  $view->set('display.monthly_column.cache_metadata.contexts', $monthly_column_context);
13194
13195  $monthly_table_context = $view->get('display.monthly_table.cache_metadata.contexts');
13196  $monthly_table_context[] = 'visitors_date_range';
13197  $view->set('display.monthly_table.cache_metadata.contexts', $monthly_table_context);
13198
13199  $os_family_table_context = $view->get('display.os_family_table.cache_metadata.contexts');
13200  $os_family_table_context[] = 'visitors_date_range';
13201  $view->set('display.os_family_table.cache_metadata.contexts', $os_family_table_context);
13202
13203  $os_version_table_context = $view->get('display.os_version_table.cache_metadata.contexts');
13204  $os_version_table_context[] = 'visitors_date_range';
13205  $view->set('display.os_version_table.cache_metadata.contexts', $os_version_table_context);
13206
13207  $performance_daily_column_context = $view->get('display.performance_daily_column.cache_metadata.contexts');
13208  $performance_daily_column_context[] = 'visitors_date_range';
13209  $view->set('display.performance_daily_column.cache_metadata.contexts', $performance_daily_column_context);
13210
13211  $performance_hourly_column_context = $view->get('display.performance_hourly_column.cache_metadata.contexts');
13212  $performance_hourly_column_context[] = 'visitors_date_range';
13213  $view->set('display.performance_hourly_column.cache_metadata.contexts', $performance_hourly_column_context);
13214
13215  $performance_weekly_column_context = $view->get('display.performance_weekly_column.cache_metadata.contexts');
13216  $performance_weekly_column_context[] = 'visitors_date_range';
13217  $view->set('display.performance_weekly_column.cache_metadata.contexts', $performance_weekly_column_context);
13218
13219  $recent_view_table_context = $view->get('display.recent_view_table.cache_metadata.contexts');
13220  $recent_view_table_context[] = 'visitors_date_range';
13221  $view->set('display.recent_view_table.cache_metadata.contexts', $recent_view_table_context);
13222
13223  $referrer_table_context = $view->get('display.referrer_table.cache_metadata.contexts');
13224  $referrer_table_context[] = 'visitors_date_range';
13225  $view->set('display.referrer_table.cache_metadata.contexts', $referrer_table_context);
13226
13227  $top_host_table_context = $view->get('display.top_host_table.cache_metadata.contexts');
13228  $top_host_table_context[] = 'visitors_date_range';
13229  $view->set('display.top_host_table.cache_metadata.contexts', $top_host_table_context);
13230
13231  $top_path_table_context = $view->get('display.top_path_table.cache_metadata.contexts');
13232  $top_path_table_context[] = 'visitors_date_range';
13233  $view->set('display.top_path_table.cache_metadata.contexts', $top_path_table_context);
13234
13235  $top_route_table_context = $view->get('display.top_route_table.cache_metadata.contexts');
13236  $top_route_table_context[] = 'visitors_date_range';
13237  $view->set('display.top_route_table.cache_metadata.contexts', $top_route_table_context);
13238
13239  $weekly_column_context = $view->get('display.weekly_column.cache_metadata.contexts');
13240  $weekly_column_context[] = 'visitors_date_range';
13241  $view->set('display.weekly_column.cache_metadata.contexts', $weekly_column_context);
13242
13243  $weekly_table_context = $view->get('display.weekly_table.cache_metadata.contexts');
13244  $weekly_table_context[] = 'visitors_date_range';
13245  $view->set('display.weekly_table.cache_metadata.contexts', $weekly_table_context);
13246
13247  // Browser plugins.
13248  $browser_plugin_list = [
13249    'id' => 'browser_plugin_list',
13250    'display_title' => 'Browser Plugins',
13251    'display_plugin' => 'embed',
13252    'position' => 39,
13253    'display_options' =>
13254  [
13255    'title' => 'Browser Plugins',
13256    'fields' =>
13257    [
13258      'config_cookie' =>
13259      [
13260        'id' => 'config_cookie',
13261        'table' => 'visitors',
13262        'field' => 'config_cookie',
13263        'relationship' => 'none',
13264        'group_type' => 'sum',
13265        'admin_label' => '',
13266        'plugin_id' => 'visitors_cookie',
13267        'label' => 'Cookie',
13268        'exclude' => FALSE,
13269        'alter' =>
13270        [
13271          'alter_text' => FALSE,
13272          'text' => '',
13273          'make_link' => FALSE,
13274          'path' => '',
13275          'absolute' => FALSE,
13276          'external' => FALSE,
13277          'replace_spaces' => FALSE,
13278          'path_case' => 'none',
13279          'trim_whitespace' => FALSE,
13280          'alt' => '',
13281          'rel' => '',
13282          'link_class' => '',
13283          'prefix' => '',
13284          'suffix' => '',
13285          'target' => '',
13286          'nl2br' => FALSE,
13287          'max_length' => 0,
13288          'word_boundary' => TRUE,
13289          'ellipsis' => TRUE,
13290          'more_link' => FALSE,
13291          'more_link_text' => '',
13292          'more_link_path' => '',
13293          'strip_tags' => FALSE,
13294          'trim' => FALSE,
13295          'preserve_tags' => '',
13296          'html' => FALSE,
13297        ],
13298        'element_type' => '',
13299        'element_class' => '',
13300        'element_label_type' => '',
13301        'element_label_class' => '.visitors-cookie-plugin-icon',
13302        'element_label_colon' => TRUE,
13303        'element_wrapper_type' => '',
13304        'element_wrapper_class' => '',
13305        'element_default_classes' => TRUE,
13306        'empty' => '',
13307        'hide_empty' => TRUE,
13308        'empty_zero' => TRUE,
13309        'hide_alter_empty' => TRUE,
13310        'icon' => FALSE,
13311      ],
13312      'config_pdf' =>
13313      [
13314        'id' => 'config_pdf',
13315        'table' => 'visitors',
13316        'field' => 'config_pdf',
13317        'relationship' => 'none',
13318        'group_type' => 'sum',
13319        'admin_label' => '',
13320        'plugin_id' => 'visitors_pdf',
13321        'label' => 'PDF',
13322        'exclude' => FALSE,
13323        'alter' =>
13324        [
13325          'alter_text' => FALSE,
13326          'text' => '',
13327          'make_link' => FALSE,
13328          'path' => '',
13329          'absolute' => FALSE,
13330          'external' => FALSE,
13331          'replace_spaces' => FALSE,
13332          'path_case' => 'none',
13333          'trim_whitespace' => FALSE,
13334          'alt' => '',
13335          'rel' => '',
13336          'link_class' => '',
13337          'prefix' => '',
13338          'suffix' => '',
13339          'target' => '',
13340          'nl2br' => FALSE,
13341          'max_length' => 0,
13342          'word_boundary' => TRUE,
13343          'ellipsis' => TRUE,
13344          'more_link' => FALSE,
13345          'more_link_text' => '',
13346          'more_link_path' => '',
13347          'strip_tags' => FALSE,
13348          'trim' => FALSE,
13349          'preserve_tags' => '',
13350          'html' => FALSE,
13351        ],
13352        'element_type' => '',
13353        'element_class' => '',
13354        'element_label_type' => '',
13355        'element_label_class' => '.visitors-pdf-plugin-icon',
13356        'element_label_colon' => TRUE,
13357        'element_wrapper_type' => '',
13358        'element_wrapper_class' => '',
13359        'element_default_classes' => TRUE,
13360        'empty' => '',
13361        'hide_empty' => TRUE,
13362        'empty_zero' => TRUE,
13363        'hide_alter_empty' => TRUE,
13364        'icon' => FALSE,
13365      ],
13366      'config_flash' =>
13367      [
13368        'id' => 'config_flash',
13369        'table' => 'visitors',
13370        'field' => 'config_flash',
13371        'relationship' => 'none',
13372        'group_type' => 'sum',
13373        'admin_label' => '',
13374        'plugin_id' => 'visitors_flash',
13375        'label' => 'Flash',
13376        'exclude' => FALSE,
13377        'alter' =>
13378        [
13379          'alter_text' => FALSE,
13380          'text' => '',
13381          'make_link' => FALSE,
13382          'path' => '',
13383          'absolute' => FALSE,
13384          'external' => FALSE,
13385          'replace_spaces' => FALSE,
13386          'path_case' => 'none',
13387          'trim_whitespace' => FALSE,
13388          'alt' => '',
13389          'rel' => '',
13390          'link_class' => '',
13391          'prefix' => '',
13392          'suffix' => '',
13393          'target' => '',
13394          'nl2br' => FALSE,
13395          'max_length' => 0,
13396          'word_boundary' => TRUE,
13397          'ellipsis' => TRUE,
13398          'more_link' => FALSE,
13399          'more_link_text' => '',
13400          'more_link_path' => '',
13401          'strip_tags' => FALSE,
13402          'trim' => FALSE,
13403          'preserve_tags' => '',
13404          'html' => FALSE,
13405        ],
13406        'element_type' => '',
13407        'element_class' => '',
13408        'element_label_type' => '',
13409        'element_label_class' => '.visitors-flash-plugin-icon',
13410        'element_label_colon' => TRUE,
13411        'element_wrapper_type' => '',
13412        'element_wrapper_class' => '',
13413        'element_default_classes' => TRUE,
13414        'empty' => '',
13415        'hide_empty' => TRUE,
13416        'empty_zero' => TRUE,
13417        'hide_alter_empty' => TRUE,
13418        'icon' => FALSE,
13419      ],
13420      'config_java' =>
13421      [
13422        'id' => 'config_java',
13423        'table' => 'visitors',
13424        'field' => 'config_java',
13425        'relationship' => 'none',
13426        'group_type' => 'sum',
13427        'admin_label' => '',
13428        'plugin_id' => 'visitors_java',
13429        'label' => 'Java',
13430        'exclude' => FALSE,
13431        'alter' =>
13432        [
13433          'alter_text' => FALSE,
13434          'text' => '',
13435          'make_link' => FALSE,
13436          'path' => '',
13437          'absolute' => FALSE,
13438          'external' => FALSE,
13439          'replace_spaces' => FALSE,
13440          'path_case' => 'none',
13441          'trim_whitespace' => FALSE,
13442          'alt' => '',
13443          'rel' => '',
13444          'link_class' => '',
13445          'prefix' => '',
13446          'suffix' => '',
13447          'target' => '',
13448          'nl2br' => FALSE,
13449          'max_length' => 0,
13450          'word_boundary' => TRUE,
13451          'ellipsis' => TRUE,
13452          'more_link' => FALSE,
13453          'more_link_text' => '',
13454          'more_link_path' => '',
13455          'strip_tags' => FALSE,
13456          'trim' => FALSE,
13457          'preserve_tags' => '',
13458          'html' => FALSE,
13459        ],
13460        'element_type' => '',
13461        'element_class' => '',
13462        'element_label_type' => '',
13463        'element_label_class' => '.visitors-java-plugin-icon',
13464        'element_label_colon' => TRUE,
13465        'element_wrapper_type' => '',
13466        'element_wrapper_class' => '',
13467        'element_default_classes' => TRUE,
13468        'empty' => '',
13469        'hide_empty' => TRUE,
13470        'empty_zero' => TRUE,
13471        'hide_alter_empty' => TRUE,
13472        'icon' => FALSE,
13473      ],
13474      'config_silverlight' =>
13475      [
13476        'id' => 'config_silverlight',
13477        'table' => 'visitors',
13478        'field' => 'config_silverlight',
13479        'relationship' => 'none',
13480        'group_type' => 'sum',
13481        'admin_label' => '',
13482        'plugin_id' => 'visitors_silverlight',
13483        'label' => 'Silverlight',
13484        'exclude' => FALSE,
13485        'alter' =>
13486        [
13487          'alter_text' => FALSE,
13488          'text' => '',
13489          'make_link' => FALSE,
13490          'path' => '',
13491          'absolute' => FALSE,
13492          'external' => FALSE,
13493          'replace_spaces' => FALSE,
13494          'path_case' => 'none',
13495          'trim_whitespace' => FALSE,
13496          'alt' => '',
13497          'rel' => '',
13498          'link_class' => '',
13499          'prefix' => '',
13500          'suffix' => '',
13501          'target' => '',
13502          'nl2br' => FALSE,
13503          'max_length' => 0,
13504          'word_boundary' => TRUE,
13505          'ellipsis' => TRUE,
13506          'more_link' => FALSE,
13507          'more_link_text' => '',
13508          'more_link_path' => '',
13509          'strip_tags' => FALSE,
13510          'trim' => FALSE,
13511          'preserve_tags' => '',
13512          'html' => FALSE,
13513        ],
13514        'element_type' => '',
13515        'element_class' => '',
13516        'element_label_type' => '',
13517        'element_label_class' => '.visitors-silverlight-plugin-icon',
13518        'element_label_colon' => TRUE,
13519        'element_wrapper_type' => '',
13520        'element_wrapper_class' => '',
13521        'element_default_classes' => TRUE,
13522        'empty' => '',
13523        'hide_empty' => TRUE,
13524        'empty_zero' => TRUE,
13525        'hide_alter_empty' => TRUE,
13526        'icon' => FALSE,
13527      ],
13528      'config_windowsmedia' =>
13529      [
13530        'id' => 'config_windowsmedia',
13531        'table' => 'visitors',
13532        'field' => 'config_windowsmedia',
13533        'relationship' => 'none',
13534        'group_type' => 'sum',
13535        'admin_label' => '',
13536        'plugin_id' => 'visitors_windowsmedia',
13537        'label' => 'Windows Media',
13538        'exclude' => FALSE,
13539        'alter' =>
13540        [
13541          'alter_text' => FALSE,
13542          'text' => '',
13543          'make_link' => FALSE,
13544          'path' => '',
13545          'absolute' => FALSE,
13546          'external' => FALSE,
13547          'replace_spaces' => FALSE,
13548          'path_case' => 'none',
13549          'trim_whitespace' => FALSE,
13550          'alt' => '',
13551          'rel' => '',
13552          'link_class' => '',
13553          'prefix' => '',
13554          'suffix' => '',
13555          'target' => '',
13556          'nl2br' => FALSE,
13557          'max_length' => 0,
13558          'word_boundary' => TRUE,
13559          'ellipsis' => TRUE,
13560          'more_link' => FALSE,
13561          'more_link_text' => '',
13562          'more_link_path' => '',
13563          'strip_tags' => FALSE,
13564          'trim' => FALSE,
13565          'preserve_tags' => '',
13566          'html' => FALSE,
13567        ],
13568        'element_type' => '',
13569        'element_class' => '',
13570        'element_label_type' => '',
13571        'element_label_class' => '.visitors-windows-media-plugin-icon',
13572        'element_label_colon' => TRUE,
13573        'element_wrapper_type' => '',
13574        'element_wrapper_class' => '',
13575        'element_default_classes' => TRUE,
13576        'empty' => '',
13577        'hide_empty' => TRUE,
13578        'empty_zero' => TRUE,
13579        'hide_alter_empty' => TRUE,
13580        'icon' => FALSE,
13581      ],
13582      'config_quicktime' =>
13583      [
13584        'id' => 'config_quicktime',
13585        'table' => 'visitors',
13586        'field' => 'config_quicktime',
13587        'relationship' => 'none',
13588        'group_type' => 'sum',
13589        'admin_label' => '',
13590        'plugin_id' => 'visitors_quicktime',
13591        'label' => 'Quicktime',
13592        'exclude' => FALSE,
13593        'alter' =>
13594        [
13595          'alter_text' => FALSE,
13596          'text' => '',
13597          'make_link' => FALSE,
13598          'path' => '',
13599          'absolute' => FALSE,
13600          'external' => FALSE,
13601          'replace_spaces' => FALSE,
13602          'path_case' => 'none',
13603          'trim_whitespace' => FALSE,
13604          'alt' => '',
13605          'rel' => '',
13606          'link_class' => '',
13607          'prefix' => '',
13608          'suffix' => '',
13609          'target' => '',
13610          'nl2br' => FALSE,
13611          'max_length' => 0,
13612          'word_boundary' => TRUE,
13613          'ellipsis' => TRUE,
13614          'more_link' => FALSE,
13615          'more_link_text' => '',
13616          'more_link_path' => '',
13617          'strip_tags' => FALSE,
13618          'trim' => FALSE,
13619          'preserve_tags' => '',
13620          'html' => FALSE,
13621        ],
13622        'element_type' => '',
13623        'element_class' => '',
13624        'element_label_type' => '',
13625        'element_label_class' => '.visitors-quicktime-plugin-icon',
13626        'element_label_colon' => TRUE,
13627        'element_wrapper_type' => '',
13628        'element_wrapper_class' => '',
13629        'element_default_classes' => TRUE,
13630        'empty' => '',
13631        'hide_empty' => TRUE,
13632        'empty_zero' => TRUE,
13633        'hide_alter_empty' => TRUE,
13634        'icon' => FALSE,
13635      ],
13636      'config_realplayer' =>
13637      [
13638        'id' => 'config_realplayer',
13639        'table' => 'visitors',
13640        'field' => 'config_realplayer',
13641        'relationship' => 'none',
13642        'group_type' => 'sum',
13643        'admin_label' => '',
13644        'plugin_id' => 'visitors_realplayer',
13645        'label' => 'Realplayer',
13646        'exclude' => FALSE,
13647        'alter' =>
13648        [
13649          'alter_text' => FALSE,
13650          'text' => '',
13651          'make_link' => FALSE,
13652          'path' => '',
13653          'absolute' => FALSE,
13654          'external' => FALSE,
13655          'replace_spaces' => FALSE,
13656          'path_case' => 'none',
13657          'trim_whitespace' => FALSE,
13658          'alt' => '',
13659          'rel' => '',
13660          'link_class' => '',
13661          'prefix' => '',
13662          'suffix' => '',
13663          'target' => '',
13664          'nl2br' => FALSE,
13665          'max_length' => 0,
13666          'word_boundary' => TRUE,
13667          'ellipsis' => TRUE,
13668          'more_link' => FALSE,
13669          'more_link_text' => '',
13670          'more_link_path' => '',
13671          'strip_tags' => FALSE,
13672          'trim' => FALSE,
13673          'preserve_tags' => '',
13674          'html' => FALSE,
13675        ],
13676        'element_type' => '',
13677        'element_class' => '',
13678        'element_label_type' => '',
13679        'element_label_class' => '.visitors-realplayer-plugin-icon',
13680        'element_label_colon' => TRUE,
13681        'element_wrapper_type' => '',
13682        'element_wrapper_class' => '',
13683        'element_default_classes' => TRUE,
13684        'empty' => '',
13685        'hide_empty' => TRUE,
13686        'empty_zero' => TRUE,
13687        'hide_alter_empty' => TRUE,
13688        'icon' => FALSE,
13689      ],
13690    ],
13691    'pager' =>
13692    [
13693      'type' => 'none',
13694      'options' =>
13695      [
13696        'offset' => 0,
13697      ],
13698    ],
13699    'sorts' =>
13700    [],
13701    'style' =>
13702    [
13703      'type' => 'default',
13704      'options' =>
13705      [
13706        'grouping' =>
13707        [],
13708        'row_class' => '',
13709        'default_row_class' => TRUE,
13710      ],
13711    ],
13712    'row' =>
13713    [
13714      'type' => 'fields',
13715      'options' =>
13716      [
13717        'default_field_elements' => TRUE,
13718        'inline' =>
13719        [],
13720        'separator' => '',
13721        'hide_empty' => FALSE,
13722      ],
13723    ],
13724    'defaults' =>
13725    [
13726      'title' => FALSE,
13727      'pager' => FALSE,
13728      'style' => FALSE,
13729      'row' => FALSE,
13730      'fields' => FALSE,
13731      'sorts' => FALSE,
13732      'header' => FALSE,
13733      'footer' => FALSE,
13734    ],
13735    'display_description' => '',
13736    'display_extenders' =>
13737    [],
13738    'header' => [],
13739    'footer' => [
13740      'area_text_custom' => [
13741        'id' => 'area_text_custom',
13742        'table' => 'views',
13743        'field' => 'area_text_custom',
13744        'relationship' => 'none',
13745        'group_type' => 'group',
13746        'admin_label' => '',
13747        'plugin_id' => 'text_custom',
13748        'empty' => FALSE,
13749        'content' => 'Note: Plugin detection does not work in Internet Explorer before 11. This report is only based on non-IE browsers and newer versions of IE.',
13750        'tokenize' => FALSE,
13751      ],
13752    ],
13753  ],
13754    'cache_metadata' =>
13755    [
13756      'max-age' => -1,
13757      'contexts' =>
13758    [
13759      0 => 'languages:language_interface',
13760      1 => 'visitors_date_range',
13761    ],
13762      'tags' =>
13763      [],
13764    ],
13765  ];
13766  $view->set('display.browser_plugin_list', $browser_plugin_list);
13767
13768  $view->save();
13769}