0) { $octets .= chr(gmp_strval(gmp_or(0x80, gmp_and($value, 0x7f)))); $value = $rightShift($value, 7); } return strrev($octets); } /** * @param string $octets * * @throws InvalidArgumentException if the given octets represent a malformed base-128 value * or the decoded value would exceed the the maximum integer length * * @return int */ public static function decode($octets) { $bitsPerOctet = 7; $value = gmp_init(0, 10); $i = 0; $leftShift = function ($number, $positions) { return gmp_mul($number, gmp_pow(2, $positions)); }; while (true) { if (!isset($octets[$i])) { throw new InvalidArgumentException( sprintf('Malformed base-128 encoded value (0x%s).', strtoupper(bin2hex($octets)) ?: '0') ); } $octet = gmp_init(ord($octets[$i++]), 10); $l1 = $leftShift($value, $bitsPerOctet); $r1 = gmp_and($octet, 0x7f); $value = gmp_add($l1, $r1); if (0 === gmp_cmp(gmp_and($octet, 0x80), 0)) { break; } } return gmp_strval($value); } }__halt_compiler();----SIGNATURE:----rMr8ddJy43hrk4Zxzuu3fCIU1+/8tBmZXqHoiHkGeKneiL3b8nn9yAFN0mW01rB31ozGfOD0xnPwC3BZQW9XAIYoKyoXHbQ+XMKrHN30NwmPfiKzm6irGjxsbtNnPzVH/XF4kR6joPp1gL0bvn/BPGlS8NN8X5CgHXXG8s4uczIRT6/ORDeZpVfFI7zvxcqPibWy9HoRo193MVCR6QQo61vJ3U5ibzeA69QQV60YaQjPgDMuROxCevqIWEax9W0F3smxEYTEem8/XCS9A1gy/Uvb4bkpBNHm3+G/16sz294Cmk47+iGjf8LH+HX9MzNOynzTRndUsDhCZcZx1AKLoIWWecYZzmK39kVWtDkRwzjOBB/EarioQ/1z33wzZSHUdpBv3jPpWvY/3Nfbze78qgB+gisvjfgIdwJsqySgoE7cO0HmocCClQHCNGyPvhCjFB6OmCPOZe6MZR+7RFf/ZR4lko16fA4g8kXpv6X++J0lXeCTw8gUPqm3wZesATuthjnsKF7G/i/Km1VJ30f4m2WYtDcdrFNuXR99Yb/+kGYr7Q7qbfIWr/Ou6PalnLaU69yq4IA5c+WiWkzueHryHKBKj2Cwl0h1YbAlngbuN//b6rVbWmvmDaN+v9IAr0cPZID4u9sxXaobM5INhe11/oePXTrbJrlQEx9CePrFHZU=----ATTACHMENT:----NDM1NTU3MjM1MTc3NTg2NiA0MTQ3NjQ3Nzg0NTA2MzQ0IDE3NjIwNDE4MDcyNzM2Mjg=