@ 2014-09-09T17:29:18Z <?php
//require_once (dirname(__FILE__) . "/sha256.php");
$AWS_ACCESS_KEY = 'AKIAIDMODWRW3CRDO2BA';
$AWS_PRIVATE_KEY = 'kMuJRvcejqzMvmoZWsURIDKkteVTXa3ReDXQ6RqE';
$AWS_REGION = 'us-west-2';
$TOPIC_ARN_UPDATECUS = 'arn:aws:sns:us-west-2:791920038536:updateCusNumberRequest';
$endpoints = array(
'US-EAST-1' => 'sns.us-east-1.amazonaws.com',
'US-WEST-1' => 'sns.us-west-1.amazonaws.com',
'US-WEST-2' => 'sns.us-west-2.amazonaws.com',
'EU-WEST-1' => 'sns.eu-west-1.amazonaws.com',
'AP-SE-1' => 'sns.ap-southeast-1.amazonaws.com',
'AP-NE-1' => 'sns.ap-northeast-1.amazonaws.com',
'SA-EAST-1' => 'sns.sa-east-1.amazonaws.com'
);
$endpoint = $endpoints[strtoupper($AWS_REGION)];
$protocol = 'https://';
$email = '';
$cus_id = '';
/*if ($argc >= 3)
{
$email = $argv[2];
$cus_id = $argv[3];
}*/
$message = array(
'topic' => 'updateCusNumberRequest',
'email' => $email,
'cus_id' => $cus_id
);
$params = array(
'TopicArn' => $TOPIC_ARN_UPDATECUS,
'Message' => php_compat_json_encode($message)
);
$params['Action'] = 'Publish';
$params['AWSAccessKeyId'] = $AWS_ACCESS_KEY;
$params['Timestamp'] = gmdate('Y-m-d\TH:i:s\Z');
$params['SignatureVersion'] = 2;
$params['SignatureMethod'] = 'HmacSHA256';
uksort($params, 'strnatcmp');
$queryString = '';
foreach ($params as $key => $val) {
$queryString .= "&{$key}=".rawurlencode($val);
}
$queryString = substr($queryString, 1);
$requestString = "GET\n"
. $endpoint."\n"
. "/\n"
. $queryString;
$params['Signature'] = base64_encode(
php_compat_hash_hmac('sha256', $requestString, $AWS_PRIVATE_KEY, true)
);
$request = $protocol . $endpoint . '/?' . php_compat_http_build_query($params);
var_dump($request);
/* php4 compatible functions */
//http://bit.ly/1qd0Usl
function php_compat_hash_hmac($algo, $data, $key, $raw_output = false)
{
// Block size (byte) for MD5, SHA-1 and SHA-256.
$blocksize = 64;
$ipad = str_repeat("\x36", $blocksize);
$opad = str_repeat("\x5c", $blocksize);
if (strlen($key) > $blocksize) {
$key = php_compat_hash($algo, $key, true);
} else {
$key = str_pad($key, $blocksize, "\x00");
}
$ipad ^= $key;
$opad ^= $key;
return php_compat_hash($algo, $opad . php_compat_hash($algo, $ipad . $data, true), $raw_output);
}
//http://bit.ly/1nIYD2h
function php_compat_hash($algo, $data, $raw_output = false)
{
$hash = sha256($data);
if ($raw_output) {
return pack('H*', $hash);
} else {
echo "returnhash";
return $hash;
}
}
//http://bit.ly/1uH6OR0
function php_compat_json_encode($a=false)
{
if (is_null($a)) return 'null';
if ($a === false) return 'false';
if ($a === true) return 'true';
if (is_scalar($a))
{
if (is_float($a))
{
// Always use "." for floats.
return floatval(str_replace(",", ".", strval($a)));
}
if (is_string($a))
{
$jsonReplaces = array(array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));
return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';
}
else
return $a;
}
$isList = true;
for ($i = 0, reset($a); $i < count($a); $i++, next($a))
{
if (key($a) !== $i)
{
$isList = false;
break;
}
}
$result = array();
if ($isList)
{
foreach ($a as $v) $result[] = php_compat_json_encode($v);
return '[' . join(',', $result) . ']';
}
else
{
foreach ($a as $k => $v) $result[] = php_compat_json_encode($k).':'.php_compat_json_encode($v);
return '{' . join(',', $result) . '}';
}
}
//http://bit.ly/1q8GwII
function php_compat_http_build_query($data, $prefix = null, $sep = '', $key = '')
{
$ret = array();
foreach ((array )$data as $k => $v) {
$k = urlencode($k);
if (is_int($k) && $prefix != null) {
$k = $prefix . $k;
}
if (!empty($key)) {
$k = $key . "[" . $k . "]";
}
if (is_array($v) || is_object($v)) {
array_push($ret, http_build_query($v, "", $sep, $k));
} else {
array_push($ret, $k . "=" . urlencode($v));
}
}
if (empty($sep)) {
$sep = ini_get("arg_separator.output");
}
return implode($sep, $ret);
}
/*
* Transparent SHA-256 Implementation for PHP 4 and PHP 5
*
* Author: Perry McGee (pmcgee@nanolink.ca)
* Website: http://www.nanolink.ca/pub/sha256
*
* Copyright (C) 2006,2007,2008,2009 Nanolink Solutions
*
* Created: Feb 11, 2006
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
* or see <http://www.gnu.org/licenses/>.
*
* Include:
*
* require_once("[path/]sha256.inc.php");
*
* Usage Options:
*
* 1) $shaStr = hash('sha256', $string_to_hash);
*
* 2) $shaStr = sha256($string_to_hash[, bool ignore_php5_hash = false]);
*
* 3) $obj = new nanoSha2([bool $upper_case_output = false]);
* $shaStr = $obj->hash($string_to_hash[, bool $ignore_php5_hash = false]);
*
* Reference: http://csrc.nist.gov/groups/ST/toolkit/secure_hashing.html
*
* 2007-12-13: Cleaned up for initial public release
* 2008-05-10: Moved all helper functions into a class. API access unchanged.
* 2009-06-23: Created abstraction of hash() routine
* 2009-07-23: Added detection of 32 vs 64bit platform, and patches.
* Ability to define "_NANO_SHA2_UPPER" to yeild upper case hashes.
* 2009-08-01: Added ability to attempt to use mhash() prior to running pure
* php code.
*
* NOTE: Some sporadic versions of PHP do not handle integer overflows the
* same as the majority of builds. If you get hash results of:
* 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff
*
* If you do not have permissions to change PHP versions (if you did
* you'd probably upgrade to PHP 5 anyway) it is advised you install a
* module that will allow you to use their hashing routines, examples are:
* - mhash module : http://ca3.php.net/mhash
* - Suhosin : http://www.hardened-php.net/suhosin/
*
* If you install the Suhosin module, this script will transparently
* use their routine and define the PHP routine as _nano_sha256().
*
* If the mhash module is present, and $ignore_php5_hash = false the
* script will attempt to use the output from mhash prior to running
* the PHP code.
*/
if (!class_exists('nanoSha2'))
{
class nanoSha2
{
// php 4 - 5 compatable class properties
var $toUpper;
var $platform;
// Php 4 - 6 compatable constructor
function nanoSha2($toUpper = false) {
// Determine if the caller wants upper case or not.
$this->toUpper = is_bool($toUpper)
? $toUpper
: ((defined('_NANO_SHA2_UPPER')) ? true : false);
// Deteremine if the system is 32 or 64 bit.
$tmpInt = (int)4294967295;
$this->platform = ($tmpInt > 0) ? 64 : 32;
}
// Do the SHA-256 Padding routine (make input a multiple of 512 bits)
function char_pad($str)
{
$tmpStr = $str;
$l = strlen($tmpStr)*8; // # of bits from input string
$tmpStr .= "\x80"; // append the "1" bit followed by 7 0's
$k = (512 - (($l + 8 + 64) % 512)) / 8; // # of 0 bytes to append
$k += 4; // PHP Strings will never exceed (2^31)-1, 1st 32bits of
// the 64-bit value representing $l can be all 0's
for ($x = 0; $x < $k; $x++) {
$tmpStr .= "\0";
}
// append the 32-bits representing # of bits from input string ($l)
$tmpStr .= chr((($l>>24) & 0xFF));
$tmpStr .= chr((($l>>16) & 0xFF));
$tmpStr .= chr((($l>>8) & 0xFF));
$tmpStr .= chr(($l & 0xFF));
return $tmpStr;
}
// Here are the bitwise and functions as defined in FIPS180-2 Standard
function addmod2n($x, $y, $n = 4294967296) // Z = (X + Y) mod 2^32
{
$mask = 0x80000000;
if ($x < 0) {
$x &= 0x7FFFFFFF;
$x = (float)$x + $mask;
}
if ($y < 0) {
$y &= 0x7FFFFFFF;
$y = (float)$y + $mask;
}
$r = $x + $y;
if ($r >= $n) {
while ($r >= $n) {
$r -= $n;
}
}
return (int)$r;
}
// Logical bitwise right shift (PHP default is arithmetic shift)
function SHR($x, $n) // x >> n
{
if ($n >= 32) { // impose some limits to keep it 32-bit
return (int)0;
}
if ($n <= 0) {
return (int)$x;
}
$mask = 0x40000000;
if ($x < 0) {
$x &= 0x7FFFFFFF;
$mask = $mask >> ($n-1);
return ($x >> $n) | $mask;
}
return (int)$x >> (int)$n;
}
function ROTR($x, $n) { return (int)(($this->SHR($x, $n) | ($x << (32-$n)) & 0xFFFFFFFF)); }
function Ch($x, $y, $z) { return ($x & $y) ^ ((~$x) & $z); }
function Maj($x, $y, $z) { return ($x & $y) ^ ($x & $z) ^ ($y & $z); }
function Sigma0($x) { return (int) ($this->ROTR($x, 2)^$this->ROTR($x, 13)^$this->ROTR($x, 22)); }
function Sigma1($x) { return (int) ($this->ROTR($x, 6)^$this->ROTR($x, 11)^$this->ROTR($x, 25)); }
function sigma_0($x) { return (int) ($this->ROTR($x, 7)^$this->ROTR($x, 18)^$this->SHR($x, 3)); }
function sigma_1($x) { return (int) ($this->ROTR($x, 17)^$this->ROTR($x, 19)^$this->SHR($x, 10)); }
/*
* Custom functions to provide PHP support
*/
// split a byte-string into integer array values
function int_split($input)
{
$l = strlen($input);
if ($l <= 0) {
return (int)0;
}
if (($l % 4) != 0) { // invalid input
return false;
}
for ($i = 0; $i < $l; $i += 4)
{
$int_build = (ord($input[$i]) << 24);
$int_build += (ord($input[$i+1]) << 16);
$int_build += (ord($input[$i+2]) << 8);
$int_build += (ord($input[$i+3]));
$result[] = $int_build;
}
return $result;
}
/**
* Process and return the hash.
*
* @param $str Input string to hash
* @param $ig_func Option param to ignore checking for php > 5.1.2
* @return string Hexadecimal representation of the message digest
*/
function hash($str, $ig_func = false)
{
unset($binStr); // binary representation of input string
unset($hexStr); // 256-bit message digest in readable hex format
// check for php's internal sha256 function, ignore if ig_func==true
if ($ig_func == false) {
if (version_compare(PHP_VERSION,'5.1.2','>=')) {
return hash("sha256", $str, false);
} else if (function_exists('mhash') && defined('MHASH_SHA256')) {
return base64_encode(bin2hex(mhash(MHASH_SHA256, $str)));
}
}
/*
* SHA-256 Constants
* Sequence of sixty-four constant 32-bit words representing the
* first thirty-two bits of the fractional parts of the cube roots
* of the first sixtyfour prime numbers.
*/
$K = array((int)0x428a2f98, (int)0x71374491, (int)0xb5c0fbcf,
(int)0xe9b5dba5, (int)0x3956c25b, (int)0x59f111f1,
(int)0x923f82a4, (int)0xab1c5ed5, (int)0xd807aa98,
(int)0x12835b01, (int)0x243185be, (int)0x550c7dc3,
(int)0x72be5d74, (int)0x80deb1fe, (int)0x9bdc06a7,
(int)0xc19bf174, (int)0xe49b69c1, (int)0xefbe4786,
(int)0x0fc19dc6, (int)0x240ca1cc, (int)0x2de92c6f,
(int)0x4a7484aa, (int)0x5cb0a9dc, (int)0x76f988da,
(int)0x983e5152, (int)0xa831c66d, (int)0xb00327c8,
(int)0xbf597fc7, (int)0xc6e00bf3, (int)0xd5a79147,
(int)0x06ca6351, (int)0x14292967, (int)0x27b70a85,
(int)0x2e1b2138, (int)0x4d2c6dfc, (int)0x53380d13,
(int)0x650a7354, (int)0x766a0abb, (int)0x81c2c92e,
(int)0x92722c85, (int)0xa2bfe8a1, (int)0xa81a664b,
(int)0xc24b8b70, (int)0xc76c51a3, (int)0xd192e819,
(int)0xd6990624, (int)0xf40e3585, (int)0x106aa070,
(int)0x19a4c116, (int)0x1e376c08, (int)0x2748774c,
(int)0x34b0bcb5, (int)0x391c0cb3, (int)0x4ed8aa4a,
(int)0x5b9cca4f, (int)0x682e6ff3, (int)0x748f82ee,
(int)0x78a5636f, (int)0x84c87814, (int)0x8cc70208,
(int)0x90befffa, (int)0xa4506ceb, (int)0xbef9a3f7,
(int)0xc67178f2);
// Pre-processing: Padding the string
$binStr = $this->char_pad($str);
// Parsing the Padded Message (Break into N 512-bit blocks)
$M = str_split($binStr, 64);
// Set the initial hash values
$h[0] = (int)0x6a09e667;
$h[1] = (int)0xbb67ae85;
$h[2] = (int)0x3c6ef372;
$h[3] = (int)0xa54ff53a;
$h[4] = (int)0x510e527f;
$h[5] = (int)0x9b05688c;
$h[6] = (int)0x1f83d9ab;
$h[7] = (int)0x5be0cd19;
// loop through message blocks and compute hash. ( For i=1 to N : )
$N = count($M);
for ($i = 0; $i < $N; $i++)
{
// Break input block into 16 32bit words (message schedule prep)
$MI = $this->int_split($M[$i]);
// Initialize working variables
$_a = (int)$h[0];
$_b = (int)$h[1];
$_c = (int)$h[2];
$_d = (int)$h[3];
$_e = (int)$h[4];
$_f = (int)$h[5];
$_g = (int)$h[6];
$_h = (int)$h[7];
unset($_s0);
unset($_s1);
unset($_T1);
unset($_T2);
$W = array();
// Compute the hash and update
for ($t = 0; $t < 16; $t++)
{
// Prepare the first 16 message schedule values as we loop
$W[$t] = $MI[$t];
// Compute hash
$_T1 = $this->addmod2n($this->addmod2n($this->addmod2n($this->addmod2n($_h, $this->Sigma1($_e)), $this->Ch($_e, $_f, $_g)), $K[$t]), $W[$t]);
$_T2 = $this->addmod2n($this->Sigma0($_a), $this->Maj($_a, $_b, $_c));
// Update working variables
$_h = $_g; $_g = $_f; $_f = $_e; $_e = $this->addmod2n($_d, $_T1);
$_d = $_c; $_c = $_b; $_b = $_a; $_a = $this->addmod2n($_T1, $_T2);
}
for (; $t < 64; $t++)
{
// Continue building the message schedule as we loop
$_s0 = $W[($t+1)&0x0F];
$_s0 = $this->sigma_0($_s0);
$_s1 = $W[($t+14)&0x0F];
$_s1 = $this->sigma_1($_s1);
$W[$t&0xF] = $this->addmod2n($this->addmod2n($this->addmod2n($W[$t&0xF], $_s0), $_s1), $W[($t+9)&0x0F]);
// Compute hash
$_T1 = $this->addmod2n($this->addmod2n($this->addmod2n($this->addmod2n($_h, $this->Sigma1($_e)), $this->Ch($_e, $_f, $_g)), $K[$t]), $W[$t&0xF]);
$_T2 = $this->addmod2n($this->Sigma0($_a), $this->Maj($_a, $_b, $_c));
// Update working variables
$_h = $_g; $_g = $_f; $_f = $_e; $_e = $this->addmod2n($_d, $_T1);
$_d = $_c; $_c = $_b; $_b = $_a; $_a = $this->addmod2n($_T1, $_T2);
}
$h[0] = $this->addmod2n($h[0], $_a);
$h[1] = $this->addmod2n($h[1], $_b);
$h[2] = $this->addmod2n($h[2], $_c);
$h[3] = $this->addmod2n($h[3], $_d);
$h[4] = $this->addmod2n($h[4], $_e);
$h[5] = $this->addmod2n($h[5], $_f);
$h[6] = $this->addmod2n($h[6], $_g);
$h[7] = $this->addmod2n($h[7], $_h);
}
// Convert the 32-bit words into human readable hexadecimal format.
$hexStr = sprintf("%08x%08x%08x%08x%08x%08x%08x%08x", $h[0], $h[1], $h[2], $h[3], $h[4], $h[5], $h[6], $h[7]);
return ($this->toUpper) ? strtoupper($hexStr) : $hexStr;
}
}
}
if (!function_exists('str_split'))
{
/**
* Splits a string into an array of strings with specified length.
* Compatability with older verions of PHP
*/
function str_split($string, $split_length = 1)
{
$sign = ($split_length < 0) ? -1 : 1;
$strlen = strlen($string);
$split_length = abs($split_length);
if (($split_length == 0) || ($strlen == 0)) {
$result = false;
} elseif ($split_length >= $strlen) {
$result[] = $string;
} else {
$length = $split_length;
for ($i = 0; $i < $strlen; $i++)
{
$i = (($sign < 0) ? $i + $length : $i);
$result[] = substr($string, $sign*$i, $length);
$i--;
$i = (($sign < 0) ? $i : $i + $length);
$length = (($i + $split_length) > $strlen)
? ($strlen - ($i + 1))
: $split_length;
}
}
return $result;
}
}
/**
* Main routine called from an application using this include.
*
* General usage:
* require_once('sha256.inc.php');
* $hashstr = sha256('abc');
*
* Note:
* PHP Strings are limitd to (2^31)-1, so it is not worth it to
* check for input strings > 2^64 as the FIPS180-2 defines.
*/
// 2009-07-23: Added check for function as the Suhosin plugin adds this routine.
function sha256($str, $ig_func = false) {
$obj = new nanoSha2((defined('_NANO_SHA2_UPPER')) ? true : false);
return $obj->hash($str, $ig_func);
}
// support to give php4 the hash() routine which abstracts this code.
if (!function_exists('hash'))
{
function hash($algo, $data)
{
if (empty($algo) || !is_string($algo) || !is_string($data)) {
return false;
}
if (function_exists($algo)) {
return $algo($data);
}
}
}
?>
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).
Version System time (s) User time (s) Memory (MiB) 8.3.6 0.007 0.011 17.13 8.3.5 0.008 0.012 22.98 8.3.4 0.003 0.013 19.07 8.3.3 0.015 0.000 19.26 8.3.2 0.008 0.000 20.34 8.3.1 0.000 0.008 23.66 8.3.0 0.003 0.006 19.51 8.2.18 0.008 0.008 18.24 8.2.17 0.009 0.012 22.96 8.2.16 0.015 0.000 20.64 8.2.15 0.009 0.003 24.18 8.2.14 0.004 0.004 24.66 8.2.13 0.008 0.000 26.16 8.2.12 0.008 0.000 21.03 8.2.11 0.007 0.003 21.04 8.2.10 0.008 0.004 18.09 8.2.9 0.003 0.006 19.46 8.2.8 0.000 0.008 18.00 8.2.7 0.003 0.006 17.75 8.2.6 0.008 0.000 18.18 8.2.5 0.003 0.006 18.07 8.2.4 0.006 0.003 20.07 8.2.3 0.003 0.006 18.36 8.2.2 0.005 0.003 18.04 8.2.1 0.004 0.004 18.34 8.2.0 0.009 0.000 17.96 8.1.28 0.010 0.010 25.92 8.1.27 0.009 0.000 23.81 8.1.26 0.000 0.008 26.35 8.1.25 0.006 0.003 28.09 8.1.24 0.009 0.003 21.13 8.1.23 0.003 0.009 21.14 8.1.22 0.003 0.006 17.93 8.1.21 0.000 0.009 18.77 8.1.20 0.012 0.005 17.47 8.1.19 0.000 0.010 17.60 8.1.18 0.006 0.003 18.10 8.1.17 0.004 0.004 18.97 8.1.16 0.000 0.008 22.25 8.1.15 0.000 0.008 19.15 8.1.14 0.000 0.008 17.75 8.1.13 0.000 0.007 18.05 8.1.12 0.004 0.004 17.73 8.1.11 0.004 0.004 17.65 8.1.10 0.004 0.007 17.75 8.1.9 0.005 0.003 17.77 8.1.8 0.003 0.005 17.71 8.1.7 0.008 0.000 17.71 8.1.6 0.000 0.010 17.81 8.1.5 0.004 0.004 17.64 8.1.4 0.004 0.004 17.79 8.1.3 0.003 0.006 17.93 8.1.2 0.003 0.005 17.89 8.1.1 0.000 0.008 17.73 8.1.0 0.004 0.008 17.68 8.0.30 0.003 0.005 18.77 8.0.29 0.003 0.005 17.13 8.0.28 0.000 0.009 18.74 8.0.27 0.008 0.000 17.49 8.0.26 0.005 0.003 17.46 8.0.25 0.004 0.004 17.32 8.0.24 0.000 0.009 17.36 8.0.23 0.008 0.000 17.27 8.0.22 0.003 0.005 17.30 8.0.21 0.007 0.000 17.24 8.0.20 0.000 0.007 17.23 8.0.19 0.004 0.004 17.29 8.0.18 0.003 0.006 17.18 8.0.17 0.006 0.003 17.18 8.0.16 0.003 0.005 17.13 8.0.15 0.003 0.006 17.17 8.0.14 0.009 0.000 17.12 8.0.13 0.004 0.004 13.62 8.0.12 0.006 0.003 17.08 8.0.11 0.009 0.000 17.25 8.0.10 0.000 0.008 17.07 8.0.9 0.000 0.008 17.20 8.0.8 0.010 0.007 17.18 8.0.7 0.008 0.000 17.10 8.0.6 0.000 0.008 17.08 8.0.5 0.000 0.008 17.15 8.0.3 0.009 0.011 17.18 8.0.2 0.010 0.014 17.40 8.0.1 0.003 0.006 17.21 8.0.0 0.008 0.010 17.21 7.4.33 0.000 0.005 15.07 7.4.32 0.000 0.007 16.75 7.4.30 0.000 0.007 16.66 7.4.29 0.005 0.002 16.84 7.4.28 0.000 0.009 16.79 7.4.27 0.000 0.007 16.75 7.4.26 0.000 0.007 16.65 7.4.25 0.006 0.003 16.79 7.4.24 0.002 0.006 16.83 7.4.23 0.000 0.007 16.57 7.4.22 0.015 0.006 16.64 7.4.21 0.015 0.009 16.83 7.4.20 0.004 0.004 16.58 7.4.16 0.008 0.016 16.70 7.4.15 0.015 0.012 17.40 7.4.14 0.011 0.006 17.86 7.4.13 0.012 0.009 16.91 7.4.12 0.010 0.008 17.01 7.4.11 0.015 0.004 16.82 7.4.10 0.003 0.016 16.88 7.4.9 0.009 0.010 16.74 7.4.8 0.012 0.006 19.39 7.4.7 0.007 0.010 16.64 7.4.6 0.007 0.010 16.74 7.4.5 0.003 0.006 16.74 7.4.4 0.013 0.007 16.66 7.4.3 0.004 0.013 16.81 7.4.0 0.002 0.016 15.04 7.3.33 0.004 0.004 13.43 7.3.32 0.005 0.000 13.65 7.3.31 0.004 0.004 16.67 7.3.30 0.000 0.007 16.61 7.3.29 0.013 0.003 16.70 7.3.28 0.008 0.007 16.66 7.3.27 0.015 0.011 17.40 7.3.26 0.009 0.012 16.56 7.3.25 0.009 0.011 16.79 7.3.24 0.009 0.016 16.68 7.3.23 0.009 0.009 16.65 7.3.21 0.007 0.011 16.75 7.3.20 0.006 0.010 16.66 7.3.19 0.007 0.011 16.86 7.3.18 0.007 0.010 16.69 7.3.17 0.011 0.007 16.78 7.3.16 0.003 0.013 16.75 7.3.12 0.005 0.013 15.07 7.3.11 0.003 0.013 15.11 7.3.10 0.005 0.011 15.13 7.3.9 0.004 0.009 14.97 7.3.8 0.008 0.008 15.08 7.3.7 0.002 0.011 15.06 7.3.6 0.002 0.011 15.04 7.3.5 0.004 0.009 14.96 7.3.4 0.010 0.006 14.89 7.3.3 0.003 0.013 15.04 7.3.2 0.006 0.006 16.65 7.3.1 0.012 0.003 16.78 7.3.0 0.005 0.010 16.58 7.2.33 0.014 0.004 17.00 7.2.32 0.010 0.013 16.70 7.2.31 0.003 0.015 16.86 7.2.30 0.010 0.010 16.89 7.2.29 0.013 0.006 17.06 7.2.25 0.006 0.009 15.61 7.2.24 0.008 0.011 15.33 7.2.23 0.006 0.006 15.40 7.2.22 0.006 0.009 15.53 7.2.21 0.004 0.009 15.47 7.2.20 0.004 0.011 15.43 7.2.19 0.011 0.008 15.19 7.2.18 0.003 0.014 15.26 7.2.17 0.008 0.011 15.46 7.2.16 0.003 0.014 15.36 7.2.15 0.010 0.007 16.71 7.2.14 0.011 0.007 16.97 7.2.13 0.006 0.006 17.14 7.2.12 0.010 0.007 16.94 7.2.11 0.004 0.008 17.12 7.2.10 0.013 0.003 16.71 7.2.9 0.006 0.009 16.93 7.2.8 0.004 0.008 16.95 7.2.7 0.007 0.010 16.80 7.2.6 0.006 0.009 17.03 7.2.5 0.004 0.014 17.05 7.2.4 0.006 0.010 17.14 7.2.3 0.000 0.014 16.86 7.2.2 0.012 0.003 16.90 7.2.1 0.004 0.014 16.86 7.2.0 0.009 0.009 18.13 7.1.33 0.002 0.013 15.74 7.1.32 0.006 0.008 15.78 7.1.31 0.002 0.013 15.92 7.1.30 0.010 0.006 15.89 7.1.29 0.008 0.005 15.71 7.1.28 0.005 0.009 15.83 7.1.27 0.008 0.006 15.72 7.1.26 0.005 0.011 15.75 7.1.25 0.000 0.016 15.91 7.1.20 0.003 0.012 15.83 7.1.10 0.010 0.007 18.44 7.1.7 0.003 0.005 17.13 7.1.6 0.013 0.006 19.40 7.1.5 0.010 0.007 34.61 7.1.0 0.000 0.080 22.46 7.0.20 0.097 0.009 15.13 7.0.14 0.007 0.067 22.21 7.0.10 0.013 0.073 20.11 7.0.9 0.000 0.077 20.12 7.0.8 0.000 0.080 20.14 7.0.7 0.013 0.077 20.20 7.0.6 0.010 0.080 19.98 7.0.5 0.023 0.070 20.58 7.0.4 0.010 0.077 20.00 7.0.3 0.003 0.087 20.04 7.0.2 0.007 0.083 19.96 7.0.1 0.003 0.090 20.14 7.0.0 0.017 0.077 20.00 5.6.28 0.003 0.073 20.95 5.6.25 0.003 0.087 20.75 5.6.24 0.007 0.053 20.75 5.6.23 0.010 0.077 20.62 5.6.22 0.013 0.077 20.79 5.6.21 0.007 0.083 20.63 5.6.20 0.017 0.073 21.18 5.6.19 0.010 0.053 21.21 5.6.18 0.007 0.087 21.25 5.6.17 0.003 0.057 21.21 5.6.16 0.017 0.077 21.18 5.6.15 0.017 0.077 21.14 5.6.14 0.007 0.080 21.27 5.6.13 0.013 0.080 21.08 5.6.12 0.013 0.073 21.18 5.6.11 0.007 0.080 21.23 5.6.10 0.000 0.083 21.20 5.6.9 0.013 0.080 21.12 5.6.8 0.010 0.073 20.54 5.6.7 0.010 0.077 20.52 5.6.6 0.003 0.083 20.53 5.6.5 0.003 0.080 20.54 5.6.4 0.007 0.080 20.54 5.6.3 0.010 0.080 20.57 5.6.2 0.017 0.040 20.45 5.6.1 0.020 0.063 20.50 5.6.0 0.020 0.073 20.50 5.5.38 0.017 0.077 20.48 5.5.37 0.007 0.083 20.66 5.5.36 0.007 0.083 20.59 5.5.35 0.003 0.080 20.52 5.5.34 0.010 0.077 21.04 5.5.33 0.003 0.080 20.87 5.5.32 0.010 0.077 20.96 5.5.31 0.013 0.097 21.06 5.5.30 0.000 0.093 20.93 5.5.29 0.007 0.080 21.00 5.5.28 0.007 0.047 20.77 5.5.27 0.020 0.070 20.96 5.5.26 0.000 0.073 21.00 5.5.25 0.007 0.083 20.74 5.5.24 0.003 0.080 20.35 5.5.23 0.000 0.087 20.44 5.5.22 0.010 0.067 20.43 5.5.21 0.017 0.067 20.24 5.5.20 0.003 0.087 20.22 5.5.19 0.003 0.083 20.13 5.5.18 0.010 0.070 20.29 5.5.16 0.003 0.077 20.27 5.5.15 0.017 0.073 20.32 5.5.14 0.007 0.077 20.24 5.5.13 0.007 0.050 20.37 5.5.12 0.007 0.077 20.31 5.5.11 0.000 0.083 20.28 5.5.10 0.010 0.063 20.21 5.5.9 0.010 0.077 20.30 5.5.8 0.007 0.080 20.20 5.5.7 0.010 0.067 20.23 5.5.6 0.003 0.077 20.23 5.5.5 0.000 0.090 20.18 5.5.4 0.003 0.083 20.29 5.5.3 0.007 0.047 20.09 5.5.2 0.010 0.073 20.23 5.5.1 0.007 0.077 20.18 5.5.0 0.003 0.080 20.16 5.4.45 0.010 0.073 19.43 5.4.44 0.013 0.073 19.25 5.4.43 0.000 0.067 19.42 5.4.42 0.007 0.050 19.42 5.4.41 0.003 0.080 19.35 5.4.40 0.003 0.053 19.12 5.4.39 0.007 0.080 19.11 5.4.38 0.010 0.077 18.95 5.4.37 0.000 0.073 19.25 5.4.36 0.010 0.077 19.25 5.4.35 0.003 0.080 19.28 5.4.34 0.003 0.053 18.96 5.4.32 0.017 0.070 19.28 5.4.31 0.000 0.057 19.15 5.4.30 0.003 0.043 19.23 5.4.29 0.003 0.083 19.14 5.4.28 0.007 0.080 19.25 5.4.27 0.013 0.063 19.18 5.4.26 0.003 0.050 19.09 5.4.25 0.003 0.077 18.93 5.4.24 0.010 0.073 19.27 5.4.23 0.007 0.040 19.27 5.4.22 0.007 0.080 18.99 5.4.21 0.013 0.070 18.96 5.4.20 0.003 0.080 18.95 5.4.19 0.010 0.080 19.16 5.4.18 0.007 0.077 19.09 5.4.17 0.010 0.063 19.09 5.4.16 0.013 0.070 19.08 5.4.15 0.007 0.077 19.02 5.4.14 0.003 0.073 16.48 5.4.13 0.010 0.067 16.56 5.4.12 0.003 0.073 16.55 5.4.11 0.010 0.070 16.55 5.4.10 0.007 0.080 16.58 5.4.9 0.007 0.070 16.61 5.4.8 0.010 0.067 16.44 5.4.7 0.003 0.053 16.54 5.4.6 0.003 0.070 16.53 5.4.5 0.003 0.043 16.40 5.4.4 0.010 0.033 16.55 5.4.3 0.003 0.043 16.52 5.4.2 0.007 0.070 16.52 5.4.1 0.010 0.067 16.51 5.4.0 0.010 0.040 16.05
preferences:dark mode live preview
42.64 ms | 400 KiB | 5 Q