Advertisement
Guest User

Untitled

a guest
May 28th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.hurlant.math
  2. {
  3.     import _-0zz.*;
  4.     import _-1qK.*;
  5.     import _-2Lw.*;
  6.     import _-Hv.*;
  7.     import _-Ih.*;
  8.     import flash.utils.*;
  9.  
  10.     public class BigInteger extends Object
  11.     {
  12.         var a:Array;
  13.         var s:int;
  14.         public var t:int;
  15.         public static const _-0hK:BigInteger = _-1-f(1);
  16.         public static const _-1y5:BigInteger = _-1-f(0);
  17.         public static const _-1HA:int = _-27c - 1;
  18.         public static const F1:int = 22;
  19.         public static const F2:int = 8;
  20.         public static const _-0rE:int = (1 << 26) / _-1y-[(_-1y-.length - 1)];
  21.         public static const _-1y-:Array = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509];
  22.         public static const _-113:Number = Math.pow(2, _-2F);
  23.         public static const _-2F:int = 52;
  24.         public static const _-27c:int = 1 << _-11j;
  25.         public static const _-11j:int = 30;
  26.  
  27.         public function BigInteger(param1 = null, param2:int = 0)
  28.         {
  29.             var _loc_3:ByteArray = null;
  30.             var _loc_4:int = 0;
  31.             a = new Array();
  32.             if (param1 is String)
  33.             {
  34.                 param1 = Hex._-td(param1);
  35.                 param2 = 0;
  36.             }
  37.             if (param1 is ByteArray)
  38.             {
  39.                 _loc_3 = param1 as ByteArray;
  40.                 _loc_4 = param2 || _loc_3.length - _loc_3.position;
  41.                 _-7S(_loc_3, _loc_4);
  42.             }
  43.             return;
  44.         }
  45.  
  46.         public function _-SP(param1:int) : BigInteger
  47.         {
  48.             return _-S2(param1, _-0CO);
  49.         }
  50.  
  51.         private function _-5-(param1:int, param2:int) : int
  52.         {
  53.             return param1 | param2;
  54.         }
  55.  
  56.         public function _-0KD() : BigInteger
  57.         {
  58.             var _loc_1:* = _-0mG();
  59.             _-1y5._-11m(this, _loc_1);
  60.             return _loc_1;
  61.         }
  62.  
  63.         public function _-0mP(param1:BigInteger) : BigInteger
  64.         {
  65.             var _loc_2:* = new BigInteger();
  66.             _-2Cx(param1, _-0CO, _loc_2);
  67.             return _loc_2;
  68.         }
  69.  
  70.         public function _-1nq(param1:BigInteger, param2:BigInteger) : BigInteger
  71.         {
  72.             var _loc_4:int = 0;
  73.             var _loc_6:_-0Rn = null;
  74.             var _loc_12:int = 0;
  75.             var _loc_15:BigInteger = null;
  76.             var _loc_16:BigInteger = null;
  77.             var _loc_3:* = param1._-1g6();
  78.             var _loc_5:* = _-1-f(1);
  79.             if (_loc_3 <= 0)
  80.             {
  81.                 return _loc_5;
  82.             }
  83.             if (_loc_3 < 18)
  84.             {
  85.                 _loc_4 = 1;
  86.             }
  87.             else if (_loc_3 < 48)
  88.             {
  89.                 _loc_4 = 3;
  90.             }
  91.             else if (_loc_3 < 144)
  92.             {
  93.                 _loc_4 = 4;
  94.             }
  95.             else if (_loc_3 < 768)
  96.             {
  97.                 _loc_4 = 5;
  98.             }
  99.             else
  100.             {
  101.                 _loc_4 = 6;
  102.             }
  103.             if (_loc_3 < 8)
  104.             {
  105.                 _loc_6 = new _-002(param2);
  106.             }
  107.             else if (param2._-0n7())
  108.             {
  109.                 _loc_6 = new _-2BM(param2);
  110.             }
  111.             else
  112.             {
  113.                 _loc_6 = new _-26X(param2);
  114.             }
  115.             var _loc_7:Array = [];
  116.             var _loc_8:int = 3;
  117.             var _loc_9:* = _loc_4 - 1;
  118.             var _loc_10:* = (1 << _loc_4) - 1;
  119.             _loc_7[1] = _loc_6._-23a(this);
  120.             if (_loc_4 > 1)
  121.             {
  122.                 _loc_16 = new BigInteger();
  123.                 _loc_6._-ou(_loc_7[1], _loc_16);
  124.                 while (_loc_8 <= _loc_10)
  125.                 {
  126.                    
  127.                     _loc_7[_loc_8] = new BigInteger();
  128.                     _loc_6._-0ch(_loc_16, _loc_7[_loc_8 - 2], _loc_7[_loc_8]);
  129.                     _loc_8 = _loc_8 + 2;
  130.                 }
  131.             }
  132.             var _loc_11:* = param1.t - 1;
  133.             var _loc_13:Boolean = true;
  134.             var _loc_14:* = new BigInteger();
  135.             _loc_3 = _-2K1(param1.a[_loc_11]) - 1;
  136.             while (_loc_11 >= 0)
  137.             {
  138.                
  139.                 if (_loc_3 >= _loc_9)
  140.                 {
  141.                     _loc_12 = param1.a[_loc_11] >> _loc_3 - _loc_9 & _loc_10;
  142.                 }
  143.                 else
  144.                 {
  145.                     _loc_12 = (param1.a[_loc_11] & (1 << (_loc_3 + 1)) - 1) << _loc_9 - _loc_3;
  146.                     if (_loc_11 > 0)
  147.                     {
  148.                         _loc_12 = _loc_12 | param1.a[(_loc_11 - 1)] >> _-11j + _loc_3 - _loc_9;
  149.                     }
  150.                 }
  151.                 _loc_8 = _loc_4;
  152.                 while ((_loc_12 & 1) == 0)
  153.                 {
  154.                    
  155.                     _loc_12 = _loc_12 >> 1;
  156.                     _loc_8 = _loc_8 - 1;
  157.                 }
  158.                 var _loc_17:* = _loc_3 - _loc_8;
  159.                 _loc_3 = _loc_3 - _loc_8;
  160.                 if (_loc_17 < 0)
  161.                 {
  162.                     _loc_3 = _loc_3 + _-11j;
  163.                     _loc_11 = _loc_11 - 1;
  164.                 }
  165.                 if (_loc_13)
  166.                 {
  167.                     _loc_7[_loc_12].copyTo(_loc_5);
  168.                     _loc_13 = false;
  169.                 }
  170.                 else
  171.                 {
  172.                     while (_loc_8 > 1)
  173.                     {
  174.                        
  175.                         _loc_6._-ou(_loc_5, _loc_14);
  176.                         _loc_6._-ou(_loc_14, _loc_5);
  177.                         _loc_8 = _loc_8 - 2;
  178.                     }
  179.                     if (_loc_8 > 0)
  180.                     {
  181.                         _loc_6._-ou(_loc_5, _loc_14);
  182.                     }
  183.                     else
  184.                     {
  185.                         _loc_15 = _loc_5;
  186.                         _loc_5 = _loc_14;
  187.                         _loc_14 = _loc_15;
  188.                     }
  189.                     _loc_6._-0ch(_loc_14, _loc_7[_loc_12], _loc_5);
  190.                 }
  191.                 while (_loc_11 >= 0 && (param1.a[_loc_11] & 1 << --_loc_3) == 0)
  192.                 {
  193.                    
  194.                     _loc_6._-ou(_loc_5, _loc_14);
  195.                     _loc_15 = _loc_5;
  196.                     _loc_5 = _loc_14;
  197.                     _loc_14 = _loc_15;
  198.                     if (--_loc_3 < 0)
  199.                     {
  200.                         --_loc_3 = _-11j - 1;
  201.                         _loc_11 = _loc_11 - 1;
  202.                     }
  203.                 }
  204.             }
  205.             return _loc_6._-0o-(_loc_5);
  206.         }
  207.  
  208.         public function _-F(param1:int) : Boolean
  209.         {
  210.             var _loc_2:int = 0;
  211.             var _loc_4:int = 0;
  212.             var _loc_5:int = 0;
  213.             var _loc_3:* = abs();
  214.             if (_loc_3.t == 1 && _loc_3.a[0] <= _-1y-[(_-1y-.length - 1)])
  215.             {
  216.                 _loc_2 = 0;
  217.                 while (_loc_2 < _-1y-.length)
  218.                 {
  219.                    
  220.                     if (_loc_3[0] == _-1y-[_loc_2])
  221.                     {
  222.                         return true;
  223.                     }
  224.                     _loc_2++;
  225.                 }
  226.                 return false;
  227.             }
  228.             if (_loc_3._-0n7())
  229.             {
  230.                 return false;
  231.             }
  232.             _loc_2 = 1;
  233.             while (_loc_2 < _-1y-.length)
  234.             {
  235.                
  236.                 _loc_4 = _-1y-[_loc_2];
  237.                 _loc_5 = _loc_2 + 1;
  238.                 while (_loc_5 < _-1y-.length && _loc_4 < _-0rE)
  239.                 {
  240.                    
  241.                     _loc_4 = _loc_4 * _-1y-[_loc_5++];
  242.                 }
  243.                 _loc_4 = _loc_3._-2E1(_loc_4);
  244.                 while (_loc_2 < _loc_5)
  245.                 {
  246.                    
  247.                     if (_loc_4 % _-1y-[_loc_2++] == 0)
  248.                     {
  249.                         return false;
  250.                     }
  251.                 }
  252.             }
  253.             return _loc_3._-xk(param1);
  254.         }
  255.  
  256.         public function _-0EK(param1:BigInteger) : BigInteger
  257.         {
  258.             var _loc_2:* = new BigInteger();
  259.             _-1Eh(param1, _loc_2, null);
  260.             return _loc_2;
  261.         }
  262.  
  263.         public function mod(param1:BigInteger) : BigInteger
  264.         {
  265.             var _loc_2:* = _-0mG();
  266.             abs()._-1Eh(param1, null, _loc_2);
  267.             if (s < 0 && _loc_2.compareTo(_-1y5) > 0)
  268.             {
  269.                 param1._-11m(_loc_2, _loc_2);
  270.             }
  271.             return _loc_2;
  272.         }
  273.  
  274.         public function _-Ad(param1:BigInteger, param2:BigInteger) : void
  275.         {
  276.             var _loc_3:int = 0;
  277.             var _loc_4:int = 0;
  278.             var _loc_5:* = Math.min(param1.t, t);
  279.             while (_loc_3 < _loc_5)
  280.             {
  281.                
  282.                 _loc_4 = _loc_4 + (this.a[_loc_3] + param1.a[_loc_3]);
  283.                 param2.a[++_loc_3] = _loc_4 & _-1HA;
  284.                 _loc_4 = _loc_4 >> _-11j;
  285.             }
  286.             if (param1.t < t)
  287.             {
  288.                 _loc_4 = _loc_4 + param1.s;
  289.                 while (_loc_3 < t)
  290.                 {
  291.                    
  292.                     _loc_4 = _loc_4 + this.a[_loc_3];
  293.                     param2.a[++_loc_3] = _loc_4 & _-1HA;
  294.                     _loc_4 = _loc_4 >> _-11j;
  295.                 }
  296.                 _loc_4 = _loc_4 + s;
  297.             }
  298.             else
  299.             {
  300.                 _loc_4 = _loc_4 + s;
  301.                 while (_loc_3 < param1.t)
  302.                 {
  303.                    
  304.                     _loc_4 = _loc_4 + param1.a[_loc_3];
  305.                     param2.a[++_loc_3] = _loc_4 & _-1HA;
  306.                     _loc_4 = _loc_4 >> _-11j;
  307.                 }
  308.                 _loc_4 = _loc_4 + param1.s;
  309.             }
  310.             param2.s = _loc_4 < 0 ? (-1) : (0);
  311.             if (_loc_4 > 0)
  312.             {
  313.                 param2.a[++_loc_3] = _loc_4;
  314.             }
  315.             else if (_loc_4 < -1)
  316.             {
  317.                 param2.a[++_loc_3] = _-27c + _loc_4;
  318.             }
  319.             param2.t = _loc_3;
  320.             param2._-0x5();
  321.             return;
  322.         }
  323.  
  324.         public function _-2Cx(param1:BigInteger, param2:Function, param3:BigInteger) : void
  325.         {
  326.             var _loc_4:int = 0;
  327.             var _loc_5:int = 0;
  328.             var _loc_6:* = Math.min(param1.t, t);
  329.             _loc_4 = 0;
  330.             while (_loc_4 < _loc_6)
  331.             {
  332.                
  333.                 param3.a[_loc_4] = this.param2(this.a[_loc_4], param1.a[_loc_4]);
  334.                 _loc_4++;
  335.             }
  336.             if (param1.t < t)
  337.             {
  338.                 _loc_5 = param1.s & _-1HA;
  339.                 _loc_4 = _loc_6;
  340.                 while (_loc_4 < t)
  341.                 {
  342.                    
  343.                     param3.a[_loc_4] = this.param2(this.a[_loc_4], _loc_5);
  344.                     _loc_4++;
  345.                 }
  346.                 param3.t = t;
  347.             }
  348.             else
  349.             {
  350.                 _loc_5 = s & _-1HA;
  351.                 _loc_4 = _loc_6;
  352.                 while (_loc_4 < param1.t)
  353.                 {
  354.                    
  355.                     param3.a[_loc_4] = this.param2(_loc_5, param1.a[_loc_4]);
  356.                     _loc_4++;
  357.                 }
  358.                 param3.t = param1.t;
  359.             }
  360.             param3.s = this.param2(s, param1.s);
  361.             param3._-0x5();
  362.             return;
  363.         }
  364.  
  365.         public function _-2E1(param1:int) : int
  366.         {
  367.             var _loc_4:int = 0;
  368.             if (param1 <= 0)
  369.             {
  370.                 return 0;
  371.             }
  372.             var _loc_2:* = _-27c % param1;
  373.             var _loc_3:* = s < 0 ? ((param1 - 1)) : (0);
  374.             if (t > 0)
  375.             {
  376.                 if (_loc_2 == 0)
  377.                 {
  378.                     _loc_3 = a[0] % param1;
  379.                 }
  380.                 else
  381.                 {
  382.                     _loc_4 = t - 1;
  383.                     while (_loc_4 >= 0)
  384.                     {
  385.                        
  386.                         _loc_3 = (_loc_2 * _loc_3 + a[_loc_4]) % param1;
  387.                         _loc_4 = _loc_4 - 1;
  388.                     }
  389.                 }
  390.             }
  391.             return _loc_3;
  392.         }
  393.  
  394.         public function _-0ww(param1:Number) : int
  395.         {
  396.             return Math.floor(Math.LN2 * _-11j / Math.log(param1));
  397.         }
  398.  
  399.         public function _-0Kt(param1:BigInteger) : BigInteger
  400.         {
  401.             var _loc_6:BigInteger = null;
  402.             var _loc_2:* = s < 0 ? (_-0KD()) : (clone());
  403.             var _loc_3:* = param1.s < 0 ? (param1._-0KD()) : (param1.clone());
  404.             if (_loc_2.compareTo(_loc_3) < 0)
  405.             {
  406.                 _loc_6 = _loc_2;
  407.                 _loc_2 = _loc_3;
  408.                 _loc_3 = _loc_6;
  409.             }
  410.             var _loc_4:* = _loc_2._-0S6();
  411.             var _loc_5:* = _loc_3._-0S6();
  412.             if (_loc_5 < 0)
  413.             {
  414.                 return _loc_2;
  415.             }
  416.             if (_loc_4 < _loc_5)
  417.             {
  418.                 _loc_5 = _loc_4;
  419.             }
  420.             if (_loc_5 > 0)
  421.             {
  422.                 _loc_2._-5x(_loc_5, _loc_2);
  423.                 _loc_3._-5x(_loc_5, _loc_3);
  424.             }
  425.             while (_loc_2._-08u() > 0)
  426.             {
  427.                
  428.                 var _loc_7:* = _loc_2._-0S6();
  429.                 _loc_4 = _loc_2._-0S6();
  430.                 if (_loc_7 > 0)
  431.                 {
  432.                     _loc_2._-5x(_loc_4, _loc_2);
  433.                 }
  434.                 var _loc_7:* = _loc_3._-0S6();
  435.                 _loc_4 = _loc_3._-0S6();
  436.                 if (_loc_7 > 0)
  437.                 {
  438.                     _loc_3._-5x(_loc_4, _loc_3);
  439.                 }
  440.                 if (_loc_2.compareTo(_loc_3) >= 0)
  441.                 {
  442.                     _loc_2._-11m(_loc_3, _loc_2);
  443.                     _loc_2._-5x(1, _loc_2);
  444.                     continue;
  445.                 }
  446.                 _loc_3._-11m(_loc_2, _loc_3);
  447.                 _loc_3._-5x(1, _loc_3);
  448.             }
  449.             if (_loc_5 > 0)
  450.             {
  451.                 _loc_3._-1CD(_loc_5, _loc_3);
  452.             }
  453.             return _loc_3;
  454.         }
  455.  
  456.         function _-2FR(param1:int, param2:int) : void
  457.         {
  458.             while (t <= param2)
  459.             {
  460.                
  461.                 var _loc_3:* = t + 1;
  462.                 a[_loc_3] = 0;
  463.             }
  464.             a[param2] = a[param2] + param1;
  465.             while (a[_loc_2] >= _-27c)
  466.             {
  467.                
  468.                 a[param2] = a[param2] - _-27c;
  469.                 if (++param2 >= t)
  470.                 {
  471.                     var _loc_3:* = t + 1;
  472.                     a[_loc_3] = 0;
  473.                 }
  474.                 var _loc_3:* = a;
  475.                 var _loc_5:* = a[++param2] + 1;
  476.                 _loc_3[++param2] = _loc_5;
  477.             }
  478.             return;
  479.         }
  480.  
  481.         function _-1CD(param1:int, param2:BigInteger) : void
  482.         {
  483.             var _loc_8:int = 0;
  484.             var _loc_3:* = param1 % _-11j;
  485.             var _loc_4:* = _-11j - _loc_3;
  486.             var _loc_5:* = (1 << _loc_4) - 1;
  487.             var _loc_6:* = param1 / _-11j;
  488.             var _loc_7:* = s << _loc_3 & _-1HA;
  489.             _loc_8 = t - 1;
  490.             while (_loc_8 >= 0)
  491.             {
  492.                
  493.                 param2.a[_loc_8 + _loc_6 + 1] = a[_loc_8] >> _loc_4 | _loc_7;
  494.                 _loc_7 = (a[_loc_8] & _loc_5) << _loc_3;
  495.                 _loc_8 = _loc_8 - 1;
  496.             }
  497.             _loc_8 = _loc_6 - 1;
  498.             while (_loc_8 >= 0)
  499.             {
  500.                
  501.                 param2.a[_loc_8] = 0;
  502.                 _loc_8 = _loc_8 - 1;
  503.             }
  504.             param2.a[_loc_6] = _loc_7;
  505.             param2.t = t + _loc_6 + 1;
  506.             param2.s = s;
  507.             param2._-0x5();
  508.             return;
  509.         }
  510.  
  511.         public function _-0S6() : int
  512.         {
  513.             var _loc_1:int = 0;
  514.             while (_loc_1 < t)
  515.             {
  516.                
  517.                 if (a[_loc_1] != 0)
  518.                 {
  519.                     return _loc_1 * _-11j + _-2Aw(a[_loc_1]);
  520.                 }
  521.                 _loc_1++;
  522.             }
  523.             if (s < 0)
  524.             {
  525.                 return t * _-11j;
  526.             }
  527.             return -1;
  528.         }
  529.  
  530.         public function subtract(param1:BigInteger) : BigInteger
  531.         {
  532.             var _loc_2:* = new BigInteger();
  533.             _-11m(param1, _loc_2);
  534.             return _loc_2;
  535.         }
  536.  
  537.         public function _-0oP(param1:int, param2:int) : void
  538.         {
  539.             if (!_-ym((param1 - 1)))
  540.             {
  541.                 _-2Cx(BigInteger._-0hK._-20b((param1 - 1)), _-5-, this);
  542.             }
  543.             if (_-0n7())
  544.             {
  545.                 _-2FR(1, 0);
  546.             }
  547.             while (!_-F(param2))
  548.             {
  549.                
  550.                 _-2FR(2, 0);
  551.                 while (_-1g6() > param1)
  552.                 {
  553.                    
  554.                     _-11m(BigInteger._-0hK._-20b((param1 - 1)), this);
  555.                 }
  556.             }
  557.             return;
  558.         }
  559.  
  560.         function _-0id(param1:BigInteger, param2:int, param3:BigInteger) : void
  561.         {
  562.             var _loc_5:int = 0;
  563.             var _loc_4:* = Math.min(t + param1.t, param2);
  564.             param3.s = 0;
  565.             param3.t = _loc_4;
  566.             while (--_loc_4 > 0)
  567.             {
  568.                
  569.                 param3.a[--_loc_4] = 0;
  570.             }
  571.             _loc_5 = param3.t - t;
  572.             while (_loc_4 < _loc_5)
  573.             {
  574.                
  575.                 param3.a[_loc_4 + t] = _-7i(0, param1.a[_loc_4], param3, _loc_4, 0, t);
  576.                 _loc_4++;
  577.             }
  578.             _loc_5 = Math.min(param1.t, param2);
  579.             while (_loc_4 < _loc_5)
  580.             {
  581.                
  582.                 _-7i(0, param1.a[_loc_4], param3, _loc_4, 0, param2 - _loc_4);
  583.                 _loc_4++;
  584.             }
  585.             param3._-0x5();
  586.             return;
  587.         }
  588.  
  589.         public function _-0uK(param1:int, param2:BigInteger) : BigInteger
  590.         {
  591.             var _loc_3:_-0Rn = null;
  592.             if (param1 < 256 || param2._-0n7())
  593.             {
  594.                 _loc_3 = new _-002(param2);
  595.             }
  596.             else
  597.             {
  598.                 _loc_3 = new _-26X(param2);
  599.             }
  600.             return _-fl(param1, _loc_3);
  601.         }
  602.  
  603.         function _-lk(param1:String, param2:int) : int
  604.         {
  605.             return parseInt(param1.charAt(param2), 36);
  606.         }
  607.  
  608.         public function _-ym(param1:int) : Boolean
  609.         {
  610.             var _loc_2:* = Math.floor(param1 / _-11j);
  611.             if (_loc_2 >= t)
  612.             {
  613.                 return s != 0;
  614.             }
  615.             return (a[_loc_2] & 1 << param1 % _-11j) != 0;
  616.         }
  617.  
  618.         function _-fl(param1:int, param2:_-0Rn) : BigInteger
  619.         {
  620.             var _loc_7:BigInteger = null;
  621.             if (param1 > 4294967295 || param1 < 1)
  622.             {
  623.                 return _-0hK;
  624.             }
  625.             var _loc_3:* = _-0mG();
  626.             var _loc_4:* = _-0mG();
  627.             var _loc_5:* = param2._-23a(this);
  628.             var _loc_6:* = _-2K1(param1) - 1;
  629.             _loc_5.copyTo(_loc_3);
  630.             while (--_loc_6 >= 0)
  631.             {
  632.                
  633.                 param2._-ou(_loc_3, _loc_4);
  634.                 if ((param1 & 1 << _loc_6) > 0)
  635.                 {
  636.                     param2._-0ch(_loc_4, _loc_5, _loc_3);
  637.                     continue;
  638.                 }
  639.                 _loc_7 = _loc_3;
  640.                 _loc_3 = _loc_4;
  641.                 _loc_4 = _loc_7;
  642.             }
  643.             return param2._-0o-(_loc_3);
  644.         }
  645.  
  646.         public function _-td(param1:ByteArray) : uint
  647.         {
  648.             var _loc_2:int = 8;
  649.             var _loc_3:* = (1 << 8) - 1;
  650.             var _loc_4:int = 0;
  651.             var _loc_5:* = t;
  652.             var _loc_6:* = _-11j - _loc_5 * _-11j % _loc_2;
  653.             var _loc_7:Boolean = false;
  654.             var _loc_8:int = 0;
  655.             if (_loc_5-- > 0)
  656.             {
  657.                 var _loc_9:* = a[_loc_5] >> _loc_6;
  658.                 _loc_4 = a[_loc_5] >> _loc_6;
  659.                 if (_loc_6 < _-11j && _loc_9 > 0)
  660.                 {
  661.                     _loc_7 = true;
  662.                     param1.writeByte(_loc_4);
  663.                     _loc_8++;
  664.                 }
  665.                 while (_loc_5 >= 0)
  666.                 {
  667.                    
  668.                     if (_loc_6 < _loc_2)
  669.                     {
  670.                         _loc_4 = (a[_loc_5] & (1 << _loc_6) - 1) << _loc_2 - _loc_6;
  671.                         var _loc_9:* = _loc_6 + (_-11j - _loc_2);
  672.                         _loc_6 = _loc_6 + (_-11j - _loc_2);
  673.                         _loc_4 = _loc_4 | a[--_loc_5] >> _loc_9;
  674.                     }
  675.                     else
  676.                     {
  677.                         var _loc_9:* = _loc_6 - _loc_2;
  678.                         _loc_6 = _loc_6 - _loc_2;
  679.                         _loc_4 = a[--_loc_5] >> _loc_9 & _loc_3;
  680.                         if (_loc_6 <= 0)
  681.                         {
  682.                             _loc_6 = _loc_6 + _-11j;
  683.                             _loc_5 = _loc_5 - 1;
  684.                         }
  685.                     }
  686.                     if (_loc_4 > 0)
  687.                     {
  688.                         _loc_7 = true;
  689.                     }
  690.                     if (_loc_7)
  691.                     {
  692.                         param1.writeByte(_loc_4);
  693.                         _loc_8++;
  694.                     }
  695.                 }
  696.             }
  697.             return _loc_8;
  698.         }
  699.  
  700.         public function dispose() : void
  701.         {
  702.             var _loc_1:* = new _-1fe();
  703.             var _loc_2:uint = 0;
  704.             while (_loc_2 < a.length)
  705.             {
  706.                
  707.                 a[_loc_2] = _loc_1._-0mm();
  708.                 delete a[_loc_2];
  709.                 _loc_2 = _loc_2 + 1;
  710.             }
  711.             a = null;
  712.             t = 0;
  713.             s = 0;
  714.             _-wA._-1Gn();
  715.             return;
  716.         }
  717.  
  718.         private function _-2Aw(param1:int) : int
  719.         {
  720.             if (param1 == 0)
  721.             {
  722.                 return -1;
  723.             }
  724.             var _loc_2:int = 0;
  725.             if ((param1 & 65535) == 0)
  726.             {
  727.                 param1 = param1 >> 16;
  728.                 _loc_2 = _loc_2 + 16;
  729.             }
  730.             if ((param1 & 255) == 0)
  731.             {
  732.                 param1 = param1 >> 8;
  733.                 _loc_2 = _loc_2 + 8;
  734.             }
  735.             if ((param1 & 15) == 0)
  736.             {
  737.                 param1 = param1 >> 4;
  738.                 _loc_2 = _loc_2 + 4;
  739.             }
  740.             if ((param1 & 3) == 0)
  741.             {
  742.                 param1 = param1 >> 2;
  743.                 _loc_2 = _loc_2 + 2;
  744.             }
  745.             if ((param1 & 1) == 0)
  746.             {
  747.                 _loc_2++;
  748.             }
  749.             return _loc_2;
  750.         }
  751.  
  752.         function _-1Eh(param1:BigInteger, param2:BigInteger = null, param3:BigInteger = null) : void
  753.         {
  754.             var qd:int;
  755.             var m:* = param1;
  756.             var q:* = param2;
  757.             var r:* = param3;
  758.             var pm:* = m.abs();
  759.             if (pm.t <= 0)
  760.             {
  761.                 return;
  762.             }
  763.             var pt:* = abs();
  764.             if (pt.t < pm.t)
  765.             {
  766.                 if (q != null)
  767.                 {
  768.                     q._-16t(0);
  769.                 }
  770.                 if (r != null)
  771.                 {
  772.                     copyTo(r);
  773.                 }
  774.                 return;
  775.             }
  776.             if (r == null)
  777.             {
  778.                 r = _-0mG();
  779.             }
  780.             var y:* = _-0mG();
  781.             var ts:* = s;
  782.             var ms:* = m.s;
  783.             var nsh:* = _-11j - _-2K1(pm.a[(pm.t - 1)]);
  784.             if (nsh > 0)
  785.             {
  786.                 pm._-1CD(nsh, y);
  787.                 pt._-1CD(nsh, r);
  788.             }
  789.             else
  790.             {
  791.                 pm.copyTo(y);
  792.                 pt.copyTo(r);
  793.             }
  794.             var ys:* = y.t;
  795.             var y0:* = y.a[(ys - 1)];
  796.             if (y0 == 0)
  797.             {
  798.                 return;
  799.             }
  800.             var yt:* = y0 * (1 << F1) + (ys > 1 ? (y.a[ys - 2] >> F2) : (0));
  801.             var d1:* = _-113 / yt;
  802.             var d2:* = (1 << F1) / yt;
  803.             var e:* = 1 << F2;
  804.             var i:* = r.t;
  805.             var j:* = i - ys;
  806.             var t:* = q == null ? (_-0mG()) : (q);
  807.             y._-uZ(j, t);
  808.             if (r.compareTo(t) >= 0)
  809.             {
  810.                 var _loc_6:* = r;
  811.                 _loc_6.t = r.t + 1;
  812.                 r.a[++r.t] = 1;
  813.                 r._-11m(t, r);
  814.             }
  815.             _-0hK._-uZ(ys, t);
  816.             t._-11m(y, y);
  817.             while (y.t < ys)
  818.             {
  819.                
  820.                 var _loc_6:int = 0;
  821.                 var _loc_7:* = y;
  822.                 var _loc_5:* = new XMLList("");
  823.                 for each (_loc_8 in _loc_7)
  824.                 {
  825.                    
  826.                     var _loc_9:* = _loc_7[_loc_6];
  827.                     with (_loc_7[_loc_6])
  828.                     {
  829.                         var _loc_10:* = y;
  830.                         var _loc_11:* = y.t + 1;
  831.                         _loc_10.t = _loc_11;
  832.                         if (0)
  833.                         {
  834.                             _loc_5[_loc_6] = _loc_8;
  835.                         }
  836.                     }
  837.                 }
  838.             }
  839.             do
  840.             {
  841.                
  842.                 i = (i - 1);
  843.                 qd = r.a[(i - 1)] == y0 ? (_-1HA) : (Number(r.a[i]) * d1 + (Number(r.a[(i - 1)]) + e) * d2);
  844.                 var _loc_5:* = r.a[i] + y._-7i(0, qd, r, j, 0, ys);
  845.                 r.a[i] = r.a[i] + y._-7i(0, qd, r, j, 0, ys);
  846.                 if (_loc_5 < qd)
  847.                 {
  848.                     y._-uZ(j, t);
  849.                     r._-11m(t, r);
  850.                     do
  851.                     {
  852.                        
  853.                         r._-11m(t, r);
  854.                         qd = (qd - 1);
  855.                     }while (r.a[i] < (qd - 1))
  856.                 }
  857.                 j = (j - 1);
  858.             }while ((j - 1) >= 0)
  859.             if (q != null)
  860.             {
  861.                 r._-0IF(ys, q);
  862.                 if (ts != ms)
  863.                 {
  864.                     _-1y5._-11m(q, q);
  865.                 }
  866.             }
  867.             r.t = ys;
  868.             r._-0x5();
  869.             if (nsh > 0)
  870.             {
  871.                 r._-5x(nsh, r);
  872.             }
  873.             if (ts < 0)
  874.             {
  875.                 _-1y5._-11m(r, r);
  876.             }
  877.             return;
  878.         }
  879.  
  880.         public function _-2IY(param1:BigInteger) : BigInteger
  881.         {
  882.             var _loc_2:* = new BigInteger();
  883.             _-1Eh(param1, null, _loc_2);
  884.             return _loc_2;
  885.         }
  886.  
  887.         function _-1IU(param1:BigInteger, param2:int, param3:BigInteger) : void
  888.         {
  889.             param2 = param2 - 1;
  890.             var _loc_5:* = t + param1.t - param2;
  891.             param3.t = t + param1.t - param2;
  892.             var _loc_4:* = _loc_5;
  893.             param3.s = 0;
  894.             while (--_loc_4 >= 0)
  895.             {
  896.                
  897.                 param3.a[_loc_4] = 0;
  898.             }
  899.             --_loc_4 = Math.max(param2 - t, 0);
  900.             while (_loc_4 < param1.t)
  901.             {
  902.                
  903.                 param3.a[t + --_loc_4 - param2] = _-7i(param2 - _loc_4, param1.a[_loc_4], param3, 0, 0, t + _loc_4 - param2);
  904.                 _loc_4++;
  905.             }
  906.             param3._-0x5();
  907.             param3._-0IF(1, param3);
  908.             return;
  909.         }
  910.  
  911.         public function _-1Nb(param1:BigInteger) : Array
  912.         {
  913.             var _loc_2:* = new BigInteger();
  914.             var _loc_3:* = new BigInteger();
  915.             _-1Eh(param1, _loc_2, _loc_3);
  916.             return [_loc_2, _loc_3];
  917.         }
  918.  
  919.         public function valueOf() : Number
  920.         {
  921.             var _loc_1:Number = 1;
  922.             var _loc_2:Number = 0;
  923.             var _loc_3:uint = 0;
  924.             while (_loc_3 < t)
  925.             {
  926.                
  927.                 _loc_2 = _loc_2 + a[_loc_3] * _loc_1;
  928.                 _loc_1 = _loc_1 * _-27c;
  929.                 _loc_3 = _loc_3 + 1;
  930.             }
  931.             return _loc_2;
  932.         }
  933.  
  934.         public function _-20b(param1:int) : BigInteger
  935.         {
  936.             var _loc_2:* = new BigInteger();
  937.             if (param1 < 0)
  938.             {
  939.                 _-5x(-param1, _loc_2);
  940.             }
  941.             else
  942.             {
  943.                 _-1CD(param1, _loc_2);
  944.             }
  945.             return _loc_2;
  946.         }
  947.  
  948.         public function _-ac(param1:BigInteger) : BigInteger
  949.         {
  950.             var _loc_2:* = new BigInteger();
  951.             _-AS(param1, _loc_2);
  952.             return _loc_2;
  953.         }
  954.  
  955.         function _-7i(param1:int, param2:int, param3:BigInteger, param4:int, param5:int, param6:int) : int
  956.         {
  957.             var _loc_9:int = 0;
  958.             var _loc_10:int = 0;
  959.             var _loc_11:int = 0;
  960.             var _loc_7:* = param2 & 32767;
  961.             var _loc_8:* = param2 >> 15;
  962.             while (--param6 >= 0)
  963.             {
  964.                
  965.                 _loc_9 = a[param1] & 32767;
  966.                 _loc_10 = a[param1++] >> 15;
  967.                 _loc_11 = _loc_8 * _loc_9 + _loc_10 * _loc_7;
  968.                 _loc_9 = _loc_7 * _loc_9 + ((_loc_11 & 32767) << 15) + param3.a[param4] + (param5 & 1073741823);
  969.                 param5 = (_loc_9 >>> 30) + (_loc_11 >>> 15) + _loc_8 * _loc_10 + (param5 >>> 30);
  970.                 param3.a[++param4] = _loc_9 & 1073741823;
  971.             }
  972.             return param5;
  973.         }
  974.  
  975.         function _-0IF(param1:int, param2:BigInteger) : void
  976.         {
  977.             var _loc_3:int = 0;
  978.             _loc_3 = param1;
  979.             while (_loc_3 < t)
  980.             {
  981.                
  982.                 param2.a[_loc_3 - param1] = a[_loc_3];
  983.                 _loc_3++;
  984.             }
  985.             param2.t = Math.max(t - param1, 0);
  986.             param2.s = s;
  987.             return;
  988.         }
  989.  
  990.         public function add(param1:BigInteger) : BigInteger
  991.         {
  992.             var _loc_2:* = new BigInteger();
  993.             _-Ad(param1, _loc_2);
  994.             return _loc_2;
  995.         }
  996.  
  997.         public function _-0mG()
  998.         {
  999.             return new BigInteger();
  1000.         }
  1001.  
  1002.         public function _-xk(param1:int) : Boolean
  1003.         {
  1004.             var _loc_7:BigInteger = null;
  1005.             var _loc_8:int = 0;
  1006.             var _loc_2:* = subtract(BigInteger._-0hK);
  1007.             var _loc_3:* = _loc_2._-0S6();
  1008.             if (_loc_3 <= 0)
  1009.             {
  1010.                 return false;
  1011.             }
  1012.             var _loc_4:* = _loc_2._-0Ao(_loc_3);
  1013.             param1 = (param1 + 1) >> 1;
  1014.             if (param1 > _-1y-.length)
  1015.             {
  1016.                 param1 = _-1y-.length;
  1017.             }
  1018.             var _loc_5:* = new BigInteger();
  1019.             var _loc_6:int = 0;
  1020.             while (_loc_6 < param1)
  1021.             {
  1022.                
  1023.                 _loc_5._-16t(_-1y-[_loc_6]);
  1024.                 _loc_7 = _loc_5._-1nq(_loc_4, this);
  1025.                 if (_loc_7.compareTo(BigInteger._-0hK) != 0 && _loc_7.compareTo(_loc_2) != 0)
  1026.                 {
  1027.                     _loc_8 = 1;
  1028.                     while (_loc_8++ < _loc_3 && _loc_7.compareTo(_loc_2) != 0)
  1029.                     {
  1030.                        
  1031.                         _loc_7 = _loc_7._-0uK(2, this);
  1032.                         if (_loc_7.compareTo(BigInteger._-0hK) == 0)
  1033.                         {
  1034.                             return false;
  1035.                         }
  1036.                     }
  1037.                     if (_loc_7.compareTo(_loc_2) != 0)
  1038.                     {
  1039.                         return false;
  1040.                     }
  1041.                 }
  1042.                 _loc_6++;
  1043.             }
  1044.             return true;
  1045.         }
  1046.  
  1047.         function _-DR(param1:int) : void
  1048.         {
  1049.             a[t] = _-7i(0, (param1 - 1), this, 0, 0, t);
  1050.             var _loc_3:* = t + 1;
  1051.             t = _loc_3;
  1052.             _-0x5();
  1053.             return;
  1054.         }
  1055.  
  1056.         private function _-0CO(param1:int, param2:int) : int
  1057.         {
  1058.             return param1 & ~param2;
  1059.         }
  1060.  
  1061.         function _-0x5() : void
  1062.         {
  1063.             var _loc_1:* = s & _-1HA;
  1064.             while (t > 0 && a[(t - 1)] == _loc_1)
  1065.             {
  1066.                
  1067.                 var _loc_3:* = t - 1;
  1068.                 t = _loc_3;
  1069.             }
  1070.             return;
  1071.         }
  1072.  
  1073.         function _-1qc() : int
  1074.         {
  1075.             if (t < 1)
  1076.             {
  1077.                 return 0;
  1078.             }
  1079.             var _loc_1:* = a[0];
  1080.             if ((_loc_1 & 1) == 0)
  1081.             {
  1082.                 return 0;
  1083.             }
  1084.             var _loc_2:* = _loc_1 & 3;
  1085.             _loc_2 = _loc_2 * (2 - (_loc_1 & 15) * _loc_2) & 15;
  1086.             _loc_2 = _loc_2 * (2 - (_loc_1 & 255) * _loc_2) & 255;
  1087.             _loc_2 = _loc_2 * (2 - ((_loc_1 & 65535) * _loc_2 & 65535)) & 65535;
  1088.             _loc_2 = _loc_2 * (2 - _loc_1 * _loc_2 % _-27c) % _-27c;
  1089.             return _loc_2 > 0 ? (_-27c - _loc_2) : (-_loc_2);
  1090.         }
  1091.  
  1092.         public function _-S2(param1:int, param2:Function) : BigInteger
  1093.         {
  1094.             var _loc_3:* = BigInteger._-0hK._-20b(param1);
  1095.             _-2Cx(_loc_3, param2, _loc_3);
  1096.             return _loc_3;
  1097.         }
  1098.  
  1099.         public function equals(param1:BigInteger) : Boolean
  1100.         {
  1101.             return compareTo(param1) == 0;
  1102.         }
  1103.  
  1104.         public function compareTo(param1:BigInteger) : int
  1105.         {
  1106.             var _loc_2:* = s - param1.s;
  1107.             if (_loc_2 != 0)
  1108.             {
  1109.                 return _loc_2;
  1110.             }
  1111.             var _loc_3:* = t;
  1112.             _loc_2 = _loc_3 - param1.t;
  1113.             if (_loc_2 != 0)
  1114.             {
  1115.                 return _loc_2;
  1116.             }
  1117.             while (--_loc_3 >= 0)
  1118.             {
  1119.                
  1120.                 _loc_2 = a[_loc_3] - param1.a[_loc_3];
  1121.                 if (_loc_2 != 0)
  1122.                 {
  1123.                     return _loc_2;
  1124.                 }
  1125.             }
  1126.             return 0;
  1127.         }
  1128.  
  1129.         public function _-0Ao(param1:int) : BigInteger
  1130.         {
  1131.             var _loc_2:* = new BigInteger();
  1132.             if (param1 < 0)
  1133.             {
  1134.                 _-1CD(-param1, _loc_2);
  1135.             }
  1136.             else
  1137.             {
  1138.                 _-5x(param1, _loc_2);
  1139.             }
  1140.             return _loc_2;
  1141.         }
  1142.  
  1143.         function _-AS(param1:BigInteger, param2:BigInteger) : void
  1144.         {
  1145.             var _loc_3:* = abs();
  1146.             var _loc_4:* = param1.abs();
  1147.             var _loc_5:* = _loc_3.t;
  1148.             param2.t = _loc_5 + _loc_4.t;
  1149.             while (--_loc_5 >= 0)
  1150.             {
  1151.                
  1152.                 param2.a[_loc_5] = 0;
  1153.             }
  1154.             --_loc_5 = 0;
  1155.             while (_loc_5 < _loc_4.t)
  1156.             {
  1157.                
  1158.                 param2.a[--_loc_5 + _loc_3.t] = _loc_3._-7i(0, _loc_4.a[_loc_5], param2, _loc_5, 0, _loc_3.t);
  1159.                 _loc_5++;
  1160.             }
  1161.             param2.s = 0;
  1162.             param2._-0x5();
  1163.             if (s != param1.s)
  1164.             {
  1165.                 _-1y5._-11m(param2, param2);
  1166.             }
  1167.             return;
  1168.         }
  1169.  
  1170.         public function _-1zS() : int
  1171.         {
  1172.             var _loc_1:int = 0;
  1173.             var _loc_2:* = s & _-1HA;
  1174.             var _loc_3:int = 0;
  1175.             while (_loc_3 < t)
  1176.             {
  1177.                
  1178.                 _loc_1 = _loc_1 + _-0gM(a[_loc_3] ^ _loc_2);
  1179.                 _loc_3++;
  1180.             }
  1181.             return _loc_1;
  1182.         }
  1183.  
  1184.         public function _-jz(param1:uint = 10) : String
  1185.         {
  1186.             if (_-08u() == 0 || param1 < 2 || param1 > 32)
  1187.             {
  1188.                 return "0";
  1189.             }
  1190.             var _loc_2:* = _-0ww(param1);
  1191.             var _loc_3:* = Math.pow(param1, _loc_2);
  1192.             var _loc_4:* = _-1-f(_loc_3);
  1193.             var _loc_5:* = _-0mG();
  1194.             var _loc_6:* = _-0mG();
  1195.             var _loc_7:String = "";
  1196.             _-1Eh(_loc_4, _loc_5, _loc_6);
  1197.             while (_loc_5._-08u() > 0)
  1198.             {
  1199.                
  1200.                 _loc_7 = (_loc_3 + _loc_6._-iO()).toString(param1).substr(1) + _loc_7;
  1201.                 _loc_5._-1Eh(_loc_4, _loc_5, _loc_6);
  1202.             }
  1203.             return _loc_6._-iO().toString(param1) + _loc_7;
  1204.         }
  1205.  
  1206.         private function _-0gM(param1:int) : int
  1207.         {
  1208.             var _loc_2:uint = 0;
  1209.             while (param1 != 0)
  1210.             {
  1211.                
  1212.                 param1 = param1 & (param1 - 1);
  1213.                 _loc_2 = _loc_2 + 1;
  1214.             }
  1215.             return _loc_2;
  1216.         }
  1217.  
  1218.         function _-5x(param1:int, param2:BigInteger) : void
  1219.         {
  1220.             var _loc_7:int = 0;
  1221.             param2.s = s;
  1222.             var _loc_3:* = param1 / _-11j;
  1223.             if (_loc_3 >= t)
  1224.             {
  1225.                 param2.t = 0;
  1226.                 return;
  1227.             }
  1228.             var _loc_4:* = param1 % _-11j;
  1229.             var _loc_5:* = _-11j - _loc_4;
  1230.             var _loc_6:* = (1 << _loc_4) - 1;
  1231.             param2.a[0] = a[_loc_3] >> _loc_4;
  1232.             _loc_7 = _loc_3 + 1;
  1233.             while (_loc_7 < t)
  1234.             {
  1235.                
  1236.                 param2.a[_loc_7 - _loc_3 - 1] = param2.a[_loc_7 - _loc_3 - 1] | (a[_loc_7] & _loc_6) << _loc_5;
  1237.                 param2.a[_loc_7 - _loc_3] = a[_loc_7] >> _loc_4;
  1238.                 _loc_7++;
  1239.             }
  1240.             if (_loc_4 > 0)
  1241.             {
  1242.                 param2.a[t - _loc_3 - 1] = param2.a[t - _loc_3 - 1] | (s & _loc_6) << _loc_5;
  1243.             }
  1244.             param2.t = t - _loc_3;
  1245.             param2._-0x5();
  1246.             return;
  1247.         }
  1248.  
  1249.         public function _-10t(param1:BigInteger) : BigInteger
  1250.         {
  1251.             var _loc_2:* = param1._-0n7();
  1252.             if (_-0n7() && _loc_2 || param1._-08u() == 0)
  1253.             {
  1254.                 return BigInteger._-1y5;
  1255.             }
  1256.             var _loc_3:* = param1.clone();
  1257.             var _loc_4:* = clone();
  1258.             var _loc_5:* = _-1-f(1);
  1259.             var _loc_6:* = _-1-f(0);
  1260.             var _loc_7:* = _-1-f(0);
  1261.             var _loc_8:* = _-1-f(1);
  1262.             while (_loc_3._-08u() != 0)
  1263.             {
  1264.                
  1265.                 while (_loc_3._-0n7())
  1266.                 {
  1267.                    
  1268.                     _loc_3._-5x(1, _loc_3);
  1269.                     if (_loc_2)
  1270.                     {
  1271.                         if (!_loc_5._-0n7() || !_loc_6._-0n7())
  1272.                         {
  1273.                             _loc_5._-Ad(this, _loc_5);
  1274.                             _loc_6._-11m(param1, _loc_6);
  1275.                         }
  1276.                         _loc_5._-5x(1, _loc_5);
  1277.                     }
  1278.                     else if (!_loc_6._-0n7())
  1279.                     {
  1280.                         _loc_6._-11m(param1, _loc_6);
  1281.                     }
  1282.                     _loc_6._-5x(1, _loc_6);
  1283.                 }
  1284.                 while (_loc_4._-0n7())
  1285.                 {
  1286.                    
  1287.                     _loc_4._-5x(1, _loc_4);
  1288.                     if (_loc_2)
  1289.                     {
  1290.                         if (!_loc_7._-0n7() || !_loc_8._-0n7())
  1291.                         {
  1292.                             _loc_7._-Ad(this, _loc_7);
  1293.                             _loc_8._-11m(param1, _loc_8);
  1294.                         }
  1295.                         _loc_7._-5x(1, _loc_7);
  1296.                     }
  1297.                     else if (!_loc_8._-0n7())
  1298.                     {
  1299.                         _loc_8._-11m(param1, _loc_8);
  1300.                     }
  1301.                     _loc_8._-5x(1, _loc_8);
  1302.                 }
  1303.                 if (_loc_3.compareTo(_loc_4) >= 0)
  1304.                 {
  1305.                     _loc_3._-11m(_loc_4, _loc_3);
  1306.                     if (_loc_2)
  1307.                     {
  1308.                         _loc_5._-11m(_loc_7, _loc_5);
  1309.                     }
  1310.                     _loc_6._-11m(_loc_8, _loc_6);
  1311.                     continue;
  1312.                 }
  1313.                 _loc_4._-11m(_loc_3, _loc_4);
  1314.                 if (_loc_2)
  1315.                 {
  1316.                     _loc_7._-11m(_loc_5, _loc_7);
  1317.                 }
  1318.                 _loc_8._-11m(_loc_6, _loc_8);
  1319.             }
  1320.             if (_loc_4.compareTo(BigInteger._-0hK) != 0)
  1321.             {
  1322.                 return BigInteger._-1y5;
  1323.             }
  1324.             if (_loc_8.compareTo(param1) >= 0)
  1325.             {
  1326.                 return _loc_8.subtract(param1);
  1327.             }
  1328.             if (_loc_8._-08u() < 0)
  1329.             {
  1330.                 _loc_8._-Ad(param1, _loc_8);
  1331.                 ;
  1332.             }
  1333.             return _loc_8;
  1334.         }
  1335.  
  1336.         function _-7S(param1:ByteArray, param2:int) : void
  1337.         {
  1338.             var _loc_7:int = 0;
  1339.             var _loc_3:* = param1.position;
  1340.             var _loc_4:* = _loc_3 + param2;
  1341.             var _loc_5:int = 0;
  1342.             var _loc_6:int = 8;
  1343.             t = 0;
  1344.             s = 0;
  1345.             while (--_loc_4 >= _loc_3)
  1346.             {
  1347.                
  1348.                 _loc_7 = _loc_4 < param1.length ? (param1[_loc_4]) : (0);
  1349.                 if (_loc_5 == 0)
  1350.                 {
  1351.                     a[++t] = _loc_7;
  1352.                 }
  1353.                 else if (_loc_5 + _loc_6 > _-11j)
  1354.                 {
  1355.                     a[(t - 1)] = a[(t - 1)] | (_loc_7 & (1 << _-11j - _loc_5) - 1) << _loc_5;
  1356.                     a[++t] = _loc_7 >> _-11j - _loc_5;
  1357.                 }
  1358.                 else
  1359.                 {
  1360.                     a[(t - 1)] = a[(t - 1)] | _loc_7 << _loc_5;
  1361.                 }
  1362.                 _loc_5 = _loc_5 + _loc_6;
  1363.                 if (_loc_5 >= _-11j)
  1364.                 {
  1365.                     _loc_5 = _loc_5 - _-11j;
  1366.                 }
  1367.             }
  1368.             _-0x5();
  1369.             param1.position = Math.min(_loc_3 + param2, param1.length);
  1370.             return;
  1371.         }
  1372.  
  1373.         function copyTo(param1:BigInteger) : void
  1374.         {
  1375.             var _loc_2:* = t - 1;
  1376.             while (_loc_2 >= 0)
  1377.             {
  1378.                
  1379.                 param1.a[_loc_2] = a[_loc_2];
  1380.                 _loc_2 = _loc_2 - 1;
  1381.             }
  1382.             param1.t = t;
  1383.             param1.s = s;
  1384.             return;
  1385.         }
  1386.  
  1387.         public function _-iO() : int
  1388.         {
  1389.             if (s < 0)
  1390.             {
  1391.                 if (t == 1)
  1392.                 {
  1393.                     return a[0] - _-27c;
  1394.                 }
  1395.                 if (t == 0)
  1396.                 {
  1397.                     return -1;
  1398.                 }
  1399.             }
  1400.             else
  1401.             {
  1402.                 if (t == 1)
  1403.                 {
  1404.                     return a[0];
  1405.                 }
  1406.                 if (t == 0)
  1407.                 {
  1408.                     return 0;
  1409.                 }
  1410.             }
  1411.             return (a[1] & (1 << 32 - _-11j) - 1) << _-11j | a[0];
  1412.         }
  1413.  
  1414.         public function min(param1:BigInteger) : BigInteger
  1415.         {
  1416.             return compareTo(param1) < 0 ? (this) : (param1);
  1417.         }
  1418.  
  1419.         public function _-1g6() : int
  1420.         {
  1421.             if (t <= 0)
  1422.             {
  1423.                 return 0;
  1424.             }
  1425.             return _-11j * (t - 1) + _-2K1(a[(t - 1)] ^ s & _-1HA);
  1426.         }
  1427.  
  1428.         public function _-1Qs() : int
  1429.         {
  1430.             return t == 0 ? (s) : (a[0] << 16 >> 16);
  1431.         }
  1432.  
  1433.         public function _-d6(param1:BigInteger) : BigInteger
  1434.         {
  1435.             var _loc_2:* = new BigInteger();
  1436.             _-2Cx(param1, _-0YN, _loc_2);
  1437.             return _loc_2;
  1438.         }
  1439.  
  1440.         public function _-1s() : int
  1441.         {
  1442.             return t == 0 ? (s) : (a[0] << 24 >> 24);
  1443.         }
  1444.  
  1445.         public function _-NU() : BigInteger
  1446.         {
  1447.             var _loc_1:* = new BigInteger();
  1448.             var _loc_2:int = 0;
  1449.             while (_loc_2 < t)
  1450.             {
  1451.                
  1452.                 _loc_1[_loc_2] = _-1HA & ~a[_loc_2];
  1453.                 _loc_2++;
  1454.             }
  1455.             _loc_1.t = t;
  1456.             _loc_1.s = ~s;
  1457.             return _loc_1;
  1458.         }
  1459.  
  1460.         function _-11m(param1:BigInteger, param2:BigInteger) : void
  1461.         {
  1462.             var _loc_3:int = 0;
  1463.             var _loc_4:int = 0;
  1464.             var _loc_5:* = Math.min(param1.t, t);
  1465.             while (_loc_3 < _loc_5)
  1466.             {
  1467.                
  1468.                 _loc_4 = _loc_4 + (a[_loc_3] - param1.a[_loc_3]);
  1469.                 param2.a[++_loc_3] = _loc_4 & _-1HA;
  1470.                 _loc_4 = _loc_4 >> _-11j;
  1471.             }
  1472.             if (param1.t < t)
  1473.             {
  1474.                 _loc_4 = _loc_4 - param1.s;
  1475.                 while (_loc_3 < t)
  1476.                 {
  1477.                    
  1478.                     _loc_4 = _loc_4 + a[_loc_3];
  1479.                     param2.a[++_loc_3] = _loc_4 & _-1HA;
  1480.                     _loc_4 = _loc_4 >> _-11j;
  1481.                 }
  1482.                 _loc_4 = _loc_4 + s;
  1483.             }
  1484.             else
  1485.             {
  1486.                 _loc_4 = _loc_4 + s;
  1487.                 while (_loc_3 < param1.t)
  1488.                 {
  1489.                    
  1490.                     _loc_4 = _loc_4 - param1.a[_loc_3];
  1491.                     param2.a[++_loc_3] = _loc_4 & _-1HA;
  1492.                     _loc_4 = _loc_4 >> _-11j;
  1493.                 }
  1494.                 _loc_4 = _loc_4 - param1.s;
  1495.             }
  1496.             param2.s = _loc_4 < 0 ? (-1) : (0);
  1497.             if (_loc_4 < -1)
  1498.             {
  1499.                 param2.a[++_loc_3] = _-27c + _loc_4;
  1500.             }
  1501.             else if (_loc_4 > 0)
  1502.             {
  1503.                 param2.a[++_loc_3] = _loc_4;
  1504.             }
  1505.             param2.t = _loc_3;
  1506.             param2._-0x5();
  1507.             return;
  1508.         }
  1509.  
  1510.         public function clone() : BigInteger
  1511.         {
  1512.             var _loc_1:* = new BigInteger();
  1513.             this.copyTo(_loc_1);
  1514.             return _loc_1;
  1515.         }
  1516.  
  1517.         public function pow(param1:int) : BigInteger
  1518.         {
  1519.             return _-fl(param1, new _-y8());
  1520.         }
  1521.  
  1522.         public function _-00v(param1:int) : BigInteger
  1523.         {
  1524.             return _-S2(param1, _-0xF);
  1525.         }
  1526.  
  1527.         public function _-UE(param1:BigInteger) : BigInteger
  1528.         {
  1529.             var _loc_2:* = new BigInteger();
  1530.             _-2Cx(param1, _-0xF, _loc_2);
  1531.             return _loc_2;
  1532.         }
  1533.  
  1534.         public function _-0Pu(param1:BigInteger) : BigInteger
  1535.         {
  1536.             var _loc_2:* = new BigInteger();
  1537.             _-2Cx(param1, _-5-, _loc_2);
  1538.             return _loc_2;
  1539.         }
  1540.  
  1541.         public function max(param1:BigInteger) : BigInteger
  1542.         {
  1543.             return compareTo(param1) > 0 ? (this) : (param1);
  1544.         }
  1545.  
  1546.         function _-16t(param1:int) : void
  1547.         {
  1548.             t = 1;
  1549.             s = param1 < 0 ? (-1) : (0);
  1550.             if (param1 > 0)
  1551.             {
  1552.                 a[0] = param1;
  1553.             }
  1554.             else if (param1 < -1)
  1555.             {
  1556.                 a[0] = param1 + _-27c;
  1557.             }
  1558.             else
  1559.             {
  1560.                 t = 0;
  1561.             }
  1562.             return;
  1563.         }
  1564.  
  1565.         function _-0n7() : Boolean
  1566.         {
  1567.             return (t > 0 ? (a[0] & 1) : (s)) == 0;
  1568.         }
  1569.  
  1570.         public function toString(param1:Number = 16) : String
  1571.         {
  1572.             var _loc_2:int = 0;
  1573.             if (s < 0)
  1574.             {
  1575.                 return "-" + _-0KD().toString(param1);
  1576.             }
  1577.             switch(param1)
  1578.             {
  1579.                 case 2:
  1580.                 {
  1581.                     _loc_2 = 1;
  1582.                     break;
  1583.                 }
  1584.                 case 4:
  1585.                 {
  1586.                     _loc_2 = 2;
  1587.                     break;
  1588.                 }
  1589.                 case 8:
  1590.                 {
  1591.                     _loc_2 = 3;
  1592.                     break;
  1593.                 }
  1594.                 case 16:
  1595.                 {
  1596.                     _loc_2 = 4;
  1597.                     break;
  1598.                 }
  1599.                 case 32:
  1600.                 {
  1601.                     _loc_2 = 5;
  1602.                     break;
  1603.                 }
  1604.                 default:
  1605.                 {
  1606.                     _loc_2 = 4;
  1607.                     break;
  1608.                 }
  1609.             }
  1610.             var _loc_3:* = (1 << _loc_2) - 1;
  1611.             var _loc_4:int = 0;
  1612.             var _loc_5:Boolean = false;
  1613.             var _loc_6:String = "";
  1614.             var _loc_7:* = t;
  1615.             var _loc_8:* = _-11j - _loc_7 * _-11j % _loc_2;
  1616.             if (_loc_7-- > 0)
  1617.             {
  1618.                 var _loc_9:* = a[_loc_7] >> _loc_8;
  1619.                 _loc_4 = a[_loc_7] >> _loc_8;
  1620.                 if (_loc_8 < _-11j && _loc_9 > 0)
  1621.                 {
  1622.                     _loc_5 = true;
  1623.                     _loc_6 = _loc_4.toString(36);
  1624.                 }
  1625.                 while (_loc_7 >= 0)
  1626.                 {
  1627.                    
  1628.                     if (_loc_8 < _loc_2)
  1629.                     {
  1630.                         _loc_4 = (a[_loc_7] & (1 << _loc_8) - 1) << _loc_2 - _loc_8;
  1631.                         var _loc_9:* = _loc_8 + (_-11j - _loc_2);
  1632.                         _loc_8 = _loc_8 + (_-11j - _loc_2);
  1633.                         _loc_4 = _loc_4 | a[--_loc_7] >> _loc_9;
  1634.                     }
  1635.                     else
  1636.                     {
  1637.                         var _loc_9:* = _loc_8 - _loc_2;
  1638.                         _loc_8 = _loc_8 - _loc_2;
  1639.                         _loc_4 = a[--_loc_7] >> _loc_9 & _loc_3;
  1640.                         if (_loc_8 <= 0)
  1641.                         {
  1642.                             _loc_8 = _loc_8 + _-11j;
  1643.                             _loc_7 = _loc_7 - 1;
  1644.                         }
  1645.                     }
  1646.                     if (_loc_4 > 0)
  1647.                     {
  1648.                         _loc_5 = true;
  1649.                     }
  1650.                     if (_loc_5)
  1651.                     {
  1652.                         _loc_6 = _loc_6 + _loc_4.toString(36);
  1653.                     }
  1654.                 }
  1655.             }
  1656.             return _loc_5 ? (_loc_6) : ("0");
  1657.         }
  1658.  
  1659.         public function _-kj(param1:int) : BigInteger
  1660.         {
  1661.             return _-S2(param1, _-5-);
  1662.         }
  1663.  
  1664.         public function abs() : BigInteger
  1665.         {
  1666.             return s < 0 ? (_-0KD()) : (this);
  1667.         }
  1668.  
  1669.         function _-2K1(param1:int) : int
  1670.         {
  1671.             var _loc_3:int = 0;
  1672.             var _loc_2:int = 1;
  1673.             var _loc_4:* = param1 >>> 16;
  1674.             _loc_3 = param1 >>> 16;
  1675.             if (_loc_4 != 0)
  1676.             {
  1677.                 param1 = _loc_3;
  1678.                 _loc_2 = _loc_2 + 16;
  1679.             }
  1680.             var _loc_4:* = param1 >> 8;
  1681.             _loc_3 = param1 >> 8;
  1682.             if (_loc_4 != 0)
  1683.             {
  1684.                 param1 = _loc_3;
  1685.                 _loc_2 = _loc_2 + 8;
  1686.             }
  1687.             var _loc_4:* = param1 >> 4;
  1688.             _loc_3 = param1 >> 4;
  1689.             if (_loc_4 != 0)
  1690.             {
  1691.                 param1 = _loc_3;
  1692.                 _loc_2 = _loc_2 + 4;
  1693.             }
  1694.             var _loc_4:* = param1 >> 2;
  1695.             _loc_3 = param1 >> 2;
  1696.             if (_loc_4 != 0)
  1697.             {
  1698.                 param1 = _loc_3;
  1699.                 _loc_2 = _loc_2 + 2;
  1700.             }
  1701.             var _loc_4:* = param1 >> 1;
  1702.             _loc_3 = param1 >> 1;
  1703.             if (_loc_4 != 0)
  1704.             {
  1705.                 param1 = _loc_3;
  1706.                 _loc_2 = _loc_2 + 1;
  1707.             }
  1708.             return _loc_2;
  1709.         }
  1710.  
  1711.         public function _-08u() : int
  1712.         {
  1713.             if (s < 0)
  1714.             {
  1715.                 return -1;
  1716.             }
  1717.             if (t <= 0 || t == 1 && a[0] <= 0)
  1718.             {
  1719.                 return 0;
  1720.             }
  1721.             return 1;
  1722.         }
  1723.  
  1724.         public function _-0-6() : ByteArray
  1725.         {
  1726.             var _loc_4:int = 0;
  1727.             var _loc_1:* = t;
  1728.             var _loc_2:* = new ByteArray();
  1729.             _loc_2[0] = s;
  1730.             var _loc_3:* = _-11j - _loc_1 * _-11j % 8;
  1731.             var _loc_5:int = 0;
  1732.             if (_loc_1-- > 0)
  1733.             {
  1734.                 var _loc_6:* = a[_loc_1] >> _loc_3;
  1735.                 _loc_4 = a[_loc_1] >> _loc_3;
  1736.                 if (_loc_3 < _-11j && _loc_6 != (s & _-1HA) >> _loc_3)
  1737.                 {
  1738.                     _loc_2[++_loc_5] = _loc_4 | s << _-11j - _loc_3;
  1739.                 }
  1740.                 while (_loc_1 >= 0)
  1741.                 {
  1742.                    
  1743.                     if (_loc_3 < 8)
  1744.                     {
  1745.                         _loc_4 = (a[_loc_1] & (1 << _loc_3) - 1) << 8 - _loc_3;
  1746.                         var _loc_6:* = _loc_3 + (_-11j - 8);
  1747.                         _loc_3 = _loc_3 + (_-11j - 8);
  1748.                         _loc_4 = _loc_4 | a[--_loc_1] >> _loc_6;
  1749.                     }
  1750.                     else
  1751.                     {
  1752.                         var _loc_6:* = _loc_3 - 8;
  1753.                         _loc_3 = _loc_3 - 8;
  1754.                         _loc_4 = a[--_loc_1] >> _loc_6 & 255;
  1755.                         if (_loc_3 <= 0)
  1756.                         {
  1757.                             _loc_3 = _loc_3 + _-11j;
  1758.                             _loc_1 = _loc_1 - 1;
  1759.                         }
  1760.                     }
  1761.                     if ((_loc_4 & 128) != 0)
  1762.                     {
  1763.                         _loc_4 = _loc_4 | -256;
  1764.                     }
  1765.                     if (_loc_5 == 0 && (s & 128) != (_loc_4 & 128))
  1766.                     {
  1767.                         _loc_5++;
  1768.                     }
  1769.                     if (_loc_5 > 0 || _loc_4 != s)
  1770.                     {
  1771.                         _loc_2[++_loc_5] = _loc_4;
  1772.                     }
  1773.                 }
  1774.             }
  1775.             return _loc_2;
  1776.         }
  1777.  
  1778.         function _-1H4(param1:BigInteger) : void
  1779.         {
  1780.             var _loc_4:int = 0;
  1781.             var _loc_2:* = abs();
  1782.             var _loc_5:* = 2 * _loc_2.t;
  1783.             param1.t = 2 * _loc_2.t;
  1784.             var _loc_3:* = _loc_5;
  1785.             while (--_loc_3 >= 0)
  1786.             {
  1787.                
  1788.                 param1.a[_loc_3] = 0;
  1789.             }
  1790.             --_loc_3 = 0;
  1791.             while (_loc_3 < (_loc_2.t - 1))
  1792.             {
  1793.                
  1794.                 _loc_4 = _loc_2._-7i(--_loc_3, _loc_2.a[--_loc_3], param1, 2 * _loc_3, 0, 1);
  1795.                 var _loc_5:* = param1.a[_loc_3 + _loc_2.t] + _loc_2._-7i((_loc_3 + 1), 2 * _loc_2.a[_loc_3], param1, 2 * _loc_3 + 1, _loc_4, _loc_2.t - _loc_3 - 1);
  1796.                 param1.a[_loc_3 + _loc_2.t] = param1.a[_loc_3 + _loc_2.t] + _loc_2._-7i((_loc_3 + 1), 2 * _loc_2.a[_loc_3], param1, 2 * _loc_3 + 1, _loc_4, _loc_2.t - _loc_3 - 1);
  1797.                 if (_loc_5 >= _-27c)
  1798.                 {
  1799.                     param1.a[_loc_3 + _loc_2.t] = param1.a[_loc_3 + _loc_2.t] - _-27c;
  1800.                     param1.a[_loc_3 + _loc_2.t + 1] = 1;
  1801.                 }
  1802.                 _loc_3++;
  1803.             }
  1804.             if (param1.t > 0)
  1805.             {
  1806.                 param1.a[(param1.t - 1)] = param1.a[(param1.t - 1)] + _loc_2._-7i(_loc_3, _loc_2.a[_loc_3], param1, 2 * _loc_3, 0, 1);
  1807.             }
  1808.             param1.s = 0;
  1809.             param1._-0x5();
  1810.             return;
  1811.         }
  1812.  
  1813.         private function _-0YN(param1:int, param2:int) : int
  1814.         {
  1815.             return param1 & param2;
  1816.         }
  1817.  
  1818.         public function _-2FW(param1:String, param2:int = 10) : void
  1819.         {
  1820.             var _loc_9:int = 0;
  1821.             _-16t(0);
  1822.             var _loc_3:* = _-0ww(param2);
  1823.             var _loc_4:* = Math.pow(param2, _loc_3);
  1824.             var _loc_5:Boolean = false;
  1825.             var _loc_6:int = 0;
  1826.             var _loc_7:int = 0;
  1827.             var _loc_8:int = 0;
  1828.             while (_loc_8 < param1.length)
  1829.             {
  1830.                
  1831.                 _loc_9 = _-lk(param1, _loc_8);
  1832.                 if (_loc_9 < 0)
  1833.                 {
  1834.                     if (param1.charAt(_loc_8) == "-" && _-08u() == 0)
  1835.                     {
  1836.                         _loc_5 = true;
  1837.                     }
  1838.                 }
  1839.                 else
  1840.                 {
  1841.                     _loc_7 = param2 * _loc_7 + _loc_9;
  1842.                     if (++_loc_6 >= _loc_3)
  1843.                     {
  1844.                         _-DR(_loc_4);
  1845.                         _-2FR(_loc_7, 0);
  1846.                         ++_loc_6 = 0;
  1847.                         _loc_7 = 0;
  1848.                     }
  1849.                 }
  1850.                 _loc_8++;
  1851.             }
  1852.             if (++_loc_6 > 0)
  1853.             {
  1854.                 _-DR(Math.pow(param2, _loc_6));
  1855.                 _-2FR(_loc_7, 0);
  1856.             }
  1857.             if (_loc_5)
  1858.             {
  1859.                 BigInteger._-1y5._-11m(this, this);
  1860.             }
  1861.             return;
  1862.         }
  1863.  
  1864.         function _-uZ(param1:int, param2:BigInteger) : void
  1865.         {
  1866.             var _loc_3:int = 0;
  1867.             _loc_3 = t - 1;
  1868.             while (_loc_3 >= 0)
  1869.             {
  1870.                
  1871.                 param2.a[_loc_3 + param1] = a[_loc_3];
  1872.                 _loc_3 = _loc_3 - 1;
  1873.             }
  1874.             _loc_3 = param1 - 1;
  1875.             while (_loc_3 >= 0)
  1876.             {
  1877.                
  1878.                 param2.a[_loc_3] = 0;
  1879.                 _loc_3 = _loc_3 - 1;
  1880.             }
  1881.             param2.t = t + param1;
  1882.             param2.s = s;
  1883.             return;
  1884.         }
  1885.  
  1886.         private function _-0xF(param1:int, param2:int) : int
  1887.         {
  1888.             return param1 ^ param2;
  1889.         }
  1890.  
  1891.         public static function _-1-f(param1:int) : BigInteger
  1892.         {
  1893.             var _loc_2:* = new BigInteger;
  1894.             _loc_2._-16t(param1);
  1895.             return _loc_2;
  1896.         }
  1897.  
  1898.     }
  1899. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement