TMVA_Regression.ipynb Open in SWAN Download

No description has been provided for this image No description has been provided for this image

Regression Example

Declare Factory

Initiate the TMVA library, get the data sample from github, and create a factory to do the regression.

In [1]:
TMVA::Tools::Instance();

auto inputFile = TFile::Open("https://raw.githubusercontent.com/iml-wg/tmvatutorials/master/inputdata.root");
auto outputFile = TFile::Open("TMVAOutputBDT.root", "RECREATE");

TMVA::Factory factory("TMVARegression", outputFile,
                      "!V:!Silent:Color:DrawProgressBar:AnalysisType=Regression" );

Declare DataLoader

Define the features and the target for the regression.

In [2]:
TMVA::DataLoader loader("dataset"); 

// Add the feature variables, names reference branches in inputFile ttree
loader.AddVariable("var1");
loader.AddVariable("var2");
loader.AddVariable("var3");
loader.AddVariable("var4");
loader.AddVariable("var5 := var1-var3"); // create new features
loader.AddVariable("var6 := var1+var2");

loader.AddTarget( "target := var2+var3" ); // define the target for the regression

Setup Dataset

Link dataloader to dataset.

In [3]:
TTree *tree;
inputFile->GetObject("Sig", tree);

TCut mycuts = ""; // e.g. TCut mycuts = "abs(var1)<0.5";

loader.AddRegressionTree(tree, 1.0);   // link the TTree to the loader, weight for each event  = 1
loader.PrepareTrainingAndTestTree(mycuts,
                                   "nTrain_Regression=1000:nTest_Regression=1000:SplitMode=Random:NormMode=NumEvents:!V" );
DataSetInfo              : [dataset] : Added class "Regression"
                         : Add Tree Sig of type Regression with 6000 events
                         : Dataset[dataset] : Class index : 0  name : Regression

Book The Regression Method

Book the method for regression. Here we choose the Boosted Decision Tree model. You have to use gradient boosted trees for regression, hence the BDTG and BoostType=Grad.

Define the hyperparameters: ntrees, boosttype, shrinkage, and the depth. Also define the loss function you want to use: 'AbsoluteDeviation', 'Huber', or 'LeastSquares'. nCuts determines how finely to look at each feature. Larger values take more time, but you may get more accurate results.

In [4]:
// Boosted Decision Trees 
factory.BookMethod(&loader,TMVA::Types::kBDT, "BDTG",
                   TString("!H:!V:NTrees=64::BoostType=Grad:Shrinkage=0.3:nCuts=20:MaxDepth=4:")+
                   TString("RegressionLossFunctionBDTG=AbsoluteDeviation"));
Factory                  : Booking method: BDTG
                         : 
                         : the option *InverseBoostNegWeights* does not exist for BoostType=Grad --> change
                         : to new default for GradBoost *Pray*
DataSetFactory           : [dataset] : Number of events in input trees
                         : 
                         : Number of training and testing events
                         : ---------------------------------------------------------------------------
                         : Regression -- training events            : 1000
                         : Regression -- testing events             : 1000
                         : Regression -- training and testing events: 2000
                         : 
DataSetInfo              : Correlation matrix (Regression):
                         : --------------------------------------------------------------
                         :               var1    var2    var3    var4 var1-var3 var1+var2
                         :      var1:  +1.000  +0.407  +0.584  +0.809    +0.463    +0.836
                         :      var2:  +0.407  +1.000  +0.688  +0.744    -0.304    +0.842
                         :      var3:  +0.584  +0.688  +1.000  +0.848    -0.450    +0.759
                         :      var4:  +0.809  +0.744  +0.848  +1.000    -0.035    +0.925
                         : var1-var3:  +0.463  -0.304  -0.450  -0.035    +1.000    +0.091
                         : var1+var2:  +0.836  +0.842  +0.759  +0.925    +0.091    +1.000
                         : --------------------------------------------------------------
DataSetFactory           : [dataset] :  
                         : 

Train Method

In [5]:
factory.TrainAllMethods();
Factory                  : Train all methods
Factory                  : [dataset] : Create Transformation "I" with events from all classes.
                         : 
                         : Transformation, Variable selection : 
                         : Input : variable 'var1' <---> Output : variable 'var1'
                         : Input : variable 'var2' <---> Output : variable 'var2'
                         : Input : variable 'var3' <---> Output : variable 'var3'
                         : Input : variable 'var4' <---> Output : variable 'var4'
                         : Input : variable 'var5' <---> Output : variable 'var5'
                         : Input : variable 'var6' <---> Output : variable 'var6'
TFHandler_Factory        : Variable        Mean        RMS   [        Min        Max ]
                         : -----------------------------------------------------------
                         :     var1:    0.23134    0.98776   [    -3.3494     3.0772 ]
                         :     var2:    0.29253     1.0040   [    -3.1385     3.6372 ]
                         :     var3:    0.38554    0.98017   [    -2.6377     3.2477 ]
                         :     var4:    0.79277     1.0743   [    -2.5804     4.2226 ]
                         :     var5:   -0.15420    0.89789   [    -2.9267     3.0035 ]
                         :     var6:    0.52387     1.6706   [    -5.0563     5.2734 ]
                         :   target:    0.67807     1.8230   [    -4.6696     6.0522 ]
                         : -----------------------------------------------------------
                         : Ranking input variables (method unspecific)...
IdTransformation         : Ranking result (top variable is best ranked)
                         : --------------------------------------------
                         : Rank : Variable  : |Correlation with target|
                         : --------------------------------------------
                         :    1 : var2      : 9.208e-01
                         :    2 : var3      : 9.167e-01
                         :    3 : var6      : 8.715e-01
                         :    4 : var4      : 8.654e-01
                         :    5 : var1      : 5.379e-01
                         :    6 : var5      : 4.089e-01
                         : --------------------------------------------
IdTransformation         : Ranking result (top variable is best ranked)
                         : -------------------------------------
                         : Rank : Variable  : Mutual information
                         : -------------------------------------
                         :    1 : var3      : 2.536e+00
                         :    2 : var5      : 2.526e+00
                         :    3 : var6      : 2.474e+00
                         :    4 : var1      : 2.467e+00
                         :    5 : var4      : 2.461e+00
                         :    6 : var2      : 2.415e+00
                         : -------------------------------------
IdTransformation         : Ranking result (top variable is best ranked)
                         : ------------------------------------
                         : Rank : Variable  : Correlation Ratio
                         : ------------------------------------
                         :    1 : var3      : 5.910e-01
                         :    2 : var2      : 5.823e-01
                         :    3 : var4      : 5.240e-01
                         :    4 : var6      : 5.172e-01
                         :    5 : var1      : 2.870e-01
                         :    6 : var5      : 2.781e-01
                         : ------------------------------------
IdTransformation         : Ranking result (top variable is best ranked)
                         : ----------------------------------------
                         : Rank : Variable  : Correlation Ratio (T)
                         : ----------------------------------------
                         :    1 : var2      : 7.967e-01
                         :    2 : var3      : 7.744e-01
                         :    3 : var4      : 6.782e-01
                         :    4 : var6      : 6.646e-01
                         :    5 : var1      : 2.613e-01
                         :    6 : var5      : 2.423e-01
                         : ----------------------------------------
Factory                  : Train method: BDTG for Regression
                         : 
                         : Regression Loss Function: AbsoluteDeviation
                         : Training 64 Decision Trees ... patience please
                         : [...............] (1%, time left: unknown) 
                         : [...............] (3%, time left: 0 sec) 
                         : [...............] (4%, time left: 0 sec) 
                         : [...............] (6%, time left: 0 sec) 
                         : [>..............] (7%, time left: 0 sec) 
                         : [>..............] (9%, time left: 0 sec) 
                         : [>..............] (10%, time left: 0 sec) 
                         : [>..............] (12%, time left: 0 sec) 
                         : [>>.............] (14%, time left: 0 sec) 
                         : [>>.............] (15%, time left: 0 sec) 
                         : [>>.............] (17%, time left: 0 sec) 
                         : [>>.............] (18%, time left: 0 sec) 
                         : [>>>............] (20%, time left: 0 sec) 
                         : [>>>............] (21%, time left: 0 sec) 
                         : [>>>............] (23%, time left: 0 sec) 
                         : [>>>............] (25%, time left: 0 sec) 
                         : [>>>>...........] (26%, time left: 0 sec) 
                         : [>>>>...........] (28%, time left: 0 sec) 
                         : [>>>>...........] (29%, time left: 0 sec) 
                         : [>>>>...........] (31%, time left: 0 sec) 
                         : [>>>>>..........] (32%, time left: 0 sec) 
                         : [>>>>>..........] (34%, time left: 0 sec) 
                         : [>>>>>..........] (35%, time left: 0 sec) 
                         : [>>>>>..........] (37%, time left: 0 sec) 
                         : [>>>>>>.........] (39%, time left: 0 sec) 
                         : [>>>>>>.........] (40%, time left: 0 sec) 
                         : [>>>>>>.........] (42%, time left: 0 sec) 
                         : [>>>>>>.........] (43%, time left: 0 sec) 
                         : [>>>>>>>........] (45%, time left: 0 sec) 
                         : [>>>>>>>........] (46%, time left: 0 sec) 
                         : [>>>>>>>........] (48%, time left: 0 sec) 
                         : [>>>>>>>........] (50%, time left: 0 sec) 
                         : [>>>>>>>>.......] (51%, time left: 0 sec) 
                         : [>>>>>>>>.......] (53%, time left: 0 sec) 
                         : [>>>>>>>>.......] (54%, time left: 0 sec) 
                         : [>>>>>>>>.......] (56%, time left: 0 sec) 
                         : [>>>>>>>>>......] (57%, time left: 0 sec) 
                         : [>>>>>>>>>......] (59%, time left: 0 sec) 
                         : [>>>>>>>>>......] (60%, time left: 0 sec) 
                         : [>>>>>>>>>......] (62%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (64%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (65%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (67%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (68%, time left: 0 sec) 
                         : [>>>>>>>>>>>....] (70%, time left: 0 sec) 
                         : [>>>>>>>>>>>....] (71%, time left: 0 sec) 
                         : [>>>>>>>>>>>....] (73%, time left: 0 sec) 
                         : Elapsed time for training with 1000 events: 0.119 sec         
                         : Dataset[dataset] : Create results for training
                         : Dataset[dataset] : Evaluation of BDTG on training sample
                         : Dataset[dataset] : Elapsed time for evaluation of 1000 events: 0.0683 sec       
                         : Create variable histograms
                         : Create regression target histograms
                         : Create regression average deviation
                         : Results created
                         : Creating xml weight file: dataset/weights/TMVARegression_BDTG.weights.xml
                         : [>>>>>>>>>>>....] (75%, time left: 0 sec) 
                         : [>>>>>>>>>>>>...] (76%, time left: 0 sec) 
                         : [>>>>>>>>>>>>...] (78%, time left: 0 sec) 
                         : [>>>>>>>>>>>>...] (79%, time left: 0 sec) 
                         : [>>>>>>>>>>>>...] (81%, time left: 0 sec) 
                         : [>>>>>>>>>>>>>..] (82%, time left: 0 sec) 
                         : [>>>>>>>>>>>>>..] (84%, time left: 0 sec) 
                         : [>>>>>>>>>>>>>..] (85%, time left: 0 sec) 
                         : [>>>>>>>>>>>>>..] (87%, time left: 0 sec) 
                         : [>>>>>>>>>>>>>>.] (89%, time left: 0 sec) 
                         : [>>>>>>>>>>>>>>.] (90%, time left: 0 sec) 
                         : [>>>>>>>>>>>>>>.] (92%, time left: 0 sec) 
                         : [>>>>>>>>>>>>>>.] (93%, time left: 0 sec) 
                         : [>>>>>>>>>>>>>>>] (95%, time left: 0 sec) 
                         : [>>>>>>>>>>>>>>>] (96%, time left: 0 sec) 
                         : [>>>>>>>>>>>>>>>] (98%, time left: 0 sec) 
                         : [>>>>>>>>>>>>>>>] (100%, time left: 0 sec) 
                         : [...............] (0%, time left: unknown) 
                         : [...............] (0%, time left: 0 sec) 
                         : [...............] (0%, time left: 0 sec) 
                         : [...............] (0%, time left: 0 sec) 
                         : [...............] (0%, time left: 0 sec) 
                         : [...............] (0%, time left: 0 sec) 
                         : [...............] (0%, time left: 0 sec) 
                         : [...............] (0%, time left: 0 sec) 
                         : [...............] (0%, time left: 0 sec) 
                         : [...............] (1%, time left: 0 sec) 
                         : [...............] (1%, time left: 0 sec) 
                         : [...............] (1%, time left: 0 sec) 
                         : [...............] (1%, time left: 0 sec) 
                         : [...............] (1%, time left: 0 sec) 
                         : [...............] (1%, time left: 0 sec) 
                         : [...............] (1%, time left: 0 sec) 
                         : [...............] (1%, time left: 0 sec) 
                         : [...............] (1%, time left: 0 sec) 
                         : [...............] (1%, time left: 0 sec) 
                         : [...............] (2%, time left: 0 sec) 
                         : [...............] (2%, time left: 0 sec) 
                         : [...............] (2%, time left: 0 sec) 
                         : [...............] (2%, time left: 0 sec) 
                         : [...............] (2%, time left: 0 sec) 
                         : [...............] (2%, time left: 0 sec) 
                         : [...............] (2%, time left: 0 sec) 
                         : [...............] (2%, time left: 0 sec) 
                         : [...............] (2%, time left: 0 sec) 
                         : [...............] (2%, time left: 0 sec) 
                         : [...............] (3%, time left: 0 sec) 
                         : [...............] (3%, time left: 0 sec) 
                         : [...............] (3%, time left: 0 sec) 
                         : [...............] (3%, time left: 0 sec) 
                         : [...............] (3%, time left: 0 sec) 
                         : [...............] (3%, time left: 0 sec) 
                         : [...............] (3%, time left: 0 sec) 
                         : [...............] (3%, time left: 0 sec) 
                         : [...............] (3%, time left: 0 sec) 
                         : [...............] (3%, time left: 0 sec) 
                         : [...............] (4%, time left: 0 sec) 
                         : [...............] (4%, time left: 0 sec) 
                         : [...............] (4%, time left: 0 sec) 
                         : [...............] (4%, time left: 0 sec) 
                         : [...............] (4%, time left: 0 sec) 
                         : [...............] (4%, time left: 0 sec) 
                         : [...............] (4%, time left: 0 sec) 
                         : [...............] (4%, time left: 0 sec) 
                         : [...............] (4%, time left: 0 sec) 
                         : [...............] (4%, time left: 0 sec) 
                         : [...............] (5%, time left: 0 sec) 
                         : [...............] (5%, time left: 0 sec) 
                         : [...............] (5%, time left: 0 sec) 
                         : [...............] (5%, time left: 0 sec) 
                         : [...............] (5%, time left: 0 sec) 
                         : [...............] (5%, time left: 0 sec) 
                         : [...............] (5%, time left: 0 sec) 
                         : [...............] (5%, time left: 0 sec) 
                         : [...............] (5%, time left: 0 sec) 
                         : [...............] (5%, time left: 0 sec) 
                         : [...............] (6%, time left: 0 sec) 
                         : [...............] (6%, time left: 0 sec) 
                         : [...............] (6%, time left: 0 sec) 
                         : [...............] (6%, time left: 0 sec) 
                         : [>..............] (6%, time left: 0 sec) 
                         : [>..............] (6%, time left: 0 sec) 
                         : [>..............] (6%, time left: 0 sec) 
                         : [>..............] (6%, time left: 0 sec) 
                         : [>..............] (6%, time left: 0 sec) 
                         : [>..............] (6%, time left: 0 sec) 
                         : [>..............] (7%, time left: 0 sec) 
                         : [>..............] (7%, time left: 0 sec) 
                         : [>..............] (7%, time left: 0 sec) 
                         : [>..............] (7%, time left: 0 sec) 
                         : [>..............] (7%, time left: 0 sec) 
                         : [>..............] (7%, time left: 0 sec) 
                         : [>..............] (7%, time left: 0 sec) 
                         : [>..............] (7%, time left: 0 sec) 
                         : [>..............] (7%, time left: 0 sec) 
                         : [>..............] (7%, time left: 0 sec) 
                         : [>..............] (8%, time left: 0 sec) 
                         : [>..............] (8%, time left: 0 sec) 
                         : [>..............] (8%, time left: 0 sec) 
                         : [>..............] (8%, time left: 0 sec) 
                         : [>..............] (8%, time left: 0 sec) 
                         : [>..............] (8%, time left: 0 sec) 
                         : [>..............] (8%, time left: 0 sec) 
                         : [>..............] (8%, time left: 0 sec) 
                         : [>..............] (8%, time left: 0 sec) 
                         : [>..............] (8%, time left: 0 sec) 
                         : [>..............] (9%, time left: 0 sec) 
                         : [>..............] (9%, time left: 0 sec) 
                         : [>..............] (9%, time left: 0 sec) 
                         : [>..............] (9%, time left: 0 sec) 
                         : [>..............] (9%, time left: 0 sec) 
                         : [>..............] (9%, time left: 0 sec) 
                         : [>..............] (9%, time left: 0 sec) 
                         : [>..............] (9%, time left: 0 sec) 
                         : [>..............] (9%, time left: 0 sec) 
                         : [>..............] (9%, time left: 0 sec) 
                         : [>..............] (10%, time left: 0 sec) 
                         : [>..............] (10%, time left: 0 sec) 
                         : [>..............] (10%, time left: 0 sec) 
                         : [>..............] (10%, time left: 0 sec) 
                         : [>..............] (10%, time left: 0 sec) 
                         : [>..............] (10%, time left: 0 sec) 
                         : [>..............] (10%, time left: 0 sec) 
                         : [>..............] (10%, time left: 0 sec) 
                         : [>..............] (10%, time left: 0 sec) 
                         : [>..............] (10%, time left: 0 sec) 
                         : [>..............] (11%, time left: 0 sec) 
                         : [>..............] (11%, time left: 0 sec) 
                         : [>..............] (11%, time left: 0 sec) 
                         : [>..............] (11%, time left: 0 sec) 
                         : [>..............] (11%, time left: 0 sec) 
                         : [>..............] (11%, time left: 0 sec) 
                         : [>..............] (11%, time left: 0 sec) 
                         : [>..............] (11%, time left: 0 sec) 
                         : [>..............] (11%, time left: 0 sec) 
                         : [>..............] (11%, time left: 0 sec) 
                         : [>..............] (12%, time left: 0 sec) 
                         : [>..............] (12%, time left: 0 sec) 
                         : [>..............] (12%, time left: 0 sec) 
                         : [>..............] (12%, time left: 0 sec) 
                         : [>..............] (12%, time left: 0 sec) 
                         : [>..............] (12%, time left: 0 sec) 
                         : [>>.............] (12%, time left: 0 sec) 
                         : [>>.............] (12%, time left: 0 sec) 
                         : [>>.............] (12%, time left: 0 sec) 
                         : [>>.............] (12%, time left: 0 sec) 
                         : [>>.............] (13%, time left: 0 sec) 
                         : [>>.............] (13%, time left: 0 sec) 
                         : [>>.............] (13%, time left: 0 sec) 
                         : [>>.............] (13%, time left: 0 sec) 
                         : [>>.............] (13%, time left: 0 sec) 
                         : [>>.............] (13%, time left: 0 sec) 
                         : [>>.............] (13%, time left: 0 sec) 
                         : [>>.............] (13%, time left: 0 sec) 
                         : [>>.............] (13%, time left: 0 sec) 
                         : [>>.............] (13%, time left: 0 sec) 
                         : [>>.............] (14%, time left: 0 sec) 
                         : [>>.............] (14%, time left: 0 sec) 
                         : [>>.............] (14%, time left: 0 sec) 
                         : [>>.............] (14%, time left: 0 sec) 
                         : [>>.............] (14%, time left: 0 sec) 
                         : [>>.............] (14%, time left: 0 sec) 
                         : [>>.............] (14%, time left: 0 sec) 
                         : [>>.............] (14%, time left: 0 sec) 
                         : [>>.............] (14%, time left: 0 sec) 
                         : [>>.............] (14%, time left: 0 sec) 
                         : [>>.............] (15%, time left: 0 sec) 
                         : [>>.............] (15%, time left: 0 sec) 
                         : [>>.............] (15%, time left: 0 sec) 
                         : [>>.............] (15%, time left: 0 sec) 
                         : [>>.............] (15%, time left: 0 sec) 
                         : [>>.............] (15%, time left: 0 sec) 
                         : [>>.............] (15%, time left: 0 sec) 
                         : [>>.............] (15%, time left: 0 sec) 
                         : [>>.............] (15%, time left: 0 sec) 
                         : [>>.............] (15%, time left: 0 sec) 
                         : [>>.............] (16%, time left: 0 sec) 
                         : [>>.............] (16%, time left: 0 sec) 
                         : [>>.............] (16%, time left: 0 sec) 
                         : [>>.............] (16%, time left: 0 sec) 
                         : [>>.............] (16%, time left: 0 sec) 
                         : [>>.............] (16%, time left: 0 sec) 
                         : [>>.............] (16%, time left: 0 sec) 
                         : [>>.............] (16%, time left: 0 sec) 
                         : [>>.............] (16%, time left: 0 sec) 
                         : [>>.............] (16%, time left: 0 sec) 
                         : [>>.............] (17%, time left: 0 sec) 
                         : [>>.............] (17%, time left: 0 sec) 
                         : [>>.............] (17%, time left: 0 sec) 
                         : [>>.............] (17%, time left: 0 sec) 
                         : [>>.............] (17%, time left: 0 sec) 
                         : [>>.............] (17%, time left: 0 sec) 
                         : [>>.............] (17%, time left: 0 sec) 
                         : [>>.............] (17%, time left: 0 sec) 
                         : [>>.............] (17%, time left: 0 sec) 
                         : [>>.............] (17%, time left: 0 sec) 
                         : [>>.............] (18%, time left: 0 sec) 
                         : [>>.............] (18%, time left: 0 sec) 
                         : [>>.............] (18%, time left: 0 sec) 
                         : [>>.............] (18%, time left: 0 sec) 
                         : [>>.............] (18%, time left: 0 sec) 
                         : [>>.............] (18%, time left: 0 sec) 
                         : [>>.............] (18%, time left: 0 sec) 
                         : [>>.............] (18%, time left: 0 sec) 
                         : [>>.............] (18%, time left: 0 sec) 
                         : [>>>............] (18%, time left: 0 sec) 
                         : [>>>............] (19%, time left: 0 sec) 
                         : [>>>............] (19%, time left: 0 sec) 
                         : [>>>............] (19%, time left: 0 sec) 
                         : [>>>............] (19%, time left: 0 sec) 
                         : [>>>............] (19%, time left: 0 sec) 
                         : [>>>............] (19%, time left: 0 sec) 
                         : [>>>............] (19%, time left: 0 sec) 
                         : [>>>............] (19%, time left: 0 sec) 
                         : [>>>............] (19%, time left: 0 sec) 
                         : [>>>............] (19%, time left: 0 sec) 
                         : [>>>............] (20%, time left: 0 sec) 
                         : [>>>............] (20%, time left: 0 sec) 
                         : [>>>............] (20%, time left: 0 sec) 
                         : [>>>............] (20%, time left: 0 sec) 
                         : [>>>............] (20%, time left: 0 sec) 
                         : [>>>............] (20%, time left: 0 sec) 
                         : [>>>............] (20%, time left: 0 sec) 
                         : [>>>............] (20%, time left: 0 sec) 
                         : [>>>............] (20%, time left: 0 sec) 
                         : [>>>............] (20%, time left: 0 sec) 
                         : [>>>............] (21%, time left: 0 sec) 
                         : [>>>............] (21%, time left: 0 sec) 
                         : [>>>............] (21%, time left: 0 sec) 
                         : [>>>............] (21%, time left: 0 sec) 
                         : [>>>............] (21%, time left: 0 sec) 
                         : [>>>............] (21%, time left: 0 sec) 
                         : [>>>............] (21%, time left: 0 sec) 
                         : [>>>............] (21%, time left: 0 sec) 
                         : [>>>............] (21%, time left: 0 sec) 
                         : [>>>............] (21%, time left: 0 sec) 
                         : [>>>............] (22%, time left: 0 sec) 
                         : [>>>............] (22%, time left: 0 sec) 
                         : [>>>............] (22%, time left: 0 sec) 
                         : [>>>............] (22%, time left: 0 sec) 
                         : [>>>............] (22%, time left: 0 sec) 
                         : [>>>............] (22%, time left: 0 sec) 
                         : [>>>............] (22%, time left: 0 sec) 
                         : [>>>............] (22%, time left: 0 sec) 
                         : [>>>............] (22%, time left: 0 sec) 
                         : [>>>............] (22%, time left: 0 sec) 
                         : [>>>............] (23%, time left: 0 sec) 
                         : [>>>............] (23%, time left: 0 sec) 
                         : [>>>............] (23%, time left: 0 sec) 
                         : [>>>............] (23%, time left: 0 sec) 
                         : [>>>............] (23%, time left: 0 sec) 
                         : [>>>............] (23%, time left: 0 sec) 
                         : [>>>............] (23%, time left: 0 sec) 
                         : [>>>............] (23%, time left: 0 sec) 
                         : [>>>............] (23%, time left: 0 sec) 
                         : [>>>............] (23%, time left: 0 sec) 
                         : [>>>............] (24%, time left: 0 sec) 
                         : [>>>............] (24%, time left: 0 sec) 
                         : [>>>............] (24%, time left: 0 sec) 
                         : [>>>............] (24%, time left: 0 sec) 
                         : [>>>............] (24%, time left: 0 sec) 
                         : [>>>............] (24%, time left: 0 sec) 
                         : [>>>............] (24%, time left: 0 sec) 
                         : [>>>............] (24%, time left: 0 sec) 
                         : [>>>............] (24%, time left: 0 sec) 
                         : [>>>............] (24%, time left: 0 sec) 
                         : [>>>............] (25%, time left: 0 sec) 
                         : [>>>>...........] (25%, time left: 0 sec) 
                         : [>>>>...........] (25%, time left: 0 sec) 
                         : [>>>>...........] (25%, time left: 0 sec) 
                         : [>>>>...........] (25%, time left: 0 sec) 
                         : [>>>>...........] (25%, time left: 0 sec) 
                         : [>>>>...........] (25%, time left: 0 sec) 
                         : [>>>>...........] (25%, time left: 0 sec) 
                         : [>>>>...........] (25%, time left: 0 sec) 
                         : [>>>>...........] (25%, time left: 0 sec) 
                         : [>>>>...........] (26%, time left: 0 sec) 
                         : [>>>>...........] (26%, time left: 0 sec) 
                         : [>>>>...........] (26%, time left: 0 sec) 
                         : [>>>>...........] (26%, time left: 0 sec) 
                         : [>>>>...........] (26%, time left: 0 sec) 
                         : [>>>>...........] (26%, time left: 0 sec) 
                         : [>>>>...........] (26%, time left: 0 sec) 
                         : [>>>>...........] (26%, time left: 0 sec) 
                         : [>>>>...........] (26%, time left: 0 sec) 
                         : [>>>>...........] (26%, time left: 0 sec) 
                         : [>>>>...........] (27%, time left: 0 sec) 
                         : [>>>>...........] (27%, time left: 0 sec) 
                         : [>>>>...........] (27%, time left: 0 sec) 
                         : [>>>>...........] (27%, time left: 0 sec) 
                         : [>>>>...........] (27%, time left: 0 sec) 
                         : [>>>>...........] (27%, time left: 0 sec) 
                         : [>>>>...........] (27%, time left: 0 sec) 
                         : [>>>>...........] (27%, time left: 0 sec) 
                         : [>>>>...........] (27%, time left: 0 sec) 
                         : [>>>>...........] (27%, time left: 0 sec) 
                         : [>>>>...........] (28%, time left: 0 sec) 
                         : [>>>>...........] (28%, time left: 0 sec) 
                         : [>>>>...........] (28%, time left: 0 sec) 
                         : [>>>>...........] (28%, time left: 0 sec) 
                         : [>>>>...........] (28%, time left: 0 sec) 
                         : [>>>>...........] (28%, time left: 0 sec) 
                         : [>>>>...........] (28%, time left: 0 sec) 
                         : [>>>>...........] (28%, time left: 0 sec) 
                         : [>>>>...........] (28%, time left: 0 sec) 
                         : [>>>>...........] (28%, time left: 0 sec) 
                         : [>>>>...........] (29%, time left: 0 sec) 
                         : [>>>>...........] (29%, time left: 0 sec) 
                         : [>>>>...........] (29%, time left: 0 sec) 
                         : [>>>>...........] (29%, time left: 0 sec) 
                         : [>>>>...........] (29%, time left: 0 sec) 
                         : [>>>>...........] (29%, time left: 0 sec) 
                         : [>>>>...........] (29%, time left: 0 sec) 
                         : [>>>>...........] (29%, time left: 0 sec) 
                         : [>>>>...........] (29%, time left: 0 sec) 
                         : [>>>>...........] (29%, time left: 0 sec) 
                         : [>>>>...........] (30%, time left: 0 sec) 
                         : [>>>>...........] (30%, time left: 0 sec) 
                         : [>>>>...........] (30%, time left: 0 sec) 
                         : [>>>>...........] (30%, time left: 0 sec) 
                         : [>>>>...........] (30%, time left: 0 sec) 
                         : [>>>>...........] (30%, time left: 0 sec) 
                         : [>>>>...........] (30%, time left: 0 sec) 
                         : [>>>>...........] (30%, time left: 0 sec) 
                         : [>>>>...........] (30%, time left: 0 sec) 
                         : [>>>>...........] (30%, time left: 0 sec) 
                         : [>>>>...........] (31%, time left: 0 sec) 
                         : [>>>>...........] (31%, time left: 0 sec) 
                         : [>>>>...........] (31%, time left: 0 sec) 
                         : [>>>>...........] (31%, time left: 0 sec) 
                         : [>>>>>..........] (31%, time left: 0 sec) 
                         : [>>>>>..........] (31%, time left: 0 sec) 
                         : [>>>>>..........] (31%, time left: 0 sec) 
                         : [>>>>>..........] (31%, time left: 0 sec) 
                         : [>>>>>..........] (31%, time left: 0 sec) 
                         : [>>>>>..........] (31%, time left: 0 sec) 
                         : [>>>>>..........] (32%, time left: 0 sec) 
                         : [>>>>>..........] (32%, time left: 0 sec) 
                         : [>>>>>..........] (32%, time left: 0 sec) 
                         : [>>>>>..........] (32%, time left: 0 sec) 
                         : [>>>>>..........] (32%, time left: 0 sec) 
                         : [>>>>>..........] (32%, time left: 0 sec) 
                         : [>>>>>..........] (32%, time left: 0 sec) 
                         : [>>>>>..........] (32%, time left: 0 sec) 
                         : [>>>>>..........] (32%, time left: 0 sec) 
                         : [>>>>>..........] (32%, time left: 0 sec) 
                         : [>>>>>..........] (33%, time left: 0 sec) 
                         : [>>>>>..........] (33%, time left: 0 sec) 
                         : [>>>>>..........] (33%, time left: 0 sec) 
                         : [>>>>>..........] (33%, time left: 0 sec) 
                         : [>>>>>..........] (33%, time left: 0 sec) 
                         : [>>>>>..........] (33%, time left: 0 sec) 
                         : [>>>>>..........] (33%, time left: 0 sec) 
                         : [>>>>>..........] (33%, time left: 0 sec) 
                         : [>>>>>..........] (33%, time left: 0 sec) 
                         : [>>>>>..........] (33%, time left: 0 sec) 
                         : [>>>>>..........] (34%, time left: 0 sec) 
                         : [>>>>>..........] (34%, time left: 0 sec) 
                         : [>>>>>..........] (34%, time left: 0 sec) 
                         : [>>>>>..........] (34%, time left: 0 sec) 
                         : [>>>>>..........] (34%, time left: 0 sec) 
                         : [>>>>>..........] (34%, time left: 0 sec) 
                         : [>>>>>..........] (34%, time left: 0 sec) 
                         : [>>>>>..........] (34%, time left: 0 sec) 
                         : [>>>>>..........] (34%, time left: 0 sec) 
                         : [>>>>>..........] (34%, time left: 0 sec) 
                         : [>>>>>..........] (35%, time left: 0 sec) 
                         : [>>>>>..........] (35%, time left: 0 sec) 
                         : [>>>>>..........] (35%, time left: 0 sec) 
                         : [>>>>>..........] (35%, time left: 0 sec) 
                         : [>>>>>..........] (35%, time left: 0 sec) 
                         : [>>>>>..........] (35%, time left: 0 sec) 
                         : [>>>>>..........] (35%, time left: 0 sec) 
                         : [>>>>>..........] (35%, time left: 0 sec) 
                         : [>>>>>..........] (35%, time left: 0 sec) 
                         : [>>>>>..........] (35%, time left: 0 sec) 
                         : [>>>>>..........] (36%, time left: 0 sec) 
                         : [>>>>>..........] (36%, time left: 0 sec) 
                         : [>>>>>..........] (36%, time left: 0 sec) 
                         : [>>>>>..........] (36%, time left: 0 sec) 
                         : [>>>>>..........] (36%, time left: 0 sec) 
                         : [>>>>>..........] (36%, time left: 0 sec) 
                         : [>>>>>..........] (36%, time left: 0 sec) 
                         : [>>>>>..........] (36%, time left: 0 sec) 
                         : [>>>>>..........] (36%, time left: 0 sec) 
                         : [>>>>>..........] (36%, time left: 0 sec) 
                         : [>>>>>..........] (37%, time left: 0 sec) 
                         : [>>>>>..........] (37%, time left: 0 sec) 
                         : [>>>>>..........] (37%, time left: 0 sec) 
                         : [>>>>>..........] (37%, time left: 0 sec) 
                         : [>>>>>..........] (37%, time left: 0 sec) 
                         : [>>>>>..........] (37%, time left: 0 sec) 
                         : [>>>>>>.........] (37%, time left: 0 sec) 
                         : [>>>>>>.........] (37%, time left: 0 sec) 
                         : [>>>>>>.........] (37%, time left: 0 sec) 
                         : [>>>>>>.........] (37%, time left: 0 sec) 
                         : [>>>>>>.........] (38%, time left: 0 sec) 
                         : [>>>>>>.........] (38%, time left: 0 sec) 
                         : [>>>>>>.........] (38%, time left: 0 sec) 
                         : [>>>>>>.........] (38%, time left: 0 sec) 
                         : [>>>>>>.........] (38%, time left: 0 sec) 
                         : [>>>>>>.........] (38%, time left: 0 sec) 
                         : [>>>>>>.........] (38%, time left: 0 sec) 
                         : [>>>>>>.........] (38%, time left: 0 sec) 
                         : [>>>>>>.........] (38%, time left: 0 sec) 
                         : [>>>>>>.........] (38%, time left: 0 sec) 
                         : [>>>>>>.........] (39%, time left: 0 sec) 
                         : [>>>>>>.........] (39%, time left: 0 sec) 
                         : [>>>>>>.........] (39%, time left: 0 sec) 
                         : [>>>>>>.........] (39%, time left: 0 sec) 
                         : [>>>>>>.........] (39%, time left: 0 sec) 
                         : [>>>>>>.........] (39%, time left: 0 sec) 
                         : [>>>>>>.........] (39%, time left: 0 sec) 
                         : [>>>>>>.........] (39%, time left: 0 sec) 
                         : [>>>>>>.........] (39%, time left: 0 sec) 
                         : [>>>>>>.........] (39%, time left: 0 sec) 
                         : [>>>>>>.........] (40%, time left: 0 sec) 
                         : [>>>>>>.........] (40%, time left: 0 sec) 
                         : [>>>>>>.........] (40%, time left: 0 sec) 
                         : [>>>>>>.........] (40%, time left: 0 sec) 
                         : [>>>>>>.........] (40%, time left: 0 sec) 
                         : [>>>>>>.........] (40%, time left: 0 sec) 
                         : [>>>>>>.........] (40%, time left: 0 sec) 
                         : [>>>>>>.........] (40%, time left: 0 sec) 
                         : [>>>>>>.........] (40%, time left: 0 sec) 
                         : [>>>>>>.........] (40%, time left: 0 sec) 
                         : [>>>>>>.........] (41%, time left: 0 sec) 
                         : [>>>>>>.........] (41%, time left: 0 sec) 
                         : [>>>>>>.........] (41%, time left: 0 sec) 
                         : [>>>>>>.........] (41%, time left: 0 sec) 
                         : [>>>>>>.........] (41%, time left: 0 sec) 
                         : [>>>>>>.........] (41%, time left: 0 sec) 
                         : [>>>>>>.........] (41%, time left: 0 sec) 
                         : [>>>>>>.........] (41%, time left: 0 sec) 
                         : [>>>>>>.........] (41%, time left: 0 sec) 
                         : [>>>>>>.........] (41%, time left: 0 sec) 
                         : [>>>>>>.........] (42%, time left: 0 sec) 
                         : [>>>>>>.........] (42%, time left: 0 sec) 
                         : [>>>>>>.........] (42%, time left: 0 sec) 
                         : [>>>>>>.........] (42%, time left: 0 sec) 
                         : [>>>>>>.........] (42%, time left: 0 sec) 
                         : [>>>>>>.........] (42%, time left: 0 sec) 
                         : [>>>>>>.........] (42%, time left: 0 sec) 
                         : [>>>>>>.........] (42%, time left: 0 sec) 
                         : [>>>>>>.........] (42%, time left: 0 sec) 
                         : [>>>>>>.........] (42%, time left: 0 sec) 
                         : [>>>>>>.........] (43%, time left: 0 sec) 
                         : [>>>>>>.........] (43%, time left: 0 sec) 
                         : [>>>>>>.........] (43%, time left: 0 sec) 
                         : [>>>>>>.........] (43%, time left: 0 sec) 
                         : [>>>>>>.........] (43%, time left: 0 sec) 
                         : [>>>>>>.........] (43%, time left: 0 sec) 
                         : [>>>>>>.........] (43%, time left: 0 sec) 
                         : [>>>>>>.........] (43%, time left: 0 sec) 
                         : [>>>>>>.........] (43%, time left: 0 sec) 
                         : [>>>>>>>........] (43%, time left: 0 sec) 
                         : [>>>>>>>........] (44%, time left: 0 sec) 
                         : [>>>>>>>........] (44%, time left: 0 sec) 
                         : [>>>>>>>........] (44%, time left: 0 sec) 
                         : [>>>>>>>........] (44%, time left: 0 sec) 
                         : [>>>>>>>........] (44%, time left: 0 sec) 
                         : [>>>>>>>........] (44%, time left: 0 sec) 
                         : [>>>>>>>........] (44%, time left: 0 sec) 
                         : [>>>>>>>........] (44%, time left: 0 sec) 
                         : [>>>>>>>........] (44%, time left: 0 sec) 
                         : [>>>>>>>........] (44%, time left: 0 sec) 
                         : [>>>>>>>........] (45%, time left: 0 sec) 
                         : [>>>>>>>........] (45%, time left: 0 sec) 
                         : [>>>>>>>........] (45%, time left: 0 sec) 
                         : [>>>>>>>........] (45%, time left: 0 sec) 
                         : [>>>>>>>........] (45%, time left: 0 sec) 
                         : [>>>>>>>........] (45%, time left: 0 sec) 
                         : [>>>>>>>........] (45%, time left: 0 sec) 
                         : [>>>>>>>........] (45%, time left: 0 sec) 
                         : [>>>>>>>........] (45%, time left: 0 sec) 
                         : [>>>>>>>........] (45%, time left: 0 sec) 
                         : [>>>>>>>........] (46%, time left: 0 sec) 
                         : [>>>>>>>........] (46%, time left: 0 sec) 
                         : [>>>>>>>........] (46%, time left: 0 sec) 
                         : [>>>>>>>........] (46%, time left: 0 sec) 
                         : [>>>>>>>........] (46%, time left: 0 sec) 
                         : [>>>>>>>........] (46%, time left: 0 sec) 
                         : [>>>>>>>........] (46%, time left: 0 sec) 
                         : [>>>>>>>........] (46%, time left: 0 sec) 
                         : [>>>>>>>........] (46%, time left: 0 sec) 
                         : [>>>>>>>........] (46%, time left: 0 sec) 
                         : [>>>>>>>........] (47%, time left: 0 sec) 
                         : [>>>>>>>........] (47%, time left: 0 sec) 
                         : [>>>>>>>........] (47%, time left: 0 sec) 
                         : [>>>>>>>........] (47%, time left: 0 sec) 
                         : [>>>>>>>........] (47%, time left: 0 sec) 
                         : [>>>>>>>........] (47%, time left: 0 sec) 
                         : [>>>>>>>........] (47%, time left: 0 sec) 
                         : [>>>>>>>........] (47%, time left: 0 sec) 
                         : [>>>>>>>........] (47%, time left: 0 sec) 
                         : [>>>>>>>........] (47%, time left: 0 sec) 
                         : [>>>>>>>........] (48%, time left: 0 sec) 
                         : [>>>>>>>........] (48%, time left: 0 sec) 
                         : [>>>>>>>........] (48%, time left: 0 sec) 
                         : [>>>>>>>........] (48%, time left: 0 sec) 
                         : [>>>>>>>........] (48%, time left: 0 sec) 
                         : [>>>>>>>........] (48%, time left: 0 sec) 
                         : [>>>>>>>........] (48%, time left: 0 sec) 
                         : [>>>>>>>........] (48%, time left: 0 sec) 
                         : [>>>>>>>........] (48%, time left: 0 sec) 
                         : [>>>>>>>........] (48%, time left: 0 sec) 
                         : [>>>>>>>........] (49%, time left: 0 sec) 
                         : [>>>>>>>........] (49%, time left: 0 sec) 
                         : [>>>>>>>........] (49%, time left: 0 sec) 
                         : [>>>>>>>........] (49%, time left: 0 sec) 
                         : [>>>>>>>........] (49%, time left: 0 sec) 
                         : [>>>>>>>........] (49%, time left: 0 sec) 
                         : [>>>>>>>........] (49%, time left: 0 sec) 
                         : [>>>>>>>........] (49%, time left: 0 sec) 
                         : [>>>>>>>........] (49%, time left: 0 sec) 
                         : [>>>>>>>........] (49%, time left: 0 sec) 
                         : [>>>>>>>........] (50%, time left: 0 sec) 
                         : [>>>>>>>>.......] (50%, time left: 0 sec) 
                         : [>>>>>>>>.......] (50%, time left: 0 sec) 
                         : [>>>>>>>>.......] (50%, time left: 0 sec) 
                         : [>>>>>>>>.......] (50%, time left: 0 sec) 
                         : [>>>>>>>>.......] (50%, time left: 0 sec) 
                         : [>>>>>>>>.......] (50%, time left: 0 sec) 
                         : [>>>>>>>>.......] (50%, time left: 0 sec) 
                         : [>>>>>>>>.......] (50%, time left: 0 sec) 
                         : [>>>>>>>>.......] (50%, time left: 0 sec) 
                         : [>>>>>>>>.......] (51%, time left: 0 sec) 
                         : [>>>>>>>>.......] (51%, time left: 0 sec) 
                         : [>>>>>>>>.......] (51%, time left: 0 sec) 
                         : [>>>>>>>>.......] (51%, time left: 0 sec) 
                         : [>>>>>>>>.......] (51%, time left: 0 sec) 
                         : [>>>>>>>>.......] (51%, time left: 0 sec) 
                         : [>>>>>>>>.......] (51%, time left: 0 sec) 
                         : [>>>>>>>>.......] (51%, time left: 0 sec) 
                         : [>>>>>>>>.......] (51%, time left: 0 sec) 
                         : [>>>>>>>>.......] (51%, time left: 0 sec) 
                         : [>>>>>>>>.......] (52%, time left: 0 sec) 
                         : [>>>>>>>>.......] (52%, time left: 0 sec) 
                         : [>>>>>>>>.......] (52%, time left: 0 sec) 
                         : [>>>>>>>>.......] (52%, time left: 0 sec) 
                         : [>>>>>>>>.......] (52%, time left: 0 sec) 
                         : [>>>>>>>>.......] (52%, time left: 0 sec) 
                         : [>>>>>>>>.......] (52%, time left: 0 sec) 
                         : [>>>>>>>>.......] (52%, time left: 0 sec) 
                         : [>>>>>>>>.......] (52%, time left: 0 sec) 
                         : [>>>>>>>>.......] (52%, time left: 0 sec) 
                         : [>>>>>>>>.......] (53%, time left: 0 sec) 
                         : [>>>>>>>>.......] (53%, time left: 0 sec) 
                         : [>>>>>>>>.......] (53%, time left: 0 sec) 
                         : [>>>>>>>>.......] (53%, time left: 0 sec) 
                         : [>>>>>>>>.......] (53%, time left: 0 sec) 
                         : [>>>>>>>>.......] (53%, time left: 0 sec) 
                         : [>>>>>>>>.......] (53%, time left: 0 sec) 
                         : [>>>>>>>>.......] (53%, time left: 0 sec) 
                         : [>>>>>>>>.......] (53%, time left: 0 sec) 
                         : [>>>>>>>>.......] (53%, time left: 0 sec) 
                         : [>>>>>>>>.......] (54%, time left: 0 sec) 
                         : [>>>>>>>>.......] (54%, time left: 0 sec) 
                         : [>>>>>>>>.......] (54%, time left: 0 sec) 
                         : [>>>>>>>>.......] (54%, time left: 0 sec) 
                         : [>>>>>>>>.......] (54%, time left: 0 sec) 
                         : [>>>>>>>>.......] (54%, time left: 0 sec) 
                         : [>>>>>>>>.......] (54%, time left: 0 sec) 
                         : [>>>>>>>>.......] (54%, time left: 0 sec) 
                         : [>>>>>>>>.......] (54%, time left: 0 sec) 
                         : [>>>>>>>>.......] (54%, time left: 0 sec) 
                         : [>>>>>>>>.......] (55%, time left: 0 sec) 
                         : [>>>>>>>>.......] (55%, time left: 0 sec) 
                         : [>>>>>>>>.......] (55%, time left: 0 sec) 
                         : [>>>>>>>>.......] (55%, time left: 0 sec) 
                         : [>>>>>>>>.......] (55%, time left: 0 sec) 
                         : [>>>>>>>>.......] (55%, time left: 0 sec) 
                         : [>>>>>>>>.......] (55%, time left: 0 sec) 
                         : [>>>>>>>>.......] (55%, time left: 0 sec) 
                         : [>>>>>>>>.......] (55%, time left: 0 sec) 
                         : [>>>>>>>>.......] (55%, time left: 0 sec) 
                         : [>>>>>>>>.......] (56%, time left: 0 sec) 
                         : [>>>>>>>>.......] (56%, time left: 0 sec) 
                         : [>>>>>>>>.......] (56%, time left: 0 sec) 
                         : [>>>>>>>>.......] (56%, time left: 0 sec) 
                         : [>>>>>>>>>......] (56%, time left: 0 sec) 
                         : [>>>>>>>>>......] (56%, time left: 0 sec) 
                         : [>>>>>>>>>......] (56%, time left: 0 sec) 
                         : [>>>>>>>>>......] (56%, time left: 0 sec) 
                         : [>>>>>>>>>......] (56%, time left: 0 sec) 
                         : [>>>>>>>>>......] (56%, time left: 0 sec) 
                         : [>>>>>>>>>......] (57%, time left: 0 sec) 
                         : [>>>>>>>>>......] (57%, time left: 0 sec) 
                         : [>>>>>>>>>......] (57%, time left: 0 sec) 
                         : [>>>>>>>>>......] (57%, time left: 0 sec) 
                         : [>>>>>>>>>......] (57%, time left: 0 sec) 
                         : [>>>>>>>>>......] (57%, time left: 0 sec) 
                         : [>>>>>>>>>......] (57%, time left: 0 sec) 
                         : [>>>>>>>>>......] (57%, time left: 0 sec) 
                         : [>>>>>>>>>......] (57%, time left: 0 sec) 
                         : [>>>>>>>>>......] (57%, time left: 0 sec) 
                         : [>>>>>>>>>......] (58%, time left: 0 sec) 
                         : [>>>>>>>>>......] (58%, time left: 0 sec) 
                         : [>>>>>>>>>......] (58%, time left: 0 sec) 
                         : [>>>>>>>>>......] (58%, time left: 0 sec) 
                         : [>>>>>>>>>......] (58%, time left: 0 sec) 
                         : [>>>>>>>>>......] (58%, time left: 0 sec) 
                         : [>>>>>>>>>......] (58%, time left: 0 sec) 
                         : [>>>>>>>>>......] (58%, time left: 0 sec) 
                         : [>>>>>>>>>......] (58%, time left: 0 sec) 
                         : [>>>>>>>>>......] (58%, time left: 0 sec) 
                         : [>>>>>>>>>......] (59%, time left: 0 sec) 
                         : [>>>>>>>>>......] (59%, time left: 0 sec) 
                         : [>>>>>>>>>......] (59%, time left: 0 sec) 
                         : [>>>>>>>>>......] (59%, time left: 0 sec) 
                         : [>>>>>>>>>......] (59%, time left: 0 sec) 
                         : [>>>>>>>>>......] (59%, time left: 0 sec) 
                         : [>>>>>>>>>......] (59%, time left: 0 sec) 
                         : [>>>>>>>>>......] (59%, time left: 0 sec) 
                         : [>>>>>>>>>......] (59%, time left: 0 sec) 
                         : [>>>>>>>>>......] (59%, time left: 0 sec) 
                         : [>>>>>>>>>......] (60%, time left: 0 sec) 
                         : [>>>>>>>>>......] (60%, time left: 0 sec) 
                         : [>>>>>>>>>......] (60%, time left: 0 sec) 
                         : [>>>>>>>>>......] (60%, time left: 0 sec) 
                         : [>>>>>>>>>......] (60%, time left: 0 sec) 
                         : [>>>>>>>>>......] (60%, time left: 0 sec) 
                         : [>>>>>>>>>......] (60%, time left: 0 sec) 
                         : [>>>>>>>>>......] (60%, time left: 0 sec) 
                         : [>>>>>>>>>......] (60%, time left: 0 sec) 
                         : [>>>>>>>>>......] (60%, time left: 0 sec) 
                         : [>>>>>>>>>......] (61%, time left: 0 sec) 
                         : [>>>>>>>>>......] (61%, time left: 0 sec) 
                         : [>>>>>>>>>......] (61%, time left: 0 sec) 
                         : [>>>>>>>>>......] (61%, time left: 0 sec) 
                         : [>>>>>>>>>......] (61%, time left: 0 sec) 
                         : [>>>>>>>>>......] (61%, time left: 0 sec) 
                         : [>>>>>>>>>......] (61%, time left: 0 sec) 
                         : [>>>>>>>>>......] (61%, time left: 0 sec) 
                         : [>>>>>>>>>......] (61%, time left: 0 sec) 
                         : [>>>>>>>>>......] (61%, time left: 0 sec) 
                         : [>>>>>>>>>......] (62%, time left: 0 sec) 
                         : [>>>>>>>>>......] (62%, time left: 0 sec) 
                         : [>>>>>>>>>......] (62%, time left: 0 sec) 
                         : [>>>>>>>>>......] (62%, time left: 0 sec) 
                         : [>>>>>>>>>......] (62%, time left: 0 sec) 
                         : [>>>>>>>>>......] (62%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (62%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (62%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (62%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (62%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (63%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (63%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (63%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (63%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (63%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (63%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (63%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (63%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (63%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (63%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (64%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (64%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (64%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (64%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (64%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (64%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (64%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (64%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (64%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (64%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (65%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (65%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (65%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (65%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (65%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (65%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (65%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (65%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (65%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (65%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (66%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (66%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (66%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (66%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (66%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (66%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (66%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (66%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (66%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (66%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (67%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (67%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (67%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (67%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (67%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (67%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (67%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (67%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (67%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (67%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (68%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (68%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (68%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (68%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (68%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (68%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (68%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (68%, time left: 0 sec) 
                         : [>>>>>>>>>>.....] (