[SCM] Lisaac compiler branch, master, updated. lisaac-0.12-473-g075fae9

sonntag (none) sonntag at isaac.
Thu Sep 10 15:39:54 UTC 2009


The following commit has been merged in the master branch:
commit 075fae9eddc7b15668855a5bc2e039ba12463df5
Author: sonntag <sonntag at isaac.(none)>
Date:   Thu Sep 10 17:39:47 2009 +0200

    Stable version

diff --git a/li2svg/acces.li b/li2svg/acces.li
new file mode 100644
index 0000000..0072449
--- /dev/null
+++ b/li2svg/acces.li
@@ -0,0 +1,27 @@
+
+
+Section Header
+  + name := ACCES;
+  
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="Prototype qui gère les différents type d'accès des méthodes et attributs";
+  
+Section Inherit 
+  - parent_object:OBJECT:=OBJECT;
+  
+Section Public
+  
+  //renvoit une chaine de caractèrs décrivant le type d'accès
+  + get_type :ABSTRACT_STRING<-
+  (
+    deferred;
+    "FALSE"
+  );
+
+  //renvoit le type d'accès au format UML (+,-,*)
+  + get_uml_type :STRING_CONSTANT<-
+  (
+    deferred;
+    "FALSE"
+  );
+  
\ No newline at end of file
diff --git a/li2svg/attribut.li b/li2svg/attribut.li
new file mode 100644
index 0000000..b3205f4
--- /dev/null
+++ b/li2svg/attribut.li
@@ -0,0 +1,67 @@
+
+Section Header
+  + name := ATTRIBUT;
+  
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="permet de stocker un attribut et de créer la chaine UML le décrivant";
+  
+  
+Section Inherit
+  
+  + parent_object:OBJECT := OBJECT;
+Section Private
+  
+  + nom:STRING;
+  + type_retour:STRING;
+  + type_acces:ACCES;
+  
+Section Public
+  
+  - make (n:STRING,type:STRING,acces:ACCES) <-
+  (
+    nom:=n;
+    type_retour:= type;
+    type_acces:=acces;
+  );
+  
+  - get_type_retour :STRING<-
+  (
+    type_retour
+  );
+  
+  - get_nom :STRING <-
+  (
+    nom
+  );
+  
+  - get_type_acces :ACCES <-
+  (
+    type_acces
+  );
+  
+  //renvoie l'attribut dans la bonne syntaxe pour UML
+  - get_uml_string :STRING <-				
+  (
+    + buffer:STRING;
+    buffer:=STRING.create 256;
+    buffer.copy "";
+    buffer.append (type_acces.get_uml_type);
+    buffer.append nom;
+    buffer.append (":");
+    buffer.append type_retour;
+    buffer
+  );
+  
+  - print <-
+  (
+    + buffer:STRING;
+    
+    buffer:=STRING.create 256;
+    buffer.copy "";
+    buffer.append (type_acces.get_uml_type);
+    buffer.append nom;
+    buffer.append (":");
+    buffer.append type_retour;
+    
+    buffer.print;
+  );
\ No newline at end of file
diff --git a/li2svg/ens_attributs.li b/li2svg/ens_attributs.li
new file mode 100644
index 0000000..f092ba3
--- /dev/null
+++ b/li2svg/ens_attributs.li
@@ -0,0 +1,95 @@
+/*******	Prototype qui permet de stocker les différents attributs de méthode ou de fichier	*******/
+
+
+Section Header
+  + name := ENS_ATTRIBUTS;
+  
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="Gère un ensemble d'attributs";
+  
+  
+Section Inherit
+  
+  + parent_linked_list: Expanded LINKED_LIST(ATTRIBUT);
+  
+Section Private
+  
+  //longueur maximale d'un attribut, permet de savoir avec quelle largeur construire le rectangle dans le diagramme
+  + taille_max:INTEGER;
+  //nombre de lignes, c'est à dire le nombre d'attributs de l'ensemble, utile également pour la construction du rectangle
+  + nb_lignes:INTEGER;
+  //contient la descrition de tous les attributs au format UML
+  + buffer:STRING;
+  
+Section Public
+  
+  - make <-
+  (
+    taille_max := 0;
+    nb_lignes := 0;
+    buffer := STRING.create 256;
+  );
+  
+  - ajouter a:ATTRIBUT <-
+  (
+    add_last a;
+  );
+  
+  //pour un ensemble d'attributs d'une méthode, renvoit juste les types de retour des attributs
+  - get_types_retour :STRING <-
+  (
+    + buf:STRING;
+    buf := STRING.create 10;
+    buf.copy "(";
+    (is_empty).if{
+      buf.append ")";
+    }else{
+      (lower).to (upper) do{ i:INTEGER;
+        buf.append ((item i).get_type_retour);
+        buf.append ",";
+      };
+      buf.copy (buf.substring 1 to (buf.count-1));
+      buf.append ")";
+    };
+    buf		
+  );
+  
+  //construit l'ensemble, en cherchant la taille maximal et le nombre de lignes
+  - build :STRING <-
+  (
+    taille_max := 0;
+    nb_lignes := 0;
+    (buffer = NULL).if {
+      buffer := STRING.create 256;
+    };
+    buffer.copy "";
+    (lower).to (upper) do{ i:INTEGER;
+      + as:STRING;
+      + a:ATTRIBUT;
+      
+      a := item i;
+      as := a.get_uml_string;
+      nb_lignes := nb_lignes+1;
+      (as.count>taille_max).if{
+        taille_max := as.count;
+      };
+      as.append "\n";
+      buffer.append as;
+    };
+    buffer
+  );
+  
+  - get_uml_string :STRING <-
+  (
+    buffer
+  );
+  
+  - get_taille_max :INTEGER <-	
+  (
+    taille_max
+  );
+  
+  - get_nb_lignes :INTEGER <-
+  (
+    nb_lignes
+  );
diff --git a/li2svg/ens_fichiers.li b/li2svg/ens_fichiers.li
new file mode 100644
index 0000000..b200471
--- /dev/null
+++ b/li2svg/ens_fichiers.li
@@ -0,0 +1,104 @@
+/*******	Prototype qui permet de stocker les différents fichiers instanciés	*******/
+
+
+Section Header
+  + name := ENS_FICHIERS;
+  
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com),\
+  \ FUHLHABER Simon(simon.fuhlhaber at gmail.com), \
+  \ Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="Gère un ensemble de fichiers";
+  
+Section Inherit
+  + parent_linked_list:Expanded LINKED_LIST(FICHIER);
+  
+  // Section Private
+  // 	+ m_v:ENS_PARENTS:=ENS_PARENTS.create;
+Section Public
+  
+  + ajouter f:FICHIER <-
+  (
+    add_last f ;
+  );
+  
+  + ajouter_tous es:ENS_FICHIERS <-
+  (
+    append_collection es;	
+  );
+  
+  //supprime toutes les redondances de fichier dans l'ensemble
+  + clean <-
+  (
+    + i:INTEGER;
+
+    i := lower;
+    {i <= upper}.while_do{
+      + f:FICHIER;
+      
+      f := item i;
+      (has_an_other_occurrence_of f).if{
+        remove i;
+      }else{
+        f.remove_parents Self;
+        i := i+1;
+      };
+    };	
+  );
+  
+  //recherche si l'ensemble contient une autre occurrence d'un certain fichier
+  + has_an_other_occurrence_of f:FICHIER :BOOLEAN <-
+  (
+    + result:INTEGER;
+    
+    result := 0;
+    (lower).to (upper) do{ i:INTEGER;
+      + f2:FICHIER;
+      
+      f2 := item i;
+      ((f2.get_nom) == (f.get_nom)).if{
+        result := result + 1;
+      };
+    };
+    (result>1)
+  );
+  
+//permet de récupérer tous les fichiers morts-vivants de l'ensemeble, par rapport à un fichier (g)
+
++ get_morts_vivants (f,g:FICHIER) in m_v:ENS_PARENTS :ENS_PARENTS <-
+(
+  + ep,res:ENS_PARENTS;
+  + i:INTEGER;
+  
+  res:=ENS_PARENTS.create;
+  ep:=f.get_parents;
+  i:=ep.lower;
+  {i<=ep.upper}.while_do{
+    + k:INTEGER;
+    k:=lower;
+    {k<=upper}.while_do{
+      ((ep.item i)==(item k .get_nom)).if{
+        (m_v.has (item k .get_nom)).if_false{
+          m_v.ajouter (item k .get_nom);
+          ((item k .get_nom)==(g.get_nom)).if{
+            k:=upper+1;
+            i:=ep.upper;
+          }
+          else
+          {	
+            get_morts_vivants (item k,g) in m_v;
+            (m_v.last == g.get_nom).if {
+              res.add_last (m_v.first);
+              k := upper+1;
+              i := ep.upper;
+            };
+          };
+        } else {
+          k := upper;
+        };
+      };
+      k:=k+1;
+    };
+    i:=i+1;
+  };
+  res
+);
diff --git a/li2svg/ens_methodes.li b/li2svg/ens_methodes.li
new file mode 100644
index 0000000..2fc481b
--- /dev/null
+++ b/li2svg/ens_methodes.li
@@ -0,0 +1,73 @@
+/*******	Prototype qui permet de stocker les différentes méthodes instanciés d'un fichier	*******/
+
+
+
+Section Header
+  + name:=ENS_METHODES;
+  
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="gère un ensemble de méthodes";
+  
+Section Inherit
+  
+  + parent_linked_list:Expanded LINKED_LIST(METHODE);
+  
+Section Private
+  //longueur maximale d'une methode, permet de savoir avec quelle largeur construire le rectangle dans le diagramme
+  + taille_max:INTEGER;
+  //nombre de lignes, c'est à dire le nombre de méthodes de l'ensemble, utile également pour la construction du rectangle
+  + nb_lignes:INTEGER;
+  //contient la descrition de toutes les méthodes au format UML
+  + buffer:STRING;
+  
+Section Public
+  
+  - make <-
+  (
+    taille_max := 0;
+    nb_lignes := 0;
+    buffer := STRING.create 256;
+  );
+  
+  - ajouter m:METHODE <-
+  (
+    add_last m;
+  );
+  
+  //construit l'ensemble, en cherchant la taille maximal et le nombre de lignes
+  + build <-
+  (
+    taille_max := 0;
+    nb_lignes := 0;
+    //buffer:=STRING.create 256;
+    (buffer = NULL).if {
+      buffer := STRING.create 256;
+    };
+    buffer.copy "";
+    (lower).to (upper) do{ i:INTEGER;
+      + buffer1:STRING;
+      + m:METHODE;
+      m := item i;
+      buffer1 := m.get_uml_string;
+      taille_max := taille_max.max(buffer1.count);
+      buffer1.append_character '\n';
+      buffer.append buffer1;
+      nb_lignes := nb_lignes+1;
+    };
+  );
+  
+  - get_uml_string :STRING <-
+  (
+    buffer
+  );
+  
+  - get_taille_max :INTEGER <-
+  (
+    taille_max
+  );
+  
+  - get_nb_lignes :INTEGER <-
+  (
+    nb_lignes
+  );
+  
\ No newline at end of file
diff --git a/li2svg/ens_parents.li b/li2svg/ens_parents.li
new file mode 100644
index 0000000..8cf8c93
--- /dev/null
+++ b/li2svg/ens_parents.li
@@ -0,0 +1,40 @@
+/*******	Prototype qui permet de stocker les différents parents instanciés d'un fichier 		*******/
+
+
+
+Section Header
+  + name := ENS_PARENTS;
+
+  - author := "HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment := "gère un ensemble de parent";
+  
+Section Inherit
+  + parent_linked_list:Expanded LINKED_LIST(STRING);
+  
+Section Public
+  
+  + ajouter s:STRING <-
+  (
+    add_last s ;
+  );
+  
+  + ajouter_tous ep:ENS_PARENTS <-
+  (
+    append_collection ep;	
+  );
+  
+  //cherche si l'ensemble contient déjà le parent (fr)
+  + has fr:STRING :BOOLEAN <-
+  (
+    +result:BOOLEAN;
+    
+    result := FALSE;
+    (lower).to (upper) do{ i:INTEGER;
+      + g:STRING;
+      g := item i;
+      (g == fr).if{
+        result := TRUE;
+      };
+    };
+    result
+  );
\ No newline at end of file
diff --git a/li2svg/ens_rectangles.li b/li2svg/ens_rectangles.li
new file mode 100644
index 0000000..293797c
--- /dev/null
+++ b/li2svg/ens_rectangles.li
@@ -0,0 +1,133 @@
+/*******	Prototype qui permet de stocker les différents rectangle instanciés	*******/
+
+
+
+Section Header
+  + name := ENS_RECTANGLES;
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="gère un ensemble de rectangles";
+  
+Section Inherit
+  + parent_linked_list:Expanded LINKED_LIST(FORME_RECTANGLE);
+  
+  
+Section Public
+  //AJOUTE UNE FORME_RECTANGLE A ENS_RECTANGLES
+  + ajouter f:FORME_RECTANGLE <-
+  (
+    add_last f ;
+  );
+  //AJOUTE UN ENS_RECTANGLE A UN ENS_RECTANGLES
+  + ajouter_tous er:SELF <-
+  (
+    append_collection er;	
+  );
+  //RENVOIE LA TAILLE DE LA FENÊTRE SVG À CRÉER
+  + get_xy_max :FAST_ARRAY(INTEGER)<-
+  (
+    + xy_max:FAST_ARRAY(INTEGER);
+    + fr:FORME_RECTANGLE;
+    
+    xy_max:=FAST_ARRAY(INTEGER).create 2;
+    xy_max.put 0 to 0;
+    xy_max.put 0 to 1;
+    (lower).to (upper) do{ i:INTEGER;
+      fr:=item i;
+      xy_max.put (((fr.get_x)+(fr.get_largeur)).max (xy_max.item 0)) to 0;
+      xy_max.put (((fr.get_y)+(fr.get_hauteur)).max (xy_max.item 1)) to 1;
+    };
+    xy_max.put ((xy_max.item 0)+20) to 0;
+    xy_max.put ((xy_max.item 1)+20) to 1;
+    xy_max
+  );
+  //RENVOI VRAI SI LA FORME_RECTANGLE DE NOM "fr" EST DANS ENS_RECTANGLES, FAUX SINON	
+  + has fr:STRING :BOOLEAN <-
+  (
+    +result:BOOLEAN;
+    result:=FALSE;
+    (lower).to (upper) do{ i:INTEGER;
+      + g:FORME_RECTANGLE;
+      
+      g:=item i;
+      ((g.get_nom) == fr).if{
+        result:=TRUE;
+      };
+    };
+    result
+  );
+  //RENVOI VRAI SI LES PARENTS DU FICHIER DE NOM "f" SONT TOUS DANS ENS_RECTANGLES, FAUX SINON	
+  + has_all_parents f:FICHIER and ef:ENS_FICHIERS :INTEGER<-
+  (
+    +result:INTEGER;
+    +ep,morts_vivants,tmp,parents:ENS_PARENTS;
+    result:=1;
+    ep:=f.get_parents;
+    
+    tmp:=ENS_PARENTS.create;
+    parents:=ENS_PARENTS.create;
+    tmp.copy ep;
+    
+    morts_vivants:=ef.get_morts_vivants (f,f) in parents;
+    (parents.has (f.get_nom)).if{
+      tmp.remove (tmp.first_index_of (parents.first));
+      result:=2;
+    };
+    
+    (tmp.lower).to (tmp.upper) do{i:INTEGER;
+      (has (tmp.item i)).if_false{result:=0;};
+    };
+    result
+  );
+  //ENLEVE UN PARENT DE ENS_RECTANGLES
+  + remove_parent f:FORME_RECTANGLE <-
+  (
+    remove (fast_first_index_of f);
+  );
+  //ENLEVE TOUS LES PARENTS QUI N' ONT PAS D' INFLUENCES POUR LES COLLISIONS ENTRE TRAITS ET RECTANGLES
+  + remove_not_influent_parents (x1,y1:INTEGER) with (x2,y2:INTEGER)<-
+  (
+    + i,x_pere,x_fils,y_fils,y_pere:INTEGER;
+    x_pere:=x2;
+    x_fils:=x1;
+    y_fils:=y1;
+    y_pere:=y2;
+    
+    i:=lower;
+    {i<=upper}.while_do {
+      ( {y_pere >= ((item i .get_y)+(item i .get_hauteur))}||{y_fils <= (item i .get_y)}||{(x_pere.max (x_fils)) <= (item i .get_x)}||{(x_pere.min (x_fils)) >= ((item i .get_x) +(item i .get_largeur))}).if{
+        remove i;
+      }else{
+        i:=i+1;
+      };
+    };
+  );
+  //TRIE ENS_RECTANGLES PAR RAPPORT À LA DISTANCE ENTRE LE POINT "x,y" ET TOUS LES RECTANGLES
+  + bofferding (x,y:INTEGER) <-
+  (
+    + dist,i,j:INTEGER;
+    
+    (count==0).if_false{
+      
+      i:=lower;
+      dist:=item i .distance (x,y);
+      
+      {i<upper}.while_do{
+        
+        j:=i+1;
+        {j<=upper}.while_do{
+          + r2:FORME_RECTANGLE;
+          + d:INTEGER;
+          r2:=item j;
+          d:=r2.distance (x,y);
+          (d<dist).if{
+            dist:=d;
+            put (item i) to j;
+            put r2 to i;
+            
+          };
+          j:=j+1;
+        };
+        i:=i+1;
+      };
+    };
+  );
diff --git a/li2svg/fichier.li b/li2svg/fichier.li
new file mode 100644
index 0000000..afab25b
--- /dev/null
+++ b/li2svg/fichier.li
@@ -0,0 +1,86 @@
+Section Header
+  + name := FICHIER;
+  
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="protoype qui stocke toutes les informations d'un fichier lisaac (nom,méthodes,attributs,parents)";
+  
+Section Inherit
+  + parent_object:OBJECT := OBJECT;
+  
+Section Private
+  
+  + nom:STRING;
+  + methodes:ENS_METHODES;
+  + attributs:ENS_ATTRIBUTS;
+  + parents:ENS_PARENTS;
+  
+Section Public
+  
+  - make (n:STRING,meths:ENS_METHODES,atts:ENS_ATTRIBUTS,p:ENS_PARENTS) <-
+  (
+    nom:=n;
+    nom.to_upper;
+    methodes:=meths;
+    attributs:=atts;
+    parents:=p;
+  );
+  
+  - get_nom :STRING <-
+  (
+    nom
+  );
+  
+  - get_methodes :ENS_METHODES <-
+  (
+    methodes
+  );
+  
+  - get_attributs :ENS_ATTRIBUTS <-
+  (
+    attributs
+  );
+  
+  - get_parents :ENS_PARENTS <-
+  (
+    parents
+  );
+  
+  //supprime un parent trouvé dans un fichier.li mais qui ne se trouve pas
+  //dans ensemble_fichier, autrement dit un parent qui n'existe pas dans le 
+  //répertoire passé en argument, mais qui se trouve dans la lib, par exemple
+  - remove_parents ef:ENS_FICHIERS <-
+  (
+    + isin:BOOLEAN;
+    +i:INTEGER;
+    i := parents.lower;
+    
+    {i<= (parents.upper)}.while_do{
+      + p:STRING;
+      isin := FALSE;
+      p := parents.item i;
+      (ef.lower).to (ef.upper)do{ j:INTEGER;
+        + f:FICHIER;
+        f := ef.item j;
+        (p==(f.get_nom)).if{
+          isin := TRUE;
+        };
+      };
+      isin.if_false{
+        parents.remove i;
+      }else{ i := i+1; };
+    };
+  );
+  
+  - print <-
+  (
+    + s:STRING;
+    s := STRING.create 100;
+    s.copy nom;
+    s.append "\nparents:\n";
+    (parents.lower).to(parents.upper)do{i:INTEGER;
+      s.append (parents.item i);
+      s.append "\n";
+    };
+    s.append "\n";
+    s.print;
+  );
\ No newline at end of file
diff --git a/li2svg/forme_rectangle.li b/li2svg/forme_rectangle.li
new file mode 100644
index 0000000..2ffb85e
--- /dev/null
+++ b/li2svg/forme_rectangle.li
@@ -0,0 +1,158 @@
+
+Section Header
+  + name := FORME_RECTANGLE;
+  
+  - author := "HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment := "prototype qui hérite de fichier, et qui permet en plus d'obtenir les coordonnées du rectangle pour la représentation du diagramme";
+  
+Section Inherit
+  + parent_fichier:FICHIER := FICHIER;
+  
+Section Private
+  
+  + x:INTEGER;
+  + y:INTEGER;
+  + largeur:INTEGER;
+  + hauteur:INTEGER;
+  
+  //ensemble des parents du rectangle courant qui permet de savoir pour placer le rectangle par rapport à ses parents
+  + peres:ENS_RECTANGLES;
+  //utile pour la gestion des collisions
+  + nice_look_left:INTEGER;
+  //utile pour la gestion des collisions, permet d'éviter que des traits ne se superpose en contournant le rectangle
+  + nice_look_right:INTEGER;
+  
+Section Public
+  
+  - make_with_file f:FICHIER <-
+  (
+    parent_fichier := f;
+    peres := ENS_RECTANGLES.create;
+    get_attributs.build;
+    get_methodes.build;
+    hauteur := get_hauteur_max;
+    largeur := get_largeur_max;
+    nice_look_left := 10;
+    nice_look_right := 10;
+    
+  );
+  
+  //attributs des coordonnées au rectangles
+  - set_coord (xx,yy:INTEGER) <-
+  (	
+    x := xx;
+    y := yy;
+  );
+  
+  //decale le rectangle horizontalement de d
+  - decal d:INTEGER <-
+  (
+    x := x + d;
+  );
+  
+  //ajoute un rectangle dans l'ensemble des parents du rectangles
+  - ajout_coord p:SELF <-
+  (
+    peres.add_last p;
+  );
+  
+  - get_couples :ENS_RECTANGLES <-
+  (
+    peres
+  );
+  
+  - get_x :INTEGER <-
+  (
+    x
+  );
+  
+  - get_y :INTEGER <-
+  (
+    y
+  );
+  
+  - get_largeur :INTEGER <-
+  (
+    (largeur*7)
+  );
+  
+  - get_hauteur :INTEGER <-
+  (
+    (hauteur*12)
+  );
+  
+  - get_text_attributs :STRING <-
+  (
+    get_attributs.get_uml_string
+  );
+  
+  - get_text_methodes :STRING <-
+  (
+    get_methodes.get_uml_string
+  );
+  
+  //recherche la largeur maximale en fonction du nom, des attributs et des méthodes pour construire le rectangle à la bonne taille
+  - get_largeur_max :INTEGER <-
+  (
+    + size:INTEGER;
+    size := get_nom.count*2;
+    (size<get_methodes.get_taille_max).if{
+      size := get_methodes.get_taille_max;
+    };
+    (size<get_attributs.get_taille_max).if{
+      size := get_attributs.get_taille_max;
+    };
+    size
+  );
+  
+  //recherche la hauteur maximale en fonction du nombre d'attributs et de methodes
+  - get_hauteur_max :INTEGER <-
+  (
+    + size:INTEGER;
+    size := 2;
+    size := size + get_attributs.get_nb_lignes + 2;
+    size := size + get_methodes.get_nb_lignes + 2;
+    size
+  );
+  
+  //renvoit la distance entre le centre du rectangle et le point (a,b)
+  - distance (a,b:INTEGER) :INTEGER<-
+  (
+    + xr,yr:INTEGER;
+    
+    xr := x + (largeur/2);
+    yr := y + (hauteur/2);
+    
+    ((((a-xr)*(a-xr))+((b-yr)*(b-yr))).sqrt)
+  );
+  
+  - get_left :INTEGER <-
+  (
+    nice_look_left
+  );
+  
+  - get_right :INTEGER <-
+  (
+    nice_look_right
+  );
+  
+  //met à jour le décalage à gauche pour éviter la superposition des traits qui contournent le rectangle
+  - update_left <-
+  (
+    (nice_look_left > 2).if{
+      nice_look_left := nice_look_left - 2;
+    }else{
+      nice_look_left := 11;
+    };
+  );
+  
+  //met à jour le décalage à droite pour éviter la superposition des traits qui contournent le rectangle
+  -update_right <-
+  (
+    (nice_look_right>2).if{
+      nice_look_right := nice_look_right - 2;
+    }else{
+      nice_look_right := 11;
+    };
+  );
+  
\ No newline at end of file
diff --git a/li2svg/launcher.c b/li2svg/launcher.c
new file mode 100644
index 0000000..7a6b4ea
--- /dev/null
+++ b/li2svg/launcher.c
@@ -0,0 +1,9203 @@
+// C code generated by Lisaac compiler (www.isaacOS.com) //
+int arg_count;
+char **arg_vector;
+
+//==========================//
+// EXTERNAL                 //
+//==========================//
+
+// FILE_SYSTEM
+#include <unistd.h>
+// MEMORY
+
+#define MINIMUM_SIZE 256  
+void *table_size[MINIMUM_SIZE/sizeof(void *)];
+void *last_block[64];
+
+// FLOAT_REAL
+#include <math.h>
+// SYSTEM
+#include <time.h>
+// SYSTEM_IO
+
+#include <stdio.h>
+#include <stdlib.h>
+#ifndef __MINGW32__
+#include <sys/syscall.h>  
+#endif
+// Hardware 'print_char'
+void print_char(char car)
+{
+  fputc(car,stdout);
+}
+
+// Hardware 'exit'
+int die_with_code(int code)
+{
+  exit(code);
+}
+
+
+// DIRECTORY_UNIX
+
+#include <dirent.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+
+//==========================//
+// TYPE                     //
+//==========================//
+
+// Generic Object
+struct ___OBJ {
+  unsigned long __id;
+};
+
+typedef void * ____EB;
+typedef unsigned long ____RL;
+typedef struct __OL_struct ____OL;
+typedef struct __YB_struct ____YB;
+typedef int ____M;
+typedef char ____5;
+typedef char ____H;
+typedef struct __W_struct ____W;
+typedef struct __SB_struct ____SB;
+typedef struct __QDN_struct ____PDN; // ALIAS with __QDN
+typedef struct __X0O_struct ____X0O;
+typedef struct __ZSY_struct ____ZSY;
+typedef struct __LAN_struct ____IAN; // ALIAS with __LAN
+typedef struct __BC_struct ____4B; // ALIAS with __BC
+typedef struct __5B_struct ____5B;
+typedef struct __MC_struct ____MC;
+typedef struct __JAN_struct ____JAN;
+typedef struct __UTN_struct ____TTN; // ALIAS with __UTN
+typedef struct __ZUN_struct ____ZUN;
+typedef struct __ELP_struct ____ELP;
+typedef double ____AX;
+typedef struct __0YL_struct ____0YL;
+typedef struct __W3M_struct ____W3M;
+typedef struct __QYL_struct ____QYL;
+typedef struct __1FM_struct ____1FM;
+typedef struct __KG_struct ____KG;
+typedef struct __KG_struct ____JG; // ALIAS with __KG
+typedef struct __C_struct ____C;
+typedef char ____G;
+typedef char ____K;
+typedef struct __VD_struct ____VD;
+typedef struct __VB_struct ____VB;
+typedef struct __VB_struct ____RYL; // ALIAS with __VB
+typedef struct __WD_struct ____WD;
+typedef struct __XOQ_struct ____XOQ;
+typedef struct __CC_struct ____CC;
+typedef struct __BC_struct ____BC;
+typedef struct __GC4_struct ____GC4;
+typedef struct __FC4_struct ____FC4;
+typedef struct __CXRB_struct ____CXRB;
+typedef struct __BCGB_struct ____BCGB;
+typedef struct __503B_struct ____503B;
+typedef struct __3SY_struct ____3SY;
+typedef struct __2SY_struct ____2SY;
+typedef struct __10O_struct ____10O;
+typedef struct __00O_struct ____00O;
+typedef struct __Y0O_struct ____Y0O;
+typedef struct __R2DC_struct ____R2DC;
+typedef struct __0SY_struct ____0SY;
+typedef struct __44DC_struct ____44DC;
+typedef struct __RDN_struct ____RDN;
+typedef struct __QDN_struct ____QDN;
+typedef struct __W0RB_struct ____W0RB;
+typedef struct __MAN_struct ____MAN;
+typedef struct __LAN_struct ____LAN;
+typedef struct __XG4_struct ____XG4;
+typedef struct __4TN_struct ____4TN;
+typedef struct __UTN_struct ____UTN;
+typedef struct __FLP_struct ____FLP;
+typedef struct __3WFB_struct ____3WFB;
+typedef struct __UHU_struct ____UHU;
+typedef struct __UHU_struct ____THU; // ALIAS with __UHU
+typedef struct __BX_struct ____BX;
+typedef unsigned char ____UV;
+typedef signed char ____0V;
+typedef struct __M13B_struct ____M13B;
+typedef struct __W13B_struct ____W13B;
+typedef signed long ____S;
+typedef unsigned long long ____YV;
+typedef float ____WW;
+// NULL
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+// __OL
+#define ____OL__ 0
+struct __OL_struct {
+  volatile ____EB __QL;
+  volatile ____RL __TL;
+  ____OL *__UL;
+  ____OL *__VL;
+} __attribute__ ((packed));
+// __YB
+#define ____YB__ 4
+struct __YB_struct {
+  unsigned long __id;
+  ____M __3RJ;
+  ____M __3SJ;
+  ____5 *__GTJ;
+};
+// __W
+#define ____W__ 5
+struct __W_struct {
+  unsigned long __id;
+  ____M __AD;
+  ____5 *__BD;
+};
+// __SB
+#define ____SB__ 1
+struct __SB_struct {
+  void *Nothing;
+};
+// __RDN
+#define ____RDN__ 2
+struct __RDN_struct {
+  ____M __OSAB;
+};
+// __QDN
+#define ____QDN__ 3
+struct __QDN_struct {
+  ____RDN __TDN;
+  ____M __N0RB;
+  ____W0RB *__Y0RB;
+  ____W0RB *__0JSB;
+  ____W0RB *__1MSB;
+};
+// __PDN
+#define ____PDN__ 4
+// __10O
+#define ____10O__ 5
+struct __10O_struct {
+  ____M __0V5B;
+};
+// __00O
+#define ____00O__ 6
+struct __00O_struct {
+  ____10O __B1O;
+  ____M __42DC;
+  ____R2DC *__U2DC;
+  ____R2DC *__32DC;
+  ____R2DC *__A3DC;
+};
+// __X0O
+#define ____X0O__ 7
+struct __X0O_struct {
+  ____00O __C1O;
+  ____M __ZUDC;
+  ____M __5UDC;
+  ____YB *__AVDC;
+};
+// __3SY
+#define ____3SY__ 8
+struct __3SY_struct {
+  ____M __HV5B;
+};
+// __2SY
+#define ____2SY__ 9
+struct __2SY_struct {
+  ____3SY __DTY;
+  ____M __L5DC;
+  ____44DC *__B5DC;
+  ____44DC *__K5DC;
+  ____44DC *__N5DC;
+};
+// __ZSY
+#define ____ZSY__ 10
+struct __ZSY_struct {
+  ____2SY __ETY;
+  ____M __LWDC;
+  ____M __MWDC;
+  ____YB *__NWDC;
+};
+// __MAN
+#define ____MAN__ 11
+struct __MAN_struct {
+  ____M __EDN;
+};
+// __LAN
+#define ____LAN__ 12
+struct __LAN_struct {
+  ____MAN __SAN;
+  ____M __OG4;
+  ____XG4 *__1G4;
+  ____XG4 *__BH5;
+  ____XG4 *__CK5;
+};
+// __IAN
+#define ____IAN__ 13
+// __CC
+#define ____CC__ 14
+struct __CC_struct {
+  ____M __VBN;
+};
+// __BC
+#define ____BC__ 15
+struct __BC_struct {
+  ____CC __IC;
+  ____M __YBGB;
+  ____BCGB *__DCGB;
+  ____BCGB *__KJJB;
+  ____BCGB *__INWB;
+};
+// __4B
+#define ____4B__ 16
+// __5B
+#define ____5B__ 17
+struct __5B_struct {
+  ____YB *__XTY;
+  ____X0O *__JSZ;
+  ____ZSY *__QSZ;
+  ____PDN *__WLEB;
+};
+// __MC
+#define ____MC__ 18
+struct __MC_struct {
+  ____4B *__HAN;
+  ____IAN *__VAN;
+  ____M __WAN;
+  ____M __XAN;
+  ____YB *__YAN;
+};
+// __JAN
+#define ____JAN__ 19
+struct __JAN_struct {
+  ____5B *__KAN;
+  ____IAN *__WSY;
+  ____M __HTY;
+  ____M __JTY;
+  ____M __KTY;
+  ____M __LTY;
+  ____M __Y4CB;
+  ____M __Z4CB;
+};
+// __UTN
+#define ____UTN__ 20
+struct __UTN_struct {
+  ____M __RAR;
+  ____M __MBR;
+  ____M *__4AR;
+};
+// __TTN
+#define ____TTN__ 21
+// __ZUN
+#define ____ZUN__ 22
+struct __ZUN_struct {
+  void *Nothing;
+};
+// __FLP
+#define ____FLP__ 23
+struct __FLP_struct {
+  ____M __KNP;
+};
+// __ELP
+#define ____ELP__ 24
+struct __ELP_struct {
+  ____FLP __LLP;
+  ____M __ZXFB;
+  ____3WFB *__5WFB;
+  ____3WFB *__QXFB;
+  ____3WFB *__1XFB;
+};
+// __0YL
+#define ____0YL__ 25
+struct __0YL_struct {
+  ____M __3OQ;
+  ____M __FQQ;
+  void **__EPQ;
+};
+// __W3M
+#define ____W3M__ 26
+struct __W3M_struct {
+  ____YB *__IH3B;
+  ____H __CH3B;
+  ____H __DH3B;
+};
+// __VB
+#define ____VB__ 27
+struct __VB_struct {
+  ____W *__EZL;
+  ____W *__K5M;
+};
+// __RYL
+#define ____RYL__ 28
+// __WD
+#define ____WD__ 29
+struct __WD_struct {
+  ____FC4 *__LC4;
+};
+// __QYL
+#define ____QYL__ 6
+struct __QYL_struct {
+  unsigned long __id;
+  ____RYL __TYL;
+  ____WD __UYL;
+};
+// __1FM
+#define ____1FM__ 7
+struct __1FM_struct {
+  unsigned long __id;
+  ____RYL __2FM;
+  ____EB __A1FB;
+};
+// __KG
+#define ____KG__ 30
+struct __KG_struct {
+  ____M __ZAC;
+  ____M __TBC;
+  void **__ACC;
+};
+// __JG
+#define ____JG__ 31
+// __C
+#define ____C__ 32
+struct __C_struct {
+  void *Nothing;
+};
+#define __G__ 1
+#define __K__ 0
+// __VD
+#define ____VD__ 33
+struct __VD_struct {
+  ____QYL *__NZL;
+  int __OZL;
+};
+// __XOQ
+#define ____XOQ__ 34
+struct __XOQ_struct {
+  ____W *__QPQ;
+  void *__LRV;
+  ____XOQ *__2PQ;
+};
+// __GC4
+#define ____GC4__ 35
+struct __GC4_struct {
+  ____M __02EB;
+};
+// __FC4
+#define ____FC4__ 36
+struct __FC4_struct {
+  ____GC4 __KC4;
+  ____M __LXRB;
+  ____CXRB *__EXRB;
+  ____CXRB *__MXRB;
+  ____CXRB *__NXRB;
+};
+// __CXRB
+#define ____CXRB__ 37
+struct __CXRB_struct {
+  void *__ADSB;
+  ____CXRB *__SMUB;
+};
+// __BCGB
+#define ____BCGB__ 38
+struct __BCGB_struct {
+  ____5B *__FCGB;
+  ____BCGB *__0JJB;
+};
+// __503B
+#define ____503B__ 8
+struct __503B_struct {
+  unsigned long __id;
+  ____YB *__Y1BC;
+};
+// __Y0O
+#define ____Y0O__ 39
+struct __Y0O_struct {
+  ____YB *__QADC;
+  ____YB *__RADC;
+  void *__SADC;
+};
+// __R2DC
+#define ____R2DC__ 40
+struct __R2DC_struct {
+  ____Y0O *__ECFC;
+  ____R2DC *__0RFC;
+};
+// __0SY
+#define ____0SY__ 41
+struct __0SY_struct {
+  ____YB *__EXGC;
+  ____YB *__FXGC;
+  ____X0O *__GXGC;
+  void *__HXGC;
+};
+// __44DC
+#define ____44DC__ 42
+struct __44DC_struct {
+  ____0SY *__HDFC;
+  ____44DC *__EUFC;
+};
+// __W0RB
+#define ____W0RB__ 43
+struct __W0RB_struct {
+  ____YB *__00RB;
+  ____W0RB *__KLSB;
+};
+// __XG4
+#define ____XG4__ 44
+struct __XG4_struct {
+  ____JAN *__3G4;
+  ____XG4 *__RI5;
+};
+// __4TN
+#define ____4TN__ 45
+struct __4TN_struct {
+  ____1FM *__BYQ;
+};
+// __3WFB
+#define ____3WFB__ 46
+struct __3WFB_struct {
+  ____TTN *__BXFB;
+  ____3WFB *__LGJB;
+};
+// __UHU
+#define ____UHU__ 47
+struct __UHU_struct {
+  ____M __4W4;
+  ____M __UX4;
+  ____AX *__PQ4;
+};
+// __THU
+#define ____THU__ 48
+// __BX
+#define ____BX__ 49
+struct __BX_struct {
+  volatile ____YV __DX;
+} __attribute__ ((packed));
+// __M13B
+#define ____M13B__ 9
+struct __M13B_struct {
+  unsigned long __id;
+};
+// __W13B
+#define ____W13B__ 10
+struct __W13B_struct {
+  unsigned long __id;
+};
+
+void *table_type[50];
+
+//==========================//
+// GLOBAL                   //
+//==========================//
+
+____EB __MAB;
+____RL __RPB;
+____EB __BYE;
+____OL *__FGF;
+____OL __OL_;
+#define __OL__ (&__OL_)
+
+____YB __YB_={____YB__};
+#define __YB__ (&__YB_)
+
+____W __W_={____W__};
+#define __W__ (&__W_)
+
+____SB __SB_;
+#define __SB__ (&__SB_)
+
+____RDN __RDN_;
+#define __RDN__ (&__RDN_)
+
+____QDN __QDN_;
+#define __QDN__ (&__QDN_)
+
+____PDN __PDN_;
+#define __PDN__ (&__PDN_)
+
+____10O __10O_;
+#define __10O__ (&__10O_)
+
+____00O __00O_;
+#define __00O__ (&__00O_)
+
+____X0O __X0O_;
+#define __X0O__ (&__X0O_)
+
+____3SY __3SY_;
+#define __3SY__ (&__3SY_)
+
+____2SY __2SY_;
+#define __2SY__ (&__2SY_)
+
+____ZSY __ZSY_;
+#define __ZSY__ (&__ZSY_)
+
+____MAN __MAN_;
+#define __MAN__ (&__MAN_)
+
+____LAN __LAN_;
+#define __LAN__ (&__LAN_)
+
+____IAN __IAN_;
+#define __IAN__ (&__IAN_)
+
+____CC __CC_;
+#define __CC__ (&__CC_)
+
+____BC __BC_;
+#define __BC__ (&__BC_)
+
+____4B __4B_;
+#define __4B__ (&__4B_)
+
+____5B __5B_;
+#define __5B__ (&__5B_)
+
+____MC __MC_;
+#define __MC__ (&__MC_)
+
+____JAN __JAN_;
+#define __JAN__ (&__JAN_)
+
+____UTN __UTN_;
+#define __UTN__ (&__UTN_)
+
+____TTN __TTN_;
+#define __TTN__ (&__TTN_)
+
+____ZUN __ZUN_;
+#define __ZUN__ (&__ZUN_)
+
+____FLP __FLP_;
+#define __FLP__ (&__FLP_)
+
+____ELP __ELP_;
+#define __ELP__ (&__ELP_)
+
+____0YL __0YL_;
+#define __0YL__ (&__0YL_)
+
+____W3M __W3M_;
+#define __W3M__ (&__W3M_)
+
+____YB *__LYL;
+____YB *__DXX;
+____VB __VB_;
+#define __VB__ (&__VB_)
+
+____RYL __RYL_;
+#define __RYL__ (&__RYL_)
+
+____0YL *__CZL;
+____YB *__JXX;
+____WD __WD_;
+#define __WD__ (&__WD_)
+
+____QYL __QYL_={____QYL__};
+#define __QYL__ (&__QYL_)
+
+____1FM __1FM_={____1FM__};
+#define __1FM__ (&__1FM_)
+
+____KG __KG_;
+#define __KG__ (&__KG_)
+
+____JG __JG_;
+#define __JG__ (&__JG_)
+
+____EB __EL;
+____C __C_;
+#define __C__ (&__C_)
+
+____VD __VD_;
+#define __VD__ (&__VD_)
+
+____XOQ __XOQ_;
+#define __XOQ__ (&__XOQ_)
+
+____GC4 __GC4_;
+#define __GC4__ (&__GC4_)
+
+____FC4 __FC4_;
+#define __FC4__ (&__FC4_)
+
+____CXRB __CXRB_;
+#define __CXRB__ (&__CXRB_)
+
+____BCGB __BCGB_;
+#define __BCGB__ (&__BCGB_)
+
+____503B __503B_={____503B__};
+#define __503B__ (&__503B_)
+
+____Y0O __Y0O_;
+#define __Y0O__ (&__Y0O_)
+
+____R2DC __R2DC_;
+#define __R2DC__ (&__R2DC_)
+
+____0SY __0SY_;
+#define __0SY__ (&__0SY_)
+
+____44DC __44DC_;
+#define __44DC__ (&__44DC_)
+
+____W0RB __W0RB_;
+#define __W0RB__ (&__W0RB_)
+
+____XG4 __XG4_;
+#define __XG4__ (&__XG4_)
+
+____4TN __4TN_;
+#define __4TN__ (&__4TN_)
+
+____3WFB __3WFB_;
+#define __3WFB__ (&__3WFB_)
+
+____UHU __UHU_;
+#define __UHU__ (&__UHU_)
+
+____THU __THU_;
+#define __THU__ (&__THU_)
+
+____BX __BX_;
+#define __BX__ (&__BX_)
+
+____M13B __M13B_={____M13B__};
+#define __M13B__ (&__M13B_)
+
+____W13B __W13B_={____W13B__};
+#define __W13B__ (&__W13B_)
+
+
+//==========================//
+// STRING CONSTANT          //
+//==========================//
+
+____W __string_1={____W__,5,"-help"};
+____W __string_2={____W__,199," \n\nUTILISATION :\n\t1er argument :\tréperto\
+ire à parser\n\n\t2ieme argument :destination source SVG\n\n\t(-simple|-publ\
+ic) :\tdiagramme sans méthodes/attributs|avec uniquement les méthodes/attrib\
+uts public\n\n\n\n"};
+____W __string_3={____W__,20,"Parsing du dossier: "};
+____W __string_4={____W__,1,"\n"};
+____W __string_5={____W__,74,"\n\n\t!!!!ATTENTION A LA MODIFICATION DE STRIN\
+G.LI !!!!!!!!!!!!!!!!!!!!!!!\n\n\n"};
+____W __string_6={____W__,8,"Dossier "};
+____W __string_7={____W__,14," inexistant!\n'"};
+____W __string_8={____W__,7,"-simple"};
+____W __string_9={____W__,7,"-public"};
+____W __string_10={____W__,0,""};
+____W __string_11={____W__,1,"*"};
+____W __string_12={____W__,1,"+"};
+____W __string_13={____W__,1,"-"};
+____W __string_14={____W__,1,":"};
+____W __string_15={____W__,1,"("};
+____W __string_16={____W__,1,")"};
+____W __string_17={____W__,1,","};
+____W __string_18={____W__,5,"File "};
+____W __string_19={____W__,12," not open!\n'"};
+____W __string_20={____W__,98,"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<\
+svg xmlns=\"http://www.w3.org/2000/svg\" x=\"0\" y=\"0\" width=\""};
+____W __string_21={____W__,10,"\" height=\""};
+____W __string_22={____W__,7,"\"> <g>\n"};
+____W __string_23={____W__,13,"<rect width=\""};
+____W __string_24={____W__,5,"\" x=\""};
+____W __string_25={____W__,5,"\" y=\""};
+____W __string_26={____W__,49,"\" fill=\"white\" stroke=\"black\" stroke-wid\
+th=\"2\"/>\n"};
+____W __string_27={____W__,10,"<line x1=\""};
+____W __string_28={____W__,6,"\" y1=\""};
+____W __string_29={____W__,6,"\" x2=\""};
+____W __string_30={____W__,6,"\" y2=\""};
+____W __string_31={____W__,19,"\" stroke=\"black\"/>\n"};
+____W __string_32={____W__,128,"<defs> <marker id=\"Triangle\" viewBox=\"0 0\
+ 10 10\" refX=\"0\" refY=\"5\" markerUnits=\"strokeWidth\" markerWidth=\"15\\
+" markerHeight=\"20\" "};
+____W __string_33={____W__,79,"orient=\"auto\"> <path d=\"M 0 0 L 10 5 L 0 1\
+0 z\" /> </marker> </defs> <path d=\"M "};
+____W __string_34={____W__,1," "};
+____W __string_35={____W__,3," L "};
+____W __string_36={____W__,79," \" fill=\"none\" stroke=\"black\" stroke-wid\
+th=\"1\" marker-end=\"url(#Triangle)\"  />\n"};
+____W __string_37={____W__,12,"</g> </svg>\n"};
+____W __string_38={____W__,1,"."};
+____W __string_39={____W__,5,"NULL\n"};
+____W __string_40={____W__,3,".li"};
+____W __string_41={____W__,2,"*/"};
+____W __string_42={____W__,6,"Header"};
+____W __string_43={____W__,4,"name"};
+____W __string_44={____W__,2,":="};
+____W __string_45={____W__,1,";"};
+____W __string_46={____W__,2,"->"};
+____W __string_47={____W__,7,"Inherit"};
+____W __string_48={____W__,1,"<"};
+____W __string_49={____W__,9,"<text x=\""};
+____W __string_50={____W__,26,"\" fill=\"black\" font-size=\""};
+____W __string_51={____W__,2,"\">"};
+____W __string_52={____W__,8,"</text>\n"};
+____W __string_53={____W__,8,"Infinite"};
+____W __string_54={____W__,3,"Nan"};
+____W __string_55={____W__,19,"Not enough memory.\n"};
+____W __string_56={____W__,7,"Section"};
+____W __string_57={____W__,6,"public"};
+____W __string_58={____W__,7,"private"};
+____W __string_59={____W__,2,"<-"};
+____W __string_60={____W__,4,"void"};
+
+//==========================//
+// FUNCTION HEADER          //
+//==========================//
+
+// Source code
+static ____EB __R4(____EB __T4,____EB __U4,____RL __V4);
+static ____OL* __CFF(____EB __EFF);
+static ____YB* __OR(____M __QR);
+static void __G1K(____YB *__H1K,____5 __I1K);
+static ____EB __ZRE(____EB __1RE,____RL __2RE,____RL __3RE);
+static ____M __PJS(____M __RJS);
+static ____H __5TJ(____YB *__AUJ,void *__BUJ);
+static void __CGE(____W *__DGE);
+static void __XWL(____YB *__YWL,void *__ZWL);
+static void __KXH(void *__MXH);
+static void* __GYL();
+static void* __3WX(____YB *__5WX);
+static void* __N3M(____SB *__O3M,void *__P3M,____H __Q3M,____H __R3M);
+static void __U4SB(____PDN *__V4SB,____M __W4SB);
+static void* __QBFC(____X0O *__RBFC,____M __SBFC);
+static void __G1N(____YB *__H1N,void *__I1N);
+static void* __TCFC(____ZSY *__UCFC,____M __VCFC);
+static ____H __RZ4(____IAN *__SZ4,____YB *__TZ4);
+static void* __BKGB(____4B *__CKGB,____5B *__DKGB,____5B *__EKGB,____PDN *__FKGB);
+static ____H __CYRB(____PDN *__DYRB,____YB *__EYRB);
+static void __34CB(____MC *__44CB,____JAN *__54CB,____IAN *__A5CB);
+static void __B0Y(____YB *__D0Y);
+static ____TTN* __0SP();
+static void __S2N(____M __T2N,____YB *__U2N);
+static void* __Q2O(____YB *__S2O,____M __T2O,____M __U2O,____M __V2O);
+static void __LH4(____IAN *__MH4,____IAN *__NH4);
+static void __AL5(____IAN *__BL5,____M __CL5);
+static void* __GTP(____ZUN *__HTP,____IAN *__ITP,____M __JTP,____M __KTP,____M __LTP,____M __MTP);
+static void* __L4FB(____ELP *__M4FB,____M __N4FB);
+static void __K4Q(____AX __L4Q,____YB *__M4Q);
+static ____EB __APB(____RL __CPB);
+static ____OL* __ZXE();
+static void __ZZH(____OL *__0ZH,____EB __1ZH,____RL __2ZH);
+static ____5* __N2K(____M __P2K);
+static void* __IFM(____YB *__KFM);
+static void __LOQ(____0YL *__MOQ,void *__NOQ,____W *__OOQ);
+static void* __V40(____0YL *__W40,____YB *__X40);
+static void* __LB1(____YB *__NB1);
+static void __1OIB(____YB *__3OIB);
+static ____M __AEV(____YB *__BEV,____W *__CEV,____M __DEV);
+static void* __1E4B(____W3M *__2E4B,void *__3E4B);
+static void* __424B(____W3M *__524B,void *__A34B);
+static void __VZDC(____ZSY *__WZDC,____ZSY *__XZDC);
+static void* __VG5B(____W3M *__WG5B,void *__XG5B);
+static void __Z0DC(____X0O *__00DC,____X0O *__10DC);
+static void __YVAC(____YB *__ZVAC);
+static void __3AP(____YB *__4AP);
+static void __JAGB(____ELP *__KAGB,____ELP *__LAGB);
+static void __XRQ(____QYL *__YRQ,____YB *__ZRQ);
+static void __RSQ(____1FM *__SSQ,____YB *__TSQ);
+static ____H __TTNB(____W *__UTNB,void *__VTNB);
+static void* __ESCC(____YB *__GSCC,void *__HSCC);
+static ____W* __RNR(____YB *__TNR);
+
+//==========================//
+// SOURCE CODE              //
+//==========================//
+
+int main(int argc,char **argv)
+{
+  ____M __BH,__WK,__0FXC,__3P,__0OE,__CEC,__RIE,__ZEI,__4ZXC,__B0XC;
+  ____M __K0XC,__J1XC,__0WIC,__U2IC,__4HXC,__41XC,__EKSB,__FZUB,__Z2XC;
+  ____M __23XC,__UCVC,__M5XC;
+  ____EB __SK,__YK,__RYWC,__TYWC,__4FXC,__AGXC,__CGXC,__DGXC,__MGXC;
+  ____EB __KGXC,__LGXC,__NGXC,__PGXC,__QGXC,__40XC,__50XC,__TEVC,__LV;
+  ____EB __A2XC,__B2XC,__22XC,__42XC,__52XC,__A3XC,__C4XC,__D4XC;
+  ____RL __UYWC,__RGXC,__A1XC,__3X,__C2XC,__B3XC,__E4XC;
+  ____OL *__IGXC,*__VGXC;
+  ____YB *__OH,*__TRJ,*__KJQC,*__1KQC,*__R1C,*__0WCC,*__HVDC,*__DUIC;
+  ____YB *__LWIC,*__I5VC,*__F5VC,*__KKSB,*__BLSB;
+  ____MC *__RYM,*__EAN;
+  ____QYL *__FYL,*__V5T,*__CW1;
+  void *__YD;
+  ____SB *__11M;
+  ____4B *__3F,*__SVFB,*__54VC,*__K5VC;
+  ____5B *__CWFB,*__EWCC,*__ACN,*__TCN;
+  ____PDN *__X4VC,*__XRAB,*__21XC,*__YRAB,*__K2XC,*__AYRB,*__N5VC;
+  ____PDN *__Q5VC;
+  ____IAN *__M0XC,*__00XC,*__34VC,*__L1XC,*__RCN,*__ORAB,*__Y5VC,*__XZWC;
+  ____IAN *__N2DB;
+  ____JAN *__ARY,*__3BN,*__TSY,*__ODN;
+  ____X0O *__3UDC,*__IWIC;
+  ____Y0O *__WVDC,*__AUIC,*__AXIC;
+  ____W *__FUIC;
+  ____ZSY *__KWDC;
+  ____0SY *__DXDC,*__MUIC;
+  ____4TN *__DDYC,*__BUN,*__XXQ;
+  ____1FM *__REY,*__BFY;
+  void *__IMZ;
+  ____AX __POP,__VKP,__UOP,__YOP,__2OP,__3OP,__S1X;
+  ____5 *__5G,*__RP,*__5HXC,*__AIXC;
+  ____JG *__RK,*__KBC,*__3CC;
+  void **__ZFXC,**__NND;
+  ____H __NDC,__QC,__EG,__CD,__TE,__A0L,__RF,__TOM,__VPPB,__IXCC,__2LSB;
+  ____H __LXTB,__IXTB;
+  ____0YL *__PJN,*__PTQ;
+  void **__UYT;
+  ____W0RB *__ZJSB,*__12XC,*__I3XC,*__43XC,*__L4XC;
+  ____XG4 *__K5XC,*__X5XC,*__TCYC,*__ADYC;
+  ____TTN *__MA4,*__JAWC,*__CBWC,*__SLP,*__QDWC,*__XDWC,*__YNP;
+  ____ELP *__IMP,*__D0WC;
+  ____3WFB *__3DYC,*__KEYC;
+  arg_count  = argc;
+  arg_vector = argv;
+#ifdef _PTHREAD_H
+  pthread_key_create(&current_thread, NULL);
+  pthread_attr_init(&thread_attr);
+  /*pthread_attr_setdetachstate(&thread_attr,PTHREAD_CREATE_DETACHED);*/
+#endif
+  ;
+  __EL=((____EB )(NULL));
+  __RPB= 0;
+  __OL__->__TL= 0;
+  __BYE=((____EB )(NULL));
+  __MAB=((____EB )(NULL));
+  __OL__->__QL=((____EB )(NULL));
+  __5G=NULL;
+  __BH=((____M )(arg_count));
+  __RK=NULL;
+  __SK=((____EB )(NULL));
+  __WK= 0;
+  __YK=((____EB )sizeof(____JG));
+  if (((unsigned long)__YK ==  0)) {
+    __RK=__JG__;
+  } else /* FALSE */ {
+    __WK=____JG__;
+    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__YK));
+    if ((__WK == (____M)(-  1))) {
+      __RYWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __TYWC=(void *)((unsigned long)(void *)((unsigned long)__YK - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__RYWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__RYWC) - (unsigned long)((____EB ) 1)));
+      __UYWC=((____RL )((____M )(void *)((unsigned long)__TYWC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __RYWC=__R4(__TYWC,((____EB )(&(table_size[(__UYWC)-1]))),((____RL )((____M )__TYWC)));
+      __SK=__RYWC;
+    } else /* FALSE */ {
+      __UYWC=((____RL )__WK);
+      __RYWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __TYWC=(void *)((unsigned long)(void *)((unsigned long)__YK - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__RYWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__RYWC) - (unsigned long)((____EB ) 1)));
+      __RYWC=__R4(__TYWC,((____EB )(&(table_type[(__UYWC)]))),(____RL)(__UYWC |  1));
+      __SK=__RYWC;
+    };
+    __RK=((____JG *)__SK);
+    *(__RK) = *(__JG__);
+  };
+  __KBC=((____JG *)__RK);
+  if (((*(__KBC)).__TBC < __BH)) {
+    __RYWC=((____EB )(____M)(__BH * ((____M )(sizeof(void *)))));
+    __TYWC=((____EB )(NULL));
+    __4FXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+    __AGXC=(void *)((unsigned long)(void *)((unsigned long)__RYWC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__4FXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__4FXC) - (unsigned long)((____EB ) 1)));
+    __RYWC=(void *)((unsigned long)__AGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+    if ((__RYWC <= ((____EB )(MINIMUM_SIZE)))) {
+      __CGXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __DGXC=(void *)((unsigned long)(void *)((unsigned long)__RYWC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__CGXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__CGXC) - (unsigned long)((____EB ) 1)));
+      __UYWC=((____RL )((____M )(void *)((unsigned long)__DGXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __CGXC=__R4(__DGXC,((____EB )(&(table_size[(__UYWC)-1]))),((____RL )((____M )__DGXC)));
+      ((____EB *)__CGXC)[ 0]=((____EB ) 3);
+      __TYWC=(void *)((unsigned long)__CGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+    } else /* FALSE */ {
+      __IGXC=__CFF(__AGXC);
+      __TYWC=(void *)((unsigned long)((____EB )((____OL *)__IGXC)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8)));
+    };
+    __ZFXC=((void **)__TYWC);
+    __0FXC=(____M)(__BH -  1);
+    while ((__0FXC >=  0)) {
+      __ZFXC[__0FXC]=NULL;
+      __0FXC=(____M)(__0FXC -  1);
+    };
+    (*(__KBC)).__ACC=__ZFXC;
+    (*(__KBC)).__TBC=__BH;
+  };
+  (*(__KBC)).__ZAC=(____M)(-  1);
+  __KBC=__RK;
+  __BH=(____M)(((____M )(arg_count)) -  1);
+  __WK= 0;
+  while ((__WK <= __BH)) {
+    __5G=((____5 *)(arg_vector[(__WK)]));
+    __RP=((____5 *)__5G);
+    __3P= 0;
+    while ((! ((__3P >  1024) || ('\0' == __RP[__3P])))) {
+      __3P=(____M)(__3P +  1);
+    };
+    __OH=__OR(__3P);
+    __TRJ=((____YB *)__OH);
+    __RP=__5G;
+    __3P= 0;
+    __TRJ->__3RJ= 0;
+    while ((((____5 *)__RP)[__3P] != '\0')) {
+      __G1K(__TRJ,((____5 *)__RP)[__3P]);
+      __3P=(____M)(__3P +  1);
+    };
+    __3CC=((____JG *)__KBC);
+    if (((____M)((*(__3CC)).__ZAC +  1) <= (____M)((*(__3CC)).__TBC -  1))) {
+      (*(__3CC)).__ZAC=(____M)((*(__3CC)).__ZAC +  1);
+      __NDC=__G__;
+    } else /* FALSE */ {
+      __NDC=__K__;
+    };
+    if ((! __NDC)) {
+      if (((*(__3CC)).__TBC ==  0)) {
+        __MGXC=((____EB )(____M)(((____M )(sizeof(void *))) <<  1));
+        __KGXC=((____EB )(NULL));
+        __LGXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __NGXC=(void *)((unsigned long)(void *)((unsigned long)__MGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__LGXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__LGXC) - (unsigned long)((____EB ) 1)));
+        __MGXC=(void *)((unsigned long)__NGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+        if ((__MGXC <= ((____EB )(MINIMUM_SIZE)))) {
+          __PGXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __QGXC=(void *)((unsigned long)(void *)((unsigned long)__MGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__PGXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__PGXC) - (unsigned long)((____EB ) 1)));
+          __RGXC=((____RL )((____M )(void *)((unsigned long)__QGXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+          __PGXC=__R4(__QGXC,((____EB )(&(table_size[(__RGXC)-1]))),((____RL )((____M )__QGXC)));
+          ((____EB *)__PGXC)[ 0]=((____EB ) 3);
+          __KGXC=(void *)((unsigned long)__PGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+        } else /* FALSE */ {
+          __VGXC=__CFF(__NGXC);
+          __KGXC=(void *)((unsigned long)((____EB )((____OL *)__VGXC)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8)));
+        };
+        __NND=((void **)__KGXC);
+        __0OE= 1;
+        while ((__0OE >=  0)) {
+          __NND[__0OE]=NULL;
+          __0OE=(____M)(__0OE -  1);
+        };
+        (*(__3CC)).__ACC=__NND;
+        (*(__3CC)).__TBC= 2;
+        (*(__3CC)).__ZAC= 0;
+      } else /* FALSE */ {
+        __0OE=(____M)((*(__3CC)).__TBC <<  1);
+        __NND=(*(__3CC)).__ACC;
+        __CEC=(*(__3CC)).__TBC;
+        __MGXC=__ZRE(((____EB )((void **)__NND)),((____RL )(____M)(__CEC * ((____M )(sizeof(void *))))),((____RL )(____M)(__0OE * ((____M )(sizeof(void *))))));
+        __NND=((void **)__MGXC);
+        __RIE=(____M)(__0OE -  1);
+        __ZEI=__CEC;
+        while ((__ZEI <= __RIE)) {
+          __NND[__ZEI]=NULL;
+          __ZEI=(____M)(__ZEI +  1);
+        };
+        (*(__3CC)).__ACC=__NND;
+        (*(__3CC)).__TBC=__0OE;
+        (*(__3CC)).__ZAC=(____M)((*(__3CC)).__ZAC +  1);
+      };
+    };
+    ((void **)(*(__3CC)).__ACC)[(*(__3CC)).__ZAC]=__OH;
+    __WK=(____M)(__WK +  1);
+  };
+  __VD__->__OZL=1;
+  __OH=__OR( 255);
+  __LYL=__OH;
+  __1FM__->__2FM=(*__RYL__);
+  __QYL__->__TYL=(*__RYL__);
+  __QYL__->__UYL=(*__WD__);
+  __PJN=NULL;
+  __SK=((____EB )(NULL));
+  __BH= 0;
+  __YK=((____EB )sizeof(____0YL));
+  if (((unsigned long)__YK ==  0)) {
+    __PJN=__0YL__;
+  } else /* FALSE */ {
+    __BH=____0YL__;
+    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__YK));
+    if ((__BH == (____M)(-  1))) {
+      __CGXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __DGXC=(void *)((unsigned long)(void *)((unsigned long)__YK - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__CGXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__CGXC) - (unsigned long)((____EB ) 1)));
+      __UYWC=((____RL )((____M )(void *)((unsigned long)__DGXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __CGXC=__R4(__DGXC,((____EB )(&(table_size[(__UYWC)-1]))),((____RL )((____M )__DGXC)));
+      __SK=__CGXC;
+    } else /* FALSE */ {
+      __UYWC=((____RL )__BH);
+      __CGXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __DGXC=(void *)((unsigned long)(void *)((unsigned long)__YK - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__CGXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__CGXC) - (unsigned long)((____EB ) 1)));
+      __CGXC=__R4(__DGXC,((____EB )(&(table_type[(__UYWC)]))),(____RL)(__UYWC |  1));
+      __SK=__CGXC;
+    };
+    __PJN=((____0YL *)__SK);
+    *(__PJN) = *(__0YL__);
+  };
+  __PTQ=((____0YL *)__PJN);
+  __BH=__PJS( 193);
+  __SK=((____EB )(____M)(__BH * ((____M )(sizeof(void *)))));
+  __YK=((____EB )(NULL));
+  __RYWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+  __TYWC=(void *)((unsigned long)(void *)((unsigned long)__SK - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__RYWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__RYWC) - (unsigned long)((____EB ) 1)));
+  __SK=(void *)((unsigned long)__TYWC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+  if ((__SK <= ((____EB )(MINIMUM_SIZE)))) {
+    __4FXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+    __AGXC=(void *)((unsigned long)(void *)((unsigned long)__SK - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__4FXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__4FXC) - (unsigned long)((____EB ) 1)));
+    __UYWC=((____RL )((____M )(void *)((unsigned long)__AGXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+    __4FXC=__R4(__AGXC,((____EB )(&(table_size[(__UYWC)-1]))),((____RL )((____M )__AGXC)));
+    ((____EB *)__4FXC)[ 0]=((____EB ) 3);
+    __YK=(void *)((unsigned long)__4FXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+  } else /* FALSE */ {
+    __IGXC=__CFF(__TYWC);
+    __YK=(void *)((unsigned long)((____EB )((____OL *)__IGXC)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8)));
+  };
+  __UYT=((void **)__YK);
+  __WK=(____M)(__BH -  1);
+  while ((__WK >=  0)) {
+    __UYT[__WK]=NULL;
+    __WK=(____M)(__WK -  1);
+  };
+  __PTQ->__EPQ=__UYT;
+  __PTQ->__3OQ=__BH;
+  __PTQ->__FQQ= 0;
+  __CZL=__PJN;
+  __TRJ=__OR( 255);
+  __DXX=__TRJ;
+  __TRJ=__OR( 255);
+  __JXX=__TRJ;
+  __BC__->__IC=(*__CC__);
+  __FC4__->__KC4=(*__GC4__);
+  __W3M__->__CH3B=__K__;
+  __W3M__->__DH3B=__K__;
+  __1FM__->__A1FB=((____EB )(NULL));
+  __2SY__->__DTY=(*__3SY__);
+  __ZSY__->__ETY=(*__2SY__);
+  __00O__->__B1O=(*__10O__);
+  __X0O__->__C1O=(*__00O__);
+  __QDN__->__TDN=(*__RDN__);
+  __LAN__->__SAN=(*__MAN__);
+  __JAN__->__KAN=__5B__;
+  __ELP__->__LLP=(*__FLP__);
+  __BX__->__DX= 0;
+  __NDC=__K__;
+  __QC=__K__;
+  __BH=(____M)((*(((____JG *)__RK))).__ZAC +  1);
+  if ((__BH <  3)) {
+    __EG=__G__;
+  } else /* FALSE */ {
+    __KJQC=((void **)(*(((____JG *)__RK))).__ACC)[ 1];
+    __CD=__5TJ(((____YB *)__KJQC),(&__string_1));
+    __EG=__CD;
+  };
+  if (__EG) {
+    __CGE((&__string_2));
+  } else /* FALSE */ {
+    __RYM=NULL;
+    __4FXC=((____EB )(NULL));
+    __0FXC= 0;
+    __AGXC=((____EB )sizeof(____MC));
+    if (((unsigned long)__AGXC ==  0)) {
+      __RYM=__MC__;
+    } else /* FALSE */ {
+      __0FXC=____MC__;
+      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AGXC));
+      if ((__0FXC == (____M)(-  1))) {
+        __MGXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __KGXC=(void *)((unsigned long)(void *)((unsigned long)__AGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC) - (unsigned long)((____EB ) 1)));
+        __RGXC=((____RL )((____M )(void *)((unsigned long)__KGXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+        __MGXC=__R4(__KGXC,((____EB )(&(table_size[(__RGXC)-1]))),((____RL )((____M )__KGXC)));
+        __4FXC=__MGXC;
+      } else /* FALSE */ {
+        __RGXC=((____RL )__0FXC);
+        __MGXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __KGXC=(void *)((unsigned long)(void *)((unsigned long)__AGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC) - (unsigned long)((____EB ) 1)));
+        __MGXC=__R4(__KGXC,((____EB )(&(table_type[(__RGXC)]))),(____RL)(__RGXC |  1));
+        __4FXC=__MGXC;
+      };
+      __RYM=((____MC *)__4FXC);
+      *(__RYM) = *(__MC__);
+    };
+    __4FXC=((____EB )(NULL));
+    __0FXC= 0;
+    __AGXC=((____EB )sizeof(____5B));
+    if (((unsigned long)__AGXC !=  0)) {
+      __0FXC=____5B__;
+      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AGXC));
+      if ((__0FXC == (____M)(-  1))) {
+        __MGXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __KGXC=(void *)((unsigned long)(void *)((unsigned long)__AGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC) - (unsigned long)((____EB ) 1)));
+        __RGXC=((____RL )((____M )(void *)((unsigned long)__KGXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+        __MGXC=__R4(__KGXC,((____EB )(&(table_size[(__RGXC)-1]))),((____RL )((____M )__KGXC)));
+        __4FXC=__MGXC;
+      } else /* FALSE */ {
+        __RGXC=((____RL )__0FXC);
+        __MGXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __KGXC=(void *)((unsigned long)(void *)((unsigned long)__AGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC) - (unsigned long)((____EB ) 1)));
+        __MGXC=__R4(__KGXC,((____EB )(&(table_type[(__RGXC)]))),(____RL)(__RGXC |  1));
+        __4FXC=__MGXC;
+      };
+      *(((____5B *)__4FXC)) = *(__5B__);
+    };
+    __KJQC=__OR( 255);
+    __XWL(((____YB *)__KJQC),((void **)(*(((____JG *)__RK))).__ACC)[ 1]);
+    __CGE((&__string_3));
+    __KXH(((____YB *)__KJQC));
+    __CGE((&__string_4));
+    __CGE((&__string_5));
+    if (__VD__->__OZL==0) {
+    } else /* ___TYPE_ID */ {
+      __FYL=__GYL();
+    };
+    __YD=__3WX(__KJQC);
+    if (((void *)__YD == (void *)NULL)) {
+      __CGE((&__string_6));
+      __KXH(((____YB *)__KJQC));
+      __CGE((&__string_7));
+      exit(( 1));
+    };
+    __XWL(((____YB *)__KJQC),((void **)(*(((____JG *)__RK))).__ACC)[ 2]);
+    __11M=NULL;
+    __4FXC=((____EB )(NULL));
+    __0FXC= 0;
+    __AGXC=((____EB )sizeof(____SB));
+    if (((unsigned long)__AGXC ==  0)) {
+      __11M=__SB__;
+    } else /* FALSE */ {
+      __0FXC=____SB__;
+      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AGXC));
+      if ((__0FXC == (____M)(-  1))) {
+        __MGXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __KGXC=(void *)((unsigned long)(void *)((unsigned long)__AGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC) - (unsigned long)((____EB ) 1)));
+        __RGXC=((____RL )((____M )(void *)((unsigned long)__KGXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+        __MGXC=__R4(__KGXC,((____EB )(&(table_size[(__RGXC)-1]))),((____RL )((____M )__KGXC)));
+        __4FXC=__MGXC;
+      } else /* FALSE */ {
+        __RGXC=((____RL )__0FXC);
+        __MGXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __KGXC=(void *)((unsigned long)(void *)((unsigned long)__AGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC) - (unsigned long)((____EB ) 1)));
+        __MGXC=__R4(__KGXC,((____EB )(&(table_type[(__RGXC)]))),(____RL)(__RGXC |  1));
+        __4FXC=__MGXC;
+      };
+      __11M=((____SB *)__4FXC);
+      *(__11M) = *(__SB__);
+    };
+    __NDC=__K__;
+    __QC=__K__;
+    __0FXC=(____M)((*(((____JG *)__RK))).__ZAC +  1);
+    if ((__0FXC >=  4)) {
+      __1KQC=((void **)(*(((____JG *)__RK))).__ACC)[ 3];
+      __TE=__5TJ(((____YB *)__1KQC),(&__string_8));
+      __A0L=__TE;
+    } else /* FALSE */ {
+      __A0L=__K__;
+    };
+    if (__A0L) {
+      __NDC=__G__;
+    };
+    if ((! __NDC)) {
+      __3P=(____M)((*(((____JG *)__RK))).__ZAC +  1);
+      if ((__3P >=  4)) {
+        __R1C=((void **)(*(((____JG *)__RK))).__ACC)[ 3];
+        __RF=__5TJ(((____YB *)__R1C),(&__string_9));
+        __TOM=__RF;
+      } else /* FALSE */ {
+        __TOM=__K__;
+      };
+      if (__TOM) {
+        __QC=__G__;
+      };
+    };
+    __3F=__N3M(((____SB *)__11M),__YD,__NDC,__QC);
+    __EAN=((____MC *)__RYM);
+    __EAN->__HAN=__3F;
+    __SVFB=((____4B *)__3F);
+    __0FXC= 1;
+    while ((__0FXC <= (*(__SVFB)).__IC.__VBN)) {
+      if ((__0FXC != (*(__SVFB)).__YBGB)) {
+        __0OE=__0FXC;
+        if (((*(__SVFB)).__YBGB > __0FXC)) {
+          (*(__SVFB)).__YBGB= 1;
+          (*(__SVFB)).__DCGB=(*(__SVFB)).__KJJB;
+        };
+        while ((__0OE != (*(__SVFB)).__YBGB)) {
+          (*(__SVFB)).__DCGB=(*(__SVFB)).__DCGB->__0JJB;
+          (*(__SVFB)).__YBGB=(____M)((*(__SVFB)).__YBGB +  1);
+        };
+      };
+      __CWFB=(*(__SVFB)).__DCGB->__FCGB;
+      __0OE= 0;
+      __CEC=(*(__SVFB)).__IC.__VBN;
+      __RIE= 1;
+      while ((__RIE <= __CEC)) {
+        if ((__RIE != (*(__SVFB)).__YBGB)) {
+          __4ZXC=__RIE;
+          if (((*(__SVFB)).__YBGB > __RIE)) {
+            (*(__SVFB)).__YBGB= 1;
+            (*(__SVFB)).__DCGB=(*(__SVFB)).__KJJB;
+          };
+          while ((__4ZXC != (*(__SVFB)).__YBGB)) {
+            (*(__SVFB)).__DCGB=(*(__SVFB)).__DCGB->__0JJB;
+            (*(__SVFB)).__YBGB=(____M)((*(__SVFB)).__YBGB +  1);
+          };
+        };
+        __VPPB=__5TJ(((____YB *)((____5B *)(*(__SVFB)).__DCGB->__FCGB)->__XTY),((____5B *)__CWFB)->__XTY);
+        if (__VPPB) {
+          __0OE=(____M)(__0OE +  1);
+        };
+        __RIE=(____M)(__RIE +  1);
+      };
+      if ((__0OE >  1)) {
+        if ((__0FXC ==  1)) {
+          if (((*(__SVFB)).__IC.__VBN ==  1)) {
+            (*(__SVFB)).__KJJB=NULL;
+            (*(__SVFB)).__INWB=NULL;
+            (*(__SVFB)).__DCGB=NULL;
+            (*(__SVFB)).__YBGB= 0;
+            (*(__SVFB)).__IC.__VBN= 0;
+          } else /* FALSE */ {
+            (*(__SVFB)).__KJJB=(*(__SVFB)).__KJJB->__0JJB;
+            if (((*(__SVFB)).__YBGB ==  1)) {
+              (*(__SVFB)).__DCGB=(*(__SVFB)).__KJJB;
+            } else /* FALSE */ {
+              (*(__SVFB)).__YBGB=(____M)((*(__SVFB)).__YBGB -  1);
+            };
+            (*(__SVFB)).__IC.__VBN=(____M)((*(__SVFB)).__IC.__VBN -  1);
+          };
+          __VPPB=__G__;
+        } else /* FALSE */ {
+          __VPPB=__K__;
+        };
+        if ((! __VPPB)) {
+          if ((__0FXC == (*(__SVFB)).__IC.__VBN)) {
+            if (((*(__SVFB)).__IC.__VBN ==  1)) {
+              (*(__SVFB)).__KJJB=NULL;
+              (*(__SVFB)).__INWB=NULL;
+              (*(__SVFB)).__DCGB=NULL;
+              (*(__SVFB)).__YBGB= 0;
+              (*(__SVFB)).__IC.__VBN= 0;
+            } else /* FALSE */ {
+              if (((____M)((*(__SVFB)).__IC.__VBN -  1) != (*(__SVFB)).__YBGB)) {
+                __B0XC=(____M)((*(__SVFB)).__IC.__VBN -  1);
+                if (((*(__SVFB)).__YBGB > __B0XC)) {
+                  (*(__SVFB)).__YBGB= 1;
+                  (*(__SVFB)).__DCGB=(*(__SVFB)).__KJJB;
+                };
+                while ((__B0XC != (*(__SVFB)).__YBGB)) {
+                  (*(__SVFB)).__DCGB=(*(__SVFB)).__DCGB->__0JJB;
+                  (*(__SVFB)).__YBGB=(____M)((*(__SVFB)).__YBGB +  1);
+                };
+              };
+              (*(__SVFB)).__IC.__VBN=(____M)((*(__SVFB)).__IC.__VBN -  1);
+              (*(__SVFB)).__INWB=(*(__SVFB)).__DCGB;
+              ((____BCGB *)(*(__SVFB)).__INWB)->__0JJB=NULL;
+            };
+          } else /* FALSE */ {
+            if (((____M)(__0FXC -  1) != (*(__SVFB)).__YBGB)) {
+              __B0XC=(____M)(__0FXC -  1);
+              if (((*(__SVFB)).__YBGB > __B0XC)) {
+                (*(__SVFB)).__YBGB= 1;
+                (*(__SVFB)).__DCGB=(*(__SVFB)).__KJJB;
+              };
+              while ((__B0XC != (*(__SVFB)).__YBGB)) {
+                (*(__SVFB)).__DCGB=(*(__SVFB)).__DCGB->__0JJB;
+                (*(__SVFB)).__YBGB=(____M)((*(__SVFB)).__YBGB +  1);
+              };
+            };
+            ((____BCGB *)(*(__SVFB)).__DCGB)->__0JJB=(*(__SVFB)).__DCGB->__0JJB->__0JJB;
+            (*(__SVFB)).__IC.__VBN=(____M)((*(__SVFB)).__IC.__VBN -  1);
+          };
+        };
+      } else /* FALSE */ {
+        __EWCC=((____5B *)__CWFB);
+        __VPPB=__K__;
+        __ZEI= 1;
+        while ((__ZEI <= (*(__EWCC->__WLEB)).__TDN.__OSAB)) {
+          __VPPB=__K__;
+          __X4VC=((____PDN *)__EWCC->__WLEB);
+          if ((__ZEI != (*(__X4VC)).__N0RB)) {
+            __B0XC=__ZEI;
+            if (((*(__X4VC)).__N0RB > __ZEI)) {
+              (*(__X4VC)).__N0RB= 1;
+              (*(__X4VC)).__Y0RB=(*(__X4VC)).__0JSB;
+            };
+            while ((__B0XC != (*(__X4VC)).__N0RB)) {
+              (*(__X4VC)).__Y0RB=(*(__X4VC)).__Y0RB->__KLSB;
+              (*(__X4VC)).__N0RB=(____M)((*(__X4VC)).__N0RB +  1);
+            };
+          };
+          __0WCC=(*(__X4VC)).__Y0RB->__00RB;
+          __4ZXC=(*(__SVFB)).__IC.__VBN;
+          __B0XC= 1;
+          while ((__B0XC <= __4ZXC)) {
+            if ((__B0XC != (*(__SVFB)).__YBGB)) {
+              __K0XC=__B0XC;
+              if (((*(__SVFB)).__YBGB > __B0XC)) {
+                (*(__SVFB)).__YBGB= 1;
+                (*(__SVFB)).__DCGB=(*(__SVFB)).__KJJB;
+              };
+              while ((__K0XC != (*(__SVFB)).__YBGB)) {
+                (*(__SVFB)).__DCGB=(*(__SVFB)).__DCGB->__0JJB;
+                (*(__SVFB)).__YBGB=(____M)((*(__SVFB)).__YBGB +  1);
+              };
+            };
+            __IXCC=__5TJ(((____YB *)__0WCC),((____5B *)(*(__SVFB)).__DCGB->__FCGB)->__XTY);
+            if (__IXCC) {
+              __VPPB=__G__;
+            };
+            __B0XC=(____M)(__B0XC +  1);
+          };
+          if (__VPPB) {
+            __ZEI=(____M)(__ZEI +  1);
+          } else /* FALSE */ {
+            __U4SB(((____PDN *)__EWCC->__WLEB),__ZEI);
+          };
+        };
+        __0FXC=(____M)(__0FXC +  1);
+      };
+    };
+    __M0XC=NULL;
+    __4FXC=((____EB )(NULL));
+    __0FXC= 0;
+    __AGXC=((____EB )sizeof(____IAN));
+    if (((unsigned long)__AGXC ==  0)) {
+      __M0XC=__IAN__;
+    } else /* FALSE */ {
+      __0FXC=____IAN__;
+      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AGXC));
+      if ((__0FXC == (____M)(-  1))) {
+        __MGXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __KGXC=(void *)((unsigned long)(void *)((unsigned long)__AGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC) - (unsigned long)((____EB ) 1)));
+        __RGXC=((____RL )((____M )(void *)((unsigned long)__KGXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+        __MGXC=__R4(__KGXC,((____EB )(&(table_size[(__RGXC)-1]))),((____RL )((____M )__KGXC)));
+        __4FXC=__MGXC;
+      } else /* FALSE */ {
+        __RGXC=((____RL )__0FXC);
+        __MGXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __KGXC=(void *)((unsigned long)(void *)((unsigned long)__AGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC) - (unsigned long)((____EB ) 1)));
+        __MGXC=__R4(__KGXC,((____EB )(&(table_type[(__RGXC)]))),(____RL)(__RGXC |  1));
+        __4FXC=__MGXC;
+      };
+      __M0XC=((____IAN *)__4FXC);
+      *(__M0XC) = *(__IAN__);
+    };
+    __EAN->__VAN=__M0XC;
+    __EAN->__WAN= 10;
+    __EAN->__XAN= 10;
+    __EAN->__YAN=__KJQC;
+    __EAN=((____MC *)__RYM);
+    __HTN:
+    {
+      __0OE=(*(((____4B *)__EAN->__HAN))).__IC.__VBN;
+      __CEC=(*(((____IAN *)__EAN->__VAN))).__SAN.__EDN;
+      if ((__0OE > __CEC)) {
+        __ZEI= 0;
+        __00XC=NULL;
+        __LGXC=((____EB )(NULL));
+        __4ZXC= 0;
+        __NGXC=((____EB )sizeof(____IAN));
+        if (((unsigned long)__NGXC ==  0)) {
+          __00XC=__IAN__;
+        } else /* FALSE */ {
+          __4ZXC=____IAN__;
+          __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NGXC));
+          if ((__4ZXC == (____M)(-  1))) {
+            __40XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+            __50XC=(void *)((unsigned long)(void *)((unsigned long)__NGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__40XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__40XC) - (unsigned long)((____EB ) 1)));
+            __A1XC=((____RL )((____M )(void *)((unsigned long)__50XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+            __40XC=__R4(__50XC,((____EB )(&(table_size[(__A1XC)-1]))),((____RL )((____M )__50XC)));
+            __LGXC=__40XC;
+          } else /* FALSE */ {
+            __A1XC=((____RL )__4ZXC);
+            __40XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+            __50XC=(void *)((unsigned long)(void *)((unsigned long)__NGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__40XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__40XC) - (unsigned long)((____EB ) 1)));
+            __40XC=__R4(__50XC,((____EB )(&(table_type[(__A1XC)]))),(____RL)(__A1XC |  1));
+            __LGXC=__40XC;
+          };
+          __00XC=((____IAN *)__LGXC);
+          *(__00XC) = *(__IAN__);
+        };
+        __34VC=__00XC;
+        __4ZXC=(*(__EAN->__HAN)).__IC.__VBN;
+        __B0XC= 1;
+        while ((__B0XC <= __4ZXC)) {
+          __ARY=NULL;
+          __40XC=((____EB )(NULL));
+          __K0XC= 0;
+          __50XC=((____EB )sizeof(____JAN));
+          if (((unsigned long)__50XC ==  0)) {
+            __ARY=__JAN__;
+          } else /* FALSE */ {
+            __K0XC=____JAN__;
+            __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__50XC));
+            if ((__K0XC == (____M)(-  1))) {
+              __TEVC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __LV=(void *)((unsigned long)(void *)((unsigned long)__50XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__TEVC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__TEVC) - (unsigned long)((____EB ) 1)));
+              __3X=((____RL )((____M )(void *)((unsigned long)__LV / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+              __TEVC=__R4(__LV,((____EB )(&(table_size[(__3X)-1]))),((____RL )((____M )__LV)));
+              __40XC=__TEVC;
+            } else /* FALSE */ {
+              __3X=((____RL )__K0XC);
+              __TEVC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __LV=(void *)((unsigned long)(void *)((unsigned long)__50XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__TEVC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__TEVC) - (unsigned long)((____EB ) 1)));
+              __TEVC=__R4(__LV,((____EB )(&(table_type[(__3X)]))),(____RL)(__3X |  1));
+              __40XC=__TEVC;
+            };
+            __ARY=((____JAN *)__40XC);
+            *(__ARY) = *(__JAN__);
+          };
+          __3BN=__ARY;
+          __54VC=((____4B *)__EAN->__HAN);
+          if ((__B0XC != (*(__54VC)).__YBGB)) {
+            __J1XC=__B0XC;
+            if (((*(__54VC)).__YBGB > __B0XC)) {
+              (*(__54VC)).__YBGB= 1;
+              (*(__54VC)).__DCGB=(*(__54VC)).__KJJB;
+            };
+            while ((__J1XC != (*(__54VC)).__YBGB)) {
+              (*(__54VC)).__DCGB=(*(__54VC)).__DCGB->__0JJB;
+              (*(__54VC)).__YBGB=(____M)((*(__54VC)).__YBGB +  1);
+            };
+          };
+          __ACN=(*(__54VC)).__DCGB->__FCGB;
+          __TSY=((____JAN *)__ARY);
+          __TSY->__KAN=__ACN;
+          __L1XC=NULL;
+          __40XC=((____EB )(NULL));
+          __K0XC= 0;
+          __50XC=((____EB )sizeof(____IAN));
+          if (((unsigned long)__50XC ==  0)) {
+            __L1XC=__IAN__;
+          } else /* FALSE */ {
+            __K0XC=____IAN__;
+            __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__50XC));
+            if ((__K0XC == (____M)(-  1))) {
+              __TEVC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __LV=(void *)((unsigned long)(void *)((unsigned long)__50XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__TEVC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__TEVC) - (unsigned long)((____EB ) 1)));
+              __3X=((____RL )((____M )(void *)((unsigned long)__LV / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+              __TEVC=__R4(__LV,((____EB )(&(table_size[(__3X)-1]))),((____RL )((____M )__LV)));
+              __40XC=__TEVC;
+            } else /* FALSE */ {
+              __3X=((____RL )__K0XC);
+              __TEVC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __LV=(void *)((unsigned long)(void *)((unsigned long)__50XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__TEVC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__TEVC) - (unsigned long)((____EB ) 1)));
+              __TEVC=__R4(__LV,((____EB )(&(table_type[(__3X)]))),(____RL)(__3X |  1));
+              __40XC=__TEVC;
+            };
+            __L1XC=((____IAN *)__40XC);
+            *(__L1XC) = *(__IAN__);
+          };
+          __TSY->__WSY=__L1XC;
+          __3UDC=((____X0O *)__TSY->__KAN->__JSZ);
+          __3UDC->__5UDC= 0;
+          __3UDC->__ZUDC= 0;
+          if (((void *)__3UDC->__AVDC == (void *)NULL)) {
+            __HVDC=__OR( 256);
+            __3UDC->__AVDC=__HVDC;
+          };
+          __0WCC=__3UDC->__AVDC;
+          __XWL(((____YB *)__0WCC),(&__string_10));
+          __K0XC=__3UDC->__C1O.__B1O.__0V5B;
+          __J1XC= 1;
+          while ((__J1XC <= __K0XC)) {
+            __WVDC=__QBFC(__3UDC,__J1XC);
+            __AUIC=((____Y0O *)__WVDC);
+            __DUIC=__OR( 256);
+            __XWL(((____YB *)__DUIC),(&__string_10));
+            switch (((struct ___OBJ *)__AUIC->__SADC)->__id) {
+            case ____503B__: {
+              __FUIC=(&__string_11);
+            } break;
+            case ____M13B__: {
+              __FUIC=(&__string_12);
+            } break;
+            case ____W13B__: {
+              __FUIC=(&__string_13);
+            } break;
+            };
+            __G1N(((____YB *)__DUIC),__FUIC);
+            __G1N(((____YB *)__DUIC),__AUIC->__QADC);
+            __G1N(((____YB *)__DUIC),(&__string_14));
+            __G1N(((____YB *)__DUIC),__AUIC->__RADC);
+            __3UDC->__ZUDC=(____M)(__3UDC->__ZUDC +  1);
+            if ((__DUIC->__3RJ > __3UDC->__5UDC)) {
+              __3UDC->__5UDC=__DUIC->__3RJ;
+            };
+            __G1N(((____YB *)__DUIC),(&__string_4));
+            __G1N(((____YB *)__3UDC->__AVDC),__DUIC);
+            __J1XC=(____M)(__J1XC +  1);
+          };
+          __KWDC=((____ZSY *)__TSY->__KAN->__QSZ);
+          __KWDC->__LWDC= 0;
+          __KWDC->__MWDC= 0;
+          if (((void *)__KWDC->__NWDC == (void *)NULL)) {
+            __HVDC=__OR( 256);
+            __KWDC->__NWDC=__HVDC;
+          };
+          __0WCC=__KWDC->__NWDC;
+          __XWL(((____YB *)__0WCC),(&__string_10));
+          __K0XC=__KWDC->__ETY.__DTY.__HV5B;
+          __J1XC= 1;
+          while ((__J1XC <= __K0XC)) {
+            __DXDC=__TCFC(__KWDC,__J1XC);
+            __MUIC=((____0SY *)__DXDC);
+            __DUIC=__OR( 256);
+            switch (((struct ___OBJ *)__MUIC->__HXGC)->__id) {
+            case ____503B__: {
+              __FUIC=(&__string_11);
+            } break;
+            case ____M13B__: {
+              __FUIC=(&__string_12);
+            } break;
+            case ____W13B__: {
+              __FUIC=(&__string_13);
+            } break;
+            };
+            __XWL(((____YB *)__DUIC),__FUIC);
+            __G1N(((____YB *)__DUIC),__MUIC->__EXGC);
+            __IWIC=((____X0O *)__MUIC->__GXGC);
+            __LWIC=__OR( 10);
+            __XWL(((____YB *)__LWIC),(&__string_15));
+            __IXCC=((void *)__IWIC->__C1O.__U2DC == (void *)NULL);
+            if (__IXCC) {
+              __G1N(((____YB *)__LWIC),(&__string_16));
+            } else /* FALSE */ {
+              __0WIC=__IWIC->__C1O.__B1O.__0V5B;
+              __U2IC= 1;
+              while ((__U2IC <= __0WIC)) {
+                __AXIC=__QBFC(__IWIC,__U2IC);
+                __G1N(((____YB *)__LWIC),((____Y0O *)__AXIC)->__RADC);
+                __G1N(((____YB *)__LWIC),(&__string_17));
+                __U2IC=(____M)(__U2IC +  1);
+              };
+              __I5VC=((____YB *)__LWIC);
+              __0WIC=(____M)(__LWIC->__3RJ -  1);
+              __U2IC=(____M)((____M)(__0WIC -  1) +  1);
+              __F5VC=__OR(__U2IC);
+              ((____YB *)__F5VC)->__3RJ=__U2IC;
+              __5HXC=((____5 *)__F5VC->__GTJ);
+              __AIXC=__I5VC->__GTJ;
+              __U2IC=(____M)(__0WIC -  1);
+              __0WIC= 0;
+              __4HXC= 0;
+              while ((__4HXC <= __U2IC)) {
+                __5HXC[__0WIC]=((____5 *)__AIXC)[__4HXC];
+                __4HXC=(____M)(__4HXC +  1);
+                __0WIC=(____M)(__0WIC +  1);
+              };
+              __XWL(((____YB *)__LWIC),__F5VC);
+              __G1N(((____YB *)__LWIC),(&__string_16));
+            };
+            __G1N(((____YB *)__DUIC),__LWIC);
+            __G1N(((____YB *)__DUIC),(&__string_14));
+            __G1N(((____YB *)__DUIC),__MUIC->__FXGC);
+            __0WIC=__KWDC->__LWDC;
+            __U2IC=__DUIC->__3RJ;
+            __4HXC= 0;
+            if ((__0WIC > __U2IC)) {
+              __4HXC=__0WIC;
+            } else /* FALSE */ {
+              __4HXC=__U2IC;
+            };
+            __KWDC->__LWDC=__4HXC;
+            __G1K(((____YB *)__DUIC),'\n');
+            __G1N(((____YB *)__KWDC->__NWDC),__DUIC);
+            __KWDC->__MWDC=(____M)(__KWDC->__MWDC +  1);
+            __J1XC=(____M)(__J1XC +  1);
+          };
+          __TSY->__HTY=(____M)((____M)((____M)((____M)( 2 + ((____X0O *)__TSY->__KAN->__JSZ)->__ZUDC) +  2) + ((____ZSY *)__TSY->__KAN->__QSZ)->__MWDC) +  2);
+          __K0XC=(____M)(__TSY->__KAN->__XTY->__3RJ <<  1);
+          __J1XC=__K0XC;
+          if ((__K0XC < ((____ZSY *)__TSY->__KAN->__QSZ)->__LWDC)) {
+            __J1XC=((____ZSY *)__TSY->__KAN->__QSZ)->__LWDC;
+          };
+          if ((__J1XC < ((____X0O *)__TSY->__KAN->__JSZ)->__5UDC)) {
+            __J1XC=((____X0O *)__TSY->__KAN->__JSZ)->__5UDC;
+          };
+          __TSY->__JTY=__J1XC;
+          __TSY->__KTY= 10;
+          __TSY->__LTY= 10;
+          __K0XC=(____M)(((____JAN *)__ARY)->__HTY *  12);
+          __J1XC= 0;
+          if ((__ZEI > __K0XC)) {
+            __J1XC=__ZEI;
+          } else /* FALSE */ {
+            __J1XC=__K0XC;
+          };
+          __ZEI=__J1XC;
+          __IXCC=__RZ4(((____IAN *)__EAN->__VAN),((____JAN *)__ARY)->__KAN->__XTY);
+          if ((! __IXCC)) {
+            __0WIC= 0;
+            __U2IC= 0;
+            __RCN=__EAN->__VAN;
+            __K5VC=((____4B *)__EAN->__HAN);
+            if ((__B0XC != (*(__K5VC)).__YBGB)) {
+              __4HXC=__B0XC;
+              if (((*(__K5VC)).__YBGB > __B0XC)) {
+                (*(__K5VC)).__YBGB= 1;
+                (*(__K5VC)).__DCGB=(*(__K5VC)).__KJJB;
+              };
+              while ((__4HXC != (*(__K5VC)).__YBGB)) {
+                (*(__K5VC)).__DCGB=(*(__K5VC)).__DCGB->__0JJB;
+                (*(__K5VC)).__YBGB=(____M)((*(__K5VC)).__YBGB +  1);
+              };
+            };
+            __TCN=(*(__K5VC)).__DCGB->__FCGB;
+            __K5VC=__EAN->__HAN;
+            __ORAB=((____IAN *)__RCN);
+            __4HXC= 1;
+            __XRAB=((____5B *)__TCN)->__WLEB;
+            __21XC=NULL;
+            __TEVC=((____EB )(NULL));
+            __41XC= 0;
+            __LV=((____EB )sizeof(____PDN));
+            if (((unsigned long)__LV ==  0)) {
+              __21XC=__PDN__;
+            } else /* FALSE */ {
+              __41XC=____PDN__;
+              __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__LV));
+              if ((__41XC == (____M)(-  1))) {
+                __A2XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __B2XC=(void *)((unsigned long)(void *)((unsigned long)__LV - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A2XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A2XC) - (unsigned long)((____EB ) 1)));
+                __C2XC=((____RL )((____M )(void *)((unsigned long)__B2XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                __A2XC=__R4(__B2XC,((____EB )(&(table_size[(__C2XC)-1]))),((____RL )((____M )__B2XC)));
+                __TEVC=__A2XC;
+              } else /* FALSE */ {
+                __C2XC=((____RL )__41XC);
+                __A2XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __B2XC=(void *)((unsigned long)(void *)((unsigned long)__LV - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A2XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A2XC) - (unsigned long)((____EB ) 1)));
+                __A2XC=__R4(__B2XC,((____EB )(&(table_type[(__C2XC)]))),(____RL)(__C2XC |  1));
+                __TEVC=__A2XC;
+              };
+              __21XC=((____PDN *)__TEVC);
+              *(__21XC) = *(__PDN__);
+            };
+            __YRAB=__21XC;
+            __K2XC=NULL;
+            __TEVC=((____EB )(NULL));
+            __41XC= 0;
+            __LV=((____EB )sizeof(____PDN));
+            if (((unsigned long)__LV ==  0)) {
+              __K2XC=__PDN__;
+            } else /* FALSE */ {
+              __41XC=____PDN__;
+              __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__LV));
+              if ((__41XC == (____M)(-  1))) {
+                __A2XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __B2XC=(void *)((unsigned long)(void *)((unsigned long)__LV - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A2XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A2XC) - (unsigned long)((____EB ) 1)));
+                __C2XC=((____RL )((____M )(void *)((unsigned long)__B2XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                __A2XC=__R4(__B2XC,((____EB )(&(table_size[(__C2XC)-1]))),((____RL )((____M )__B2XC)));
+                __TEVC=__A2XC;
+              } else /* FALSE */ {
+                __C2XC=((____RL )__41XC);
+                __A2XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __B2XC=(void *)((unsigned long)(void *)((unsigned long)__LV - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A2XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A2XC) - (unsigned long)((____EB ) 1)));
+                __A2XC=__R4(__B2XC,((____EB )(&(table_type[(__C2XC)]))),(____RL)(__C2XC |  1));
+                __TEVC=__A2XC;
+              };
+              __K2XC=((____PDN *)__TEVC);
+              *(__K2XC) = *(__PDN__);
+            };
+            __AYRB=((____PDN *)__21XC);
+            __ZJSB=NULL;
+            if (((void *)(*(__AYRB)).__0JSB == (void *)NULL)) {
+              __EKSB=(*(__XRAB)).__TDN.__OSAB;
+              __FZUB= 1;
+              while ((__FZUB <= __EKSB)) {
+                __N5VC=((____PDN *)__XRAB);
+                if ((__FZUB != (*(__N5VC)).__N0RB)) {
+                  __Z2XC=__FZUB;
+                  if (((*(__N5VC)).__N0RB > __FZUB)) {
+                    (*(__N5VC)).__N0RB= 1;
+                    (*(__N5VC)).__Y0RB=(*(__N5VC)).__0JSB;
+                  };
+                  while ((__Z2XC != (*(__N5VC)).__N0RB)) {
+                    (*(__N5VC)).__Y0RB=(*(__N5VC)).__Y0RB->__KLSB;
+                    (*(__N5VC)).__N0RB=(____M)((*(__N5VC)).__N0RB +  1);
+                  };
+                };
+                __KKSB=(*(__N5VC)).__Y0RB->__00RB;
+                if (((void *)(*(__AYRB)).__0JSB == (void *)NULL)) {
+                  __12XC=NULL;
+                  __22XC=((____EB )(NULL));
+                  __Z2XC= 0;
+                  __42XC=((____EB )sizeof(____W0RB));
+                  if (((unsigned long)__42XC ==  0)) {
+                    __12XC=__W0RB__;
+                  } else /* FALSE */ {
+                    __Z2XC=____W0RB__;
+                    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__42XC));
+                    if ((__Z2XC == (____M)(-  1))) {
+                      __52XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                      __A3XC=(void *)((unsigned long)(void *)((unsigned long)__42XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__52XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__52XC) - (unsigned long)((____EB ) 1)));
+                      __B3XC=((____RL )((____M )(void *)((unsigned long)__A3XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                      __52XC=__R4(__A3XC,((____EB )(&(table_size[(__B3XC)-1]))),((____RL )((____M )__A3XC)));
+                      __22XC=__52XC;
+                    } else /* FALSE */ {
+                      __B3XC=((____RL )__Z2XC);
+                      __52XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                      __A3XC=(void *)((unsigned long)(void *)((unsigned long)__42XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__52XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__52XC) - (unsigned long)((____EB ) 1)));
+                      __52XC=__R4(__A3XC,((____EB )(&(table_type[(__B3XC)]))),(____RL)(__B3XC |  1));
+                      __22XC=__52XC;
+                    };
+                    __12XC=((____W0RB *)__22XC);
+                    *(__12XC) = *(__W0RB__);
+                  };
+                  __I3XC=((____W0RB *)__12XC);
+                  __I3XC->__00RB=__KKSB;
+                  __I3XC->__KLSB=NULL;
+                  (*(__AYRB)).__0JSB=__12XC;
+                  (*(__AYRB)).__TDN.__OSAB= 1;
+                  (*(__AYRB)).__1MSB=(*(__AYRB)).__0JSB;
+                  (*(__AYRB)).__N0RB= 1;
+                  (*(__AYRB)).__Y0RB=(*(__AYRB)).__0JSB;
+                } else /* FALSE */ {
+                  __12XC=NULL;
+                  __22XC=((____EB )(NULL));
+                  __Z2XC= 0;
+                  __42XC=((____EB )sizeof(____W0RB));
+                  if (((unsigned long)__42XC ==  0)) {
+                    __12XC=__W0RB__;
+                  } else /* FALSE */ {
+                    __Z2XC=____W0RB__;
+                    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__42XC));
+                    if ((__Z2XC == (____M)(-  1))) {
+                      __52XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                      __A3XC=(void *)((unsigned long)(void *)((unsigned long)__42XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__52XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__52XC) - (unsigned long)((____EB ) 1)));
+                      __B3XC=((____RL )((____M )(void *)((unsigned long)__A3XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                      __52XC=__R4(__A3XC,((____EB )(&(table_size[(__B3XC)-1]))),((____RL )((____M )__A3XC)));
+                      __22XC=__52XC;
+                    } else /* FALSE */ {
+                      __B3XC=((____RL )__Z2XC);
+                      __52XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                      __A3XC=(void *)((unsigned long)(void *)((unsigned long)__42XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__52XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__52XC) - (unsigned long)((____EB ) 1)));
+                      __52XC=__R4(__A3XC,((____EB )(&(table_type[(__B3XC)]))),(____RL)(__B3XC |  1));
+                      __22XC=__52XC;
+                    };
+                    __12XC=((____W0RB *)__22XC);
+                    *(__12XC) = *(__W0RB__);
+                  };
+                  __I3XC=((____W0RB *)__12XC);
+                  __I3XC->__00RB=__KKSB;
+                  __I3XC->__KLSB=NULL;
+                  ((____W0RB *)(*(__AYRB)).__1MSB)->__KLSB=__12XC;
+                  (*(__AYRB)).__TDN.__OSAB=(____M)((*(__AYRB)).__TDN.__OSAB +  1);
+                  (*(__AYRB)).__1MSB=__12XC;
+                };
+                __FZUB=(____M)(__FZUB +  1);
+              };
+            } else /* FALSE */ {
+              __ZJSB=(*(__AYRB)).__0JSB;
+              __EKSB=(*(__XRAB)).__TDN.__OSAB;
+              __FZUB= 1;
+              while ((__FZUB <= __EKSB)) {
+                if (((void *)__ZJSB == (void *)NULL)) {
+                  __Q5VC=((____PDN *)__XRAB);
+                  if ((__FZUB != (*(__Q5VC)).__N0RB)) {
+                    __23XC=__FZUB;
+                    if (((*(__Q5VC)).__N0RB > __FZUB)) {
+                      (*(__Q5VC)).__N0RB= 1;
+                      (*(__Q5VC)).__Y0RB=(*(__Q5VC)).__0JSB;
+                    };
+                    while ((__23XC != (*(__Q5VC)).__N0RB)) {
+                      (*(__Q5VC)).__Y0RB=(*(__Q5VC)).__Y0RB->__KLSB;
+                      (*(__Q5VC)).__N0RB=(____M)((*(__Q5VC)).__N0RB +  1);
+                    };
+                  };
+                  __BLSB=(*(__Q5VC)).__Y0RB->__00RB;
+                  if (((void *)(*(__AYRB)).__0JSB == (void *)NULL)) {
+                    __43XC=NULL;
+                    __52XC=((____EB )(NULL));
+                    __23XC= 0;
+                    __A3XC=((____EB )sizeof(____W0RB));
+                    if (((unsigned long)__A3XC ==  0)) {
+                      __43XC=__W0RB__;
+                    } else /* FALSE */ {
+                      __23XC=____W0RB__;
+                      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A3XC));
+                      if ((__23XC == (____M)(-  1))) {
+                        __C4XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                        __D4XC=(void *)((unsigned long)(void *)((unsigned long)__A3XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC) - (unsigned long)((____EB ) 1)));
+                        __E4XC=((____RL )((____M )(void *)((unsigned long)__D4XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                        __C4XC=__R4(__D4XC,((____EB )(&(table_size[(__E4XC)-1]))),((____RL )((____M )__D4XC)));
+                        __52XC=__C4XC;
+                      } else /* FALSE */ {
+                        __E4XC=((____RL )__23XC);
+                        __C4XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                        __D4XC=(void *)((unsigned long)(void *)((unsigned long)__A3XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC) - (unsigned long)((____EB ) 1)));
+                        __C4XC=__R4(__D4XC,((____EB )(&(table_type[(__E4XC)]))),(____RL)(__E4XC |  1));
+                        __52XC=__C4XC;
+                      };
+                      __43XC=((____W0RB *)__52XC);
+                      *(__43XC) = *(__W0RB__);
+                    };
+                    __L4XC=((____W0RB *)__43XC);
+                    __L4XC->__00RB=__BLSB;
+                    __L4XC->__KLSB=NULL;
+                    (*(__AYRB)).__0JSB=__43XC;
+                    (*(__AYRB)).__TDN.__OSAB= 1;
+                    (*(__AYRB)).__1MSB=(*(__AYRB)).__0JSB;
+                    (*(__AYRB)).__N0RB= 1;
+                    (*(__AYRB)).__Y0RB=(*(__AYRB)).__0JSB;
+                  } else /* FALSE */ {
+                    __43XC=NULL;
+                    __52XC=((____EB )(NULL));
+                    __23XC= 0;
+                    __A3XC=((____EB )sizeof(____W0RB));
+                    if (((unsigned long)__A3XC ==  0)) {
+                      __43XC=__W0RB__;
+                    } else /* FALSE */ {
+                      __23XC=____W0RB__;
+                      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A3XC));
+                      if ((__23XC == (____M)(-  1))) {
+                        __C4XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                        __D4XC=(void *)((unsigned long)(void *)((unsigned long)__A3XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC) - (unsigned long)((____EB ) 1)));
+                        __E4XC=((____RL )((____M )(void *)((unsigned long)__D4XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                        __C4XC=__R4(__D4XC,((____EB )(&(table_size[(__E4XC)-1]))),((____RL )((____M )__D4XC)));
+                        __52XC=__C4XC;
+                      } else /* FALSE */ {
+                        __E4XC=((____RL )__23XC);
+                        __C4XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                        __D4XC=(void *)((unsigned long)(void *)((unsigned long)__A3XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC) - (unsigned long)((____EB ) 1)));
+                        __C4XC=__R4(__D4XC,((____EB )(&(table_type[(__E4XC)]))),(____RL)(__E4XC |  1));
+                        __52XC=__C4XC;
+                      };
+                      __43XC=((____W0RB *)__52XC);
+                      *(__43XC) = *(__W0RB__);
+                    };
+                    __L4XC=((____W0RB *)__43XC);
+                    __L4XC->__00RB=__BLSB;
+                    __L4XC->__KLSB=NULL;
+                    ((____W0RB *)(*(__AYRB)).__1MSB)->__KLSB=__43XC;
+                    (*(__AYRB)).__TDN.__OSAB=(____M)((*(__AYRB)).__TDN.__OSAB +  1);
+                    (*(__AYRB)).__1MSB=__43XC;
+                  };
+                } else /* FALSE */ {
+                  __Q5VC=((____PDN *)__XRAB);
+                  if ((__FZUB != (*(__Q5VC)).__N0RB)) {
+                    __23XC=__FZUB;
+                    if (((*(__Q5VC)).__N0RB > __FZUB)) {
+                      (*(__Q5VC)).__N0RB= 1;
+                      (*(__Q5VC)).__Y0RB=(*(__Q5VC)).__0JSB;
+                    };
+                    while ((__23XC != (*(__Q5VC)).__N0RB)) {
+                      (*(__Q5VC)).__Y0RB=(*(__Q5VC)).__Y0RB->__KLSB;
+                      (*(__Q5VC)).__N0RB=(____M)((*(__Q5VC)).__N0RB +  1);
+                    };
+                  };
+                  ((____W0RB *)__ZJSB)->__00RB=(*(__Q5VC)).__Y0RB->__00RB;
+                  __ZJSB=__ZJSB->__KLSB;
+                };
+                __FZUB=(____M)(__FZUB +  1);
+              };
+              if (((void *)__ZJSB == (void *)(*(__AYRB)).__0JSB)) {
+                if (((void *)(*(__AYRB)).__0JSB != (void *)NULL)) {
+                  (*(__AYRB)).__0JSB=NULL;
+                  (*(__AYRB)).__N0RB= 0;
+                  (*(__AYRB)).__Y0RB=NULL;
+                  (*(__AYRB)).__TDN.__OSAB= 0;
+                  (*(__AYRB)).__1MSB=NULL;
+                };
+                __2LSB=__G__;
+              } else /* FALSE */ {
+                __2LSB=__K__;
+              };
+              if ((! __2LSB)) {
+                if (((void *)__ZJSB != (void *)NULL)) {
+                  __Z2XC=(*(((____PDN *)__XRAB))).__TDN.__OSAB;
+                  if (((*(__AYRB)).__N0RB != __Z2XC)) {
+                    if (((*(__AYRB)).__N0RB > __Z2XC)) {
+                      (*(__AYRB)).__N0RB= 1;
+                      (*(__AYRB)).__Y0RB=(*(__AYRB)).__0JSB;
+                    };
+                    while ((__Z2XC != (*(__AYRB)).__N0RB)) {
+                      (*(__AYRB)).__Y0RB=(*(__AYRB)).__Y0RB->__KLSB;
+                      (*(__AYRB)).__N0RB=(____M)((*(__AYRB)).__N0RB +  1);
+                    };
+                  };
+                  ((____W0RB *)(*(__AYRB)).__Y0RB)->__KLSB=NULL;
+                  (*(__AYRB)).__TDN.__OSAB=__Z2XC;
+                  (*(__AYRB)).__1MSB=(*(__AYRB)).__Y0RB;
+                };
+              };
+            };
+            __XRAB=__BKGB(((____4B *)__K5VC),__TCN,__TCN,__K2XC);
+            __2LSB=__CYRB(((____PDN *)__K2XC),((____5B *)__TCN)->__XTY);
+            if (__2LSB) {
+              __DUIC=(*(((____PDN *)__K2XC))).__0JSB->__00RB;
+              __N5VC=((____PDN *)__21XC);
+              __EKSB= 1;
+              __Q2UB:
+              {
+                if ((__EKSB > (*(__N5VC)).__TDN.__OSAB)) {
+                  __LXTB=__G__;
+                } else /* FALSE */ {
+                  if ((__EKSB != (*(__N5VC)).__N0RB)) {
+                    __23XC=__EKSB;
+                    if (((*(__N5VC)).__N0RB > __EKSB)) {
+                      (*(__N5VC)).__N0RB= 1;
+                      (*(__N5VC)).__Y0RB=(*(__N5VC)).__0JSB;
+                    };
+                    while ((__23XC != (*(__N5VC)).__N0RB)) {
+                      (*(__N5VC)).__Y0RB=(*(__N5VC)).__Y0RB->__KLSB;
+                      (*(__N5VC)).__N0RB=(____M)((*(__N5VC)).__N0RB +  1);
+                    };
+                  };
+                  __IXTB=__5TJ(((____YB *)__DUIC),(*(__N5VC)).__Y0RB->__00RB);
+                  __LXTB=__IXTB;
+                };
+                if ((! __LXTB)) {
+                  __EKSB=(____M)(__EKSB +  1);
+                  goto __Q2UB;
+                };
+              };
+              __U4SB(((____PDN *)__21XC),__EKSB);
+              __4HXC= 2;
+            };
+            __41XC=(*(__21XC)).__TDN.__OSAB;
+            __EKSB= 1;
+            while ((__EKSB <= __41XC)) {
+              __Q5VC=((____PDN *)__YRAB);
+              if ((__EKSB != (*(__Q5VC)).__N0RB)) {
+                __Z2XC=__EKSB;
+                if (((*(__Q5VC)).__N0RB > __EKSB)) {
+                  (*(__Q5VC)).__N0RB= 1;
+                  (*(__Q5VC)).__Y0RB=(*(__Q5VC)).__0JSB;
+                };
+                while ((__Z2XC != (*(__Q5VC)).__N0RB)) {
+                  (*(__Q5VC)).__Y0RB=(*(__Q5VC)).__Y0RB->__KLSB;
+                  (*(__Q5VC)).__N0RB=(____M)((*(__Q5VC)).__N0RB +  1);
+                };
+              };
+              __LXTB=__RZ4(__ORAB,(*(__Q5VC)).__Y0RB->__00RB);
+              if ((! __LXTB)) {
+                __4HXC= 0;
+              };
+              __EKSB=(____M)(__EKSB +  1);
+            };
+            if ((__4HXC >  0)) {
+              __FZUB=(*(__EAN->__VAN)).__SAN.__EDN;
+              __Z2XC= 1;
+              while ((__Z2XC <= __FZUB)) {
+                __Y5VC=((____IAN *)__EAN->__VAN);
+                if ((__Z2XC != (*(__Y5VC)).__OG4)) {
+                  __23XC=__Z2XC;
+                  if (((*(__Y5VC)).__OG4 > __Z2XC)) {
+                    (*(__Y5VC)).__OG4= 1;
+                    (*(__Y5VC)).__1G4=(*(__Y5VC)).__BH5;
+                  };
+                  while ((__23XC != (*(__Y5VC)).__OG4)) {
+                    (*(__Y5VC)).__1G4=(*(__Y5VC)).__1G4->__RI5;
+                    (*(__Y5VC)).__OG4=(____M)((*(__Y5VC)).__OG4 +  1);
+                  };
+                };
+                __ODN=(*(__Y5VC)).__1G4->__3G4;
+                __IXTB=__CYRB(((____PDN *)((____JAN *)__3BN)->__KAN->__WLEB),((____JAN *)__ODN)->__KAN->__XTY);
+                if (__IXTB) {
+                  __0WIC=(____M)(__0WIC + ((____JAN *)__ODN)->__Y4CB);
+                  __23XC=(____M)(((____JAN *)__ODN)->__Z4CB + (____M)(((____JAN *)__ODN)->__HTY *  12));
+                  __UCVC= 0;
+                  if ((__U2IC > __23XC)) {
+                    __UCVC=__U2IC;
+                  } else /* FALSE */ {
+                    __UCVC=__23XC;
+                  };
+                  __U2IC=__UCVC;
+                  __XZWC=((____IAN *)((____JAN *)__3BN)->__WSY);
+                  if (((void *)(*(__XZWC)).__BH5 == (void *)NULL)) {
+                    __K5XC=NULL;
+                    __52XC=((____EB )(NULL));
+                    __M5XC= 0;
+                    __A3XC=((____EB )sizeof(____XG4));
+                    if (((unsigned long)__A3XC ==  0)) {
+                      __K5XC=__XG4__;
+                    } else /* FALSE */ {
+                      __M5XC=____XG4__;
+                      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A3XC));
+                      if ((__M5XC == (____M)(-  1))) {
+                        __C4XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                        __D4XC=(void *)((unsigned long)(void *)((unsigned long)__A3XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC) - (unsigned long)((____EB ) 1)));
+                        __E4XC=((____RL )((____M )(void *)((unsigned long)__D4XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                        __C4XC=__R4(__D4XC,((____EB )(&(table_size[(__E4XC)-1]))),((____RL )((____M )__D4XC)));
+                        __52XC=__C4XC;
+                      } else /* FALSE */ {
+                        __E4XC=((____RL )__M5XC);
+                        __C4XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                        __D4XC=(void *)((unsigned long)(void *)((unsigned long)__A3XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC) - (unsigned long)((____EB ) 1)));
+                        __C4XC=__R4(__D4XC,((____EB )(&(table_type[(__E4XC)]))),(____RL)(__E4XC |  1));
+                        __52XC=__C4XC;
+                      };
+                      __K5XC=((____XG4 *)__52XC);
+                      *(__K5XC) = *(__XG4__);
+                    };
+                    __X5XC=((____XG4 *)__K5XC);
+                    __X5XC->__3G4=__ODN;
+                    __X5XC->__RI5=NULL;
+                    (*(__XZWC)).__BH5=__K5XC;
+                    (*(__XZWC)).__SAN.__EDN= 1;
+                    (*(__XZWC)).__CK5=(*(__XZWC)).__BH5;
+                    (*(__XZWC)).__OG4= 1;
+                    (*(__XZWC)).__1G4=(*(__XZWC)).__BH5;
+                  } else /* FALSE */ {
+                    __K5XC=NULL;
+                    __52XC=((____EB )(NULL));
+                    __M5XC= 0;
+                    __A3XC=((____EB )sizeof(____XG4));
+                    if (((unsigned long)__A3XC ==  0)) {
+                      __K5XC=__XG4__;
+                    } else /* FALSE */ {
+                      __M5XC=____XG4__;
+                      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A3XC));
+                      if ((__M5XC == (____M)(-  1))) {
+                        __C4XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                        __D4XC=(void *)((unsigned long)(void *)((unsigned long)__A3XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC) - (unsigned long)((____EB ) 1)));
+                        __E4XC=((____RL )((____M )(void *)((unsigned long)__D4XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                        __C4XC=__R4(__D4XC,((____EB )(&(table_size[(__E4XC)-1]))),((____RL )((____M )__D4XC)));
+                        __52XC=__C4XC;
+                      } else /* FALSE */ {
+                        __E4XC=((____RL )__M5XC);
+                        __C4XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                        __D4XC=(void *)((unsigned long)(void *)((unsigned long)__A3XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC) - (unsigned long)((____EB ) 1)));
+                        __C4XC=__R4(__D4XC,((____EB )(&(table_type[(__E4XC)]))),(____RL)(__E4XC |  1));
+                        __52XC=__C4XC;
+                      };
+                      __K5XC=((____XG4 *)__52XC);
+                      *(__K5XC) = *(__XG4__);
+                    };
+                    __X5XC=((____XG4 *)__K5XC);
+                    __X5XC->__3G4=__ODN;
+                    __X5XC->__RI5=NULL;
+                    ((____XG4 *)(*(__XZWC)).__CK5)->__RI5=__K5XC;
+                    (*(__XZWC)).__SAN.__EDN=(____M)((*(__XZWC)).__SAN.__EDN +  1);
+                    (*(__XZWC)).__CK5=__K5XC;
+                  };
+                };
+                __Z2XC=(____M)(__Z2XC +  1);
+              };
+              __FZUB=(*(((____PDN *)((____JAN *)__ARY)->__KAN->__WLEB))).__TDN.__OSAB;
+              if (((__FZUB ==  0) || (__4HXC ==  2))) {
+                if ((__4HXC ==  2)) {
+                  __Y5VC=((____IAN *)__34VC);
+                  if (((void *)(*(__Y5VC)).__BH5 == (void *)NULL)) {
+                    __K5XC=NULL;
+                    __22XC=((____EB )(NULL));
+                    __23XC= 0;
+                    __42XC=((____EB )sizeof(____XG4));
+                    if (((unsigned long)__42XC ==  0)) {
+                      __K5XC=__XG4__;
+                    } else /* FALSE */ {
+                      __23XC=____XG4__;
+                      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__42XC));
+                      if ((__23XC == (____M)(-  1))) {
+                        __C4XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                        __D4XC=(void *)((unsigned long)(void *)((unsigned long)__42XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC) - (unsigned long)((____EB ) 1)));
+                        __B3XC=((____RL )((____M )(void *)((unsigned long)__D4XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                        __C4XC=__R4(__D4XC,((____EB )(&(table_size[(__B3XC)-1]))),((____RL )((____M )__D4XC)));
+                        __22XC=__C4XC;
+                      } else /* FALSE */ {
+                        __B3XC=((____RL )__23XC);
+                        __C4XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                        __D4XC=(void *)((unsigned long)(void *)((unsigned long)__42XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC) - (unsigned long)((____EB ) 1)));
+                        __C4XC=__R4(__D4XC,((____EB )(&(table_type[(__B3XC)]))),(____RL)(__B3XC |  1));
+                        __22XC=__C4XC;
+                      };
+                      __K5XC=((____XG4 *)__22XC);
+                      *(__K5XC) = *(__XG4__);
+                    };
+                    __X5XC=((____XG4 *)__K5XC);
+                    __X5XC->__3G4=__ARY;
+                    __X5XC->__RI5=NULL;
+                    (*(__Y5VC)).__BH5=__K5XC;
+                    (*(__Y5VC)).__SAN.__EDN= 1;
+                    (*(__Y5VC)).__CK5=(*(__Y5VC)).__BH5;
+                    (*(__Y5VC)).__OG4= 1;
+                    (*(__Y5VC)).__1G4=(*(__Y5VC)).__BH5;
+                  } else /* FALSE */ {
+                    __K5XC=NULL;
+                    __22XC=((____EB )(NULL));
+                    __23XC= 0;
+                    __42XC=((____EB )sizeof(____XG4));
+                    if (((unsigned long)__42XC ==  0)) {
+                      __K5XC=__XG4__;
+                    } else /* FALSE */ {
+                      __23XC=____XG4__;
+                      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__42XC));
+                      if ((__23XC == (____M)(-  1))) {
+                        __C4XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                        __D4XC=(void *)((unsigned long)(void *)((unsigned long)__42XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC) - (unsigned long)((____EB ) 1)));
+                        __B3XC=((____RL )((____M )(void *)((unsigned long)__D4XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                        __C4XC=__R4(__D4XC,((____EB )(&(table_size[(__B3XC)-1]))),((____RL )((____M )__D4XC)));
+                        __22XC=__C4XC;
+                      } else /* FALSE */ {
+                        __B3XC=((____RL )__23XC);
+                        __C4XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                        __D4XC=(void *)((unsigned long)(void *)((unsigned long)__42XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C4XC) - (unsigned long)((____EB ) 1)));
+                        __C4XC=__R4(__D4XC,((____EB )(&(table_type[(__B3XC)]))),(____RL)(__B3XC |  1));
+                        __22XC=__C4XC;
+                      };
+                      __K5XC=((____XG4 *)__22XC);
+                      *(__K5XC) = *(__XG4__);
+                    };
+                    __X5XC=((____XG4 *)__K5XC);
+                    __X5XC->__3G4=__ARY;
+                    __X5XC->__RI5=NULL;
+                    ((____XG4 *)(*(__Y5VC)).__CK5)->__RI5=__K5XC;
+                    (*(__Y5VC)).__SAN.__EDN=(____M)((*(__Y5VC)).__SAN.__EDN +  1);
+                    (*(__Y5VC)).__CK5=__K5XC;
+                  };
+                };
+                __0WIC=__EAN->__WAN;
+                __U2IC=__EAN->__XAN;
+                __EAN->__WAN=(____M)((____M)(__EAN->__WAN + (____M)(((____JAN *)__ARY)->__JTY *  7)) +  20);
+              } else /* FALSE */ {
+                __23XC=(*(((____PDN *)((____JAN *)__ARY)->__KAN->__WLEB))).__TDN.__OSAB;
+                __0WIC=(____M)(__0WIC / __23XC);
+                __U2IC=(____M)(__U2IC +  60);
+              };
+              __ODN=((____JAN *)__ARY);
+              __ODN->__Y4CB=__0WIC;
+              __ODN->__Z4CB=__U2IC;
+              __Y5VC=((____IAN *)__EAN->__VAN);
+              if (((void *)(*(__Y5VC)).__BH5 == (void *)NULL)) {
+                __K5XC=NULL;
+                __A2XC=((____EB )(NULL));
+                __23XC= 0;
+                __B2XC=((____EB )sizeof(____XG4));
+                if (((unsigned long)__B2XC ==  0)) {
+                  __K5XC=__XG4__;
+                } else /* FALSE */ {
+                  __23XC=____XG4__;
+                  __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__B2XC));
+                  if ((__23XC == (____M)(-  1))) {
+                    __22XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                    __42XC=(void *)((unsigned long)(void *)((unsigned long)__B2XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__22XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__22XC) - (unsigned long)((____EB ) 1)));
+                    __B3XC=((____RL )((____M )(void *)((unsigned long)__42XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                    __22XC=__R4(__42XC,((____EB )(&(table_size[(__B3XC)-1]))),((____RL )((____M )__42XC)));
+                    __A2XC=__22XC;
+                  } else /* FALSE */ {
+                    __B3XC=((____RL )__23XC);
+                    __22XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                    __42XC=(void *)((unsigned long)(void *)((unsigned long)__B2XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__22XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__22XC) - (unsigned long)((____EB ) 1)));
+                    __22XC=__R4(__42XC,((____EB )(&(table_type[(__B3XC)]))),(____RL)(__B3XC |  1));
+                    __A2XC=__22XC;
+                  };
+                  __K5XC=((____XG4 *)__A2XC);
+                  *(__K5XC) = *(__XG4__);
+                };
+                __X5XC=((____XG4 *)__K5XC);
+                __X5XC->__3G4=__ARY;
+                __X5XC->__RI5=NULL;
+                (*(__Y5VC)).__BH5=__K5XC;
+                (*(__Y5VC)).__SAN.__EDN= 1;
+                (*(__Y5VC)).__CK5=(*(__Y5VC)).__BH5;
+                (*(__Y5VC)).__OG4= 1;
+                (*(__Y5VC)).__1G4=(*(__Y5VC)).__BH5;
+              } else /* FALSE */ {
+                __K5XC=NULL;
+                __A2XC=((____EB )(NULL));
+                __23XC= 0;
+                __B2XC=((____EB )sizeof(____XG4));
+                if (((unsigned long)__B2XC ==  0)) {
+                  __K5XC=__XG4__;
+                } else /* FALSE */ {
+                  __23XC=____XG4__;
+                  __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__B2XC));
+                  if ((__23XC == (____M)(-  1))) {
+                    __22XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                    __42XC=(void *)((unsigned long)(void *)((unsigned long)__B2XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__22XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__22XC) - (unsigned long)((____EB ) 1)));
+                    __B3XC=((____RL )((____M )(void *)((unsigned long)__42XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                    __22XC=__R4(__42XC,((____EB )(&(table_size[(__B3XC)-1]))),((____RL )((____M )__42XC)));
+                    __A2XC=__22XC;
+                  } else /* FALSE */ {
+                    __B3XC=((____RL )__23XC);
+                    __22XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                    __42XC=(void *)((unsigned long)(void *)((unsigned long)__B2XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__22XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__22XC) - (unsigned long)((____EB ) 1)));
+                    __22XC=__R4(__42XC,((____EB )(&(table_type[(__B3XC)]))),(____RL)(__B3XC |  1));
+                    __A2XC=__22XC;
+                  };
+                  __K5XC=((____XG4 *)__A2XC);
+                  *(__K5XC) = *(__XG4__);
+                };
+                __X5XC=((____XG4 *)__K5XC);
+                __X5XC->__3G4=__ARY;
+                __X5XC->__RI5=NULL;
+                ((____XG4 *)(*(__Y5VC)).__CK5)->__RI5=__K5XC;
+                (*(__Y5VC)).__SAN.__EDN=(____M)((*(__Y5VC)).__SAN.__EDN +  1);
+                (*(__Y5VC)).__CK5=__K5XC;
+              };
+              __34CB(__EAN,__ARY,__EAN->__VAN);
+            };
+          };
+          __B0XC=(____M)(__B0XC +  1);
+        };
+        __4ZXC= 1;
+        while ((__4ZXC <= (*(__34VC)).__SAN.__EDN)) {
+          __K0XC= 0;
+          __J1XC= 0;
+          __0WIC=(*(__EAN->__VAN)).__SAN.__EDN;
+          __U2IC= 1;
+          while ((__U2IC <= __0WIC)) {
+            __Y5VC=((____IAN *)__EAN->__VAN);
+            if ((__U2IC != (*(__Y5VC)).__OG4)) {
+              __23XC=__U2IC;
+              if (((*(__Y5VC)).__OG4 > __U2IC)) {
+                (*(__Y5VC)).__OG4= 1;
+                (*(__Y5VC)).__1G4=(*(__Y5VC)).__BH5;
+              };
+              while ((__23XC != (*(__Y5VC)).__OG4)) {
+                (*(__Y5VC)).__1G4=(*(__Y5VC)).__1G4->__RI5;
+                (*(__Y5VC)).__OG4=(____M)((*(__Y5VC)).__OG4 +  1);
+              };
+            };
+            __ODN=(*(__Y5VC)).__1G4->__3G4;
+            __Y5VC=((____IAN *)__34VC);
+            if ((__4ZXC != (*(__Y5VC)).__OG4)) {
+              __23XC=__4ZXC;
+              if (((*(__Y5VC)).__OG4 > __4ZXC)) {
+                (*(__Y5VC)).__OG4= 1;
+                (*(__Y5VC)).__1G4=(*(__Y5VC)).__BH5;
+              };
+              while ((__23XC != (*(__Y5VC)).__OG4)) {
+                (*(__Y5VC)).__1G4=(*(__Y5VC)).__1G4->__RI5;
+                (*(__Y5VC)).__OG4=(____M)((*(__Y5VC)).__OG4 +  1);
+              };
+            };
+            __LXTB=__CYRB(((____PDN *)((____JAN *)(*(__Y5VC)).__1G4->__3G4)->__KAN->__WLEB),((____JAN *)__ODN)->__KAN->__XTY);
+            if (__LXTB) {
+              __K0XC=(____M)(__K0XC + ((____JAN *)__ODN)->__Y4CB);
+              __23XC=(____M)(((____JAN *)__ODN)->__Z4CB + (____M)(((____JAN *)__ODN)->__HTY *  12));
+              __UCVC= 0;
+              if ((__J1XC > __23XC)) {
+                __UCVC=__J1XC;
+              } else /* FALSE */ {
+                __UCVC=__23XC;
+              };
+              __J1XC=__UCVC;
+              __XZWC=((____IAN *)__34VC);
+              if ((__4ZXC != (*(__XZWC)).__OG4)) {
+                __M5XC=__4ZXC;
+                if (((*(__XZWC)).__OG4 > __4ZXC)) {
+                  (*(__XZWC)).__OG4= 1;
+                  (*(__XZWC)).__1G4=(*(__XZWC)).__BH5;
+                };
+                while ((__M5XC != (*(__XZWC)).__OG4)) {
+                  (*(__XZWC)).__1G4=(*(__XZWC)).__1G4->__RI5;
+                  (*(__XZWC)).__OG4=(____M)((*(__XZWC)).__OG4 +  1);
+                };
+              };
+              __N2DB=((____IAN *)((____JAN *)(*(__XZWC)).__1G4->__3G4)->__WSY);
+              if (((void *)(*(__N2DB)).__BH5 == (void *)NULL)) {
+                __TCYC=NULL;
+                __22XC=((____EB )(NULL));
+                __M5XC= 0;
+                __42XC=((____EB )sizeof(____XG4));
+                if (((unsigned long)__42XC ==  0)) {
+                  __TCYC=__XG4__;
+                } else /* FALSE */ {
+                  __M5XC=____XG4__;
+                  __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__42XC));
+                  if ((__M5XC == (____M)(-  1))) {
+                    __52XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                    __A3XC=(void *)((unsigned long)(void *)((unsigned long)__42XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__52XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__52XC) - (unsigned long)((____EB ) 1)));
+                    __E4XC=((____RL )((____M )(void *)((unsigned long)__A3XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                    __52XC=__R4(__A3XC,((____EB )(&(table_size[(__E4XC)-1]))),((____RL )((____M )__A3XC)));
+                    __22XC=__52XC;
+                  } else /* FALSE */ {
+                    __E4XC=((____RL )__M5XC);
+                    __52XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                    __A3XC=(void *)((unsigned long)(void *)((unsigned long)__42XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__52XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__52XC) - (unsigned long)((____EB ) 1)));
+                    __52XC=__R4(__A3XC,((____EB )(&(table_type[(__E4XC)]))),(____RL)(__E4XC |  1));
+                    __22XC=__52XC;
+                  };
+                  __TCYC=((____XG4 *)__22XC);
+                  *(__TCYC) = *(__XG4__);
+                };
+                __ADYC=((____XG4 *)__TCYC);
+                __ADYC->__3G4=__ODN;
+                __ADYC->__RI5=NULL;
+                (*(__N2DB)).__BH5=__TCYC;
+                (*(__N2DB)).__SAN.__EDN= 1;
+                (*(__N2DB)).__CK5=(*(__N2DB)).__BH5;
+                (*(__N2DB)).__OG4= 1;
+                (*(__N2DB)).__1G4=(*(__N2DB)).__BH5;
+              } else /* FALSE */ {
+                __TCYC=NULL;
+                __22XC=((____EB )(NULL));
+                __M5XC= 0;
+                __42XC=((____EB )sizeof(____XG4));
+                if (((unsigned long)__42XC ==  0)) {
+                  __TCYC=__XG4__;
+                } else /* FALSE */ {
+                  __M5XC=____XG4__;
+                  __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__42XC));
+                  if ((__M5XC == (____M)(-  1))) {
+                    __52XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                    __A3XC=(void *)((unsigned long)(void *)((unsigned long)__42XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__52XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__52XC) - (unsigned long)((____EB ) 1)));
+                    __E4XC=((____RL )((____M )(void *)((unsigned long)__A3XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                    __52XC=__R4(__A3XC,((____EB )(&(table_size[(__E4XC)-1]))),((____RL )((____M )__A3XC)));
+                    __22XC=__52XC;
+                  } else /* FALSE */ {
+                    __E4XC=((____RL )__M5XC);
+                    __52XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                    __A3XC=(void *)((unsigned long)(void *)((unsigned long)__42XC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__52XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__52XC) - (unsigned long)((____EB ) 1)));
+                    __52XC=__R4(__A3XC,((____EB )(&(table_type[(__E4XC)]))),(____RL)(__E4XC |  1));
+                    __22XC=__52XC;
+                  };
+                  __TCYC=((____XG4 *)__22XC);
+                  *(__TCYC) = *(__XG4__);
+                };
+                __ADYC=((____XG4 *)__TCYC);
+                __ADYC->__3G4=__ODN;
+                __ADYC->__RI5=NULL;
+                ((____XG4 *)(*(__N2DB)).__CK5)->__RI5=__TCYC;
+                (*(__N2DB)).__SAN.__EDN=(____M)((*(__N2DB)).__SAN.__EDN +  1);
+                (*(__N2DB)).__CK5=__TCYC;
+              };
+            };
+            __U2IC=(____M)(__U2IC +  1);
+          };
+          __4ZXC=(____M)(__4ZXC +  1);
+        };
+        __EAN->__XAN=(____M)((____M)(__EAN->__XAN + __ZEI) +  60);
+        __EAN->__WAN= 10;
+        goto __HTN;
+      };
+    };
+    __DDYC=NULL;
+    __4FXC=((____EB )(NULL));
+    __0FXC= 0;
+    __AGXC=((____EB )sizeof(____4TN));
+    if (((unsigned long)__AGXC ==  0)) {
+      __DDYC=__4TN__;
+    } else /* FALSE */ {
+      __0FXC=____4TN__;
+      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AGXC));
+      if ((__0FXC == (____M)(-  1))) {
+        __MGXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __KGXC=(void *)((unsigned long)(void *)((unsigned long)__AGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC) - (unsigned long)((____EB ) 1)));
+        __RGXC=((____RL )((____M )(void *)((unsigned long)__KGXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+        __MGXC=__R4(__KGXC,((____EB )(&(table_size[(__RGXC)-1]))),((____RL )((____M )__KGXC)));
+        __4FXC=__MGXC;
+      } else /* FALSE */ {
+        __RGXC=((____RL )__0FXC);
+        __MGXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __KGXC=(void *)((unsigned long)(void *)((unsigned long)__AGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MGXC) - (unsigned long)((____EB ) 1)));
+        __MGXC=__R4(__KGXC,((____EB )(&(table_type[(__RGXC)]))),(____RL)(__RGXC |  1));
+        __4FXC=__MGXC;
+      };
+      __DDYC=((____4TN *)__4FXC);
+      *(__DDYC) = *(__4TN__);
+    };
+    __BUN=__DDYC;
+    __KJQC=__EAN->__YAN;
+    __XXQ=((____4TN *)__DDYC);
+    if (__VD__->__OZL==0) {
+    } else /* ___TYPE_ID */ {
+      __FYL=__GYL();
+    };
+    __YD=__3WX(__KJQC);
+    if (((void *)__YD == (void *)NULL)) {
+      if (__VD__->__OZL==0) {
+      } else /* ___TYPE_ID */ {
+        __V5T=__GYL();
+      };
+      __REY=NULL;
+      if (__VD__->__OZL==0) {
+      } else /* ___TYPE_ID */ {
+        __V5T=__GYL();
+      };
+      if (__VD__->__OZL==0) {
+        __V5T=__VD__->__NZL;
+      } else /* ___TYPE_ID */ {
+        __V5T=__GYL();
+      };
+      __XWL(((____YB *)__OH),__V5T->__TYL.__EZL);
+      if (__VD__->__OZL==0) {
+      } else /* ___TYPE_ID */ {
+        __V5T=__GYL();
+      };
+      __G1K(((____YB *)__OH),'/');
+      if (__VD__->__OZL==0) {
+      } else /* ___TYPE_ID */ {
+        __V5T=__GYL();
+      };
+      __G1N(((____YB *)__OH),__KJQC);
+      if (__VD__->__OZL==0) {
+      } else /* ___TYPE_ID */ {
+        __V5T=__GYL();
+      };
+      if (__VD__->__OZL==0) {
+      } else /* ___TYPE_ID */ {
+        __V5T=__GYL();
+      };
+      __B0Y(__OH);
+      if (__VD__->__OZL==0) {
+      } else /* ___TYPE_ID */ {
+        __V5T=__GYL();
+      };
+      if (__VD__->__OZL==0) {
+      } else /* ___TYPE_ID */ {
+        __IMZ=__GYL();
+      };
+      __TE=__K__;
+      __1KQC=((____YB *)__OH);
+      if ((__1KQC->__3SJ > __1KQC->__3RJ)) {
+        ((____5 *)__1KQC->__GTJ)[__1KQC->__3RJ]='\0';
+      } else /* FALSE */ {
+        __G1K(__1KQC,'\0');
+        __1KQC->__3RJ=(____M)(__1KQC->__3RJ -  1);
+      };
+      __CGXC=((____EB )(fopen((char*)(__1KQC->__GTJ),"w+b")));
+      if ((__CGXC != (void *)NULL)) {
+        __TE=(((____M )(fclose((FILE*)(__CGXC)))) ==  0);
+      };
+      if (__TE) {
+        if (__VD__->__OZL==0) {
+        } else /* ___TYPE_ID */ {
+          __CW1=__GYL();
+        };
+        if (__VD__->__OZL==0) {
+        } else /* ___TYPE_ID */ {
+          __CW1=__GYL();
+        };
+        __IMZ=__3WX(__OH);
+        if (__IMZ==NULL) {
+          __BFY=NULL;
+        } else {
+          if (((struct ___OBJ *)__IMZ)->__id==____QYL__) {
+            __BFY=NULL;
+          } else /* Other types */ {
+            __BFY=((void *)__IMZ);
+          }
+        };
+        __REY=__BFY;
+      };
+      __XXQ->__BYQ=__REY;
+    } else /* FALSE */ {
+      if (__YD==NULL) {
+        __BFY=NULL;
+      } else {
+        if (((struct ___OBJ *)__YD)->__id==____QYL__) {
+          __BFY=NULL;
+        } else /* Other types */ {
+          __BFY=((void *)__YD);
+        }
+      };
+      __XXQ->__BYQ=__BFY;
+    };
+    if (((void *)__XXQ->__BYQ == (void *)NULL)) {
+      __TE=__G__;
+    } else /* FALSE */ {
+      __REY=((____1FM *)__XXQ->__BYQ);
+      __REY->__A1FB=((____EB )(fopen((char*)(((____W *)__REY->__2FM.__EZL)->__BD),"r+b")));
+      __TE=(! (__REY->__A1FB != (void *)NULL));
+    };
+    if (__TE) {
+      __CGE((&__string_18));
+      __KXH(((____YB *)__KJQC));
+      __CGE((&__string_19));
+      exit(( 1));
+    };
+    __M0XC=((____IAN *)__EAN->__VAN);
+    __MA4=__0SP();
+    __JAWC=((____TTN *)__MA4);
+    ((____M *)(*(__JAWC)).__4AR)[ 0]= 0;
+    __JAWC=((____TTN *)__MA4);
+    ((____M *)(*(__JAWC)).__4AR)[ 1]= 0;
+    __0FXC=(*(__M0XC)).__SAN.__EDN;
+    __3P= 1;
+    while ((__3P <= __0FXC)) {
+      if ((__3P != (*(__M0XC)).__OG4)) {
+        __ZEI=__3P;
+        if (((*(__M0XC)).__OG4 > __3P)) {
+          (*(__M0XC)).__OG4= 1;
+          (*(__M0XC)).__1G4=(*(__M0XC)).__BH5;
+        };
+        while ((__ZEI != (*(__M0XC)).__OG4)) {
+          (*(__M0XC)).__1G4=(*(__M0XC)).__1G4->__RI5;
+          (*(__M0XC)).__OG4=(____M)((*(__M0XC)).__OG4 +  1);
+        };
+      };
+      __ARY=(*(__M0XC)).__1G4->__3G4;
+      __0OE=(____M)(((____JAN *)__ARY)->__Y4CB + (____M)(((____JAN *)__ARY)->__JTY *  7));
+      __CEC=((____M *)(*(((____TTN *)__MA4))).__4AR)[ 0];
+      __RIE= 0;
+      if ((__0OE > __CEC)) {
+        __RIE=__0OE;
+      } else /* FALSE */ {
+        __RIE=__CEC;
+      };
+      __CBWC=((____TTN *)__MA4);
+      ((____M *)(*(__CBWC)).__4AR)[ 0]=__RIE;
+      __0OE=(____M)(((____JAN *)__ARY)->__Z4CB + (____M)(((____JAN *)__ARY)->__HTY *  12));
+      __CEC=((____M *)(*(((____TTN *)__MA4))).__4AR)[ 1];
+      __RIE= 0;
+      if ((__0OE > __CEC)) {
+        __RIE=__0OE;
+      } else /* FALSE */ {
+        __RIE=__CEC;
+      };
+      __CBWC=((____TTN *)__MA4);
+      ((____M *)(*(__CBWC)).__4AR)[ 1]=__RIE;
+      __3P=(____M)(__3P +  1);
+    };
+    __0FXC=((____M *)(*(((____TTN *)__MA4))).__4AR)[ 0];
+    __JAWC=((____TTN *)__MA4);
+    __3P=(____M)(__0FXC +  20);
+    ((____M *)(*(__JAWC)).__4AR)[ 0]=__3P;
+    __0FXC=((____M *)(*(((____TTN *)__MA4))).__4AR)[ 1];
+    __JAWC=((____TTN *)__MA4);
+    __3P=(____M)(__0FXC +  20);
+    ((____M *)(*(__JAWC)).__4AR)[ 1]=__3P;
+    __KJQC=__OR( 32);
+    __XWL(((____YB *)__KJQC),(&__string_10));
+    __G1N(((____YB *)__KJQC),(&__string_20));
+    __S2N(((____M *)(*(((____TTN *)__MA4))).__4AR)[ 0],__KJQC);
+    __G1N(((____YB *)__KJQC),(&__string_21));
+    __S2N(((____M *)(*(((____TTN *)__MA4))).__4AR)[ 1],__KJQC);
+    __G1N(((____YB *)__KJQC),(&__string_22));
+    fwrite((void *)((((____UV *)(void *)((unsigned long)((____EB )((____UV *)((____YB *)__KJQC)->__GTJ)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 0)))))),(size_t)(1), (size_t)((__KJQC->__3RJ)),(FILE*)((((____1FM *)((____4TN *)__DDYC)->__BYQ)->__A1FB)));
+    __0FXC=(*(__EAN->__VAN)).__SAN.__EDN;
+    __3P= 1;
+    while ((__3P <= __0FXC)) {
+      __00XC=((____IAN *)__EAN->__VAN);
+      if ((__3P != (*(__00XC)).__OG4)) {
+        __ZEI=__3P;
+        if (((*(__00XC)).__OG4 > __3P)) {
+          (*(__00XC)).__OG4= 1;
+          (*(__00XC)).__1G4=(*(__00XC)).__BH5;
+        };
+        while ((__ZEI != (*(__00XC)).__OG4)) {
+          (*(__00XC)).__1G4=(*(__00XC)).__1G4->__RI5;
+          (*(__00XC)).__OG4=(____M)((*(__00XC)).__OG4 +  1);
+        };
+      };
+      __ARY=(*(__00XC)).__1G4->__3G4;
+      __R1C=__OR( 20);
+      __XWL(((____YB *)__R1C),(&__string_10));
+      __0OE=(____M)(((____JAN *)__ARY)->__Y4CB +  10);
+      __CEC=(____M)(((____JAN *)__ARY)->__Z4CB +  20);
+      __RIE=(____M)(__CEC +  10);
+      __ZEI=(____M)(((____JAN *)__ARY)->__JTY *  7);
+      __0WCC=__OR( 256);
+      __XWL(((____YB *)__0WCC),(&__string_23));
+      __S2N(__ZEI,__0WCC);
+      __G1N(((____YB *)__0WCC),(&__string_21));
+      __S2N((____M)(((____JAN *)__ARY)->__HTY *  12),__0WCC);
+      __G1N(((____YB *)__0WCC),(&__string_24));
+      __S2N(((____JAN *)__ARY)->__Y4CB,__0WCC);
+      __G1N(((____YB *)__0WCC),(&__string_25));
+      __S2N(((____JAN *)__ARY)->__Z4CB,__0WCC);
+      __G1N(((____YB *)__0WCC),(&__string_26));
+      __G1N(((____YB *)__0WCC),(&__string_27));
+      __S2N(((____JAN *)__ARY)->__Y4CB,__0WCC);
+      __G1N(((____YB *)__0WCC),(&__string_28));
+      __S2N(__RIE,__0WCC);
+      __G1N(((____YB *)__0WCC),(&__string_29));
+      __S2N((____M)(((____JAN *)__ARY)->__Y4CB + (____M)(((____JAN *)__ARY)->__JTY *  7)),__0WCC);
+      __G1N(((____YB *)__0WCC),(&__string_30));
+      __S2N(__RIE,__0WCC);
+      __G1N(((____YB *)__0WCC),(&__string_31));
+      __HVDC=__OR((____M)(((____JAN *)__ARY)->__KAN->__XTY->__3RJ +  1));
+      __XWL(((____YB *)__HVDC),((____JAN *)__ARY)->__KAN->__XTY);
+      __G1N(((____YB *)__HVDC),(&__string_4));
+      __DUIC=__Q2O(__HVDC,__0OE,__CEC, 12);
+      __G1N(((____YB *)__0WCC),__DUIC);
+      __CEC=(____M)(__RIE +  20);
+      __HVDC=__Q2O(((____X0O *)((____JAN *)__ARY)->__KAN->__JSZ)->__AVDC,__0OE,__CEC, 10);
+      __G1N(((____YB *)__0WCC),__HVDC);
+      __RIE=(____M)(__CEC + (____M)((____M)( 12 * ((____X0O *)((____JAN *)__ARY)->__KAN->__JSZ)->__ZUDC) +  5));
+      __G1N(((____YB *)__0WCC),(&__string_27));
+      __S2N(((____JAN *)__ARY)->__Y4CB,__0WCC);
+      __G1N(((____YB *)__0WCC),(&__string_28));
+      __S2N(__RIE,__0WCC);
+      __G1N(((____YB *)__0WCC),(&__string_29));
+      __S2N((____M)(((____JAN *)__ARY)->__Y4CB + (____M)(((____JAN *)__ARY)->__JTY *  7)),__0WCC);
+      __G1N(((____YB *)__0WCC),(&__string_30));
+      __S2N(__RIE,__0WCC);
+      __G1N(((____YB *)__0WCC),(&__string_31));
+      __HVDC=__Q2O(((____ZSY *)((____JAN *)__ARY)->__KAN->__QSZ)->__NWDC,__0OE,(____M)(__RIE +  20), 10);
+      __G1N(((____YB *)__0WCC),__HVDC);
+      __G1N(((____YB *)__R1C),__0WCC);
+      __00XC=((____JAN *)__ARY)->__WSY;
+      __0OE=(*(__00XC)).__SAN.__EDN;
+      __CEC= 1;
+      while ((__CEC <= __0OE)) {
+        __L1XC=((____IAN *)__00XC);
+        if ((__CEC != (*(__L1XC)).__OG4)) {
+          __K0XC=__CEC;
+          if (((*(__L1XC)).__OG4 > __CEC)) {
+            (*(__L1XC)).__OG4= 1;
+            (*(__L1XC)).__1G4=(*(__L1XC)).__BH5;
+          };
+          while ((__K0XC != (*(__L1XC)).__OG4)) {
+            (*(__L1XC)).__1G4=(*(__L1XC)).__1G4->__RI5;
+            (*(__L1XC)).__OG4=(____M)((*(__L1XC)).__OG4 +  1);
+          };
+        };
+        __3BN=(*(__L1XC)).__1G4->__3G4;
+        __L1XC=__EAN->__VAN;
+        __RCN=NULL;
+        __PGXC=((____EB )(NULL));
+        __K0XC= 0;
+        __QGXC=((____EB )sizeof(____IAN));
+        if (((unsigned long)__QGXC ==  0)) {
+          __RCN=__IAN__;
+        } else /* FALSE */ {
+          __K0XC=____IAN__;
+          __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__QGXC));
+          if ((__K0XC == (____M)(-  1))) {
+            __TEVC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+            __LV=(void *)((unsigned long)(void *)((unsigned long)__QGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__TEVC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__TEVC) - (unsigned long)((____EB ) 1)));
+            __3X=((____RL )((____M )(void *)((unsigned long)__LV / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+            __TEVC=__R4(__LV,((____EB )(&(table_size[(__3X)-1]))),((____RL )((____M )__LV)));
+            __PGXC=__TEVC;
+          } else /* FALSE */ {
+            __3X=((____RL )__K0XC);
+            __TEVC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+            __LV=(void *)((unsigned long)(void *)((unsigned long)__QGXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__TEVC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__TEVC) - (unsigned long)((____EB ) 1)));
+            __TEVC=__R4(__LV,((____EB )(&(table_type[(__3X)]))),(____RL)(__3X |  1));
+            __PGXC=__TEVC;
+          };
+          __RCN=((____IAN *)__PGXC);
+          *(__RCN) = *(__IAN__);
+        };
+        __LH4(((____IAN *)__RCN),__L1XC);
+        __SLP=__0SP();
+        __LWIC=__OR( 1024);
+        __I5VC=__OR( 1024);
+        __L1XC=((____IAN *)__RCN);
+        __K0XC= 1;
+        __J1XC=(*(__L1XC)).__SAN.__EDN;
+        __4CBB:
+        {
+          if ((__K0XC > __J1XC)) {
+            __LXTB=__G__;
+          } else /* FALSE */ {
+            if ((__K0XC != (*(__L1XC)).__OG4)) {
+              __23XC=__K0XC;
+              if (((*(__L1XC)).__OG4 > __K0XC)) {
+                (*(__L1XC)).__OG4= 1;
+                (*(__L1XC)).__1G4=(*(__L1XC)).__BH5;
+              };
+              while ((__23XC != (*(__L1XC)).__OG4)) {
+                (*(__L1XC)).__1G4=(*(__L1XC)).__1G4->__RI5;
+                (*(__L1XC)).__OG4=(____M)((*(__L1XC)).__OG4 +  1);
+              };
+            };
+            __LXTB=((void *)__3BN == (void *)(*(__L1XC)).__1G4->__3G4);
+          };
+          if ((! __LXTB)) {
+            __K0XC=(____M)(__K0XC +  1);
+            goto __4CBB;
+          };
+        };
+        __AL5(__L1XC,__K0XC);
+        __IMP=__GTP(__ZUN__,__RCN,(____M)(((____JAN *)__ARY)->__Y4CB + (____M)((____M)(((____JAN *)__ARY)->__JTY *  7) >>  1)),((____JAN *)__ARY)->__Z4CB,(____M)(((____JAN *)__3BN)->__Y4CB + (____M)((____M)(((____JAN *)__3BN)->__JTY *  7) >>  1)),(____M)(((____JAN *)__3BN)->__Z4CB + (____M)(((____JAN *)__3BN)->__HTY *  12)));
+        __K0XC=(____M)(((____JAN *)__3BN)->__Z4CB + (____M)(((____JAN *)__3BN)->__HTY *  12));
+        __QDWC=((____ELP *)__IMP)->__5WFB->__BXFB;
+        if ((__K0XC >= ((____M *)(*(((____TTN *)__QDWC))).__4AR)[ 1])) {
+          __XDWC=((____TTN *)__SLP);
+          __0WIC=(____M)(((____JAN *)__3BN)->__Y4CB + (____M)((____M)(((____JAN *)__3BN)->__JTY *  7) >>  1));
+          ((____M *)(*(__XDWC)).__4AR)[ 0]=__0WIC;
+          __XDWC=((____TTN *)__SLP);
+          __0WIC=(____M)((____M)(((____JAN *)__3BN)->__Z4CB + (____M)(((____JAN *)__3BN)->__HTY *  12)) +  30);
+          ((____M *)(*(__XDWC)).__4AR)[ 1]=__0WIC;
+          __D0WC=((____ELP *)__IMP);
+          if (((void *)__D0WC->__QXFB == (void *)NULL)) {
+            __3DYC=NULL;
+            __TEVC=((____EB )(NULL));
+            __4HXC= 0;
+            __LV=((____EB )sizeof(____3WFB));
+            if (((unsigned long)__LV ==  0)) {
+              __3DYC=__3WFB__;
+            } else /* FALSE */ {
+              __4HXC=____3WFB__;
+              __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__LV));
+              if ((__4HXC == (____M)(-  1))) {
+                __A2XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __B2XC=(void *)((unsigned long)(void *)((unsigned long)__LV - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A2XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A2XC) - (unsigned long)((____EB ) 1)));
+                __C2XC=((____RL )((____M )(void *)((unsigned long)__B2XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                __A2XC=__R4(__B2XC,((____EB )(&(table_size[(__C2XC)-1]))),((____RL )((____M )__B2XC)));
+                __TEVC=__A2XC;
+              } else /* FALSE */ {
+                __C2XC=((____RL )__4HXC);
+                __A2XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __B2XC=(void *)((unsigned long)(void *)((unsigned long)__LV - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A2XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A2XC) - (unsigned long)((____EB ) 1)));
+                __A2XC=__R4(__B2XC,((____EB )(&(table_type[(__C2XC)]))),(____RL)(__C2XC |  1));
+                __TEVC=__A2XC;
+              };
+              __3DYC=((____3WFB *)__TEVC);
+              *(__3DYC) = *(__3WFB__);
+            };
+            __KEYC=((____3WFB *)__3DYC);
+            __KEYC->__BXFB=__SLP;
+            __KEYC->__LGJB=NULL;
+            __D0WC->__QXFB=__3DYC;
+            __D0WC->__LLP.__KNP= 1;
+            __D0WC->__5WFB=__3DYC;
+            __D0WC->__ZXFB= 1;
+            __D0WC->__1XFB=__3DYC;
+          } else /* FALSE */ {
+            __3DYC=NULL;
+            __TEVC=((____EB )(NULL));
+            __4HXC= 0;
+            __LV=((____EB )sizeof(____3WFB));
+            if (((unsigned long)__LV ==  0)) {
+              __3DYC=__3WFB__;
+            } else /* FALSE */ {
+              __4HXC=____3WFB__;
+              __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__LV));
+              if ((__4HXC == (____M)(-  1))) {
+                __A2XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __B2XC=(void *)((unsigned long)(void *)((unsigned long)__LV - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A2XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A2XC) - (unsigned long)((____EB ) 1)));
+                __C2XC=((____RL )((____M )(void *)((unsigned long)__B2XC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                __A2XC=__R4(__B2XC,((____EB )(&(table_size[(__C2XC)-1]))),((____RL )((____M )__B2XC)));
+                __TEVC=__A2XC;
+              } else /* FALSE */ {
+                __C2XC=((____RL )__4HXC);
+                __A2XC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __B2XC=(void *)((unsigned long)(void *)((unsigned long)__LV - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A2XC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__A2XC) - (unsigned long)((____EB ) 1)));
+                __A2XC=__R4(__B2XC,((____EB )(&(table_type[(__C2XC)]))),(____RL)(__C2XC |  1));
+                __TEVC=__A2XC;
+              };
+              __3DYC=((____3WFB *)__TEVC);
+              *(__3DYC) = *(__3WFB__);
+            };
+            __KEYC=((____3WFB *)__3DYC);
+            __KEYC->__BXFB=__SLP;
+            __KEYC->__LGJB=NULL;
+            ((____3WFB *)__D0WC->__5WFB)->__LGJB=__3DYC;
+            __D0WC->__LLP.__KNP=(____M)(__D0WC->__LLP.__KNP +  1);
+            __D0WC->__5WFB=__3DYC;
+          };
+        };
+        __K0XC= 1;
+        __XWL(((____YB *)__I5VC),(&__string_10));
+        while ((__K0XC < __IMP->__LLP.__KNP)) {
+          __YNP=__L4FB(((____ELP *)__IMP),__K0XC);
+          __4HXC=((____M *)(*(((____TTN *)__YNP))).__4AR)[ 0];
+          __YNP=__L4FB(((____ELP *)__IMP),__K0XC);
+          __41XC=((____M *)(*(((____TTN *)__YNP))).__4AR)[ 1];
+          __YNP=__L4FB(((____ELP *)__IMP),(____M)(__K0XC +  1));
+          __EKSB=((____M *)(*(((____TTN *)__YNP))).__4AR)[ 0];
+          __YNP=__L4FB(((____ELP *)__IMP),(____M)(__K0XC +  1));
+          __FZUB=((____M *)(*(((____TTN *)__YNP))).__4AR)[ 1];
+          __G1N(((____YB *)__I5VC),(&__string_27));
+          __S2N(__4HXC,__I5VC);
+          __G1N(((____YB *)__I5VC),(&__string_28));
+          __S2N(__41XC,__I5VC);
+          __G1N(((____YB *)__I5VC),(&__string_29));
+          __S2N(__EKSB,__I5VC);
+          __G1N(((____YB *)__I5VC),(&__string_30));
+          __S2N(__FZUB,__I5VC);
+          __G1N(((____YB *)__I5VC),(&__string_31));
+          __K0XC=(____M)(__K0XC +  1);
+        };
+        __XWL(((____YB *)__LWIC),(&__string_10));
+        __G1N(((____YB *)__LWIC),__I5VC);
+        __POP=((____AX )((((____AX )((____JAN *)__3BN)->__Y4CB)) + ((____AX)(((____AX )(____M)(((____JAN *)__3BN)->__JTY *  7)) / ((____AX ) 2)))));
+        __VKP=__POP;
+        __UOP=((____AX )(____M)(((____JAN *)__3BN)->__Z4CB + (____M)(((____JAN *)__3BN)->__HTY *  12)));
+        __SLP=((____ELP *)__IMP)->__5WFB->__BXFB;
+        __YOP=((____AX )((____M *)(*(((____TTN *)__SLP))).__4AR)[ 0]);
+        __SLP=((____ELP *)__IMP)->__5WFB->__BXFB;
+        __2OP=((____AX )((____M *)(*(((____TTN *)__SLP))).__4AR)[ 1]);
+        __3OP=(____AX)(__POP - __YOP);
+        __S1X=((____AX ) 0);
+        if ((__3OP < ((____AX ) 0))) {
+          __S1X=(____AX)(((____AX ) 0) - __3OP);
+        } else /* FALSE */ {
+          __S1X=__3OP;
+        };
+        __3OP=((____AX )(atan(((____AX)(__S1X / (____AX)(__2OP - __UOP))))));
+        if ((__POP > __YOP)) {
+          __VKP=(____AX)(__POP - (____AX)(((____AX )(sin((__3OP)))) * ((____AX ) 20)));
+        } else /* FALSE */ {
+          __VKP=((____AX )((__VKP) + ((____AX)(((____AX )(sin((__3OP)))) * ((____AX ) 20)))));
+        };
+        __POP=((____AX )((__UOP) + ((____AX)(((____AX )(cos((__3OP)))) * ((____AX ) 15)))));
+        __G1N(((____YB *)__LWIC),(&__string_32));
+        __G1N(((____YB *)__LWIC),(&__string_33));
+        __K4Q(__YOP,__LWIC);
+        __G1N(((____YB *)__LWIC),(&__string_34));
+        __K4Q(__2OP,__LWIC);
+        __G1N(((____YB *)__LWIC),(&__string_35));
+        __K4Q(__VKP,__LWIC);
+        __G1N(((____YB *)__LWIC),(&__string_34));
+        __K4Q(__POP,__LWIC);
+        __G1N(((____YB *)__LWIC),(&__string_36));
+        __G1N(((____YB *)__R1C),__LWIC);
+        __CEC=(____M)(__CEC +  1);
+      };
+      fwrite((void *)((((____UV *)(void *)((unsigned long)((____EB )((____UV *)((____YB *)__R1C)->__GTJ)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 0)))))),(size_t)(1), (size_t)((__R1C->__3RJ)),(FILE*)((((____1FM *)((____4TN *)__BUN)->__BYQ)->__A1FB)));
+      __3P=(____M)(__3P +  1);
+    };
+    __KJQC=__OR( 12);
+    __XWL(((____YB *)__KJQC),(&__string_37));
+    fwrite((void *)((((____UV *)(void *)((unsigned long)((____EB )((____UV *)((____YB *)__KJQC)->__GTJ)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 0)))))),(size_t)(1), (size_t)((__KJQC->__3RJ)),(FILE*)((((____1FM *)((____4TN *)__DDYC)->__BYQ)->__A1FB)));
+    __REY=((____1FM *)((____4TN *)__DDYC)->__BYQ);
+    fclose((FILE*)((__REY->__A1FB)));
+    __REY->__A1FB=NULL;
+  };
+  return(0);
+}
+
+
+static ____EB __R4(____EB __T4,____EB __U4,____RL __V4)
+// ({__EB},{__EB},{__RL}) With result No recursive, No inlinable.
+{
+  ____EB __Z4,__UKRC,__X4,__45,__AAB,__GBB;
+  __Z4=((____EB )(NULL));
+  __UKRC=((____EB *)__U4)[ 0];
+  __X4=__UKRC;
+  if ((__UKRC == (void *)NULL)) {
+    __45=__APB(__V4);
+    __X4=__45;
+    __AAB=(void *)((unsigned long)__45 - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__T4));
+    __Z4=__AAB;
+    ((____EB *)__AAB)[ 0]=NULL;
+    ((____EB *)__U4)[ 0]=__AAB;
+  } else /* FALSE */ {
+    __45=((____EB *)__X4)[ 0];
+    __Z4=__45;
+    if ((__45 == (void *)NULL)) {
+      if (((void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)__X4 - (unsigned long)__MAB) & (unsigned long)((____EB ) 4095)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)(void *)((unsigned long)__T4 << (unsigned long) 1))) <= ((____EB ) 4096))) {
+        __Z4=(void *)((unsigned long)__X4 - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__T4));
+      } else /* FALSE */ {
+        __GBB=__APB(__V4);
+        __Z4=__GBB;
+      };
+      ((____EB *)__Z4)[ 0]=NULL;
+      ((____EB *)__U4)[ 0]=__Z4;
+    } else /* FALSE */ {
+      ((____EB *)__X4)[ 0]=(void *)((unsigned long)((____EB *)__Z4)[ 0] & (unsigned long)((____EB )(____M)(~  3)));
+      __X4=__Z4;
+    };
+  };
+  __Z4=__X4;
+  return(__Z4);
+}
+
+static ____OL* __CFF(____EB __EFF)
+// ({__EB}) With result No recursive, No inlinable.
+{
+  ____OL *__GFF,*__DHF;
+  ____RL __IHF;
+  __GFF=__FGF;
+  while ((((void *)__GFF != (void *)NULL) && (((____EB )(____RL)(((____OL *)__GFF)->__TL &  4294967292LU)) < __EFF))) {
+    __GFF=__GFF->__UL;
+  };
+  if (((void *)__GFF == (void *)NULL)) {
+    __DHF=__ZXE();
+    __GFF=__DHF;
+  };
+  __IHF=(____RL)(((____RL )((unsigned int)((void *)((unsigned long)((____EB )((____OL *)__GFF)) - (unsigned long)__MAB)))) >>  26);
+  __ZZH(((____OL *)__GFF),__EFF,__IHF);
+  __DHF=__GFF;
+  return(__DHF);
+}
+
+static ____YB* __OR(____M __QR)
+// ({__M}) With result No recursive, No inlinable.
+{
+  ____YB *__PSH,*__OSJ;
+  ____EB __QSH,__WSH,__QFWC,__SFWC;
+  ____M __USH;
+  ____RL __TFWC;
+  ____5 *__FTJ;
+  __PSH=NULL;
+  __QSH=((____EB )(NULL));
+  __USH= 0;
+  __WSH=((____EB )sizeof(____YB));
+  if (((unsigned long)__WSH ==  0)) {
+    __PSH=__YB__;
+  } else /* FALSE */ {
+    __USH=-1;
+    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__WSH));
+    if ((__USH == (____M)(-  1))) {
+      __QFWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __SFWC=(void *)((unsigned long)(void *)((unsigned long)__WSH - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__QFWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__QFWC) - (unsigned long)((____EB ) 1)));
+      __TFWC=((____RL )((____M )(void *)((unsigned long)__SFWC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __QFWC=__R4(__SFWC,((____EB )(&(table_size[(__TFWC)-1]))),((____RL )((____M )__SFWC)));
+      __QSH=__QFWC;
+    } else /* FALSE */ {
+      __TFWC=((____RL )__USH);
+      __QFWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __SFWC=(void *)((unsigned long)(void *)((unsigned long)__WSH - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__QFWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__QFWC) - (unsigned long)((____EB ) 1)));
+      __QFWC=__R4(__SFWC,((____EB )(&(table_type[(__TFWC)]))),(____RL)(__TFWC |  1));
+      __QSH=__QFWC;
+    };
+    __PSH=((____YB *)__QSH);
+    *(__PSH) = *(__YB__);
+  };
+  __OSJ=((____YB *)__PSH);
+  if ((__QR >  0)) {
+    if ((__OSJ->__3SJ < __QR)) {
+      __FTJ=__N2K(__QR);
+      __OSJ->__GTJ=__FTJ;
+      __OSJ->__3SJ=__QR;
+    };
+  };
+  __OSJ->__3RJ= 0;
+  __OSJ=__PSH;
+  return(__OSJ);
+}
+
+static void __G1K(____YB *__H1K,____5 __I1K)
+// ({__YB},{__5}) Void No recursive, No inlinable.
+{
+  ____M __A2K,__ZFWC,__GIXC,__EIXC;
+  ____EB __2FWC;
+  ____5 *__Z1K;
+  if ((__H1K->__3SJ <= __H1K->__3RJ)) {
+    if ((__H1K->__3SJ ==  0)) {
+      __H1K->__3SJ= 32;
+      __Z1K=__N2K( 32);
+      __H1K->__GTJ=__Z1K;
+    } else /* FALSE */ {
+      __A2K=(____M)(__H1K->__3SJ <<  1);
+      __Z1K=((____5 *)__H1K->__GTJ);
+      __ZFWC=__H1K->__3SJ;
+      __2FWC=__ZRE(((____EB )__Z1K),((____RL )__ZFWC),((____RL )__A2K));
+      __Z1K=((____5 *)__2FWC);
+      __GIXC=(____M)(__A2K -  1);
+      __EIXC=__ZFWC;
+      while ((__EIXC <= __GIXC)) {
+        __Z1K[__EIXC]='\0';
+        __EIXC=(____M)(__EIXC +  1);
+      };
+      __H1K->__GTJ=__Z1K;
+      __H1K->__3SJ=__A2K;
+    };
+  };
+  ((____5 *)__H1K->__GTJ)[__H1K->__3RJ]=__I1K;
+  __H1K->__3RJ=(____M)(__H1K->__3RJ +  1);
+}
+
+static ____EB __ZRE(____EB __1RE,____RL __2RE,____RL __3RE)
+// ({__EB},{__RL},{__RL}) With result No recursive, No inlinable.
+{
+  ____EB __JSE,__KIXC,__IIXC,__JIXC,__LIXC,__NIXC,__OIXC,__TDG,__UDG;
+  ____RL __DGWC,__WSE,__GDF,__5SE,__PIXC,__QHG,__CIG,__YIH;
+  ____OL *__TIXC,*__PGG,*__4HG,*__TJH,*__UIH,*__5IXC,*__AJXC;
+  ____M __WIXC,__XIXC,__ZDG,__IEG;
+  ____EB *__ZIXC,*__1IXC,*__WDG,*__XDG;
+  __JSE=((____EB )(NULL));
+  __DGWC=(____RL)(((____RL )((____M )(sizeof(void *)))) -  1);
+  __WSE=(____RL)((____RL)(__2RE + __DGWC) & (____RL)(~ __DGWC));
+  __DGWC=(____RL)(__WSE + ((____RL )((____M )(sizeof(void *)))));
+  __GDF=(____RL)(((____RL )((____M )(sizeof(void *)))) -  1);
+  __5SE=(____RL)((____RL)(__3RE + __GDF) & (____RL)(~ __GDF));
+  if ((((____EB )__DGWC) <= ((____EB )(MINIMUM_SIZE)))) {
+    __KIXC=((____EB )__5SE);
+    __IIXC=((____EB )(NULL));
+    __JIXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+    __LIXC=(void *)((unsigned long)(void *)((unsigned long)__KIXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__JIXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__JIXC) - (unsigned long)((____EB ) 1)));
+    __KIXC=(void *)((unsigned long)__LIXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+    if ((__KIXC <= ((____EB )(MINIMUM_SIZE)))) {
+      __NIXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __OIXC=(void *)((unsigned long)(void *)((unsigned long)__KIXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NIXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NIXC) - (unsigned long)((____EB ) 1)));
+      __PIXC=((____RL )((____M )(void *)((unsigned long)__OIXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __NIXC=__R4(__OIXC,((____EB )(&(table_size[(__PIXC)-1]))),((____RL )((____M )__OIXC)));
+      ((____EB *)__NIXC)[ 0]=((____EB ) 3);
+      __IIXC=(void *)((unsigned long)__NIXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+    } else /* FALSE */ {
+      __TIXC=__CFF(__LIXC);
+      __IIXC=(void *)((unsigned long)((____EB )((____OL *)__TIXC)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8)));
+    };
+    __JSE=__IIXC;
+    __WIXC=((____M )__WSE);
+    __XIXC=(____M)(__WIXC / ((____M )(sizeof(void *))));
+    __ZIXC=((____EB *)__1RE);
+    __1IXC=((____EB *)__IIXC);
+    __WIXC=(____M)(__XIXC -  1);
+    while ((__WIXC >=  0)) {
+      __1IXC[__WIXC]=__ZIXC[__WIXC];
+      __WIXC=(____M)(__WIXC -  1);
+    };
+    __KIXC=(void *)((unsigned long)__1RE - (unsigned long)((____EB )((____M )(sizeof(void *)))));
+    __IIXC=((____EB )__DGWC);
+    __JIXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+    __LIXC=(void *)((unsigned long)(void *)((unsigned long)__IIXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__JIXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__JIXC) - (unsigned long)((____EB ) 1)));
+    __PIXC=((____RL )((____M )(void *)((unsigned long)__LIXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+    __IIXC=((____EB )(&(table_size[(__PIXC)-1])));
+    __JIXC=((____EB *)__IIXC)[ 0];
+    ((____EB *)__KIXC)[ 0]=(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)(void *)((unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB *)__JIXC)[ 0]) - (unsigned long)((____EB ) 1)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 3)) - (unsigned long)((____EB ) 1)))) - (unsigned long)((____EB ) 1));
+    ((____EB *)__JIXC)[ 0]=__KIXC;
+  } else /* FALSE */ {
+    __TIXC=((____OL *)(void *)((unsigned long)__1RE - (unsigned long)((____EB ) 8)));
+    __PIXC=(____RL)(((____RL )((unsigned int)((void *)((unsigned long)__1RE - (unsigned long)__MAB)))) >>  26);
+    __PGG=NULL;
+    __QHG=(____RL)(__TIXC->__TL &  4294967292LU);
+    if ((__5SE > __QHG)) {
+      if ((! ((____RL)(__TIXC->__TL &  2) !=  0))) {
+        __4HG=((____OL *)(void *)((unsigned long)(void *)((unsigned long)((____EB )__TIXC) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8))) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )(____RL)(__TIXC->__TL &  4294967292LU)))));
+        __CIG=(____RL)((____RL)(__5SE - __QHG) -  8);
+        if ((((____RL)(__4HG->__TL &  1) ==  0) && ((____RL)(__4HG->__TL &  4294967292LU) >= __CIG))) {
+          __ZZH(__4HG,((____EB )__CIG),__PIXC);
+          __TIXC->__TL=(____RL)((____RL)(__TIXC->__TL + (____RL)(__4HG->__TL &  4294967294LU)) +  8);
+          if (((____RL)(__TIXC->__TL &  2) !=  0)) {
+            last_block[(__PIXC)] = (__TIXC);
+          } else /* FALSE */ {
+            ((____OL *)(void *)((unsigned long)(void *)((unsigned long)((____EB )__TIXC) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8))) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )(____RL)(__TIXC->__TL &  4294967292LU)))))->__QL=(void *)((unsigned long)((____EB )__TIXC) - (unsigned long)__MAB);
+          };
+          __PGG=__TIXC;
+        };
+      };
+      if (((void *)__PGG == (void *)NULL)) {
+        __4HG=__CFF(((____EB )__5SE));
+        __PGG=__4HG;
+        __TDG=(void *)((unsigned long)((____EB )__TIXC) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8)));
+        __UDG=(void *)((unsigned long)((____EB )((____OL *)__4HG)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8)));
+        __ZDG=((____M )__QHG);
+        __IEG=(____M)(__ZDG / ((____M )(sizeof(void *))));
+        __WDG=((____EB *)__TDG);
+        __XDG=((____EB *)__UDG);
+        __ZDG=(____M)(__IEG -  1);
+        while ((__ZDG >=  0)) {
+          __XDG[__ZDG]=__WDG[__ZDG];
+          __ZDG=(____M)(__ZDG -  1);
+        };
+        __TDG=__TIXC->__QL;
+        __4HG=((____OL *)(void *)((unsigned long)(void *)((unsigned long)((____EB )__TIXC) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8))) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )(____RL)(__TIXC->__TL &  4294967292LU)))));
+        __TJH=((____OL *)(void *)((unsigned long)__MAB - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__TDG)));
+        __UIH=__TJH;
+        __CIG=(____RL)(__TIXC->__TL &  4294967294LU);
+        __YIH=__CIG;
+        if (((__TDG == (void *)NULL) || ((____RL)(__TJH->__TL &  1) !=  0))) {
+          __UIH=__TIXC;
+          __TIXC->__UL=__FGF;
+          __TIXC->__VL=NULL;
+          if (((void *)__FGF != (void *)NULL)) {
+            ((____OL *)__FGF)->__VL=__TIXC;
+          };
+          __FGF=__TIXC;
+        } else /* FALSE */ {
+          __YIH=(____RL)((____RL)(__CIG + __UIH->__TL) +  8);
+        };
+        if (((! ((____RL)(__TIXC->__TL &  2) !=  0)) && ((____RL)(__4HG->__TL &  1) ==  0))) {
+          __YIH=(____RL)((____RL)(__YIH + __4HG->__TL) +  8);
+          __5IXC=__4HG->__VL;
+          __AJXC=__4HG->__UL;
+          if (((void *)__5IXC == (void *)NULL)) {
+            __FGF=__AJXC;
+          } else /* FALSE */ {
+            ((____OL *)__5IXC)->__UL=__AJXC;
+          };
+          if (((void *)__AJXC != (void *)NULL)) {
+            ((____OL *)__AJXC)->__VL=__5IXC;
+          };
+        };
+        __UIH->__TL=__YIH;
+        if (((____RL)(__UIH->__TL &  2) !=  0)) {
+          last_block[(__PIXC)] = (__UIH);
+        } else /* FALSE */ {
+          ((____OL *)(void *)((unsigned long)(void *)((unsigned long)((____EB )__TIXC) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8))) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )(____RL)(__TIXC->__TL &  4294967292LU)))))->__QL=(void *)((unsigned long)((____EB )__UIH) - (unsigned long)__MAB);
+        };
+      };
+    } else /* FALSE */ {
+      __PGG=__TIXC;
+    };
+    __JSE=(void *)((unsigned long)((____EB )((____OL *)__PGG)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8)));
+  };
+  __KIXC=__JSE;
+  return(__KIXC);
+}
+
+static ____M __PJS(____M __RJS)
+// ({__M}) With result No recursive, No inlinable.
+{
+  ____M __TJS,__SJS;
+  ____H __1JS,__AKS;
+  __TJS= 0;
+  if ((__RJS <=  11)) {
+    __TJS= 11;
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __1JS=__K__;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  23);
+    if (__AKS) {
+      __TJS= 23;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  53);
+    if (__AKS) {
+      __TJS= 53;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  97);
+    if (__AKS) {
+      __TJS= 97;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  193);
+    if (__AKS) {
+      __TJS= 193;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  389);
+    if (__AKS) {
+      __TJS= 389;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  769);
+    if (__AKS) {
+      __TJS= 769;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  1543);
+    if (__AKS) {
+      __TJS= 1543;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  3079);
+    if (__AKS) {
+      __TJS= 3079;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  6151);
+    if (__AKS) {
+      __TJS= 6151;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  12289);
+    if (__AKS) {
+      __TJS= 12289;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  24593);
+    if (__AKS) {
+      __TJS= 24593;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  49157);
+    if (__AKS) {
+      __TJS= 49157;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  98317);
+    if (__AKS) {
+      __TJS= 98317;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  196613);
+    if (__AKS) {
+      __TJS= 196613;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  393241);
+    if (__AKS) {
+      __TJS= 393241;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  786433);
+    if (__AKS) {
+      __TJS= 786433;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  1572869);
+    if (__AKS) {
+      __TJS= 1572869;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  3145739);
+    if (__AKS) {
+      __TJS= 3145739;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  6291469);
+    if (__AKS) {
+      __TJS= 6291469;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  12582917);
+    if (__AKS) {
+      __TJS= 12582917;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  25165843);
+    if (__AKS) {
+      __TJS= 25165843;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  50331653);
+    if (__AKS) {
+      __TJS= 50331653;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  100663319);
+    if (__AKS) {
+      __TJS= 100663319;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  201326611);
+    if (__AKS) {
+      __TJS= 201326611;
+    };
+    __1JS=__AKS;
+  };
+  if (__1JS) {
+    __1JS=__G__;
+  } else /* FALSE */ {
+    __AKS=(__RJS <=  402653189);
+    if (__AKS) {
+      __TJS= 402653189;
+    };
+    __1JS=__AKS;
+  };
+  if ((! __1JS)) {
+    if ((__RJS <=  805306457)) {
+      __TJS= 805306457;
+    } else /* FALSE */ {
+      __TJS= 1610612741;
+    };
+  };
+  __SJS=__TJS;
+  return(__SJS);
+}
+
+static ____H __5TJ(____YB *__AUJ,void *__BUJ)
+// ({__YB},{NULLx__Wx__YB}) With result No recursive, No inlinable.
+{
+  ____M __KUJ,__LUJ,__SHL;
+  ____H __DUJ,__CUJ;
+  ____5 *__2UJ,*__4UJ,*__4GL;
+  __DUJ=__K__;
+  __KUJ=__AUJ->__3RJ;
+  if (((struct ___OBJ *)__BUJ)->__id==____W__) {
+    __LUJ=((____W *)__BUJ)->__AD;
+  } else /* STRING */ {
+    __LUJ=((____YB *)__BUJ)->__3RJ;
+  };
+  if ((__KUJ == __LUJ)) {
+    if ((__AUJ->__3RJ ==  0)) {
+      __DUJ=__G__;
+    } else /* FALSE */ {
+      __2UJ=__AUJ->__GTJ;
+      if (((struct ___OBJ *)__BUJ)->__id==____W__) {
+        __4UJ=((____W *)__BUJ)->__BD;
+      } else /* STRING */ {
+        __4UJ=((____YB *)__BUJ)->__GTJ;
+      };
+      __4GL=((____5 *)__2UJ);
+      __2UJ=__4UJ;
+      __SHL=(____M)(__AUJ->__3RJ -  1);
+      while (((__SHL >=  0) && (__4GL[__SHL] == ((____5 *)__2UJ)[__SHL]))) {
+        __SHL=(____M)(__SHL -  1);
+      };
+      __DUJ=(__SHL <  0);
+    };
+  };
+  __CUJ=__DUJ;
+  return(__CUJ);
+}
+
+static void __CGE(____W *__DGE)
+// ({__W}) Void Recursive, No inlinable.
+{
+  __KXH(__DGE);
+}
+
+static void __XWL(____YB *__YWL,void *__ZWL)
+// ({__YB},{NULLx__Wx__YB}) Void No recursive, No inlinable.
+{
+  ____M __0WL;
+  ____5 *__LXL,*__QXL,*__DJXC;
+  if (((struct ___OBJ *)__ZWL)->__id==____W__) {
+    __0WL=((____W *)__ZWL)->__AD;
+  } else /* STRING */ {
+    __0WL=((____YB *)__ZWL)->__3RJ;
+  };
+  __YWL->__3RJ=__0WL;
+  if ((__0WL >  0)) {
+    if ((__YWL->__3SJ < __0WL)) {
+      __LXL=__N2K(__0WL);
+      __YWL->__GTJ=__LXL;
+      __YWL->__3SJ=__YWL->__3RJ;
+    };
+    __LXL=__YWL->__GTJ;
+    if (((struct ___OBJ *)__ZWL)->__id==____W__) {
+      __QXL=((____W *)__ZWL)->__BD;
+    } else /* STRING */ {
+      __QXL=((____YB *)__ZWL)->__GTJ;
+    };
+    __DJXC=((____5 *)__LXL);
+    __LXL=__QXL;
+    __0WL=(____M)(__YWL->__3RJ -  1);
+    while ((__0WL >=  0)) {
+      __DJXC[__0WL]=((____5 *)__LXL)[__0WL];
+      __0WL=(____M)(__0WL -  1);
+    };
+  };
+}
+
+static void __KXH(void *__MXH)
+// ({__Wx__YB}) Void No recursive, No inlinable.
+{
+  ____M __5XH,__XCI,__YCI;
+  ____5 __GYH;
+  if (((struct ___OBJ *)__MXH)->__id==____W__) {
+    __5XH=((____W *)__MXH)->__AD;
+  } else /* STRING */ {
+    __5XH=((____YB *)__MXH)->__3RJ;
+  };
+  __XCI= 1;
+  __YCI=__5XH;
+  while ((__XCI <= __YCI)) {
+    if (((struct ___OBJ *)__MXH)->__id==____W__) {
+      __GYH=((____5 *)((____W *)__MXH)->__BD)[(____M)(__XCI -  1)];
+    } else /* STRING */ {
+      __GYH=((____5 *)((____YB *)((____W *)__MXH))->__GTJ)[(____M)(__XCI -  1)];
+    };
+    fputc((int)(__GYH),stdout);
+    __XCI=(____M)(__XCI +  1);
+  };
+}
+
+static void* __GYL()
+// () With result No recursive, No inlinable.
+{
+  ____YB *__QLQ;
+  void *__XYL;
+  ____QYL *__ZYL;
+  ____5 *__OYL;
+  ((____YB *)__LYL)->__3RJ= 0;
+  __QLQ=((____YB *)__LYL);
+  if ((__QLQ->__3SJ > __QLQ->__3RJ)) {
+    ((____5 *)__QLQ->__GTJ)[__QLQ->__3RJ]='\0';
+  } else /* FALSE */ {
+    __G1K(__QLQ,'\0');
+    __QLQ->__3RJ=(____M)(__QLQ->__3RJ -  1);
+  };
+  __OYL=__QLQ->__GTJ;
+  getcwd((__OYL),255);
+  __QLQ=((____YB *)__LYL);
+  __QLQ->__3RJ= 0;
+  while ((((____5 *)__OYL)[__QLQ->__3RJ] != '\0')) {
+    __QLQ->__3RJ=(____M)(__QLQ->__3RJ +  1);
+  };
+  if (((void *)__QLQ->__GTJ != (void *)__OYL)) {
+    __QLQ->__GTJ=__OYL;
+    __QLQ->__3SJ=(____M)(__QLQ->__3RJ +  1);
+  };
+  __XYL=__IFM(__LYL);
+  if (__XYL==NULL) {
+    __ZYL=NULL;
+  } else {
+    if (((struct ___OBJ *)__XYL)->__id==____QYL__) {
+      __ZYL=((void *)__XYL);
+    } else /* Other types */ {
+      __ZYL=NULL;
+    }
+  };
+  __LOQ(((____0YL *)__CZL),__ZYL,__ZYL->__TYL.__EZL);
+  __VD__->__NZL=__ZYL;
+  __VD__->__OZL=0;
+  __XYL=__ZYL;
+  return(__XYL);
+}
+
+static void* __3WX(____YB *__5WX)
+// ({NULLx__YB}) With result No recursive, No inlinable.
+{
+  void *__BXX,*__SXX,*__ZZX;
+  ____QYL *__OZY,*__Q40,*__TE3,*__WU3;
+  ____YB *__5GWC,*__CHWC;
+  ____M __HJXC,__ZXX,__DHWC,__FHWC;
+  ____5 *__IJXC;
+  ____H __1YX;
+  __BXX=NULL;
+  if (__VD__->__OZL==0) {
+  } else /* ___TYPE_ID */ {
+    __OZY=__GYL();
+  };
+  if (__VD__->__OZL==0) {
+    __OZY=__VD__->__NZL;
+  } else /* ___TYPE_ID */ {
+    __OZY=__GYL();
+  };
+  __XWL(((____YB *)__DXX),__OZY->__TYL.__EZL);
+  if (__VD__->__OZL==0) {
+  } else /* ___TYPE_ID */ {
+    __OZY=__GYL();
+  };
+  __G1K(((____YB *)__DXX),'/');
+  if (__VD__->__OZL==0) {
+  } else /* ___TYPE_ID */ {
+    __OZY=__GYL();
+  };
+  __G1N(((____YB *)__DXX),__5WX);
+  if (__VD__->__OZL==0) {
+  } else /* ___TYPE_ID */ {
+    __OZY=__GYL();
+  };
+  if (__VD__->__OZL==0) {
+  } else /* ___TYPE_ID */ {
+    __OZY=__GYL();
+  };
+  __B0Y(__DXX);
+  if (__VD__->__OZL==0) {
+  } else /* ___TYPE_ID */ {
+    __OZY=__GYL();
+  };
+  if (__VD__->__OZL==0) {
+  } else /* ___TYPE_ID */ {
+    __OZY=__GYL();
+  };
+  __XWL(((____YB *)__JXX),__DXX);
+  do {
+    if (__VD__->__OZL==0) {
+    } else /* ___TYPE_ID */ {
+      __Q40=__GYL();
+    };
+    if (__VD__->__OZL==0) {
+    } else /* ___TYPE_ID */ {
+      __Q40=__GYL();
+    };
+    __SXX=__V40(((____0YL *)__CZL),__DXX);
+    __BXX=__SXX;
+    if (((void *)__SXX == (void *)NULL)) {
+      if (__VD__->__OZL==0) {
+      } else /* ___TYPE_ID */ {
+        __TE3=__GYL();
+      };
+      __5GWC=((____YB *)__DXX);
+      __IJXC=((____5 *)__5GWC->__GTJ);
+      __HJXC=(____M)(__5GWC->__3RJ -  1);
+      while ((! ((__HJXC <  0) || ('/' == __IJXC[__HJXC])))) {
+        __HJXC=(____M)(__HJXC -  1);
+      };
+      __ZXX=(____M)( 1 + __HJXC);
+      if ((__ZXX >  0)) {
+        if (__VD__->__OZL==0) {
+        } else /* ___TYPE_ID */ {
+          __WU3=__GYL();
+        };
+        __CHWC=((____YB *)__DXX);
+        __DHWC=(____M)(__ZXX -  1);
+        if ((__DHWC < __CHWC->__3RJ)) {
+          __FHWC=(____M)(__CHWC->__3RJ - __DHWC);
+          if ((__FHWC > __CHWC->__3RJ)) {
+            __CHWC->__3RJ= 0;
+          } else /* FALSE */ {
+            __CHWC->__3RJ=(____M)(__CHWC->__3RJ - __FHWC);
+          };
+        };
+      } else /* FALSE */ {
+        if (__VD__->__OZL==0) {
+        } else /* ___TYPE_ID */ {
+          __WU3=__GYL();
+        };
+        ((____YB *)__DXX)->__3RJ= 0;
+      };
+    };
+    if (((void *)__SXX == (void *)NULL)) {
+      if (__VD__->__OZL==0) {
+      } else /* ___TYPE_ID */ {
+        __TE3=__GYL();
+      };
+      __1YX=(((____YB *)__DXX)->__3RJ !=  0);
+    } else /* FALSE */ {
+      __1YX=__K__;
+    };
+  } while (__1YX);
+  if (((void *)__BXX == (void *)NULL)) {
+    if (__VD__->__OZL==0) {
+    } else /* ___TYPE_ID */ {
+      __Q40=__GYL();
+    };
+    if (__VD__->__OZL==0) {
+    } else /* ___TYPE_ID */ {
+      __SXX=__GYL();
+    };
+    __SXX=__LB1(__JXX);
+    __BXX=__SXX;
+    __1YX=__G__;
+  } else /* FALSE */ {
+    __1YX=__K__;
+  };
+  if ((! __1YX)) {
+    if (__VD__->__OZL==0) {
+    } else /* ___TYPE_ID */ {
+      __Q40=__GYL();
+    };
+    __HJXC=__JXX->__3RJ;
+    if (__VD__->__OZL==0) {
+    } else /* ___TYPE_ID */ {
+      __Q40=__GYL();
+    };
+    if ((__HJXC != __DXX->__3RJ)) {
+      if (__VD__->__OZL==0) {
+      } else /* ___TYPE_ID */ {
+        __TE3=__GYL();
+      };
+      __ZZX=__IFM(__JXX);
+      __BXX=__ZZX;
+    };
+  };
+  __SXX=__BXX;
+  return(__SXX);
+}
+
+static void* __N3M(____SB *__O3M,void *__P3M,____H __Q3M,____H __R3M)
+// ({__SB},{NULLx__QYLx__1FM},{__Gx__K},{__Gx__K}) With result Recursive, No inlinable.
+{
+  ____4B *__V43,*__Z3M,*__D5M,*__AW2B,*__OBGB;
+  ____EB __W43,__243,__GHWC,__IHWC,__UWNB,__UHWC,__WHWC,__NIWC,__AFYC;
+  ____EB __BFYC,__CFYC,__SKYC,__UKYC,__VKYC,__WKYC;
+  ____M __043,__EC4,__SWNB,__5OKB,__TNIB,__2NIB,__KIWC,__OJXC,__MJXC;
+  ____M __XMRB,__OWIB,__HB5,__XIWC,__UGYC,__FN3B,__0GYC,__HN3B,__AHYC;
+  ____M __GN3B,__YIVC,__GHYC,__OHYC,__QHYC,__RHYC,__5HYC,__BIYC,__DIYC;
+  ____M __EIYC,__GIYC,__HIYC,__JIYC,__LIYC,__MIYC,__OIYC,__PIYC;
+  ____RL __JHWC,__XHWC,__DFYC,__VJYC,__XKYC;
+  ____W3M *__CUQ,*__Y3M,*__0G3B;
+  ____QYL *__33M,*__T3M,*__0B4,*__WBNB;
+  ____YB *__UREB,*__LMIB,*__K54,*__GB5,*__HHYC,*__QU3B,*__FIYC,*__NIYC;
+  ____YB *__MCW,*__LDW;
+  ____W *__IE4,*__WE4,*__GH3B,*__RM3B;
+  void *__YVIB,*__HWIB,*__OYIB;
+  ____5B *__M02B,*__CIAC;
+  ____1FM *__BM3B,*__23FB;
+  ____503B *__PJYC;
+  ____ZSY *__GYCC,*__O13B,*__Y13B;
+  ____X0O *__3JYC,*__N23B,*__V23B;
+  ____PDN *__MYNB,*__E33B,*__BKXB;
+  ____H __H4M,__DC4,__3REB,__1XIB,__Y33B,__Z53B;
+  ____5 *__3B4,*__2SKB,*__VXOB,*__ZB0,*__TKXC,*__GUY,*__HUY;
+  ____FC4 *__NWNB,*__QASB;
+  ____CXRB *__3EYC,*__KFYC;
+  ____BCGB *__NFYC,*__0FYC;
+  ____W0RB *__RKYC,*__4KYC;
+  __V43=NULL;
+  __W43=((____EB )(NULL));
+  __043= 0;
+  __243=((____EB )sizeof(____4B));
+  if (((unsigned long)__243 ==  0)) {
+    __V43=__4B__;
+  } else /* FALSE */ {
+    __043=____4B__;
+    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__243));
+    if ((__043 == (____M)(-  1))) {
+      __GHWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __IHWC=(void *)((unsigned long)(void *)((unsigned long)__243 - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__GHWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__GHWC) - (unsigned long)((____EB ) 1)));
+      __JHWC=((____RL )((____M )(void *)((unsigned long)__IHWC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __GHWC=__R4(__IHWC,((____EB )(&(table_size[(__JHWC)-1]))),((____RL )((____M )__IHWC)));
+      __W43=__GHWC;
+    } else /* FALSE */ {
+      __JHWC=((____RL )__043);
+      __GHWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __IHWC=(void *)((unsigned long)(void *)((unsigned long)__243 - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__GHWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__GHWC) - (unsigned long)((____EB ) 1)));
+      __GHWC=__R4(__IHWC,((____EB )(&(table_type[(__JHWC)]))),(____RL)(__JHWC |  1));
+      __W43=__GHWC;
+    };
+    __V43=((____4B *)__W43);
+    *(__V43) = *(__4B__);
+  };
+  __Z3M=__V43;
+  __CUQ=NULL;
+  __W43=((____EB )(NULL));
+  __043= 0;
+  __243=((____EB )sizeof(____W3M));
+  if (((unsigned long)__243 ==  0)) {
+    __CUQ=__W3M__;
+  } else /* FALSE */ {
+    __043=____W3M__;
+    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__243));
+    if ((__043 == (____M)(-  1))) {
+      __GHWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __IHWC=(void *)((unsigned long)(void *)((unsigned long)__243 - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__GHWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__GHWC) - (unsigned long)((____EB ) 1)));
+      __JHWC=((____RL )((____M )(void *)((unsigned long)__IHWC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __GHWC=__R4(__IHWC,((____EB )(&(table_size[(__JHWC)-1]))),((____RL )((____M )__IHWC)));
+      __W43=__GHWC;
+    } else /* FALSE */ {
+      __JHWC=((____RL )__043);
+      __GHWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __IHWC=(void *)((unsigned long)(void *)((unsigned long)__243 - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__GHWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__GHWC) - (unsigned long)((____EB ) 1)));
+      __GHWC=__R4(__IHWC,((____EB )(&(table_type[(__JHWC)]))),(____RL)(__JHWC |  1));
+      __W43=__GHWC;
+    };
+    __CUQ=((____W3M *)__W43);
+    *(__CUQ) = *(__W3M__);
+  };
+  __Y3M=__CUQ;
+  if (__P3M==NULL) {
+    __33M=NULL;
+  } else {
+    if (((struct ___OBJ *)__P3M)->__id==____QYL__) {
+      __33M=((void *)__P3M);
+    } else /* Other types */ {
+      __33M=NULL;
+    }
+  };
+  __T3M=__33M;
+  if (((void *)__33M == (void *)NULL)) {
+    __H4M=__G__;
+  } else /* FALSE */ {
+    __0B4=((____QYL *)__33M);
+    __3B4=NULL;
+    __GHWC=((____EB )(NULL));
+    __DC4=__K__;
+    __EC4= 0;
+    if (((void *)__0B4->__UYL.__LC4 == (void *)NULL)) {
+      __NWNB=NULL;
+      __IHWC=((____EB )(NULL));
+      __SWNB= 0;
+      __UWNB=((____EB )sizeof(____FC4));
+      if (((unsigned long)__UWNB ==  0)) {
+        __NWNB=__FC4__;
+      } else /* FALSE */ {
+        __SWNB=____FC4__;
+        __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__UWNB));
+        if ((__SWNB == (____M)(-  1))) {
+          __UHWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __WHWC=(void *)((unsigned long)(void *)((unsigned long)__UWNB - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__UHWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__UHWC) - (unsigned long)((____EB ) 1)));
+          __XHWC=((____RL )((____M )(void *)((unsigned long)__WHWC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+          __UHWC=__R4(__WHWC,((____EB )(&(table_size[(__XHWC)-1]))),((____RL )((____M )__WHWC)));
+          __IHWC=__UHWC;
+        } else /* FALSE */ {
+          __XHWC=((____RL )__SWNB);
+          __UHWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __WHWC=(void *)((unsigned long)(void *)((unsigned long)__UWNB - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__UHWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__UHWC) - (unsigned long)((____EB ) 1)));
+          __UHWC=__R4(__WHWC,((____EB )(&(table_type[(__XHWC)]))),(____RL)(__XHWC |  1));
+          __IHWC=__UHWC;
+        };
+        __NWNB=((____FC4 *)__IHWC);
+        *(__NWNB) = *(__FC4__);
+      };
+      __0B4->__UYL.__LC4=__NWNB;
+    } else /* FALSE */ {
+      __NWNB=((____FC4 *)__0B4->__UYL.__LC4);
+      if (((void *)__NWNB->__EXRB != (void *)NULL)) {
+        __NWNB->__EXRB=NULL;
+        __NWNB->__LXRB= 0;
+        __NWNB->__MXRB=NULL;
+        __NWNB->__KC4.__02EB= 0;
+        __NWNB->__NXRB=NULL;
+      };
+      ;
+    };
+    __IHWC=((____EB )(opendir((((____W *)__0B4->__TYL.__EZL)->__BD))));
+    if ((__IHWC != (void *)NULL)) {
+      __DC4=__G__;
+      do {
+        __GHWC=((____EB )(readdir((__IHWC))));
+        if ((__GHWC != (void *)NULL)) {
+          __3B4=((____5 *)(((struct dirent *)(__GHWC))->d_name));
+          ((____YB *)__LYL)->__3RJ= 0;
+          __EC4= 0;
+          while ((((____5 *)__3B4)[__EC4] != '\0')) {
+            __G1K(((____YB *)__LYL),((____5 *)__3B4)[__EC4]);
+            __EC4=(____M)(__EC4 +  1);
+          };
+          __UREB=__OR( 1);
+          __XWL(((____YB *)__UREB),(&__string_38));
+          __3REB=__5TJ(((____YB *)__LYL),__UREB);
+          if ((! __3REB)) {
+            __LMIB=((____YB *)__LYL);
+            __G1K(__LMIB,' ');
+            __5OKB=__LMIB->__3RJ;
+            while ((__5OKB >=  2)) {
+              ((____5 *)__LMIB->__GTJ)[(____M)(__5OKB -  1)]=((____5 *)__LMIB->__GTJ)[(____M)((____M)(__5OKB -  1) -  1)];
+              __5OKB=(____M)(__5OKB -  1);
+            };
+            ((____5 *)__LMIB->__GTJ)[ 0]='/';
+            __IE4=__0B4->__TYL.__EZL;
+            __LMIB=((____YB *)__LYL);
+            __5OKB=__LMIB->__3RJ;
+            __TNIB=__IE4->__AD;
+            __2NIB=(____M)(__5OKB + __TNIB);
+            if ((! (__2NIB <= __LMIB->__3RJ))) {
+              if ((__LMIB->__3SJ < __2NIB)) {
+                if ((__LMIB->__3SJ ==  0)) {
+                  __2SKB=__N2K(__2NIB);
+                  __LMIB->__GTJ=__2SKB;
+                } else /* FALSE */ {
+                  __2SKB=((____5 *)__LMIB->__GTJ);
+                  __KIWC=__LMIB->__3SJ;
+                  __NIWC=__ZRE(((____EB )__2SKB),((____RL )__KIWC),((____RL )__2NIB));
+                  __2SKB=((____5 *)__NIWC);
+                  __OJXC=(____M)(__2NIB -  1);
+                  __MJXC=__KIWC;
+                  while ((__MJXC <= __OJXC)) {
+                    __2SKB[__MJXC]='\0';
+                    __MJXC=(____M)(__MJXC +  1);
+                  };
+                  __LMIB->__GTJ=__2SKB;
+                };
+                __LMIB->__3SJ=__2NIB;
+              } else /* FALSE */ {
+                __2SKB=((____5 *)__LMIB->__GTJ);
+                __KIWC=__LMIB->__3RJ;
+                __OJXC=(____M)(__2NIB -  1);
+                __MJXC=__KIWC;
+                while ((__MJXC <= __OJXC)) {
+                  __2SKB[__MJXC]='\0';
+                  __MJXC=(____M)(__MJXC +  1);
+                };
+              };
+            };
+            __LMIB->__3RJ=__2NIB;
+            if (((__5OKB >  0) && (__TNIB >  0))) {
+              __2SKB=__LMIB->__GTJ;
+              __KIWC=(____M)(__5OKB -  1);
+              __VXOB=((____5 *)__2SKB);
+              if ((__TNIB !=  0)) {
+                if ((__TNIB <  0)) {
+                  __XMRB= 0;
+                  while ((__XMRB <= __KIWC)) {
+                    __VXOB[(____M)(__XMRB + __TNIB)]=__VXOB[__XMRB];
+                    __XMRB=(____M)(__XMRB +  1);
+                  };
+                } else /* FALSE */ {
+                  __XMRB=__KIWC;
+                  while ((__XMRB >=  0)) {
+                    __VXOB[(____M)(__XMRB + __TNIB)]=__VXOB[__XMRB];
+                    __XMRB=(____M)(__XMRB -  1);
+                  };
+                };
+              };
+            };
+            __2SKB=((____5 *)__LMIB->__GTJ);
+            __VXOB=__IE4->__BD;
+            __5OKB=(____M)(__TNIB -  1);
+            while ((__5OKB >=  0)) {
+              __2SKB[__5OKB]=((____5 *)__VXOB)[__5OKB];
+              __5OKB=(____M)(__5OKB -  1);
+            };
+            __1OIB(__LYL);
+            __YVIB=NULL;
+            __XWL(((____YB *)__DXX),__0B4->__TYL.__EZL);
+            __G1K(((____YB *)__DXX),'/');
+            __G1N(((____YB *)__DXX),__LYL);
+            __1OIB(__DXX);
+            __XWL(((____YB *)__JXX),__DXX);
+            do {
+              __HWIB=__V40(((____0YL *)__CZL),__DXX);
+              __YVIB=__HWIB;
+              if (((void *)__HWIB == (void *)NULL)) {
+                __K54=((____YB *)__DXX);
+                __ZB0=((____5 *)__K54->__GTJ);
+                __XMRB=(____M)(__K54->__3RJ -  1);
+                while ((! ((__XMRB <  0) || ('/' == __ZB0[__XMRB])))) {
+                  __XMRB=(____M)(__XMRB -  1);
+                };
+                __OWIB=(____M)( 1 + __XMRB);
+                if ((__OWIB >  0)) {
+                  __GB5=((____YB *)__DXX);
+                  __HB5=(____M)(__OWIB -  1);
+                  if ((__HB5 < __GB5->__3RJ)) {
+                    __XIWC=(____M)(__GB5->__3RJ - __HB5);
+                    if ((__XIWC > __GB5->__3RJ)) {
+                      __GB5->__3RJ= 0;
+                    } else /* FALSE */ {
+                      __GB5->__3RJ=(____M)(__GB5->__3RJ - __XIWC);
+                    };
+                  };
+                } else /* FALSE */ {
+                  ((____YB *)__DXX)->__3RJ= 0;
+                };
+              };
+            } while ((((void *)__HWIB == (void *)NULL) && (((____YB *)__DXX)->__3RJ !=  0)));
+            if (((void *)__YVIB == (void *)NULL)) {
+              if (__VD__->__OZL==0) {
+              } else /* ___TYPE_ID */ {
+                __HWIB=__GYL();
+              };
+              __HWIB=__LB1(__JXX);
+              __YVIB=__HWIB;
+              __1XIB=__G__;
+            } else /* FALSE */ {
+              __1XIB=__K__;
+            };
+            if ((! __1XIB)) {
+              if ((__JXX->__3RJ != __DXX->__3RJ)) {
+                __OYIB=__IFM(__JXX);
+                __YVIB=__OYIB;
+              };
+            };
+            if (((void *)__YVIB == (void *)NULL)) {
+              __DC4=__K__;
+            } else /* FALSE */ {
+              if (((struct ___OBJ *)__YVIB)->__id==____QYL__) {
+                __WE4=((____QYL *)__YVIB)->__TYL.__EZL;
+              } else /* FILE_UNIX */ {
+                __WE4=((____1FM *)__YVIB)->__2FM.__EZL;
+              };
+              if ((__WE4->__AD >= __0B4->__TYL.__EZL->__AD)) {
+                __QASB=((____FC4 *)__0B4->__UYL.__LC4);
+                if (((void *)__QASB->__EXRB == (void *)NULL)) {
+                  __3EYC=NULL;
+                  __NIWC=((____EB )(NULL));
+                  __XMRB= 0;
+                  __AFYC=((____EB )sizeof(____CXRB));
+                  if (((unsigned long)__AFYC ==  0)) {
+                    __3EYC=__CXRB__;
+                  } else /* FALSE */ {
+                    __XMRB=____CXRB__;
+                    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AFYC));
+                    if ((__XMRB == (____M)(-  1))) {
+                      __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                      __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+                      __DFYC=((____RL )((____M )(void *)((unsigned long)__CFYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                      __BFYC=__R4(__CFYC,((____EB )(&(table_size[(__DFYC)-1]))),((____RL )((____M )__CFYC)));
+                      __NIWC=__BFYC;
+                    } else /* FALSE */ {
+                      __DFYC=((____RL )__XMRB);
+                      __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                      __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+                      __BFYC=__R4(__CFYC,((____EB )(&(table_type[(__DFYC)]))),(____RL)(__DFYC |  1));
+                      __NIWC=__BFYC;
+                    };
+                    __3EYC=((____CXRB *)__NIWC);
+                    *(__3EYC) = *(__CXRB__);
+                  };
+                  __KFYC=((____CXRB *)__3EYC);
+                  __KFYC->__ADSB=__YVIB;
+                  __KFYC->__SMUB=NULL;
+                  __QASB->__EXRB=__3EYC;
+                  __QASB->__KC4.__02EB= 1;
+                  __QASB->__NXRB=__3EYC;
+                  __QASB->__LXRB= 1;
+                  __QASB->__MXRB=__3EYC;
+                } else /* FALSE */ {
+                  __3EYC=NULL;
+                  __NIWC=((____EB )(NULL));
+                  __XMRB= 0;
+                  __AFYC=((____EB )sizeof(____CXRB));
+                  if (((unsigned long)__AFYC ==  0)) {
+                    __3EYC=__CXRB__;
+                  } else /* FALSE */ {
+                    __XMRB=____CXRB__;
+                    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AFYC));
+                    if ((__XMRB == (____M)(-  1))) {
+                      __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                      __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+                      __DFYC=((____RL )((____M )(void *)((unsigned long)__CFYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                      __BFYC=__R4(__CFYC,((____EB )(&(table_size[(__DFYC)-1]))),((____RL )((____M )__CFYC)));
+                      __NIWC=__BFYC;
+                    } else /* FALSE */ {
+                      __DFYC=((____RL )__XMRB);
+                      __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                      __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+                      __BFYC=__R4(__CFYC,((____EB )(&(table_type[(__DFYC)]))),(____RL)(__DFYC |  1));
+                      __NIWC=__BFYC;
+                    };
+                    __3EYC=((____CXRB *)__NIWC);
+                    *(__3EYC) = *(__CXRB__);
+                  };
+                  __KFYC=((____CXRB *)__3EYC);
+                  __KFYC->__ADSB=__YVIB;
+                  __KFYC->__SMUB=NULL;
+                  ((____CXRB *)__QASB->__NXRB)->__SMUB=__3EYC;
+                  __QASB->__KC4.__02EB=(____M)(__QASB->__KC4.__02EB +  1);
+                  __QASB->__NXRB=__3EYC;
+                };
+              };
+            };
+          };
+        };
+      } while (((__GHWC != (void *)NULL) & __DC4));
+      closedir((__IHWC));
+    };
+    __H4M=(! __DC4);
+  };
+  if (__H4M) {
+    __CGE((&__string_39));
+  } else /* FALSE */ {
+    __0B4=((____QYL *)__33M);
+    __EC4=__0B4->__UYL.__LC4->__KC4.__02EB;
+    __SWNB= 1;
+    while ((__SWNB <= __EC4)) {
+      __WBNB=((____QYL *)__T3M);
+      __QASB=((____FC4 *)__WBNB->__UYL.__LC4);
+      __5OKB=__SWNB;
+      if ((__SWNB != __QASB->__LXRB)) {
+        if ((__QASB->__LXRB > __SWNB)) {
+          __QASB->__LXRB= 1;
+          __QASB->__MXRB=__QASB->__EXRB;
+        };
+        while ((__5OKB != __QASB->__LXRB)) {
+          __QASB->__MXRB=__QASB->__MXRB->__SMUB;
+          __QASB->__LXRB=(____M)(__QASB->__LXRB +  1);
+        };
+      };
+      __YVIB=__QASB->__MXRB->__ADSB;
+      if (((struct ___OBJ *)__YVIB)->__id==____QYL__) {
+        __3REB=((void *)((____QYL *)__YVIB) != (void *)NULL);
+      } else /* FILE_UNIX */ {
+        __3REB=__K__;
+      };
+      if (__3REB) {
+        __D5M=__N3M(__O3M,__YVIB,__Q3M,__R3M);
+        __AW2B=((____4B *)__Z3M);
+        __TNIB=(*(__D5M)).__IC.__VBN;
+        __2NIB= 1;
+        while ((__2NIB <= __TNIB)) {
+          __OBGB=((____4B *)__D5M);
+          if ((__2NIB != (*(__OBGB)).__YBGB)) {
+            __KIWC=__2NIB;
+            if (((*(__OBGB)).__YBGB > __2NIB)) {
+              (*(__OBGB)).__YBGB= 1;
+              (*(__OBGB)).__DCGB=(*(__OBGB)).__KJJB;
+            };
+            while ((__KIWC != (*(__OBGB)).__YBGB)) {
+              (*(__OBGB)).__DCGB=(*(__OBGB)).__DCGB->__0JJB;
+              (*(__OBGB)).__YBGB=(____M)((*(__OBGB)).__YBGB +  1);
+            };
+          };
+          __M02B=(*(__OBGB)).__DCGB->__FCGB;
+          if (((void *)(*(__AW2B)).__KJJB == (void *)NULL)) {
+            __NFYC=NULL;
+            __NIWC=((____EB )(NULL));
+            __KIWC= 0;
+            __AFYC=((____EB )sizeof(____BCGB));
+            if (((unsigned long)__AFYC ==  0)) {
+              __NFYC=__BCGB__;
+            } else /* FALSE */ {
+              __KIWC=____BCGB__;
+              __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AFYC));
+              if ((__KIWC == (____M)(-  1))) {
+                __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+                __DFYC=((____RL )((____M )(void *)((unsigned long)__CFYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                __BFYC=__R4(__CFYC,((____EB )(&(table_size[(__DFYC)-1]))),((____RL )((____M )__CFYC)));
+                __NIWC=__BFYC;
+              } else /* FALSE */ {
+                __DFYC=((____RL )__KIWC);
+                __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+                __BFYC=__R4(__CFYC,((____EB )(&(table_type[(__DFYC)]))),(____RL)(__DFYC |  1));
+                __NIWC=__BFYC;
+              };
+              __NFYC=((____BCGB *)__NIWC);
+              *(__NFYC) = *(__BCGB__);
+            };
+            __0FYC=((____BCGB *)__NFYC);
+            __0FYC->__FCGB=__M02B;
+            __0FYC->__0JJB=NULL;
+            (*(__AW2B)).__KJJB=__NFYC;
+            (*(__AW2B)).__IC.__VBN= 1;
+            (*(__AW2B)).__INWB=(*(__AW2B)).__KJJB;
+            (*(__AW2B)).__YBGB= 1;
+            (*(__AW2B)).__DCGB=(*(__AW2B)).__KJJB;
+          } else /* FALSE */ {
+            __NFYC=NULL;
+            __NIWC=((____EB )(NULL));
+            __KIWC= 0;
+            __AFYC=((____EB )sizeof(____BCGB));
+            if (((unsigned long)__AFYC ==  0)) {
+              __NFYC=__BCGB__;
+            } else /* FALSE */ {
+              __KIWC=____BCGB__;
+              __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AFYC));
+              if ((__KIWC == (____M)(-  1))) {
+                __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+                __DFYC=((____RL )((____M )(void *)((unsigned long)__CFYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                __BFYC=__R4(__CFYC,((____EB )(&(table_size[(__DFYC)-1]))),((____RL )((____M )__CFYC)));
+                __NIWC=__BFYC;
+              } else /* FALSE */ {
+                __DFYC=((____RL )__KIWC);
+                __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+                __BFYC=__R4(__CFYC,((____EB )(&(table_type[(__DFYC)]))),(____RL)(__DFYC |  1));
+                __NIWC=__BFYC;
+              };
+              __NFYC=((____BCGB *)__NIWC);
+              *(__NFYC) = *(__BCGB__);
+            };
+            __0FYC=((____BCGB *)__NFYC);
+            __0FYC->__FCGB=__M02B;
+            __0FYC->__0JJB=NULL;
+            ((____BCGB *)(*(__AW2B)).__INWB)->__0JJB=__NFYC;
+            (*(__AW2B)).__IC.__VBN=(____M)((*(__AW2B)).__IC.__VBN +  1);
+            (*(__AW2B)).__INWB=__NFYC;
+          };
+          __2NIB=(____M)(__2NIB +  1);
+        };
+      } else /* FALSE */ {
+        if (((struct ___OBJ *)__YVIB)->__id==____QYL__) {
+          __IE4=((____QYL *)__YVIB)->__TYL.__K5M;
+        } else /* FILE_UNIX */ {
+          __IE4=((____1FM *)__YVIB)->__2FM.__K5M;
+        };
+        if (((struct ___OBJ *)__YVIB)->__id==____QYL__) {
+          __WE4=((____QYL *)__YVIB)->__TYL.__K5M;
+        } else /* FILE_UNIX */ {
+          __WE4=((____1FM *)__YVIB)->__2FM.__K5M;
+        };
+        __TNIB=(____M)(__WE4->__AD -  2);
+        if (((struct ___OBJ *)__YVIB)->__id==____QYL__) {
+          __WE4=((____QYL *)__YVIB)->__TYL.__K5M;
+        } else /* FILE_UNIX */ {
+          __WE4=((____1FM *)__YVIB)->__2FM.__K5M;
+        };
+        __2NIB=__WE4->__AD;
+        __WE4=((____W *)__IE4);
+        __KIWC=(____M)((____M)(__2NIB - __TNIB) +  1);
+        __UREB=__OR(__KIWC);
+        ((____YB *)__UREB)->__3RJ=__KIWC;
+        __2SKB=((____5 *)__UREB->__GTJ);
+        __VXOB=__WE4->__BD;
+        __KIWC=(____M)(__TNIB -  1);
+        __TNIB=(____M)(__2NIB -  1);
+        __2NIB= 0;
+        __OJXC=__KIWC;
+        while ((__OJXC <= __TNIB)) {
+          __2SKB[__2NIB]=((____5 *)__VXOB)[__OJXC];
+          __OJXC=(____M)(__OJXC +  1);
+          __2NIB=(____M)(__2NIB +  1);
+        };
+        __LMIB=((____YB *)__UREB);
+        __TNIB= 0;
+        __2NIB= 1;
+        while ((! (((__LMIB->__3RJ < __2NIB) || ((&__string_40)->__AD < __2NIB)) || (((____5 *)__LMIB->__GTJ)[(____M)(__2NIB -  1)] != ((____5 *)(&__string_40)->__BD)[(____M)(__2NIB -  1)])))) {
+          __2NIB=(____M)(__2NIB +  1);
+        };
+        if ((__LMIB->__3RJ < __2NIB)) {
+          if (( 3 < __2NIB)) {
+            __TNIB= 0;
+          } else /* FALSE */ {
+            __TNIB=(____M)(-  1);
+          };
+        } else /* FALSE */ {
+          if (( 3 < __2NIB)) {
+            __TNIB= 1;
+          } else /* FALSE */ {
+            if ((((____0V )((____5 *)__LMIB->__GTJ)[(____M)(__2NIB -  1)]) < ((____0V )".li"[(____M)(__2NIB -  1)]))) {
+              __TNIB=(____M)(-  1);
+            } else /* FALSE */ {
+              __TNIB= 1;
+            };
+          };
+        };
+        if ((__TNIB ==  0)) {
+          __0G3B=((____W3M *)__Y3M);
+          __0G3B->__CH3B=__Q3M;
+          __0G3B->__DH3B=__R3M;
+          __M02B=NULL;
+          __NIWC=((____EB )(NULL));
+          __MJXC= 0;
+          __AFYC=((____EB )sizeof(____5B));
+          if (((unsigned long)__AFYC ==  0)) {
+            __M02B=__5B__;
+          } else /* FALSE */ {
+            __MJXC=____5B__;
+            __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AFYC));
+            if ((__MJXC == (____M)(-  1))) {
+              __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+              __DFYC=((____RL )((____M )(void *)((unsigned long)__CFYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+              __BFYC=__R4(__CFYC,((____EB )(&(table_size[(__DFYC)-1]))),((____RL )((____M )__CFYC)));
+              __NIWC=__BFYC;
+            } else /* FALSE */ {
+              __DFYC=((____RL )__MJXC);
+              __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+              __BFYC=__R4(__CFYC,((____EB )(&(table_type[(__DFYC)]))),(____RL)(__DFYC |  1));
+              __NIWC=__BFYC;
+            };
+            __M02B=((____5B *)__NIWC);
+            *(__M02B) = *(__5B__);
+          };
+          __NIWC=((____EB )(NULL));
+          __MJXC= 0;
+          __AFYC=((____EB )sizeof(____4TN));
+          if (((unsigned long)__AFYC !=  0)) {
+            __MJXC=____4TN__;
+            __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AFYC));
+            if ((__MJXC == (____M)(-  1))) {
+              __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+              __DFYC=((____RL )((____M )(void *)((unsigned long)__CFYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+              __BFYC=__R4(__CFYC,((____EB )(&(table_size[(__DFYC)-1]))),((____RL )((____M )__CFYC)));
+              __NIWC=__BFYC;
+            } else /* FALSE */ {
+              __DFYC=((____RL )__MJXC);
+              __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+              __BFYC=__R4(__CFYC,((____EB )(&(table_type[(__DFYC)]))),(____RL)(__DFYC |  1));
+              __NIWC=__BFYC;
+            };
+            *(((____4TN *)__NIWC)) = *(__4TN__);
+          };
+          if (((struct ___OBJ *)__YVIB)->__id==____QYL__) {
+            __GH3B=((____QYL *)__YVIB)->__TYL.__EZL;
+          } else /* FILE_UNIX */ {
+            __GH3B=((____1FM *)__YVIB)->__2FM.__EZL;
+          };
+          __CGE(((____W *)__GH3B));
+          __CGE((&__string_4));
+          if (__YVIB==NULL) {
+            __BM3B=NULL;
+          } else {
+            if (((struct ___OBJ *)__YVIB)->__id==____QYL__) {
+              __BM3B=NULL;
+            } else /* Other types */ {
+              __BM3B=((void *)__YVIB);
+            }
+          };
+          if (((void *)__BM3B == (void *)NULL)) {
+            __1XIB=__G__;
+          } else /* FALSE */ {
+            __23FB=((____1FM *)__BM3B);
+            __23FB->__A1FB=((____EB )(fopen((char*)(((____W *)__23FB->__2FM.__EZL)->__BD),"r+b")));
+            __1XIB=(! (__23FB->__A1FB != (void *)NULL));
+          };
+          if (__1XIB) {
+            __CGE((&__string_18));
+            if (((struct ___OBJ *)__YVIB)->__id==____QYL__) {
+              __RM3B=((____QYL *)__YVIB)->__TYL.__K5M;
+            } else /* FILE_UNIX */ {
+              __RM3B=((____1FM *)__YVIB)->__2FM.__K5M;
+            };
+            __CGE(((____W *)__RM3B));
+            __CGE((&__string_19));
+            exit(( 1));
+          };
+          { struct stat t; stat((((____W *)((____1FM *)__BM3B)->__2FM.__EZL)->__BD),&t);
+          __DFYC=((____RL )(t.st_size));
+          };
+          __K54=__OR(((____M )__DFYC));
+          { struct stat t; stat((((____W *)((____1FM *)__BM3B)->__2FM.__EZL)->__BD),&t);
+          __DFYC=((____RL )(t.st_size));
+          };
+          __MJXC=((____M )__DFYC);
+          __23FB=((____1FM *)__BM3B);
+          __XMRB=(____M)(__K54->__3RJ + __MJXC);
+          __GB5=((____YB *)__K54);
+          if ((__XMRB > __GB5->__3SJ)) {
+            if ((__GB5->__3SJ ==  0)) {
+              __ZB0=__N2K(__XMRB);
+              __GB5->__GTJ=__ZB0;
+            } else /* FALSE */ {
+              __ZB0=((____5 *)__GB5->__GTJ);
+              __OWIB=__GB5->__3SJ;
+              __BFYC=__ZRE(((____EB )__ZB0),((____RL )__OWIB),((____RL )__XMRB));
+              __ZB0=((____5 *)__BFYC);
+              __HB5=(____M)(__XMRB -  1);
+              __XIWC=__OWIB;
+              while ((__XIWC <= __HB5)) {
+                __ZB0[__XIWC]='\0';
+                __XIWC=(____M)(__XIWC +  1);
+              };
+              __GB5->__GTJ=__ZB0;
+            };
+            __GB5->__3SJ=__XMRB;
+          };
+          fread((void *)((((____UV *)(void *)((unsigned long)((____EB )((____UV *)((____YB *)__K54)->__GTJ)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )__K54->__3RJ)))))),(size_t)(1), (size_t)((__MJXC)),(FILE*)((__23FB->__A1FB)));
+          ((____YB *)__K54)->__3RJ=__XMRB;
+          __23FB=((____1FM *)__BM3B);
+          fclose((FILE*)((__23FB->__A1FB)));
+          __23FB->__A1FB=NULL;
+          __0G3B->__IH3B=__K54;
+          __G1N(((____YB *)__K54),(&__string_4));
+          __MJXC= 0;
+          __XMRB= 0;
+          __OWIB= 0;
+          __K54=((____YB *)__0G3B->__IH3B);
+          __HB5= 1;
+          while ((! ((__HB5 > __K54->__3RJ) || ('\"' == ((____5 *)__K54->__GTJ)[(____M)(__HB5 -  1)])))) {
+            __HB5=(____M)(__HB5 +  1);
+          };
+          __XIWC=__HB5;
+          __K54=((____YB *)__0G3B->__IH3B);
+          __UGYC= 1;
+          while ((! ((__UGYC > __K54->__3RJ) || ('/' == ((____5 *)__K54->__GTJ)[(____M)(__UGYC -  1)])))) {
+            __UGYC=(____M)(__UGYC +  1);
+          };
+          __FN3B=__UGYC;
+          __K54=((____YB *)__0G3B->__IH3B);
+          __0GYC= 1;
+          while ((! ((__0GYC > __K54->__3RJ) || (')' == ((____5 *)__K54->__GTJ)[(____M)(__0GYC -  1)])))) {
+            __0GYC=(____M)(__0GYC +  1);
+          };
+          __HN3B=__0GYC;
+          __K54=((____YB *)__0G3B->__IH3B);
+          __AHYC= 1;
+          while ((! ((__AHYC > __K54->__3RJ) || ('(' == ((____5 *)__K54->__GTJ)[(____M)(__AHYC -  1)])))) {
+            __AHYC=(____M)(__AHYC +  1);
+          };
+          __GN3B=__AHYC;
+          __YIVC= 0;
+          if ((__HB5 > __UGYC)) {
+            __YIVC=__UGYC;
+          } else /* FALSE */ {
+            __YIVC=__HB5;
+          };
+          __HB5= 0;
+          if ((__AHYC > __0GYC)) {
+            __HB5=__0GYC;
+          } else /* FALSE */ {
+            __HB5=__AHYC;
+          };
+          __UGYC= 0;
+          if ((__YIVC > __HB5)) {
+            __UGYC=__HB5;
+          } else /* FALSE */ {
+            __UGYC=__YIVC;
+          };
+          __HB5=__UGYC;
+          while ((__HB5 < (____M)(__0G3B->__IH3B->__3RJ +  1))) {
+            if ((((__XIWC == __HB5) && (((____5 *)((____YB *)__0G3B->__IH3B)->__GTJ)[(____M)((____M)(__XIWC -  1) -  1)] != '\\')) && (! ((((____5 *)((____YB *)__0G3B->__IH3B)->__GTJ)[(____M)((____M)(__XIWC -  1) -  1)] == '\'') && (((____5 *)((____YB *)__0G3B->__IH3B)->__GTJ)[(____M)((____M)(__XIWC +  1) -  1)] == '\''))))) {
+              __MJXC=(____M)(__HB5 +  1);
+              __CVEC:
+              {
+                __HHYC=((____YB *)__0G3B->__IH3B);
+                __GHYC=__MJXC;
+                while ((! ((__GHYC > __HHYC->__3RJ) || ('\"' == ((____5 *)__HHYC->__GTJ)[(____M)(__GHYC -  1)])))) {
+                  __GHYC=(____M)(__GHYC +  1);
+                };
+                __MJXC=__GHYC;
+                if (((__GHYC != (____M)(__0G3B->__IH3B->__3RJ +  1)) && ((((____5 *)((____YB *)__0G3B->__IH3B)->__GTJ)[(____M)((____M)(__GHYC -  1) -  1)] == '\\') || ((((____5 *)((____YB *)__0G3B->__IH3B)->__GTJ)[(____M)((____M)(__GHYC -  1) -  1)] == '\'') && (((____5 *)((____YB *)__0G3B->__IH3B)->__GTJ)[(____M)((____M)(__GHYC +  1) -  1)] == '\''))))) {
+                  __MJXC=(____M)(__GHYC +  1);
+                  goto __CVEC;
+                };
+              };
+              if ((__MJXC != (____M)(__0G3B->__IH3B->__3RJ +  1))) {
+                __HHYC=((____YB *)__0G3B->__IH3B);
+                __GHYC=(____M)((____M)(__MJXC - __HB5) +  1);
+                if ((__GHYC >  0)) {
+                  __OHYC=(____M)(__MJXC +  1);
+                  __QHYC=__HHYC->__3RJ;
+                  __RHYC=__OHYC;
+                  while ((__RHYC <= __QHYC)) {
+                    ((____5 *)__HHYC->__GTJ)[(____M)((____M)(__RHYC - __GHYC) -  1)]=((____5 *)__HHYC->__GTJ)[(____M)(__RHYC -  1)];
+                    __RHYC=(____M)(__RHYC +  1);
+                  };
+                  __HHYC->__3RJ=(____M)(__HHYC->__3RJ - __GHYC);
+                };
+              };
+            } else /* FALSE */ {
+              if (((__FN3B == __HB5) && (((____5 *)((____YB *)__0G3B->__IH3B)->__GTJ)[(____M)((____M)(__FN3B +  1) -  1)] == '/'))) {
+                __HHYC=((____YB *)__0G3B->__IH3B);
+                __GHYC=(____M)(__FN3B +  2);
+                while ((! ((__GHYC > __HHYC->__3RJ) || ('\n' == ((____5 *)__HHYC->__GTJ)[(____M)(__GHYC -  1)])))) {
+                  __GHYC=(____M)(__GHYC +  1);
+                };
+                __MJXC=__GHYC;
+                __HHYC=((____YB *)__0G3B->__IH3B);
+                __OHYC=(____M)(__GHYC -  1);
+                __GHYC=(____M)((____M)(__OHYC - __HB5) +  1);
+                if ((__GHYC >  0)) {
+                  __QHYC=(____M)(__OHYC +  1);
+                  __RHYC=__HHYC->__3RJ;
+                  __5HYC=__QHYC;
+                  while ((__5HYC <= __RHYC)) {
+                    ((____5 *)__HHYC->__GTJ)[(____M)((____M)(__5HYC - __GHYC) -  1)]=((____5 *)__HHYC->__GTJ)[(____M)(__5HYC -  1)];
+                    __5HYC=(____M)(__5HYC +  1);
+                  };
+                  __HHYC->__3RJ=(____M)(__HHYC->__3RJ - __GHYC);
+                };
+              } else /* FALSE */ {
+                if (((__FN3B == __HB5) && (((____5 *)((____YB *)__0G3B->__IH3B)->__GTJ)[(____M)((____M)(__FN3B +  1) -  1)] == '*'))) {
+                  __QU3B=__0G3B->__IH3B;
+                  __QHYC=__AEV(((____YB *)__QU3B),(&__string_41),(____M)(__FN3B +  2));
+                  __MJXC=__QHYC;
+                  if ((__QHYC !=  0)) {
+                    __FIYC=((____YB *)__0G3B->__IH3B);
+                    __BIYC=(____M)(__QHYC +  1);
+                    __DIYC=(____M)((____M)(__BIYC - __HB5) +  1);
+                    if ((__DIYC >  0)) {
+                      __EIYC=(____M)(__BIYC +  1);
+                      __GIYC=__FIYC->__3RJ;
+                      __HIYC=__EIYC;
+                      while ((__HIYC <= __GIYC)) {
+                        ((____5 *)__FIYC->__GTJ)[(____M)((____M)(__HIYC - __DIYC) -  1)]=((____5 *)__FIYC->__GTJ)[(____M)(__HIYC -  1)];
+                        __HIYC=(____M)(__HIYC +  1);
+                      };
+                      __FIYC->__3RJ=(____M)(__FIYC->__3RJ - __DIYC);
+                    };
+                  };
+                } else /* FALSE */ {
+                  if (((__GN3B == __HB5) && (! ((((____5 *)((____YB *)__0G3B->__IH3B)->__GTJ)[(____M)((____M)(__GN3B -  1) -  1)] == '\'') && (((____5 *)((____YB *)__0G3B->__IH3B)->__GTJ)[(____M)((____M)(__GN3B +  1) -  1)] == '\''))))) {
+                    if ((__OWIB ==  0)) {
+                      __XMRB=__HB5;
+                    };
+                    __OWIB=(____M)(__OWIB +  1);
+                    __HB5=(____M)(__HB5 +  1);
+                  } else /* FALSE */ {
+                    if (((__HN3B == __HB5) && (! ((((____5 *)((____YB *)__0G3B->__IH3B)->__GTJ)[(____M)((____M)(__HN3B -  1) -  1)] == '\'') && (((____5 *)((____YB *)__0G3B->__IH3B)->__GTJ)[(____M)((____M)(__HN3B +  1) -  1)] == '\''))))) {
+                      __EIYC=(____M)(__OWIB -  1);
+                      __OWIB=__EIYC;
+                      if ((__EIYC ==  0)) {
+                        __NIYC=((____YB *)__0G3B->__IH3B);
+                        __JIYC=(____M)(__HN3B +  1);
+                        __LIYC=(____M)((____M)(__JIYC - __XMRB) +  1);
+                        if ((__LIYC >  0)) {
+                          __MIYC=(____M)(__JIYC +  1);
+                          __OIYC=__NIYC->__3RJ;
+                          __PIYC=__MIYC;
+                          while ((__PIYC <= __OIYC)) {
+                            ((____5 *)__NIYC->__GTJ)[(____M)((____M)(__PIYC - __LIYC) -  1)]=((____5 *)__NIYC->__GTJ)[(____M)(__PIYC -  1)];
+                            __PIYC=(____M)(__PIYC +  1);
+                          };
+                          __NIYC->__3RJ=(____M)(__NIYC->__3RJ - __LIYC);
+                        };
+                        __HB5=__XMRB;
+                      } else /* FALSE */ {
+                        __HB5=(____M)(__HB5 +  1);
+                      };
+                    } else /* FALSE */ {
+                      __HB5=(____M)(__HB5 +  1);
+                    };
+                  };
+                };
+              };
+            };
+            __HHYC=((____YB *)__0G3B->__IH3B);
+            __GHYC=__HB5;
+            while ((! ((__GHYC > __HHYC->__3RJ) || ('\"' == ((____5 *)__HHYC->__GTJ)[(____M)(__GHYC -  1)])))) {
+              __GHYC=(____M)(__GHYC +  1);
+            };
+            __XIWC=__GHYC;
+            __HHYC=((____YB *)__0G3B->__IH3B);
+            __OHYC=__HB5;
+            while ((! ((__OHYC > __HHYC->__3RJ) || ('/' == ((____5 *)__HHYC->__GTJ)[(____M)(__OHYC -  1)])))) {
+              __OHYC=(____M)(__OHYC +  1);
+            };
+            __FN3B=__OHYC;
+            __HHYC=((____YB *)__0G3B->__IH3B);
+            __QHYC=__HB5;
+            while ((! ((__QHYC > __HHYC->__3RJ) || (')' == ((____5 *)__HHYC->__GTJ)[(____M)(__QHYC -  1)])))) {
+              __QHYC=(____M)(__QHYC +  1);
+            };
+            __HN3B=__QHYC;
+            __HHYC=((____YB *)__0G3B->__IH3B);
+            __RHYC=__HB5;
+            while ((! ((__RHYC > __HHYC->__3RJ) || ('(' == ((____5 *)__HHYC->__GTJ)[(____M)(__RHYC -  1)])))) {
+              __RHYC=(____M)(__RHYC +  1);
+            };
+            __GN3B=__RHYC;
+            __5HYC= 0;
+            if ((__GHYC > __OHYC)) {
+              __5HYC=__OHYC;
+            } else /* FALSE */ {
+              __5HYC=__GHYC;
+            };
+            __GHYC= 0;
+            if ((__RHYC > __QHYC)) {
+              __GHYC=__QHYC;
+            } else /* FALSE */ {
+              __GHYC=__RHYC;
+            };
+            __OHYC= 0;
+            if ((__5HYC > __GHYC)) {
+              __OHYC=__GHYC;
+            } else /* FALSE */ {
+              __OHYC=__5HYC;
+            };
+            __HB5=__OHYC;
+          };
+          __MJXC= 0;
+          __K54=NULL;
+          __GB5=__1E4B(__0G3B,(&__string_42));
+          __XMRB=__AEV(((____YB *)__GB5),(&__string_43), 1);
+          if ((__XMRB !=  0)) {
+            __GHYC=__AEV(((____YB *)__GB5),(&__string_44),(____M)(__XMRB + (&__string_43)->__AD));
+            __OHYC=__AEV(((____YB *)__GB5),(&__string_45),(____M)(__GHYC + (&__string_43)->__AD));
+            __MJXC=__OHYC;
+            __QHYC=__AEV(((____YB *)__GB5),(&__string_46),(____M)(__GHYC + (&__string_43)->__AD));
+            if ((__QHYC >  0)) {
+              __RHYC=(____M)(__QHYC -  1);
+              __5HYC= 0;
+              if ((__OHYC > __RHYC)) {
+                __5HYC=__RHYC;
+              } else /* FALSE */ {
+                __5HYC=__OHYC;
+              };
+              __MJXC=__5HYC;
+            };
+            __HHYC=__OR((____M)(__MJXC - __GHYC));
+            __K54=__HHYC;
+            __QU3B=((____YB *)__GB5);
+            __OHYC=(____M)(__GHYC +  2);
+            __GHYC=(____M)(__MJXC -  1);
+            __QHYC=(____M)((____M)(__GHYC - __OHYC) +  1);
+            __FIYC=__OR(__QHYC);
+            ((____YB *)__FIYC)->__3RJ=__QHYC;
+            __ZB0=((____5 *)__FIYC->__GTJ);
+            __TKXC=__QU3B->__GTJ;
+            __QHYC=(____M)(__OHYC -  1);
+            __OHYC=(____M)(__GHYC -  1);
+            __GHYC= 0;
+            __RHYC=__QHYC;
+            while ((__RHYC <= __OHYC)) {
+              __ZB0[__GHYC]=((____5 *)__TKXC)[__RHYC];
+              __RHYC=(____M)(__RHYC +  1);
+              __GHYC=(____M)(__GHYC +  1);
+            };
+            __XWL(((____YB *)__HHYC),__FIYC);
+            __QU3B=((____YB *)__HHYC);
+            __GHYC= 1;
+            __OHYC=__QU3B->__3RJ;
+            __QHYC= 1;
+            while ((__QHYC <= __OHYC)) {
+              if ((((____5 *)__QU3B->__GTJ)[(____M)(__QHYC -  1)] != ' ')) {
+                ((____5 *)__QU3B->__GTJ)[(____M)(__GHYC -  1)]=((____5 *)__QU3B->__GTJ)[(____M)(__QHYC -  1)];
+                __GHYC=(____M)(__GHYC +  1);
+              };
+              __QHYC=(____M)(__QHYC +  1);
+            };
+            __QU3B->__3RJ=(____M)(__GHYC -  1);
+            __QU3B=((____YB *)__HHYC);
+            __GHYC= 1;
+            __OHYC=__QU3B->__3RJ;
+            __QHYC= 1;
+            while ((__QHYC <= __OHYC)) {
+              if ((((____5 *)__QU3B->__GTJ)[(____M)(__QHYC -  1)] != '\n')) {
+                ((____5 *)__QU3B->__GTJ)[(____M)(__GHYC -  1)]=((____5 *)__QU3B->__GTJ)[(____M)(__QHYC -  1)];
+                __GHYC=(____M)(__GHYC +  1);
+              };
+              __QHYC=(____M)(__QHYC +  1);
+            };
+            __QU3B->__3RJ=(____M)(__GHYC -  1);
+          };
+          __PJYC=NULL;
+          __NIWC=((____EB )(NULL));
+          __MJXC= 0;
+          __AFYC=((____EB )sizeof(____503B));
+          if (((unsigned long)__AFYC ==  0)) {
+            __PJYC=__503B__;
+          } else /* FALSE */ {
+            __MJXC=-1;
+            __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AFYC));
+            if ((__MJXC == (____M)(-  1))) {
+              __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+              __VJYC=((____RL )((____M )(void *)((unsigned long)__CFYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+              __BFYC=__R4(__CFYC,((____EB )(&(table_size[(__VJYC)-1]))),((____RL )((____M )__CFYC)));
+              __NIWC=__BFYC;
+            } else /* FALSE */ {
+              __VJYC=((____RL )__MJXC);
+              __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+              __BFYC=__R4(__CFYC,((____EB )(&(table_type[(__VJYC)]))),(____RL)(__VJYC |  1));
+              __NIWC=__BFYC;
+            };
+            __PJYC=((____503B *)__NIWC);
+            *(__PJYC) = *(__503B__);
+          };
+          ((____503B *)__PJYC)->__Y1BC=__K54;
+          __GYCC=NULL;
+          __NIWC=((____EB )(NULL));
+          __MJXC= 0;
+          __AFYC=((____EB )sizeof(____ZSY));
+          if (((unsigned long)__AFYC ==  0)) {
+            __GYCC=__ZSY__;
+          } else /* FALSE */ {
+            __MJXC=____ZSY__;
+            __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AFYC));
+            if ((__MJXC == (____M)(-  1))) {
+              __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+              __VJYC=((____RL )((____M )(void *)((unsigned long)__CFYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+              __BFYC=__R4(__CFYC,((____EB )(&(table_size[(__VJYC)-1]))),((____RL )((____M )__CFYC)));
+              __NIWC=__BFYC;
+            } else /* FALSE */ {
+              __VJYC=((____RL )__MJXC);
+              __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+              __BFYC=__R4(__CFYC,((____EB )(&(table_type[(__VJYC)]))),(____RL)(__VJYC |  1));
+              __NIWC=__BFYC;
+            };
+            __GYCC=((____ZSY *)__NIWC);
+            *(__GYCC) = *(__ZSY__);
+          };
+          if ((! __0G3B->__CH3B)) {
+            __O13B=__424B(__0G3B,__M13B__);
+            __VZDC(((____ZSY *)__GYCC),__O13B);
+            if ((! __0G3B->__DH3B)) {
+              __Y13B=__424B(__0G3B,__W13B__);
+              __VZDC(((____ZSY *)__GYCC),__Y13B);
+              __Y13B=__424B(__0G3B,__PJYC);
+              __VZDC(((____ZSY *)__GYCC),__Y13B);
+            };
+          };
+          __PJYC=NULL;
+          __NIWC=((____EB )(NULL));
+          __MJXC= 0;
+          __AFYC=((____EB )sizeof(____503B));
+          if (((unsigned long)__AFYC ==  0)) {
+            __PJYC=__503B__;
+          } else /* FALSE */ {
+            __MJXC=-1;
+            __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AFYC));
+            if ((__MJXC == (____M)(-  1))) {
+              __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+              __VJYC=((____RL )((____M )(void *)((unsigned long)__CFYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+              __BFYC=__R4(__CFYC,((____EB )(&(table_size[(__VJYC)-1]))),((____RL )((____M )__CFYC)));
+              __NIWC=__BFYC;
+            } else /* FALSE */ {
+              __VJYC=((____RL )__MJXC);
+              __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+              __BFYC=__R4(__CFYC,((____EB )(&(table_type[(__VJYC)]))),(____RL)(__VJYC |  1));
+              __NIWC=__BFYC;
+            };
+            __PJYC=((____503B *)__NIWC);
+            *(__PJYC) = *(__503B__);
+          };
+          ((____503B *)__PJYC)->__Y1BC=__K54;
+          __3JYC=NULL;
+          __NIWC=((____EB )(NULL));
+          __MJXC= 0;
+          __AFYC=((____EB )sizeof(____X0O));
+          if (((unsigned long)__AFYC ==  0)) {
+            __3JYC=__X0O__;
+          } else /* FALSE */ {
+            __MJXC=____X0O__;
+            __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AFYC));
+            if ((__MJXC == (____M)(-  1))) {
+              __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+              __VJYC=((____RL )((____M )(void *)((unsigned long)__CFYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+              __BFYC=__R4(__CFYC,((____EB )(&(table_size[(__VJYC)-1]))),((____RL )((____M )__CFYC)));
+              __NIWC=__BFYC;
+            } else /* FALSE */ {
+              __VJYC=((____RL )__MJXC);
+              __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+              __BFYC=__R4(__CFYC,((____EB )(&(table_type[(__VJYC)]))),(____RL)(__VJYC |  1));
+              __NIWC=__BFYC;
+            };
+            __3JYC=((____X0O *)__NIWC);
+            *(__3JYC) = *(__X0O__);
+          };
+          if ((! __0G3B->__CH3B)) {
+            __N23B=__VG5B(__0G3B,__M13B__);
+            __Z0DC(((____X0O *)__3JYC),__N23B);
+            if ((! __0G3B->__DH3B)) {
+              __V23B=__VG5B(__0G3B,__W13B__);
+              __Z0DC(((____X0O *)__3JYC),__V23B);
+              __V23B=__VG5B(__0G3B,__PJYC);
+              __Z0DC(((____X0O *)__3JYC),__V23B);
+            };
+          };
+          __MYNB=NULL;
+          __NIWC=((____EB )(NULL));
+          __MJXC= 0;
+          __AFYC=((____EB )sizeof(____PDN));
+          if (((unsigned long)__AFYC ==  0)) {
+            __MYNB=__PDN__;
+          } else /* FALSE */ {
+            __MJXC=____PDN__;
+            __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AFYC));
+            if ((__MJXC == (____M)(-  1))) {
+              __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+              __VJYC=((____RL )((____M )(void *)((unsigned long)__CFYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+              __BFYC=__R4(__CFYC,((____EB )(&(table_size[(__VJYC)-1]))),((____RL )((____M )__CFYC)));
+              __NIWC=__BFYC;
+            } else /* FALSE */ {
+              __VJYC=((____RL )__MJXC);
+              __BFYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __CFYC=(void *)((unsigned long)(void *)((unsigned long)__AFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BFYC) - (unsigned long)((____EB ) 1)));
+              __BFYC=__R4(__CFYC,((____EB )(&(table_type[(__VJYC)]))),(____RL)(__VJYC |  1));
+              __NIWC=__BFYC;
+            };
+            __MYNB=((____PDN *)__NIWC);
+            *(__MYNB) = *(__PDN__);
+          };
+          __E33B=__MYNB;
+          __GB5=__1E4B(__0G3B,(&__string_47));
+          __MJXC= 1;
+          __XMRB= 1;
+          __FM4B:
+          {
+            if ((__XMRB < ((____YB *)__GB5)->__3RJ)) {
+              __BIYC=__AEV(((____YB *)__GB5),(&__string_14),(____M)(__XMRB +  1));
+              __MJXC=__BIYC;
+              __Y33B=(__BIYC !=  0);
+            } else /* FALSE */ {
+              __Y33B=__K__;
+            };
+            if (__Y33B) {
+              if ((((____0V )((____5 *)((____YB *)__GB5)->__GTJ)[(____M)((____M)(__MJXC +  1) -  1)]) == ((____0V )'='))) {
+                __XMRB=(____M)(__MJXC +  1);
+              } else /* FALSE */ {
+                __DIYC=__AEV(((____YB *)__GB5),(&__string_44),(____M)(__MJXC +  1));
+                __XMRB=__DIYC;
+                if ((__DIYC ==  0)) {
+                  __EIYC=__AEV(((____YB *)__GB5),(&__string_45),__MJXC);
+                  __XMRB=__EIYC;
+                  if ((__EIYC ==  0)) {
+                    __GIYC=__AEV(((____YB *)__GB5),(&__string_48),__MJXC);
+                    __XMRB=__GIYC;
+                  };
+                };
+                if (((____M)((____M)(__XMRB - __MJXC) -  2) >  0)) {
+                  __NIYC=__OR((____M)((____M)(__XMRB - __MJXC) -  2));
+                  __MCW=((____YB *)__GB5);
+                  __EIYC=(____M)(__MJXC +  1);
+                  __GIYC=(____M)(__XMRB -  1);
+                  __HIYC=(____M)((____M)(__GIYC - __EIYC) +  1);
+                  __LDW=__OR(__HIYC);
+                  ((____YB *)__LDW)->__3RJ=__HIYC;
+                  __GUY=((____5 *)__LDW->__GTJ);
+                  __HUY=__MCW->__GTJ;
+                  __HIYC=(____M)(__EIYC -  1);
+                  __EIYC=(____M)(__GIYC -  1);
+                  __GIYC= 0;
+                  __JIYC=__HIYC;
+                  while ((__JIYC <= __EIYC)) {
+                    __GUY[__GIYC]=((____5 *)__HUY)[__JIYC];
+                    __JIYC=(____M)(__JIYC +  1);
+                    __GIYC=(____M)(__GIYC +  1);
+                  };
+                  __XWL(((____YB *)__NIYC),__LDW);
+                  __MCW=((____YB *)__NIYC);
+                  __EIYC= 1;
+                  __GIYC=__MCW->__3RJ;
+                  __HIYC= 1;
+                  while ((__HIYC <= __GIYC)) {
+                    if ((((____5 *)__MCW->__GTJ)[(____M)(__HIYC -  1)] != ' ')) {
+                      ((____5 *)__MCW->__GTJ)[(____M)(__EIYC -  1)]=((____5 *)__MCW->__GTJ)[(____M)(__HIYC -  1)];
+                      __EIYC=(____M)(__EIYC +  1);
+                    };
+                    __HIYC=(____M)(__HIYC +  1);
+                  };
+                  __MCW->__3RJ=(____M)(__EIYC -  1);
+                  __MCW=((____YB *)__NIYC);
+                  __EIYC= 1;
+                  __GIYC=__MCW->__3RJ;
+                  __HIYC= 1;
+                  while ((__HIYC <= __GIYC)) {
+                    if ((((____5 *)__MCW->__GTJ)[(____M)(__HIYC -  1)] != '\n')) {
+                      ((____5 *)__MCW->__GTJ)[(____M)(__EIYC -  1)]=((____5 *)__MCW->__GTJ)[(____M)(__HIYC -  1)];
+                      __EIYC=(____M)(__EIYC +  1);
+                    };
+                    __HIYC=(____M)(__HIYC +  1);
+                  };
+                  __MCW->__3RJ=(____M)(__EIYC -  1);
+                  __YVAC(((____YB *)__NIYC));
+                  __Z53B=__CYRB(((____PDN *)__E33B),__NIYC);
+                  if ((! __Z53B)) {
+                    __BKXB=((____PDN *)__E33B);
+                    if (((void *)(*(__BKXB)).__0JSB == (void *)NULL)) {
+                      __RKYC=NULL;
+                      __SKYC=((____EB )(NULL));
+                      __LIYC= 0;
+                      __UKYC=((____EB )sizeof(____W0RB));
+                      if (((unsigned long)__UKYC ==  0)) {
+                        __RKYC=__W0RB__;
+                      } else /* FALSE */ {
+                        __LIYC=____W0RB__;
+                        __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__UKYC));
+                        if ((__LIYC == (____M)(-  1))) {
+                          __VKYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                          __WKYC=(void *)((unsigned long)(void *)((unsigned long)__UKYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__VKYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__VKYC) - (unsigned long)((____EB ) 1)));
+                          __XKYC=((____RL )((____M )(void *)((unsigned long)__WKYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                          __VKYC=__R4(__WKYC,((____EB )(&(table_size[(__XKYC)-1]))),((____RL )((____M )__WKYC)));
+                          __SKYC=__VKYC;
+                        } else /* FALSE */ {
+                          __XKYC=((____RL )__LIYC);
+                          __VKYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                          __WKYC=(void *)((unsigned long)(void *)((unsigned long)__UKYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__VKYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__VKYC) - (unsigned long)((____EB ) 1)));
+                          __VKYC=__R4(__WKYC,((____EB )(&(table_type[(__XKYC)]))),(____RL)(__XKYC |  1));
+                          __SKYC=__VKYC;
+                        };
+                        __RKYC=((____W0RB *)__SKYC);
+                        *(__RKYC) = *(__W0RB__);
+                      };
+                      __4KYC=((____W0RB *)__RKYC);
+                      __4KYC->__00RB=__NIYC;
+                      __4KYC->__KLSB=NULL;
+                      (*(__BKXB)).__0JSB=__RKYC;
+                      (*(__BKXB)).__TDN.__OSAB= 1;
+                      (*(__BKXB)).__1MSB=(*(__BKXB)).__0JSB;
+                      (*(__BKXB)).__N0RB= 1;
+                      (*(__BKXB)).__Y0RB=(*(__BKXB)).__0JSB;
+                    } else /* FALSE */ {
+                      __RKYC=NULL;
+                      __SKYC=((____EB )(NULL));
+                      __LIYC= 0;
+                      __UKYC=((____EB )sizeof(____W0RB));
+                      if (((unsigned long)__UKYC ==  0)) {
+                        __RKYC=__W0RB__;
+                      } else /* FALSE */ {
+                        __LIYC=____W0RB__;
+                        __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__UKYC));
+                        if ((__LIYC == (____M)(-  1))) {
+                          __VKYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                          __WKYC=(void *)((unsigned long)(void *)((unsigned long)__UKYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__VKYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__VKYC) - (unsigned long)((____EB ) 1)));
+                          __XKYC=((____RL )((____M )(void *)((unsigned long)__WKYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                          __VKYC=__R4(__WKYC,((____EB )(&(table_size[(__XKYC)-1]))),((____RL )((____M )__WKYC)));
+                          __SKYC=__VKYC;
+                        } else /* FALSE */ {
+                          __XKYC=((____RL )__LIYC);
+                          __VKYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                          __WKYC=(void *)((unsigned long)(void *)((unsigned long)__UKYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__VKYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__VKYC) - (unsigned long)((____EB ) 1)));
+                          __VKYC=__R4(__WKYC,((____EB )(&(table_type[(__XKYC)]))),(____RL)(__XKYC |  1));
+                          __SKYC=__VKYC;
+                        };
+                        __RKYC=((____W0RB *)__SKYC);
+                        *(__RKYC) = *(__W0RB__);
+                      };
+                      __4KYC=((____W0RB *)__RKYC);
+                      __4KYC->__00RB=__NIYC;
+                      __4KYC->__KLSB=NULL;
+                      ((____W0RB *)(*(__BKXB)).__1MSB)->__KLSB=__RKYC;
+                      (*(__BKXB)).__TDN.__OSAB=(____M)((*(__BKXB)).__TDN.__OSAB +  1);
+                      (*(__BKXB)).__1MSB=__RKYC;
+                    };
+                  };
+                };
+              };
+              goto __FM4B;
+            };
+          };
+          __CIAC=((____5B *)__M02B);
+          __CIAC->__XTY=__K54;
+          __YVAC(((____YB *)__K54));
+          __CIAC->__QSZ=__GYCC;
+          __CIAC->__JSZ=__3JYC;
+          __CIAC->__WLEB=__MYNB;
+          __OBGB=((____4B *)__Z3M);
+          if (((void *)(*(__OBGB)).__KJJB == (void *)NULL)) {
+            __NFYC=NULL;
+            __BFYC=((____EB )(NULL));
+            __GHYC= 0;
+            __CFYC=((____EB )sizeof(____BCGB));
+            if (((unsigned long)__CFYC ==  0)) {
+              __NFYC=__BCGB__;
+            } else /* FALSE */ {
+              __GHYC=____BCGB__;
+              __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__CFYC));
+              if ((__GHYC == (____M)(-  1))) {
+                __SKYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __UKYC=(void *)((unsigned long)(void *)((unsigned long)__CFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SKYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SKYC) - (unsigned long)((____EB ) 1)));
+                __XKYC=((____RL )((____M )(void *)((unsigned long)__UKYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                __SKYC=__R4(__UKYC,((____EB )(&(table_size[(__XKYC)-1]))),((____RL )((____M )__UKYC)));
+                __BFYC=__SKYC;
+              } else /* FALSE */ {
+                __XKYC=((____RL )__GHYC);
+                __SKYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __UKYC=(void *)((unsigned long)(void *)((unsigned long)__CFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SKYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SKYC) - (unsigned long)((____EB ) 1)));
+                __SKYC=__R4(__UKYC,((____EB )(&(table_type[(__XKYC)]))),(____RL)(__XKYC |  1));
+                __BFYC=__SKYC;
+              };
+              __NFYC=((____BCGB *)__BFYC);
+              *(__NFYC) = *(__BCGB__);
+            };
+            __0FYC=((____BCGB *)__NFYC);
+            __0FYC->__FCGB=__M02B;
+            __0FYC->__0JJB=NULL;
+            (*(__OBGB)).__KJJB=__NFYC;
+            (*(__OBGB)).__IC.__VBN= 1;
+            (*(__OBGB)).__INWB=(*(__OBGB)).__KJJB;
+            (*(__OBGB)).__YBGB= 1;
+            (*(__OBGB)).__DCGB=(*(__OBGB)).__KJJB;
+          } else /* FALSE */ {
+            __NFYC=NULL;
+            __BFYC=((____EB )(NULL));
+            __GHYC= 0;
+            __CFYC=((____EB )sizeof(____BCGB));
+            if (((unsigned long)__CFYC ==  0)) {
+              __NFYC=__BCGB__;
+            } else /* FALSE */ {
+              __GHYC=____BCGB__;
+              __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__CFYC));
+              if ((__GHYC == (____M)(-  1))) {
+                __SKYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __UKYC=(void *)((unsigned long)(void *)((unsigned long)__CFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SKYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SKYC) - (unsigned long)((____EB ) 1)));
+                __XKYC=((____RL )((____M )(void *)((unsigned long)__UKYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                __SKYC=__R4(__UKYC,((____EB )(&(table_size[(__XKYC)-1]))),((____RL )((____M )__UKYC)));
+                __BFYC=__SKYC;
+              } else /* FALSE */ {
+                __XKYC=((____RL )__GHYC);
+                __SKYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __UKYC=(void *)((unsigned long)(void *)((unsigned long)__CFYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SKYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SKYC) - (unsigned long)((____EB ) 1)));
+                __SKYC=__R4(__UKYC,((____EB )(&(table_type[(__XKYC)]))),(____RL)(__XKYC |  1));
+                __BFYC=__SKYC;
+              };
+              __NFYC=((____BCGB *)__BFYC);
+              *(__NFYC) = *(__BCGB__);
+            };
+            __0FYC=((____BCGB *)__NFYC);
+            __0FYC->__FCGB=__M02B;
+            __0FYC->__0JJB=NULL;
+            ((____BCGB *)(*(__OBGB)).__INWB)->__0JJB=__NFYC;
+            (*(__OBGB)).__IC.__VBN=(____M)((*(__OBGB)).__IC.__VBN +  1);
+            (*(__OBGB)).__INWB=__NFYC;
+          };
+        };
+      };
+      __SWNB=(____M)(__SWNB +  1);
+    };
+  };
+  __YVIB=__V43;
+  return(__YVIB);
+}
+
+static void __U4SB(____PDN *__V4SB,____M __W4SB)
+// ({__PDN},{__M}) Void No recursive, No inlinable.
+{
+  ____M __XKXC;
+  ____H __F5SB;
+  if ((__W4SB ==  1)) {
+    if (((*(__V4SB)).__TDN.__OSAB ==  1)) {
+      (*(__V4SB)).__0JSB=NULL;
+      (*(__V4SB)).__1MSB=NULL;
+      (*(__V4SB)).__Y0RB=NULL;
+      (*(__V4SB)).__N0RB= 0;
+      (*(__V4SB)).__TDN.__OSAB= 0;
+    } else /* FALSE */ {
+      (*(__V4SB)).__0JSB=(*(__V4SB)).__0JSB->__KLSB;
+      if (((*(__V4SB)).__N0RB ==  1)) {
+        (*(__V4SB)).__Y0RB=(*(__V4SB)).__0JSB;
+      } else /* FALSE */ {
+        (*(__V4SB)).__N0RB=(____M)((*(__V4SB)).__N0RB -  1);
+      };
+      (*(__V4SB)).__TDN.__OSAB=(____M)((*(__V4SB)).__TDN.__OSAB -  1);
+    };
+    __F5SB=__G__;
+  } else /* FALSE */ {
+    __F5SB=__K__;
+  };
+  if ((! __F5SB)) {
+    if ((__W4SB == (*(__V4SB)).__TDN.__OSAB)) {
+      if (((*(__V4SB)).__TDN.__OSAB ==  1)) {
+        (*(__V4SB)).__0JSB=NULL;
+        (*(__V4SB)).__1MSB=NULL;
+        (*(__V4SB)).__Y0RB=NULL;
+        (*(__V4SB)).__N0RB= 0;
+        (*(__V4SB)).__TDN.__OSAB= 0;
+      } else /* FALSE */ {
+        if (((____M)((*(__V4SB)).__TDN.__OSAB -  1) != (*(__V4SB)).__N0RB)) {
+          __XKXC=(____M)((*(__V4SB)).__TDN.__OSAB -  1);
+          if (((*(__V4SB)).__N0RB > __XKXC)) {
+            (*(__V4SB)).__N0RB= 1;
+            (*(__V4SB)).__Y0RB=(*(__V4SB)).__0JSB;
+          };
+          while ((__XKXC != (*(__V4SB)).__N0RB)) {
+            (*(__V4SB)).__Y0RB=(*(__V4SB)).__Y0RB->__KLSB;
+            (*(__V4SB)).__N0RB=(____M)((*(__V4SB)).__N0RB +  1);
+          };
+        };
+        (*(__V4SB)).__TDN.__OSAB=(____M)((*(__V4SB)).__TDN.__OSAB -  1);
+        (*(__V4SB)).__1MSB=(*(__V4SB)).__Y0RB;
+        ((____W0RB *)(*(__V4SB)).__1MSB)->__KLSB=NULL;
+      };
+    } else /* FALSE */ {
+      if (((____M)(__W4SB -  1) != (*(__V4SB)).__N0RB)) {
+        __XKXC=(____M)(__W4SB -  1);
+        if (((*(__V4SB)).__N0RB > __XKXC)) {
+          (*(__V4SB)).__N0RB= 1;
+          (*(__V4SB)).__Y0RB=(*(__V4SB)).__0JSB;
+        };
+        while ((__XKXC != (*(__V4SB)).__N0RB)) {
+          (*(__V4SB)).__Y0RB=(*(__V4SB)).__Y0RB->__KLSB;
+          (*(__V4SB)).__N0RB=(____M)((*(__V4SB)).__N0RB +  1);
+        };
+      };
+      ((____W0RB *)(*(__V4SB)).__Y0RB)->__KLSB=(*(__V4SB)).__Y0RB->__KLSB->__KLSB;
+      (*(__V4SB)).__TDN.__OSAB=(____M)((*(__V4SB)).__TDN.__OSAB -  1);
+    };
+  };
+}
+
+static void* __QBFC(____X0O *__RBFC,____M __SBFC)
+// ({__X0O},{__M}) With result No recursive, No inlinable.
+{
+  void *__TBFC;
+  if ((__SBFC != __RBFC->__C1O.__42DC)) {
+    if ((__RBFC->__C1O.__42DC > __SBFC)) {
+      __RBFC->__C1O.__42DC= 1;
+      __RBFC->__C1O.__A3DC=__RBFC->__C1O.__U2DC;
+    };
+    while ((__SBFC != __RBFC->__C1O.__42DC)) {
+      __RBFC->__C1O.__A3DC=__RBFC->__C1O.__A3DC->__0RFC;
+      __RBFC->__C1O.__42DC=(____M)(__RBFC->__C1O.__42DC +  1);
+    };
+  };
+  __TBFC=__RBFC->__C1O.__A3DC->__ECFC;
+  return(__TBFC);
+}
+
+static void __G1N(____YB *__H1N,void *__I1N)
+// ({__YB},{NULLx__Wx__YB}) Void No recursive, No inlinable.
+{
+  ____M __R1N,__T1N,__KKL,__YXM,__WQN;
+  ____EB __SLL;
+  ____5 *__C2N,*__P2N,*__VFO;
+  if (((struct ___OBJ *)__I1N)->__id==____W__) {
+    __R1N=((____W *)__I1N)->__AD;
+  } else /* STRING */ {
+    __R1N=((____YB *)__I1N)->__3RJ;
+  };
+  __T1N=(____M)(__H1N->__3RJ + __R1N);
+  if ((__H1N->__3SJ < __T1N)) {
+    if ((__H1N->__3SJ ==  0)) {
+      __H1N->__3SJ=__T1N;
+      __C2N=__N2K(__T1N);
+      __H1N->__GTJ=__C2N;
+    } else /* FALSE */ {
+      __C2N=((____5 *)__H1N->__GTJ);
+      __KKL=__H1N->__3SJ;
+      __SLL=__ZRE(((____EB )__C2N),((____RL )__KKL),((____RL )__T1N));
+      __C2N=((____5 *)__SLL);
+      __YXM=(____M)(__T1N -  1);
+      __WQN=__KKL;
+      while ((__WQN <= __YXM)) {
+        __C2N[__WQN]='\0';
+        __WQN=(____M)(__WQN +  1);
+      };
+      __H1N->__GTJ=__C2N;
+      __H1N->__3SJ=__T1N;
+    };
+  };
+  __C2N=__H1N->__GTJ;
+  if (((struct ___OBJ *)__I1N)->__id==____W__) {
+    __P2N=((____W *)__I1N)->__BD;
+  } else /* STRING */ {
+    __P2N=((____YB *)__I1N)->__GTJ;
+  };
+  __KKL=__H1N->__3RJ;
+  __VFO=((____5 *)__C2N);
+  __C2N=__P2N;
+  __YXM=__R1N;
+  __R1N= 0;
+  __WQN=__KKL;
+  while ((__R1N != __YXM)) {
+    __VFO[__WQN]=((____5 *)__C2N)[__R1N];
+    __R1N=(____M)(__R1N +  1);
+    __WQN=(____M)(__WQN +  1);
+  };
+  __H1N->__3RJ=__T1N;
+}
+
+static void* __TCFC(____ZSY *__UCFC,____M __VCFC)
+// ({__ZSY},{__M}) With result No recursive, No inlinable.
+{
+  void *__WCFC;
+  if ((__VCFC != __UCFC->__ETY.__L5DC)) {
+    if ((__UCFC->__ETY.__L5DC > __VCFC)) {
+      __UCFC->__ETY.__L5DC= 1;
+      __UCFC->__ETY.__N5DC=__UCFC->__ETY.__B5DC;
+    };
+    while ((__VCFC != __UCFC->__ETY.__L5DC)) {
+      __UCFC->__ETY.__N5DC=__UCFC->__ETY.__N5DC->__EUFC;
+      __UCFC->__ETY.__L5DC=(____M)(__UCFC->__ETY.__L5DC +  1);
+    };
+  };
+  __WCFC=__UCFC->__ETY.__N5DC->__HDFC;
+  return(__WCFC);
+}
+
+static ____H __RZ4(____IAN *__SZ4,____YB *__TZ4)
+// ({__IAN},{NULLx__YB}) With result No recursive, No inlinable.
+{
+  ____M __ZZ4,__SY5,__N3AB;
+  ____H __VZ4,__D04;
+  __VZ4=__K__;
+  __ZZ4=(*(__SZ4)).__SAN.__EDN;
+  __SY5= 1;
+  while ((__SY5 <= __ZZ4)) {
+    if ((__SY5 != (*(__SZ4)).__OG4)) {
+      __N3AB=__SY5;
+      if (((*(__SZ4)).__OG4 > __SY5)) {
+        (*(__SZ4)).__OG4= 1;
+        (*(__SZ4)).__1G4=(*(__SZ4)).__BH5;
+      };
+      while ((__N3AB != (*(__SZ4)).__OG4)) {
+        (*(__SZ4)).__1G4=(*(__SZ4)).__1G4->__RI5;
+        (*(__SZ4)).__OG4=(____M)((*(__SZ4)).__OG4 +  1);
+      };
+    };
+    __D04=__5TJ(((____YB *)((____JAN *)(*(__SZ4)).__1G4->__3G4)->__KAN->__XTY),__TZ4);
+    if (__D04) {
+      __VZ4=__G__;
+    };
+    __SY5=(____M)(__SY5 +  1);
+  };
+  __D04=__VZ4;
+  return(__D04);
+}
+
+static void* __BKGB(____4B *__CKGB,____5B *__DKGB,____5B *__EKGB,____PDN *__FKGB)
+// ({__4B},{NULLx__5B},{NULLx__5B},{NULLx__PDN}) With result Recursive, No inlinable.
+{
+  ____PDN *__2KXC,*__KKGB,*__LKGB,*__2KVC,*__QLWC,*__ULWC;
+  ____EB __3KXC,__5KXC,__ALXC,__BLXC,__XLXC,__ZLXC,__0LXC,__1LXC,__ANXC;
+  ____EB __BNXC;
+  ____M __4KXC,__ZKGB,__LLXC,__RLXC,__ULXC,__0MXC,__4MXC;
+  ____RL __CLXC,__2LXC,__CNXC;
+  ____YB *__HLGB,*__OLWC,*__SLYB,*__P3SB;
+  ____5B *__1LGB;
+  void *__UMGB;
+  ____H __MLGB,__VLGB,__DMGB,__XMGB;
+  ____W0RB *__WLXC,*__DMXC,*__2MXC,*__JNXC;
+  __2KXC=NULL;
+  __3KXC=((____EB )(NULL));
+  __4KXC= 0;
+  __5KXC=((____EB )sizeof(____PDN));
+  if (((unsigned long)__5KXC ==  0)) {
+    __2KXC=__PDN__;
+  } else /* FALSE */ {
+    __4KXC=____PDN__;
+    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5KXC));
+    if ((__4KXC == (____M)(-  1))) {
+      __ALXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __BLXC=(void *)((unsigned long)(void *)((unsigned long)__5KXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ALXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ALXC) - (unsigned long)((____EB ) 1)));
+      __CLXC=((____RL )((____M )(void *)((unsigned long)__BLXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __ALXC=__R4(__BLXC,((____EB )(&(table_size[(__CLXC)-1]))),((____RL )((____M )__BLXC)));
+      __3KXC=__ALXC;
+    } else /* FALSE */ {
+      __CLXC=((____RL )__4KXC);
+      __ALXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __BLXC=(void *)((unsigned long)(void *)((unsigned long)__5KXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ALXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ALXC) - (unsigned long)((____EB ) 1)));
+      __ALXC=__R4(__BLXC,((____EB )(&(table_type[(__CLXC)]))),(____RL)(__CLXC |  1));
+      __3KXC=__ALXC;
+    };
+    __2KXC=((____PDN *)__3KXC);
+    *(__2KXC) = *(__PDN__);
+  };
+  __KKGB=__2KXC;
+  __LKGB=((____5B *)__DKGB)->__WLEB;
+  __4KXC= 1;
+  while ((__4KXC <= (*(__LKGB)).__TDN.__OSAB)) {
+    __ZKGB= 1;
+    while ((__ZKGB <= (*(__CKGB)).__IC.__VBN)) {
+      __2KVC=((____PDN *)__LKGB);
+      if ((__4KXC != (*(__2KVC)).__N0RB)) {
+        __LLXC=__4KXC;
+        if (((*(__2KVC)).__N0RB > __4KXC)) {
+          (*(__2KVC)).__N0RB= 1;
+          (*(__2KVC)).__Y0RB=(*(__2KVC)).__0JSB;
+        };
+        while ((__LLXC != (*(__2KVC)).__N0RB)) {
+          (*(__2KVC)).__Y0RB=(*(__2KVC)).__Y0RB->__KLSB;
+          (*(__2KVC)).__N0RB=(____M)((*(__2KVC)).__N0RB +  1);
+        };
+      };
+      __HLGB=(*(__2KVC)).__Y0RB->__00RB;
+      if ((__ZKGB != (*(__CKGB)).__YBGB)) {
+        __LLXC=__ZKGB;
+        if (((*(__CKGB)).__YBGB > __ZKGB)) {
+          (*(__CKGB)).__YBGB= 1;
+          (*(__CKGB)).__DCGB=(*(__CKGB)).__KJJB;
+        };
+        while ((__LLXC != (*(__CKGB)).__YBGB)) {
+          (*(__CKGB)).__DCGB=(*(__CKGB)).__DCGB->__0JJB;
+          (*(__CKGB)).__YBGB=(____M)((*(__CKGB)).__YBGB +  1);
+        };
+      };
+      __MLGB=__5TJ(((____YB *)__HLGB),((____5B *)(*(__CKGB)).__DCGB->__FCGB)->__XTY);
+      if (__MLGB) {
+        if ((__ZKGB != (*(__CKGB)).__YBGB)) {
+          __RLXC=__ZKGB;
+          if (((*(__CKGB)).__YBGB > __ZKGB)) {
+            (*(__CKGB)).__YBGB= 1;
+            (*(__CKGB)).__DCGB=(*(__CKGB)).__KJJB;
+          };
+          while ((__RLXC != (*(__CKGB)).__YBGB)) {
+            (*(__CKGB)).__DCGB=(*(__CKGB)).__DCGB->__0JJB;
+            (*(__CKGB)).__YBGB=(____M)((*(__CKGB)).__YBGB +  1);
+          };
+        };
+        __VLGB=__CYRB(((____PDN *)__FKGB),((____5B *)(*(__CKGB)).__DCGB->__FCGB)->__XTY);
+        if (__VLGB) {
+          __ZKGB=(*(__CKGB)).__IC.__VBN;
+        } else /* FALSE */ {
+          if ((__ZKGB != (*(__CKGB)).__YBGB)) {
+            __ULXC=__ZKGB;
+            if (((*(__CKGB)).__YBGB > __ZKGB)) {
+              (*(__CKGB)).__YBGB= 1;
+              (*(__CKGB)).__DCGB=(*(__CKGB)).__KJJB;
+            };
+            while ((__ULXC != (*(__CKGB)).__YBGB)) {
+              (*(__CKGB)).__DCGB=(*(__CKGB)).__DCGB->__0JJB;
+              (*(__CKGB)).__YBGB=(____M)((*(__CKGB)).__YBGB +  1);
+            };
+          };
+          __1LGB=(*(__CKGB)).__DCGB->__FCGB;
+          __QLWC=((____PDN *)__FKGB);
+          __OLWC=((____5B *)__1LGB)->__XTY;
+          if (((void *)(*(__QLWC)).__0JSB == (void *)NULL)) {
+            __WLXC=NULL;
+            __XLXC=((____EB )(NULL));
+            __ULXC= 0;
+            __ZLXC=((____EB )sizeof(____W0RB));
+            if (((unsigned long)__ZLXC ==  0)) {
+              __WLXC=__W0RB__;
+            } else /* FALSE */ {
+              __ULXC=____W0RB__;
+              __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ZLXC));
+              if ((__ULXC == (____M)(-  1))) {
+                __0LXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __1LXC=(void *)((unsigned long)(void *)((unsigned long)__ZLXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__0LXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__0LXC) - (unsigned long)((____EB ) 1)));
+                __2LXC=((____RL )((____M )(void *)((unsigned long)__1LXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                __0LXC=__R4(__1LXC,((____EB )(&(table_size[(__2LXC)-1]))),((____RL )((____M )__1LXC)));
+                __XLXC=__0LXC;
+              } else /* FALSE */ {
+                __2LXC=((____RL )__ULXC);
+                __0LXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __1LXC=(void *)((unsigned long)(void *)((unsigned long)__ZLXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__0LXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__0LXC) - (unsigned long)((____EB ) 1)));
+                __0LXC=__R4(__1LXC,((____EB )(&(table_type[(__2LXC)]))),(____RL)(__2LXC |  1));
+                __XLXC=__0LXC;
+              };
+              __WLXC=((____W0RB *)__XLXC);
+              *(__WLXC) = *(__W0RB__);
+            };
+            __DMXC=((____W0RB *)__WLXC);
+            __DMXC->__00RB=__OLWC;
+            __DMXC->__KLSB=NULL;
+            (*(__QLWC)).__0JSB=__WLXC;
+            (*(__QLWC)).__TDN.__OSAB= 1;
+            (*(__QLWC)).__1MSB=(*(__QLWC)).__0JSB;
+            (*(__QLWC)).__N0RB= 1;
+            (*(__QLWC)).__Y0RB=(*(__QLWC)).__0JSB;
+          } else /* FALSE */ {
+            __WLXC=NULL;
+            __XLXC=((____EB )(NULL));
+            __ULXC= 0;
+            __ZLXC=((____EB )sizeof(____W0RB));
+            if (((unsigned long)__ZLXC ==  0)) {
+              __WLXC=__W0RB__;
+            } else /* FALSE */ {
+              __ULXC=____W0RB__;
+              __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ZLXC));
+              if ((__ULXC == (____M)(-  1))) {
+                __0LXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __1LXC=(void *)((unsigned long)(void *)((unsigned long)__ZLXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__0LXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__0LXC) - (unsigned long)((____EB ) 1)));
+                __2LXC=((____RL )((____M )(void *)((unsigned long)__1LXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                __0LXC=__R4(__1LXC,((____EB )(&(table_size[(__2LXC)-1]))),((____RL )((____M )__1LXC)));
+                __XLXC=__0LXC;
+              } else /* FALSE */ {
+                __2LXC=((____RL )__ULXC);
+                __0LXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                __1LXC=(void *)((unsigned long)(void *)((unsigned long)__ZLXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__0LXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__0LXC) - (unsigned long)((____EB ) 1)));
+                __0LXC=__R4(__1LXC,((____EB )(&(table_type[(__2LXC)]))),(____RL)(__2LXC |  1));
+                __XLXC=__0LXC;
+              };
+              __WLXC=((____W0RB *)__XLXC);
+              *(__WLXC) = *(__W0RB__);
+            };
+            __DMXC=((____W0RB *)__WLXC);
+            __DMXC->__00RB=__OLWC;
+            __DMXC->__KLSB=NULL;
+            ((____W0RB *)(*(__QLWC)).__1MSB)->__KLSB=__WLXC;
+            (*(__QLWC)).__TDN.__OSAB=(____M)((*(__QLWC)).__TDN.__OSAB +  1);
+            (*(__QLWC)).__1MSB=__WLXC;
+          };
+          if ((__ZKGB != (*(__CKGB)).__YBGB)) {
+            __ULXC=__ZKGB;
+            if (((*(__CKGB)).__YBGB > __ZKGB)) {
+              (*(__CKGB)).__YBGB= 1;
+              (*(__CKGB)).__DCGB=(*(__CKGB)).__KJJB;
+            };
+            while ((__ULXC != (*(__CKGB)).__YBGB)) {
+              (*(__CKGB)).__DCGB=(*(__CKGB)).__DCGB->__0JJB;
+              (*(__CKGB)).__YBGB=(____M)((*(__CKGB)).__YBGB +  1);
+            };
+          };
+          __DMGB=__5TJ(((____YB *)((____5B *)(*(__CKGB)).__DCGB->__FCGB)->__XTY),((____5B *)__EKGB)->__XTY);
+          if (__DMGB) {
+            __ZKGB=(____M)((*(__CKGB)).__IC.__VBN +  1);
+            __4KXC=(*(__LKGB)).__TDN.__OSAB;
+          } else /* FALSE */ {
+            if ((__ZKGB != (*(__CKGB)).__YBGB)) {
+              __0MXC=__ZKGB;
+              if (((*(__CKGB)).__YBGB > __ZKGB)) {
+                (*(__CKGB)).__YBGB= 1;
+                (*(__CKGB)).__DCGB=(*(__CKGB)).__KJJB;
+              };
+              while ((__0MXC != (*(__CKGB)).__YBGB)) {
+                (*(__CKGB)).__DCGB=(*(__CKGB)).__DCGB->__0JJB;
+                (*(__CKGB)).__YBGB=(____M)((*(__CKGB)).__YBGB +  1);
+              };
+            };
+            __UMGB=__BKGB(__CKGB,(*(__CKGB)).__DCGB->__FCGB,__EKGB,__FKGB);
+            __SLYB=(*(((____PDN *)__FKGB))).__1MSB->__00RB;
+            __XMGB=__5TJ(((____YB *)__SLYB),((____5B *)__EKGB)->__XTY);
+            if (__XMGB) {
+              __P3SB=(*(((____PDN *)__FKGB))).__0JSB->__00RB;
+              __ULWC=((____PDN *)__KKGB);
+              if (((void *)(*(__ULWC)).__0JSB == (void *)NULL)) {
+                __2MXC=NULL;
+                __0LXC=((____EB )(NULL));
+                __4MXC= 0;
+                __1LXC=((____EB )sizeof(____W0RB));
+                if (((unsigned long)__1LXC ==  0)) {
+                  __2MXC=__W0RB__;
+                } else /* FALSE */ {
+                  __4MXC=____W0RB__;
+                  __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__1LXC));
+                  if ((__4MXC == (____M)(-  1))) {
+                    __ANXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                    __BNXC=(void *)((unsigned long)(void *)((unsigned long)__1LXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ANXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ANXC) - (unsigned long)((____EB ) 1)));
+                    __CNXC=((____RL )((____M )(void *)((unsigned long)__BNXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                    __ANXC=__R4(__BNXC,((____EB )(&(table_size[(__CNXC)-1]))),((____RL )((____M )__BNXC)));
+                    __0LXC=__ANXC;
+                  } else /* FALSE */ {
+                    __CNXC=((____RL )__4MXC);
+                    __ANXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                    __BNXC=(void *)((unsigned long)(void *)((unsigned long)__1LXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ANXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ANXC) - (unsigned long)((____EB ) 1)));
+                    __ANXC=__R4(__BNXC,((____EB )(&(table_type[(__CNXC)]))),(____RL)(__CNXC |  1));
+                    __0LXC=__ANXC;
+                  };
+                  __2MXC=((____W0RB *)__0LXC);
+                  *(__2MXC) = *(__W0RB__);
+                };
+                __JNXC=((____W0RB *)__2MXC);
+                __JNXC->__00RB=__P3SB;
+                __JNXC->__KLSB=NULL;
+                (*(__ULWC)).__0JSB=__2MXC;
+                (*(__ULWC)).__TDN.__OSAB= 1;
+                (*(__ULWC)).__1MSB=(*(__ULWC)).__0JSB;
+                (*(__ULWC)).__N0RB= 1;
+                (*(__ULWC)).__Y0RB=(*(__ULWC)).__0JSB;
+              } else /* FALSE */ {
+                __2MXC=NULL;
+                __0LXC=((____EB )(NULL));
+                __4MXC= 0;
+                __1LXC=((____EB )sizeof(____W0RB));
+                if (((unsigned long)__1LXC ==  0)) {
+                  __2MXC=__W0RB__;
+                } else /* FALSE */ {
+                  __4MXC=____W0RB__;
+                  __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__1LXC));
+                  if ((__4MXC == (____M)(-  1))) {
+                    __ANXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                    __BNXC=(void *)((unsigned long)(void *)((unsigned long)__1LXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ANXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ANXC) - (unsigned long)((____EB ) 1)));
+                    __CNXC=((____RL )((____M )(void *)((unsigned long)__BNXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+                    __ANXC=__R4(__BNXC,((____EB )(&(table_size[(__CNXC)-1]))),((____RL )((____M )__BNXC)));
+                    __0LXC=__ANXC;
+                  } else /* FALSE */ {
+                    __CNXC=((____RL )__4MXC);
+                    __ANXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+                    __BNXC=(void *)((unsigned long)(void *)((unsigned long)__1LXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ANXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ANXC) - (unsigned long)((____EB ) 1)));
+                    __ANXC=__R4(__BNXC,((____EB )(&(table_type[(__CNXC)]))),(____RL)(__CNXC |  1));
+                    __0LXC=__ANXC;
+                  };
+                  __2MXC=((____W0RB *)__0LXC);
+                  *(__2MXC) = *(__W0RB__);
+                };
+                __JNXC=((____W0RB *)__2MXC);
+                __JNXC->__00RB=__P3SB;
+                __JNXC->__KLSB=NULL;
+                ((____W0RB *)(*(__ULWC)).__1MSB)->__KLSB=__2MXC;
+                (*(__ULWC)).__TDN.__OSAB=(____M)((*(__ULWC)).__TDN.__OSAB +  1);
+                (*(__ULWC)).__1MSB=__2MXC;
+              };
+              __ZKGB=(____M)((*(__CKGB)).__IC.__VBN +  1);
+              __4KXC=(*(__LKGB)).__TDN.__OSAB;
+            };
+          };
+        };
+      };
+      __ZKGB=(____M)(__ZKGB +  1);
+    };
+    __4KXC=(____M)(__4KXC +  1);
+  };
+  __UMGB=__2KXC;
+  return(__UMGB);
+}
+
+static ____H __CYRB(____PDN *__DYRB,____YB *__EYRB)
+// ({__PDN},{NULLx__YB}) With result No recursive, No inlinable.
+{
+  ____M __KYRB,__NNSB,__3NXC;
+  ____H __GYRB,__SYRB;
+  __GYRB=__K__;
+  __KYRB=(*(__DYRB)).__TDN.__OSAB;
+  __NNSB= 1;
+  while ((__NNSB <= __KYRB)) {
+    if ((__NNSB != (*(__DYRB)).__N0RB)) {
+      __3NXC=__NNSB;
+      if (((*(__DYRB)).__N0RB > __NNSB)) {
+        (*(__DYRB)).__N0RB= 1;
+        (*(__DYRB)).__Y0RB=(*(__DYRB)).__0JSB;
+      };
+      while ((__3NXC != (*(__DYRB)).__N0RB)) {
+        (*(__DYRB)).__Y0RB=(*(__DYRB)).__Y0RB->__KLSB;
+        (*(__DYRB)).__N0RB=(____M)((*(__DYRB)).__N0RB +  1);
+      };
+    };
+    __SYRB=__5TJ(((____YB *)(*(__DYRB)).__Y0RB->__00RB),__EYRB);
+    if (__SYRB) {
+      __GYRB=__G__;
+    };
+    __NNSB=(____M)(__NNSB +  1);
+  };
+  __SYRB=__GYRB;
+  return(__SYRB);
+}
+
+static void __34CB(____MC *__44CB,____JAN *__54CB,____IAN *__A5CB)
+// ({__MC},{NULLx__JAN},{NULLx__IAN}) Void Recursive, No inlinable.
+{
+  ____M __E5CB,__P4DB,__AOXC,__S5CB,__T5CB,__V5CB,__SCDB,__VCDB,__WCDB;
+  ____M __YCDB;
+  ____IAN *__2LVC;
+  ____JAN *__P5CB,*__LFRC,*__UFRC;
+  __E5CB=(*(__A5CB)).__SAN.__EDN;
+  __P4DB= 1;
+  while ((__P4DB <= __E5CB)) {
+    __2LVC=((____IAN *)__A5CB);
+    if ((__P4DB != (*(__2LVC)).__OG4)) {
+      __AOXC=__P4DB;
+      if (((*(__2LVC)).__OG4 > __P4DB)) {
+        (*(__2LVC)).__OG4= 1;
+        (*(__2LVC)).__1G4=(*(__2LVC)).__BH5;
+      };
+      while ((__AOXC != (*(__2LVC)).__OG4)) {
+        (*(__2LVC)).__1G4=(*(__2LVC)).__1G4->__RI5;
+        (*(__2LVC)).__OG4=(____M)((*(__2LVC)).__OG4 +  1);
+      };
+    };
+    __P5CB=(*(__2LVC)).__1G4->__3G4;
+    __AOXC=((____JAN *)__54CB)->__Z4CB;
+    __S5CB=(____M)(__AOXC + (____M)(((____JAN *)__54CB)->__HTY *  12));
+    __T5CB=((____JAN *)__P5CB)->__Z4CB;
+    __V5CB=(____M)(__T5CB + (____M)(((____JAN *)__P5CB)->__HTY *  12));
+    if ((((((__AOXC <= __T5CB) && (__S5CB >= __T5CB)) || ((__AOXC <= __V5CB) && (__S5CB >= __V5CB))) || ((__S5CB <= __V5CB) && (__AOXC >= __T5CB))) && ((void *)((____JAN *)__P5CB)->__KAN->__XTY != (void *)((____JAN *)__54CB)->__KAN->__XTY))) {
+      __SCDB=(____M)(((____JAN *)__54CB)->__Y4CB -  20);
+      __VCDB=(____M)((____M)(__SCDB + (____M)(((____JAN *)__54CB)->__JTY *  7)) +  40);
+      __WCDB=((____JAN *)__P5CB)->__Y4CB;
+      __YCDB=(____M)(__WCDB + (____M)(((____JAN *)__P5CB)->__JTY *  7));
+      if (((__SCDB <= __WCDB) && (__VCDB > __WCDB))) {
+        __LFRC=((____JAN *)__P5CB);
+        __LFRC->__Y4CB=(____M)(__LFRC->__Y4CB + (____M)(__VCDB - __WCDB));
+        __34CB(__44CB,__P5CB,__A5CB);
+      } else /* FALSE */ {
+        if (((__VCDB >= __YCDB) && (__SCDB < __YCDB))) {
+          if (((____M)(__WCDB + (____M)(__SCDB - __YCDB)) >=  0)) {
+            __UFRC=((____JAN *)__P5CB);
+            __UFRC->__Y4CB=(____M)(__UFRC->__Y4CB + (____M)(__SCDB - __YCDB));
+            __34CB(__44CB,__P5CB,__A5CB);
+          } else /* FALSE */ {
+            __UFRC=((____JAN *)__54CB);
+            __UFRC->__Y4CB=(____M)(__UFRC->__Y4CB + (____M)(__YCDB - __SCDB));
+            __34CB(__44CB,__54CB,__A5CB);
+          };
+        } else /* FALSE */ {
+          if (((__SCDB >= __WCDB) && (__VCDB <= __YCDB))) {
+            __UFRC=((____JAN *)__P5CB);
+            __UFRC->__Y4CB=(____M)(__UFRC->__Y4CB + (____M)(__VCDB - __WCDB));
+            __34CB(__44CB,__P5CB,__A5CB);
+          };
+        };
+      };
+    };
+    __P4DB=(____M)(__P4DB +  1);
+  };
+}
+
+static void __B0Y(____YB *__D0Y)
+// ({NULLx__YB}) Void No recursive, No inlinable.
+{
+  ____M __F0Y,__TLYC,__VLYC,__44DB,__DOXC,__1LYC,__2LYC,__4LYC,__5LYC;
+  ____M __RMYC,__TMYC,__UMYC,__HNYC,__INYC;
+  ____YB *__RLYC,*__COXC,*__EOXC;
+  ____5 *__SLYC,*__ULYC;
+  ____5 __U0Y,__5MYC;
+  ____H __N2Y,__25BB,__4MYC,__ANYC;
+  __F0Y= 0;
+  __RLYC=((____YB *)__D0Y);
+  __SLYC=__RLYC->__GTJ;
+  __TLYC=(____M)(__RLYC->__3RJ -  1);
+  __ULYC=((____5 *)__SLYC);
+  __VLYC=__TLYC;
+  while ((__VLYC >=  0)) {
+    if (('\\' == __ULYC[__VLYC])) {
+      __ULYC[__VLYC]='/';
+    };
+    __VLYC=(____M)(__VLYC -  1);
+  };
+  __TLYC= 1;
+  while ((__TLYC <= ((____YB *)__D0Y)->__3RJ)) {
+    __U0Y=((____5 *)((____YB *)__D0Y)->__GTJ)[(____M)(__TLYC -  1)];
+    if ((__U0Y == '/')) {
+      __44DB=__F0Y;
+      if ((__F0Y ==  0)) {
+        __F0Y= 1;
+      };
+      if ((__44DB ==  1)) {
+        __COXC=((____YB *)__D0Y);
+        __DOXC=(____M)(__TLYC -  1);
+        if ((__DOXC > __COXC->__3RJ)) {
+          __COXC->__3RJ= 0;
+        } else /* FALSE */ {
+          if ((__DOXC >  0)) {
+            __1LYC=(____M)((____M)(__DOXC -  1) +  1);
+            if ((__1LYC >  0)) {
+              __2LYC=(____M)(__DOXC +  1);
+              __4LYC=__COXC->__3RJ;
+              __5LYC=__2LYC;
+              while ((__5LYC <= __4LYC)) {
+                ((____5 *)__COXC->__GTJ)[(____M)((____M)(__5LYC - __1LYC) -  1)]=((____5 *)__COXC->__GTJ)[(____M)(__5LYC -  1)];
+                __5LYC=(____M)(__5LYC +  1);
+              };
+              __COXC->__3RJ=(____M)(__COXC->__3RJ - __1LYC);
+            };
+          };
+        };
+        __TLYC= 1;
+      };
+      if ((__44DB ==  2)) {
+        __COXC=((____YB *)__D0Y);
+        __DOXC=(____M)((____M)(__TLYC - (____M)(__TLYC -  1)) +  1);
+        if ((__DOXC >  0)) {
+          __1LYC=(____M)(__TLYC +  1);
+          __2LYC=__COXC->__3RJ;
+          __4LYC=__1LYC;
+          while ((__4LYC <= __2LYC)) {
+            ((____5 *)__COXC->__GTJ)[(____M)((____M)(__4LYC - __DOXC) -  1)]=((____5 *)__COXC->__GTJ)[(____M)(__4LYC -  1)];
+            __4LYC=(____M)(__4LYC +  1);
+          };
+          __COXC->__3RJ=(____M)(__COXC->__3RJ - __DOXC);
+        };
+        __TLYC=(____M)(__TLYC -  2);
+        __F0Y= 1;
+      };
+      if ((__44DB ==  3)) {
+        __COXC=((____YB *)__D0Y);
+        __DOXC=(____M)(__TLYC -  4);
+        while ((! ((__DOXC <  1) || ('/' == ((____5 *)__COXC->__GTJ)[(____M)(__DOXC -  1)])))) {
+          __DOXC=(____M)(__DOXC -  1);
+        };
+        if ((__DOXC ==  0)) {
+          __EOXC=((____YB *)__D0Y);
+          __1LYC=(____M)(__TLYC -  1);
+          if ((__1LYC > __EOXC->__3RJ)) {
+            __EOXC->__3RJ= 0;
+          } else /* FALSE */ {
+            if ((__1LYC >  0)) {
+              __5LYC=(____M)((____M)(__1LYC -  1) +  1);
+              if ((__5LYC >  0)) {
+                __RMYC=(____M)(__1LYC +  1);
+                __TMYC=__EOXC->__3RJ;
+                __UMYC=__RMYC;
+                while ((__UMYC <= __TMYC)) {
+                  ((____5 *)__EOXC->__GTJ)[(____M)((____M)(__UMYC - __5LYC) -  1)]=((____5 *)__EOXC->__GTJ)[(____M)(__UMYC -  1)];
+                  __UMYC=(____M)(__UMYC +  1);
+                };
+                __EOXC->__3RJ=(____M)(__EOXC->__3RJ - __5LYC);
+              };
+            };
+          };
+          __TLYC= 1;
+        } else /* FALSE */ {
+          __EOXC=((____YB *)__D0Y);
+          __1LYC=(____M)(__TLYC -  1);
+          __2LYC=(____M)((____M)(__1LYC - __DOXC) +  1);
+          if ((__2LYC >  0)) {
+            __5LYC=(____M)(__1LYC +  1);
+            __RMYC=__EOXC->__3RJ;
+            __TMYC=__5LYC;
+            while ((__TMYC <= __RMYC)) {
+              ((____5 *)__EOXC->__GTJ)[(____M)((____M)(__TMYC - __2LYC) -  1)]=((____5 *)__EOXC->__GTJ)[(____M)(__TMYC -  1)];
+              __TMYC=(____M)(__TMYC +  1);
+            };
+            __EOXC->__3RJ=(____M)(__EOXC->__3RJ - __2LYC);
+          };
+          __TLYC=__DOXC;
+        };
+        __F0Y= 1;
+      };
+      __N2Y=__G__;
+    } else /* FALSE */ {
+      __N2Y=__K__;
+    };
+    if (__N2Y) {
+      __N2Y=__G__;
+    } else /* FALSE */ {
+      __25BB=(__U0Y == '.');
+      if (__25BB) {
+        __DOXC=__F0Y;
+        if ((__F0Y ==  1)) {
+          __F0Y= 2;
+        };
+        if ((__DOXC ==  2)) {
+          __F0Y= 3;
+        };
+        if ((__DOXC ==  3)) {
+          __F0Y= 0;
+        };
+      };
+      __N2Y=__25BB;
+    };
+    if ((! __N2Y)) {
+      if (((__U0Y == ':') && (__TLYC >  2))) {
+        __5MYC=((____5 *)((____YB *)__D0Y)->__GTJ)[(____M)((____M)(__TLYC -  1) -  1)];
+        __4MYC=__K__;
+        if ((((____0V )__5MYC) >= ((____0V )'a'))) {
+          __4MYC=(((____0V )__5MYC) <= ((____0V )'z'));
+          __ANYC=__G__;
+        } else /* FALSE */ {
+          __ANYC=__K__;
+        };
+        if ((! __ANYC)) {
+          if ((((____0V )__5MYC) >= ((____0V )'A'))) {
+            __4MYC=(((____0V )__5MYC) <= ((____0V )'Z'));
+          };
+        };
+        __ANYC=__4MYC;
+      } else /* FALSE */ {
+        __ANYC=__K__;
+      };
+      if ((__ANYC && (((____5 *)((____YB *)__D0Y)->__GTJ)[(____M)((____M)(__TLYC -  2) -  1)] == '/'))) {
+        __COXC=((____YB *)__D0Y);
+        __DOXC=(____M)(__TLYC -  2);
+        if ((__DOXC > __COXC->__3RJ)) {
+          __COXC->__3RJ= 0;
+        } else /* FALSE */ {
+          if ((__DOXC >  0)) {
+            __5LYC=(____M)((____M)(__DOXC -  1) +  1);
+            if ((__5LYC >  0)) {
+              __UMYC=(____M)(__DOXC +  1);
+              __HNYC=__COXC->__3RJ;
+              __INYC=__UMYC;
+              while ((__INYC <= __HNYC)) {
+                ((____5 *)__COXC->__GTJ)[(____M)((____M)(__INYC - __5LYC) -  1)]=((____5 *)__COXC->__GTJ)[(____M)(__INYC -  1)];
+                __INYC=(____M)(__INYC +  1);
+              };
+              __COXC->__3RJ=(____M)(__COXC->__3RJ - __5LYC);
+            };
+          };
+        };
+        __TLYC= 1;
+      } else /* FALSE */ {
+        __F0Y= 0;
+      };
+    };
+    __TLYC=(____M)(__TLYC +  1);
+  };
+  if ((__F0Y ==  1)) {
+    __COXC=((____YB *)__D0Y);
+    if (( 1 > __COXC->__3RJ)) {
+      __COXC->__3RJ= 0;
+    } else /* FALSE */ {
+      __COXC->__3RJ=(____M)(__COXC->__3RJ -  1);
+    };
+  };
+  if ((__F0Y ==  2)) {
+    __COXC=((____YB *)__D0Y);
+    if (( 2 > __COXC->__3RJ)) {
+      __COXC->__3RJ= 0;
+    } else /* FALSE */ {
+      __COXC->__3RJ=(____M)(__COXC->__3RJ -  2);
+    };
+  };
+  if ((__F0Y ==  3)) {
+    __COXC=((____YB *)__D0Y);
+    __44DB=(____M)(__TLYC -  4);
+    while ((! ((__44DB <  1) || ('/' == ((____5 *)__COXC->__GTJ)[(____M)(__44DB -  1)])))) {
+      __44DB=(____M)(__44DB -  1);
+    };
+    if ((__44DB ==  0)) {
+      ((____YB *)__D0Y)->__3RJ= 0;
+    } else /* FALSE */ {
+      __EOXC=((____YB *)__D0Y);
+      __DOXC=(____M)(__TLYC -  1);
+      __1LYC=(____M)((____M)(__DOXC - __44DB) +  1);
+      if ((__1LYC >  0)) {
+        __2LYC=(____M)(__DOXC +  1);
+        __4LYC=__EOXC->__3RJ;
+        __5LYC=__2LYC;
+        while ((__5LYC <= __4LYC)) {
+          ((____5 *)__EOXC->__GTJ)[(____M)((____M)(__5LYC - __1LYC) -  1)]=((____5 *)__EOXC->__GTJ)[(____M)(__5LYC -  1)];
+          __5LYC=(____M)(__5LYC +  1);
+        };
+        __EOXC->__3RJ=(____M)(__EOXC->__3RJ - __1LYC);
+      };
+    };
+  };
+  if ((((____YB *)__D0Y)->__3RJ ==  0)) {
+    __G1K(((____YB *)__D0Y),'/');
+  };
+}
+
+static ____TTN* __0SP()
+// () With result No recursive, No inlinable.
+{
+  ____EB __V4Q,__14Q,__KMWC,__MMWC,__JOXC,__LOXC,__NOXC,__OOXC;
+  ____M __Z4Q,__5NZ,__ZBR,__2T2;
+  ____RL __NMWC;
+  ____OL *__TOXC;
+  ____TTN *__U4Q,*__HAR;
+  ____M *__CIV,*__YBR,*__4S1;
+  ____H __ABR;
+  __U4Q=NULL;
+  __V4Q=((____EB )(NULL));
+  __Z4Q= 0;
+  __14Q=((____EB )sizeof(____TTN));
+  if (((unsigned long)__14Q ==  0)) {
+    __U4Q=__TTN__;
+  } else /* FALSE */ {
+    __Z4Q=____TTN__;
+    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__14Q));
+    if ((__Z4Q == (____M)(-  1))) {
+      __KMWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __MMWC=(void *)((unsigned long)(void *)((unsigned long)__14Q - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__KMWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__KMWC) - (unsigned long)((____EB ) 1)));
+      __NMWC=((____RL )((____M )(void *)((unsigned long)__MMWC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __KMWC=__R4(__MMWC,((____EB )(&(table_size[(__NMWC)-1]))),((____RL )((____M )__MMWC)));
+      __V4Q=__KMWC;
+    } else /* FALSE */ {
+      __NMWC=((____RL )__Z4Q);
+      __KMWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __MMWC=(void *)((unsigned long)(void *)((unsigned long)__14Q - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__KMWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__KMWC) - (unsigned long)((____EB ) 1)));
+      __KMWC=__R4(__MMWC,((____EB )(&(table_type[(__NMWC)]))),(____RL)(__NMWC |  1));
+      __V4Q=__KMWC;
+    };
+    __U4Q=((____TTN *)__V4Q);
+    *(__U4Q) = *(__TTN__);
+  };
+  __HAR=((____TTN *)__U4Q);
+  if (( 2 > (*(__HAR)).__RAR)) {
+    __KMWC=((____EB )(____M)(sizeof(____M) <<  1));
+    __MMWC=((____EB )(NULL));
+    __JOXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+    __LOXC=(void *)((unsigned long)(void *)((unsigned long)__KMWC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__JOXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__JOXC) - (unsigned long)((____EB ) 1)));
+    __KMWC=(void *)((unsigned long)__LOXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+    if ((__KMWC <= ((____EB )(MINIMUM_SIZE)))) {
+      __NOXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __OOXC=(void *)((unsigned long)(void *)((unsigned long)__KMWC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NOXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NOXC) - (unsigned long)((____EB ) 1)));
+      __NMWC=((____RL )((____M )(void *)((unsigned long)__OOXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __NOXC=__R4(__OOXC,((____EB )(&(table_size[(__NMWC)-1]))),((____RL )((____M )__OOXC)));
+      ((____EB *)__NOXC)[ 0]=((____EB ) 3);
+      __MMWC=(void *)((unsigned long)__NOXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+    } else /* FALSE */ {
+      __TOXC=__CFF(__LOXC);
+      __MMWC=(void *)((unsigned long)((____EB )((____OL *)__TOXC)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8)));
+    };
+    __CIV=((____M *)__MMWC);
+    __5NZ= 1;
+    while ((__5NZ >=  0)) {
+      __CIV[__5NZ]= 0;
+      __5NZ=(____M)(__5NZ -  1);
+    };
+    (*(__HAR)).__4AR=__CIV;
+    (*(__HAR)).__RAR= 2;
+    __ABR=__G__;
+  } else /* FALSE */ {
+    __ABR=__K__;
+  };
+  if ((! __ABR)) {
+    if ((((*(__HAR)).__RAR >  0) && ((*(__HAR)).__MBR >=  0))) {
+      __YBR=(*(__HAR)).__4AR;
+      __ZBR=(*(__HAR)).__MBR;
+      __4S1=((____M *)__YBR);
+      __2T2= 0;
+      while ((__2T2 <= __ZBR)) {
+        __4S1[__2T2]= 0;
+        __2T2=(____M)(__2T2 +  1);
+      };
+    };
+  };
+  (*(__HAR)).__MBR= 1;
+  __HAR=__U4Q;
+  return(__HAR);
+}
+
+static void __S2N(____M __T2N,____YB *__U2N)
+// ({__M},{NULLx__YB}) Void No recursive, No inlinable.
+{
+  ____S __V2N,__WZQ;
+  ____M __ZZQ,__0ZQ;
+  ____YB *__QX1;
+  ____5 __GY1;
+  __V2N=((____S )__T2N);
+  __WZQ= 0;
+  __ZZQ= 0;
+  __0ZQ= 0;
+  if ((__V2N ==  0)) {
+    __G1K(((____YB *)__U2N),'0');
+  } else /* FALSE */ {
+    if ((__V2N >  0)) {
+      __WZQ=__V2N;
+    } else /* FALSE */ {
+      __WZQ=(____S)(- __V2N);
+      __G1K(((____YB *)__U2N),'-');
+    };
+    __ZZQ=(____M)(((____YB *)__U2N)->__3RJ +  1);
+    while ((__WZQ !=  0)) {
+      __G1K(((____YB *)__U2N),((____5 )(((____0V)(((____0V )(____S)(__WZQ %  10)) + ((____0V )'0'))))));
+      __WZQ=(____S)(__WZQ /  10);
+    };
+    __0ZQ=((____YB *)__U2N)->__3RJ;
+    while ((__ZZQ < __0ZQ)) {
+      __QX1=((____YB *)__U2N);
+      __GY1=((____5 *)__QX1->__GTJ)[(____M)(__ZZQ -  1)];
+      ((____5 *)__QX1->__GTJ)[(____M)(__ZZQ -  1)]=((____5 *)__QX1->__GTJ)[(____M)(__0ZQ -  1)];
+      ((____5 *)__QX1->__GTJ)[(____M)(__0ZQ -  1)]=__GY1;
+      __0ZQ=(____M)(__0ZQ -  1);
+      __ZZQ=(____M)(__ZZQ +  1);
+    };
+  };
+}
+
+static void* __Q2O(____YB *__S2O,____M __T2O,____M __U2O,____M __V2O)
+// ({NULLx__YB},{__M},{__M},{__M}) With result No recursive, No inlinable.
+{
+  ____YB *__12O,*__XNYC,*__BNVC,*__4MVC;
+  ____M __Y2O,__Z2O,__02O,__J3O,__1MVC,__3MVC,__C3WC,__52WC;
+  void *__W2O;
+  ____5 *__A3WC,*__B3WC;
+  __12O=__OR( 256);
+  __Y2O= 1;
+  __Z2O= 1;
+  __02O=__U2O;
+  __XWL(((____YB *)__12O),(&__string_10));
+  __XNYC=((____YB *)__S2O);
+  while ((! ((__XNYC->__3RJ ==  0) || (((____5 *)__XNYC->__GTJ)[(____M)(__XNYC->__3RJ -  1)] != ' ')))) {
+    __XNYC->__3RJ=(____M)(__XNYC->__3RJ -  1);
+  };
+  __3AP(((____YB *)__S2O));
+  if ((((____YB *)__S2O)->__3RJ !=  0)) {
+    __CZS:
+    {
+      __J3O=__AEV(((____YB *)__S2O),(&__string_4),(____M)(__Z2O +  1));
+      __Z2O=__J3O;
+      if ((__J3O !=  0)) {
+        __G1N(((____YB *)__12O),(&__string_49));
+        __S2N(__T2O,__12O);
+        __G1N(((____YB *)__12O),(&__string_25));
+        __S2N(__02O,__12O);
+        __G1N(((____YB *)__12O),(&__string_50));
+        __S2N(__V2O,__12O);
+        __G1N(((____YB *)__12O),(&__string_51));
+        __BNVC=((____YB *)__S2O);
+        __1MVC=(____M)(__J3O -  1);
+        __3MVC=(____M)((____M)(__1MVC - __Y2O) +  1);
+        __4MVC=__OR(__3MVC);
+        ((____YB *)__4MVC)->__3RJ=__3MVC;
+        __A3WC=((____5 *)__4MVC->__GTJ);
+        __B3WC=__BNVC->__GTJ;
+        __3MVC=(____M)(__Y2O -  1);
+        __C3WC=(____M)(__1MVC -  1);
+        __1MVC= 0;
+        __52WC=__3MVC;
+        while ((__52WC <= __C3WC)) {
+          __A3WC[__1MVC]=((____5 *)__B3WC)[__52WC];
+          __52WC=(____M)(__52WC +  1);
+          __1MVC=(____M)(__1MVC +  1);
+        };
+        __G1N(((____YB *)__12O),__4MVC);
+        __G1N(((____YB *)__12O),(&__string_52));
+        __02O=(____M)(__02O +  12);
+        __Y2O=(____M)(__J3O +  1);
+        goto __CZS;
+      };
+    };
+  };
+  __W2O=__12O;
+  return(__W2O);
+}
+
+static void __LH4(____IAN *__MH4,____IAN *__NH4)
+// ({__IAN},{NULLx__IAN}) Void No recursive, No inlinable.
+{
+  ____M __LH5,__NMCB,__WOXC,__ZPXC;
+  ____IAN *__DNVC,*__GNVC;
+  ____JAN *__RH5,*__II5;
+  ____EB __ZOXC,__1OXC,__2OXC,__3OXC,__5PXC,__AQXC;
+  ____RL __4OXC,__BQXC;
+  ____XG4 *__AH5,*__YOXC,*__FPXC,*__1PXC,*__IQXC;
+  ____H __DJ5;
+  __AH5=NULL;
+  if (((void *)(*(__MH4)).__BH5 == (void *)NULL)) {
+    __LH5=(*(__NH4)).__SAN.__EDN;
+    __NMCB= 1;
+    while ((__NMCB <= __LH5)) {
+      __DNVC=((____IAN *)__NH4);
+      if ((__NMCB != (*(__DNVC)).__OG4)) {
+        __WOXC=__NMCB;
+        if (((*(__DNVC)).__OG4 > __NMCB)) {
+          (*(__DNVC)).__OG4= 1;
+          (*(__DNVC)).__1G4=(*(__DNVC)).__BH5;
+        };
+        while ((__WOXC != (*(__DNVC)).__OG4)) {
+          (*(__DNVC)).__1G4=(*(__DNVC)).__1G4->__RI5;
+          (*(__DNVC)).__OG4=(____M)((*(__DNVC)).__OG4 +  1);
+        };
+      };
+      __RH5=(*(__DNVC)).__1G4->__3G4;
+      if (((void *)(*(__MH4)).__BH5 == (void *)NULL)) {
+        __YOXC=NULL;
+        __ZOXC=((____EB )(NULL));
+        __WOXC= 0;
+        __1OXC=((____EB )sizeof(____XG4));
+        if (((unsigned long)__1OXC ==  0)) {
+          __YOXC=__XG4__;
+        } else /* FALSE */ {
+          __WOXC=____XG4__;
+          __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__1OXC));
+          if ((__WOXC == (____M)(-  1))) {
+            __2OXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+            __3OXC=(void *)((unsigned long)(void *)((unsigned long)__1OXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__2OXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__2OXC) - (unsigned long)((____EB ) 1)));
+            __4OXC=((____RL )((____M )(void *)((unsigned long)__3OXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+            __2OXC=__R4(__3OXC,((____EB )(&(table_size[(__4OXC)-1]))),((____RL )((____M )__3OXC)));
+            __ZOXC=__2OXC;
+          } else /* FALSE */ {
+            __4OXC=((____RL )__WOXC);
+            __2OXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+            __3OXC=(void *)((unsigned long)(void *)((unsigned long)__1OXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__2OXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__2OXC) - (unsigned long)((____EB ) 1)));
+            __2OXC=__R4(__3OXC,((____EB )(&(table_type[(__4OXC)]))),(____RL)(__4OXC |  1));
+            __ZOXC=__2OXC;
+          };
+          __YOXC=((____XG4 *)__ZOXC);
+          *(__YOXC) = *(__XG4__);
+        };
+        __FPXC=((____XG4 *)__YOXC);
+        __FPXC->__3G4=__RH5;
+        __FPXC->__RI5=NULL;
+        (*(__MH4)).__BH5=__YOXC;
+        (*(__MH4)).__SAN.__EDN= 1;
+        (*(__MH4)).__CK5=(*(__MH4)).__BH5;
+        (*(__MH4)).__OG4= 1;
+        (*(__MH4)).__1G4=(*(__MH4)).__BH5;
+      } else /* FALSE */ {
+        __YOXC=NULL;
+        __ZOXC=((____EB )(NULL));
+        __WOXC= 0;
+        __1OXC=((____EB )sizeof(____XG4));
+        if (((unsigned long)__1OXC ==  0)) {
+          __YOXC=__XG4__;
+        } else /* FALSE */ {
+          __WOXC=____XG4__;
+          __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__1OXC));
+          if ((__WOXC == (____M)(-  1))) {
+            __2OXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+            __3OXC=(void *)((unsigned long)(void *)((unsigned long)__1OXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__2OXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__2OXC) - (unsigned long)((____EB ) 1)));
+            __4OXC=((____RL )((____M )(void *)((unsigned long)__3OXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+            __2OXC=__R4(__3OXC,((____EB )(&(table_size[(__4OXC)-1]))),((____RL )((____M )__3OXC)));
+            __ZOXC=__2OXC;
+          } else /* FALSE */ {
+            __4OXC=((____RL )__WOXC);
+            __2OXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+            __3OXC=(void *)((unsigned long)(void *)((unsigned long)__1OXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__2OXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__2OXC) - (unsigned long)((____EB ) 1)));
+            __2OXC=__R4(__3OXC,((____EB )(&(table_type[(__4OXC)]))),(____RL)(__4OXC |  1));
+            __ZOXC=__2OXC;
+          };
+          __YOXC=((____XG4 *)__ZOXC);
+          *(__YOXC) = *(__XG4__);
+        };
+        __FPXC=((____XG4 *)__YOXC);
+        __FPXC->__3G4=__RH5;
+        __FPXC->__RI5=NULL;
+        ((____XG4 *)(*(__MH4)).__CK5)->__RI5=__YOXC;
+        (*(__MH4)).__SAN.__EDN=(____M)((*(__MH4)).__SAN.__EDN +  1);
+        (*(__MH4)).__CK5=__YOXC;
+      };
+      __NMCB=(____M)(__NMCB +  1);
+    };
+  } else /* FALSE */ {
+    __AH5=(*(__MH4)).__BH5;
+    __LH5=(*(__NH4)).__SAN.__EDN;
+    __NMCB= 1;
+    while ((__NMCB <= __LH5)) {
+      if (((void *)__AH5 == (void *)NULL)) {
+        __GNVC=((____IAN *)__NH4);
+        if ((__NMCB != (*(__GNVC)).__OG4)) {
+          __ZPXC=__NMCB;
+          if (((*(__GNVC)).__OG4 > __NMCB)) {
+            (*(__GNVC)).__OG4= 1;
+            (*(__GNVC)).__1G4=(*(__GNVC)).__BH5;
+          };
+          while ((__ZPXC != (*(__GNVC)).__OG4)) {
+            (*(__GNVC)).__1G4=(*(__GNVC)).__1G4->__RI5;
+            (*(__GNVC)).__OG4=(____M)((*(__GNVC)).__OG4 +  1);
+          };
+        };
+        __II5=(*(__GNVC)).__1G4->__3G4;
+        if (((void *)(*(__MH4)).__BH5 == (void *)NULL)) {
+          __1PXC=NULL;
+          __2OXC=((____EB )(NULL));
+          __ZPXC= 0;
+          __3OXC=((____EB )sizeof(____XG4));
+          if (((unsigned long)__3OXC ==  0)) {
+            __1PXC=__XG4__;
+          } else /* FALSE */ {
+            __ZPXC=____XG4__;
+            __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3OXC));
+            if ((__ZPXC == (____M)(-  1))) {
+              __5PXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __AQXC=(void *)((unsigned long)(void *)((unsigned long)__3OXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5PXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5PXC) - (unsigned long)((____EB ) 1)));
+              __BQXC=((____RL )((____M )(void *)((unsigned long)__AQXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+              __5PXC=__R4(__AQXC,((____EB )(&(table_size[(__BQXC)-1]))),((____RL )((____M )__AQXC)));
+              __2OXC=__5PXC;
+            } else /* FALSE */ {
+              __BQXC=((____RL )__ZPXC);
+              __5PXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __AQXC=(void *)((unsigned long)(void *)((unsigned long)__3OXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5PXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5PXC) - (unsigned long)((____EB ) 1)));
+              __5PXC=__R4(__AQXC,((____EB )(&(table_type[(__BQXC)]))),(____RL)(__BQXC |  1));
+              __2OXC=__5PXC;
+            };
+            __1PXC=((____XG4 *)__2OXC);
+            *(__1PXC) = *(__XG4__);
+          };
+          __IQXC=((____XG4 *)__1PXC);
+          __IQXC->__3G4=__II5;
+          __IQXC->__RI5=NULL;
+          (*(__MH4)).__BH5=__1PXC;
+          (*(__MH4)).__SAN.__EDN= 1;
+          (*(__MH4)).__CK5=(*(__MH4)).__BH5;
+          (*(__MH4)).__OG4= 1;
+          (*(__MH4)).__1G4=(*(__MH4)).__BH5;
+        } else /* FALSE */ {
+          __1PXC=NULL;
+          __2OXC=((____EB )(NULL));
+          __ZPXC= 0;
+          __3OXC=((____EB )sizeof(____XG4));
+          if (((unsigned long)__3OXC ==  0)) {
+            __1PXC=__XG4__;
+          } else /* FALSE */ {
+            __ZPXC=____XG4__;
+            __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3OXC));
+            if ((__ZPXC == (____M)(-  1))) {
+              __5PXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __AQXC=(void *)((unsigned long)(void *)((unsigned long)__3OXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5PXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5PXC) - (unsigned long)((____EB ) 1)));
+              __BQXC=((____RL )((____M )(void *)((unsigned long)__AQXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+              __5PXC=__R4(__AQXC,((____EB )(&(table_size[(__BQXC)-1]))),((____RL )((____M )__AQXC)));
+              __2OXC=__5PXC;
+            } else /* FALSE */ {
+              __BQXC=((____RL )__ZPXC);
+              __5PXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __AQXC=(void *)((unsigned long)(void *)((unsigned long)__3OXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5PXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5PXC) - (unsigned long)((____EB ) 1)));
+              __5PXC=__R4(__AQXC,((____EB )(&(table_type[(__BQXC)]))),(____RL)(__BQXC |  1));
+              __2OXC=__5PXC;
+            };
+            __1PXC=((____XG4 *)__2OXC);
+            *(__1PXC) = *(__XG4__);
+          };
+          __IQXC=((____XG4 *)__1PXC);
+          __IQXC->__3G4=__II5;
+          __IQXC->__RI5=NULL;
+          ((____XG4 *)(*(__MH4)).__CK5)->__RI5=__1PXC;
+          (*(__MH4)).__SAN.__EDN=(____M)((*(__MH4)).__SAN.__EDN +  1);
+          (*(__MH4)).__CK5=__1PXC;
+        };
+      } else /* FALSE */ {
+        __GNVC=((____IAN *)__NH4);
+        if ((__NMCB != (*(__GNVC)).__OG4)) {
+          __ZPXC=__NMCB;
+          if (((*(__GNVC)).__OG4 > __NMCB)) {
+            (*(__GNVC)).__OG4= 1;
+            (*(__GNVC)).__1G4=(*(__GNVC)).__BH5;
+          };
+          while ((__ZPXC != (*(__GNVC)).__OG4)) {
+            (*(__GNVC)).__1G4=(*(__GNVC)).__1G4->__RI5;
+            (*(__GNVC)).__OG4=(____M)((*(__GNVC)).__OG4 +  1);
+          };
+        };
+        ((____XG4 *)__AH5)->__3G4=(*(__GNVC)).__1G4->__3G4;
+        __AH5=__AH5->__RI5;
+      };
+      __NMCB=(____M)(__NMCB +  1);
+    };
+    if (((void *)__AH5 == (void *)(*(__MH4)).__BH5)) {
+      if (((void *)(*(__MH4)).__BH5 != (void *)NULL)) {
+        (*(__MH4)).__BH5=NULL;
+        (*(__MH4)).__OG4= 0;
+        (*(__MH4)).__1G4=NULL;
+        (*(__MH4)).__SAN.__EDN= 0;
+        (*(__MH4)).__CK5=NULL;
+      };
+      __DJ5=__G__;
+    } else /* FALSE */ {
+      __DJ5=__K__;
+    };
+    if ((! __DJ5)) {
+      if (((void *)__AH5 != (void *)NULL)) {
+        __WOXC=(*(((____IAN *)__NH4))).__SAN.__EDN;
+        if (((*(__MH4)).__OG4 != __WOXC)) {
+          if (((*(__MH4)).__OG4 > __WOXC)) {
+            (*(__MH4)).__OG4= 1;
+            (*(__MH4)).__1G4=(*(__MH4)).__BH5;
+          };
+          while ((__WOXC != (*(__MH4)).__OG4)) {
+            (*(__MH4)).__1G4=(*(__MH4)).__1G4->__RI5;
+            (*(__MH4)).__OG4=(____M)((*(__MH4)).__OG4 +  1);
+          };
+        };
+        ((____XG4 *)(*(__MH4)).__1G4)->__RI5=NULL;
+        (*(__MH4)).__SAN.__EDN=__WOXC;
+        (*(__MH4)).__CK5=(*(__MH4)).__1G4;
+      };
+    };
+  };
+}
+
+static void __AL5(____IAN *__BL5,____M __CL5)
+// ({__IAN},{__M}) Void No recursive, No inlinable.
+{
+  ____M __CRXC;
+  ____H __RL5;
+  if ((__CL5 ==  1)) {
+    if (((*(__BL5)).__SAN.__EDN ==  1)) {
+      (*(__BL5)).__BH5=NULL;
+      (*(__BL5)).__CK5=NULL;
+      (*(__BL5)).__1G4=NULL;
+      (*(__BL5)).__OG4= 0;
+      (*(__BL5)).__SAN.__EDN= 0;
+    } else /* FALSE */ {
+      (*(__BL5)).__BH5=(*(__BL5)).__BH5->__RI5;
+      if (((*(__BL5)).__OG4 ==  1)) {
+        (*(__BL5)).__1G4=(*(__BL5)).__BH5;
+      } else /* FALSE */ {
+        (*(__BL5)).__OG4=(____M)((*(__BL5)).__OG4 -  1);
+      };
+      (*(__BL5)).__SAN.__EDN=(____M)((*(__BL5)).__SAN.__EDN -  1);
+    };
+    __RL5=__G__;
+  } else /* FALSE */ {
+    __RL5=__K__;
+  };
+  if ((! __RL5)) {
+    if ((__CL5 == (*(__BL5)).__SAN.__EDN)) {
+      if (((*(__BL5)).__SAN.__EDN ==  1)) {
+        (*(__BL5)).__BH5=NULL;
+        (*(__BL5)).__CK5=NULL;
+        (*(__BL5)).__1G4=NULL;
+        (*(__BL5)).__OG4= 0;
+        (*(__BL5)).__SAN.__EDN= 0;
+      } else /* FALSE */ {
+        if (((____M)((*(__BL5)).__SAN.__EDN -  1) != (*(__BL5)).__OG4)) {
+          __CRXC=(____M)((*(__BL5)).__SAN.__EDN -  1);
+          if (((*(__BL5)).__OG4 > __CRXC)) {
+            (*(__BL5)).__OG4= 1;
+            (*(__BL5)).__1G4=(*(__BL5)).__BH5;
+          };
+          while ((__CRXC != (*(__BL5)).__OG4)) {
+            (*(__BL5)).__1G4=(*(__BL5)).__1G4->__RI5;
+            (*(__BL5)).__OG4=(____M)((*(__BL5)).__OG4 +  1);
+          };
+        };
+        (*(__BL5)).__SAN.__EDN=(____M)((*(__BL5)).__SAN.__EDN -  1);
+        (*(__BL5)).__CK5=(*(__BL5)).__1G4;
+        ((____XG4 *)(*(__BL5)).__CK5)->__RI5=NULL;
+      };
+    } else /* FALSE */ {
+      if (((____M)(__CL5 -  1) != (*(__BL5)).__OG4)) {
+        __CRXC=(____M)(__CL5 -  1);
+        if (((*(__BL5)).__OG4 > __CRXC)) {
+          (*(__BL5)).__OG4= 1;
+          (*(__BL5)).__1G4=(*(__BL5)).__BH5;
+        };
+        while ((__CRXC != (*(__BL5)).__OG4)) {
+          (*(__BL5)).__1G4=(*(__BL5)).__1G4->__RI5;
+          (*(__BL5)).__OG4=(____M)((*(__BL5)).__OG4 +  1);
+        };
+      };
+      ((____XG4 *)(*(__BL5)).__1G4)->__RI5=(*(__BL5)).__1G4->__RI5->__RI5;
+      (*(__BL5)).__SAN.__EDN=(____M)((*(__BL5)).__SAN.__EDN -  1);
+    };
+  };
+}
+
+static void* __GTP(____ZUN *__HTP,____IAN *__ITP,____M __JTP,____M __KTP,____M __LTP,____M __MTP)
+// ({__ZUN},{NULLx__IAN},{__M},{__M},{__M},{__M}) With result Recursive, No inlinable.
+{
+  ____EB __1M4,__BN4,__NNWC,__PNWC,__3NYC,__4NYC,__4NWC,__AOWC,__GPTC;
+  ____EB __4TD,__0TWC,__2TWC;
+  ____M __5M4,__1NYC,__WRXC,__ZRXC,__2RXC,__FSXC,__PSXC,__VSXC,__USYB;
+  ____M __BTYB,__YSXC,__Q1LB,__UPVC,__MOU,__EQU,__FQU,__WQVC;
+  ____RL __QNWC,__5NYC,__BOWC;
+  ____IAN *__HRXC,*__VTP,*__VH4,*__EPVC;
+  ____JAN *__KSXC,*__CM4,*__FSYB,*__MM4,*__3QVC;
+  ____OL *__XUD;
+  ____AX __KPGB,__UAKB,__SLV;
+  ____ELP *__0M4,*__OTP,*__NXFB,*__5UP;
+  ____TTN *__UTP,*__5NVC,*__4HU,*__HPVC,*__RPVC,*__CQVC,*__TQVC;
+  ____3WFB *__ZNYC,*__GOYC;
+  ____H __04JB;
+  ____THU *__SNY,*__UW4,*__1OWC;
+  ____AX *__L0CB,*__AY4,*__DAKB;
+  void *__NTP;
+  __0M4=NULL;
+  __1M4=((____EB )(NULL));
+  __5M4= 0;
+  __BN4=((____EB )sizeof(____ELP));
+  if (((unsigned long)__BN4 ==  0)) {
+    __0M4=__ELP__;
+  } else /* FALSE */ {
+    __5M4=____ELP__;
+    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BN4));
+    if ((__5M4 == (____M)(-  1))) {
+      __NNWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __PNWC=(void *)((unsigned long)(void *)((unsigned long)__BN4 - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NNWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NNWC) - (unsigned long)((____EB ) 1)));
+      __QNWC=((____RL )((____M )(void *)((unsigned long)__PNWC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __NNWC=__R4(__PNWC,((____EB )(&(table_size[(__QNWC)-1]))),((____RL )((____M )__PNWC)));
+      __1M4=__NNWC;
+    } else /* FALSE */ {
+      __QNWC=((____RL )__5M4);
+      __NNWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __PNWC=(void *)((unsigned long)(void *)((unsigned long)__BN4 - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NNWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NNWC) - (unsigned long)((____EB ) 1)));
+      __NNWC=__R4(__PNWC,((____EB )(&(table_type[(__QNWC)]))),(____RL)(__QNWC |  1));
+      __1M4=__NNWC;
+    };
+    __0M4=((____ELP *)__1M4);
+    *(__0M4) = *(__ELP__);
+  };
+  __OTP=__0M4;
+  __UTP=__0SP();
+  __5NVC=((____TTN *)__UTP);
+  ((____M *)(*(__5NVC)).__4AR)[ 0]=__JTP;
+  __5NVC=((____TTN *)__UTP);
+  ((____M *)(*(__5NVC)).__4AR)[ 1]=__KTP;
+  __NXFB=((____ELP *)__0M4);
+  if (((void *)__NXFB->__QXFB == (void *)NULL)) {
+    __ZNYC=NULL;
+    __NNWC=((____EB )(NULL));
+    __1NYC= 0;
+    __PNWC=((____EB )sizeof(____3WFB));
+    if (((unsigned long)__PNWC ==  0)) {
+      __ZNYC=__3WFB__;
+    } else /* FALSE */ {
+      __1NYC=____3WFB__;
+      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__PNWC));
+      if ((__1NYC == (____M)(-  1))) {
+        __3NYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __4NYC=(void *)((unsigned long)(void *)((unsigned long)__PNWC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3NYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3NYC) - (unsigned long)((____EB ) 1)));
+        __5NYC=((____RL )((____M )(void *)((unsigned long)__4NYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+        __3NYC=__R4(__4NYC,((____EB )(&(table_size[(__5NYC)-1]))),((____RL )((____M )__4NYC)));
+        __NNWC=__3NYC;
+      } else /* FALSE */ {
+        __5NYC=((____RL )__1NYC);
+        __3NYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __4NYC=(void *)((unsigned long)(void *)((unsigned long)__PNWC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3NYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3NYC) - (unsigned long)((____EB ) 1)));
+        __3NYC=__R4(__4NYC,((____EB )(&(table_type[(__5NYC)]))),(____RL)(__5NYC |  1));
+        __NNWC=__3NYC;
+      };
+      __ZNYC=((____3WFB *)__NNWC);
+      *(__ZNYC) = *(__3WFB__);
+    };
+    __GOYC=((____3WFB *)__ZNYC);
+    __GOYC->__BXFB=__UTP;
+    __GOYC->__LGJB=NULL;
+    __NXFB->__QXFB=__ZNYC;
+    __NXFB->__LLP.__KNP= 1;
+    __NXFB->__5WFB=__ZNYC;
+    __NXFB->__ZXFB= 1;
+    __NXFB->__1XFB=__ZNYC;
+  } else /* FALSE */ {
+    __ZNYC=NULL;
+    __NNWC=((____EB )(NULL));
+    __1NYC= 0;
+    __PNWC=((____EB )sizeof(____3WFB));
+    if (((unsigned long)__PNWC ==  0)) {
+      __ZNYC=__3WFB__;
+    } else /* FALSE */ {
+      __1NYC=____3WFB__;
+      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__PNWC));
+      if ((__1NYC == (____M)(-  1))) {
+        __3NYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __4NYC=(void *)((unsigned long)(void *)((unsigned long)__PNWC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3NYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3NYC) - (unsigned long)((____EB ) 1)));
+        __5NYC=((____RL )((____M )(void *)((unsigned long)__4NYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+        __3NYC=__R4(__4NYC,((____EB )(&(table_size[(__5NYC)-1]))),((____RL )((____M )__4NYC)));
+        __NNWC=__3NYC;
+      } else /* FALSE */ {
+        __5NYC=((____RL )__1NYC);
+        __3NYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __4NYC=(void *)((unsigned long)(void *)((unsigned long)__PNWC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3NYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3NYC) - (unsigned long)((____EB ) 1)));
+        __3NYC=__R4(__4NYC,((____EB )(&(table_type[(__5NYC)]))),(____RL)(__5NYC |  1));
+        __NNWC=__3NYC;
+      };
+      __ZNYC=((____3WFB *)__NNWC);
+      *(__ZNYC) = *(__3WFB__);
+    };
+    __GOYC=((____3WFB *)__ZNYC);
+    __GOYC->__BXFB=__UTP;
+    __GOYC->__LGJB=NULL;
+    ((____3WFB *)__NXFB->__5WFB)->__LGJB=__ZNYC;
+    __NXFB->__LLP.__KNP=(____M)(__NXFB->__LLP.__KNP +  1);
+    __NXFB->__5WFB=__ZNYC;
+  };
+  __HRXC=NULL;
+  __1M4=((____EB )(NULL));
+  __5M4= 0;
+  __BN4=((____EB )sizeof(____IAN));
+  if (((unsigned long)__BN4 ==  0)) {
+    __HRXC=__IAN__;
+  } else /* FALSE */ {
+    __5M4=____IAN__;
+    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BN4));
+    if ((__5M4 == (____M)(-  1))) {
+      __3NYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __4NYC=(void *)((unsigned long)(void *)((unsigned long)__BN4 - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3NYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3NYC) - (unsigned long)((____EB ) 1)));
+      __QNWC=((____RL )((____M )(void *)((unsigned long)__4NYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __3NYC=__R4(__4NYC,((____EB )(&(table_size[(__QNWC)-1]))),((____RL )((____M )__4NYC)));
+      __1M4=__3NYC;
+    } else /* FALSE */ {
+      __QNWC=((____RL )__5M4);
+      __3NYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __4NYC=(void *)((unsigned long)(void *)((unsigned long)__BN4 - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3NYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3NYC) - (unsigned long)((____EB ) 1)));
+      __3NYC=__R4(__4NYC,((____EB )(&(table_type[(__QNWC)]))),(____RL)(__QNWC |  1));
+      __1M4=__3NYC;
+    };
+    __HRXC=((____IAN *)__1M4);
+    *(__HRXC) = *(__IAN__);
+  };
+  __VTP=__HRXC;
+  __LH4(((____IAN *)__HRXC),__ITP);
+  __VH4=((____IAN *)__HRXC);
+  __5M4= 1;
+  while ((__5M4 <= (*(__VH4)).__SAN.__EDN)) {
+    if ((__5M4 != (*(__VH4)).__OG4)) {
+      __WRXC=__5M4;
+      if (((*(__VH4)).__OG4 > __5M4)) {
+        (*(__VH4)).__OG4= 1;
+        (*(__VH4)).__1G4=(*(__VH4)).__BH5;
+      };
+      while ((__WRXC != (*(__VH4)).__OG4)) {
+        (*(__VH4)).__1G4=(*(__VH4)).__1G4->__RI5;
+        (*(__VH4)).__OG4=(____M)((*(__VH4)).__OG4 +  1);
+      };
+    };
+    __WRXC=((____JAN *)(*(__VH4)).__1G4->__3G4)->__Z4CB;
+    if ((__5M4 != (*(__VH4)).__OG4)) {
+      __ZRXC=__5M4;
+      if (((*(__VH4)).__OG4 > __5M4)) {
+        (*(__VH4)).__OG4= 1;
+        (*(__VH4)).__1G4=(*(__VH4)).__BH5;
+      };
+      while ((__ZRXC != (*(__VH4)).__OG4)) {
+        (*(__VH4)).__1G4=(*(__VH4)).__1G4->__RI5;
+        (*(__VH4)).__OG4=(____M)((*(__VH4)).__OG4 +  1);
+      };
+    };
+    if ((__MTP >= (____M)(__WRXC + (____M)(((____JAN *)(*(__VH4)).__1G4->__3G4)->__HTY *  12)))) {
+      __04JB=__G__;
+    } else /* FALSE */ {
+      if ((__5M4 != (*(__VH4)).__OG4)) {
+        __2RXC=__5M4;
+        if (((*(__VH4)).__OG4 > __5M4)) {
+          (*(__VH4)).__OG4= 1;
+          (*(__VH4)).__1G4=(*(__VH4)).__BH5;
+        };
+        while ((__2RXC != (*(__VH4)).__OG4)) {
+          (*(__VH4)).__1G4=(*(__VH4)).__1G4->__RI5;
+          (*(__VH4)).__OG4=(____M)((*(__VH4)).__OG4 +  1);
+        };
+      };
+      __04JB=(__KTP <= ((____JAN *)(*(__VH4)).__1G4->__3G4)->__Z4CB);
+    };
+    if (__04JB) {
+      __04JB=__G__;
+    } else /* FALSE */ {
+      __ZRXC= 0;
+      if ((__LTP > __JTP)) {
+        __ZRXC=__LTP;
+      } else /* FALSE */ {
+        __ZRXC=__JTP;
+      };
+      if ((__5M4 != (*(__VH4)).__OG4)) {
+        __2RXC=__5M4;
+        if (((*(__VH4)).__OG4 > __5M4)) {
+          (*(__VH4)).__OG4= 1;
+          (*(__VH4)).__1G4=(*(__VH4)).__BH5;
+        };
+        while ((__2RXC != (*(__VH4)).__OG4)) {
+          (*(__VH4)).__1G4=(*(__VH4)).__1G4->__RI5;
+          (*(__VH4)).__OG4=(____M)((*(__VH4)).__OG4 +  1);
+        };
+      };
+      __04JB=(__ZRXC <= ((____JAN *)(*(__VH4)).__1G4->__3G4)->__Y4CB);
+    };
+    if (__04JB) {
+      __04JB=__G__;
+    } else /* FALSE */ {
+      __ZRXC= 0;
+      if ((__LTP > __JTP)) {
+        __ZRXC=__JTP;
+      } else /* FALSE */ {
+        __ZRXC=__LTP;
+      };
+      if ((__5M4 != (*(__VH4)).__OG4)) {
+        __2RXC=__5M4;
+        if (((*(__VH4)).__OG4 > __5M4)) {
+          (*(__VH4)).__OG4= 1;
+          (*(__VH4)).__1G4=(*(__VH4)).__BH5;
+        };
+        while ((__2RXC != (*(__VH4)).__OG4)) {
+          (*(__VH4)).__1G4=(*(__VH4)).__1G4->__RI5;
+          (*(__VH4)).__OG4=(____M)((*(__VH4)).__OG4 +  1);
+        };
+      };
+      __2RXC=((____JAN *)(*(__VH4)).__1G4->__3G4)->__Y4CB;
+      if ((__5M4 != (*(__VH4)).__OG4)) {
+        __FSXC=__5M4;
+        if (((*(__VH4)).__OG4 > __5M4)) {
+          (*(__VH4)).__OG4= 1;
+          (*(__VH4)).__1G4=(*(__VH4)).__BH5;
+        };
+        while ((__FSXC != (*(__VH4)).__OG4)) {
+          (*(__VH4)).__1G4=(*(__VH4)).__1G4->__RI5;
+          (*(__VH4)).__OG4=(____M)((*(__VH4)).__OG4 +  1);
+        };
+      };
+      __04JB=(__ZRXC >= (____M)(__2RXC + (____M)(((____JAN *)(*(__VH4)).__1G4->__3G4)->__JTY *  7)));
+    };
+    if (__04JB) {
+      __AL5(__VH4,__5M4);
+    } else /* FALSE */ {
+      __5M4=(____M)(__5M4 +  1);
+    };
+  };
+  __VH4=((____IAN *)__HRXC);
+  __5M4= 0;
+  __1NYC= 0;
+  __WRXC= 0;
+  __ZRXC=(*(__VH4)).__SAN.__EDN;
+  if ((__ZRXC !=  0)) {
+    __1NYC= 1;
+    if (( 1 != (*(__VH4)).__OG4)) {
+      if (((*(__VH4)).__OG4 >  1)) {
+        (*(__VH4)).__OG4= 1;
+        (*(__VH4)).__1G4=(*(__VH4)).__BH5;
+      };
+      while (( 1 != (*(__VH4)).__OG4)) {
+        (*(__VH4)).__1G4=(*(__VH4)).__1G4->__RI5;
+        (*(__VH4)).__OG4=(____M)((*(__VH4)).__OG4 +  1);
+      };
+    };
+    __KSXC=((____JAN *)(*(__VH4)).__1G4->__3G4);
+    __2RXC=(____M)(__KSXC->__Y4CB + (____M)(__KSXC->__JTY >>  1));
+    __FSXC=(____M)(__KSXC->__Z4CB + (____M)(__KSXC->__HTY >>  1));
+    __PSXC=(____M)((____M)((____M)(__JTP - __2RXC) * (____M)(__JTP - __2RXC)) + (____M)((____M)(__KTP - __FSXC) * (____M)(__KTP - __FSXC)));
+    __2RXC= 0;
+    __FSXC=(____M)((____M)(__PSXC +  1) >>  1);
+    while ((__FSXC > __2RXC)) {
+      __FSXC=(____M)(__FSXC - __2RXC);
+      __2RXC=(____M)(__2RXC +  1);
+    };
+    __5M4=__2RXC;
+    while ((__1NYC < (*(__VH4)).__SAN.__EDN)) {
+      __WRXC=(____M)(__1NYC +  1);
+      while ((__WRXC <= (*(__VH4)).__SAN.__EDN)) {
+        if ((__WRXC != (*(__VH4)).__OG4)) {
+          __VSXC=__WRXC;
+          if (((*(__VH4)).__OG4 > __WRXC)) {
+            (*(__VH4)).__OG4= 1;
+            (*(__VH4)).__1G4=(*(__VH4)).__BH5;
+          };
+          while ((__VSXC != (*(__VH4)).__OG4)) {
+            (*(__VH4)).__1G4=(*(__VH4)).__1G4->__RI5;
+            (*(__VH4)).__OG4=(____M)((*(__VH4)).__OG4 +  1);
+          };
+        };
+        __CM4=(*(__VH4)).__1G4->__3G4;
+        __FSYB=((____JAN *)__CM4);
+        __VSXC=(____M)(__FSYB->__Y4CB + (____M)(__FSYB->__JTY >>  1));
+        __USYB=(____M)(__FSYB->__Z4CB + (____M)(__FSYB->__HTY >>  1));
+        __BTYB=(____M)((____M)((____M)(__JTP - __VSXC) * (____M)(__JTP - __VSXC)) + (____M)((____M)(__KTP - __USYB) * (____M)(__KTP - __USYB)));
+        __VSXC= 0;
+        __USYB=(____M)((____M)(__BTYB +  1) >>  1);
+        while ((__USYB > __VSXC)) {
+          __USYB=(____M)(__USYB - __VSXC);
+          __VSXC=(____M)(__VSXC +  1);
+        };
+        if ((__VSXC < __5M4)) {
+          __5M4=__VSXC;
+          if ((__1NYC != (*(__VH4)).__OG4)) {
+            __YSXC=__1NYC;
+            if (((*(__VH4)).__OG4 > __1NYC)) {
+              (*(__VH4)).__OG4= 1;
+              (*(__VH4)).__1G4=(*(__VH4)).__BH5;
+            };
+            while ((__YSXC != (*(__VH4)).__OG4)) {
+              (*(__VH4)).__1G4=(*(__VH4)).__1G4->__RI5;
+              (*(__VH4)).__OG4=(____M)((*(__VH4)).__OG4 +  1);
+            };
+          };
+          __MM4=(*(__VH4)).__1G4->__3G4;
+          if ((__WRXC != (*(__VH4)).__OG4)) {
+            __YSXC=__WRXC;
+            if (((*(__VH4)).__OG4 > __WRXC)) {
+              (*(__VH4)).__OG4= 1;
+              (*(__VH4)).__1G4=(*(__VH4)).__BH5;
+            };
+            while ((__YSXC != (*(__VH4)).__OG4)) {
+              (*(__VH4)).__1G4=(*(__VH4)).__1G4->__RI5;
+              (*(__VH4)).__OG4=(____M)((*(__VH4)).__OG4 +  1);
+            };
+          };
+          ((____XG4 *)(*(__VH4)).__1G4)->__3G4=__MM4;
+          if ((__1NYC != (*(__VH4)).__OG4)) {
+            __YSXC=__1NYC;
+            if (((*(__VH4)).__OG4 > __1NYC)) {
+              (*(__VH4)).__OG4= 1;
+              (*(__VH4)).__1G4=(*(__VH4)).__BH5;
+            };
+            while ((__YSXC != (*(__VH4)).__OG4)) {
+              (*(__VH4)).__1G4=(*(__VH4)).__1G4->__RI5;
+              (*(__VH4)).__OG4=(____M)((*(__VH4)).__OG4 +  1);
+            };
+          };
+          ((____XG4 *)(*(__VH4)).__1G4)->__3G4=__CM4;
+        };
+        __WRXC=(____M)(__WRXC +  1);
+      };
+      __1NYC=(____M)(__1NYC +  1);
+    };
+  };
+  __5M4= 1;
+  while ((__5M4 <= (*(__VTP)).__SAN.__EDN)) {
+    __EPVC=((____IAN *)__VTP);
+    if ((__5M4 != (*(__EPVC)).__OG4)) {
+      __VSXC=__5M4;
+      if (((*(__EPVC)).__OG4 > __5M4)) {
+        (*(__EPVC)).__OG4= 1;
+        (*(__EPVC)).__1G4=(*(__EPVC)).__BH5;
+      };
+      while ((__VSXC != (*(__EPVC)).__OG4)) {
+        (*(__EPVC)).__1G4=(*(__EPVC)).__1G4->__RI5;
+        (*(__EPVC)).__OG4=(____M)((*(__EPVC)).__OG4 +  1);
+      };
+    };
+    __CM4=(*(__EPVC)).__1G4->__3G4;
+    __VSXC= 0;
+    __SNY=NULL;
+    __3NYC=((____EB )(NULL));
+    __USYB= 0;
+    __4NYC=((____EB )sizeof(____THU));
+    if (((unsigned long)__4NYC ==  0)) {
+      __SNY=__THU__;
+    } else /* FALSE */ {
+      __USYB=____THU__;
+      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__4NYC));
+      if ((__USYB == (____M)(-  1))) {
+        __4NWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __AOWC=(void *)((unsigned long)(void *)((unsigned long)__4NYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__4NWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__4NWC) - (unsigned long)((____EB ) 1)));
+        __BOWC=((____RL )((____M )(void *)((unsigned long)__AOWC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+        __4NWC=__R4(__AOWC,((____EB )(&(table_size[(__BOWC)-1]))),((____RL )((____M )__AOWC)));
+        __3NYC=__4NWC;
+      } else /* FALSE */ {
+        __BOWC=((____RL )__USYB);
+        __4NWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __AOWC=(void *)((unsigned long)(void *)((unsigned long)__4NYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__4NWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__4NWC) - (unsigned long)((____EB ) 1)));
+        __4NWC=__R4(__AOWC,((____EB )(&(table_type[(__BOWC)]))),(____RL)(__BOWC |  1));
+        __3NYC=__4NWC;
+      };
+      __SNY=((____THU *)__3NYC);
+      *(__SNY) = *(__THU__);
+    };
+    __UW4=((____THU *)__SNY);
+    if (( 2 > (*(__UW4)).__4W4)) {
+      __4NWC=((____EB )(____M)(sizeof(____AX) <<  1));
+      __AOWC=((____EB )(NULL));
+      __GPTC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __4TD=(void *)((unsigned long)(void *)((unsigned long)__4NWC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__GPTC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__GPTC) - (unsigned long)((____EB ) 1)));
+      __4NWC=(void *)((unsigned long)__4TD - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+      if ((__4NWC <= ((____EB )(MINIMUM_SIZE)))) {
+        __0TWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __2TWC=(void *)((unsigned long)(void *)((unsigned long)__4NWC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__0TWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__0TWC) - (unsigned long)((____EB ) 1)));
+        __BOWC=((____RL )((____M )(void *)((unsigned long)__2TWC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+        __0TWC=__R4(__2TWC,((____EB )(&(table_size[(__BOWC)-1]))),((____RL )((____M )__2TWC)));
+        ((____EB *)__0TWC)[ 0]=((____EB ) 3);
+        __AOWC=(void *)((unsigned long)__0TWC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+      } else /* FALSE */ {
+        __XUD=__CFF(__4TD);
+        __AOWC=(void *)((unsigned long)((____EB )((____OL *)__XUD)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8)));
+      };
+      __L0CB=((____AX *)__AOWC);
+      __KPGB=((____AX ) 0);
+      __BTYB= 1;
+      while ((__BTYB >=  0)) {
+        __L0CB[__BTYB]=__KPGB;
+        __BTYB=(____M)(__BTYB -  1);
+      };
+      (*(__UW4)).__PQ4=__L0CB;
+      (*(__UW4)).__4W4= 2;
+      __04JB=__G__;
+    } else /* FALSE */ {
+      __04JB=__K__;
+    };
+    if ((! __04JB)) {
+      if ((((*(__UW4)).__4W4 >  0) && ((*(__UW4)).__UX4 >=  0))) {
+        __AY4=(*(__UW4)).__PQ4;
+        __YSXC=(*(__UW4)).__UX4;
+        __DAKB=((____AX *)__AY4);
+        __UAKB=((____AX ) 0);
+        __Q1LB= 0;
+        while ((__Q1LB <= __YSXC)) {
+          __DAKB[__Q1LB]=__UAKB;
+          __Q1LB=(____M)(__Q1LB +  1);
+        };
+      };
+    };
+    (*(__UW4)).__UX4= 1;
+    __UW4=((____THU *)__SNY);
+    __KPGB=((____AX ) 0);
+    ((____AX *)(*(__UW4)).__PQ4)[ 0]=__KPGB;
+    __UW4=((____THU *)__SNY);
+    __KPGB=((____AX ) 0);
+    ((____AX *)(*(__UW4)).__PQ4)[ 1]=__KPGB;
+    if ((__JTP != __LTP)) {
+      __UAKB=(____AX)(((____AX )(____M)(__KTP - __MTP)) / ((____AX )(____M)(__JTP - __LTP)));
+      __SLV=(____AX)(((____AX )__KTP) - (____AX)(__UAKB * ((____AX )__JTP)));
+      __1OWC=((____THU *)__SNY);
+      ((____AX *)(*(__1OWC)).__PQ4)[ 0]=__UAKB;
+      __1OWC=((____THU *)__SNY);
+      ((____AX *)(*(__1OWC)).__PQ4)[ 1]=__SLV;
+    } else /* FALSE */ {
+      __1OWC=((____THU *)__SNY);
+      __UAKB=((____AX ) 0);
+      ((____AX *)(*(__1OWC)).__PQ4)[ 0]=__UAKB;
+      __1OWC=((____THU *)__SNY);
+      __UAKB=((____AX )__JTP);
+      ((____AX *)(*(__1OWC)).__PQ4)[ 1]=__UAKB;
+    };
+    __4HU=__0SP();
+    __HPVC=((____TTN *)__4HU);
+    ((____M *)(*(__HPVC)).__4AR)[ 0]= 0;
+    __HPVC=((____TTN *)__4HU);
+    ((____M *)(*(__HPVC)).__4AR)[ 1]= 0;
+    if ((((____AX *)(*(((____THU *)__SNY))).__PQ4)[ 0] == ((____AX ) 0))) {
+      __VSXC=((____M )((____AX *)(*(((____THU *)__SNY))).__PQ4)[ 1]);
+    } else /* FALSE */ {
+      __VSXC=((____M )(____AX)((____AX)(((____AX )(____M)(((____JAN *)__CM4)->__Z4CB + (____M)(((____JAN *)__CM4)->__HTY *  12))) - ((____AX *)(*(((____THU *)__SNY))).__PQ4)[ 1]) / ((____AX *)(*(((____THU *)__SNY))).__PQ4)[ 0]));
+    };
+    if (((((____JAN *)__CM4)->__Y4CB <=  0) && ((____M)(((____JAN *)__CM4)->__Y4CB + (____M)(((____JAN *)__CM4)->__JTY *  7)) >=  0))) {
+      if (( 0 >= (____M)(((____JAN *)__CM4)->__Y4CB + (____M)((____M)(((____JAN *)__CM4)->__JTY *  7) >>  1)))) {
+        __YSXC=((____JAN *)__CM4)->__Y4CB;
+        __Q1LB=(____M)(((____JAN *)__CM4)->__JTY *  7);
+        __RPVC=((____TTN *)__4HU);
+        __UPVC=(____M)((____M)(__YSXC + __Q1LB) + ((____JAN *)__CM4)->__LTY);
+        ((____M *)(*(__RPVC)).__4AR)[ 0]=__UPVC;
+        __FSYB=((____JAN *)__CM4);
+        if ((__FSYB->__LTY >  2)) {
+          __FSYB->__LTY=(____M)(__FSYB->__LTY -  2);
+        } else /* FALSE */ {
+          __FSYB->__LTY= 11;
+        };
+      } else /* FALSE */ {
+        __RPVC=((____TTN *)__4HU);
+        __YSXC=(____M)(((____JAN *)__CM4)->__Y4CB - ((____JAN *)__CM4)->__KTY);
+        ((____M *)(*(__RPVC)).__4AR)[ 0]=__YSXC;
+        __FSYB=((____JAN *)__CM4);
+        if ((__FSYB->__KTY >  2)) {
+          __FSYB->__KTY=(____M)(__FSYB->__KTY -  2);
+        } else /* FALSE */ {
+          __FSYB->__KTY= 11;
+        };
+      };
+      __RPVC=((____TTN *)__4HU);
+      __BTYB=(____M)(((____JAN *)__CM4)->__Z4CB + (____M)(((____JAN *)__CM4)->__HTY *  12));
+      ((____M *)(*(__RPVC)).__4AR)[ 1]=__BTYB;
+    };
+    if (((((____JAN *)__CM4)->__Y4CB <= __VSXC) && ((____M)(((____JAN *)__CM4)->__Y4CB + (____M)(((____JAN *)__CM4)->__JTY *  7)) >= __VSXC))) {
+      if ((__VSXC >= (____M)(((____JAN *)__CM4)->__Y4CB + (____M)((____M)(((____JAN *)__CM4)->__JTY *  7) >>  1)))) {
+        __YSXC=((____JAN *)__CM4)->__Y4CB;
+        __Q1LB=(____M)(((____JAN *)__CM4)->__JTY *  7);
+        __CQVC=((____TTN *)__4HU);
+        __UPVC=(____M)((____M)(__YSXC + __Q1LB) + ((____JAN *)__CM4)->__LTY);
+        ((____M *)(*(__CQVC)).__4AR)[ 0]=__UPVC;
+        __FSYB=((____JAN *)__CM4);
+        if ((__FSYB->__LTY >  2)) {
+          __FSYB->__LTY=(____M)(__FSYB->__LTY -  2);
+        } else /* FALSE */ {
+          __FSYB->__LTY= 11;
+        };
+      } else /* FALSE */ {
+        __CQVC=((____TTN *)__4HU);
+        __YSXC=(____M)(((____JAN *)__CM4)->__Y4CB - ((____JAN *)__CM4)->__KTY);
+        ((____M *)(*(__CQVC)).__4AR)[ 0]=__YSXC;
+        __FSYB=((____JAN *)__CM4);
+        if ((__FSYB->__KTY >  2)) {
+          __FSYB->__KTY=(____M)(__FSYB->__KTY -  2);
+        } else /* FALSE */ {
+          __FSYB->__KTY= 11;
+        };
+      };
+      __RPVC=((____TTN *)__4HU);
+      __BTYB=(____M)(((____JAN *)__CM4)->__Z4CB + (____M)(((____JAN *)__CM4)->__HTY *  12));
+      ((____M *)(*(__RPVC)).__4AR)[ 1]=__BTYB;
+    } else /* FALSE */ {
+      if ((((____AX *)(*(((____THU *)__SNY))).__PQ4)[ 0] != ((____AX ) 0))) {
+        if ((((____AX *)(*(((____THU *)__SNY))).__PQ4)[ 0] >= ((____AX ) 0))) {
+          __MOU=((____M )((____AX )(((____AX)(((____AX *)(*(((____THU *)__SNY))).__PQ4)[ 0] * ((____AX )(____M)(((____JAN *)__CM4)->__Y4CB + (____M)(((____JAN *)__CM4)->__JTY *  7))))) + (((____AX *)(*(((____THU *)__SNY))).__PQ4)[ 1]))));
+          if (((__MOU >= ((____JAN *)__CM4)->__Z4CB) && (__MOU <= (____M)(((____JAN *)__CM4)->__Z4CB + (____M)(((____JAN *)__CM4)->__HTY *  12))))) {
+            if (((((____AX *)(*(((____THU *)__SNY))).__PQ4)[ 0] > ((____AX ) 1)) || (__KTP < (____M)(((____JAN *)__CM4)->__Z4CB + (____M)(((____JAN *)__CM4)->__HTY *  12))))) {
+              __EQU=((____JAN *)__CM4)->__Y4CB;
+              __FQU=(____M)(((____JAN *)__CM4)->__JTY *  7);
+              __TQVC=((____TTN *)__4HU);
+              __WQVC=(____M)((____M)(__EQU + __FQU) + ((____JAN *)__CM4)->__LTY);
+              ((____M *)(*(__TQVC)).__4AR)[ 0]=__WQVC;
+              __TQVC=((____TTN *)__4HU);
+              __EQU=(____M)(((____JAN *)__CM4)->__Z4CB - ((____JAN *)__CM4)->__LTY);
+              ((____M *)(*(__TQVC)).__4AR)[ 1]=__EQU;
+              __3QVC=((____JAN *)__CM4);
+              if ((__3QVC->__LTY >  2)) {
+                __3QVC->__LTY=(____M)(__3QVC->__LTY -  2);
+              } else /* FALSE */ {
+                __3QVC->__LTY= 11;
+              };
+            } else /* FALSE */ {
+              __TQVC=((____TTN *)__4HU);
+              __EQU=(____M)(((____JAN *)__CM4)->__Y4CB - ((____JAN *)__CM4)->__KTY);
+              ((____M *)(*(__TQVC)).__4AR)[ 0]=__EQU;
+              __TQVC=((____TTN *)__4HU);
+              __EQU=(____M)(((____JAN *)__CM4)->__Z4CB + (____M)(((____JAN *)__CM4)->__HTY *  12));
+              ((____M *)(*(__TQVC)).__4AR)[ 1]=__EQU;
+              __3QVC=((____JAN *)__CM4);
+              if ((__3QVC->__KTY >  2)) {
+                __3QVC->__KTY=(____M)(__3QVC->__KTY -  2);
+              } else /* FALSE */ {
+                __3QVC->__KTY= 11;
+              };
+            };
+          };
+        } else /* FALSE */ {
+          __MOU=((____M )((____AX )(((____AX)(((____AX *)(*(((____THU *)__SNY))).__PQ4)[ 0] * ((____AX )((____JAN *)__CM4)->__Y4CB))) + (((____AX *)(*(((____THU *)__SNY))).__PQ4)[ 1]))));
+          if (((__MOU >= ((____JAN *)__CM4)->__Z4CB) && (__MOU <= (____M)(((____JAN *)__CM4)->__Z4CB + (____M)(((____JAN *)__CM4)->__HTY *  12))))) {
+            if (((((____AX *)(*(((____THU *)__SNY))).__PQ4)[ 0] < ((____AX )(____M)(-  1))) || (__KTP < (____M)(((____JAN *)__CM4)->__Z4CB + (____M)(((____JAN *)__CM4)->__HTY *  12))))) {
+              __TQVC=((____TTN *)__4HU);
+              __EQU=(____M)(((____JAN *)__CM4)->__Y4CB - ((____JAN *)__CM4)->__KTY);
+              ((____M *)(*(__TQVC)).__4AR)[ 0]=__EQU;
+              __TQVC=((____TTN *)__4HU);
+              __EQU=(____M)(((____JAN *)__CM4)->__Z4CB - ((____JAN *)__CM4)->__KTY);
+              ((____M *)(*(__TQVC)).__4AR)[ 1]=__EQU;
+              __3QVC=((____JAN *)__CM4);
+              if ((__3QVC->__KTY >  2)) {
+                __3QVC->__KTY=(____M)(__3QVC->__KTY -  2);
+              } else /* FALSE */ {
+                __3QVC->__KTY= 11;
+              };
+            } else /* FALSE */ {
+              __EQU=((____JAN *)__CM4)->__Y4CB;
+              __FQU=(____M)(((____JAN *)__CM4)->__JTY *  7);
+              __TQVC=((____TTN *)__4HU);
+              __WQVC=(____M)((____M)(__EQU + __FQU) + ((____JAN *)__CM4)->__LTY);
+              ((____M *)(*(__TQVC)).__4AR)[ 0]=__WQVC;
+              __TQVC=((____TTN *)__4HU);
+              __EQU=(____M)(((____JAN *)__CM4)->__Z4CB + (____M)(((____JAN *)__CM4)->__HTY *  12));
+              ((____M *)(*(__TQVC)).__4AR)[ 1]=__EQU;
+              __3QVC=((____JAN *)__CM4);
+              if ((__3QVC->__LTY >  2)) {
+                __3QVC->__LTY=(____M)(__3QVC->__LTY -  2);
+              } else /* FALSE */ {
+                __3QVC->__LTY= 11;
+              };
+            };
+          };
+        };
+      };
+    };
+    if ((((____M *)(*(((____TTN *)__4HU))).__4AR)[ 0] !=  0)) {
+      __5UP=__GTP(__HTP,__ITP,__JTP,__KTP,((____M *)(*(((____TTN *)__4HU))).__4AR)[ 0],((____M *)(*(((____TTN *)__4HU))).__4AR)[ 1]);
+      __JAGB(((____ELP *)__OTP),__5UP);
+      __5UP=__GTP(__HTP,__ITP,((____M *)(*(((____TTN *)__4HU))).__4AR)[ 0],((____M *)(*(((____TTN *)__4HU))).__4AR)[ 1],__LTP,__MTP);
+      __JAGB(((____ELP *)__OTP),__5UP);
+      __5M4=(*(__ITP)).__SAN.__EDN;
+    };
+    __5M4=(____M)(__5M4 +  1);
+  };
+  __NTP=__0M4;
+  return(__NTP);
+}
+
+static void* __L4FB(____ELP *__M4FB,____M __N4FB)
+// ({__ELP},{__M}) With result No recursive, No inlinable.
+{
+  void *__O4FB;
+  if ((__N4FB != __M4FB->__ZXFB)) {
+    if ((__M4FB->__ZXFB > __N4FB)) {
+      __M4FB->__ZXFB= 1;
+      __M4FB->__1XFB=__M4FB->__QXFB;
+    };
+    while ((__N4FB != __M4FB->__ZXFB)) {
+      __M4FB->__1XFB=__M4FB->__1XFB->__LGJB;
+      __M4FB->__ZXFB=(____M)(__M4FB->__ZXFB +  1);
+    };
+  };
+  __O4FB=__M4FB->__1XFB->__BXFB;
+  return(__O4FB);
+}
+
+static void __K4Q(____AX __L4Q,____YB *__M4Q)
+// ({__AX},{NULLx__YB}) Void No recursive, No inlinable.
+{
+  ____AX __HUR,__W3QB,__BBRB;
+  ____M __MUR,__03QB,__SARB,__EBRB;
+  ____YB *__SLRB;
+  ____H __BVR,__GVR,__Q4QB,__V4QB;
+  __HUR=((____AX ) 0);
+  __MUR= 0;
+  ((____AX *)__BX__)[ 0]=__L4Q;
+  if (((____YV)(__BX__->__DX >>  63) ==  0)) {
+    __HUR=__L4Q;
+  } else /* FALSE */ {
+    __G1K(((____YB *)__M4Q),'-');
+    __HUR=(____AX)(((____AX ) 0) - __L4Q);
+  };
+  if (((((____RL )(____YV)((____YV)(__BX__->__DX >>  52) &  2047)) ==  0) && ((____YV)(__BX__->__DX &  4503599627370495LLU) ==  0))) {
+    __G1K(((____YB *)__M4Q),'0');
+    __BVR=__G__;
+  } else /* FALSE */ {
+    __BVR=__K__;
+  };
+  if (__BVR) {
+    __BVR=__G__;
+  } else /* FALSE */ {
+    __GVR=((((____RL )(____YV)((____YV)(__BX__->__DX >>  52) &  2047)) ==  2047) && ((____YV)((____YV)(__BX__->__DX &  4503599627370495LLU) >>  51) ==  0));
+    if (__GVR) {
+      __G1N(((____YB *)__M4Q),(&__string_53));
+    };
+    __BVR=__GVR;
+  };
+  if ((! __BVR)) {
+    if (((((____RL )(____YV)((____YV)(__BX__->__DX >>  52) &  2047)) ==  2047) && ((____YV)((____YV)(__BX__->__DX &  4503599627370495LLU) >>  51) !=  0))) {
+      __G1N(((____YB *)__M4Q),(&__string_54));
+    } else /* FALSE */ {
+      if ((__HUR > ((____AX )((____WW ) 2147483647)))) {
+        __W3QB=((____AX ) 0);
+        __03QB= 0;
+        ((____AX *)__BX__)[ 0]=__L4Q;
+        if (((____YV)(__BX__->__DX >>  63) ==  0)) {
+          __W3QB=__L4Q;
+        } else /* FALSE */ {
+          __G1K(((____YB *)__M4Q),'-');
+          __W3QB=(____AX)(((____AX ) 0) - __L4Q);
+        };
+        if (((((____RL )(____YV)((____YV)(__BX__->__DX >>  52) &  2047)) ==  0) && ((____YV)(__BX__->__DX &  4503599627370495LLU) ==  0))) {
+          __G1K(((____YB *)__M4Q),'0');
+          __Q4QB=__G__;
+        } else /* FALSE */ {
+          __Q4QB=__K__;
+        };
+        if (__Q4QB) {
+          __Q4QB=__G__;
+        } else /* FALSE */ {
+          __V4QB=((((____RL )(____YV)((____YV)(__BX__->__DX >>  52) &  2047)) ==  2047) && ((____YV)((____YV)(__BX__->__DX &  4503599627370495LLU) >>  51) ==  0));
+          if (__V4QB) {
+            __G1N(((____YB *)__M4Q),(&__string_53));
+          };
+          __Q4QB=__V4QB;
+        };
+        if ((! __Q4QB)) {
+          if (((((____RL )(____YV)((____YV)(__BX__->__DX >>  52) &  2047)) ==  2047) && ((____YV)((____YV)(__BX__->__DX &  4503599627370495LLU) >>  51) !=  0))) {
+            __G1N(((____YB *)__M4Q),(&__string_54));
+          } else /* FALSE */ {
+            while ((__W3QB > ((____AX ) 10))) {
+              __W3QB=(____AX)(__W3QB / ((____AX ) 10));
+              __03QB=(____M)(__03QB +  1);
+            };
+            while ((__W3QB < ((____AX ) 0))) {
+              __W3QB=(____AX)(__W3QB * ((____AX ) 10));
+              __03QB=(____M)(__03QB -  1);
+            };
+            __SARB=((____M )__W3QB);
+            __G1K(((____YB *)__M4Q),((____5 )(((____0V)(((____0V )__SARB) + ((____0V )'0'))))));
+            __G1K(((____YB *)__M4Q),'.');
+            __W3QB=(____AX)(__W3QB - ((____AX )__SARB));
+            while ((__W3QB !=  0)) {
+              __BBRB=(____AX)(__W3QB * ((____AX ) 10));
+              __EBRB=((____M )__BBRB);
+              __G1K(((____YB *)__M4Q),((____5 )(((____0V)(((____0V )__EBRB) + ((____0V )'0'))))));
+              __W3QB=(____AX)(__BBRB - ((____AX )__EBRB));
+            };
+            __G1K(((____YB *)__M4Q),'E');
+            __S2N(__03QB,__M4Q);
+          };
+        };
+      } else /* FALSE */ {
+        __03QB=((____M )__HUR);
+        __S2N(__03QB,__M4Q);
+        __HUR=(____AX)(__HUR - ((____AX )__03QB));
+        __G1K(((____YB *)__M4Q),'.');
+        __MUR= 4;
+        while (((__HUR !=  0) && (__MUR >  0))) {
+          __BBRB=(____AX)(__HUR * ((____AX ) 10));
+          __SARB=((____M )__BBRB);
+          __G1K(((____YB *)__M4Q),((____5 )(((____0V)(((____0V )__SARB) + ((____0V )'0'))))));
+          __HUR=(____AX)(__BBRB - ((____AX )__SARB));
+          __MUR=(____M)(__MUR -  1);
+        };
+        __SLRB=((____YB *)__M4Q);
+        __03QB=(____M)(__MUR -  1);
+        while ((__03QB >=  0)) {
+          __G1K(__SLRB,'0');
+          __03QB=(____M)(__03QB -  1);
+        };
+      };
+    };
+  };
+}
+
+static ____EB __APB(____RL __CPB)
+// ({__RL}) With result No recursive, No inlinable.
+{
+  ____RL __EPB;
+  ____OL *__HPB,*__2QB,*__DTXC,*__ETXC,*__FTXC,*__ZRB;
+  ____EB __LPB,__FRB;
+  ____H __KQB;
+  __EPB= 0;
+  __HPB=NULL;
+  __LPB=((____EB )(NULL));
+  __FVB:
+  {
+    if ((__EPB < __RPB)) {
+      __HPB=((____OL *)(last_block[(__EPB)]));
+      __KQB=(((____RL)(((____OL *)__HPB)->__TL &  4294967292LU) <  4096) || ((____RL)(((____OL *)__HPB)->__TL &  1) ==  1));
+    } else /* FALSE */ {
+      __KQB=__K__;
+    };
+    if (__KQB) {
+      __EPB=(____RL)(__EPB +  1);
+      goto __FVB;
+    };
+  };
+  if ((__EPB >= __RPB)) {
+    __2QB=__ZXE();
+    __HPB=__2QB;
+  };
+  ((____OL *)__HPB)->__TL=(____RL)(__HPB->__TL -  4096);
+  __2QB=((____OL *)__HPB);
+  __FRB=((____EB )((____OL *)(void *)((unsigned long)(void *)((unsigned long)((____EB )__2QB) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8))) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )(____RL)(__2QB->__TL &  4294967292LU))))));
+  if ((((____EB )(____RL)(((____OL *)__HPB)->__TL &  4294967292LU)) < ((____EB )(MINIMUM_SIZE)))) {
+    __DTXC=((____OL *)__HPB);
+    __ETXC=__DTXC->__VL;
+    __FTXC=__DTXC->__UL;
+    if (((void *)__ETXC == (void *)NULL)) {
+      __FGF=__FTXC;
+    } else /* FALSE */ {
+      ((____OL *)__ETXC)->__UL=__FTXC;
+    };
+    if (((void *)__FTXC != (void *)NULL)) {
+      ((____OL *)__FTXC)->__VL=__ETXC;
+    };
+    __LPB=__HPB->__QL;
+    if ((__LPB != (void *)NULL)) {
+      __ZRB=((____OL *)(void *)((unsigned long)__MAB - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__LPB)));
+      __ZRB->__TL=(____RL)((____RL)(__ZRB->__TL + __HPB->__TL) +  8);
+      last_block[(__EPB)] = (__ZRB);
+    };
+  };
+  ((____EB *)__FRB)[ 0]=((____EB )__CPB);
+  __LPB=(void *)((unsigned long)__FRB - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+  return(__LPB);
+}
+
+static ____OL* __ZXE()
+// () With result No recursive, No inlinable.
+{
+  ____EB __TXG,__VXG,__RXG;
+  ____OL *__MZE,*__1XE;
+  if (((unsigned long)__BYE ==  0)) {
+    __TXG=((____EB )(NULL));
+    __VXG=((____EB )(NULL));
+    __RXG=((____EB ) 33554432);
+    do {
+      __RXG=(void *)((unsigned long)__RXG * (unsigned long)((____EB ) 2));
+      __TXG=__VXG;
+      __VXG=((____EB )(realloc((__VXG),(unsigned int)(__RXG))));
+    } while ((! ((__VXG == (void *)NULL) || (__RXG == ((____EB )((void *)(2048LU << 20)))))));
+    if ((__VXG == (void *)NULL)) {
+      __RXG=(void *)((unsigned long)__RXG / (unsigned long)((____EB ) 2));
+    };
+    __BYE=__RXG;
+    __MAB=__TXG;
+    ;
+  };
+  __TXG=(void *)((unsigned long)((____EB )__RPB) << (unsigned long) 26);
+  __RPB=(____RL)(__RPB +  1);
+  if (((void *)((unsigned long)__TXG - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 67108864))) > __BYE)) {
+    __CGE((&__string_55));
+    exit(( 1));
+  };
+  __MZE=((____OL *)(void *)((unsigned long)__MAB - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__TXG)));
+  __MZE->__QL=NULL;
+  __MZE->__TL= 67108858;
+  __MZE->__UL=__FGF;
+  __MZE->__VL=NULL;
+  if (((void *)__FGF != (void *)NULL)) {
+    ((____OL *)__FGF)->__VL=__MZE;
+  };
+  __FGF=__MZE;
+  last_block[((____RL)(__RPB -  1))] = (__MZE);
+  __1XE=__MZE;
+  return(__1XE);
+}
+
+static void __ZZH(____OL *__0ZH,____EB __1ZH,____RL __2ZH)
+// ({__OL},{__EB},{__RL}) Void No recursive, No inlinable.
+{
+  ____OL *__0GI,*__1GI,*__O1H;
+  ____EB __10H,__3ZH,__20H;
+  __0GI=__0ZH->__VL;
+  __1GI=__0ZH->__UL;
+  if (((void *)__0GI == (void *)NULL)) {
+    __FGF=__1GI;
+  } else /* FALSE */ {
+    ((____OL *)__0GI)->__UL=__1GI;
+  };
+  if (((void *)__1GI != (void *)NULL)) {
+    ((____OL *)__1GI)->__VL=__0GI;
+  };
+  __10H=((____EB )__0ZH->__TL);
+  __3ZH=__10H;
+  __20H=(void *)((unsigned long)__10H - (unsigned long)__1ZH);
+  if ((__20H > (void *)((unsigned long)(void *)((unsigned long)((____EB )(MINIMUM_SIZE)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 2))) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8))))) {
+    __3ZH=__1ZH;
+    __O1H=((____OL *)(void *)((unsigned long)(void *)((unsigned long)((____EB )__0ZH) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8))) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__1ZH)));
+    __O1H->__QL=(void *)((unsigned long)((____EB )__0ZH) - (unsigned long)__MAB);
+    __O1H->__TL=(____RL)(((____RL )((unsigned int)(__20H))) -  8);
+    __O1H->__UL=__FGF;
+    __O1H->__VL=NULL;
+    if (((void *)__FGF != (void *)NULL)) {
+      ((____OL *)__FGF)->__VL=__O1H;
+    };
+    __FGF=__O1H;
+    if (((____RL)(__O1H->__TL &  2) !=  0)) {
+      last_block[(__2ZH)] = (__O1H);
+    } else /* FALSE */ {
+      ((____OL *)(void *)((unsigned long)(void *)((unsigned long)((____EB )__O1H) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8))) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )(____RL)(__O1H->__TL &  4294967292LU)))))->__QL=(void *)((unsigned long)((____EB )__O1H) - (unsigned long)__MAB);
+    };
+  };
+  __0ZH->__TL=(____RL)(((____RL )((unsigned int)(__3ZH))) |  1);
+  ;
+}
+
+static ____5* __N2K(____M __P2K)
+// ({__M}) With result No recursive, No inlinable.
+{
+  ____EB __H4WC,__F4WC,__G4WC,__I4WC,__K4WC,__L4WC;
+  ____RL __M4WC;
+  ____OL *__Q4WC;
+  ____M __4QL;
+  ____5 *__E5K,*__Q2K;
+  __H4WC=((____EB )__P2K);
+  __F4WC=((____EB )(NULL));
+  __G4WC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+  __I4WC=(void *)((unsigned long)(void *)((unsigned long)__H4WC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__G4WC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__G4WC) - (unsigned long)((____EB ) 1)));
+  __H4WC=(void *)((unsigned long)__I4WC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+  if ((__H4WC <= ((____EB )(MINIMUM_SIZE)))) {
+    __K4WC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+    __L4WC=(void *)((unsigned long)(void *)((unsigned long)__H4WC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__K4WC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__K4WC) - (unsigned long)((____EB ) 1)));
+    __M4WC=((____RL )((____M )(void *)((unsigned long)__L4WC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+    __K4WC=__R4(__L4WC,((____EB )(&(table_size[(__M4WC)-1]))),((____RL )((____M )__L4WC)));
+    ((____EB *)__K4WC)[ 0]=((____EB ) 3);
+    __F4WC=(void *)((unsigned long)__K4WC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+  } else /* FALSE */ {
+    __Q4WC=__CFF(__I4WC);
+    __F4WC=(void *)((unsigned long)((____EB )((____OL *)__Q4WC)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8)));
+  };
+  __E5K=((____5 *)__F4WC);
+  __4QL=(____M)(__P2K -  1);
+  while ((__4QL >=  0)) {
+    __E5K[__4QL]='\0';
+    __4QL=(____M)(__4QL -  1);
+  };
+  __Q2K=__E5K;
+  return(__Q2K);
+}
+
+static void* __IFM(____YB *__KFM)
+// ({NULLx__YB}) With result No recursive, No inlinable.
+{
+  void *__NFM,*__LFM;
+  ____YB *__JUVC;
+  ____1FM *__JOYC;
+  ____EB __KOYC,__MOYC,__NOYC,__OOYC;
+  ____M __LOYC;
+  ____RL __POYC;
+  ____QYL *__XOYC;
+  ____W *__JGM;
+  ____5 *__OFM;
+  __NFM=NULL;
+  __JUVC=((____YB *)__KFM);
+  if ((__JUVC->__3SJ > __JUVC->__3RJ)) {
+    ((____5 *)__JUVC->__GTJ)[__JUVC->__3RJ]='\0';
+  } else /* FALSE */ {
+    __G1K(__JUVC,'\0');
+    __JUVC->__3RJ=(____M)(__JUVC->__3RJ -  1);
+  };
+  __OFM=__JUVC->__GTJ;
+  { struct stat t;
+  if ((((____M )(stat((__OFM),&t))) ==  0)) {
+    if ((((____M )(S_ISDIR(t.st_mode))) ==  0)) {
+      __JOYC=NULL;
+      __KOYC=((____EB )(NULL));
+      __LOYC= 0;
+      __MOYC=((____EB )sizeof(____1FM));
+      if (((unsigned long)__MOYC ==  0)) {
+        __JOYC=__1FM__;
+      } else /* FALSE */ {
+        __LOYC=-1;
+        __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MOYC));
+        if ((__LOYC == (____M)(-  1))) {
+          __NOYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __OOYC=(void *)((unsigned long)(void *)((unsigned long)__MOYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NOYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NOYC) - (unsigned long)((____EB ) 1)));
+          __POYC=((____RL )((____M )(void *)((unsigned long)__OOYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+          __NOYC=__R4(__OOYC,((____EB )(&(table_size[(__POYC)-1]))),((____RL )((____M )__OOYC)));
+          __KOYC=__NOYC;
+        } else /* FALSE */ {
+          __POYC=((____RL )__LOYC);
+          __NOYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __OOYC=(void *)((unsigned long)(void *)((unsigned long)__MOYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NOYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NOYC) - (unsigned long)((____EB ) 1)));
+          __NOYC=__R4(__OOYC,((____EB )(&(table_type[(__POYC)]))),(____RL)(__POYC |  1));
+          __KOYC=__NOYC;
+        };
+        __JOYC=((____1FM *)__KOYC);
+        *(__JOYC) = *(__1FM__);
+      };
+      __NFM=__JOYC;
+    } else /* FALSE */ {
+      __XOYC=NULL;
+      __KOYC=((____EB )(NULL));
+      __LOYC= 0;
+      __MOYC=((____EB )sizeof(____QYL));
+      if (((unsigned long)__MOYC ==  0)) {
+        __XOYC=__QYL__;
+      } else /* FALSE */ {
+        __LOYC=-1;
+        __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__MOYC));
+        if ((__LOYC == (____M)(-  1))) {
+          __NOYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __OOYC=(void *)((unsigned long)(void *)((unsigned long)__MOYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NOYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NOYC) - (unsigned long)((____EB ) 1)));
+          __POYC=((____RL )((____M )(void *)((unsigned long)__OOYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+          __NOYC=__R4(__OOYC,((____EB )(&(table_size[(__POYC)-1]))),((____RL )((____M )__OOYC)));
+          __KOYC=__NOYC;
+        } else /* FALSE */ {
+          __POYC=((____RL )__LOYC);
+          __NOYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __OOYC=(void *)((unsigned long)(void *)((unsigned long)__MOYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NOYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NOYC) - (unsigned long)((____EB ) 1)));
+          __NOYC=__R4(__OOYC,((____EB )(&(table_type[(__POYC)]))),(____RL)(__POYC |  1));
+          __KOYC=__NOYC;
+        };
+        __XOYC=((____QYL *)__KOYC);
+        *(__XOYC) = *(__QYL__);
+      };
+      __NFM=__XOYC;
+    };
+    if (((struct ___OBJ *)__NFM)->__id==____QYL__) {
+      __XRQ(((____QYL *)__NFM),__KFM);
+    } else /* FILE_UNIX */ {
+      __RSQ(((____1FM *)((____QYL *)__NFM)),__KFM);
+    };
+    if (((struct ___OBJ *)__NFM)->__id==____QYL__) {
+      __JGM=((____QYL *)__NFM)->__TYL.__EZL;
+    } else /* FILE_UNIX */ {
+      __JGM=((____1FM *)__NFM)->__2FM.__EZL;
+    };
+    __LOQ(((____0YL *)__CZL),__NFM,__JGM);
+  };
+  };
+  __LFM=__NFM;
+  return(__LFM);
+}
+
+static void __LOQ(____0YL *__MOQ,void *__NOQ,____W *__OOQ)
+// ({__0YL},{NULLx__QYLx__1FM},{NULLx__W}) Void No recursive, No inlinable.
+{
+  ____W *__GPYC,*__J3X;
+  ____M __FPYC,__HPYC,__IPYC,__POV,__V4WC,__L3X,__M3X,__0CZ;
+  ____EB __04WC,__Y4WC,__Z4WC,__14WC,__34WC,__44WC;
+  ____RL __54WC;
+  ____OL *__D5WC;
+  ____XOQ *__1OQ,*__JOV,*__KOV,*__H5FB;
+  ____H __VPQ,__SPQ;
+  void **__IOV,**__U4WC;
+  __GPYC=((____W *)__OOQ);
+  __FPYC= 0;
+  __HPYC=__GPYC->__AD;
+  __IPYC= 1;
+  while ((__IPYC <= __HPYC)) {
+    __FPYC=(____M)((____M)( 5 * __FPYC) + ((____M )((____0V )((____5 *)__GPYC->__BD)[(____M)(__IPYC -  1)])));
+    __IPYC=(____M)(__IPYC +  1);
+  };
+  if ((__FPYC <  0)) {
+    __FPYC=(____M)(~ __FPYC);
+  };
+  __HPYC=(____M)(__FPYC % __MOQ->__3OQ);
+  __IPYC=__HPYC;
+  __1OQ=((void **)__MOQ->__EPQ)[__HPYC];
+  __FMR:
+  {
+    if (((void *)__1OQ == (void *)NULL)) {
+      __VPQ=__G__;
+    } else /* FALSE */ {
+      __SPQ=__TTNB(((____W *)__1OQ->__QPQ),__OOQ);
+      __VPQ=__SPQ;
+    };
+    if ((! __VPQ)) {
+      __1OQ=__1OQ->__2PQ;
+      goto __FMR;
+    };
+  };
+  if (((void *)__1OQ == (void *)NULL)) {
+    if ((__MOQ->__3OQ == __MOQ->__FQQ)) {
+      __JOV=NULL;
+      __KOV=NULL;
+      __IOV=__MOQ->__EPQ;
+      __POV=__PJS((____M)(__MOQ->__3OQ +  1));
+      __04WC=((____EB )(____M)(__POV * ((____M )(sizeof(void *)))));
+      __Y4WC=((____EB )(NULL));
+      __Z4WC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __14WC=(void *)((unsigned long)(void *)((unsigned long)__04WC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__Z4WC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__Z4WC) - (unsigned long)((____EB ) 1)));
+      __04WC=(void *)((unsigned long)__14WC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+      if ((__04WC <= ((____EB )(MINIMUM_SIZE)))) {
+        __34WC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __44WC=(void *)((unsigned long)(void *)((unsigned long)__04WC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__34WC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__34WC) - (unsigned long)((____EB ) 1)));
+        __54WC=((____RL )((____M )(void *)((unsigned long)__44WC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+        __34WC=__R4(__44WC,((____EB )(&(table_size[(__54WC)-1]))),((____RL )((____M )__44WC)));
+        ((____EB *)__34WC)[ 0]=((____EB ) 3);
+        __Y4WC=(void *)((unsigned long)__34WC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )((____M )(sizeof(void *))))));
+      } else /* FALSE */ {
+        __D5WC=__CFF(__14WC);
+        __Y4WC=(void *)((unsigned long)((____EB )((____OL *)__D5WC)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB ) 8)));
+      };
+      __U4WC=((void **)__Y4WC);
+      __V4WC=(____M)(__POV -  1);
+      while ((__V4WC >=  0)) {
+        __U4WC[__V4WC]=NULL;
+        __V4WC=(____M)(__V4WC -  1);
+      };
+      __MOQ->__EPQ=__U4WC;
+      __V4WC=(____M)(__MOQ->__3OQ -  1);
+      __MOQ->__3OQ=__POV;
+      while ((__V4WC >=  0)) {
+        __JOV=((void **)__IOV)[__V4WC];
+        while (((void *)__JOV != (void *)NULL)) {
+          __KOV=__JOV->__2PQ;
+          __J3X=((____W *)__JOV->__QPQ);
+          __L3X= 0;
+          __M3X=__J3X->__AD;
+          __0CZ= 1;
+          while ((__0CZ <= __M3X)) {
+            __L3X=(____M)((____M)( 5 * __L3X) + ((____M )((____0V )((____5 *)__J3X->__BD)[(____M)(__0CZ -  1)])));
+            __0CZ=(____M)(__0CZ +  1);
+          };
+          if ((__L3X <  0)) {
+            __L3X=(____M)(~ __L3X);
+          };
+          __M3X=(____M)(__L3X % __MOQ->__3OQ);
+          ((____XOQ *)__JOV)->__2PQ=((void **)__MOQ->__EPQ)[__M3X];
+          ((void **)__MOQ->__EPQ)[__M3X]=__JOV;
+          __JOV=__KOV;
+        };
+        __V4WC=(____M)(__V4WC -  1);
+      };
+      __IPYC=(____M)(__FPYC % __POV);
+    };
+    __JOV=((void **)__MOQ->__EPQ)[__IPYC];
+    __KOV=NULL;
+    __04WC=((____EB )(NULL));
+    __POV= 0;
+    __Y4WC=((____EB )sizeof(____XOQ));
+    if (((unsigned long)__Y4WC ==  0)) {
+      __KOV=__XOQ__;
+    } else /* FALSE */ {
+      __POV=____XOQ__;
+      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__Y4WC));
+      if ((__POV == (____M)(-  1))) {
+        __34WC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __44WC=(void *)((unsigned long)(void *)((unsigned long)__Y4WC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__34WC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__34WC) - (unsigned long)((____EB ) 1)));
+        __54WC=((____RL )((____M )(void *)((unsigned long)__44WC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+        __34WC=__R4(__44WC,((____EB )(&(table_size[(__54WC)-1]))),((____RL )((____M )__44WC)));
+        __04WC=__34WC;
+      } else /* FALSE */ {
+        __54WC=((____RL )__POV);
+        __34WC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __44WC=(void *)((unsigned long)(void *)((unsigned long)__Y4WC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__34WC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__34WC) - (unsigned long)((____EB ) 1)));
+        __34WC=__R4(__44WC,((____EB )(&(table_type[(__54WC)]))),(____RL)(__54WC |  1));
+        __04WC=__34WC;
+      };
+      __KOV=((____XOQ *)__04WC);
+      *(__KOV) = *(__XOQ__);
+    };
+    __H5FB=((____XOQ *)__KOV);
+    __H5FB->__LRV=__NOQ;
+    __H5FB->__QPQ=__OOQ;
+    __H5FB->__2PQ=__JOV;
+    __1OQ=__KOV;
+    ((void **)__MOQ->__EPQ)[__IPYC]=__KOV;
+    __MOQ->__FQQ=(____M)(__MOQ->__FQQ +  1);
+  } else /* FALSE */ {
+    ((____XOQ *)__1OQ)->__LRV=__NOQ;
+  };
+}
+
+static void* __V40(____0YL *__W40,____YB *__X40)
+// ({__0YL},{NULLx__YB}) With result No recursive, No inlinable.
+{
+  void *__B50,*__Y40;
+  ____YB *__NV4;
+  ____M __PV4,__QV4,__TT5;
+  ____XOQ *__A50;
+  ____H __U50,__R50;
+  __B50=NULL;
+  __NV4=((____YB *)__X40);
+  __PV4= 0;
+  __QV4=__NV4->__3RJ;
+  __TT5= 1;
+  while ((__TT5 <= __QV4)) {
+    __PV4=(____M)((____M)( 5 * __PV4) + ((____M )((____0V )((____5 *)__NV4->__GTJ)[(____M)(__TT5 -  1)])));
+    __TT5=(____M)(__TT5 +  1);
+  };
+  if ((__PV4 <  0)) {
+    __PV4=(____M)(~ __PV4);
+  };
+  __A50=((void **)__W40->__EPQ)[(____M)(__PV4 % __W40->__3OQ)];
+  __PI2:
+  {
+    if (((void *)__A50 == (void *)NULL)) {
+      __U50=__G__;
+    } else /* FALSE */ {
+      __R50=__TTNB(((____W *)__A50->__QPQ),__X40);
+      __U50=__R50;
+    };
+    if ((! __U50)) {
+      __A50=__A50->__2PQ;
+      goto __PI2;
+    };
+  };
+  if (((void *)__A50 != (void *)NULL)) {
+    __B50=__A50->__LRV;
+  };
+  __Y40=__B50;
+  return(__Y40);
+}
+
+static void* __LB1(____YB *__NB1)
+// ({NULLx__YB}) With result No recursive, No inlinable.
+{
+  void *__QB1,*__OB1;
+  ____YB *__1VVC;
+  ____1FM *__ELN;
+  ____EB __FLN,__LLN,__5WWC,__BXWC;
+  ____M __JLN;
+  ____RL __CXWC;
+  ____QYL *__ZMN;
+  ____W *__HC1;
+  ____5 *__RB1;
+  __QB1=NULL;
+  __1VVC=((____YB *)__NB1);
+  if ((__1VVC->__3SJ > __1VVC->__3RJ)) {
+    ((____5 *)__1VVC->__GTJ)[__1VVC->__3RJ]='\0';
+  } else /* FALSE */ {
+    __G1K(__1VVC,'\0');
+    __1VVC->__3RJ=(____M)(__1VVC->__3RJ -  1);
+  };
+  __RB1=__1VVC->__GTJ;
+  { struct stat t;
+  if ((((____M )(stat((__RB1),&t))) ==  0)) {
+    if ((((____M )(S_ISDIR(t.st_mode))) ==  0)) {
+      __ELN=NULL;
+      __FLN=((____EB )(NULL));
+      __JLN= 0;
+      __LLN=((____EB )sizeof(____1FM));
+      if (((unsigned long)__LLN ==  0)) {
+        __ELN=__1FM__;
+      } else /* FALSE */ {
+        __JLN=-1;
+        __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__LLN));
+        if ((__JLN == (____M)(-  1))) {
+          __5WWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __BXWC=(void *)((unsigned long)(void *)((unsigned long)__LLN - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5WWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5WWC) - (unsigned long)((____EB ) 1)));
+          __CXWC=((____RL )((____M )(void *)((unsigned long)__BXWC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+          __5WWC=__R4(__BXWC,((____EB )(&(table_size[(__CXWC)-1]))),((____RL )((____M )__BXWC)));
+          __FLN=__5WWC;
+        } else /* FALSE */ {
+          __CXWC=((____RL )__JLN);
+          __5WWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __BXWC=(void *)((unsigned long)(void *)((unsigned long)__LLN - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5WWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5WWC) - (unsigned long)((____EB ) 1)));
+          __5WWC=__R4(__BXWC,((____EB )(&(table_type[(__CXWC)]))),(____RL)(__CXWC |  1));
+          __FLN=__5WWC;
+        };
+        __ELN=((____1FM *)__FLN);
+        *(__ELN) = *(__1FM__);
+      };
+      __QB1=__ELN;
+    } else /* FALSE */ {
+      __ZMN=NULL;
+      __FLN=((____EB )(NULL));
+      __JLN= 0;
+      __LLN=((____EB )sizeof(____QYL));
+      if (((unsigned long)__LLN ==  0)) {
+        __ZMN=__QYL__;
+      } else /* FALSE */ {
+        __JLN=-1;
+        __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__LLN));
+        if ((__JLN == (____M)(-  1))) {
+          __5WWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __BXWC=(void *)((unsigned long)(void *)((unsigned long)__LLN - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5WWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5WWC) - (unsigned long)((____EB ) 1)));
+          __CXWC=((____RL )((____M )(void *)((unsigned long)__BXWC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+          __5WWC=__R4(__BXWC,((____EB )(&(table_size[(__CXWC)-1]))),((____RL )((____M )__BXWC)));
+          __FLN=__5WWC;
+        } else /* FALSE */ {
+          __CXWC=((____RL )__JLN);
+          __5WWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __BXWC=(void *)((unsigned long)(void *)((unsigned long)__LLN - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5WWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5WWC) - (unsigned long)((____EB ) 1)));
+          __5WWC=__R4(__BXWC,((____EB )(&(table_type[(__CXWC)]))),(____RL)(__CXWC |  1));
+          __FLN=__5WWC;
+        };
+        __ZMN=((____QYL *)__FLN);
+        *(__ZMN) = *(__QYL__);
+      };
+      __QB1=__ZMN;
+    };
+    if (((struct ___OBJ *)__QB1)->__id==____QYL__) {
+      __XRQ(((____QYL *)__QB1),__NB1);
+    } else /* FILE_UNIX */ {
+      __RSQ(((____1FM *)((____QYL *)__QB1)),__NB1);
+    };
+    if (__VD__->__OZL==0) {
+    } else /* ___TYPE_ID */ {
+      __ZMN=__GYL();
+    };
+    if (((struct ___OBJ *)__QB1)->__id==____QYL__) {
+      __HC1=((____QYL *)__QB1)->__TYL.__EZL;
+    } else /* FILE_UNIX */ {
+      __HC1=((____1FM *)__QB1)->__2FM.__EZL;
+    };
+    __LOQ(((____0YL *)__CZL),__QB1,__HC1);
+  };
+  };
+  __OB1=__QB1;
+  return(__OB1);
+}
+
+static void __1OIB(____YB *__3OIB)
+// ({NULLx__YB}) Void No recursive, No inlinable.
+{
+  ____M __5OIB,__NPYC,__PPYC,__1DRB,__HTXC,__VPYC,__WPYC,__YPYC,__ZPYC;
+  ____M __LQYC,__NQYC,__OQYC,__3QYC,__4QYC;
+  ____YB *__LPYC,*__GTXC,*__ITXC;
+  ____5 *__MPYC,*__OPYC;
+  ____5 __OPIB,__VKIB;
+  ____H __HRIB,__PAQB,__XKIB,__BLIB;
+  __5OIB= 0;
+  __LPYC=((____YB *)__3OIB);
+  __MPYC=__LPYC->__GTJ;
+  __NPYC=(____M)(__LPYC->__3RJ -  1);
+  __OPYC=((____5 *)__MPYC);
+  __PPYC=__NPYC;
+  while ((__PPYC >=  0)) {
+    if (('\\' == __OPYC[__PPYC])) {
+      __OPYC[__PPYC]='/';
+    };
+    __PPYC=(____M)(__PPYC -  1);
+  };
+  __NPYC= 1;
+  while ((__NPYC <= ((____YB *)__3OIB)->__3RJ)) {
+    __OPIB=((____5 *)((____YB *)__3OIB)->__GTJ)[(____M)(__NPYC -  1)];
+    if ((__OPIB == '/')) {
+      __1DRB=__5OIB;
+      if ((__5OIB ==  0)) {
+        __5OIB= 1;
+      };
+      if ((__1DRB ==  1)) {
+        __GTXC=((____YB *)__3OIB);
+        __HTXC=(____M)(__NPYC -  1);
+        if ((__HTXC > __GTXC->__3RJ)) {
+          __GTXC->__3RJ= 0;
+        } else /* FALSE */ {
+          if ((__HTXC >  0)) {
+            __VPYC=(____M)((____M)(__HTXC -  1) +  1);
+            if ((__VPYC >  0)) {
+              __WPYC=(____M)(__HTXC +  1);
+              __YPYC=__GTXC->__3RJ;
+              __ZPYC=__WPYC;
+              while ((__ZPYC <= __YPYC)) {
+                ((____5 *)__GTXC->__GTJ)[(____M)((____M)(__ZPYC - __VPYC) -  1)]=((____5 *)__GTXC->__GTJ)[(____M)(__ZPYC -  1)];
+                __ZPYC=(____M)(__ZPYC +  1);
+              };
+              __GTXC->__3RJ=(____M)(__GTXC->__3RJ - __VPYC);
+            };
+          };
+        };
+        __NPYC= 1;
+      };
+      if ((__1DRB ==  2)) {
+        __GTXC=((____YB *)__3OIB);
+        __HTXC=(____M)((____M)(__NPYC - (____M)(__NPYC -  1)) +  1);
+        if ((__HTXC >  0)) {
+          __VPYC=(____M)(__NPYC +  1);
+          __WPYC=__GTXC->__3RJ;
+          __YPYC=__VPYC;
+          while ((__YPYC <= __WPYC)) {
+            ((____5 *)__GTXC->__GTJ)[(____M)((____M)(__YPYC - __HTXC) -  1)]=((____5 *)__GTXC->__GTJ)[(____M)(__YPYC -  1)];
+            __YPYC=(____M)(__YPYC +  1);
+          };
+          __GTXC->__3RJ=(____M)(__GTXC->__3RJ - __HTXC);
+        };
+        __NPYC=(____M)(__NPYC -  2);
+        __5OIB= 1;
+      };
+      if ((__1DRB ==  3)) {
+        __GTXC=((____YB *)__3OIB);
+        __HTXC=(____M)(__NPYC -  4);
+        while ((! ((__HTXC <  1) || ('/' == ((____5 *)__GTXC->__GTJ)[(____M)(__HTXC -  1)])))) {
+          __HTXC=(____M)(__HTXC -  1);
+        };
+        if ((__HTXC ==  0)) {
+          __ITXC=((____YB *)__3OIB);
+          __VPYC=(____M)(__NPYC -  1);
+          if ((__VPYC > __ITXC->__3RJ)) {
+            __ITXC->__3RJ= 0;
+          } else /* FALSE */ {
+            if ((__VPYC >  0)) {
+              __ZPYC=(____M)((____M)(__VPYC -  1) +  1);
+              if ((__ZPYC >  0)) {
+                __LQYC=(____M)(__VPYC +  1);
+                __NQYC=__ITXC->__3RJ;
+                __OQYC=__LQYC;
+                while ((__OQYC <= __NQYC)) {
+                  ((____5 *)__ITXC->__GTJ)[(____M)((____M)(__OQYC - __ZPYC) -  1)]=((____5 *)__ITXC->__GTJ)[(____M)(__OQYC -  1)];
+                  __OQYC=(____M)(__OQYC +  1);
+                };
+                __ITXC->__3RJ=(____M)(__ITXC->__3RJ - __ZPYC);
+              };
+            };
+          };
+          __NPYC= 1;
+        } else /* FALSE */ {
+          __ITXC=((____YB *)__3OIB);
+          __VPYC=(____M)(__NPYC -  1);
+          __WPYC=(____M)((____M)(__VPYC - __HTXC) +  1);
+          if ((__WPYC >  0)) {
+            __ZPYC=(____M)(__VPYC +  1);
+            __LQYC=__ITXC->__3RJ;
+            __NQYC=__ZPYC;
+            while ((__NQYC <= __LQYC)) {
+              ((____5 *)__ITXC->__GTJ)[(____M)((____M)(__NQYC - __WPYC) -  1)]=((____5 *)__ITXC->__GTJ)[(____M)(__NQYC -  1)];
+              __NQYC=(____M)(__NQYC +  1);
+            };
+            __ITXC->__3RJ=(____M)(__ITXC->__3RJ - __WPYC);
+          };
+          __NPYC=__HTXC;
+        };
+        __5OIB= 1;
+      };
+      __HRIB=__G__;
+    } else /* FALSE */ {
+      __HRIB=__K__;
+    };
+    if (__HRIB) {
+      __HRIB=__G__;
+    } else /* FALSE */ {
+      __PAQB=(__OPIB == '.');
+      if (__PAQB) {
+        __HTXC=__5OIB;
+        if ((__5OIB ==  1)) {
+          __5OIB= 2;
+        };
+        if ((__HTXC ==  2)) {
+          __5OIB= 3;
+        };
+        if ((__HTXC ==  3)) {
+          __5OIB= 0;
+        };
+      };
+      __HRIB=__PAQB;
+    };
+    if ((! __HRIB)) {
+      if (((__OPIB == ':') && (__NPYC >  2))) {
+        __VKIB=((____5 *)((____YB *)__3OIB)->__GTJ)[(____M)((____M)(__NPYC -  1) -  1)];
+        __XKIB=__K__;
+        if ((((____0V )__VKIB) >= ((____0V )'a'))) {
+          __XKIB=(((____0V )__VKIB) <= ((____0V )'z'));
+          __BLIB=__G__;
+        } else /* FALSE */ {
+          __BLIB=__K__;
+        };
+        if ((! __BLIB)) {
+          if ((((____0V )__VKIB) >= ((____0V )'A'))) {
+            __XKIB=(((____0V )__VKIB) <= ((____0V )'Z'));
+          };
+        };
+        __BLIB=__XKIB;
+      } else /* FALSE */ {
+        __BLIB=__K__;
+      };
+      if ((__BLIB && (((____5 *)((____YB *)__3OIB)->__GTJ)[(____M)((____M)(__NPYC -  2) -  1)] == '/'))) {
+        __GTXC=((____YB *)__3OIB);
+        __HTXC=(____M)(__NPYC -  2);
+        if ((__HTXC > __GTXC->__3RJ)) {
+          __GTXC->__3RJ= 0;
+        } else /* FALSE */ {
+          if ((__HTXC >  0)) {
+            __ZPYC=(____M)((____M)(__HTXC -  1) +  1);
+            if ((__ZPYC >  0)) {
+              __OQYC=(____M)(__HTXC +  1);
+              __3QYC=__GTXC->__3RJ;
+              __4QYC=__OQYC;
+              while ((__4QYC <= __3QYC)) {
+                ((____5 *)__GTXC->__GTJ)[(____M)((____M)(__4QYC - __ZPYC) -  1)]=((____5 *)__GTXC->__GTJ)[(____M)(__4QYC -  1)];
+                __4QYC=(____M)(__4QYC +  1);
+              };
+              __GTXC->__3RJ=(____M)(__GTXC->__3RJ - __ZPYC);
+            };
+          };
+        };
+        __NPYC= 1;
+      } else /* FALSE */ {
+        __5OIB= 0;
+      };
+    };
+    __NPYC=(____M)(__NPYC +  1);
+  };
+  if ((__5OIB ==  1)) {
+    __GTXC=((____YB *)__3OIB);
+    if (( 1 > __GTXC->__3RJ)) {
+      __GTXC->__3RJ= 0;
+    } else /* FALSE */ {
+      __GTXC->__3RJ=(____M)(__GTXC->__3RJ -  1);
+    };
+  };
+  if ((__5OIB ==  2)) {
+    __GTXC=((____YB *)__3OIB);
+    if (( 2 > __GTXC->__3RJ)) {
+      __GTXC->__3RJ= 0;
+    } else /* FALSE */ {
+      __GTXC->__3RJ=(____M)(__GTXC->__3RJ -  2);
+    };
+  };
+  if ((__5OIB ==  3)) {
+    __GTXC=((____YB *)__3OIB);
+    __1DRB=(____M)(__NPYC -  4);
+    while ((! ((__1DRB <  1) || ('/' == ((____5 *)__GTXC->__GTJ)[(____M)(__1DRB -  1)])))) {
+      __1DRB=(____M)(__1DRB -  1);
+    };
+    if ((__1DRB ==  0)) {
+      ((____YB *)__3OIB)->__3RJ= 0;
+    } else /* FALSE */ {
+      __ITXC=((____YB *)__3OIB);
+      __HTXC=(____M)(__NPYC -  1);
+      __VPYC=(____M)((____M)(__HTXC - __1DRB) +  1);
+      if ((__VPYC >  0)) {
+        __WPYC=(____M)(__HTXC +  1);
+        __YPYC=__ITXC->__3RJ;
+        __ZPYC=__WPYC;
+        while ((__ZPYC <= __YPYC)) {
+          ((____5 *)__ITXC->__GTJ)[(____M)((____M)(__ZPYC - __VPYC) -  1)]=((____5 *)__ITXC->__GTJ)[(____M)(__ZPYC -  1)];
+          __ZPYC=(____M)(__ZPYC +  1);
+        };
+        __ITXC->__3RJ=(____M)(__ITXC->__3RJ - __VPYC);
+      };
+    };
+  };
+  if ((((____YB *)__3OIB)->__3RJ ==  0)) {
+    __G1K(((____YB *)__3OIB),'/');
+  };
+}
+
+static ____M __AEV(____YB *__BEV,____W *__CEV,____M __DEV)
+// ({__YB},{__W},{__M}) With result No recursive, No inlinable.
+{
+  ____M __FEV,__HEV,__GEV;
+  __FEV= 0;
+  __HEV= 0;
+  __GEV=__DEV;
+  while ((! ((__HEV !=  0) || ((____M)((____M)(__GEV + __CEV->__AD) -  1) > __BEV->__3RJ)))) {
+    __FEV= 1;
+    while ((! ((__FEV > __CEV->__AD) || (((____5 *)__BEV->__GTJ)[(____M)((____M)((____M)(__GEV + __FEV) -  1) -  1)] != ((____5 *)__CEV->__BD)[(____M)(__FEV -  1)])))) {
+      __FEV=(____M)(__FEV +  1);
+    };
+    if ((__FEV > __CEV->__AD)) {
+      __HEV=__GEV;
+    } else /* FALSE */ {
+      __GEV=(____M)(__GEV +  1);
+    };
+  };
+  __FEV=__HEV;
+  return(__FEV);
+}
+
+static void* __1E4B(____W3M *__2E4B,void *__3E4B)
+// ({__W3M},{NULLx__Wx__YB}) With result No recursive, No inlinable.
+{
+  ____M __AF4B,__EF4B,__PF4B,__YG4B,__JXVC,__CAXC,__55WC,__DH4B,__EH4B;
+  ____M __KH4B,__PH4B;
+  ____YB *__GF4B,*__HF4B,*__MF4B,*__XG4B,*__PXVC,*__LH4B,*__AYVC;
+  void *__4E4B;
+  ____5 *__AAXC,*__BAXC,*__HAXC,*__IAXC;
+  ____H __3G4B;
+  __AF4B= 0;
+  if (((struct ___OBJ *)__3E4B)->__id==____W__) {
+    __EF4B=((____W *)__3E4B)->__AD;
+  } else /* STRING */ {
+    __EF4B=((____YB *)__3E4B)->__3RJ;
+  };
+  __GF4B=__OR(__EF4B);
+  __HF4B=__OR( 256);
+  __XWL(((____YB *)__HF4B),(&__string_10));
+  __XWL(((____YB *)__GF4B),__3E4B);
+  __EF4B= 1;
+  __2S4B:
+  {
+    __MF4B=__2E4B->__IH3B;
+    __PF4B=__AEV(((____YB *)__MF4B),(&__string_56),__EF4B);
+    if ((__PF4B !=  0)) {
+      __AF4B=(____M)(__PF4B +  7);
+      while (((((____0V )((____5 *)((____YB *)__2E4B->__IH3B)->__GTJ)[(____M)(__AF4B -  1)]) == ((____0V )' ')) || (((____0V )((____5 *)((____YB *)__2E4B->__IH3B)->__GTJ)[(____M)(__AF4B -  1)]) == ((____0V )'\n')))) {
+        __AF4B=(____M)(__AF4B +  1);
+      };
+      __XG4B=__2E4B->__IH3B;
+      if (((struct ___OBJ *)__3E4B)->__id==____W__) {
+        __YG4B=((____W *)__3E4B)->__AD;
+      } else /* STRING */ {
+        __YG4B=((____YB *)__3E4B)->__3RJ;
+      };
+      __PXVC=((____YB *)__XG4B);
+      __JXVC=(____M)((____M)(__AF4B + __YG4B) -  1);
+      __YG4B=(____M)((____M)(__JXVC - __AF4B) +  1);
+      __XG4B=__OR(__YG4B);
+      ((____YB *)__XG4B)->__3RJ=__YG4B;
+      __AAXC=((____5 *)__XG4B->__GTJ);
+      __BAXC=__PXVC->__GTJ;
+      __YG4B=(____M)(__AF4B -  1);
+      __CAXC=(____M)(__JXVC -  1);
+      __JXVC= 0;
+      __55WC=__YG4B;
+      while ((__55WC <= __CAXC)) {
+        __AAXC[__JXVC]=((____5 *)__BAXC)[__55WC];
+        __55WC=(____M)(__55WC +  1);
+        __JXVC=(____M)(__JXVC +  1);
+      };
+      __3G4B=__5TJ(((____YB *)__XG4B),__GF4B);
+      if (__3G4B) {
+        if (((struct ___OBJ *)__3E4B)->__id==____W__) {
+          __DH4B=((____W *)__3E4B)->__AD;
+        } else /* STRING */ {
+          __DH4B=((____YB *)__3E4B)->__3RJ;
+        };
+        __EH4B=(____M)(__AF4B + __DH4B);
+        __EF4B=(____M)(__EH4B -  7);
+        do {
+          __KH4B=(____M)(__EF4B +  7);
+          __AF4B=__KH4B;
+          __LH4B=__2E4B->__IH3B;
+          __PH4B=__AEV(((____YB *)__LH4B),(&__string_56),__KH4B);
+          __EF4B=__PH4B;
+        } while (((__PH4B !=  0) && (((((____5 *)((____YB *)__2E4B->__IH3B)->__GTJ)[(____M)((____M)(__PH4B -  1) -  1)] != '\n') && (((____5 *)((____YB *)__2E4B->__IH3B)->__GTJ)[(____M)((____M)(__PH4B -  1) -  1)] != ' ')) || ((((____5 *)((____YB *)__2E4B->__IH3B)->__GTJ)[(____M)((____M)(__PH4B +  7) -  1)] != ' ') && (((____5 *)((____YB *)__2E4B->__IH3B)->__GTJ)[(____M)((____M)(__PH4B +  7) -  1)] != '\n')))));
+        if ((__EF4B ==  0)) {
+          __EF4B=__2E4B->__IH3B->__3RJ;
+        };
+        __LH4B=((____YB *)__2E4B->__IH3B);
+        __DH4B=(____M)(__EF4B -  1);
+        __KH4B=(____M)((____M)(__DH4B - __EH4B) +  1);
+        __AYVC=__OR(__KH4B);
+        ((____YB *)__AYVC)->__3RJ=__KH4B;
+        __HAXC=((____5 *)__AYVC->__GTJ);
+        __IAXC=__LH4B->__GTJ;
+        __KH4B=(____M)(__EH4B -  1);
+        __EH4B=(____M)(__DH4B -  1);
+        __DH4B= 0;
+        __PH4B=__KH4B;
+        while ((__PH4B <= __EH4B)) {
+          __HAXC[__DH4B]=((____5 *)__IAXC)[__PH4B];
+          __PH4B=(____M)(__PH4B +  1);
+          __DH4B=(____M)(__DH4B +  1);
+        };
+        __G1N(((____YB *)__HF4B),__AYVC);
+      } else /* FALSE */ {
+        __EF4B=(____M)(__EF4B +  8);
+      };
+      goto __2S4B;
+    };
+  };
+  __4E4B=__HF4B;
+  return(__4E4B);
+}
+
+static void* __424B(____W3M *__524B,void *__A34B)
+// ({__W3M},{NULLx__503Bx__M13Bx__W13B}) With result No recursive, No inlinable.
+{
+  ____M __D34B,__E34B,__MTXC,__ZTXC,__W5TC,__GD5B,__LUXC,__GZVC,__FZVC;
+  ____M __HZVC,__3AXC,__MBXC,__3UXC,__WZVC,__VZVC,__XZVC,__TBXC,__PVXC;
+  ____M __G0VC,__F0VC,__BCXC;
+  ____ZSY *__KTXC,*__I34B,*__ICXC;
+  ____EB __LTXC,__NTXC,__OTXC,__PTXC,__2ZCC,__C0CC,__QVWC,__SVWC,__URYC;
+  ____EB __VRYC;
+  ____RL __QTXC,__TVWC,__WRYC;
+  void *__J34B;
+  ____YB *__L34B,*__0TXC,*__LZVC,*__IZVC,*__T5O,*__ADDC,*__QZVC,*__4UXC;
+  ____YB *__1ZVC,*__YZVC,*__QVXC,*__I0VC;
+  ____X0O *__1ZCC,*__EDDC,*__VFDC;
+  ____0SY *__JBEC,*__5WGC;
+  ____5 *__4AXC,*__5AXC,*__UBXC,*__VBXC,*__CCXC,*__DCXC;
+  ____44DC *__QRYC,*__3RYC;
+  __D34B= 0;
+  __E34B= 0;
+  __KTXC=NULL;
+  __LTXC=((____EB )(NULL));
+  __MTXC= 0;
+  __NTXC=((____EB )sizeof(____ZSY));
+  if (((unsigned long)__NTXC ==  0)) {
+    __KTXC=__ZSY__;
+  } else /* FALSE */ {
+    __MTXC=____ZSY__;
+    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__NTXC));
+    if ((__MTXC == (____M)(-  1))) {
+      __OTXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __PTXC=(void *)((unsigned long)(void *)((unsigned long)__NTXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__OTXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__OTXC) - (unsigned long)((____EB ) 1)));
+      __QTXC=((____RL )((____M )(void *)((unsigned long)__PTXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __OTXC=__R4(__PTXC,((____EB )(&(table_size[(__QTXC)-1]))),((____RL )((____M )__PTXC)));
+      __LTXC=__OTXC;
+    } else /* FALSE */ {
+      __QTXC=((____RL )__MTXC);
+      __OTXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __PTXC=(void *)((unsigned long)(void *)((unsigned long)__NTXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__OTXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__OTXC) - (unsigned long)((____EB ) 1)));
+      __OTXC=__R4(__PTXC,((____EB )(&(table_type[(__QTXC)]))),(____RL)(__QTXC |  1));
+      __LTXC=__OTXC;
+    };
+    __KTXC=((____ZSY *)__LTXC);
+    *(__KTXC) = *(__ZSY__);
+  };
+  __I34B=__KTXC;
+  switch (((struct ___OBJ *)__A34B)->__id) {
+  case ____503B__: {
+    __J34B=((____503B *)__A34B)->__Y1BC;
+  } break;
+  case ____M13B__: {
+    __J34B=(&__string_57);
+  } break;
+  case ____W13B__: {
+    __J34B=(&__string_58);
+  } break;
+  };
+  __L34B=__1E4B(__524B,__J34B);
+  __MTXC= 1;
+  while ((__MTXC != (____M)(__L34B->__3RJ +  1))) {
+    __E34B=__MTXC;
+    __D34B=__MTXC;
+    do {
+      __0TXC=((____YB *)__L34B);
+      __ZTXC=(____M)(__MTXC +  1);
+      while ((! ((__ZTXC > __0TXC->__3RJ) || ('+' == ((____5 *)__0TXC->__GTJ)[(____M)(__ZTXC -  1)])))) {
+        __ZTXC=(____M)(__ZTXC +  1);
+      };
+      __MTXC=__ZTXC;
+    } while ((((((____0V )((____5 *)((____YB *)__L34B)->__GTJ)[(____M)((____M)(__ZTXC -  1) -  1)]) == ((____0V )'\'')) && (((____0V )((____5 *)((____YB *)__L34B)->__GTJ)[(____M)((____M)(__ZTXC +  1) -  1)]) == ((____0V )'\''))) && (__ZTXC != (____M)(__L34B->__3RJ +  1))));
+    do {
+      __0TXC=((____YB *)__L34B);
+      __ZTXC=(____M)(__D34B +  1);
+      while ((! ((__ZTXC > __0TXC->__3RJ) || ('-' == ((____5 *)__0TXC->__GTJ)[(____M)(__ZTXC -  1)])))) {
+        __ZTXC=(____M)(__ZTXC +  1);
+      };
+      __D34B=__ZTXC;
+    } while ((((((____0V )((____5 *)((____YB *)__L34B)->__GTJ)[(____M)((____M)(__ZTXC -  1) -  1)]) == ((____0V )'<')) || ((((____0V )((____5 *)((____YB *)__L34B)->__GTJ)[(____M)((____M)(__ZTXC -  1) -  1)]) == ((____0V )'\'')) && (((____0V )((____5 *)((____YB *)__L34B)->__GTJ)[(____M)((____M)(__ZTXC +  1) -  1)]) == ((____0V )'\'')))) && (__ZTXC != (____M)(__L34B->__3RJ +  1))));
+    do {
+      __0TXC=((____YB *)__L34B);
+      __ZTXC=(____M)(__E34B +  1);
+      while ((! ((__ZTXC > __0TXC->__3RJ) || ('*' == ((____5 *)__0TXC->__GTJ)[(____M)(__ZTXC -  1)])))) {
+        __ZTXC=(____M)(__ZTXC +  1);
+      };
+      __E34B=__ZTXC;
+    } while ((((((____0V )((____5 *)((____YB *)__L34B)->__GTJ)[(____M)((____M)(__ZTXC -  1) -  1)]) == ((____0V )'\'')) && (((____0V )((____5 *)((____YB *)__L34B)->__GTJ)[(____M)((____M)(__ZTXC +  1) -  1)]) == ((____0V )'\''))) && (__ZTXC != (____M)(__L34B->__3RJ +  1))));
+    __ZTXC= 0;
+    if ((__D34B > __E34B)) {
+      __ZTXC=__E34B;
+    } else /* FALSE */ {
+      __ZTXC=__D34B;
+    };
+    __W5TC= 0;
+    if ((__MTXC > __ZTXC)) {
+      __W5TC=__ZTXC;
+    } else /* FALSE */ {
+      __W5TC=__MTXC;
+    };
+    __MTXC=__W5TC;
+    if ((__W5TC != (____M)(__L34B->__3RJ +  1))) {
+      __GD5B=__AEV(((____YB *)__L34B),(&__string_44),(____M)(__W5TC +  1));
+      __D34B=__GD5B;
+      __0TXC=((____YB *)__L34B);
+      __LUXC=(____M)(__W5TC +  1);
+      while ((! ((__LUXC > __0TXC->__3RJ) || (';' == ((____5 *)__0TXC->__GTJ)[(____M)(__LUXC -  1)])))) {
+        __LUXC=(____M)(__LUXC +  1);
+      };
+      if (((__GD5B > __LUXC) || (__GD5B ==  0))) {
+        __D34B=__LUXC;
+      };
+      __GD5B=__AEV(((____YB *)__L34B),(&__string_59),(____M)(__W5TC +  1));
+      __E34B=__GD5B;
+      if ((((__D34B > __GD5B) || (__D34B == (____M)(__L34B->__3RJ +  1))) && (__GD5B !=  0))) {
+        __LZVC=((____YB *)__L34B);
+        __GZVC=(____M)(__W5TC +  1);
+        __FZVC=(____M)(__GD5B -  1);
+        __HZVC=(____M)((____M)(__FZVC - __GZVC) +  1);
+        __IZVC=__OR(__HZVC);
+        ((____YB *)__IZVC)->__3RJ=__HZVC;
+        __4AXC=((____5 *)__IZVC->__GTJ);
+        __5AXC=__LZVC->__GTJ;
+        __HZVC=(____M)(__GZVC -  1);
+        __GZVC=(____M)(__FZVC -  1);
+        __FZVC= 0;
+        __3AXC=__HZVC;
+        while ((__3AXC <= __GZVC)) {
+          __4AXC[__FZVC]=((____5 *)__5AXC)[__3AXC];
+          __3AXC=(____M)(__3AXC +  1);
+          __FZVC=(____M)(__FZVC +  1);
+        };
+        __GZVC= 0;
+        __LZVC=NULL;
+        __1ZCC=NULL;
+        __2ZCC=((____EB )(NULL));
+        __FZVC= 0;
+        __C0CC=((____EB )sizeof(____X0O));
+        if (((unsigned long)__C0CC ==  0)) {
+          __1ZCC=__X0O__;
+        } else /* FALSE */ {
+          __FZVC=____X0O__;
+          __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C0CC));
+          if ((__FZVC == (____M)(-  1))) {
+            __QVWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+            __SVWC=(void *)((unsigned long)(void *)((unsigned long)__C0CC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__QVWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__QVWC) - (unsigned long)((____EB ) 1)));
+            __TVWC=((____RL )((____M )(void *)((unsigned long)__SVWC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+            __QVWC=__R4(__SVWC,((____EB )(&(table_size[(__TVWC)-1]))),((____RL )((____M )__SVWC)));
+            __2ZCC=__QVWC;
+          } else /* FALSE */ {
+            __TVWC=((____RL )__FZVC);
+            __QVWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+            __SVWC=(void *)((unsigned long)(void *)((unsigned long)__C0CC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__QVWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__QVWC) - (unsigned long)((____EB ) 1)));
+            __QVWC=__R4(__SVWC,((____EB )(&(table_type[(__TVWC)]))),(____RL)(__TVWC |  1));
+            __2ZCC=__QVWC;
+          };
+          __1ZCC=((____X0O *)__2ZCC);
+          *(__1ZCC) = *(__X0O__);
+        };
+        __EDDC=__1ZCC;
+        __JBEC=NULL;
+        __2ZCC=((____EB )(NULL));
+        __FZVC= 0;
+        __C0CC=((____EB )sizeof(____0SY));
+        if (((unsigned long)__C0CC ==  0)) {
+          __JBEC=__0SY__;
+        } else /* FALSE */ {
+          __FZVC=____0SY__;
+          __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__C0CC));
+          if ((__FZVC == (____M)(-  1))) {
+            __QVWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+            __SVWC=(void *)((unsigned long)(void *)((unsigned long)__C0CC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__QVWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__QVWC) - (unsigned long)((____EB ) 1)));
+            __TVWC=((____RL )((____M )(void *)((unsigned long)__SVWC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+            __QVWC=__R4(__SVWC,((____EB )(&(table_size[(__TVWC)-1]))),((____RL )((____M )__SVWC)));
+            __2ZCC=__QVWC;
+          } else /* FALSE */ {
+            __TVWC=((____RL )__FZVC);
+            __QVWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+            __SVWC=(void *)((unsigned long)(void *)((unsigned long)__C0CC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__QVWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__QVWC) - (unsigned long)((____EB ) 1)));
+            __QVWC=__R4(__SVWC,((____EB )(&(table_type[(__TVWC)]))),(____RL)(__TVWC |  1));
+            __2ZCC=__QVWC;
+          };
+          __JBEC=((____0SY *)__2ZCC);
+          *(__JBEC) = *(__0SY__);
+        };
+        __T5O=((____YB *)__IZVC);
+        while ((! ((__T5O->__3RJ ==  0) || (((____5 *)__T5O->__GTJ)[(____M)(__T5O->__3RJ -  1)] != ' ')))) {
+          __T5O->__3RJ=(____M)(__T5O->__3RJ -  1);
+        };
+        __3AP(((____YB *)__IZVC));
+        __T5O=__OR( 4);
+        __ADDC=__T5O;
+        __XWL(((____YB *)__T5O),(&__string_60));
+        __T5O=((____YB *)__IZVC);
+        __4AXC=__T5O->__GTJ;
+        __FZVC=(____M)(__T5O->__3RJ -  1);
+        __5AXC=((____5 *)__4AXC);
+        __HZVC=__FZVC;
+        while ((__HZVC >=  0)) {
+          if (('\t' == __5AXC[__HZVC])) {
+            __5AXC[__HZVC]=' ';
+          };
+          __HZVC=(____M)(__HZVC -  1);
+        };
+        __G1N(((____YB *)__IZVC),(&__string_34));
+        __T5O=((____YB *)__IZVC);
+        __FZVC= 1;
+        while ((! ((__FZVC > __T5O->__3RJ) || (' ' == ((____5 *)__T5O->__GTJ)[(____M)(__FZVC -  1)])))) {
+          __FZVC=(____M)(__FZVC +  1);
+        };
+        __T5O=((____YB *)__IZVC);
+        __HZVC= 1;
+        while ((! ((__HZVC > __T5O->__3RJ) || (':' == ((____5 *)__T5O->__GTJ)[(____M)(__HZVC -  1)])))) {
+          __HZVC=(____M)(__HZVC +  1);
+        };
+        __3AXC= 0;
+        if ((__FZVC > __HZVC)) {
+          __3AXC=__HZVC;
+        } else /* FALSE */ {
+          __3AXC=__FZVC;
+        };
+        __FZVC=__3AXC;
+        __T5O=((____YB *)__IZVC);
+        __HZVC=(____M)(__3AXC -  1);
+        __3AXC=(____M)((____M)(__HZVC -  1) +  1);
+        __QZVC=__OR(__3AXC);
+        ((____YB *)__QZVC)->__3RJ=__3AXC;
+        __4AXC=((____5 *)__QZVC->__GTJ);
+        __5AXC=__T5O->__GTJ;
+        __3AXC=(____M)(__HZVC -  1);
+        __HZVC= 0;
+        __MBXC= 0;
+        while ((__MBXC <= __3AXC)) {
+          __4AXC[__HZVC]=((____5 *)__5AXC)[__MBXC];
+          __MBXC=(____M)(__MBXC +  1);
+          __HZVC=(____M)(__HZVC +  1);
+        };
+        __T5O=((____YB *)__QZVC);
+        __4AXC=__T5O->__GTJ;
+        __HZVC=(____M)(__T5O->__3RJ -  1);
+        __5AXC=((____5 *)__4AXC);
+        __3AXC=__HZVC;
+        while ((__3AXC >=  0)) {
+          if (('<' == __5AXC[__3AXC])) {
+            __5AXC[__3AXC]='c';
+          };
+          __3AXC=(____M)(__3AXC -  1);
+        };
+        __T5O=((____YB *)__QZVC);
+        __4AXC=__T5O->__GTJ;
+        __HZVC=(____M)(__T5O->__3RJ -  1);
+        __5AXC=((____5 *)__4AXC);
+        __3AXC=__HZVC;
+        while ((__3AXC >=  0)) {
+          if (('&' == __5AXC[__3AXC])) {
+            __5AXC[__3AXC]='é';
+          };
+          __3AXC=(____M)(__3AXC -  1);
+        };
+        __0LDC:
+        {
+          __4UXC=((____YB *)__IZVC);
+          __3UXC=__FZVC;
+          while ((! ((__3UXC > __4UXC->__3RJ) || (':' == ((____5 *)__4UXC->__GTJ)[(____M)(__3UXC -  1)])))) {
+            __3UXC=(____M)(__3UXC +  1);
+          };
+          if ((__3UXC != (____M)(__IZVC->__3RJ +  1))) {
+            if (((____M)(__3UXC - __FZVC) <  2)) {
+              __1ZVC=((____YB *)__IZVC);
+              __WZVC=(____M)(__3UXC +  1);
+              __VZVC=(____M)(__IZVC->__3RJ -  1);
+              __XZVC=(____M)((____M)(__VZVC - __WZVC) +  1);
+              __YZVC=__OR(__XZVC);
+              ((____YB *)__YZVC)->__3RJ=__XZVC;
+              __UBXC=((____5 *)__YZVC->__GTJ);
+              __VBXC=__1ZVC->__GTJ;
+              __XZVC=(____M)(__WZVC -  1);
+              __WZVC=(____M)(__VZVC -  1);
+              __VZVC= 0;
+              __TBXC=__XZVC;
+              while ((__TBXC <= __WZVC)) {
+                __UBXC[__VZVC]=((____5 *)__VBXC)[__TBXC];
+                __TBXC=(____M)(__TBXC +  1);
+                __VZVC=(____M)(__VZVC +  1);
+              };
+              __ADDC=__YZVC;
+              __FZVC=__IZVC->__3RJ;
+            } else /* FALSE */ {
+              __1ZVC=((____YB *)__IZVC);
+              __WZVC=(____M)(__3UXC +  1);
+              while ((! ((__WZVC > __1ZVC->__3RJ) || (' ' == ((____5 *)__1ZVC->__GTJ)[(____M)(__WZVC -  1)])))) {
+                __WZVC=(____M)(__WZVC +  1);
+              };
+              __1ZVC=((____YB *)__IZVC);
+              __VZVC=(____M)(__3UXC +  1);
+              while ((! ((__VZVC > __1ZVC->__3RJ) || (',' == ((____5 *)__1ZVC->__GTJ)[(____M)(__VZVC -  1)])))) {
+                __VZVC=(____M)(__VZVC +  1);
+              };
+              __XZVC= 0;
+              if ((__WZVC > __VZVC)) {
+                __XZVC=__VZVC;
+              } else /* FALSE */ {
+                __XZVC=__WZVC;
+              };
+              __GZVC=__XZVC;
+              __1ZVC=((____YB *)__IZVC);
+              __WZVC=(____M)(__FZVC +  1);
+              __VZVC=(____M)(__XZVC -  1);
+              __XZVC=(____M)((____M)(__VZVC - __WZVC) +  1);
+              __YZVC=__OR(__XZVC);
+              ((____YB *)__YZVC)->__3RJ=__XZVC;
+              __UBXC=((____5 *)__YZVC->__GTJ);
+              __VBXC=__1ZVC->__GTJ;
+              __XZVC=(____M)(__WZVC -  1);
+              __WZVC=(____M)(__VZVC -  1);
+              __VZVC= 0;
+              __TBXC=__XZVC;
+              while ((__TBXC <= __WZVC)) {
+                __UBXC[__VZVC]=((____5 *)__VBXC)[__TBXC];
+                __TBXC=(____M)(__TBXC +  1);
+                __VZVC=(____M)(__VZVC +  1);
+              };
+              __LZVC=__YZVC;
+              __1ZVC=((____YB *)__YZVC);
+              __UBXC=__1ZVC->__GTJ;
+              __WZVC=(____M)(__1ZVC->__3RJ -  1);
+              __VBXC=((____5 *)__UBXC);
+              __VZVC= 0;
+              __XZVC=__WZVC;
+              while ((__XZVC >=  0)) {
+                if ((':' == __VBXC[__XZVC])) {
+                  __VZVC=(____M)(__VZVC +  1);
+                };
+                __XZVC=(____M)(__XZVC -  1);
+              };
+              if ((__VZVC >  1)) {
+                __QVXC=((____YB *)__IZVC);
+                __PVXC=(____M)(__3UXC +  1);
+                while ((! ((__PVXC > __QVXC->__3RJ) || (':' == ((____5 *)__QVXC->__GTJ)[(____M)(__PVXC -  1)])))) {
+                  __PVXC=(____M)(__PVXC +  1);
+                };
+                __GZVC=__PVXC;
+                __QVXC=((____YB *)__IZVC);
+                __G0VC=(____M)(__FZVC +  1);
+                __F0VC=(____M)(__PVXC -  1);
+                __PVXC=(____M)((____M)(__F0VC - __G0VC) +  1);
+                __I0VC=__OR(__PVXC);
+                ((____YB *)__I0VC)->__3RJ=__PVXC;
+                __CCXC=((____5 *)__I0VC->__GTJ);
+                __DCXC=__QVXC->__GTJ;
+                __PVXC=(____M)(__G0VC -  1);
+                __G0VC=(____M)(__F0VC -  1);
+                __F0VC= 0;
+                __BCXC=__PVXC;
+                while ((__BCXC <= __G0VC)) {
+                  __CCXC[__F0VC]=((____5 *)__DCXC)[__BCXC];
+                  __BCXC=(____M)(__BCXC +  1);
+                  __F0VC=(____M)(__F0VC +  1);
+                };
+                __LZVC=__I0VC;
+              };
+              __VFDC=__ESCC(__LZVC,__A34B);
+              __Z0DC(((____X0O *)__EDDC),__VFDC);
+              __FZVC=__GZVC;
+            };
+            goto __0LDC;
+          };
+        };
+        __YVAC(((____YB *)__ADDC));
+        __5WGC=((____0SY *)__JBEC);
+        __5WGC->__EXGC=__QZVC;
+        __5WGC->__FXGC=__ADDC;
+        __5WGC->__GXGC=__1ZCC;
+        __5WGC->__HXGC=__A34B;
+        __ICXC=((____ZSY *)__I34B);
+        if (((void *)__ICXC->__ETY.__B5DC == (void *)NULL)) {
+          __QRYC=NULL;
+          __QVWC=((____EB )(NULL));
+          __3UXC= 0;
+          __SVWC=((____EB )sizeof(____44DC));
+          if (((unsigned long)__SVWC ==  0)) {
+            __QRYC=__44DC__;
+          } else /* FALSE */ {
+            __3UXC=____44DC__;
+            __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SVWC));
+            if ((__3UXC == (____M)(-  1))) {
+              __URYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __VRYC=(void *)((unsigned long)(void *)((unsigned long)__SVWC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__URYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__URYC) - (unsigned long)((____EB ) 1)));
+              __WRYC=((____RL )((____M )(void *)((unsigned long)__VRYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+              __URYC=__R4(__VRYC,((____EB )(&(table_size[(__WRYC)-1]))),((____RL )((____M )__VRYC)));
+              __QVWC=__URYC;
+            } else /* FALSE */ {
+              __WRYC=((____RL )__3UXC);
+              __URYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __VRYC=(void *)((unsigned long)(void *)((unsigned long)__SVWC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__URYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__URYC) - (unsigned long)((____EB ) 1)));
+              __URYC=__R4(__VRYC,((____EB )(&(table_type[(__WRYC)]))),(____RL)(__WRYC |  1));
+              __QVWC=__URYC;
+            };
+            __QRYC=((____44DC *)__QVWC);
+            *(__QRYC) = *(__44DC__);
+          };
+          __3RYC=((____44DC *)__QRYC);
+          __3RYC->__HDFC=__JBEC;
+          __3RYC->__EUFC=NULL;
+          __ICXC->__ETY.__B5DC=__QRYC;
+          __ICXC->__ETY.__DTY.__HV5B= 1;
+          __ICXC->__ETY.__K5DC=__ICXC->__ETY.__B5DC;
+          __ICXC->__ETY.__L5DC= 1;
+          __ICXC->__ETY.__N5DC=__ICXC->__ETY.__B5DC;
+        } else /* FALSE */ {
+          __QRYC=NULL;
+          __QVWC=((____EB )(NULL));
+          __3UXC= 0;
+          __SVWC=((____EB )sizeof(____44DC));
+          if (((unsigned long)__SVWC ==  0)) {
+            __QRYC=__44DC__;
+          } else /* FALSE */ {
+            __3UXC=____44DC__;
+            __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SVWC));
+            if ((__3UXC == (____M)(-  1))) {
+              __URYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __VRYC=(void *)((unsigned long)(void *)((unsigned long)__SVWC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__URYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__URYC) - (unsigned long)((____EB ) 1)));
+              __WRYC=((____RL )((____M )(void *)((unsigned long)__VRYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+              __URYC=__R4(__VRYC,((____EB )(&(table_size[(__WRYC)-1]))),((____RL )((____M )__VRYC)));
+              __QVWC=__URYC;
+            } else /* FALSE */ {
+              __WRYC=((____RL )__3UXC);
+              __URYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+              __VRYC=(void *)((unsigned long)(void *)((unsigned long)__SVWC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__URYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__URYC) - (unsigned long)((____EB ) 1)));
+              __URYC=__R4(__VRYC,((____EB )(&(table_type[(__WRYC)]))),(____RL)(__WRYC |  1));
+              __QVWC=__URYC;
+            };
+            __QRYC=((____44DC *)__QVWC);
+            *(__QRYC) = *(__44DC__);
+          };
+          __3RYC=((____44DC *)__QRYC);
+          __3RYC->__HDFC=__JBEC;
+          __3RYC->__EUFC=NULL;
+          ((____44DC *)__ICXC->__ETY.__K5DC)->__EUFC=__QRYC;
+          __ICXC->__ETY.__DTY.__HV5B=(____M)(__ICXC->__ETY.__DTY.__HV5B +  1);
+          __ICXC->__ETY.__K5DC=__QRYC;
+        };
+      };
+    };
+  };
+  __J34B=__KTXC;
+  return(__J34B);
+}
+
+static void __VZDC(____ZSY *__WZDC,____ZSY *__XZDC)
+// ({__ZSY},{NULLx__ZSY}) Void No recursive, No inlinable.
+{
+  ____M __B0DC,__5FEC,__SSYC;
+  ____0SY *__H0DC;
+  ____EB __RSYC,__TSYC,__USYC,__VSYC;
+  ____RL __WSYC;
+  ____44DC *__QSYC,*__3SYC;
+  __B0DC=__XZDC->__ETY.__DTY.__HV5B;
+  __5FEC= 1;
+  while ((__5FEC <= __B0DC)) {
+    __H0DC=__TCFC(((____ZSY *)__XZDC),__5FEC);
+    if (((void *)__WZDC->__ETY.__B5DC == (void *)NULL)) {
+      __QSYC=NULL;
+      __RSYC=((____EB )(NULL));
+      __SSYC= 0;
+      __TSYC=((____EB )sizeof(____44DC));
+      if (((unsigned long)__TSYC ==  0)) {
+        __QSYC=__44DC__;
+      } else /* FALSE */ {
+        __SSYC=____44DC__;
+        __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__TSYC));
+        if ((__SSYC == (____M)(-  1))) {
+          __USYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __VSYC=(void *)((unsigned long)(void *)((unsigned long)__TSYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__USYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__USYC) - (unsigned long)((____EB ) 1)));
+          __WSYC=((____RL )((____M )(void *)((unsigned long)__VSYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+          __USYC=__R4(__VSYC,((____EB )(&(table_size[(__WSYC)-1]))),((____RL )((____M )__VSYC)));
+          __RSYC=__USYC;
+        } else /* FALSE */ {
+          __WSYC=((____RL )__SSYC);
+          __USYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __VSYC=(void *)((unsigned long)(void *)((unsigned long)__TSYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__USYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__USYC) - (unsigned long)((____EB ) 1)));
+          __USYC=__R4(__VSYC,((____EB )(&(table_type[(__WSYC)]))),(____RL)(__WSYC |  1));
+          __RSYC=__USYC;
+        };
+        __QSYC=((____44DC *)__RSYC);
+        *(__QSYC) = *(__44DC__);
+      };
+      __3SYC=((____44DC *)__QSYC);
+      __3SYC->__HDFC=__H0DC;
+      __3SYC->__EUFC=NULL;
+      __WZDC->__ETY.__B5DC=__QSYC;
+      __WZDC->__ETY.__DTY.__HV5B= 1;
+      __WZDC->__ETY.__K5DC=__WZDC->__ETY.__B5DC;
+      __WZDC->__ETY.__L5DC= 1;
+      __WZDC->__ETY.__N5DC=__WZDC->__ETY.__B5DC;
+    } else /* FALSE */ {
+      __QSYC=NULL;
+      __RSYC=((____EB )(NULL));
+      __SSYC= 0;
+      __TSYC=((____EB )sizeof(____44DC));
+      if (((unsigned long)__TSYC ==  0)) {
+        __QSYC=__44DC__;
+      } else /* FALSE */ {
+        __SSYC=____44DC__;
+        __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__TSYC));
+        if ((__SSYC == (____M)(-  1))) {
+          __USYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __VSYC=(void *)((unsigned long)(void *)((unsigned long)__TSYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__USYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__USYC) - (unsigned long)((____EB ) 1)));
+          __WSYC=((____RL )((____M )(void *)((unsigned long)__VSYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+          __USYC=__R4(__VSYC,((____EB )(&(table_size[(__WSYC)-1]))),((____RL )((____M )__VSYC)));
+          __RSYC=__USYC;
+        } else /* FALSE */ {
+          __WSYC=((____RL )__SSYC);
+          __USYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __VSYC=(void *)((unsigned long)(void *)((unsigned long)__TSYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__USYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__USYC) - (unsigned long)((____EB ) 1)));
+          __USYC=__R4(__VSYC,((____EB )(&(table_type[(__WSYC)]))),(____RL)(__WSYC |  1));
+          __RSYC=__USYC;
+        };
+        __QSYC=((____44DC *)__RSYC);
+        *(__QSYC) = *(__44DC__);
+      };
+      __3SYC=((____44DC *)__QSYC);
+      __3SYC->__HDFC=__H0DC;
+      __3SYC->__EUFC=NULL;
+      ((____44DC *)__WZDC->__ETY.__K5DC)->__EUFC=__QSYC;
+      __WZDC->__ETY.__DTY.__HV5B=(____M)(__WZDC->__ETY.__DTY.__HV5B +  1);
+      __WZDC->__ETY.__K5DC=__QSYC;
+    };
+    __5FEC=(____M)(__5FEC +  1);
+  };
+}
+
+static void* __VG5B(____W3M *__WG5B,void *__XG5B)
+// ({__W3M},{NULLx__503Bx__M13Bx__W13B}) With result No recursive, No inlinable.
+{
+  ____M __0G5B,__1G5B,__WVXC,__DWXC,__EBUC,__3M5B,__VWXC,__1WXC,__NBUC;
+  ____M __K1VC,__UCXC;
+  ____X0O *__UVXC,*__5G5B,*__IP5B;
+  ____EB __VVXC,__XVXC,__YVXC,__ZVXC;
+  ____RL __0VXC;
+  void *__AH5B;
+  ____YB *__CH5B,*__EWXC,*__2WXC,*__N1VC;
+  ____5 *__VCXC,*__WCXC;
+  __0G5B= 0;
+  __1G5B= 0;
+  __UVXC=NULL;
+  __VVXC=((____EB )(NULL));
+  __WVXC= 0;
+  __XVXC=((____EB )sizeof(____X0O));
+  if (((unsigned long)__XVXC ==  0)) {
+    __UVXC=__X0O__;
+  } else /* FALSE */ {
+    __WVXC=____X0O__;
+    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__XVXC));
+    if ((__WVXC == (____M)(-  1))) {
+      __YVXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __ZVXC=(void *)((unsigned long)(void *)((unsigned long)__XVXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__YVXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__YVXC) - (unsigned long)((____EB ) 1)));
+      __0VXC=((____RL )((____M )(void *)((unsigned long)__ZVXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __YVXC=__R4(__ZVXC,((____EB )(&(table_size[(__0VXC)-1]))),((____RL )((____M )__ZVXC)));
+      __VVXC=__YVXC;
+    } else /* FALSE */ {
+      __0VXC=((____RL )__WVXC);
+      __YVXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __ZVXC=(void *)((unsigned long)(void *)((unsigned long)__XVXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__YVXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__YVXC) - (unsigned long)((____EB ) 1)));
+      __YVXC=__R4(__ZVXC,((____EB )(&(table_type[(__0VXC)]))),(____RL)(__0VXC |  1));
+      __VVXC=__YVXC;
+    };
+    __UVXC=((____X0O *)__VVXC);
+    *(__UVXC) = *(__X0O__);
+  };
+  __5G5B=__UVXC;
+  switch (((struct ___OBJ *)__XG5B)->__id) {
+  case ____503B__: {
+    __AH5B=((____503B *)__XG5B)->__Y1BC;
+  } break;
+  case ____M13B__: {
+    __AH5B=(&__string_57);
+  } break;
+  case ____W13B__: {
+    __AH5B=(&__string_58);
+  } break;
+  };
+  __CH5B=__1E4B(__WG5B,__AH5B);
+  __WVXC= 1;
+  while ((__WVXC != (____M)(__CH5B->__3RJ +  1))) {
+    __1G5B=__WVXC;
+    __0G5B=__WVXC;
+    do {
+      __EWXC=((____YB *)__CH5B);
+      __DWXC=(____M)(__WVXC +  1);
+      while ((! ((__DWXC > __EWXC->__3RJ) || ('+' == ((____5 *)__EWXC->__GTJ)[(____M)(__DWXC -  1)])))) {
+        __DWXC=(____M)(__DWXC +  1);
+      };
+      __WVXC=__DWXC;
+    } while ((((((____0V )((____5 *)((____YB *)__CH5B)->__GTJ)[(____M)((____M)(__DWXC -  1) -  1)]) == ((____0V )'\'')) && (((____0V )((____5 *)((____YB *)__CH5B)->__GTJ)[(____M)((____M)(__DWXC +  1) -  1)]) == ((____0V )'\''))) && (__DWXC != (____M)(__CH5B->__3RJ +  1))));
+    do {
+      __EWXC=((____YB *)__CH5B);
+      __DWXC=(____M)(__0G5B +  1);
+      while ((! ((__DWXC > __EWXC->__3RJ) || ('-' == ((____5 *)__EWXC->__GTJ)[(____M)(__DWXC -  1)])))) {
+        __DWXC=(____M)(__DWXC +  1);
+      };
+      __0G5B=__DWXC;
+    } while ((((((____0V )((____5 *)((____YB *)__CH5B)->__GTJ)[(____M)((____M)(__DWXC -  1) -  1)]) == ((____0V )'<')) || ((((____0V )((____5 *)((____YB *)__CH5B)->__GTJ)[(____M)((____M)(__DWXC -  1) -  1)]) == ((____0V )'\'')) && (((____0V )((____5 *)((____YB *)__CH5B)->__GTJ)[(____M)((____M)(__DWXC +  1) -  1)]) == ((____0V )'\'')))) && (__DWXC != (____M)(__CH5B->__3RJ +  1))));
+    do {
+      __EWXC=((____YB *)__CH5B);
+      __DWXC=(____M)(__1G5B +  1);
+      while ((! ((__DWXC > __EWXC->__3RJ) || ('*' == ((____5 *)__EWXC->__GTJ)[(____M)(__DWXC -  1)])))) {
+        __DWXC=(____M)(__DWXC +  1);
+      };
+      __1G5B=__DWXC;
+    } while ((((((____0V )((____5 *)((____YB *)__CH5B)->__GTJ)[(____M)((____M)(__DWXC -  1) -  1)]) == ((____0V )'\'')) && (((____0V )((____5 *)((____YB *)__CH5B)->__GTJ)[(____M)((____M)(__DWXC +  1) -  1)]) == ((____0V )'\''))) && (__DWXC != (____M)(__CH5B->__3RJ +  1))));
+    __DWXC= 0;
+    if ((__0G5B > __1G5B)) {
+      __DWXC=__1G5B;
+    } else /* FALSE */ {
+      __DWXC=__0G5B;
+    };
+    __EBUC= 0;
+    if ((__WVXC > __DWXC)) {
+      __EBUC=__DWXC;
+    } else /* FALSE */ {
+      __EBUC=__WVXC;
+    };
+    __WVXC=__EBUC;
+    if ((__EBUC != (____M)(__CH5B->__3RJ +  1))) {
+      __3M5B=__AEV(((____YB *)__CH5B),(&__string_44),(____M)(__EBUC +  1));
+      __0G5B=__3M5B;
+      __EWXC=((____YB *)__CH5B);
+      __VWXC=(____M)(__EBUC +  1);
+      while ((! ((__VWXC > __EWXC->__3RJ) || (';' == ((____5 *)__EWXC->__GTJ)[(____M)(__VWXC -  1)])))) {
+        __VWXC=(____M)(__VWXC +  1);
+      };
+      if (((__3M5B > __VWXC) || (__3M5B ==  0))) {
+        __0G5B=__VWXC;
+      };
+      __3M5B=__AEV(((____YB *)__CH5B),(&__string_59),(____M)(__EBUC +  1));
+      __1G5B=__3M5B;
+      if (((__0G5B < __3M5B) || (__3M5B ==  0))) {
+        __2WXC=((____YB *)__CH5B);
+        __1WXC=(____M)(__EBUC +  1);
+        while ((! ((__1WXC > __2WXC->__3RJ) || ('=' == ((____5 *)__2WXC->__GTJ)[(____M)(__1WXC -  1)])))) {
+          __1WXC=(____M)(__1WXC +  1);
+        };
+        __NBUC=(____M)(__1WXC -  1);
+        __1WXC= 0;
+        if ((__0G5B > __NBUC)) {
+          __1WXC=__NBUC;
+        } else /* FALSE */ {
+          __1WXC=__0G5B;
+        };
+        __0G5B=__1WXC;
+        __2WXC=((____YB *)__CH5B);
+        __NBUC=(____M)(__EBUC +  1);
+        __K1VC=(____M)(__1WXC -  1);
+        __1WXC=(____M)((____M)(__K1VC - __NBUC) +  1);
+        __N1VC=__OR(__1WXC);
+        ((____YB *)__N1VC)->__3RJ=__1WXC;
+        __VCXC=((____5 *)__N1VC->__GTJ);
+        __WCXC=__2WXC->__GTJ;
+        __1WXC=(____M)(__NBUC -  1);
+        __NBUC=(____M)(__K1VC -  1);
+        __K1VC= 0;
+        __UCXC=__1WXC;
+        while ((__UCXC <= __NBUC)) {
+          __VCXC[__K1VC]=((____5 *)__WCXC)[__UCXC];
+          __UCXC=(____M)(__UCXC +  1);
+          __K1VC=(____M)(__K1VC +  1);
+        };
+        __2WXC=((____YB *)__N1VC);
+        __1WXC= 1;
+        while ((! ((__1WXC > __2WXC->__3RJ) || (':' == ((____5 *)__2WXC->__GTJ)[(____M)(__1WXC -  1)])))) {
+          __1WXC=(____M)(__1WXC +  1);
+        };
+        if ((__1WXC != (____M)(__N1VC->__3RJ +  1))) {
+          __IP5B=__ESCC(__N1VC,__XG5B);
+          __Z0DC(((____X0O *)__5G5B),__IP5B);
+        };
+      };
+    };
+  };
+  __AH5B=__UVXC;
+  return(__AH5B);
+}
+
+static void __Z0DC(____X0O *__00DC,____X0O *__10DC)
+// ({__X0O},{NULLx__X0O}) Void No recursive, No inlinable.
+{
+  ____M __F1DC,__DIEC,__CTYC;
+  ____Y0O *__L1DC;
+  ____EB __BTYC,__DTYC,__ETYC,__FTYC;
+  ____RL __GTYC;
+  ____R2DC *__ATYC,*__NTYC;
+  __F1DC=__10DC->__C1O.__B1O.__0V5B;
+  __DIEC= 1;
+  while ((__DIEC <= __F1DC)) {
+    __L1DC=__QBFC(((____X0O *)__10DC),__DIEC);
+    if (((void *)__00DC->__C1O.__U2DC == (void *)NULL)) {
+      __ATYC=NULL;
+      __BTYC=((____EB )(NULL));
+      __CTYC= 0;
+      __DTYC=((____EB )sizeof(____R2DC));
+      if (((unsigned long)__DTYC ==  0)) {
+        __ATYC=__R2DC__;
+      } else /* FALSE */ {
+        __CTYC=____R2DC__;
+        __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__DTYC));
+        if ((__CTYC == (____M)(-  1))) {
+          __ETYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __FTYC=(void *)((unsigned long)(void *)((unsigned long)__DTYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ETYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ETYC) - (unsigned long)((____EB ) 1)));
+          __GTYC=((____RL )((____M )(void *)((unsigned long)__FTYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+          __ETYC=__R4(__FTYC,((____EB )(&(table_size[(__GTYC)-1]))),((____RL )((____M )__FTYC)));
+          __BTYC=__ETYC;
+        } else /* FALSE */ {
+          __GTYC=((____RL )__CTYC);
+          __ETYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __FTYC=(void *)((unsigned long)(void *)((unsigned long)__DTYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ETYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ETYC) - (unsigned long)((____EB ) 1)));
+          __ETYC=__R4(__FTYC,((____EB )(&(table_type[(__GTYC)]))),(____RL)(__GTYC |  1));
+          __BTYC=__ETYC;
+        };
+        __ATYC=((____R2DC *)__BTYC);
+        *(__ATYC) = *(__R2DC__);
+      };
+      __NTYC=((____R2DC *)__ATYC);
+      __NTYC->__ECFC=__L1DC;
+      __NTYC->__0RFC=NULL;
+      __00DC->__C1O.__U2DC=__ATYC;
+      __00DC->__C1O.__B1O.__0V5B= 1;
+      __00DC->__C1O.__32DC=__00DC->__C1O.__U2DC;
+      __00DC->__C1O.__42DC= 1;
+      __00DC->__C1O.__A3DC=__00DC->__C1O.__U2DC;
+    } else /* FALSE */ {
+      __ATYC=NULL;
+      __BTYC=((____EB )(NULL));
+      __CTYC= 0;
+      __DTYC=((____EB )sizeof(____R2DC));
+      if (((unsigned long)__DTYC ==  0)) {
+        __ATYC=__R2DC__;
+      } else /* FALSE */ {
+        __CTYC=____R2DC__;
+        __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__DTYC));
+        if ((__CTYC == (____M)(-  1))) {
+          __ETYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __FTYC=(void *)((unsigned long)(void *)((unsigned long)__DTYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ETYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ETYC) - (unsigned long)((____EB ) 1)));
+          __GTYC=((____RL )((____M )(void *)((unsigned long)__FTYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+          __ETYC=__R4(__FTYC,((____EB )(&(table_size[(__GTYC)-1]))),((____RL )((____M )__FTYC)));
+          __BTYC=__ETYC;
+        } else /* FALSE */ {
+          __GTYC=((____RL )__CTYC);
+          __ETYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __FTYC=(void *)((unsigned long)(void *)((unsigned long)__DTYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ETYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ETYC) - (unsigned long)((____EB ) 1)));
+          __ETYC=__R4(__FTYC,((____EB )(&(table_type[(__GTYC)]))),(____RL)(__GTYC |  1));
+          __BTYC=__ETYC;
+        };
+        __ATYC=((____R2DC *)__BTYC);
+        *(__ATYC) = *(__R2DC__);
+      };
+      __NTYC=((____R2DC *)__ATYC);
+      __NTYC->__ECFC=__L1DC;
+      __NTYC->__0RFC=NULL;
+      ((____R2DC *)__00DC->__C1O.__32DC)->__0RFC=__ATYC;
+      __00DC->__C1O.__B1O.__0V5B=(____M)(__00DC->__C1O.__B1O.__0V5B +  1);
+      __00DC->__C1O.__32DC=__ATYC;
+    };
+    __DIEC=(____M)(__DIEC +  1);
+  };
+}
+
+static void __YVAC(____YB *__ZVAC)
+// ({__YB}) Void No recursive, No inlinable.
+{
+  ____M __L1AC;
+  ____5 __AWAC,__2UBC;
+  __L1AC=__ZVAC->__3RJ;
+  while ((__L1AC >=  1)) {
+    __AWAC=((____5 *)__ZVAC->__GTJ)[(____M)(__L1AC -  1)];
+    __2UBC='\0';
+    if (((((____0V )__AWAC) <  97) || (((____0V )__AWAC) >  122))) {
+      __2UBC=__AWAC;
+    } else /* FALSE */ {
+      __2UBC=((____5 )(((____0V)(((____0V )__AWAC) -  32))));
+    };
+    ((____5 *)__ZVAC->__GTJ)[(____M)(__L1AC -  1)]=__2UBC;
+    __L1AC=(____M)(__L1AC -  1);
+  };
+}
+
+static void __3AP(____YB *__4AP)
+// ({__YB}) Void No recursive, No inlinable.
+{
+  ____M __5AP,__IXXC,__JXXC,__LXXC,__MXXC;
+  __5AP= 0;
+  while ((! (((____M)(__5AP +  1) > __4AP->__3RJ) || (((____5 *)__4AP->__GTJ)[(____M)((____M)(__5AP +  1) -  1)] != ' ')))) {
+    __5AP=(____M)(__5AP +  1);
+  };
+  if ((__5AP > __4AP->__3RJ)) {
+    __4AP->__3RJ= 0;
+  } else /* FALSE */ {
+    if ((__5AP >  0)) {
+      __IXXC=(____M)((____M)(__5AP -  1) +  1);
+      if ((__IXXC >  0)) {
+        __JXXC=(____M)(__5AP +  1);
+        __LXXC=__4AP->__3RJ;
+        __MXXC=__JXXC;
+        while ((__MXXC <= __LXXC)) {
+          ((____5 *)__4AP->__GTJ)[(____M)((____M)(__MXXC - __IXXC) -  1)]=((____5 *)__4AP->__GTJ)[(____M)(__MXXC -  1)];
+          __MXXC=(____M)(__MXXC +  1);
+        };
+        __4AP->__3RJ=(____M)(__4AP->__3RJ - __IXXC);
+      };
+    };
+  };
+}
+
+static void __JAGB(____ELP *__KAGB,____ELP *__LAGB)
+// ({__ELP},{NULLx__ELP}) Void No recursive, No inlinable.
+{
+  ____M __VAGB,__XFHB,__QXXC;
+  ____EB __PXXC,__RXXC,__SXXC,__TXXC;
+  ____RL __UXXC;
+  ____TTN *__1AGB;
+  ____3WFB *__OXXC,*__1XXC;
+  __VAGB=__LAGB->__LLP.__KNP;
+  __XFHB= 1;
+  while ((__XFHB <= __VAGB)) {
+    __1AGB=__L4FB(((____ELP *)__LAGB),__XFHB);
+    if (((void *)__KAGB->__QXFB == (void *)NULL)) {
+      __OXXC=NULL;
+      __PXXC=((____EB )(NULL));
+      __QXXC= 0;
+      __RXXC=((____EB )sizeof(____3WFB));
+      if (((unsigned long)__RXXC ==  0)) {
+        __OXXC=__3WFB__;
+      } else /* FALSE */ {
+        __QXXC=____3WFB__;
+        __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__RXXC));
+        if ((__QXXC == (____M)(-  1))) {
+          __SXXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __TXXC=(void *)((unsigned long)(void *)((unsigned long)__RXXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SXXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SXXC) - (unsigned long)((____EB ) 1)));
+          __UXXC=((____RL )((____M )(void *)((unsigned long)__TXXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+          __SXXC=__R4(__TXXC,((____EB )(&(table_size[(__UXXC)-1]))),((____RL )((____M )__TXXC)));
+          __PXXC=__SXXC;
+        } else /* FALSE */ {
+          __UXXC=((____RL )__QXXC);
+          __SXXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __TXXC=(void *)((unsigned long)(void *)((unsigned long)__RXXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SXXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SXXC) - (unsigned long)((____EB ) 1)));
+          __SXXC=__R4(__TXXC,((____EB )(&(table_type[(__UXXC)]))),(____RL)(__UXXC |  1));
+          __PXXC=__SXXC;
+        };
+        __OXXC=((____3WFB *)__PXXC);
+        *(__OXXC) = *(__3WFB__);
+      };
+      __1XXC=((____3WFB *)__OXXC);
+      __1XXC->__BXFB=__1AGB;
+      __1XXC->__LGJB=NULL;
+      __KAGB->__QXFB=__OXXC;
+      __KAGB->__LLP.__KNP= 1;
+      __KAGB->__5WFB=__OXXC;
+      __KAGB->__ZXFB= 1;
+      __KAGB->__1XFB=__OXXC;
+    } else /* FALSE */ {
+      __OXXC=NULL;
+      __PXXC=((____EB )(NULL));
+      __QXXC= 0;
+      __RXXC=((____EB )sizeof(____3WFB));
+      if (((unsigned long)__RXXC ==  0)) {
+        __OXXC=__3WFB__;
+      } else /* FALSE */ {
+        __QXXC=____3WFB__;
+        __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__RXXC));
+        if ((__QXXC == (____M)(-  1))) {
+          __SXXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __TXXC=(void *)((unsigned long)(void *)((unsigned long)__RXXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SXXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SXXC) - (unsigned long)((____EB ) 1)));
+          __UXXC=((____RL )((____M )(void *)((unsigned long)__TXXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+          __SXXC=__R4(__TXXC,((____EB )(&(table_size[(__UXXC)-1]))),((____RL )((____M )__TXXC)));
+          __PXXC=__SXXC;
+        } else /* FALSE */ {
+          __UXXC=((____RL )__QXXC);
+          __SXXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __TXXC=(void *)((unsigned long)(void *)((unsigned long)__RXXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SXXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SXXC) - (unsigned long)((____EB ) 1)));
+          __SXXC=__R4(__TXXC,((____EB )(&(table_type[(__UXXC)]))),(____RL)(__UXXC |  1));
+          __PXXC=__SXXC;
+        };
+        __OXXC=((____3WFB *)__PXXC);
+        *(__OXXC) = *(__3WFB__);
+      };
+      __1XXC=((____3WFB *)__OXXC);
+      __1XXC->__BXFB=__1AGB;
+      __1XXC->__LGJB=NULL;
+      ((____3WFB *)__KAGB->__5WFB)->__LGJB=__OXXC;
+      __KAGB->__LLP.__KNP=(____M)(__KAGB->__LLP.__KNP +  1);
+      __KAGB->__5WFB=__OXXC;
+    };
+    __XFHB=(____M)(__XFHB +  1);
+  };
+}
+
+static void __XRQ(____QYL *__YRQ,____YB *__ZRQ)
+// ({__QYL},{NULLx__YB}) Void No recursive, No inlinable.
+{
+  ____W *__1RQ,*__AUYC;
+  ____M __MDXC,__3RQ,__CUYC;
+  ____EB __BUYC,__DUYC,__EUYC,__FUYC;
+  ____RL __GUYC;
+  ____5 *__NDXC;
+  __1RQ=__RNR(__ZRQ);
+  __YRQ->__TYL.__EZL=__1RQ;
+  __1RQ=((____W *)__YRQ->__TYL.__EZL);
+  __NDXC=((____5 *)__1RQ->__BD);
+  __MDXC=(____M)(__1RQ->__AD -  1);
+  while ((! ((__MDXC <  0) || ('/' == __NDXC[__MDXC])))) {
+    __MDXC=(____M)(__MDXC -  1);
+  };
+  __3RQ=(____M)( 1 + __MDXC);
+  if (((void *)__YRQ->__TYL.__K5M == (void *)NULL)) {
+    __AUYC=NULL;
+    __BUYC=((____EB )(NULL));
+    __CUYC= 0;
+    __DUYC=((____EB )sizeof(____W));
+    if (((unsigned long)__DUYC ==  0)) {
+      __AUYC=__W__;
+    } else /* FALSE */ {
+      __CUYC=-1;
+      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__DUYC));
+      if ((__CUYC == (____M)(-  1))) {
+        __EUYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __FUYC=(void *)((unsigned long)(void *)((unsigned long)__DUYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__EUYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__EUYC) - (unsigned long)((____EB ) 1)));
+        __GUYC=((____RL )((____M )(void *)((unsigned long)__FUYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+        __EUYC=__R4(__FUYC,((____EB )(&(table_size[(__GUYC)-1]))),((____RL )((____M )__FUYC)));
+        __BUYC=__EUYC;
+      } else /* FALSE */ {
+        __GUYC=((____RL )__CUYC);
+        __EUYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __FUYC=(void *)((unsigned long)(void *)((unsigned long)__DUYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__EUYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__EUYC) - (unsigned long)((____EB ) 1)));
+        __EUYC=__R4(__FUYC,((____EB )(&(table_type[(__GUYC)]))),(____RL)(__GUYC |  1));
+        __BUYC=__EUYC;
+      };
+      __AUYC=((____W *)__BUYC);
+      *(__AUYC) = *(__W__);
+    };
+    __YRQ->__TYL.__K5M=__AUYC;
+  };
+  __1RQ=__YRQ->__TYL.__K5M;
+  __NDXC=((____5 *)(void *)((unsigned long)((____EB )((____5 *)__YRQ->__TYL.__EZL->__BD)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )__3RQ))));
+  __MDXC=(____M)(__YRQ->__TYL.__EZL->__AD - __3RQ);
+  __AUYC=((____W *)__1RQ);
+  __AUYC->__BD=__NDXC;
+  __AUYC->__AD=__MDXC;
+}
+
+static void __RSQ(____1FM *__SSQ,____YB *__TSQ)
+// ({__1FM},{NULLx__YB}) Void No recursive, No inlinable.
+{
+  ____W *__VSQ,*__OUYC;
+  ____M __RDXC,__XSQ,__QUYC;
+  ____EB __PUYC,__RUYC,__SUYC,__TUYC;
+  ____RL __UUYC;
+  ____5 *__SDXC;
+  __VSQ=__RNR(__TSQ);
+  __SSQ->__2FM.__EZL=__VSQ;
+  __VSQ=((____W *)__SSQ->__2FM.__EZL);
+  __SDXC=((____5 *)__VSQ->__BD);
+  __RDXC=(____M)(__VSQ->__AD -  1);
+  while ((! ((__RDXC <  0) || ('/' == __SDXC[__RDXC])))) {
+    __RDXC=(____M)(__RDXC -  1);
+  };
+  __XSQ=(____M)( 1 + __RDXC);
+  if (((void *)__SSQ->__2FM.__K5M == (void *)NULL)) {
+    __OUYC=NULL;
+    __PUYC=((____EB )(NULL));
+    __QUYC= 0;
+    __RUYC=((____EB )sizeof(____W));
+    if (((unsigned long)__RUYC ==  0)) {
+      __OUYC=__W__;
+    } else /* FALSE */ {
+      __QUYC=-1;
+      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__RUYC));
+      if ((__QUYC == (____M)(-  1))) {
+        __SUYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __TUYC=(void *)((unsigned long)(void *)((unsigned long)__RUYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SUYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SUYC) - (unsigned long)((____EB ) 1)));
+        __UUYC=((____RL )((____M )(void *)((unsigned long)__TUYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+        __SUYC=__R4(__TUYC,((____EB )(&(table_size[(__UUYC)-1]))),((____RL )((____M )__TUYC)));
+        __PUYC=__SUYC;
+      } else /* FALSE */ {
+        __UUYC=((____RL )__QUYC);
+        __SUYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __TUYC=(void *)((unsigned long)(void *)((unsigned long)__RUYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SUYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__SUYC) - (unsigned long)((____EB ) 1)));
+        __SUYC=__R4(__TUYC,((____EB )(&(table_type[(__UUYC)]))),(____RL)(__UUYC |  1));
+        __PUYC=__SUYC;
+      };
+      __OUYC=((____W *)__PUYC);
+      *(__OUYC) = *(__W__);
+    };
+    __SSQ->__2FM.__K5M=__OUYC;
+  };
+  __VSQ=__SSQ->__2FM.__K5M;
+  __SDXC=((____5 *)(void *)((unsigned long)((____EB )((____5 *)__SSQ->__2FM.__EZL->__BD)) - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)((____EB )__XSQ))));
+  __RDXC=(____M)(__SSQ->__2FM.__EZL->__AD - __XSQ);
+  __OUYC=((____W *)__VSQ);
+  __OUYC->__BD=__SDXC;
+  __OUYC->__AD=__RDXC;
+}
+
+static ____H __TTNB(____W *__UTNB,void *__VTNB)
+// ({__W},{NULLx__Wx__YB}) With result No recursive, No inlinable.
+{
+  ____M __4TNB,__5TNB,__PYXC;
+  ____H __XTNB,__WTNB;
+  ____5 *__QUNB,*__RUNB,*__QYXC;
+  __XTNB=__K__;
+  __4TNB=__UTNB->__AD;
+  if (((struct ___OBJ *)__VTNB)->__id==____W__) {
+    __5TNB=((____W *)__VTNB)->__AD;
+  } else /* STRING */ {
+    __5TNB=((____YB *)__VTNB)->__3RJ;
+  };
+  if ((__4TNB == __5TNB)) {
+    if ((__UTNB->__AD ==  0)) {
+      __XTNB=__G__;
+    } else /* FALSE */ {
+      __QUNB=__UTNB->__BD;
+      if (((struct ___OBJ *)__VTNB)->__id==____W__) {
+        __RUNB=((____W *)__VTNB)->__BD;
+      } else /* STRING */ {
+        __RUNB=((____YB *)__VTNB)->__GTJ;
+      };
+      __QYXC=((____5 *)__QUNB);
+      __QUNB=__RUNB;
+      __PYXC=(____M)(__UTNB->__AD -  1);
+      while (((__PYXC >=  0) && (__QYXC[__PYXC] == ((____5 *)__QUNB)[__PYXC]))) {
+        __PYXC=(____M)(__PYXC -  1);
+      };
+      __XTNB=(__PYXC <  0);
+    };
+  };
+  __WTNB=__XTNB;
+  return(__WTNB);
+}
+
+static void* __ESCC(____YB *__GSCC,void *__HSCC)
+// ({NULLx__YB},{NULLx__503Bx__M13Bx__W13B}) With result No recursive, No inlinable.
+{
+  ____X0O *__UYXC,*__QSCC,*__QXWC;
+  ____EB __VYXC,__XYXC,__YYXC,__ZYXC,__3UYC,__5UYC,__AVYC,__BVYC,__OVYC;
+  ____EB __PVYC;
+  ____M __WYXC,__EZXC,__FZXC,__E3VC,__G3VC,__XDXC,__VZXC,__4UYC,__O3VC;
+  ____M __BEXC,__4DXC,__MVYC;
+  ____RL __0YXC,__CVYC,__QVYC;
+  ____YB *__DZXC,*__H3VC,*__WZXC,*__S3VC,*__P3VC;
+  ____Y0O *__2UYC,*__O3PC;
+  void *__ISCC;
+  ____5 *__YDXC,*__ZDXC,*__5DXC,*__AEXC;
+  ____R2DC *__KVYC,*__XVYC;
+  __UYXC=NULL;
+  __VYXC=((____EB )(NULL));
+  __WYXC= 0;
+  __XYXC=((____EB )sizeof(____X0O));
+  if (((unsigned long)__XYXC ==  0)) {
+    __UYXC=__X0O__;
+  } else /* FALSE */ {
+    __WYXC=____X0O__;
+    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__XYXC));
+    if ((__WYXC == (____M)(-  1))) {
+      __YYXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __ZYXC=(void *)((unsigned long)(void *)((unsigned long)__XYXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__YYXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__YYXC) - (unsigned long)((____EB ) 1)));
+      __0YXC=((____RL )((____M )(void *)((unsigned long)__ZYXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __YYXC=__R4(__ZYXC,((____EB )(&(table_size[(__0YXC)-1]))),((____RL )((____M )__ZYXC)));
+      __VYXC=__YYXC;
+    } else /* FALSE */ {
+      __0YXC=((____RL )__WYXC);
+      __YYXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __ZYXC=(void *)((unsigned long)(void *)((unsigned long)__XYXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__YYXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__YYXC) - (unsigned long)((____EB ) 1)));
+      __YYXC=__R4(__ZYXC,((____EB )(&(table_type[(__0YXC)]))),(____RL)(__0YXC |  1));
+      __VYXC=__YYXC;
+    };
+    __UYXC=((____X0O *)__VYXC);
+    *(__UYXC) = *(__X0O__);
+  };
+  __QSCC=__UYXC;
+  __DZXC=((____YB *)__GSCC);
+  __WYXC= 1;
+  __EZXC=__DZXC->__3RJ;
+  __FZXC= 1;
+  while ((__FZXC <= __EZXC)) {
+    if ((((____5 *)__DZXC->__GTJ)[(____M)(__FZXC -  1)] != ' ')) {
+      ((____5 *)__DZXC->__GTJ)[(____M)(__WYXC -  1)]=((____5 *)__DZXC->__GTJ)[(____M)(__FZXC -  1)];
+      __WYXC=(____M)(__WYXC +  1);
+    };
+    __FZXC=(____M)(__FZXC +  1);
+  };
+  __DZXC->__3RJ=(____M)(__WYXC -  1);
+  __DZXC=((____YB *)__GSCC);
+  __WYXC= 1;
+  __EZXC=__DZXC->__3RJ;
+  __FZXC= 1;
+  while ((__FZXC <= __EZXC)) {
+    if ((((____5 *)__DZXC->__GTJ)[(____M)(__FZXC -  1)] != '\n')) {
+      ((____5 *)__DZXC->__GTJ)[(____M)(__WYXC -  1)]=((____5 *)__DZXC->__GTJ)[(____M)(__FZXC -  1)];
+      __WYXC=(____M)(__WYXC +  1);
+    };
+    __FZXC=(____M)(__FZXC +  1);
+  };
+  __DZXC->__3RJ=(____M)(__WYXC -  1);
+  __DZXC=((____YB *)__GSCC);
+  __WYXC= 1;
+  while ((! ((__WYXC > __DZXC->__3RJ) || (':' == ((____5 *)__DZXC->__GTJ)[(____M)(__WYXC -  1)])))) {
+    __WYXC=(____M)(__WYXC +  1);
+  };
+  __EZXC=__WYXC;
+  __DZXC=((____YB *)__GSCC);
+  __FZXC=(____M)(__WYXC +  1);
+  __E3VC=__GSCC->__3RJ;
+  __G3VC=(____M)((____M)(__E3VC - __FZXC) +  1);
+  __H3VC=__OR(__G3VC);
+  ((____YB *)__H3VC)->__3RJ=__G3VC;
+  __YDXC=((____5 *)__H3VC->__GTJ);
+  __ZDXC=__DZXC->__GTJ;
+  __G3VC=(____M)(__FZXC -  1);
+  __FZXC=(____M)(__E3VC -  1);
+  __E3VC= 0;
+  __XDXC=__G3VC;
+  while ((__XDXC <= __FZXC)) {
+    __YDXC[__E3VC]=((____5 *)__ZDXC)[__XDXC];
+    __XDXC=(____M)(__XDXC +  1);
+    __E3VC=(____M)(__E3VC +  1);
+  };
+  __YVAC(((____YB *)__H3VC));
+  __FZXC= 1;
+  __PUCC:
+  {
+    __WZXC=((____YB *)__GSCC);
+    __VZXC=__FZXC;
+    while ((! ((__VZXC > __WZXC->__3RJ) || (',' == ((____5 *)__WZXC->__GTJ)[(____M)(__VZXC -  1)])))) {
+      __VZXC=(____M)(__VZXC +  1);
+    };
+    if (((__VZXC != (____M)(__GSCC->__3RJ +  1)) && (__VZXC < __EZXC))) {
+      __2UYC=NULL;
+      __3UYC=((____EB )(NULL));
+      __4UYC= 0;
+      __5UYC=((____EB )sizeof(____Y0O));
+      if (((unsigned long)__5UYC ==  0)) {
+        __2UYC=__Y0O__;
+      } else /* FALSE */ {
+        __4UYC=____Y0O__;
+        __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__5UYC));
+        if ((__4UYC == (____M)(-  1))) {
+          __AVYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __BVYC=(void *)((unsigned long)(void *)((unsigned long)__5UYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AVYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AVYC) - (unsigned long)((____EB ) 1)));
+          __CVYC=((____RL )((____M )(void *)((unsigned long)__BVYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+          __AVYC=__R4(__BVYC,((____EB )(&(table_size[(__CVYC)-1]))),((____RL )((____M )__BVYC)));
+          __3UYC=__AVYC;
+        } else /* FALSE */ {
+          __CVYC=((____RL )__4UYC);
+          __AVYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+          __BVYC=(void *)((unsigned long)(void *)((unsigned long)__5UYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AVYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__AVYC) - (unsigned long)((____EB ) 1)));
+          __AVYC=__R4(__BVYC,((____EB )(&(table_type[(__CVYC)]))),(____RL)(__CVYC |  1));
+          __3UYC=__AVYC;
+        };
+        __2UYC=((____Y0O *)__3UYC);
+        *(__2UYC) = *(__Y0O__);
+      };
+      __S3VC=((____YB *)__GSCC);
+      __4UYC=(____M)(__VZXC -  1);
+      __O3VC=(____M)((____M)(__4UYC - __FZXC) +  1);
+      __P3VC=__OR(__O3VC);
+      ((____YB *)__P3VC)->__3RJ=__O3VC;
+      __5DXC=((____5 *)__P3VC->__GTJ);
+      __AEXC=__S3VC->__GTJ;
+      __O3VC=(____M)(__FZXC -  1);
+      __BEXC=(____M)(__4UYC -  1);
+      __4UYC= 0;
+      __4DXC=__O3VC;
+      while ((__4DXC <= __BEXC)) {
+        __5DXC[__4UYC]=((____5 *)__AEXC)[__4DXC];
+        __4DXC=(____M)(__4DXC +  1);
+        __4UYC=(____M)(__4UYC +  1);
+      };
+      __O3PC=((____Y0O *)__2UYC);
+      __O3PC->__QADC=__P3VC;
+      __O3PC->__RADC=__H3VC;
+      __O3PC->__SADC=__HSCC;
+      __QXWC=((____X0O *)__QSCC);
+      if (((void *)__QXWC->__C1O.__U2DC == (void *)NULL)) {
+        __KVYC=NULL;
+        __AVYC=((____EB )(NULL));
+        __MVYC= 0;
+        __BVYC=((____EB )sizeof(____R2DC));
+        if (((unsigned long)__BVYC ==  0)) {
+          __KVYC=__R2DC__;
+        } else /* FALSE */ {
+          __MVYC=____R2DC__;
+          __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BVYC));
+          if ((__MVYC == (____M)(-  1))) {
+            __OVYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+            __PVYC=(void *)((unsigned long)(void *)((unsigned long)__BVYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__OVYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__OVYC) - (unsigned long)((____EB ) 1)));
+            __QVYC=((____RL )((____M )(void *)((unsigned long)__PVYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+            __OVYC=__R4(__PVYC,((____EB )(&(table_size[(__QVYC)-1]))),((____RL )((____M )__PVYC)));
+            __AVYC=__OVYC;
+          } else /* FALSE */ {
+            __QVYC=((____RL )__MVYC);
+            __OVYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+            __PVYC=(void *)((unsigned long)(void *)((unsigned long)__BVYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__OVYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__OVYC) - (unsigned long)((____EB ) 1)));
+            __OVYC=__R4(__PVYC,((____EB )(&(table_type[(__QVYC)]))),(____RL)(__QVYC |  1));
+            __AVYC=__OVYC;
+          };
+          __KVYC=((____R2DC *)__AVYC);
+          *(__KVYC) = *(__R2DC__);
+        };
+        __XVYC=((____R2DC *)__KVYC);
+        __XVYC->__ECFC=__2UYC;
+        __XVYC->__0RFC=NULL;
+        __QXWC->__C1O.__U2DC=__KVYC;
+        __QXWC->__C1O.__B1O.__0V5B= 1;
+        __QXWC->__C1O.__32DC=__QXWC->__C1O.__U2DC;
+        __QXWC->__C1O.__42DC= 1;
+        __QXWC->__C1O.__A3DC=__QXWC->__C1O.__U2DC;
+      } else /* FALSE */ {
+        __KVYC=NULL;
+        __AVYC=((____EB )(NULL));
+        __MVYC= 0;
+        __BVYC=((____EB )sizeof(____R2DC));
+        if (((unsigned long)__BVYC ==  0)) {
+          __KVYC=__R2DC__;
+        } else /* FALSE */ {
+          __MVYC=____R2DC__;
+          __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__BVYC));
+          if ((__MVYC == (____M)(-  1))) {
+            __OVYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+            __PVYC=(void *)((unsigned long)(void *)((unsigned long)__BVYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__OVYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__OVYC) - (unsigned long)((____EB ) 1)));
+            __QVYC=((____RL )((____M )(void *)((unsigned long)__PVYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+            __OVYC=__R4(__PVYC,((____EB )(&(table_size[(__QVYC)-1]))),((____RL )((____M )__PVYC)));
+            __AVYC=__OVYC;
+          } else /* FALSE */ {
+            __QVYC=((____RL )__MVYC);
+            __OVYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+            __PVYC=(void *)((unsigned long)(void *)((unsigned long)__BVYC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__OVYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__OVYC) - (unsigned long)((____EB ) 1)));
+            __OVYC=__R4(__PVYC,((____EB )(&(table_type[(__QVYC)]))),(____RL)(__QVYC |  1));
+            __AVYC=__OVYC;
+          };
+          __KVYC=((____R2DC *)__AVYC);
+          *(__KVYC) = *(__R2DC__);
+        };
+        __XVYC=((____R2DC *)__KVYC);
+        __XVYC->__ECFC=__2UYC;
+        __XVYC->__0RFC=NULL;
+        ((____R2DC *)__QXWC->__C1O.__32DC)->__0RFC=__KVYC;
+        __QXWC->__C1O.__B1O.__0V5B=(____M)(__QXWC->__C1O.__B1O.__0V5B +  1);
+        __QXWC->__C1O.__32DC=__KVYC;
+      };
+      __FZXC=(____M)(__VZXC +  1);
+      goto __PUCC;
+    };
+  };
+  __2UYC=NULL;
+  __VYXC=((____EB )(NULL));
+  __EZXC= 0;
+  __XYXC=((____EB )sizeof(____Y0O));
+  if (((unsigned long)__XYXC ==  0)) {
+    __2UYC=__Y0O__;
+  } else /* FALSE */ {
+    __EZXC=____Y0O__;
+    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__XYXC));
+    if ((__EZXC == (____M)(-  1))) {
+      __YYXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __ZYXC=(void *)((unsigned long)(void *)((unsigned long)__XYXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__YYXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__YYXC) - (unsigned long)((____EB ) 1)));
+      __0YXC=((____RL )((____M )(void *)((unsigned long)__ZYXC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __YYXC=__R4(__ZYXC,((____EB )(&(table_size[(__0YXC)-1]))),((____RL )((____M )__ZYXC)));
+      __VYXC=__YYXC;
+    } else /* FALSE */ {
+      __0YXC=((____RL )__EZXC);
+      __YYXC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __ZYXC=(void *)((unsigned long)(void *)((unsigned long)__XYXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__YYXC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__YYXC) - (unsigned long)((____EB ) 1)));
+      __YYXC=__R4(__ZYXC,((____EB )(&(table_type[(__0YXC)]))),(____RL)(__0YXC |  1));
+      __VYXC=__YYXC;
+    };
+    __2UYC=((____Y0O *)__VYXC);
+    *(__2UYC) = *(__Y0O__);
+  };
+  __DZXC=((____YB *)__GSCC);
+  __EZXC=(____M)(__WYXC -  1);
+  __WYXC=(____M)((____M)(__EZXC - __FZXC) +  1);
+  __WZXC=__OR(__WYXC);
+  ((____YB *)__WZXC)->__3RJ=__WYXC;
+  __YDXC=((____5 *)__WZXC->__GTJ);
+  __ZDXC=__DZXC->__GTJ;
+  __WYXC=(____M)(__FZXC -  1);
+  __FZXC=(____M)(__EZXC -  1);
+  __EZXC= 0;
+  __E3VC=__WYXC;
+  while ((__E3VC <= __FZXC)) {
+    __YDXC[__EZXC]=((____5 *)__ZDXC)[__E3VC];
+    __E3VC=(____M)(__E3VC +  1);
+    __EZXC=(____M)(__EZXC +  1);
+  };
+  __O3PC=((____Y0O *)__2UYC);
+  __O3PC->__QADC=__WZXC;
+  __O3PC->__RADC=__H3VC;
+  __O3PC->__SADC=__HSCC;
+  __QSCC=((____X0O *)__UYXC);
+  if (((void *)__QSCC->__C1O.__U2DC == (void *)NULL)) {
+    __KVYC=NULL;
+    __YYXC=((____EB )(NULL));
+    __VZXC= 0;
+    __ZYXC=((____EB )sizeof(____R2DC));
+    if (((unsigned long)__ZYXC ==  0)) {
+      __KVYC=__R2DC__;
+    } else /* FALSE */ {
+      __VZXC=____R2DC__;
+      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ZYXC));
+      if ((__VZXC == (____M)(-  1))) {
+        __3UYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __5UYC=(void *)((unsigned long)(void *)((unsigned long)__ZYXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3UYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3UYC) - (unsigned long)((____EB ) 1)));
+        __CVYC=((____RL )((____M )(void *)((unsigned long)__5UYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+        __3UYC=__R4(__5UYC,((____EB )(&(table_size[(__CVYC)-1]))),((____RL )((____M )__5UYC)));
+        __YYXC=__3UYC;
+      } else /* FALSE */ {
+        __CVYC=((____RL )__VZXC);
+        __3UYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __5UYC=(void *)((unsigned long)(void *)((unsigned long)__ZYXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3UYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3UYC) - (unsigned long)((____EB ) 1)));
+        __3UYC=__R4(__5UYC,((____EB )(&(table_type[(__CVYC)]))),(____RL)(__CVYC |  1));
+        __YYXC=__3UYC;
+      };
+      __KVYC=((____R2DC *)__YYXC);
+      *(__KVYC) = *(__R2DC__);
+    };
+    __XVYC=((____R2DC *)__KVYC);
+    __XVYC->__ECFC=__2UYC;
+    __XVYC->__0RFC=NULL;
+    __QSCC->__C1O.__U2DC=__KVYC;
+    __QSCC->__C1O.__B1O.__0V5B= 1;
+    __QSCC->__C1O.__32DC=__QSCC->__C1O.__U2DC;
+    __QSCC->__C1O.__42DC= 1;
+    __QSCC->__C1O.__A3DC=__QSCC->__C1O.__U2DC;
+  } else /* FALSE */ {
+    __KVYC=NULL;
+    __YYXC=((____EB )(NULL));
+    __VZXC= 0;
+    __ZYXC=((____EB )sizeof(____R2DC));
+    if (((unsigned long)__ZYXC ==  0)) {
+      __KVYC=__R2DC__;
+    } else /* FALSE */ {
+      __VZXC=____R2DC__;
+      __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__ZYXC));
+      if ((__VZXC == (____M)(-  1))) {
+        __3UYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __5UYC=(void *)((unsigned long)(void *)((unsigned long)__ZYXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3UYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3UYC) - (unsigned long)((____EB ) 1)));
+        __CVYC=((____RL )((____M )(void *)((unsigned long)__5UYC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+        __3UYC=__R4(__5UYC,((____EB )(&(table_size[(__CVYC)-1]))),((____RL )((____M )__5UYC)));
+        __YYXC=__3UYC;
+      } else /* FALSE */ {
+        __CVYC=((____RL )__VZXC);
+        __3UYC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+        __5UYC=(void *)((unsigned long)(void *)((unsigned long)__ZYXC - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3UYC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__3UYC) - (unsigned long)((____EB ) 1)));
+        __3UYC=__R4(__5UYC,((____EB )(&(table_type[(__CVYC)]))),(____RL)(__CVYC |  1));
+        __YYXC=__3UYC;
+      };
+      __KVYC=((____R2DC *)__YYXC);
+      *(__KVYC) = *(__R2DC__);
+    };
+    __XVYC=((____R2DC *)__KVYC);
+    __XVYC->__ECFC=__2UYC;
+    __XVYC->__0RFC=NULL;
+    ((____R2DC *)__QSCC->__C1O.__32DC)->__0RFC=__KVYC;
+    __QSCC->__C1O.__B1O.__0V5B=(____M)(__QSCC->__C1O.__B1O.__0V5B +  1);
+    __QSCC->__C1O.__32DC=__KVYC;
+  };
+  __ISCC=__UYXC;
+  return(__ISCC);
+}
+
+static ____W* __RNR(____YB *__TNR)
+// ({NULLx__YB}) With result No recursive, No inlinable.
+{
+  ____W *__CHS,*__2AY;
+  ____EB __DHS,__JHS,__2XWC,__4XWC;
+  ____M __HHS,__1EXC;
+  ____RL __5XWC;
+  ____5 *__HBY,*__3EXC;
+  __CHS=NULL;
+  __DHS=((____EB )(NULL));
+  __HHS= 0;
+  __JHS=((____EB )sizeof(____W));
+  if (((unsigned long)__JHS ==  0)) {
+    __CHS=__W__;
+  } else /* FALSE */ {
+    __HHS=-1;
+    __EL=(void *)((unsigned long)__EL - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__JHS));
+    if ((__HHS == (____M)(-  1))) {
+      __2XWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __4XWC=(void *)((unsigned long)(void *)((unsigned long)__JHS - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__2XWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__2XWC) - (unsigned long)((____EB ) 1)));
+      __5XWC=((____RL )((____M )(void *)((unsigned long)__4XWC / (unsigned long)((____EB )((____M )(sizeof(void *)))))));
+      __2XWC=__R4(__4XWC,((____EB )(&(table_size[(__5XWC)-1]))),((____RL )((____M )__4XWC)));
+      __DHS=__2XWC;
+    } else /* FALSE */ {
+      __5XWC=((____RL )__HHS);
+      __2XWC=(void *)((unsigned long)((____EB )((____M )(sizeof(void *)))) - (unsigned long)((____EB ) 1));
+      __4XWC=(void *)((unsigned long)(void *)((unsigned long)__JHS - (unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__2XWC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((____EB ) 0) - (unsigned long)__2XWC) - (unsigned long)((____EB ) 1)));
+      __2XWC=__R4(__4XWC,((____EB )(&(table_type[(__5XWC)]))),(____RL)(__5XWC |  1));
+      __DHS=__2XWC;
+    };
+    __CHS=((____W *)__DHS);
+    *(__CHS) = *(__W__);
+  };
+  __2AY=((____W *)__CHS);
+  __HHS=__TNR->__3RJ;
+  if ((__HHS !=  0)) {
+    __HBY=__N2K((____M)(__HHS +  1));
+    __2AY->__BD=__HBY;
+    __3EXC=__TNR->__GTJ;
+    __1EXC=(____M)(__HHS -  1);
+    while ((__1EXC >=  0)) {
+      __HBY[__1EXC]=((____5 *)__3EXC)[__1EXC];
+      __1EXC=(____M)(__1EXC -  1);
+    };
+    __HBY[__HHS]='\0';
+    __2AY->__AD=__HHS;
+  };
+  __2AY=__CHS;
+  return(__2AY);
+}
diff --git a/li2svg/launcher.li b/li2svg/launcher.li
new file mode 100644
index 0000000..5ad5ccb
--- /dev/null
+++ b/li2svg/launcher.li
@@ -0,0 +1,72 @@
+Section Header
+  + name :=LAUNCHER;
+  
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="lance le parsing des fichiers du dossier passé en paramètre et écrit dans le fichier svg passé en paramètre(s'il n'éxiste pas il sera créé).";
+  
+Section Inherit
+  
+  -parent_object:OBJECT := OBJECT;
+  
+Section Public
+  
+  - main <-
+  (
+    + p:PARSE;
+    + reper:ENTRY;
+    + string_tmp:STRING;
+    + ensfichiers:ENS_FICHIERS;
+    + f:FICHIER;
+    + svg:SVG_CREATOR;
+    + simple:BOOLEAN;
+    + uniquement_public:BOOLEAN;
+    
+    ({COMMAND_LINE.count < 3}||{(COMMAND_LINE.item 1)=="-help"}).if{
+      affichage_aide;
+    }else{
+      svg := SVG_CREATOR.clone;
+      f := FICHIER.clone;
+      string_tmp := STRING.create 255;
+      string_tmp.copy (COMMAND_LINE.item 1);
+      "Parsing du dossier: ".print;
+      string_tmp.print;
+      "\n".print;
+      "\n\n\t!!!!ATTENTION A LA MODIFICATION DE STRING.LI !!!!!!!!!!!!!!!!!!!!!!!\n\n\n".print;
+      
+      //      ENTRY.reduce_path string_tmp;
+      
+      reper := FILE_SYSTEM.get_entry string_tmp;
+      (reper = NULL).if{			
+        "Dossier ".print;
+        string_tmp.print;
+        " inexistant!\n'".print;
+        die_with_code exit_failure_code;
+      };
+      string_tmp.copy (COMMAND_LINE.item 2);
+      p := PARSE.clone;
+      
+      simple := FALSE;
+      uniquement_public := FALSE;
+      ({COMMAND_LINE.count >=4}&&{(COMMAND_LINE.item 3)=="-simple"}).if{
+        simple := TRUE;
+      };
+      (simple).if_false{
+        ({COMMAND_LINE.count >=4}&&{(COMMAND_LINE.item 3)=="-public"}).if{
+          uniquement_public := TRUE;
+        };
+      };
+      
+      ensfichiers:=p.parcours_dossier reper option simple ou uniquement_public;
+      
+      svg.make ensfichiers to string_tmp;
+      svg.parcours_fichiers;
+      
+    };
+  );
+  
+Section Private
+  - affichage_aide <-
+  (
+    " \n\nUTILISATION :\n\t1er argument :\trépertoire à parser\n\n\t2ieme argument :destination source SVG\n\n\t(-simple|-public) :\tdiagramme sans méthodes/attributs|avec uniquement les méthodes/attributs public\n\n\n\n".print;
+  );
+  
\ No newline at end of file
diff --git a/li2svg/lireetecrire.li b/li2svg/lireetecrire.li
new file mode 100644
index 0000000..a53f6ae
--- /dev/null
+++ b/li2svg/lireetecrire.li
@@ -0,0 +1,68 @@
+
+
+Section Header
+  + name := LIREETECRIRE;  
+   
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="Prototype qui permet de lire un fichier et de créer et d'écrire dans un fichier SVG";
+  
+Section Inherit
+  
+  + parent_object:OBJECT := OBJECT;
+  
+Section Private
+  
+  //le fichier svg dans lequel on va écrire
+  + file:STD_FILE;
+  
+Section Public
+
+  //lit un fichier et renvoit son contenu dans une chaine de caractères
+  + lire e:ENTRY :STRING <-
+  ( 
+    + fichier:STD_FILE;
+    + text:STRING;
+    
+    fichier ?= e;
+    ((fichier = NULL) || {! fichier.open}).if {
+      "File ".print;
+      e.name.print;
+      " not open!\n'".print;
+      die_with_code exit_failure_code;	
+    };
+    text := STRING.create (fichier.size);
+    fichier.read text size (fichier.size);
+    fichier.close;
+    text
+  );
+              
+  //ouvre le fichier SVG, s'il n'éxiste pas il sera créé, sinon il sera vidé
+  + ouvrir_svg dest:STRING <-
+  (
+    + e:ENTRY;
+    e := FILE_SYSTEM.get_entry dest;    
+    (e = NULL).if {
+      file := FILE_SYSTEM.make_file dest;
+    } else {
+      file ?= e;
+    };    
+    ((file = NULL) || {! file.open}).if {
+      "File ".print;
+      dest.print;
+      " not open!\n'".print;
+      die_with_code exit_failure_code;	
+    };
+  );
+  
+  //écrit la chaine dans le fichier SVG
+  + ecrire_svg chaine:STRING<-
+  (
+    file.write chaine from 1 size (chaine.count);
+  );
+  
+  //ferme le fichier SVG
+  + fermer_svg <-
+  (
+    file.close;	
+  );
+  
\ No newline at end of file
diff --git a/li2svg/methode.li b/li2svg/methode.li
new file mode 100644
index 0000000..b231ab6
--- /dev/null
+++ b/li2svg/methode.li
@@ -0,0 +1,60 @@
+Section Header
+  + name := METHODE;
+  
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="stocke les différentes informations relative à une méthode: son nom, son type de retour, ces attributs, son type d'accés";
+  
+Section Inherit
+  
+  +parent_object:OBJECT :=OBJECT;
+  
+Section Private
+  
+  + nom:STRING;
+  + type_retour:STRING;
+  + attributs:ENS_ATTRIBUTS;
+  + type_acces:ACCES;
+  
+Section Public
+  
+  - make (nom1:STRING,type_ret:STRING,ens_attributs:ENS_ATTRIBUTS,acces:ACCES)<-
+  (
+    nom:=nom1;
+    type_retour:=type_ret;
+    attributs:=ens_attributs;
+    type_acces:=acces;
+  );
+  
+  - get_nom :STRING <-
+  (
+    nom
+  );
+  
+  - get_type_retour :STRING <-
+  (
+    type_retour
+  );
+  
+  - get_attributs :ENS_ATTRIBUTS <-
+  (
+    attributs
+  );
+  
+  - get_type_acces :ACCES <-
+  (
+    type_acces
+  );
+  
+  //renvoie la méthode dans la bonne syntaxe pour UML
+  - get_uml_string :STRING <-
+  (
+    + buffer:STRING;
+    buffer:=STRING.create 256;
+    buffer.copy (type_acces.get_uml_type);
+    buffer.append nom;
+    buffer.append (attributs.get_types_retour);
+    buffer.append ":";
+    buffer.append type_retour;
+    buffer
+  );
+  
\ No newline at end of file
diff --git a/li2svg/parse.li b/li2svg/parse.li
new file mode 100644
index 0000000..7f4cdb1
--- /dev/null
+++ b/li2svg/parse.li
@@ -0,0 +1,48 @@
+Section Header
+  + name := PARSE;  
+   
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="Parcours le dossier puis les sous-dossiers passé en paramètre à la recherche de fichier lisaac";
+  
+Section Inherit
+  
+  + parent_object:OBJECT := OBJECT;
+  
+Section Public
+
+  //parcours un dossier et renvoit un ensemble de fichier qui contient la description de tous les fichiers lisaac trouvés
+  + parcours_dossier dir:ENTRY option simple:BOOLEAN ou uniquement_public:BOOLEAN :ENS_FICHIERS<-
+  ( 
+    + direc:DIRECTORY;
+    + string_tmp:STRING;
+    + courant:ENTRY;
+    + parsing:PARSING;
+    + ensfichiers:ENS_FICHIERS;
+    
+    ensfichiers := ENS_FICHIERS.create;
+    
+    parsing := PARSING.clone;
+    
+    direc ?= dir;
+    
+    ((direc = NULL) || {! direc.open}).if{ 
+      "NULL\n".print; 
+    } else {
+      (direc.lower).to (direc.upper) do { j:INTEGER;
+        courant := direc.item j;
+        
+        (courant.is_directory).if{
+          ensfichiers.ajouter_tous (parcours_dossier courant option simple ou uniquement_public);
+        }else{
+          string_tmp := courant.name.substring (courant.name.count-2) to (courant.name.count);
+          (string_tmp.compare ".li" == 0).if {	
+            ensfichiers.ajouter (
+              parsing.parcours_fichier courant option simple ou uniquement_public
+            );	
+          };
+        };
+      };
+    };
+    ensfichiers
+  );
+ 
\ No newline at end of file
diff --git a/li2svg/parsing.li b/li2svg/parsing.li
new file mode 100644
index 0000000..adc7395
--- /dev/null
+++ b/li2svg/parsing.li
@@ -0,0 +1,415 @@
+/*******	Prototype qui permet de récupérer toutes les informations relative à un fichier.li	*******/
+
+
+
+Section Header
+  + name := PARSING;
+  
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="Analyse un fichier lisaac et recherche toutes les informations relatives à ce fichier(nom, parents, méthodes, attributs)";
+  
+Section Inherit
+  + parent_object:OBJECT := OBJECT;
+  
+Section Private
+  + buffer1:STRING;
+  + simple:BOOLEAN :=FALSE;
+  + uniquement_public:BOOLEAN:=FALSE;
+  
+Section Public
+  
+  //récupère le contenu du fichier et renvoit une instance de FICHIER contenant ses informations
+  + parcours_fichier e:ENTRY option simple1:BOOLEAN ou uniquement_public1:BOOLEAN :FICHIER <-
+  (
+    + lee:LIREETECRIRE;
+    + f:FICHIER;
+    + nom:STRING;
+    
+    simple:=simple1;
+    uniquement_public:=uniquement_public1;
+    f:=FICHIER.clone;
+    lee:=LIREETECRIRE.clone;
+    e.path.print;
+    "\n".print;
+    buffer1:=lee.lire e;
+    buffer1.append "\n";
+    //buffer1.to_lower;
+    le_nettoyeur3;
+    nom:=get_element "name" in "Header";    
+    f.make (nom,get_methodes nom,get_attributs nom,get_parents);
+    f
+  );
+  
+Section Private
+  
+  //nettoie le fichier en enlevant tous les commentaires, ce qui se trouve entre "" et entre ()
+  //->il ne restera que ce qu'il faut analyser!
+  - le_nettoyeur3 <-
+  (
+    + index,index2,index_g,index_c,index_po,index_pf,index_p:INTEGER;
+    + nb_p:INTEGER;
+    + calcul_index:{};
+    index:=1;
+    nb_p:=0;
+    //calcul des index
+    calcul_index:={
+      index_g := buffer1.index_of '\"' since index;
+      index_c := buffer1.index_of '/' since index;
+      index_pf := buffer1.index_of ')' since index;
+      index_po := buffer1.index_of '(' since index;
+      index := (index_g.min index_c).min (index_po.min index_pf);
+    };
+    
+    calcul_index.value;
+    {index<(buffer1.count+1)}.while_do{
+      ({index_g=index}&&{buffer1.item (index_g-1) != '\\'}&&{!({buffer1.item (index_g-1) = '\''}&&{buffer1.item (index_g+1) = '\''})}).if{
+        //on enlève ce qui est entre ""
+        index2 := index+1;
+        {{(index2:=buffer1.index_of '\"' since (index2))!=(buffer1.count+1)}&&
+          {{buffer1.item (index2-1) = '\\'}||
+        {{buffer1.item (index2-1) = '\''}&&{buffer1.item (index2+1) = '\''}}}}.while_do{
+        index2 := index2+1;};
+        (index2=(buffer1.count+1)).if_false{
+          buffer1.remove_between index to index2;
+        };
+      }else{
+        //suppression des commentaires //
+        ({index_c=index}&&{buffer1.item (index_c+1) = '/'}).if{
+          index2:=buffer1.index_of '\n' since (index_c+2);
+          buffer1.remove_between index to (index2-1);
+        }else{
+          //suppression des commentaires /* */
+          ({index_c=index}&&{buffer1.item (index_c+1) = '*'}).if{
+            ((index2 := buffer1.substring_index ("*/",index_c+2))!=0).if{
+              buffer1.remove_between index to (index2+1);
+            };
+          }else{
+            //comptage des (
+            ({index_po=index}&&{!({buffer1.item (index_po-1)='\''}&&{buffer1.item (index_po+1)='\''})}).if{
+              (nb_p=0).if{index_p := index;};
+              nb_p := nb_p+1;
+              index := index+1;
+            }else{
+              //décomptage des ) et suppression des zones entre parenthèses
+              ({index_pf=index}&&{!({buffer1.item (index_pf-1)='\''}&&{buffer1.item (index_pf+1)='\''})}).if{
+                nb_p := nb_p-1;
+                (nb_p=0).if{
+                  buffer1.remove_between index_p to (index_pf+1);
+                  index := index_p;
+                }else{index := index+1;};
+              }else{index := index+1;};
+            };
+          };
+        };
+      };
+      //calcul des nouveaux index
+      /*
+      index_g:=buffer1.index_of '"' since index;
+      index_c:=buffer1.index_of '/' since index;
+      index_pf:=buffer1.index_of ')' since index;
+      index_po:=buffer1.index_of '(' since index;
+      index:=(index_g.min index_c).min (index_po.min index_pf);
+      */
+      calcul_index.value;
+    };
+  );
+  
+  //renvoit la Section s, par exemple si s vaut Header, renvoit l'ensemble de la Section HEADER. S'il y a plusieurs Section du même nom,
+  //renvoit les Sections concaténées
+  - get_section s:ABSTRACT_STRING :STRING <-
+  (
+    + tsection1:STRING;
+    + index,index0:INTEGER;
+    + index2:INTEGER;
+    + texto:STRING;
+        
+    texto := STRING.create (s.count);
+    tsection1 := STRING.create 256;
+    tsection1.copy "";
+    texto.copy s;
+    //texto.to_lower;
+    index2 := 1;
+    {(index0:=buffer1.substring_index ("Section",index2))!=0}.while_do{
+      index:=index0+7;
+      {{buffer1.item index ==' '}||{buffer1.item index =='\n'}}.while_do{index:=index+1;};
+      (buffer1.substring index to (index+s.count-1) ==texto).if{
+        index0:=index+s.count;
+        index2:=index0-7;
+        {
+          index:=index2+7;
+          index2:=buffer1.substring_index ("Section",(index));
+        }.do_while{{index2!=0}
+          &&{{{(buffer1.item (index2-1))!='\n'}&&
+            {(buffer1.item (index2-1))!=' '}}||
+            {{(buffer1.item (index2+7))!=' '}
+        &&{(buffer1.item (index2+7))!='\n'}}}};
+        
+        (index2==0).if{ 
+          index2:=buffer1.count;
+        };
+        tsection1.append (buffer1.substring index0 to (index2-1));
+      }else{index2:=index2+8;};
+    };		
+    tsection1
+  );
+  
+  // renvoit un élément d'une Section, pour l'instant cette méthode ne sert qu'à récupérer le 'name' dans la Section Header
+  // mais elle pourrait servir également à récupérer les auteur, les commentaires, etc..
+  - get_element nom:STRING_CONSTANT in s:STRING_CONSTANT :STRING <-
+  (
+    + index,index2,index3:INTEGER;
+    + tsection1:STRING;
+    + element:STRING;
+    
+    tsection1:=get_section s;
+    index:=tsection1.substring_index (nom,1);
+    (index != 0).if {
+      index:=tsection1.substring_index (":=",index+nom.count);
+      index2:=tsection1.substring_index (";",index+nom.count);
+      index3:=tsection1.substring_index ("->",index+nom.count);
+      (index3>0).if{
+        index2:=index2.min(index3-1); 
+      };
+      
+      element:=STRING.create (index2-index);
+      element.copy (tsection1.substring (index+2) to (index2-1));
+      element.remove_all_occurrences ' ';
+      element.remove_all_occurrences '\n';
+    };
+    element
+  );
+  
+  //renvoit l'ensemble des parents d'un prototype
+  - get_parents :ENS_PARENTS <-
+  (
+    + tsection1:STRING;
+    + index:INTEGER;
+    + index2:INTEGER;
+    + parents:ENS_PARENTS;
+    + parent:STRING;
+    
+    parents:=ENS_PARENTS.create;
+    tsection1:=get_section "Inherit";
+    index:=1;
+    index2:=1;
+    
+    {(index2 < tsection1.upper) && {(index:=tsection1.substring_index (":",index2+1))!=0}}.while_do{
+      ((tsection1.item (index+1))=='=').if_false{
+        ((index2:=tsection1.substring_index (":=",(index+1)))==0).if{
+          ((index2:=tsection1.substring_index (";",index))==0).if{
+            index2:=tsection1.substring_index ("<" ,index);
+          };
+        };
+        ((index2-index-2) > 0).if {
+          parent:=STRING.create (index2-index-2);
+          parent.copy (tsection1.substring (index+1) to (index2-1));
+          parent.remove_all_occurrences ' ';
+          parent.remove_all_occurrences '\n';
+          parent.to_upper;
+          (parents.has parent).if_false{
+            parents.ajouter parent;
+          };
+        };
+      } else {
+        index2:=index+1;
+      };
+    };
+    parents
+  );
+  
+  //recherche des attributs
+  - get_attributs nom:STRING :ENS_ATTRIBUTS <-
+  (
+    + ea:ENS_ATTRIBUTS;
+    + pro:PROTECTED;
+    
+    pro:=PROTECTED.clone;
+    pro.set_nom nom;
+    
+    ea:=ENS_ATTRIBUTS.create;
+    (simple).if_false{
+      ea.append_collection (get_attributs2 PUBLIC);
+      (uniquement_public).if_false{
+        ea.append_collection (get_attributs2 PRIVATE);
+        ea.append_collection (get_attributs2 pro);
+      };
+    };
+    ea
+  );
+  //recherche des attributs selon un accès (public,private,..)
+  - get_attributs2 acces:ACCES :ENS_ATTRIBUTS <-
+  (
+    + index,index2,index3:INTEGER;
+    + ea:ENS_ATTRIBUTS;
+    + tsection1:STRING;
+    + tmp_string:STRING;
+    ea:=ENS_ATTRIBUTS.create;
+    
+    tsection1:=get_section (acces.get_type);
+    
+    index:=1;
+    {index!=(tsection1.count+1)}.while_do{
+      index2:=index3:=index;
+      {
+        index:=index+1;
+        index:=tsection1.index_of '+' since index;
+      }.do_while{{(tsection1.item (index-1))=='\''}&&{(tsection1.item (index+1))=='\''}&&{index!=(tsection1.count+1)}};
+      {
+        index2:=index2+1;
+        index2:=tsection1.index_of '-' since index2;
+      }.do_while{{((tsection1.item (index2-1))=='<')||{{(tsection1.item (index2-1))=='\''}&&{(tsection1.item (index2+1))=='\''}}}&&{index2!=(tsection1.count+1)}};
+      {
+        index3:=index3+1;
+        index3:=tsection1.index_of '*' since index3;
+      }.do_while{{(tsection1.item (index3-1))=='\''}&&{(tsection1.item (index3+1))=='\''}&&{index3!=(tsection1.count+1)}};
+      index:=index.min(index2.min(index3));			
+      
+      (index!=(tsection1.count+1)).if{
+        
+        // 				index2:=tsection1.index_of ';' since (index+1);
+        index2:=tsection1.substring_index (":=",(index+1));
+        index3:=tsection1.index_of ';' since (index+1);
+        ({index2>index3}||{index2==0}).if{index2:=index3;};
+        
+        index3:=tsection1.substring_index ("<-",(index+1));
+        ({index2<index3}||{index3==0}).if{
+          index2:=index2.min((tsection1.index_of '=' since (index+1))-1);
+          tmp_string:=tsection1.substring (index+1) to (index2-1);
+          ((tmp_string.index_of ':' since 1)!=(tmp_string.count+1)).if{
+            ea.append_collection (get_attribut (tmp_string,acces));
+          };
+        };
+      };
+    };
+    ea
+  );
+  
+  //analyse une chaine correspondant à un ('i:INTEGER') ou plusieurs ('i,j:INTEGER') attribut(s) et renvoit un ensemble d'attributs
+  - get_attribut (a:STRING,acces:ACCES):ENS_ATTRIBUTS <-
+  (
+    + attribut:ATTRIBUT;
+    + index,index2,index3:INTEGER;
+    + nom,type_retour:STRING;
+    + ea:ENS_ATTRIBUTS;
+    
+    ea:=ENS_ATTRIBUTS.create;
+    a.remove_all_occurrences ' ';
+    a.remove_all_occurrences '\n';
+    
+    index:=a.index_of ':' since 1;
+    type_retour:=a.substring (index+1) to (a.count);
+    type_retour.to_upper;
+    
+    index2:=1;
+    {{(index3:=a.index_of ',' since (index2))!=(a.count+1)}&&{index3<index}}.while_do{
+      attribut:=ATTRIBUT.clone;
+      nom:=a.substring index2 to (index3-1);
+      attribut.make (nom,type_retour,acces);
+      ea.add_last attribut;
+      index2:=index3+1;
+    };
+    attribut:=ATTRIBUT.clone;
+    nom:=a.substring index2 to (index-1);
+    attribut.make (nom,type_retour,acces);	
+    ea.add_last attribut;
+    ea
+  );
+  
+  //recherche des attributs
+  - get_methodes nom:STRING :ENS_METHODES <-
+  (
+    + em:ENS_METHODES;
+    + pro:PROTECTED;
+    
+    pro:=PROTECTED.clone;
+    pro.set_nom nom;
+    
+    em:=ENS_METHODES.create;
+    (simple).if_false{
+      em.append_collection (get_methodes2 PUBLIC);
+      (uniquement_public).if_false{
+        em.append_collection (get_methodes2 PRIVATE);
+        em.append_collection (get_methodes2 pro);
+      };
+    };
+    em
+  );
+  
+  //recherche des attributs selon un acces(public,private,..)
+  - get_methodes2 acces:ACCES:ENS_METHODES <-
+  (
+    + index,index2,index3:INTEGER;
+    + em:ENS_METHODES;
+    + tsection1:STRING;
+    + tmp_string:STRING;
+    em:=ENS_METHODES.create;
+    tsection1:=get_section (acces.get_type);
+    index:=1;
+    {index!=(tsection1.count+1)}.while_do{
+      index2:=index3:=index;
+      {
+        index:=index+1;
+        index:=tsection1.index_of '+' since index;
+      }.do_while{{(tsection1.item (index-1))=='\''}&&{(tsection1.item (index+1))=='\''}&&{index!=(tsection1.count+1)}};
+      {
+        index2:=index2+1;
+        index2:=tsection1.index_of '-' since index2;
+      }.do_while{{((tsection1.item (index2-1))=='<')||{{(tsection1.item (index2-1))=='\''}&&{(tsection1.item (index2+1))=='\''}}}&&{index2!=(tsection1.count+1)}};
+      {
+        index3:=index3+1;
+        index3:=tsection1.index_of '*' since index3;
+      }.do_while{{(tsection1.item (index3-1))=='\''}&&{(tsection1.item (index3+1))=='\''}&&{index3!=(tsection1.count+1)}};
+      
+      
+      index:=index.min(index2.min(index3));			
+      (index!=(tsection1.count+1)).if{
+        // 				index2:=tsection1.index_of ';' since (index+1);
+        index2:=tsection1.substring_index (":=",(index+1));
+        index3:=tsection1.index_of ';' since (index+1);
+        ({index2>index3}||{index2==0}).if{index2:=index3;};
+        index3:=tsection1.substring_index ("<-",(index+1));
+        ({{index2>index3}||{index2==(tsection1.count+1)}}&&{index3!=0}).if{
+          tmp_string:=tsection1.substring (index+1) to (index3-1);
+          em.add_last (get_methode (tmp_string,acces));
+        };
+      };
+    };
+    em
+  );
+  
+  - get_methode (m:STRING,acces:ACCES) :METHODE <-
+  (
+    + index,index2,index3:INTEGER;
+    + nom, type_retour,tmp_string2:STRING;
+    + methode:METHODE;
+    + ea:ENS_ATTRIBUTS;
+    ea:=ENS_ATTRIBUTS.create;
+    methode:=METHODE.clone;
+    m.right_adjust; m.left_adjust;
+    type_retour:=STRING.create 4;
+    type_retour.copy "void";
+    m.replace_all '\t' with ' ';
+    m.append " ";
+    index:=(m.index_of ' ' since 1).min(m.index_of ':' since 1);
+    nom:= m.substring 1 to (index-1);
+    nom.replace_all '<' with 'c';
+    nom.replace_all '&' with 'é';
+    {(index2:=m.index_of ':' since (index))!=(m.count+1)}.while_do{
+      ((index2-index)<2).if{
+        type_retour:=m.substring (index2+1) to (m.count-1);
+        index:=m.count;
+      }else{
+        index3:=(m.index_of ' ' since (index2+1)).min(m.index_of ',' since (index2+1));
+        tmp_string2:=m.substring (index+1) to (index3-1);
+        ((tmp_string2.occurrences ':')>1).if{
+          index3:=m.index_of ':' since (index2+1);
+          tmp_string2:=m.substring (index+1) to (index3-1);
+        };
+        ea.append_collection(get_attribut (tmp_string2,acces));
+        index:=index3;
+      };
+    };
+    type_retour.to_upper;
+    methode.make (nom,type_retour,ea,acces);
+    methode
+  );
diff --git a/li2svg/private.li b/li2svg/private.li
new file mode 100644
index 0000000..7a2ed2c
--- /dev/null
+++ b/li2svg/private.li
@@ -0,0 +1,22 @@
+Section Header
+  + name :=PRIVATE;
+  
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="Décrit l'accès Private";
+  
+Section Inherit
+  - parent_acces:ACCES:=ACCES;
+  
+Section Public
+  
+  //renvoit une chaine de caractèrs décrivant le type d'accès
+  - get_type :ABSTRACT_STRING<-
+  (
+    "private"
+  );
+  
+  //renvoit le type d'accès au format UML (-)
+  - get_uml_type :STRING_CONSTANT<-
+  (
+    "-"
+  );
diff --git a/li2svg/protected.li b/li2svg/protected.li
new file mode 100644
index 0000000..8b08131
--- /dev/null
+++ b/li2svg/protected.li
@@ -0,0 +1,32 @@
+/*******	Prototype qui herite de "acces" et qui instancie un acces "protected"	*******/
+
+
+Section Header
+  + name :=PROTECTED;
+  
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="Décrit l'accès PROTECTED";
+  
+Section Inherit
+  + parent_acces:ACCES:=ACCES;
+  
+Section Private
+  + nom:STRING;
+Section Public
+  
+  //renvoit une chaine de caractèrs décrivant le type d'accès. Ici on renvoit le nom du prototype
+  - get_type :ABSTRACT_STRING<-
+  (
+    nom
+  );
+  
+  //renvoit le type d'accès au format UML (*)
+  - get_uml_type :STRING_CONSTANT<-
+  (
+    "*"
+  );
+  
+  - set_nom nom1:STRING <-
+  (
+    nom:=nom1;
+  );
diff --git a/li2svg/public.li b/li2svg/public.li
new file mode 100644
index 0000000..3fc65b5
--- /dev/null
+++ b/li2svg/public.li
@@ -0,0 +1,26 @@
+/*******	Prototype qui herite de "acces" et qui instancie un acces "public"	*******/
+
+
+Section Header
+  + name :=PUBLIC;
+  
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="Décrit l'accès Public";
+  
+Section Inherit
+  
+  - parent_acces:ACCES:=ACCES;
+  
+Section Public
+  
+  //renvoit une chaine de caractèrs décrivant le type d'accès
+  - get_type :ABSTRACT_STRING<-
+  (
+    "public"
+  );
+  
+  //renvoit le type d'accès au format UML (+)
+  - get_uml_type :STRING_CONSTANT<-
+  (
+    "+"	
+  );
diff --git a/li2svg/svg_creator.li b/li2svg/svg_creator.li
new file mode 100644
index 0000000..d0e5f18
--- /dev/null
+++ b/li2svg/svg_creator.li
@@ -0,0 +1,195 @@
+Section Header
+  + name := SVG_CREATOR;
+  
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="Crée un fichier SVG à partir d'un ensemble de fichiers";
+  
+Section Inherit
+  
+  + parent_object:OBJECT:=OBJECT;
+  
+Section Private
+  
+  + fichiers:ENS_FICHIERS;
+  + rectangles:ENS_RECTANGLES;
+  + x:INTEGER;
+  + y:INTEGER;
+  //le fichier SVG dans lequel on écrit
+  + destination:STRING;
+  
+Section Public
+  - make ef:ENS_FICHIERS to dest:STRING <-
+  (
+    fichiers:=ef;
+    ef.clean;
+    rectangles:=ENS_RECTANGLES.clone;
+    x:=10;
+    y:=10;
+    destination:=dest;
+  );
+  
+  //parcours l'ensemble des fichiers. Pour chaque fichier on cherche s'il a déjà tous ses parents placé sur le diagramme. Dès que c'est le cas on crée une
+  // nouvelle instance de FORME_RECTANGLES à partir du fichier et on lui assigne des coordonnées calculées en fonction de la position de ses parents.
+  // gère également le cas des morts-vivants.
+  - parcours_fichiers <-
+  (
+    {(fichiers.count)>(rectangles.count)}.while_do{
+      + h_max:INTEGER;
+      + ens_tmp:ENS_RECTANGLES;
+      + k:INTEGER;
+      
+      ens_tmp:=ENS_RECTANGLES.create;
+      (fichiers.lower).to (fichiers.upper) do{ i:INTEGER;
+        + r:FORME_RECTANGLE;
+        r:=FORME_RECTANGLE.clone;
+        r.make_with_file (fichiers.item i);
+        h_max:=h_max.max (r.get_hauteur);
+        (rectangles.has (r.get_nom)).if_false{
+          + xm,ym,tmp:INTEGER;
+          ((tmp:=(rectangles.has_all_parents (fichiers.item i) and fichiers))>0).if{
+            (rectangles.lower).to (rectangles.upper) do{j:INTEGER;
+              +g:FORME_RECTANGLE;
+              
+              g:=rectangles.item j;
+              (r.get_parents.has (g.get_nom)).if{
+                xm:= xm + g.get_x;
+                ym:=ym.max (g.get_y+g.get_hauteur);	
+                r.ajout_coord(g);
+              };
+            };
+            ({r.get_parents.count == 0}||{tmp==2}).if{
+              (tmp==2).if{
+                ens_tmp.ajouter r;
+              };
+              xm:=x;
+              ym:=y;
+              modifie_coord_x (r.get_largeur);
+            }else{
+              xm:=xm/(r.get_parents.count);
+              ym:=ym+60;
+            };
+            r.set_coord (xm,ym);
+            rectangles.ajouter r;
+            ajuste_coord r with rectangles;	
+          };
+        };
+      };
+      k:=ens_tmp.lower;
+      {k<=ens_tmp.upper}.while_do{
+        + xm,ym:INTEGER;
+        (rectangles.lower).to (rectangles.upper) do{j:INTEGER;
+          +g:FORME_RECTANGLE;
+          
+          g:=rectangles.item j;
+          (ens_tmp.item k .get_parents.has (g.get_nom)).if{
+            xm:= xm + g.get_x;
+            ym:=ym.max (g.get_y+g.get_hauteur);	
+            ens_tmp.item k .ajout_coord(g);
+          };
+        };		
+        k:=k+1;
+      };	
+      modifie_coord_y h_max;
+    };
+    create_svg;	
+  );
+  
+  // ecrit dans le fichier SVG destination tout le code SVG généré à partir de l'ensemble des rectangles.
+  - create_svg <-
+  (
+    + xy_max:FAST_ARRAY(INTEGER);
+    + buffer_svg1:STRING;
+    + lee:LIREETECRIRE;
+    
+    lee:=LIREETECRIRE.clone;
+    lee.ouvrir_svg destination;
+    xy_max:=rectangles.get_xy_max;
+    buffer_svg1:=STRING.create 32;
+    buffer_svg1.copy "";
+    buffer_svg1.append "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<svg xmlns=\"http://www.w3.org/2000/svg\" x=\"0\" y=\"0\" width=\"";
+    xy_max.item 0 .append_in buffer_svg1;
+    buffer_svg1.append "\" height=\"";
+    xy_max.item 1 .append_in buffer_svg1;
+    buffer_svg1.append "\"> <g>\n";
+    lee.ecrire_svg buffer_svg1;
+    (rectangles.lower).to (rectangles.upper) do{i:INTEGER;
+      + r:FORME_RECTANGLE;
+      + er:ENS_RECTANGLES;
+      + buffer_svg:STRING;
+      
+      r:=rectangles.item i;
+      buffer_svg:=STRING.create 20;
+      buffer_svg.copy "";
+      buffer_svg.append (SVG_FORMES.rectangle r);
+      er:=r.get_couples;
+      (er.lower).to (er.upper) do{ j:INTEGER;
+        + p:FORME_RECTANGLE;
+        
+        p:=er.item j;
+        buffer_svg.append (SVG_FORMES.trait p between r with rectangles);
+      };
+      lee.ecrire_svg buffer_svg;
+    };
+    buffer_svg1:=STRING.create 12;
+    buffer_svg1.copy "</g> </svg>\n";
+    lee.ecrire_svg buffer_svg1;
+    lee.fermer_svg;
+  );
+  
+  //ajuste les coordonnées d'un rectangle en focntion de l'ensembles des rectangles. Permet d'éviter les collisions entre les rectangles.
+  - ajuste_coord fr:FORME_RECTANGLE with er:ENS_RECTANGLES <-
+  (
+    (er.lower).to (er.upper) do{i:INTEGER;
+      + p:FORME_RECTANGLE;
+      + y1,y2,y3,y4:INTEGER;
+      
+      p:=er.item i;
+      y1:=fr.get_y;
+      y2:=y1+fr.get_hauteur;
+      y3:=p.get_y;
+      y4:=y3+p.get_hauteur;
+      ({{{y1<=y3}&&{y2>=y3}}||{{y1<=y4}&&{y2>=y4}}||{{y2<=y4}&&{y1>=y3}}} && {(p.get_nom)!=(fr.get_nom)}).if{
+        + x1,x2,x3,x4:INTEGER;
+        
+        x1:=fr.get_x-20;
+        x2:=x1+fr.get_largeur+40;
+        x3:=p.get_x;
+        x4:=x3+p.get_largeur;
+        ({x1<=x3}&&{x2>x3}).if{
+          p.decal (x2-x3);
+          ajuste_coord p with er;
+        }else{
+          ({x2>=x4}&&{x1<x4}).if{
+            ((x3+(x1-x4))>=0).if{
+              p.decal (x1-x4);
+              ajuste_coord p with er;
+            }else{
+              fr.decal (x4-x1);
+              ajuste_coord fr with er;
+            };
+          }else{
+            
+            ({x1>=x3}&&{x2<=x4}).if{
+              p.decal (x2-x3);
+              ajuste_coord p with er;
+            };
+          };
+        };	
+      };
+      
+    };
+    
+  );
+  
+  - modifie_coord_x coordx:INTEGER <-
+  (
+    x:=x+coordx + 20;
+  );
+  
+  - modifie_coord_y coordy:INTEGER <-
+  (
+    y:=y+ coordy +60;
+    x:=10;
+  );
+  
+  
diff --git a/li2svg/svg_formes.li b/li2svg/svg_formes.li
new file mode 100644
index 0000000..fcff4be
--- /dev/null
+++ b/li2svg/svg_formes.li
@@ -0,0 +1,294 @@
+Section Header
+  + name := SVG_FORMES;
+  - author:="HILBERT Jérôme (hilbertjerome at gmail.com), FUHLHABER Simon(simon.fuhlhaber at gmail.com), Jacquemin Grégoire(greg-jacquemin at hotmail.fr)";
+  - comment:="creation des diffèrentes formes en code svg du diagramme en gérant les conflits de collision";
+  
+Section Inherit
+  + parent_object:OBJECT:=OBJECT;
+  
+Section Public
+  //CREATION DU CODE SVG POUR UN RECTANGLE
+  - rectangle f:FORME_RECTANGLE :STRING <-
+  (
+    + esp_ligne:INTEGER;
+    + chaine,tmp_string:STRING;
+    + x,y,posx1,posx2,posy1,posy2:INTEGER;
+    esp_ligne := 12;
+    x:=f.get_x +10;
+    y:=f.get_y +20;
+    posx1:=x+10;
+    posy1:=y+10;
+    posx2:=f.get_largeur;
+    posy2:=y+esp_ligne;
+    chaine:=STRING.create 256;
+    chaine.copy "<rect width=\"";
+    posx2.append_in chaine;
+    chaine.append "\" height=\"";
+    f.get_hauteur.append_in chaine;
+    chaine.append "\" x=\"";
+    f.get_x.append_in chaine;
+    chaine.append "\" y=\"";
+    f.get_y.append_in chaine;
+    chaine.append "\" fill=\"white\" stroke=\"black\" stroke-width=\"2\"/>\n";
+    chaine.append "<line x1=\"";
+    f.get_x.append_in chaine;
+    chaine.append "\" y1=\"";
+    posy1.append_in chaine;
+    chaine.append "\" x2=\"";
+    (f.get_x+f.get_largeur).append_in chaine;
+    chaine.append "\" y2=\"";
+    posy1.append_in chaine;
+    chaine.append "\" stroke=\"black\"/>\n";
+    tmp_string:=STRING.create (f.get_nom.count+1);
+    tmp_string.copy (f.get_nom);
+    tmp_string.append "\n";
+    chaine.append (get_text tmp_string at x and y with_size 12);
+    posy1:=posy1+20;
+    chaine.append (get_text (f.get_text_attributs) at x and posy1 with_size 10);
+    posy1:=posy1+(esp_ligne*(f.get_attributs.get_nb_lignes)+5);
+    chaine.append "<line x1=\"";
+    f.get_x.append_in chaine;
+    chaine.append "\" y1=\"";
+    posy1.append_in chaine;
+    chaine.append "\" x2=\"";
+    (f.get_x+f.get_largeur).append_in chaine;
+    chaine.append "\" y2=\"";
+    posy1.append_in chaine;
+    chaine.append "\" stroke=\"black\"/>\n";
+    posy1:=posy1+20;
+    chaine.append (get_text (f.get_text_methodes) at x and posy1 with_size 10);
+    chaine
+  );
+  
+  //CREATION DU CODE SVG POUR UN TRAIT
+  - trait pere:FORME_RECTANGLE between fils:FORME_RECTANGLE with er:ENS_RECTANGLES :STRING <-
+  (
+    + c:STRING;
+    + posx1,posy1,posx2,posy2:REAL_64;
+    + angle:REAL_64;
+    + points:LINKED_LIST(FAST_ARRAY(INTEGER));
+    + point:FAST_ARRAY(INTEGER);
+    + rectangles:ENS_RECTANGLES;
+    + chaine:STRING;
+    + i:INTEGER;
+    
+    rectangles:=ENS_RECTANGLES.clone;
+    rectangles.copy er;
+    
+    point:=FAST_ARRAY(INTEGER).create 2;
+    
+    c:=STRING.create 1024;
+    chaine:=STRING.create 1024;
+    
+    rectangles.remove_parent pere;
+    
+    points:=collision rectangles with (fils.get_x+((fils.get_largeur)/2),fils.get_y) 
+    between (pere.get_x+(pere.get_largeur)/2,pere.get_y+pere.get_hauteur);
+    
+    ((pere.get_y+pere.get_hauteur)>=(points.last.item 1)).if{
+      point.put (pere.get_x+(pere.get_largeur)/2) to 0;
+      point.put ((pere.get_y+pere.get_hauteur)+30) to 1;
+      points.add_last point;
+    };
+    i:=points.lower;
+    chaine.copy "";
+    {i<(points.upper)}.while_do{
+      + x1,y1,x2,y2:INTEGER;
+      
+      x1:=points.item i .item 0;
+      y1:=points.item i .item 1;
+      x2:=points.item (i+1) .item 0;
+      y2:=points.item (i+1) .item 1;
+      chaine.append "<line x1=\"";
+      x1.append_in chaine;
+      chaine.append "\" y1=\"";
+      y1.append_in chaine;
+      chaine.append "\" x2=\"";
+      x2.append_in chaine;
+      chaine.append "\" y2=\"";
+      y2.append_in chaine;
+      chaine.append "\" stroke=\"black\"/>\n";
+      i:=i+1;
+    };
+    c.copy "";
+    c.append chaine;
+    posx1:=(pere.get_x.to_real_64) +(pere.get_largeur.to_real_64)/2;
+    posy1:=(pere.get_y+pere.get_hauteur).to_real_64;
+    posx2:=(points.last.item 0).to_real_64;
+    posy2:=(points.last.item 1).to_real_64;
+    
+    angle:=(((posx1-posx2).abs)/(posy2-posy1)).atan;
+    (posx1>posx2).if{posx1:=posx1-((angle.sin))*20;}else{posx1:=posx1+((angle.sin))*20;};
+    posy1:=posy1+((angle.cos))*15;
+    c.append "<defs> <marker id=\"Triangle\" viewBox=\"0 0 10 10\" refX=\"0\" refY=\"5\" markerUnits=\"strokeWidth\" markerWidth=\"15\" markerHeight=\"20\" ";
+    c.append "orient=\"auto\"> <path d=\"M 0 0 L 10 5 L 0 10 z\" /> </marker> </defs> <path d=\"M ";
+    posx2.append_in c;
+    c.append " ";
+    posy2.append_in c;
+    c.append " L ";
+    posx1.append_in c;
+    c.append " ";
+    posy1.append_in c;
+    c.append " \" fill=\"none\" stroke=\"black\" stroke-width=\"1\" marker-end=\"url(#Triangle)\"  />\n";
+    c
+  );
+  
+Section Private
+  
+  //CREATION DU CODE SVG POUR L'AFFICHAGE DE TEXTE
+  - get_text text:STRING at x:INTEGER and y:INTEGER with_size size:INTEGER :STRING <-
+  (
+    + svg:STRING;
+    + index1:INTEGER;
+    + index2,y_tmp:INTEGER;
+    
+    svg:=STRING.create 256;
+    index1:=1;
+    index2:=1;
+    y_tmp:=y;
+    svg.copy "";
+    text.right_adjust;
+    text.left_adjust;
+    //  		text.append "\n";
+    (text.is_empty).if_false {
+      {(index2:=text.substring_index ("\n",index2+1))!=0}.while_do{
+        svg.append "<text x=\"";
+        x.append_in svg;
+        svg.append "\" y=\"";
+        y_tmp.append_in svg;
+        svg.append "\" fill=\"black\" font-size=\"";
+        size.append_in svg;
+        svg.append "\">";
+        svg.append (text.substring index1 to (index2-1));
+        svg.append "</text>\n";
+        y_tmp:=y_tmp+12;
+        index1:=index2+1;
+      };
+    };
+    svg
+  );
+  //METHODE RECURSIVE POUR TRAITER LES COLLISIONS DES TRAITS AVEC LES RECTANGLES
+  - collision rectangles:ENS_RECTANGLES with (x1,y1:INTEGER) between (x2,y2:INTEGER) :LINKED_LIST(FAST_ARRAY(INTEGER)) <-
+  (
+    + points:LINKED_LIST(FAST_ARRAY(INTEGER));
+    + tmp,point:FAST_ARRAY(INTEGER);
+    + i:INTEGER;
+    + rectxy:ENS_RECTANGLES;
+    
+    
+    points:=LINKED_LIST(FAST_ARRAY(INTEGER)).create;
+    tmp:=FAST_ARRAY(INTEGER).create 2;
+    tmp.put x1 to 0;
+    tmp.put y1 to 1;
+    points.add_last tmp;
+    
+    rectxy:=ENS_RECTANGLES.clone;
+    rectxy.copy rectangles;
+    
+    rectxy.remove_not_influent_parents (x1,y1) with (x2,y2);
+    rectxy.bofferding (x1,y1);
+    
+    i:=rectxy.lower;
+    {i<=rectxy.upper}.while_do{
+      point:=intersection (x1,y1) and (x2,y2) with (rectxy.item i);
+      ((point.item 0)!=0).if{
+        points.append_collection (collision rectangles with (x1,y1) between ((point.item 0),(point.item 1)));
+        points.append_collection (collision rectangles with ((point.item 0),(point.item 1)) between (x2,y2));
+        i:=rectangles.upper;
+      };
+      i:=i+1;
+    };
+    points
+  );
+  
+  //RENVOIE A ET B DE L' EQUATION AX + B PASSANT PAR LES POINTS X1,Y1 ET X2,Y2
+  - get_function x1:INTEGER and y1:INTEGER with x2:INTEGER and y2:INTEGER :FAST_ARRAY(REAL_64) <-
+  (
+    + xy :FAST_ARRAY(REAL_64);
+    + a,b:REAL_64;
+    
+    xy:=FAST_ARRAY(REAL_64).create 2;
+    xy.put 0 to 0;
+    xy.put 0 to 1;
+    (x1!=x2).if{
+      a:=((y1-y2).to_real_64)/((x1-x2).to_real_64);
+      b:=(y1.to_real_64) -(a*(x1.to_real_64));
+      xy.put a to 0;
+      xy.put b to 1;
+    }else{
+      xy.put 0 to 0;
+      xy.put x1 to 1;
+    };
+    xy
+  );
+  
+  //TROUVE LE POINT D'INTERSECTION DU TRAIT AVEC LE RECTANGLE ET CALCUL UN POINT POUR LA DEVIATION DU TRAIT
+  - intersection (x1,y1:INTEGER) and (x2,y2:INTEGER) with rect:FORME_RECTANGLE :FAST_ARRAY(INTEGER) <-
+  (
+    + point:FAST_ARRAY(INTEGER);
+    + abs,abs2,ord:INTEGER;
+    + xy:FAST_ARRAY(REAL_64);
+    
+    xy:=get_function x1 and y1 with x2 and y2;
+    point:=FAST_ARRAY(INTEGER).create 2;
+    point.put 0 to 0;
+    point.put 0 to 1;
+    ((xy.item 0) == 0).if{
+      abs:=(xy.item 1).to_integer;
+    }else{
+      abs:=(((((rect.get_y + rect.get_hauteur).to_real_64)-(xy.item 1))/(xy.item 0)).to_integer);
+      // 			abs2:=((((rect.get_y.to_real_64)-(xy.item 1))/(xy.item 0)).to_integer);
+    };
+    ({(rect.get_x)<=abs2}&&{((rect.get_x+rect.get_largeur))>=abs2}).if{
+      (abs2>=((rect.get_x)+((rect.get_largeur)/2))).if{
+        point.put ((rect.get_x+rect.get_largeur+rect.get_right)) to 0;
+        rect.update_right;
+      }else{
+        point.put ((rect.get_x-rect.get_left)) to 0;
+        rect.update_left;
+      };
+      point.put ((rect.get_y+rect.get_hauteur)) to 1;
+    };
+    ({(rect.get_x)<=abs}&&{((rect.get_x+rect.get_largeur))>=abs}).if{
+      (abs>=((rect.get_x)+((rect.get_largeur)/2))).if{
+        point.put ((rect.get_x+rect.get_largeur+rect.get_right)) to 0;
+        rect.update_right;
+      }else{
+        point.put ((rect.get_x-rect.get_left)) to 0;
+        rect.update_left;
+      };
+      point.put ((rect.get_y+rect.get_hauteur)) to 1;
+    }else{
+      ((xy.item 0) == 0).if_false{
+        ((xy.item 0)>=0).if{
+          ord:=((xy.item 0) * (((rect.get_x)+(rect.get_largeur)).to_real_64) + (xy.item 1)).to_integer;
+          ({ord>=(rect.get_y)}&&{ord<=((rect.get_y+rect.get_hauteur))}).if{
+            ({(xy.item 0)> 1}||{y1<(rect.get_y+rect.get_hauteur)}).if{
+              point.put ((rect.get_x+rect.get_largeur+rect.get_right)) to 0;	
+              point.put ((rect.get_y-rect.get_right)) to 1;
+              rect.update_right;
+            }else{
+              point.put ((rect.get_x-rect.get_left)) to 0;
+              point.put ((rect.get_y+rect.get_hauteur)) to 1;
+              rect.update_left;
+            };
+            
+          };
+        }else{
+          ord:=((xy.item 0) * ((rect.get_x).to_real_64) + (xy.item 1)).to_integer;
+          ({ord>=(rect.get_y)}&&{ord<=((rect.get_y+rect.get_hauteur))}).if{
+            ({(xy.item 0)< -1}||{y1<(rect.get_y+rect.get_hauteur)}).if{
+              point.put ((rect.get_x-rect.get_left)) to 0;
+              point.put ((rect.get_y-rect.get_left)) to 1;
+              rect.update_left;
+            }else{
+              point.put (rect.get_x+rect.get_largeur+rect.get_right) to 0;
+              point.put (rect.get_y+rect.get_hauteur) to 1;
+              rect.update_right;
+            };
+          };
+        };
+      };
+    };
+    point
+);
\ No newline at end of file

-- 
Lisaac compiler



More information about the Lisaac-commits mailing list