diff --git a/dist/prober.php b/dist/prober.php index c514ca2a..a6142442 100644 --- a/dist/prober.php +++ b/dist/prober.php @@ -1,877 +1,206 @@ -.nav { -position: fixed; -bottom: 0; -background: #333; -padding: 0 1rem; -left: 0; -right: 0; -text-align: center; -z-index: 10; -} -.nav a{ -display: inline-block; -color: #eee; -padding: .3rem .5rem; -border-left: 1px solid rgba(255,255,255,.05); -} -.nav a:first-child{ -border: none; -} -.nav a:hover, -.nav a:focus, -.nav a:active{ -background: #f8f8f8; -color: #333; -text-decoration: none; -} -.nav .long-title{ -display: none; -} -.nav .tiny-title{ -display: block; -} -@media (min-width: 579px) { -.nav .tiny-title{ -display: none; -} -.nav .long-title{ -display: block; -} -.nav a{ -padding: .3rem 1rem; -} -} - +namespace InnStudio\Prober\Components\PreDefine; \define('TIMER', \microtime(true)); \define('IS_DEV', false); \define('DEBUG', false); \define('LANG', 'eyJ6aF9DTiI6eyJQbGVhc2Ugd2FpdCAlZCBzZWNvbmRzIjoiXHU4YmY3XHU3YjQ5XHU1Zjg1ICVkIFx1NzlkMiIsIkRhdGFiYXNlIjoiXHU2NTcwXHU2MzZlXHU1ZTkzIiwiREIiOiJcdTY1NzBcdTYzNmVcdTVlOTMiLCJTUUxpdGUzIjoiIiwiU1FMaXRlIjoiIiwiTXlTUUxpIGNsaWVudCI6IiIsIk1vbmdvIjoiIiwiTW9uZ29EQiI6IiIsIlBvc3RncmVTUUwiOiIiLCJQYXJhZG94IjoiIiwiTWljcm9zb2Z0IFNRTCBTZXJ2ZXIgRHJpdmVyIGZvciBQSFAiOiIiLCJNUyBTUUwiOiIiLCJGaWxlIFBybyI6IiIsIk1heERCIGNsaWVudCI6IiIsIk1heERCIHNlcnZlciI6IiIsIkdlbmVyYXRvciAlcyI6Ilx1OGJlNVx1OTg3NVx1OTc2Mlx1NzUzMSAlcyBcdTc1MWZcdTYyMTAiLCJBdXRob3IgJXMiOiJcdTRmNWNcdTgwMDVcdTRlM2EgJXMiLCJVbmF2YWlsYWJsZSI6Ilx1NGUwZFx1NTNlZlx1NzUyOCIsIiVzIGNhY2hlIjoiJXMgXHU3ZjEzXHU1YjU4IiwiJTEkZGQgJTIkZGggJTMkZG0gJTQkZHMiOiIlMSRkIFx1NTkyOSAlMiRkIFx1NjVmNiAlMyRkIFx1NTIwNiAlNCRkIFx1NzlkMiIsIk15IGluZm9ybWF0aW9uIjoiXHU2MjExXHU3Njg0XHU0ZmUxXHU2MDZmIiwiTWluZSI6Ilx1NjIxMVx1NzY4NCIsIk15IElQIjoiXHU2MjExXHU3Njg0IElQIiwiTXkgYnJvd3NlciBVQSI6Ilx1NjIxMVx1NzY4NFx1NmQ0Zlx1ODljOFx1NTY2OCBVQSIsIk15IGJyb3dzZXIgbGFuZ3VhZ2UiOiJcdTYyMTFcdTc2ODRcdTZkNGZcdTg5YzhcdTU2NjhcdThiZWRcdThhMDAiLCJOZXR3b3JrIHN0YXRzIjoiXHU2ZDQxXHU5MWNmXHU3ZWRmXHU4YmExIiwiTmV0IjoiXHU3ZjUxXHU3ZWRjIiwiUEhQIGV4dGVuc2lvbnMiOiJQSFAgXHU2MjY5XHU1YzU1IiwiRXh0IjoiXHU2MjY5XHU1YzU1IiwiJXMgZXh0ZW5zaW9uIjoiJXMgXHU2MjY5XHU1YzU1IiwiJXMgZW5hYmxlZCI6IiVzIFx1NWRmMlx1NTQyZlx1NzUyOCIsIlplbmQgT3B0aW1pemVyIjoiIiwiTG9hZGVkIGV4dGVuc2lvbnMiOiJcdTVkZjJcdTUyYTBcdThmN2RcdTc2ODRcdTYyNjlcdTVjNTUiLCJQSFAgaW5mb3JtYXRpb24iOiJQSFAgXHU0ZmUxXHU2MDZmIiwiUEhQIjoiUEhQIiwiQ2xpY2sgZm9yIGRldGFpbCI6IlBIUCBcdThiZTZcdTdlYzZcdTRmZTFcdTYwNmYiLCJQSFAgaW5mbyBkZXRhaWwiOiJQSFAgXHU4YmU2XHU3ZWM2XHU0ZmUxXHU2MDZmIiwiVmVyc2lvbiI6Ilx1NzI0OFx1NjcyYyIsIlggUHJvYmVyIGJ1aWx0aW4gbGF0ZXN0IFBIUCBzdGFibGUgdmVyc2lvbjogJXMiOiJYIFx1NjNhMlx1OTQ4OFx1NTE4NVx1N2Y2ZVx1NjcwMFx1NjViMCBQSFAgXHU2YjYzXHU1ZjBmXHU3MjQ4XHU3MjQ4XHU2NzJjXHVmZjFhJXMiLCIoT2xkKSI6IihcdTY1ZTcpIiwiKFVwIHRvIGRhdGUpIjoiKFx1NjcwMFx1NjViMCkiLCJTQVBJIGludGVyZmFjZSI6IlNBUEkgXHU2M2E1XHU1M2UzIiwiRXJyb3IgcmVwb3J0aW5nIjoiXHU5NTE5XHU4YmVmXHU2MmE1XHU1NDRhIiwiTWF4IG1lbW9yeSBsaW1pdCI6Ilx1OGZkMFx1ODg0Y1x1NTE4NVx1NWI1OFx1OTY1MFx1NTIzNiIsIk1heCBQT1NUIHNpemUiOiJQT1NUIFx1NjNkMFx1NGVhNFx1OTY1MFx1NTIzNiIsIk1heCB1cGxvYWQgc2l6ZSI6Ilx1NGUwYVx1NGYyMFx1NjU4N1x1NGVmNlx1OTY1MFx1NTIzNiIsIk1heCBpbnB1dCB2YXJpYWJsZXMiOiJcdTYzZDBcdTRlYTRcdTg4NjhcdTUzNTVcdTk2NTBcdTUyMzYiLCJNYXggZXhlY3V0aW9uIHRpbWUiOiJcdThmZDBcdTg4NGNcdThkODVcdTY1ZjZcdTc5ZDJcdTY1NzAiLCJUaW1lb3V0IGZvciBzb2NrZXQiOiJTb2NrZXQgXHU4ZDg1XHU2NWY2XHU3OWQyXHU2NTcwIiwiRGlzcGxheSBlcnJvcnMiOiJcdTY2M2VcdTc5M2FcdTk1MTlcdThiZWYiLCJUcmVhdG1lbnQgVVJMcyBmaWxlIjoiXHU2NTg3XHU0ZWY2XHU4ZmRjXHU3YWVmXHU2MjUzXHU1ZjAwIiwiU01UUCBzdXBwb3J0IjoiU01UUCBcdTY1MmZcdTYzMDEiLCJEaXNhYmxlZCBmdW5jdGlvbnMiOiJcdTVkZjJcdTc5ODFcdTc1MjhcdTc2ODRcdTUxZmRcdTY1NzAiLCJEaXNhYmxlZCBjbGFzc2VzIjoiXHU1ZGYyXHU3OTgxXHU3NTI4XHU3Njg0XHU3YzdiIiwiXHUyM2YzIExvYWRpbmcuLi4iOiJcdTIzZjMgXHU1MmEwXHU4ZjdkXHU0ZTJkXHUyMDI2XHUyMDI2IiwiXHUyNzRjIEVycm9yLCBjbGljayB0byByZXRyeSI6Ilx1Mjc0YyBcdTk1MTlcdThiZWZcdWZmMGNcdTcwYjlcdTUxZmJcdTkxY2RcdThiZDUiLCJcdWQ4M2RcdWRjNDYgQ2xpY2sgdG8gdGVzdCI6Ilx1ZDgzZFx1ZGM0NiBcdTcwYjlcdTUxZmJcdTZkNGJcdThiZDUiLCJTZXJ2ZXIgQmVuY2htYXJrIjoiXHU2NzBkXHU1MmExXHU1NjY4XHU4ZGQxXHU1MjA2IiwiQmVuY2htYXJrIjoiXHU4ZGQxXHU1MjA2IiwiXHVkODNkXHVkY2ExIEhpZ2hlciBpcyBiZXR0ZXIuIFRoaXMgcmVzdWx0IGlzIG9ubHkgdXNlZCBhcyByZWZlcmVuY2UgZGF0YSBmb3IgYXV0aG9yIHRlc3RpbmcuIE5vdGU6IHRoZSBiZW5jaG1hcmsgbWFya3MgYXJlIG5vdCB0aGUgb25seSBjcml0ZXJpb24gZm9yIGV2YWx1YXRpbmcgdGhlIHF1YWxpdHkgb2YgYSBob3N0XC9zZXJ2ZXIuIjoiXHVkODNkXHVkY2ExIFx1NTIwNlx1NjU3MFx1OGQ4YVx1OWFkOFx1OGQ4YVx1NTk3ZFx1MzAwMlx1OGJlNVx1N2VkM1x1Njc5Y1x1NGVjNVx1NGY1Y1x1NGUzYVx1NGY1Y1x1ODAwNVx1NmQ0Ylx1OGJkNVx1NzY4NFx1NTNjMlx1ODAwM1x1NjU3MFx1NjM2ZVx1MzAwMlx1NmNlOFx1NjEwZlx1ZmYxYVx1OGRkMVx1NTIwNlx1N2VkM1x1Njc5Y1x1NGUwZFx1NjYyZlx1OGJjNFx1NGVmN1x1NjcwZFx1NTJhMVx1NTY2OFx1NGYxOFx1NTJhM1x1NzY4NFx1NTUyZlx1NGUwMFx1NjgwN1x1NTFjNlx1MzAwMiIsIkFtYXpvblwvRUMyIjoiXHU0ZTlhXHU5YTZjXHU5MDBhXC9FQzIiLCJWUFNTRVJWRVJcL0tWTSI6IlZQU1NFUlZFUlwvS1ZNIiwiU3BhcnRhbkhvc3RcL0tWTSI6Ilx1NjVhZlx1NWRmNFx1OGZiZVwvS1ZNIiwiQWxpeXVuXC9FQ1MiOiJcdTk2M2ZcdTkxY2NcdTRlOTFcL0VDUyIsIlZ1bHRyIjoiVnVsdHIiLCJSYW1Ob2RlIjoiUmFtTm9kZSIsIkxpbm9kZSI6Ikxpbm9kZSIsIlRlbmNlbnQiOiJcdTgxN2VcdThiYWZcdTRlOTEiLCJCYW5kd2Fnb25IT1NUXC9TU0QiOiJcdTY0MmNcdTc0ZTZcdTVkZTVcL1NTRCIsIk15IHNlcnZlciI6Ilx1NjIxMVx1NzY4NFx1NjcwZFx1NTJhMVx1NTY2OCIsIlNlcnZlciBpbmZvcm1hdGlvbiI6Ilx1NjcwZFx1NTJhMVx1NTY2OFx1NGZlMVx1NjA2ZiIsIkluZm8iOiJcdTRmZTFcdTYwNmYiLCJTZXJ2ZXIgbmFtZSI6Ilx1NjcwZFx1NTJhMVx1NTY2OFx1NTQwZCIsIlNlcnZlciB0aW1lIjoiXHU2NzBkXHU1MmExXHU1NjY4XHU2NWY2XHU5NWY0IiwiU2VydmVyIHVwdGltZSI6Ilx1NjMwMVx1N2VlZFx1OGZkMFx1NGY1Y1x1NjVmNlx1OTVmNCIsIlNlcnZlciBJUCI6Ilx1NjcwZFx1NTJhMVx1NTY2OCBJUCIsIlNlcnZlciBzb2Z0d2FyZSI6Ilx1NjcwZFx1NTJhMVx1NTY2OFx1OGY2Zlx1NGVmNiIsIlBIUCB2ZXJzaW9uIjoiUEhQIFx1NzI0OFx1NjcyYyIsIkNQVSBtb2RlbCI6IkNQVSBcdTU3OGJcdTUzZjciLCJTZXJ2ZXIgT1MiOiJcdTY3MGRcdTUyYTFcdTU2NjhcdTdjZmJcdTdlZGYiLCJTY3JpcHQgcGF0aCI6Ilx1ODExYVx1NjcyY1x1OGRlZlx1NWY4NCIsIkRpc2sgdXNhZ2UiOiJcdTc4YzFcdTc2ZDhcdTRmN2ZcdTc1MjhcdTkxY2YiLCJTZXJ2ZXIgc3RhdHVzIjoiXHU2NzBkXHU1MmExXHU1NjY4XHU3MmI2XHU2MDAxIiwiU3RhdHVzIjoiXHU3MmI2XHU2MDAxIiwiU3lzdGVtIGxvYWQiOiJcdTdjZmJcdTdlZGZcdThkMWZcdThmN2QiLCJDUFUgdXNhZ2UiOiJDUFUgXHU1MzYwXHU3NTI4IiwiTWVtb3J5IHVzYWdlIjoiXHU1MTg1XHU1YjU4XHU1MzYwXHU3NTI4IiwiU1dBUCB1c2FnZSI6IlNXQVAgXHU1MzYwXHU3NTI4IiwiJTEkcyBmb3VuZCB1cGRhdGUhIFZlcnNpb24gJTIkcyBcdTIxOTIge0FQUF9ORVdfVkVSU0lPTn0iOiIlMSRzIFx1NTNkMVx1NzNiMFx1NjZmNFx1NjViMFx1ZmYwMVx1NzI0OFx1NjcyYyAlMiRzIFx1MjE5MiB7QVBQX05FV19WRVJTSU9OfSIsIlVwZGF0aW5nLi4uIjoiXHU2NmY0XHU2NWIwXHU0ZTJkXHUyMDI2XHUyMDI2IiwiVXBkYXRlIGVycm9yIjoiXHU2NmY0XHU2NWIwXHU1MWZhXHU5NTE5IiwiRmlsZSBjYW4gbm90IHVwZGF0ZS4iOiJcdTY1ZTBcdTZjZDVcdTY2ZjRcdTY1YjBcdTY1ODdcdTRlZjZcdTMwMDIiLCJVcGRhdGUgZmlsZSBub3QgZm91bmQuIjoiXHU2NzJhXHU2MjdlXHU1MjMwXHU2NmY0XHU2NWIwXHU2NTg3XHU0ZWY2XHUzMDAyIiwiVXBkYXRlIHN1Y2Nlc3MuLi4iOiJcdTY2ZjRcdTY1YjBcdTYyMTBcdTUyOWZcdTIwMjZcdTIwMjYiLCJVcGRhdGUgZXJyb3IuIjoiXHU2NmY0XHU2NWIwXHU1MWZhXHU5NTE5XHUzMDAyIn0sInpoX1RXIjp7IlBsZWFzZSB3YWl0ICVkIHNlY29uZHMiOiJcdThhY2JcdTdiNDlcdTVmODUgJWQgXHU3OWQyIiwiRGF0YWJhc2UiOiJcdThjYzdcdTY1OTlcdTVlYWIiLCJEQiI6Ilx1OGNjN1x1NjU5OVx1NWVhYiIsIlNRTGl0ZTMiOiIiLCJTUUxpdGUiOiIiLCJNeVNRTGkgY2xpZW50IjoiIiwiTW9uZ28iOiIiLCJNb25nb0RCIjoiIiwiUG9zdGdyZVNRTCI6IiIsIlBhcmFkb3giOiIiLCJNaWNyb3NvZnQgU1FMIFNlcnZlciBEcml2ZXIgZm9yIFBIUCI6IiIsIk1TIFNRTCI6IiIsIkZpbGUgUHJvIjoiIiwiTWF4REIgY2xpZW50IjoiIiwiTWF4REIgc2VydmVyIjoiIiwiR2VuZXJhdG9yICVzIjoiXHU4YTcyXHU5ODAxXHU5NzYyXHU3NTMxICVzIFx1NzUxZlx1NjIxMCIsIkF1dGhvciAlcyI6Ilx1NGY1Y1x1ODAwNVx1NzBiYSAlcyIsIlVuYXZhaWxhYmxlIjoiXHU0ZTBkXHU1M2VmXHU3NTI4IiwiJXMgY2FjaGUiOiIiLCIlMSRkZCAlMiRkaCAlMyRkbSAlNCRkcyI6IiUxJGQgXHU1OTI5ICUyJGQgXHU1YzBmXHU2NjQyICUzJGQgXHU1MjA2ICU0JGQgXHU3OWQyIiwiTXkgaW5mb3JtYXRpb24iOiJcdTYyMTFcdTc2ODRcdThhMGFcdTYwNmYiLCJNaW5lIjoiXHU2MjExXHU3Njg0IiwiTXkgSVAiOiJcdTYyMTFcdTc2ODQgSVAiLCJNeSBicm93c2VyIFVBIjoiXHU2MjExXHU3Njg0XHU3MDBmXHU4OWJkXHU1NjY4IiwiTXkgYnJvd3NlciBsYW5ndWFnZSI6Ilx1NjIxMVx1NzY4NFx1NzAwZlx1ODliZFx1NTY2OFx1OGE5ZVx1OGEwMCIsIk5ldHdvcmsgc3RhdHMiOiJcdTZkNDFcdTkxY2ZcdTdkNzFcdThhMDgiLCJOZXQiOiJcdTZkNDFcdTkxY2YiLCJQSFAgZXh0ZW5zaW9ucyI6IlBIUCBcdTY0ZjRcdTVjNTUiLCJFeHQiOiJcdTY0ZjRcdTVjNTUiLCIlcyBleHRlbnNpb24iOiIlcyBcdTY0ZjRcdTVjNTUiLCIlcyBlbmFibGVkIjoiJXMgXHU1NTVmXHU3NTI4IiwiWmVuZCBPcHRpbWl6ZXIiOiIiLCJMb2FkZWQgZXh0ZW5zaW9ucyI6Ilx1OGYwOVx1NTE2NVx1NzY4NCBQSFAgXHU2NGY0XHU1YzU1IiwiUEhQIGluZm9ybWF0aW9uIjoiUEhQIFx1OGEwYVx1NjA2ZiIsIlBIUCI6IlBIUCIsIkNsaWNrIGZvciBkZXRhaWwiOiJQSFAgXHU4YTczXHU3ZDMwXHU4Y2M3XHU4YTBhIiwiUEhQIGluZm8gZGV0YWlsIjoiUEhQIFx1OGE3M1x1N2QzMFx1OGEwYVx1NjA2ZiIsIlZlcnNpb24iOiJcdTcyNDhcdTY3MmMiLCJYIFByb2JlciBidWlsdGluIGxhdGVzdCBQSFAgc3RhYmxlIHZlcnNpb246ICVzIjoiWCBcdTYzYTJcdTkxZGRcdTUxNjdcdTVlZmFcdTY3MDBcdTY1YjBcdTc2ODQgUEhQIFx1NmI2M1x1NWYwZlx1NzI0OFx1ZmYxYSVzIiwiKE9sZCkiOiIoXHU4MjBhKSIsIihVcCB0byBkYXRlKSI6IihcdTY3MDBcdTY1YjApIiwiU0FQSSBpbnRlcmZhY2UiOiJTQVBJIFx1NGVjYlx1OTc2MiIsIkVycm9yIHJlcG9ydGluZyI6Ilx1OTMyZlx1OGFhNFx1NTgzMVx1NTQ0YSIsIk1heCBtZW1vcnkgbGltaXQiOiJcdTU3ZjdcdTg4NGNcdThhMThcdTYxYjZcdTlhZDRcdTk2NTBcdTUyMzYiLCJNYXggUE9TVCBzaXplIjoiUE9TVCBcdTYzZDBcdTRlYTRcdTk2NTBcdTUyMzYiLCJNYXggdXBsb2FkIHNpemUiOiJcdTRlMGFcdTUwYjNcdTZhOTRcdTY4NDhcdTk2NTBcdTUyMzYiLCJNYXggaW5wdXQgdmFyaWFibGVzIjoiXHU2M2QwXHU0ZWE0XHU4ODY4XHU1NWFlXHU5NjUwXHU1MjM2IiwiTWF4IGV4ZWN1dGlvbiB0aW1lIjoiXHU1N2Y3XHU4ODRjXHU4ZDg1XHU2NjQyXHU3OWQyXHU2NTc4IiwiVGltZW91dCBmb3Igc29ja2V0IjoiU29ja2V0IFx1OGQ4NVx1NjY0Mlx1NzlkMlx1NjU3OCIsIkRpc3BsYXkgZXJyb3JzIjoiXHU5ODZmXHU3OTNhXHU5MzJmXHU4YWE0IiwiVHJlYXRtZW50IFVSTHMgZmlsZSI6Ilx1NmE5NFx1Njg0OFx1OTA2MFx1N2FlZlx1NjI1M1x1OTU4YiIsIlNNVFAgc3VwcG9ydCI6IlNNVFAgXHU2NTJmXHU2M2Y0IiwiRGlzYWJsZWQgZnVuY3Rpb25zIjoiXHU3OTgxXHU3NTI4XHU3Njg0XHU1MWZkXHU2NTc4IiwiRGlzYWJsZWQgY2xhc3NlcyI6Ilx1Nzk4MVx1NzUyOFx1NzY4NFx1OTg1ZSIsIlx1MjNmMyBMb2FkaW5nLi4uIjoiXHUyM2YzIFx1OGYwOVx1NTE2NVx1NGUyZFx1MjAyNlx1MjAyNiIsIlx1Mjc0YyBFcnJvciwgY2xpY2sgdG8gcmV0cnkiOiJcdTI3NGMgXHU5MzJmXHU4YWE0XHVmZjBjXHU5ZWRlXHU2NGNhXHU5MWNkXHU4YTY2IiwiXHVkODNkXHVkYzQ2IENsaWNrIHRvIHRlc3QiOiJcdWQ4M2RcdWRjNDYgXHU5ZWRlXHU2NGNhXHU2ZTJjXHU4YTY2IiwiU2VydmVyIEJlbmNobWFyayI6Ilx1NGYzYVx1NjcwZFx1NTY2OFx1NjAyN1x1ODBmZFx1OGRkMVx1NTIwNiIsIkJlbmNobWFyayI6Ilx1OGRkMVx1NTIwNiIsIlx1ZDgzZFx1ZGNhMSBIaWdoZXIgaXMgYmV0dGVyLiBUaGlzIHJlc3VsdCBpcyBvbmx5IHVzZWQgYXMgcmVmZXJlbmNlIGRhdGEgZm9yIGF1dGhvciB0ZXN0aW5nLiBOb3RlOiB0aGUgYmVuY2htYXJrIG1hcmtzIGFyZSBub3QgdGhlIG9ubHkgY3JpdGVyaW9uIGZvciBldmFsdWF0aW5nIHRoZSBxdWFsaXR5IG9mIGEgaG9zdFwvc2VydmVyLiI6Ilx1ZDgzZFx1ZGNhMSBcdTUyMDZcdTY1NzhcdThkOGFcdTlhZDhcdThkOGFcdTU5N2RcdTMwMDJcdThhNzJcdTdkNTBcdTY3OWNcdTUwYzVcdTRmNWNcdTcyMzJcdTRmNWNcdTgwMDVcdTZlMmNcdThhNjZcdTc2ODRcdTUzYzNcdTgwMDNcdTY1NzhcdTY0ZGFcdTMwMDJcdTZjZThcdWZmMWFcdThkZDFcdTUyMDZcdTY1NzhcdTUwM2NcdTRlMjZcdTRlMGRcdTY2MmZcdThhNTVcdTUwZjlcdTRlMDBcdTgxZmFcdTRlM2JcdTZhNWZcdTYyMTZcdTRmM2FcdTY3MGRcdTU2NjhcdTc2ODRcdTU1MmZcdTRlMDBcdTZlOTZcdTUyNDdcdTMwMDIiLCJBbWF6b25cL0VDMiI6Ilx1NGU5ZVx1OTlhY1x1OTA1Y1wvRUMyIiwiVlBTU0VSVkVSXC9LVk0iOiJWUFNTRVJWRVJcL0tWTSIsIlNwYXJ0YW5Ib3N0XC9LVk0iOiJcdTY1YWZcdTVkZjRcdTkwNTRcL0tWTSIsIkFsaXl1blwvRUNTIjoiXHU5NjNmXHU5MWNjXHU5NmYyXC9FQ1MiLCJWdWx0ciI6IlZ1bHRyIiwiUmFtTm9kZSI6IlJhbU5vZGUiLCJMaW5vZGUiOiJMaW5vZGUiLCJUZW5jZW50IjoiXHU5YTMwXHU4YTBhXHU5NmYyIiwiQmFuZHdhZ29uSE9TVFwvU1NEIjoiIiwiTXkgc2VydmVyIjoiXHU2MjExXHU3Njg0XHU0ZjNhXHU2NzBkXHU1NjY4IiwiU2VydmVyIGluZm9ybWF0aW9uIjoiXHU0ZjNhXHU2NzBkXHU1NjY4XHU4YTBhXHU2MDZmIiwiSW5mbyI6Ilx1OGEwYVx1NjA2ZiIsIlNlcnZlciBuYW1lIjoiXHU0ZjNhXHU2NzBkXHU1NjY4XHU1NDBkIiwiU2VydmVyIHRpbWUiOiJcdTYzMDFcdTdlOGNcdTRlMGFcdTdkZGFcdTY2NDJcdTk1OTMiLCJTZXJ2ZXIgdXB0aW1lIjoiXHU2MzAxXHU3ZThjXHU0ZTBhXHU3ZGRhXHU2NjQyXHU5NTkzIiwiU2VydmVyIElQIjoiXHU0ZjNhXHU2NzBkXHU1NjY4IElQIiwiU2VydmVyIHNvZnR3YXJlIjoiXHU0ZjNhXHU2NzBkXHU1NjY4XHU4ZWRmXHU5YWQ0IiwiUEhQIHZlcnNpb24iOiJQSFAgXHU3MjQ4XHU2NzJjIiwiQ1BVIG1vZGVsIjoiQ1BVIFx1NTc4Ylx1ODY1ZiIsIlNlcnZlciBPUyI6Ilx1NGYzYVx1NjcwZFx1NTY2OFx1N2NmYlx1N2Q3MSIsIlNjcmlwdCBwYXRoIjoiXHU4MTczXHU2NzJjXHU4ZGVmXHU1ZjkxIiwiRGlzayB1c2FnZSI6Ilx1NzhjMVx1Nzg5Zlx1NGY3Zlx1NzUyOCIsIlNlcnZlciBzdGF0dXMiOiJcdTRmM2FcdTY3MGRcdTU2NjhcdTcyYzBcdTYxNGIiLCJTdGF0dXMiOiJcdTcyYzBcdTYxNGIiLCJTeXN0ZW0gbG9hZCI6Ilx1N2NmYlx1N2Q3MVx1OGNhMFx1OGYwOSIsIkNQVSB1c2FnZSI6IkNQVSBcdTRmN2ZcdTc1MjhcdTczODciLCJNZW1vcnkgdXNhZ2UiOiJcdThhMThcdTYxYjZcdTlhZDRcdTRmN2ZcdTc1MjgiLCJTV0FQIHVzYWdlIjoiU1dBUCBcdTRmN2ZcdTc1MjgiLCIlMSRzIGZvdW5kIHVwZGF0ZSEgVmVyc2lvbiAlMiRzIFx1MjE5MiB7QVBQX05FV19WRVJTSU9OfSI6IiUxJHMgXHU3NjdjXHU3M2ZlXHU2NWIwXHU3MjQ4XHVmZjAxXHU3MjQ4XHU2NzJjICUyJHMgXHUyMTkyIHtBUFBfTkVXX1ZFUlNJT059IiwiVXBkYXRpbmcuLi4iOiJcdTY2ZjRcdTY1YjBcdTRlMmRcdTIwMjZcdTIwMjYiLCJVcGRhdGUgZXJyb3IiOiJcdTY2ZjRcdTY1YjBcdTUxZmFcdTkzMmYiLCJGaWxlIGNhbiBub3QgdXBkYXRlLiI6Ilx1NmE5NFx1Njg0OFx1NzEyMVx1NmNkNVx1ODhhYlx1NjZmNFx1NjViMFx1MzAwMiIsIlVwZGF0ZSBmaWxlIG5vdCBmb3VuZC4iOiJcdTY3MmFcdTc2N2NcdTczZmVcdTY2ZjRcdTY1YjBcdTZhOTRcdTY4NDhcdTMwMDIiLCJVcGRhdGUgc3VjY2Vzcy4uLiI6Ilx1NjZmNFx1NjViMFx1NjIxMFx1NTI5Zlx1MjAyNlx1MjAyNiIsIlVwZGF0ZSBlcnJvci4iOiJcdTY2ZjRcdTY1YjBcdTUxZmFcdTkzMmZcdTMwMDIifX0='); namespace InnStudio\Prober\Components\Nav; use InnStudio\Prober\Components\Events\EventsApi; class Nav { private $ID = 'nav'; public function __construct() { EventsApi::on('footer', array($this, 'filter')); } public function filter($content) { $content .= << HTML; -} public function filterScript() { echo << -(function(){ -var fieldsets = document.querySelectorAll('fieldset'); -if (! fieldsets.length) { -return; -} -var nav = document.createElement('div'); -nav.className = 'nav'; -for(var i = 0; i < fieldsets.length; i++) { -var fieldset = fieldsets[i]; -var a = document.createElement('a'); -a.href = '#' + encodeURIComponent(fieldset.id); -a.innerHTML = fieldset.querySelector('legend').innerHTML; -nav.appendChild(a); -} -document.body.appendChild(nav); -})() - -HTML; -} } -namespace InnStudio\Prober\PhpExtensionInfo; use InnStudio\Prober\Events\EventsApi; use InnStudio\Prober\Helper\HelperApi; use InnStudio\Prober\I18n\I18nApi; class PhpExtensionInfo { private $ID = 'phpExtensionInfo'; public function __construct() { EventsApi::on('mods', array($this, 'filter'), 400); } public function filter($mods) { $mods[$this->ID] = array( 'title' => I18nApi::_('PHP extensions'), 'tinyTitle' => I18nApi::_('Ext'), 'display' => array($this, 'display'), ); return $mods; } public function display() { return << +return $content; } } namespace InnStudio\Prober\Components\PhpExtensionInfo; use InnStudio\Prober\Components\Events\EventsApi; use InnStudio\Prober\Components\Helper\HelperApi; use InnStudio\Prober\Components\I18n\I18nApi; class PhpExtensionInfo { private $ID = 'phpExtensionInfo'; public function __construct() { EventsApi::on('mods', array($this, 'filter'), 400); } public function filter($mods) { $mods[$this->ID] = array( 'title' => I18nApi::_('PHP extensions'), 'tinyTitle' => I18nApi::_('Ext'), 'display' => array($this, 'display'), ); return $mods; } public function display() { return << {$this->getContent()} HTML; -} private function getContent() { $items = array( array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Memcache'), 'content' => HelperApi::getIni(0, \extension_loaded('memcache') && \class_exists('\\Memcache')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Memcached'), 'content' => HelperApi::getIni(0, \extension_loaded('memcached') && \class_exists('\\Memcached')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Redis'), 'content' => HelperApi::getIni(0, \extension_loaded('redis') && \class_exists('\\Redis')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Opcache'), 'content' => HelperApi::getIni(0, \function_exists('\\opcache_get_configuration')), ), array( 'label' => \sprintf(I18nApi::_('%s enabled'), 'Opcache'), 'content' => HelperApi::getIni(0, $this->isOpcEnabled()), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Swoole'), 'content' => HelperApi::getIni(0, \extension_loaded('Swoole') && \function_exists('\\swoole_version')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Imagick'), 'content' => HelperApi::getIni(0, \extension_loaded('Imagick') && \class_exists('\\Imagick')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Exif'), 'content' => HelperApi::getIni(0, \extension_loaded('Exif') && \function_exists('\\exif_imagetype')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Sockets'), 'content' => HelperApi::getIni(0, \extension_loaded('Sockets') && \function_exists('\\socket_accept')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'MySQLi'), 'content' => HelperApi::getIni(0, \extension_loaded('MySQLi') && \class_exists('\\mysqli')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Zip'), 'content' => HelperApi::getIni(0, \extension_loaded('Zip') && \class_exists('\\ZipArchive')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Multibyte String'), 'content' => HelperApi::getIni(0, \extension_loaded('mbstring') && \function_exists('\\mb_substr')), ), array( 'label' => I18nApi::_('Zend Optimizer'), 'content' => HelperApi::getIni(0, \function_exists('zend_optimizer_version')), ), array( 'col' => '1-1', 'label' => I18nApi::_('Loaded extensions'), 'title' => 'loaded_extensions', 'content' => \implode(', ', $this->getLoadedExtensions(true)) ?: '-', ), ); $itemsOrder = array(); foreach ($items as $item) { $itemsOrder[] = $item['label']; } \array_multisort($items, $itemsOrder); $content = ''; foreach ($items as $item) { $title = isset($item['title']) ? "title=\"{$item['title']}\"" : ''; $col = isset($item['col']) ? $item['col'] : '1-3'; $id = isset($item['id']) ? "id=\"{$item['id']}\"" : ''; $content .= << -
-
{$item['label']}
-
{$item['content']}
+} private function getContent() { $items = array( array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Redis'), 'content' => HelperApi::getIni(0, \extension_loaded('redis') && \class_exists('\\Redis')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Memcache'), 'content' => HelperApi::getIni(0, \extension_loaded('memcache') && \class_exists('\\Memcache')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Memcached'), 'content' => HelperApi::getIni(0, \extension_loaded('memcached') && \class_exists('\\Memcached')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Opcache'), 'content' => HelperApi::getIni(0, \function_exists('\\opcache_get_configuration')), ), array( 'label' => \sprintf(I18nApi::_('%s enabled'), 'Opcache'), 'content' => HelperApi::getIni(0, $this->isOpcEnabled()), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Swoole'), 'content' => HelperApi::getIni(0, \extension_loaded('swoole') && \function_exists('\\swoole_version')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Image Magic'), 'content' => HelperApi::getIni(0, \extension_loaded('imagick') && \class_exists('\\Imagick')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Graphics Magick'), 'content' => HelperApi::getIni(0, \extension_loaded('gmagick')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Exif'), 'content' => HelperApi::getIni(0, \extension_loaded('Exif') && \function_exists('\\exif_imagetype')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Fileinfo'), 'content' => HelperApi::getIni(0, \extension_loaded('fileinfo')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Sockets'), 'content' => HelperApi::getIni(0, \extension_loaded('Sockets') && \function_exists('\\socket_accept')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'MySQLi'), 'content' => HelperApi::getIni(0, \extension_loaded('MySQLi') && \class_exists('\\mysqli')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Zip'), 'content' => HelperApi::getIni(0, \extension_loaded('zip') && \class_exists('\\ZipArchive')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Multibyte String'), 'content' => HelperApi::getIni(0, \extension_loaded('mbstring') && \function_exists('\\mb_substr')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Phalcon'), 'content' => HelperApi::getIni(0, \extension_loaded('phalcon')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'Xdebug'), 'content' => HelperApi::getIni(0, \extension_loaded('xdebug')), ), array( 'label' => I18nApi::_('Zend Optimizer'), 'content' => HelperApi::getIni(0, \function_exists('zend_optimizer_version')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'ionCube'), 'content' => HelperApi::getIni(0, \extension_loaded('ioncube loader')), ), array( 'label' => \sprintf(I18nApi::_('%s extension'), 'SourceGuardian'), 'content' => HelperApi::getIni(0, \extension_loaded('sourceguardian')), ), array( 'col' => '1-1', 'label' => I18nApi::_('Loaded extensions'), 'title' => 'loaded_extensions', 'content' => \implode(', ', $this->getLoadedExtensions(true)) ?: '-', ), ); $itemsOrder = array(); foreach ($items as $item) { $itemsOrder[] = $item['label']; } \array_multisort($items, $itemsOrder); return \implode('', \array_map(array(HelperApi::class, 'getGroup'), $items)); } private function getLoadedExtensions($sorted = false) { $exts = \get_loaded_extensions(); if ($sorted) { \sort($exts); } return $exts; } private function isOpcEnabled() { $isOpcEnabled = \function_exists('\\opcache_get_configuration'); if ($isOpcEnabled) { $isOpcEnabled = \opcache_get_configuration(); $isOpcEnabled = isset($isOpcEnabled['directives']['opcache.enable']) && true === $isOpcEnabled['directives']['opcache.enable']; } return $isOpcEnabled; } } namespace InnStudio\Prober\Components\Helper; use InnStudio\Prober\Components\I18n\I18nApi; class HelperApi { public static function checkNotModified() { if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && \strlen($_SERVER['HTTP_IF_MODIFIED_SINCE'])) { \header('HTTP/1.0 304 Not Modified'); die; } } public static function getGroup(array $item) { $item = \array_merge(array( 'id' => '', 'label' => '', 'title' => '', 'content' => '', 'col' => '', ), $item); $title = $item['title'] ? << +
+
{$item['label']}
+
{$item['content']}
HTML; -} return $content; } private function getLoadedExtensions($sorted = false) { $exts = \get_loaded_extensions(); if ($sorted) { \sort($exts); } return $exts; } private function isOpcEnabled() { $isOpcEnabled = \function_exists('\\opcache_get_configuration'); if ($isOpcEnabled) { $isOpcEnabled = \opcache_get_configuration(); $isOpcEnabled = isset($isOpcEnabled['directives']['opcache.enable']) && true === $isOpcEnabled['directives']['opcache.enable']; } return $isOpcEnabled; } } -namespace InnStudio\Prober\Helper; use InnStudio\Prober\I18n\I18nApi; class HelperApi { public static function dieJson($data) { \header('Content-Type: application/json'); die(\json_encode($data)); } public static function isAction($action) { return \filter_input(\INPUT_GET, 'action', \FILTER_SANITIZE_STRING) === $action; } public static function getWinCpuUsage() { $cpus = array(); if (\class_exists('\\COM')) { $wmi = new \COM('Winmgmts://'); $server = $wmi->execquery('SELECT LoadPercentage FROM Win32_Processor'); $cpus = array(); foreach ($server as $cpu) { $total += (int) $cpu->loadpercentage; } $total = (int) $total / \count($server); $cpus['idle'] = 100 - $total; $cpus['user'] = $total; } else { \exec('wmic cpu get LoadPercentage', $p); if (isset($p[1])) { $percent = (int) $p[1]; $cpus['idle'] = 100 - $percent; $cpus['user'] = $percent; } } return $cpus; } public static function getNetworkStats() { $filePath = '/proc/net/dev'; if ( ! \is_readable($filePath)) { return I18nApi::_('Unavailable'); } static $eths = null; if (null !== $eths) { return $eths; } $lines = \file($filePath); unset($lines[0], $lines[1]); $eths = array(); foreach ($lines as $line) { $line = \preg_replace('/\s+/', ' ', \trim($line)); $lineArr = \explode(':', $line); $numberArr = \explode(' ', \trim($lineArr[1])); $eths[$lineArr[0]] = array( 'rx' => (int) $numberArr[0], 'tx' => (int) $numberArr[8], ); } return $eths; } public static function getBtn($tx, $url) { return <<execquery('SELECT LoadPercentage FROM Win32_Processor'); $cpus = array(); foreach ($server as $cpu) { $total += (int) $cpu->loadpercentage; } $total = (int) $total / \count($server); $cpus['idle'] = 100 - $total; $cpus['user'] = $total; } else { \exec('wmic cpu get LoadPercentage', $p); if (isset($p[1])) { $percent = (int) $p[1]; $cpus['idle'] = 100 - $percent; $cpus['user'] = $percent; } } return $cpus; } public static function getNetworkStats() { $filePath = '/proc/net/dev'; if ( ! \is_readable($filePath)) { return I18nApi::_('Unavailable'); } static $eths = null; if (null !== $eths) { return $eths; } $lines = \file($filePath); unset($lines[0], $lines[1]); $eths = array(); foreach ($lines as $line) { $line = \preg_replace('/\s+/', ' ', \trim($line)); $lineArr = \explode(':', $line); $numberArr = \explode(' ', \trim($lineArr[1])); $eths[$lineArr[0]] = array( 'rx' => (int) $numberArr[0], 'tx' => (int) $numberArr[8], ); } return $eths; } public static function getBtn($tx, $url) { return <<{$tx} HTML; } public static function getDiskTotalSpace($human = false) { static $space = null; if (null === $space) { $dir = self::isWin() ? 'C:' : '/'; if ( ! \is_readable($dir)) { $space = 0; return 0; } $space = \disk_total_space($dir); } if ( ! $space) { return 0; } if (true === $human) { return self::formatBytes($space); } return $space; } public static function getDiskFreeSpace($human = false) { static $space = null; if (null === $space) { $dir = self::isWin() ? 'C:' : '/'; if ( ! \is_readable($dir)) { $space = 0; return 0; } $space = \disk_free_space($dir); } if ( ! $space) { return 0; } if (true === $human) { return self::formatBytes($space); } return $space; } public static function getCpuModel() { $filePath = '/proc/cpuinfo'; if ( ! \is_readable($filePath)) { return I18nApi::_('Unavailable'); } $content = \file_get_contents($filePath); $cores = \substr_count($content, 'cache size'); $lines = \explode("\n", $content); $modelName = \explode(':', $lines[4]); $modelName = \trim($modelName[1]); $cacheSize = \explode(':', $lines[8]); $cacheSize = \trim($cacheSize[1]); return "{$cores} x {$modelName} / " . \sprintf(I18nApi::_('%s cache'), $cacheSize); } public static function getServerTime() { return \date('Y-m-d H:i:s'); } public static function getServerUpTime() { $filePath = '/proc/uptime'; if ( ! \is_readable($filePath)) { return I18nApi::_('Unavailable'); } $str = \file_get_contents($filePath); $num = (float) $str; $secs = \fmod($num, 60); $num = (int) ($num / 60); $mins = $num % 60; $num = (int) ($num / 60); $hours = $num % 24; $num = (int) ($num / 24); $days = $num; return \sprintf( I18nApi::_('%1$dd %2$dh %3$dm %4$ds'), $days, $hours, $mins, $secs ); } public static function getErrNameByCode($code) { $levels = array( \E_ALL => 'E_ALL', \E_USER_DEPRECATED => 'E_USER_DEPRECATED', \E_DEPRECATED => 'E_DEPRECATED', \E_RECOVERABLE_ERROR => 'E_RECOVERABLE_ERROR', \E_STRICT => 'E_STRICT', \E_USER_NOTICE => 'E_USER_NOTICE', \E_USER_WARNING => 'E_USER_WARNING', \E_USER_ERROR => 'E_USER_ERROR', \E_COMPILE_WARNING => 'E_COMPILE_WARNING', \E_COMPILE_ERROR => 'E_COMPILE_ERROR', \E_CORE_WARNING => 'E_CORE_WARNING', \E_CORE_ERROR => 'E_CORE_ERROR', \E_NOTICE => 'E_NOTICE', \E_PARSE => 'E_PARSE', \E_WARNING => 'E_WARNING', \E_ERROR => 'E_ERROR', ); $result = ''; foreach ($levels as $number => $name) { if (($code & $number) == $number) { $result .= ('' != $result ? ', ' : '') . $name; } } return $result; } public static function getIni($id, $forceSet = null) { if (true === $forceSet) { $ini = 1; } elseif (false === $forceSet) { $ini = 0; } else { $ini = \ini_get($id); } if ( ! \is_numeric($ini) && '' !== (string) $ini) { return $ini; } if (1 === (int) $ini) { return <<✓ + HTML; } if (0 === (int) $ini) { return <<× +× HTML; } return $ini; } public static function isWin() { return \PHP_OS === 'WINNT'; } public static function htmlMinify($buffer) { \preg_match_all('#\.*\<\/textarea\>#Uis', $buffer, $foundTxt); \preg_match_all('#\.*\<\/pre\>#Uis', $buffer, $foundPre); $textareas = array(); foreach (\array_keys($foundTxt[0]) as $item) { $textareas[] = ''; } $pres = array(); foreach (\array_keys($foundPre[0]) as $item) { $pres[] = '
' . $item . '
'; } $buffer = \str_replace($foundTxt[0], $textareas, $buffer); $buffer = \str_replace($foundPre[0], $pres, $buffer); $search = array( '/\>[^\S ]+/s', '/[^\S ]+\', '<', '\\1', ); $buffer = \preg_replace($search, $replace, $buffer); $textareas = array(); foreach (\array_keys($foundTxt[0]) as $item) { $textareas[] = ''; } $pres = array(); foreach (\array_keys($foundPre[0]) as $item) { $pres[] = '
' . $item . '
'; } $buffer = \str_replace($textareas, $foundTxt[0], $buffer); $buffer = \str_replace($pres, $foundPre[0], $buffer); return $buffer; } public static function getClientIp() { $keys = array('HTTP_X_FORWARDED_FOR', 'HTTP_CLIENT_IP', 'REMOTE_ADDR'); foreach ($keys as $key) { if ( ! isset($_SERVER[$key])) { continue; } $ip = \array_filter(\explode(',', $_SERVER[$key])); $ip = \filter_var(\end($ip), \FILTER_VALIDATE_IP); if ($ip) { return $ip; } } return ''; } public static function getCpuUsage() { static $cpu = null; if (null !== $cpu) { return $cpu; } if (self::isWin()) { $cpu = self::getWinCpuUsage(); return $cpu; } $filePath = ('/proc/stat'); if ( ! \is_readable($filePath)) { $cpu = array(); return $cpu; } $stat1 = \file($filePath); \sleep(1); $stat2 = \file($filePath); $info1 = \explode(' ', \preg_replace('!cpu +!', '', $stat1[0])); $info2 = \explode(' ', \preg_replace('!cpu +!', '', $stat2[0])); $dif = array(); $dif['user'] = $info2[0] - $info1[0]; $dif['nice'] = $info2[1] - $info1[1]; $dif['sys'] = $info2[2] - $info1[2]; $dif['idle'] = $info2[3] - $info1[3]; $total = \array_sum($dif); $cpu = array(); foreach ($dif as $x => $y) { $cpu[$x] = \round($y / $total * 100, 1); } return $cpu; } public static function getHumanCpuUsageDetail() { $cpu = self::getCpuUsage(); if ( ! $cpu) { return ''; } $html = ''; foreach ($cpu as $k => $v) { $html .= <<{$k} +{$k} {$v} HTML; -} return $html; } public static function getHumanCpuUsage() { $cpu = self::getCpuUsage(); return $cpu ?: array(); } public static function getSysLoadAvg() { if (self::isWin()) { return I18nApi::_('Not support on Windows'); } $avg = \sys_getloadavg(); $langMin = function ($n) { return \sprintf(I18nApi::_('%d minute(s)'), $n); }; $avg = \array_map(function ($load) { $load = \sprintf('%.2f', $load); return << -{$load} - -HTML; -}, $avg); return \implode('', $avg); } public static function getMemoryUsage($key) { $key = \ucfirst($key); if (self::isWin()) { return 0; } static $memInfo = null; if (null === $memInfo) { $memInfoFile = '/proc/meminfo'; if ( ! \is_readable($memInfoFile)) { $memInfo = 0; return 0; } $memInfo = \file_get_contents($memInfoFile); $memInfo = \str_replace(array( ' kB', ' ', ), '', $memInfo); $lines = array(); foreach (\explode("\n", $memInfo) as $line) { if ( ! $line) { continue; } $line = \explode(':', $line); $lines[$line[0]] = (int) $line[1]; } $memInfo = $lines; } switch ($key) { case 'MemRealUsage': $memAvailable = 0; if (isset($memInfo['MemAvailable'])) { $memAvailable = $memInfo['MemAvailable']; } elseif (isset($memInfo['MemFree'])) { $memAvailable = $memInfo['MemFree']; } return $memInfo['MemTotal'] - $memAvailable; case 'SwapRealUsage': if ( ! isset($memInfo['SwapTotal']) || ! isset($memInfo['SwapFree']) || ! isset($memInfo['SwapCached'])) { return 0; } return $memInfo['SwapTotal'] - $memInfo['SwapFree'] - $memInfo['SwapCached']; } return isset($memInfo[$key]) ? (int) $memInfo[$key] : 0; } public static function formatBytes($bytes, $precision = 2) { if ( ! $bytes) { return 0; } $base = \log($bytes, 1024); $suffixes = array('', ' K', ' M', ' G', ' T'); return \round(\pow(1024, $base - \floor($base)), $precision) . $suffixes[\floor($base)]; } public static function getHumamMemUsage($key) { return self::formatBytes(self::getMemoryUsage($key) * 1024); } public static function strcut($str, $len = 20) { if (\strlen($str) > $len) { return \mb_strcut($str, 0, $len) . '...'; } return $str; } } -namespace InnStudio\Prober\Benchmark; use InnStudio\Prober\Events\EventsApi; use InnStudio\Prober\Helper\HelperApi; use InnStudio\Prober\I18n\I18nApi; class Benchmark { private $EXPIRED = 60; public function __construct() { EventsApi::on('init', array($this, 'filter')); } public function filter() { if ( ! HelperApi::isAction('benchmark')) { return; } $this->display(); } private function getTmpRecorderPath() { return \sys_get_temp_dir() . \DIRECTORY_SEPARATOR . 'xproberBenchmarkTimer'; } private function saveTmpRecorder() { return (bool) \file_put_contents($this->getTmpRecorderPath(), \json_encode(array( 'expired' => (int) $_SERVER['REQUEST_TIME'] + $this->EXPIRED, ))); } private function getRemainingSeconds() { $path = $this->getTmpRecorderPath(); if ( ! \is_readable($path)) { return 0; } $data = (string) \file_get_contents($this->getTmpRecorderPath()); if ( ! $data) { return 0; } $data = \json_decode($data, true); if ( ! $data) { return 0; } $expired = isset($data['expired']) ? (int) $data['expired'] : 0; if ( ! $expired) { return 0; } return $expired > (int) $_SERVER['REQUEST_TIME'] ? $expired - (int) $_SERVER['REQUEST_TIME'] : 0; } private function getPointsByTime($time) { return \pow(10, 3) - (int) ($time * \pow(10, 3)); } private function getHashPoints() { $data = 'inn-studio.com'; $hash = array('md5', 'sha512', 'sha256', 'crc32'); $count = \pow(10, 5); $start = \microtime(true); for ($i = 0; $i < $count; ++$i) { foreach ($hash as $v) { \hash($v, $data); } } return $this->getPointsByTime(\microtime(true) - $start); } private function getIntLoopPoints() { $j = 0; $count = \pow(10, 7); $start = \microtime(true); for ($i = 0; $i < $count; ++$i) { ++$j; } return $this->getPointsByTime(\microtime(true) - $start); } private function getFloatLoopPoints() { $j = 1 / 3; $count = \pow(10, 7); $start = \microtime(true); for ($i = 0; $i < $count; ++$i) { ++$j; } return $this->getPointsByTime(\microtime(true) - $start); } private function getIoLoopPoints() { $tmpDir = \sys_get_temp_dir(); if ( ! \is_writable($tmpDir)) { return 0; } $count = \pow(10, 4); $start = \microtime(true); for ($i = 0; $i < $count; ++$i) { $filePath = "{$tmpDir}/innStudioIoBenchmark:{$i}"; \file_put_contents($filePath, $filePath); \unlink($filePath); } return $this->getPointsByTime(\microtime(true) - $start); } private function getPoints() { return array( 'hash' => $this->getHashPoints(), 'intLoop' => $this->getIntLoopPoints(), 'floatLoop' => $this->getFloatLoopPoints(), 'ioLoop' => $this->getIoLoopPoints(), ); } private function display() { $remainingSeconds = $this->getRemainingSeconds(); if ($remainingSeconds) { HelperApi::dieJson(array( 'code' => -1, 'msg' => \sprintf(I18nApi::_('Please wait %d seconds'), $remainingSeconds), )); } $this->saveTmpRecorder(); \set_time_limit(0); HelperApi::dieJson(array( 'code' => 0, 'data' => array( 'points' => $this->getPoints(), ), )); } } -namespace InnStudio\Prober\PhpInfoDetail; use InnStudio\Prober\Events\EventsApi; use InnStudio\Prober\Helper\HelperApi; class PhpInfoDetail { public function __construct() { EventsApi::on('init', array($this, 'filter')); } public function filter() { if (HelperApi::isAction('phpInfo')) { \phpinfo(); die; } } } -namespace InnStudio\Prober\Entry; use InnStudio\Prober\Config\ConfigApi; use InnStudio\Prober\Events\EventsApi; use InnStudio\Prober\Helper\HelperApi; use InnStudio\Prober\I18n\I18nApi; class Entry { public function __construct() { EventsApi::emit('init'); if (DEBUG === true) { $this->display(); } else { \ob_start(); $this->display(); $content = \ob_get_contents(); \ob_end_clean(); echo HelperApi::htmlMinify($content); } } private function displayContent() { $mods = EventsApi::emit('mods', array()); if ( ! $mods) { return; } foreach ($mods as $id => $mod) { $content = \call_user_func($mod['display']); echo << - -{$mod['title']} -{$mod['tinyTitle']} +} return $html; } public static function getHumanCpuUsage() { $cpu = self::getCpuUsage(); return $cpu ?: array(); } public static function getSysLoadAvg() { if (self::isWin()) { return array(0, 0, 0); } return \array_map(function ($load) { return (float) \sprintf('%.2f', $load); }, \sys_getloadavg()); } public static function getMemoryUsage($key) { $key = \ucfirst($key); if (self::isWin()) { return 0; } static $memInfo = null; if (null === $memInfo) { $memInfoFile = '/proc/meminfo'; if ( ! \is_readable($memInfoFile)) { $memInfo = 0; return 0; } $memInfo = \file_get_contents($memInfoFile); $memInfo = \str_replace(array( ' kB', ' ', ), '', $memInfo); $lines = array(); foreach (\explode("\n", $memInfo) as $line) { if ( ! $line) { continue; } $line = \explode(':', $line); $lines[$line[0]] = (int) $line[1]; } $memInfo = $lines; } switch ($key) { case 'MemRealUsage': $memAvailable = 0; if (isset($memInfo['MemAvailable'])) { $memAvailable = $memInfo['MemAvailable']; } elseif (isset($memInfo['MemFree'])) { $memAvailable = $memInfo['MemFree']; } return $memInfo['MemTotal'] - $memAvailable; case 'SwapRealUsage': if ( ! isset($memInfo['SwapTotal']) || ! isset($memInfo['SwapFree']) || ! isset($memInfo['SwapCached'])) { return 0; } return $memInfo['SwapTotal'] - $memInfo['SwapFree'] - $memInfo['SwapCached']; } return isset($memInfo[$key]) ? (int) $memInfo[$key] : 0; } public static function formatBytes($bytes, $precision = 2) { if ( ! $bytes) { return 0; } $base = \log($bytes, 1024); $suffixes = array('', ' K', ' M', ' G', ' T'); return \round(1024 ** ($base - \floor($base)), $precision) . $suffixes[\floor($base)]; } public static function getHumamMemUsage($key) { return self::formatBytes(self::getMemoryUsage($key) * 1024); } public static function strcut($str, $len = 20) { if (\strlen($str) > $len) { return \mb_strcut($str, 0, $len) . '...'; } return $str; } } namespace InnStudio\Prober\Components\Benchmark; use InnStudio\Prober\Components\Events\EventsApi; use InnStudio\Prober\Components\Helper\HelperApi; use InnStudio\Prober\Components\I18n\I18nApi; class Benchmark { private $EXPIRED = 60; public function __construct() { EventsApi::on('init', array($this, 'filter')); } public function filter() { if ( ! HelperApi::isAction('benchmark')) { return; } $this->display(); } private function getTmpRecorderPath() { return \sys_get_temp_dir() . \DIRECTORY_SEPARATOR . 'xproberBenchmarkTimer'; } private function saveTmpRecorder() { return (bool) \file_put_contents($this->getTmpRecorderPath(), \json_encode(array( 'expired' => (int) $_SERVER['REQUEST_TIME'] + $this->EXPIRED, ))); } private function getRemainingSeconds() { $path = $this->getTmpRecorderPath(); if ( ! \is_readable($path)) { return 0; } $data = (string) \file_get_contents($this->getTmpRecorderPath()); if ( ! $data) { return 0; } $data = \json_decode($data, true); if ( ! $data) { return 0; } $expired = isset($data['expired']) ? (int) $data['expired'] : 0; if ( ! $expired) { return 0; } return $expired > (int) $_SERVER['REQUEST_TIME'] ? $expired - (int) $_SERVER['REQUEST_TIME'] : 0; } private function getPointsByTime($time) { return 10 ** 3 - (int) ($time * 10 ** 3); } private function getHashPoints() { $data = 'inn-studio.com'; $hash = array('md5', 'sha512', 'sha256', 'crc32'); $count = 10 ** 5; $start = \microtime(true); for ($i = 0; $i < $count; ++$i) { foreach ($hash as $v) { \hash($v, $data); } } return $this->getPointsByTime(\microtime(true) - $start); } private function getIntLoopPoints() { $j = 0; $count = 10 ** 7; $start = \microtime(true); for ($i = 0; $i < $count; ++$i) { ++$j; } return $this->getPointsByTime(\microtime(true) - $start); } private function getFloatLoopPoints() { $j = 1 / 3; $count = 10 ** 7; $start = \microtime(true); for ($i = 0; $i < $count; ++$i) { ++$j; } return $this->getPointsByTime(\microtime(true) - $start); } private function getIoLoopPoints() { $tmpDir = \sys_get_temp_dir(); if ( ! \is_writable($tmpDir)) { return 0; } $count = 10 ** 4; $start = \microtime(true); for ($i = 0; $i < $count; ++$i) { $filePath = "{$tmpDir}/innStudioIoBenchmark:{$i}"; \file_put_contents($filePath, $filePath); \unlink($filePath); } return $this->getPointsByTime(\microtime(true) - $start); } private function getPoints() { return array( 'hash' => $this->getHashPoints(), 'intLoop' => $this->getIntLoopPoints(), 'floatLoop' => $this->getFloatLoopPoints(), 'ioLoop' => $this->getIoLoopPoints(), ); } private function display() { $remainingSeconds = $this->getRemainingSeconds(); if ($remainingSeconds) { HelperApi::dieJson(array( 'code' => -1, 'msg' => '⏳ ' . \sprintf(I18nApi::_('Please wait %d seconds'), $remainingSeconds), )); } $this->saveTmpRecorder(); \set_time_limit(0); $points = $this->getPoints(); HelperApi::dieJson(array( 'code' => 0, 'data' => array( 'points' => $points, 'total' => \array_sum($points), 'totalHuman' => \number_format(\array_sum($points)), ), )); } } namespace InnStudio\Prober\Components\PhpInfoDetail; use InnStudio\Prober\Components\Events\EventsApi; use InnStudio\Prober\Components\Helper\HelperApi; class PhpInfoDetail { public function __construct() { EventsApi::on('init', array($this, 'filter')); } public function filter() { if (HelperApi::isAction('phpInfo')) { \phpinfo(); die; } } } namespace InnStudio\Prober\Components\Bootstrap; use InnStudio\Prober\Components\Config\ConfigApi; use InnStudio\Prober\Components\Events\EventsApi; use InnStudio\Prober\Components\Helper\HelperApi; use InnStudio\Prober\Components\I18n\I18nApi; class Bootstrap { public function __construct() { EventsApi::emit('init'); if (DEBUG === true) { echo $this->getDisplay(); } else { echo HelperApi::htmlMinify($this->getDisplay()); } } private function getFieldsets() { $html = ''; foreach (EventsApi::emit('mods', array()) as $id => $item) { $content = \call_user_func($item['display']); $html .= << + +{$item['title']} +{$item['tinyTitle']} +
{$content} +
HTML; -} } private function display() { ?> +} return $html; } private function getDisplay() { $appName = I18nApi::_(ConfigApi::$APP_NAME); $appUrl = I18nApi::_(ConfigApi::$APP_URL); $version = ConfigApi::$APP_VERSION; $scriptConf = \json_encode(EventsApi::emit('conf', array())); $footer = EventsApi::emit('footer', ''); $scriptUrl = \defined('IS_DEV') && \IS_DEV ? "../tmp/app.js?v={$_SERVER['REQUEST_TIME']}" : "?action=getScript&v={$version}"; $styleUrl = \defined('IS_DEV') && \IS_DEV ? "../tmp/app.css?v={$_SERVER['REQUEST_TIME']}" : "?action=getStyle&v={$version}"; return << -<?php echo I18nApi::_(ConfigApi::$APP_NAME); ?> v<?php echo ConfigApi::$APP_VERSION; ?> - + +{$appName} v{$version} + + + -
-

v

-displayContent(); ?> +
+

+{$appName} v{$version} +

+{$this->getFieldsets()}
- - +{$footer} -ID] = array( 'title' => I18nApi::_('Database'), 'tinyTitle' => I18nApi::_('DB'), 'display' => array($this, 'display'), ); return $mods; } public function display() { return << -{$this->getContent()} -
HTML; -} private function getContent() { $sqlite3Version = \class_exists('\\SQLite3') ? \SQLite3::version() : false; $sqlite3Version = $sqlite3Version ? HelperApi::getIni(0, true) . ' ' . $sqlite3Version['versionString'] : HelperApi::getIni(0, false); $items = array( array( 'label' => I18nApi::_('SQLite3'), 'content' => $sqlite3Version, ), array( 'title' => 'sqlite_libversion', 'label' => I18nApi::_('SQLite'), 'content' => \function_exists('\\sqlite_libversion') ? HelperApi::getIni(0, true) . ' ' . \sqlite_libversion() : HelperApi::getIni(0, false), ), array( 'title' => 'mysqli_get_client_version', 'label' => I18nApi::_('MySQLi client'), 'content' => \function_exists('\\mysqli_get_client_version') ? HelperApi::getIni(0, true) . ' ' . \mysqli_get_client_version() : HelperApi::getIni(0, false), ), array( 'label' => I18nApi::_('Mongo'), 'content' => \class_exists('\\Mongo') ? \MongoClient::VERSION : HelperApi::getIni(0, false), ), array( 'label' => I18nApi::_('MongoDB'), 'content' => \class_exists('\\MongoDB') ? HelperApi::getIni(0, true) : HelperApi::getIni(0, false), ), array( 'label' => I18nApi::_('PostgreSQL'), 'content' => \function_exists('\\pg_connect') ? HelperApi::getIni(0, true) : HelperApi::getIni(0, false), ), array( 'label' => I18nApi::_('Paradox'), 'content' => \function_exists('\\px_new') ? HelperApi::getIni(0, true) : HelperApi::getIni(0, false), ), array( 'title' => I18nApi::_('Microsoft SQL Server Driver for PHP'), 'label' => I18nApi::_('MS SQL'), 'content' => \function_exists('\\sqlsrv_server_info') ? HelperApi::getIni(0, true) : HelperApi::getIni(0, false), ), array( 'label' => I18nApi::_('File Pro'), 'content' => \function_exists('\\filepro') ? HelperApi::getIni(0, true) : HelperApi::getIni(0, false), ), array( 'label' => I18nApi::_('MaxDB client'), 'content' => \function_exists('\\maxdb_get_client_version') ? \maxdb_get_client_version() : HelperApi::getIni(0, false), ), array( 'label' => I18nApi::_('MaxDB server'), 'content' => \function_exists('\\maxdb_get_server_version') ? HelperApi::getIni(0, true) : HelperApi::getIni(0, false), ), ); return \implode('', \array_map(function (array $item) { $title = isset($item['title']) ? "title=\"{$item['title']}\"" : ''; $col = isset($item['col']) ? $item['col'] : '1-3'; $id = isset($item['id']) ? "id=\"{$item['id']}\"" : ''; return << -
-
{$item['label']}
-
{$item['content']}
-
+} } namespace InnStudio\Prober\Components\Database; use InnStudio\Prober\Components\Events\EventsApi; use InnStudio\Prober\Components\Helper\HelperApi; use InnStudio\Prober\Components\I18n\I18nApi; class Database { private $ID = 'database'; public function __construct() { EventsApi::on('mods', array($this, 'filter'), 500); } public function filter(array $mods) { $mods[$this->ID] = array( 'title' => I18nApi::_('Database'), 'tinyTitle' => I18nApi::_('DB'), 'display' => array($this, 'display'), ); return $mods; } public function display() { return << +{$this->getContent()} HTML; -}, $items)); } } -namespace InnStudio\Prober\PhpInfo; use InnStudio\Prober\Config\ConfigApi; use InnStudio\Prober\Events\EventsApi; use InnStudio\Prober\Helper\HelperApi; use InnStudio\Prober\I18n\I18nApi; class PhpInfo { private $ID = 'phpInfo'; public function __construct() { EventsApi::on('mods', array($this, 'filter'), 300); } public function filter(array $mods) { $mods[$this->ID] = array( 'title' => I18nApi::_('PHP information'), 'tinyTitle' => I18nApi::_('PHP'), 'display' => array($this, 'display'), ); return $mods; } public function display() { return << +} private function getContent() { $sqlite3Version = \class_exists('\\SQLite3') ? \SQLite3::version() : false; $sqlite3Version = $sqlite3Version ? HelperApi::getIni(0, true) . ' ' . $sqlite3Version['versionString'] : HelperApi::getIni(0, false); $items = array( array( 'label' => I18nApi::_('SQLite3'), 'content' => $sqlite3Version, ), array( 'title' => 'sqlite_libversion', 'label' => I18nApi::_('SQLite'), 'content' => \function_exists('\\sqlite_libversion') ? HelperApi::getIni(0, true) . ' ' . \sqlite_libversion() : HelperApi::getIni(0, false), ), array( 'title' => 'mysqli_get_client_version', 'label' => I18nApi::_('MySQLi client'), 'content' => \function_exists('\\mysqli_get_client_version') ? HelperApi::getIni(0, true) . ' ' . \mysqli_get_client_version() : HelperApi::getIni(0, false), ), array( 'label' => I18nApi::_('Mongo'), 'content' => \class_exists('\\Mongo') ? \MongoClient::VERSION : HelperApi::getIni(0, false), ), array( 'label' => I18nApi::_('MongoDB'), 'content' => \class_exists('\\MongoDB') ? HelperApi::getIni(0, true) : HelperApi::getIni(0, false), ), array( 'label' => I18nApi::_('PostgreSQL'), 'content' => \function_exists('\\pg_connect') ? HelperApi::getIni(0, true) : HelperApi::getIni(0, false), ), array( 'label' => I18nApi::_('Paradox'), 'content' => \function_exists('\\px_new') ? HelperApi::getIni(0, true) : HelperApi::getIni(0, false), ), array( 'title' => I18nApi::_('Microsoft SQL Server Driver for PHP'), 'label' => I18nApi::_('MS SQL'), 'content' => \function_exists('\\sqlsrv_server_info') ? HelperApi::getIni(0, true) : HelperApi::getIni(0, false), ), array( 'label' => I18nApi::_('File Pro'), 'content' => \function_exists('\\filepro') ? HelperApi::getIni(0, true) : HelperApi::getIni(0, false), ), array( 'label' => I18nApi::_('MaxDB client'), 'content' => \function_exists('\\maxdb_get_client_version') ? \maxdb_get_client_version() : HelperApi::getIni(0, false), ), array( 'label' => I18nApi::_('MaxDB server'), 'content' => \function_exists('\\maxdb_get_server_version') ? HelperApi::getIni(0, true) : HelperApi::getIni(0, false), ), ); return \implode('', \array_map(array(HelperApi::class, 'getGroup'), $items)); } } namespace InnStudio\Prober\Components\PhpInfo; use InnStudio\Prober\Components\Config\ConfigApi; use InnStudio\Prober\Components\Events\EventsApi; use InnStudio\Prober\Components\Helper\HelperApi; use InnStudio\Prober\Components\I18n\I18nApi; class PhpInfo { private $ID = 'phpInfo'; public function __construct() { EventsApi::on('mods', array($this, 'filter'), 300); } public function filter(array $mods) { $mods[$this->ID] = array( 'title' => I18nApi::_('PHP information'), 'tinyTitle' => I18nApi::_('PHP'), 'display' => array($this, 'display'), ); return $mods; } public function display() { return << {$this->getContent()} HTML; -} private function getContent() { $errLevels = HelperApi::getErrNameByCode(\ini_get('error_reporting')); $items = array( array( 'label' => $this->_('PHP info detail'), 'content' => HelperApi::getBtn("👆 {$this->_('Click to check')}", '?action=phpInfo'), ), array( 'label' => $this->_('Version'), 'title' => \sprintf($this->_('X Prober builtin latest PHP stable version: %s'), ConfigApi::$LATEST_PHP_STABLE_VERSION), 'content' => \PHP_VERSION . ' ' . (\version_compare(\PHP_VERSION, ConfigApi::$LATEST_PHP_STABLE_VERSION, '<') ? $this->_('(Old)') : $this->_('(Up to date)')), ), array( 'label' => $this->_('SAPI interface'), 'content' => \PHP_SAPI, ), array( 'label' => $this->_('Error reporting'), 'title' => "error_reporting: {$errLevels}", 'content' => HelperApi::strcut($errLevels), ), array( 'label' => $this->_('Max memory limit'), 'title' => 'memory_limit', 'content' => \ini_get('memory_limit'), ), array( 'label' => $this->_('Max POST size'), 'title' => 'post_max_size', 'content' => \ini_get('post_max_size'), ), array( 'label' => $this->_('Max upload size'), 'title' => 'upload_max_filesize', 'content' => \ini_get('upload_max_filesize'), ), array( 'label' => $this->_('Max input variables'), 'title' => 'max_input_vars', 'content' => \ini_get('max_input_vars'), ), array( 'label' => $this->_('Max execution time'), 'title' => 'max_execution_time', 'content' => \ini_get('max_execution_time'), ), array( 'label' => $this->_('Timeout for socket'), 'title' => 'default_socket_timeout', 'content' => \ini_get('default_socket_timeout'), ), array( 'label' => $this->_('Display errors'), 'title' => 'display_errors', 'content' => HelperApi::getIni('display_errors'), ), array( 'label' => $this->_('Treatment URLs file'), 'title' => 'allow_url_fopen', 'content' => HelperApi::getIni('allow_url_fopen'), ), array( 'label' => $this->_('SMTP support'), 'title' => 'SMTP', 'content' => HelperApi::getIni('SMTP') ?: HelperApi::getIni(0, false), ), array( 'col' => '1-1', 'label' => $this->_('Disabled functions'), 'title' => 'disable_functions', 'content' => \implode(', ', \explode(',', HelperApi::getIni('disable_functions'))) ?: '-', ), array( 'col' => '1-1', 'label' => $this->_('Disabled classes'), 'title' => 'disable_classes', 'content' => \implode(', ', \explode(',', HelperApi::getIni('disable_classes'))) ?: '-', ), ); $content = ''; foreach ($items as $item) { $title = isset($item['title']) ? "title=\"{$item['title']}\"" : ''; $col = isset($item['col']) ? $item['col'] : '1-3'; $id = isset($item['id']) ? "id=\"{$item['id']}\"" : ''; $content .= << -
-
{$item['label']}
-
{$item['content']}
-
- +} private function getContent() { $errLevels = HelperApi::getErrNameByCode(\ini_get('error_reporting')); $langClick = I18nApi::_('Click for detail'); $items = array( array( 'label' => I18nApi::_('PHP info detail'), 'content' => HelperApi::getBtn("👆 {$langClick}", '?action=phpInfo'), ), array( 'label' => I18nApi::_('Version'), 'title' => \sprintf(I18nApi::_('X Prober builtin latest PHP stable version: %s'), ConfigApi::$LATEST_PHP_STABLE_VERSION), 'content' => \PHP_VERSION . ' ' . (\version_compare(\PHP_VERSION, ConfigApi::$LATEST_PHP_STABLE_VERSION, '<') ? I18nApi::_('(Old)') : I18nApi::_('(Up to date)')), ), array( 'label' => I18nApi::_('SAPI interface'), 'content' => \PHP_SAPI, ), array( 'label' => I18nApi::_('Error reporting'), 'title' => "error_reporting: {$errLevels}", 'content' => HelperApi::strcut($errLevels), ), array( 'label' => I18nApi::_('Max memory limit'), 'title' => 'memory_limit', 'content' => \ini_get('memory_limit'), ), array( 'label' => I18nApi::_('Max POST size'), 'title' => 'post_max_size', 'content' => \ini_get('post_max_size'), ), array( 'label' => I18nApi::_('Max upload size'), 'title' => 'upload_max_filesize', 'content' => \ini_get('upload_max_filesize'), ), array( 'label' => I18nApi::_('Max input variables'), 'title' => 'max_input_vars', 'content' => \ini_get('max_input_vars'), ), array( 'label' => I18nApi::_('Max execution time'), 'title' => 'max_execution_time', 'content' => \ini_get('max_execution_time'), ), array( 'label' => I18nApi::_('Timeout for socket'), 'title' => 'default_socket_timeout', 'content' => \ini_get('default_socket_timeout'), ), array( 'label' => I18nApi::_('Display errors'), 'title' => 'display_errors', 'content' => HelperApi::getIni('display_errors'), ), array( 'label' => I18nApi::_('Treatment URLs file'), 'title' => 'allow_url_fopen', 'content' => HelperApi::getIni('allow_url_fopen'), ), array( 'label' => I18nApi::_('SMTP support'), 'title' => 'SMTP', 'content' => HelperApi::getIni('SMTP') ?: HelperApi::getIni(0, false), ), array( 'col' => '1-1', 'label' => I18nApi::_('Disabled functions'), 'title' => 'disable_functions', 'content' => \implode(', ', \explode(',', HelperApi::getIni('disable_functions'))) ?: '-', ), array( 'col' => '1-1', 'label' => I18nApi::_('Disabled classes'), 'title' => 'disable_classes', 'content' => \implode(', ', \explode(',', HelperApi::getIni('disable_classes'))) ?: '-', ), ); return \implode('', \array_map(array(HelperApi::class, 'getGroup'), $items)); } private function _($str) { return I18nApi::_($str); } } namespace InnStudio\Prober\Components\Script; use InnStudio\Prober\Components\Events\EventsApi; use InnStudio\Prober\Components\Helper\HelperApi; class Script { private $ID = 'script'; public function __construct() { EventsApi::on('init', array($this, 'filter')); } public function filter() { switch (true) { case true === HelperApi::isAction('getScript'): $this->displayDefault(); } } private function displayDefault() { HelperApi::checkNotModified(); \header('Content-type: application/javascript'); echo <<<'HTML' +!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)t.d(r,o,function(t){return e[t]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="./tmp",t(t.s=316)}([function(e,t,n){var r=n(7),o=n(17),i=n(23),a=n(19),u=n(31),c="prototype",s=function e(t,n,s){var l,f,p,d,h=t&e.F,v=t&e.G,y=t&e.P,m=t&e.B,g=v?r:t&e.S?r[n]||(r[n]={}):(r[n]||{})[c],b=v?o:o[n]||(o[n]={}),_=b[c]||(b[c]={});for(l in v&&(s=n),s)p=((f=!h&&g&&void 0!==g[l])?g:s)[l],d=m&&f?u(p,r):y&&"function"==typeof p?u(Function.call,p):p,g&&a(g,l,p,t&e.U),b[l]!=p&&i(b,l,d),y&&_[l]!=p&&(_[l]=p)};r.core=o,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},function(e,t,n){"use strict";e.exports=n(299)},function(e,t,n){"use strict";!function(e,r){function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}function a(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||0r&&(r=u.dependenciesState)}for(n.length=o,e.newObserving=null,i=t.length;i--;){0===(u=t[i]).diffValue&&V(u,e),u.diffValue=0}for(;o--;){var u;1===(u=n[o]).diffValue&&(u.diffValue=0,B(u,e))}r!==Qe.UP_TO_DATE&&(e.dependenciesState=r,e.onBecomeStale())}(e),r}function N(e){var t=e.observing;e.observing=[];for(var n=t.length;n--;)V(t[n],e);e.dependenciesState=Qe.NOT_TRACKING}function I(e){var t=M();try{return e()}finally{L(t)}}function M(){var e=ut.trackingDerivation;return ut.trackingDerivation=null,e}function L(e){ut.trackingDerivation=e}function D(e){if(e.dependenciesState!==Qe.UP_TO_DATE){e.dependenciesState=Qe.UP_TO_DATE;for(var t=e.observing,n=t.length;n--;)t[n].lowestObserverState=Qe.UP_TO_DATE}}function U(){return"undefined"!=typeof window?window:r}function B(e,t){e.observers.add(t),e.lowestObserverState>t.dependenciesState&&(e.lowestObserverState=t.dependenciesState)}function V(e,t){e.observers.delete(t),0===e.observers.size&&z(e)}function z(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,ut.pendingUnobservations.push(e))}function W(){ut.inBatch++}function H(){if(0==--ut.inBatch){q();for(var e=ut.pendingUnobservations,t=0;t"+o+""};e.exports=function(e,t){var n={};n[e]=t(a),r(r.P+r.F*o(function(){var t=""[e]('"');return t!==t.toLowerCase()||3, no stack trace)"}function S(){return"function"==typeof J}function E(e){var t=e.match(Y);if(t)return{fileName:t[1],line:parseInt(t[2],10)}}function k(e){this._parent=e,this._promisesCreated=0;var t=this._length=1+(void 0===e?0:e._length);J(this,k),32t.line||t.line>u)})}},warn:m,deprecated:function(e,t){var n=e+" is deprecated and will be removed in a future version.";return t&&(n+=" Use "+t+" instead."),m(n)},CapturedTrace:k,fireDomEvent:$,fireGlobalEvent:G}}},{"./errors":12,"./es5":13,"./util":36}],10:[function(e,t){"use strict";t.exports=function(e){function t(){return this.value}function n(){throw this.reason}e.prototype.return=e.prototype.thenReturn=function(n){return n instanceof e&&n.suppressUnhandledRejections(),this._then(t,void 0,void 0,{value:n},void 0)},e.prototype.throw=e.prototype.thenThrow=function(e){return this._then(n,void 0,void 0,{reason:e},void 0)},e.prototype.catchThrow=function(e,t){if(1=c)return r[n]=e,this._queue.push(n),!1;null!==a&&(a[n]=e);var s=this._promise,l=this._callback,f=s._boundValue();s._pushContext();var h=p(l).call(f,e,n,i),v=s._popContext();if(u.checkForgottenReturns(h,v,null!==a?"Promise.filter":"Promise.map",s),h===d)return this._reject(h.e),!0;var y=o(h,this._promise);if(y instanceof t){var m=(y=y._target())._bitField;if(0==(50397184&m))return c<1||this._inFlight++,(r[n]=y)._proxy(this,-1*(n+1)),!1;if(0==(33554432&m))return 0!=(16777216&m)?this._reject(y._reason()):this._cancel(),!0;h=y._value()}r[n]=h}return++this._totalResolved>=i&&(null!==a?this._filter(r,a):this._resolve(r),!0)},c.prototype._drainQueue=function(){for(var e=this._queue,t=this._limit,n=this._values;0>>16)){if(e===this){var n=s();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=e,0<(65535&t)&&(0!=(134217728&t)?this._settlePromises():y.settlePromises(this),this._dereferenceTrace())}},o.prototype._reject=function(e){var t=this._bitField;if(!((117506048&t)>>>16)){if(this._setRejected(),this._fulfillmentHandler0=e,this._isFinal())return y.fatalError(e,d.isNode);0<(65535&t)?y.settlePromises(this):this._ensurePossibleRejectionHandled()}},o.prototype._fulfillPromises=function(e,t){for(var n=1;n=this._length&&(this._resolve(this._values),!0)},a.prototype._promiseCancelled=function(){return this._cancel(),!0},a.prototype._promiseRejected=function(e){return this._totalResolved++,this._reject(e),!0},a.prototype._resultCancelled=function(){if(!this._isResolved()){var e=this._values;if(this._cancel(),e instanceof t)e.cancel();else for(var n=0;n>1},t.prototype.props=function(){return a(this)},t.props=function(e){return a(e)}}},{"./es5":13,"./util":36}],26:[function(e,t){"use strict";function n(e){this._capacity=e,this._length=0,this._front=0}n.prototype._willBeOverCapacity=function(e){return this._capacity=this._length&&(this._resolve(this._values),!0)},o.prototype._promiseFulfilled=function(e,t){var n=new i;return n._bitField=33554432,n._settledValueField=e,this._promiseResolved(t,n)},o.prototype._promiseRejected=function(e,t){var n=new i;return n._bitField=16777216,n._settledValueField=e,this._promiseResolved(t,n)},t.settle=function(e){return r.deprecated(".settle()",".reflect()"),new o(e).promise()},t.prototype.settle=function(){return t.settle(this)}}},{"./util":36}],31:[function(e,t){"use strict";t.exports=function(t,n,r){function o(e){this.constructor$(e),this._howMany=0,this._unwrap=!1,this._initialized=!1}function i(e,t){if((0|t)!==t||t<0)return r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");var n=new o(e),i=n.promise();return n.setHowMany(t),n.init(),i}var a=e("./util"),u=e("./errors").RangeError,c=e("./errors").AggregateError,s=a.isArray,l={};a.inherits(o,n),o.prototype._init=function(){if(this._initialized)if(0!==this._howMany){this._init$(void 0,-5);var e=s(this._values);!this._isResolved()&&e&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}else this._resolve([])},o.prototype.init=function(){this._initialized=!0,this._init()},o.prototype.setUnwrap=function(){this._unwrap=!0},o.prototype.howMany=function(){return this._howMany},o.prototype.setHowMany=function(e){this._howMany=e},o.prototype._promiseFulfilled=function(e){return this._addFulfilled(e),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0)},o.prototype._promiseRejected=function(e){return this._addRejected(e),this._checkOutcome()},o.prototype._promiseCancelled=function(){return this._values instanceof t||null==this._values?this._cancel():(this._addRejected(l),this._checkOutcome())},o.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var e=new c,t=this.length();tdocument.F=Object<\/script>"),e.close(),s=e.F;r--;)delete s[c][i[r]];return s()};e.exports=Object.create||function(e,t){var n;return null!==e?(u[c]=r(e),n=new u,u[c]=null,n[a]=e):n=s(),void 0===t?n:o(n,t)}},function(e,t,n){var r=n(100),o=n(74).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},function(e,t,n){var r=n(22),o=n(20),i=n(73)("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=o(e),r(e,i)?e[i]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e,t,n){var r=n(15).f,o=n(22),i=n(13)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e){e.exports={}},function(e,t,n){var r=n(13)("unscopables"),o=Array.prototype;null==o[r]&&n(23)(o,r,{}),e.exports=function(e){o[r][e]=!0}},function(e,t,n){"use strict";var r=n(7),o=n(15),i=n(16),a=n(13)("species");e.exports=function(e){var t=r[e];i&&t&&!t[a]&&o.f(t,a,{configurable:!0,get:function(){return this}})}},function(e){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){var r=n(19);e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},function(e,t,n){var r=n(8);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},function(e,t,n){var r=n(33);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(33),o=n(13)("toStringTag"),i="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:i?r(t):"Object"==(a=r(t))&&"function"==typeof t.callee?"Arguments":a}},function(e,t,n){var r=n(5),o=n(32),i=n(13)("species");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||null==(n=r(a)[i])?t:o(n)}},function(e){function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var n;n=function(){return this}();try{n=n||Function("","return this")()}catch(e){"object"===("undefined"==typeof window?"undefined":t(window))&&(n=window)}e.exports=n},function(e,t,n){var r=n(24),o=n(14),i=n(43);e.exports=function(e){return function(t,n,a){var u,c=r(t),s=o(c.length),l=i(a,s);if(e&&n!=n){for(;l")}),f=function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();e.exports=function(e,t,n){var p=u(e),d=!i(function(){var t={};return t[p]=function(){return 7},7!=""[e](t)}),h=d?!i(function(){var t=!1,n=/a/;return n.exec=function(){return t=!0,null},"split"===e&&(n.constructor={},n.constructor[s]=function(){return n}),n[p](""),!t}):void 0;if(!d||!h||"replace"===e&&!l||"split"===e&&!f){var v=/./[p],y=n(a,p,""[e],function(e,t,n,r,o){return t.exec===c?d&&!o?{done:!0,value:v.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),m=y[0],g=y[1];r(String.prototype,e,m),o(RegExp.prototype,p,2==t?function(e,t){return g.call(e,this,t)}:function(e){return g.call(e,this)})}}},function(e,t,n){var r=n(31),o=n(113),i=n(88),a=n(5),u=n(14),c=n(90),s={},l={};(t=e.exports=function(e,t,n,f,p){var d,h,v,y,m=p?function(){return e}:c(e),g=r(n,f,t?2:1),b=0;if("function"!=typeof m)throw TypeError(e+" is not iterable!");if(i(m)){for(d=u(e.length);b>>=1)&&(t+=t))1&i&&(n+=t);return n}},function(e){e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e){var t=Math.expm1;e.exports=!t||22025.465794806718n;)t.push(arguments[n++]);return m[++y]=function(){u("function"==typeof e?e:Function(e),t)},r(y),y},d=function(e){delete m[e]},"process"==n(33)(f)?r=function(e){f.nextTick(a(b,e,1))}:v&&v.now?r=function(e){v.now(a(b,e,1))}:h?(i=(o=new h).port2,o.port1.onmessage=_,r=a(i.postMessage,i,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(r=function(e){l.postMessage(e+"","*")},l.addEventListener("message",_,!1)):r=g in s("script")?function(e){c.appendChild(s("script"))[g]=function(){c.removeChild(this),b.call(e)}}:function(e){setTimeout(a(b,e,1),0)}),e.exports={set:p,clear:d}},function(e,t,n){"use strict";function r(e,t,n){var r,o,i,a=Array(n),u=8*n-t-1,c=(1<>1,l=23===t?B(2,-24)-B(2,-77):0,f=0,p=e<0||0===e&&1/e<0?1:0;for((e=U(e))!=e||e===L?(o=e!=e?1:0,r=c):(r=V(z(e)/W),e*(i=B(2,-r))<1&&(r--,i*=2),(e+=r+s<1?l*B(2,1-s):l/i)*i<2||(r++,i/=2),r+s>1,u=o-7,c=n-1,s=e[c--],l=127&s;for(s>>=7;0>=-u,u+=t;0>8&255]}function c(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function s(e){return r(e,52,8)}function l(e){return r(e,23,4)}function f(e,t,n){T(e[F],t,{get:function(){return this[n]}})}function p(e,t,n,r){var o=E(+n);if(o+t>e[q])throw M(A);var i=e[G]._b,a=o+e[K],u=i.slice(a,a+t);return r?u:u.reverse()}function d(e,t,n,r,o,i){var a=E(+n);if(a+t>e[q])throw M(A);for(var u=e[G]._b,c=a+e[K],s=r(+o),l=0;lJ;)(Q=Y[J++])in R||g(R,Q,D[Q]);y||(X.constructor=R)}var Z=new N(new R(2)),ee=N[F].setInt8;Z.setInt8(0,2147483648),Z.setInt8(1,2147483649),!Z.getInt8(0)&&Z.getInt8(1)||b(N[F],{setInt8:function(e,t){ee.call(this,e,t<<24>>24)},setUint8:function(e,t){ee.call(this,e,t<<24>>24)}},!0)}else R=function(e){w(this,R,P);var t=E(e);this._b=C.call(Array(t),0),this[q]=t},N=function(e,t,n){w(this,N,j),w(e,R,j);var r=e[q],o=x(t);if(o<0||r>24},getUint8:function(e){return p(this,1,e)[0]},getInt16:function(e,t){var n=p(this,2,e,t);return(n[1]<<8|n[0])<<16>>16},getUint16:function(e,t){var n=p(this,2,e,t);return n[1]<<8|n[0]},getInt32:function(e,t){return i(p(this,4,e,t))},getUint32:function(e,t){return i(p(this,4,e,t))>>>0},getFloat32:function(e,t){return o(p(this,4,e,t),23,4)},getFloat64:function(e,t){return o(p(this,8,e,t),52,8)},setInt8:function(e,t){d(this,1,e,a,t)},setUint8:function(e,t){d(this,1,e,a,t)},setInt16:function(e,t,n){d(this,2,e,u,t,n)},setUint16:function(e,t,n){d(this,2,e,u,t,n)},setInt32:function(e,t,n){d(this,4,e,c,t,n)},setUint32:function(e,t,n){d(this,4,e,c,t,n)},setFloat32:function(e,t,n){d(this,4,e,l,t,n)},setFloat64:function(e,t,n){d(this,8,e,s,t,n)}});O(R,P),O(N,j),g(N[F],m.VIEW,!0),t[P]=R,t[j]=N},function(e){function t(){throw Error("setTimeout has not been defined")}function n(){throw Error("clearTimeout has not been defined")}function r(e){if(c===setTimeout)return setTimeout(e,0);if((c===t||!c)&&setTimeout)return(c=setTimeout)(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function o(){d&&f&&(d=!1,f.length?p=f.concat(p):h=-1,p.length&&i())}function i(){if(!d){var e=r(o);d=!0;for(var t=p.length;t;){for(f=p,p=[];++hc;)r(u,n=t[c++])&&(~i(s,n)||s.push(n));return s}},function(e,t,n){var r=n(15),o=n(5),i=n(42);e.exports=n(16)?Object.defineProperties:function(e,t){o(e);for(var n,a=i(t),u=a.length,c=0;c>>0||(a.test(n)?16:10))}:r},function(e,t,n){var r=n(7).parseFloat,o=n(61).trim;e.exports=1/r(n(78)+"-0")!=-1/0?function(e){var t=o(e+"",3),n=r(t);return 0===n&&"-"==t.charAt(0)?-0:n}:r},function(e,t,n){var r=n(33);e.exports=function(e,t){if("number"!=typeof e&&"Number"!=r(e))throw TypeError(t);return+e}},function(e,t,n){var r=n(8),o=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&o(e)===e}},function(e){e.exports=Math.log1p||function(e){return-1e-8<(e=+e)&&e<1e-8?e-e*e/2:Math.log(1+e)}},function(e,t,n){"use strict";var r=n(44),o=n(39),i=n(47),a={};n(23)(a,n(13)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:o(1,n)}),i(e,t+" Iterator")}},function(e,t,n){var r=n(5);e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(t){var i=e.return;throw void 0!==i&&r(i.call(e)),t}}},function(e,t,n){var r=n(32),o=n(20),i=n(54),a=n(14);e.exports=function(e,t,n,u,c){r(t);var s=o(e),l=i(s),f=a(s.length),p=c?f-1:0,d=c?-1:1;if(n<2)for(;;){if(p in l){u=l[p],p+=d;break}if(p+=d,c?p<0:f<=p)throw TypeError("Reduce of empty array with no initial value")}for(;c?0<=p:pi;)a(n[i++]);e._c=[],e._n=!1,t&&!e._h&&I(e)})}},I=function(e){m.call(c,function(){var t,n,r,o=e._v,i=M(e);if(i&&(t=_(function(){P?k.emit("unhandledRejection",o,e):(n=c.onunhandledrejection)?n({promise:e,reason:o}):(r=c.console)&&r.error&&r.error("Unhandled promise rejection",o)}),e._h=P||M(e)?2:1),e._a=void 0,i&&t.e)throw t.v})},M=function(e){return 1!==e._h&&0===(e._a||e._c).length},L=function(e){m.call(c,function(){var t;P?k.emit("rejectionHandled",e):(t=c.onrejectionhandled)&&t({promise:e,reason:e._v})})},D=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),N(t,!0))},U=function e(t){var n,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===t)throw E("Promise can't be resolved itself");(n=R(t))?g(function(){var o={_w:r,_d:!1};try{n.call(t,s(e,o,1),s(D,o,1))}catch(e){D.call(o,e)}}):(r._v=t,r._s=1,N(r,!1))}catch(e){D.call({_w:r,_d:!1},e)}}};A||(O=function(e){h(this,O,S,"_h"),d(e),r.call(this);try{e(s(U,this,1),s(D,this,1))}catch(e){D.call(this,e)}},(r=function(){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(52)(O.prototype,{then:function(e,t){var n=F(y(this,O));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=P?k.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&N(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),i=function(){var e=new r;this.promise=e,this.resolve=s(U,e,1),this.reject=s(D,e,1)},b.f=F=function(e){return e===O||e===a?new i(e):o(e)}),f(f.G+f.W+f.F*!A,{Promise:O}),n(47)(O,S),n(50)(S),a=n(17)[S],f(f.S+f.F*!A,S,{reject:function(e){var t=F(this);return(0,t.reject)(e),t.promise}}),f(f.S+f.F*(u||!A),S,{resolve:function(e){return x(u&&this===a?O:this,e)}}),f(f.S+f.F*!(A&&n(62)(function(e){O.all(e).catch(j)})),S,{all:function(e){var t=this,n=F(t),r=n.resolve,o=n.reject,i=_(function(){var n=[],i=0,a=1;v(e,!1,function(e){var u=i++,c=!1;n.push(void 0),a++,t.resolve(e).then(function(e){c||(c=!0,n[u]=e,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(e){var t=this,n=F(t),r=n.reject,o=_(function(){v(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(e,t,n){"use strict";function r(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r}),this.resolve=o(t),this.reject=o(n)}var o=n(32);e.exports.f=function(e){return new r(e)}},function(e,t,n){var r=n(5),o=n(8),i=n(120);e.exports=function(e,t){if(r(e),o(t)&&t.constructor===e)return t;var n=i.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){"use strict";var r=n(15).f,o=n(44),i=n(52),a=n(31),u=n(51),c=n(66),s=n(84),l=n(116),f=n(50),p=n(16),d=n(38).fastKey,h=n(53),v=p?"_s":"size",y=function(e,t){var n,r=d(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,s){var l=e(function(e,r){u(e,l,t,"_i"),e._t=t,e._i=o(null),e._f=void 0,e._l=void 0,e[v]=0,null!=r&&c(r,n,e[s],e)});return i(l.prototype,{clear:function(){for(var e=h(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[v]=0},delete:function(e){var n=h(this,t),r=y(n,e);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[v]--}return!!r},forEach:function(e,n){h(this,t);for(var r,o=a(e,1f&&(p=p.slice(0,f)),a?p+u:u+p}},function(e,t,n){var r=n(42),o=n(24),i=n(55).f;e.exports=function(e){return function(t){for(var n,a=o(t),u=r(a),c=u.length,s=0,l=[];st||t>o.finallyLoc||(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?(this.method="next",this.next=o.finallyLoc,P):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),P},finish:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),p(n),P}},catch:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;p(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:h(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=y),P}}}}(function(){return this||"object"===("undefined"==typeof self?"undefined":t(self))&&self}()||Function("","return this")())}(n(296)(e))},function(e){"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e){for(var o,i,a=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),u=1;uo;)i(B,t=n[o++])||t==M||t==s||r.push(t);return r},ee=function(e){for(var t,n=e===z,r=F(n?V:w(e)),o=[],a=0;r.length>a;)!i(B,t=r[a++])||n&&!i(z,t)||o.push(B[t]);return o};W||(c((A=function(e){if(this instanceof A)throw TypeError("Symbol is not a constructor!");var t=d(0ne;)h(te[ne++]);for(var re=O(h.store),oe=0;re.length>oe;)y(re[oe++]);u(u.S+u.F*!W,"Symbol",{for:function(e){return i(U,e+="")?U[e]:U[e]=A(e)},keyFor:function(e){if(!K(e))throw TypeError(e+" is not a symbol!");for(var t in U)if(U[t]===e)return t},useSetter:function(){$=!0},useSimple:function(){$=!1}}),u(u.S+u.F*!W,"Object",{create:function(e,t){return void 0===t?E(e):X(E(e),t)},defineProperty:Q,defineProperties:X,getOwnPropertyDescriptor:J,getOwnPropertyNames:Z,getOwnPropertySymbols:ee}),R&&u(u.S+u.F*(!W||l(function(){var e=A();return"[null]"!=N([e])||"{}"!=N({a:e})||"{}"!=N(Object(e))})),"JSON",{stringify:function(e){for(var t,n,r=[e],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=t=r[1],(_(t)||void 0!==e)&&!K(e))return g(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!K(t))return t}),r[1]=t,N.apply(R,r)}}),A[I][L]||n(23)(A[I],L,A[I].valueOf),p(A,"Symbol"),p(Math,"Math",!0),p(o.JSON,"JSON",!0)},function(e,t,n){var r=n(42),o=n(60),i=n(55);e.exports=function(e){var t=r(e),n=o.f;if(n)for(var a,u=n(e),c=i.f,s=0;u.length>s;)c.call(e,a=u[s++])&&t.push(a);return t}},function(e,t,n){var r=n(0);r(r.S,"Object",{create:n(44)})},function(e,t,n){var r=n(0);r(r.S+r.F*!n(16),"Object",{defineProperty:n(15).f})},function(e,t,n){var r=n(0);r(r.S+r.F*!n(16),"Object",{defineProperties:n(101)})},function(e,t,n){var r=n(24),o=n(27).f;n(28)("getOwnPropertyDescriptor",function(){return function(e,t){return o(r(e),t)}})},function(e,t,n){var r=n(20),o=n(46);n(28)("getPrototypeOf",function(){return function(e){return o(r(e))}})},function(e,t,n){var r=n(20),o=n(42);n(28)("keys",function(){return function(e){return o(r(e))}})},function(e,t,n){n(28)("getOwnPropertyNames",function(){return n(102).f})},function(e,t,n){var r=n(8),o=n(38).onFreeze;n(28)("freeze",function(e){return function(t){return e&&r(t)?e(o(t)):t}})},function(e,t,n){var r=n(8),o=n(38).onFreeze;n(28)("seal",function(e){return function(t){return e&&r(t)?e(o(t)):t}})},function(e,t,n){var r=n(8),o=n(38).onFreeze;n(28)("preventExtensions",function(e){return function(t){return e&&r(t)?e(o(t)):t}})},function(e,t,n){var r=n(8);n(28)("isFrozen",function(e){return function(t){return!r(t)||!!e&&e(t)}})},function(e,t,n){var r=n(8);n(28)("isSealed",function(e){return function(t){return!r(t)||!!e&&e(t)}})},function(e,t,n){var r=n(8);n(28)("isExtensible",function(e){return function(t){return!!r(t)&&(!e||e(t))}})},function(e,t,n){var r=n(0);r(r.S+r.F,"Object",{assign:n(103)})},function(e,t,n){var r=n(0);r(r.S,"Object",{is:n(104)})},function(e,t,n){var r=n(0);r(r.S,"Object",{setPrototypeOf:n(77).set})},function(e,t,n){"use strict";var r=n(56),o={};o[n(13)("toStringTag")]="z",o+""!="[object z]"&&n(19)(Object.prototype,"toString",function(){return"[object "+r(this)+"]"},!0)},function(e,t,n){var r=n(0);r(r.P,"Function",{bind:n(105)})},function(e,t,n){var r=n(15).f,o=Function.prototype;"name"in o||n(16)&&r(o,"name",{configurable:!0,get:function(){try{return(""+this).match(/^\s*function ([^ (]*)/)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var r=n(8),o=n(46),i=n(13)("hasInstance"),a=Function.prototype;i in a||n(15).f(a,i,{value:function(e){if("function"!=typeof this||!r(e))return!1;if(!r(this.prototype))return e instanceof this;for(;e=o(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){var r=n(0),o=n(107);r(r.G+r.F*(parseInt!=o),{parseInt:o})},function(e,t,n){var r=n(0),o=n(108);r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},function(e,t,n){"use strict";var r=n(7),o=n(22),i=n(33),a=n(79),u=n(37),c=n(4),s=n(45).f,l=n(27).f,f=n(15).f,p=n(61).trim,d="Number",h=r[d],v=h,y=h.prototype,m=i(n(44)(y))==d,g="trim"in String.prototype,b=function(e){var t=u(e,!1);if("string"==typeof t&&2x;x++)o(v,_=w[x])&&!o(h,_)&&f(h,_,l(v,_));(h.prototype=y).constructor=h,n(19)(r,d,h)}},function(e,t,n){"use strict";var r=n(0),o=n(26),i=n(109),a=n(80),u=1..toFixed,c=Math.floor,s=[0,0,0,0,0,0],l="Number.toFixed: incorrect invocation!",f=function(e,t){for(var n=-1,r=t;++n<6;)r+=e*s[n],s[n]=r%1e7,r=c(r/1e7)},p=function(e){for(var t=6,n=0;0<=--t;)n+=s[t],s[t]=c(n/e),n=n%e*1e7},d=function(){for(var e=6,t="";0<=--e;)if(""!==t||0===e||0!==s[e]){var n=s[e]+"";t=""===t?n:t+a.call("0",7-n.length)+n}return t},h=function e(t,n,r){return 0===n?r:n%2==1?e(t,n-1,r*t):e(t*t,n/2,r)};r(r.P+r.F*!n(4)(function(){u.call({})}),"Number",{toFixed:function(e){var t,n,r,u,c=i(this,l),s=o(e),v="",y="0";if(s<0||20>>=0)?31-Math.floor(Math.log(e+.5)*Math.LOG2E):32}})},function(e,t,n){var r=n(0),o=Math.exp;r(r.S,"Math",{cosh:function(e){return(o(e=+e)+o(-e))/2}})},function(e,t,n){var r=n(0),o=n(82);r(r.S+r.F*(o!=Math.expm1),"Math",{expm1:o})},function(e,t,n){var r=n(0);r(r.S,"Math",{fround:n(178)})},function(e,t,n){var r=n(81),o=Math.pow,i=o(2,-52),a=o(2,-23),u=o(2,127)*(2-a),c=o(2,-126);e.exports=Math.fround||function(e){var t,n,o=Math.abs(e),s=r(e);return o>>16)*i+o*(65535&r>>>16)<<16>>>0)}})},function(e,t,n){var r=n(0);r(r.S,"Math",{log10:function(e){return Math.log(e)*Math.LOG10E}})},function(e,t,n){var r=n(0);r(r.S,"Math",{log1p:n(111)})},function(e,t,n){var r=n(0);r(r.S,"Math",{log2:function(e){return Math.log(e)/Math.LN2}})},function(e,t,n){var r=n(0);r(r.S,"Math",{sign:n(81)})},function(e,t,n){var r=n(0),o=n(82),i=Math.exp;r(r.S+r.F*n(4)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function(e){return Math.abs(e=+e)<1?(o(e)-o(-e))/2:(i(e-1)-i(-e-1))*(Math.E/2)}})},function(e,t,n){var r=n(0),o=n(82),i=Math.exp;r(r.S,"Math",{tanh:function(e){var t=o(e=+e),n=o(-e);return t==1/0?1:n==1/0?-1:(t-n)/(i(e)+i(-e))}})},function(e,t,n){var r=n(0);r(r.S,"Math",{trunc:function(e){return(0>10),t%1024+56320))}return n.join("")}})},function(e,t,n){var r=n(0),o=n(24),i=n(14);r(r.S,"String",{raw:function(e){for(var t=o(e.raw),n=i(t.length),r=arguments.length,a=[],u=0;uy;)h(v[y++]);(f.constructor=s).prototype=f,n(19)(r,"RegExp",s)}n(50)("RegExp")},function(e,t,n){"use strict";n(118);var r=n(5),o=n(63),i=n(16),a="toString",u=/./[a],c=function(e){n(19)(RegExp.prototype,a,e,!0)};n(4)(function(){return"/a/b"!=u.call({source:"a",flags:"b"})})?c(function(){var e=r(this);return"/".concat(e.source,"/","flags"in e?e.flags:!i&&e instanceof RegExp?o.call(e):void 0)}):u.name!=a&&c(function(){return u.call(this)})},function(e,t,n){"use strict";var r=n(5),o=n(14),i=n(94),a=n(64);n(65)("match",1,function(e,t,n,u){return[function(n){var r=e(this),o=null==n?void 0:n[t];return void 0!==o?o.call(n,r):RegExp(n)[t](r+"")},function(e){var t=u(n,e,this);if(t.done)return t.value;var c=r(e),s=this+"";if(!c.global)return a(c,s);for(var l,f=c.unicode,p=[],d=c.lastIndex=0;null!==(l=a(c,s));){var h=l[0]+"";""===(p[d]=h)&&(c.lastIndex=i(s,o(c.lastIndex),f)),d++}return 0===d?null:p}]})},function(e,t,n){"use strict";var r=n(5),o=n(20),i=n(14),a=n(26),u=n(94),c=n(64),s=Math.max,l=Math.min,f=Math.floor;n(65)("replace",2,function(e,t,n,p){function d(e,t,r,i,a,u){var c=r+e.length,s=i.length,l=/\$([$&`']|\d\d?)/g;return void 0!==a&&(a=o(a),l=/\$([$&`']|\d\d?|<[^>]*>)/g),n.call(u,l,function(n,o){var u;switch(o.charAt(0)){case"$":return"$";case"&":return e;case"`":return t.slice(0,r);case"'":return t.slice(c);case"<":u=a[o.slice(1,-1)];break;default:var l=+o;if(0===l)return n;if(s>>0,y=RegExp(e.source,l+"g");(i=s.call(y,o))&&(h>=(a=y[d])||(c.push(o.slice(h,i.index)),1v?c.slice(0,v):c}:n,[function(n,r){var o=e(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,o,r):y.call(o+"",n,r)},function(e,t){var r=v(y,e,this,t,y!==n);if(r.done)return r.value;var s=o(e),f=this+"",p=i(s,RegExp),d=s.unicode,m=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(h?"y":"g"),g=new p(h?s:"^(?:"+s.source+")",m),b=void 0===t?4294967295:t>>>0;if(0===b)return[];if(0===f.length)return null===c(g,f)?[f]:[];for(var _=0,w=0,x=[];w=t.length)return{value:void 0,done:!0}}while(!((e=t[this._i++])in this._t));return{value:e,done:!1}}),r(r.S,"Reflect",{enumerate:function(e){return new i(e)}})},function(e,t,n){var r=n(27),o=n(46),i=n(22),a=n(0),u=n(8),c=n(5);a(a.S,"Reflect",{get:function e(t,n,a){var s,l,f=arguments.length<3?t:a;return c(t)===f?t[n]:(s=r.f(t,n))?i(s,"value")?s.value:void 0!==s.get?s.get.call(f):void 0:u(l=o(t))?e(l,n,f):void 0}})},function(e,t,n){var r=n(27),o=n(0),i=n(5);o(o.S,"Reflect",{getOwnPropertyDescriptor:function(e,t){return r.f(i(e),t)}})},function(e,t,n){var r=n(0),o=n(46),i=n(5);r(r.S,"Reflect",{getPrototypeOf:function(e){return o(i(e))}})},function(e,t,n){var r=n(0);r(r.S,"Reflect",{has:function(e,t){return t in e}})},function(e,t,n){var r=n(0),o=n(5),i=Object.isExtensible;r(r.S,"Reflect",{isExtensible:function(e){return o(e),!i||i(e)}})},function(e,t,n){var r=n(0);r(r.S,"Reflect",{ownKeys:n(125)})},function(e,t,n){var r=n(0),o=n(5),i=Object.preventExtensions;r(r.S,"Reflect",{preventExtensions:function(e){o(e);try{return i&&i(e),!0}catch(e){return!1}}})},function(e,t,n){var r=n(15),o=n(27),i=n(46),a=n(22),u=n(0),c=n(39),s=n(5),l=n(8);u(u.S,"Reflect",{set:function e(t,n,u,f){var p,d,h=arguments.length<4?t:f,v=o.f(s(t),n);if(!v){if(l(d=i(t)))return e(d,n,u,h);v=c(0)}if(a(v,"value")){if(!1===v.writable||!l(h))return!1;if(p=o.f(h,n)){if(p.get||p.set||!1===p.writable)return!1;p.value=u,r.f(h,n,p)}else r.f(h,n,c(0,u));return!0}return void 0!==v.set&&(v.set.call(h,u),!0)}})},function(e,t,n){var r=n(0),o=n(77);o&&r(r.S,"Reflect",{setPrototypeOf:function(e,t){o.check(e,t);try{return o.set(e,t),!0}catch(e){return!1}}})},function(e,t,n){n(277),e.exports=n(17).Array.includes},function(e,t,n){"use strict";var r=n(0),o=n(59)(!0);r(r.P,"Array",{includes:function(e,t){return o(this,e,1f;)void 0!==(n=c(r,t=s[f++]))&&u(l,t,n);return l}})},function(e,t,n){n(287),e.exports=n(17).Object.values},function(e,t,n){var r=n(0),o=n(127)(!1);r(r.S,"Object",{values:function(e){return o(e)}})},function(e,t,n){n(289),e.exports=n(17).Object.entries},function(e,t,n){var r=n(0),o=n(127)(!0);r(r.S,"Object",{entries:function(e){return o(e)}})},function(e,t,n){"use strict";n(119),n(291),e.exports=n(17).Promise.finally},function(e,t,n){"use strict";var r=n(0),o=n(17),i=n(7),a=n(57),u=n(121);r(r.P+r.R,"Promise",{finally:function(e){var t=a(this,o.Promise||i.Promise),n="function"==typeof e;return this.then(n?function(n){return u(t,e()).then(function(){return n})}:e,n?function(n){return u(t,e()).then(function(){throw n})}:e)}})},function(e,t,n){n(293),n(294),n(295),e.exports=n(17)},function(e,t,n){var r=n(7),o=n(0),i=n(67),a=[].slice,u=/MSIE .\./.test(i),c=function(e){return function(t,n){var r=2=t.length||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1]))||(function(e,t,n,o){if(null==t||function(e,t,n,o){if(null!==n&&0===n.type)return!1;switch(r(t)){case"function":case"symbol":return!0;case"boolean":return!o&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,o))return!0;if(o)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||t<1}return!1}(t,n,a,o)&&(n=null),o||null===a?(i=t,(ko.call(Co,i)||!ko.call(To,i)&&(Eo.test(i)?Co[i]=!0:!(To[i]=!0)))&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n))):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,o=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,o?e.setAttributeNS(o,t,n):e.setAttribute(t,n))))}function Z(e){switch(r(e)){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function ee(e,t){var n=t.checked;return pr({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function te(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=Z(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function ne(e,t){null!=(t=t.checked)&&J(e,"checked",t,!1)}function re(e,t){ne(e,t);var n=Z(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ie(e,t.type,n):t.hasOwnProperty("defaultValue")&&ie(e,t.type,Z(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function oe(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ie(e,t,n){"number"===t&&e.ownerDocument.activeElement===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function ae(e,t,n){return(e=O.getPooled(jo.change,e,t,n)).type="change",I(n),x(e),e}function ue(e){p(e)}function ce(e){if(G(v(e)))return e}function se(e,t){if("change"===e)return t}function le(){Fo&&(Fo.detachEvent("onpropertychange",fe),Ao=Fo=null)}function fe(e){"value"===e.propertyName&&ce(Ao)&&B(ue,e=ae(Ao,e,z(e)))}function pe(e,t,n){"focus"===e?(le(),Ao=n,(Fo=t).attachEvent("onpropertychange",fe)):"blur"===e&&le()}function de(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return ce(Ao)}function he(e,t){if("click"===e)return ce(t)}function ve(e,t){if("input"===e||"change"===e)return ce(t)}function ye(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Mo[e])&&!!t[e]}function me(){return ye}function ge(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function be(e,t){if(ge(e,t))return!0;if("object"!==r(e)||null===e||"object"!==r(t)||null===t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(o=0;ot&&(e.latestPendingTime=t),kt(t,e)}function St(e,t){e.didError=!1,e.latestPingedTime>=t&&(e.latestPingedTime=0);var n=e.earliestPendingTime,r=e.latestPendingTime;n===t?e.earliestPendingTime=r===t?e.latestPendingTime=0:r:r===t&&(e.latestPendingTime=n),n=e.earliestSuspendedTime,r=e.latestSuspendedTime,0===n?e.earliestSuspendedTime=e.latestSuspendedTime=t:np?(y=f,f=null):y=f.sibling;var m=h(r,f,a[p],c);if(null===m){null===f&&(f=y);break}e&&f&&null===m.alternate&&t(r,f),o=u(m,o,p),null===l?s=m:l.sibling=m,l=m,f=y}if(p===a.length)return n(r,f),s;if(null===f){for(;py?(m=p,p=null):m=p.sibling;var b=h(r,p,g.value,s);if(null===b){p||(p=m);break}e&&p&&null===b.alternate&&t(r,p),a=u(b,a,y),null===f?l=b:f.sibling=b,f=b,p=m}if(g.done)return n(r,p),l;if(null===p){for(;!g.done;y++,g=c.next())null!==(g=d(r,g.value,s))&&(a=u(g,a,y),null===f?l=g:f.sibling=g,f=g);return l}for(p=i(r,p);!g.done;y++,g=c.next())null!==(g=v(p,r,y,g.value,s))&&(e&&null!==g.alternate&&p.delete(null===g.key?y:g.key),a=u(g,a,y),null===f?l=g:f.sibling=g,f=g);return e&&p.forEach(function(e){return t(r,e)}),l}(s,l,f,p);if(m&&en(s,f),void 0===f&&!y)switch(s.tag){case 1:case 0:o("152",(p=s.type).displayName||p.name||"Component")}return n(s,l)}}function nn(e,t){var n=ht(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function rn(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function on(e){if(ta){var t=ea;if(t){var n=t;if(!rn(e,t)){if(!(t=et(n))||!rn(e,t))return e.effectTag|=2,ta=!1,void(Zi=e);nn(Zi,n)}Zi=e,ea=tt(t)}else e.effectTag|=2,ta=!1,Zi=e}}function an(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;Zi=e}function un(e){if(e!==Zi)return!1;if(!ta)return an(e),!(ta=!0);var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!Ze(t,e.memoizedProps))for(t=ea;t;)nn(e,t),t=et(t);return an(e),ea=Zi?et(e.stateNode):null,!0}function cn(){ea=Zi=null,ta=!1}function sn(e,t,n,r){t.child=null===e?Ji(t,null,n,r):Yi(t,e.child,n,r)}function ln(e,t,n,r,o){n=n.render;var i=t.ref;return Bt(t),r=n(r,i),t.effectTag|=1,sn(e,t,r,o),t.child}function fn(e,t,n,r,o,i){if(null!==e)return a=e.child,o<\/script>",l=i.removeChild(i.firstChild)):"string"==typeof p.is?l=l.createElement(i,{is:p.is}):(l=l.createElement(i),"select"===i&&p.multiple&&(l.multiple=!0)):l=l.createElementNS(s,i),(i=l)[Fr]=f,i[Ar]=u,ra(i,t,!1,!1),p=i;var d=c,h=Qe(l=a,f=u);switch(l){case"iframe":case"object":Te("load",p),c=f;break;case"video":case"audio":for(c=0;c=n)break;l.childExpirationTime=n}f=f.return}}l=c.child,s=s.next}while(null!==s);else l=10===c.tag&&c.type===t.type?null:c.child;if(null!==l)l.return=c;else for(l=c;null!==l;){if(l===t){l=null;break}if(null!==(c=l.sibling)){c.return=l.return,l=c;break}l=l.return}c=l}}sn(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,i=(u=t.pendingProps).children,Bt(t),i=i(a=Vt(a,u.unstable_observedBits)),t.effectTag|=1,sn(e,t,i,n),t.child;case 14:return u=qt(a=t.type,t.pendingProps),fn(e,t,a,u=qt(a.type,u),i,n);case 15:return pn(e,t,t.type,t.pendingProps,i,n);case 17:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:qt(i,a),null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),t.tag=1,it(i)?(e=!0,lt(t)):e=!1,Bt(t),Xt(t,i,a),Jt(t,i,a,n),yn(null,t,i,!0,e,n);default:o("156")}}(e.alternate,e,ya);return e.memoizedProps=e.pendingProps,null===t&&(t=Rn(e)),la.current=null,t}function In(e,t){da&&o("243"),An(),da=!0,la.currentDispatcher=sa;var n=e.nextExpirationTimeToWorkOn;n===ya&&e===va&&null!==ha||(Fn(),ya=n,ha=yt((va=e).current,null),e.pendingCommitExpirationTime=0);for(var i=!1;;){try{if(t)for(;null!==ha&&!Kn();)ha=Nn(ha);else for(;null!==ha;)ha=Nn(ha)}catch(t){if(zi=Vi=Bi=null,null===ha)i=!0,er(t);else{null===ha&&o("271");var a=ha,u=a.return;if(null!==u){e:{var c=e,s=u,l=a,f=t;if(u=ya,l.effectTag|=1024,l.firstEffect=l.lastEffect=null,null!==f&&"object"===r(f)&&"function"==typeof f.then){var p=f;f=s;var d=-1,h=-1;do{if(13===f.tag){var v=f.alternate;if(null!==v&&null!==(v=v.memoizedState)){h=10*(1073741822-v.timedOutAt);break}"number"==typeof(v=f.pendingProps.maxDuration)&&(0 component higher in the tree to provide a loading indicator or placeholder to display."+Q(l))}ga=!0,f=Lt(f,l),c=s;do{switch(c.tag){case 3:c.effectTag|=2048,c.expirationTime=u,Ft(c,u=On(c,f,u));break e;case 1:if(p=f,d=c.type,h=c.stateNode,0==(64&c.effectTag)&&("function"==typeof d.getDerivedStateFromError||null!==h&&"function"==typeof h.componentDidCatch&&(null===Sa||!Sa.has(h)))){c.effectTag|=2048,c.expirationTime=u,Ft(c,u=Pn(c,p,u));break e}}c=c.return}while(null!==c)}ha=Rn(a);continue}i=!0,er(t)}}break}if(da=!1,zi=Vi=Bi=la.currentDispatcher=null,i)va=null,e.finishedWork=null;else if(null!==ha)e.finishedWork=null;else{if(null===(i=e.current.alternate)&&o("281"),va=null,ga){if(a=e.latestPendingTime,u=e.latestSuspendedTime,c=e.latestPingedTime,0!==a&&ae.expirationTime&&(e.expirationTime=t),Oa||(Na?Ia&&Jn(Pa=e,ja=1073741823,!1):1073741823===t?Xn(1073741823,!1):Wn(e,t))}function qn(){var e=0,t=null;if(null!==ka)for(var n=ka,r=Ea;null!==r;){var i=r.expirationTime;if(0===i){if((null===n||null===ka)&&o("244"),r===r.nextScheduledRoot){Ea=ka=r.nextScheduledRoot=null;break}if(r===Ea)Ea=i=r.nextScheduledRoot,ka.nextScheduledRoot=i,r.nextScheduledRoot=null;else{if(r===ka){(ka=n).nextScheduledRoot=Ea,r.nextScheduledRoot=null;break}n.nextScheduledRoot=r.nextScheduledRoot,r.nextScheduledRoot=null}r=n.nextScheduledRoot}else{if(e=n&&(null===La?La=[r]:La.push(r),r._defer))return e.finishedWork=t,void(e.expirationTime=0);e.finishedWork=null,e===Wa?za++:(Wa=e,za=0),_a=da=!0,e.current===t&&o("177"),0===(n=e.pendingCommitExpirationTime)&&o("261"),e.pendingCommitExpirationTime=0,r=t.expirationTime;var i=t.childExpirationTime;if(r=rr&&(e.earliestPendingTime=e.latestPendingTime)),0===(i=e.earliestSuspendedTime)?xt(e,r):r