Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/08/2016, à 06:23

temps

optimisation javasript

Bonjour,
J'ai créé un addon firefox qui permet aux artistes de générer des vidéos sans image source ou son enregistré, rien qu'avec de l'imagination ( lecjoa ).
Je suis à la recherche d'informations afin d'optimiser la partie javascript. Est-il possible d’appeler un fichier javascript à partir d'un autre fichier javascript ? Mon but étant de bien différencier les fonctions différentes.
Je joins en dessous un exemple de vidéo entièrement généré par l'addon sans appel d'image ou de son, j'ai fait ça assez rapidement juste pour montrer les possibilités.
Cordialement
example.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>multidirectional-talk</title>

<script>
 

	var persistanceretinienne = 15;
	var nbimg = null;
	var nbboucle = 70;
    	var mua1 = 0;
	var vitesseDuVent = 220;
	var ouioui;
	var joueur = 'fleur';
	var joueur1;
	var joueur2;
	var version = 1;
	var joueur3 = 'bisfleur';
	var joueur4;
	var joueur5 = 'bis';
	var joueur7;
	var joueur8;
	var arretimage5mn = 300000;
	var souvenirvitesse = 1000;
	var soud1 = [

220,100,219,100,218,100,40,175,217,100,216,100,215,100,43,175,214,100,213,100,212,100,46,175,211,100,210,100,209,100,49,175,208,100,207,100,206,100,52,175,205,100,204,100,203,100,55,175,202,100,201,100,200,100,58,175,199,100,198,100,197,100,61,175,196,100,195,100,194,100,64,175,193,100,192,100,191,100,67,175,190,100,189,100,188,100,70,175,187,100,186,100,185,100,73,175,184,100,183,100,182,100,76,175,181,100,180,100,179,100,79,175,178,100,177,100,176,100,82,175,175,100,174,100,173,100,85,175,172,100,171,100,170,100,88,175,169,100,168,100,167,100,91,175,166,100,165,100,164,100,94,175,163,100,162,100,161,100,97,175,160,100,159,100,158,100,100,175,157,100,156,100,155,100,103,175,154,100,153,100,152,100,106,175,151,100,150,100,149,100,109,175,148,100,147,100,146,100,112,175,145,100,144,100,143,100,115,175,142,100,141,100,140,100,118,175,139,100,138,100,137,100,121,175,136,100,135,100,134,100,124,175,133,100,132,100,131,100,127,175,130,220,129,220,128,220,127,220,130,220,129,220,129,220,127,220,130,220,129,220,129,220,127,220,130,220,129,220,129,220,127,220

];
	var soud2 = [

220,100,219,100,218,100,40,175,217,100,216,100,215,100,43,175,214,100,213,100,212,100,46,175,211,100,210,100,209,100,49,175,208,100,207,100,206,100,52,175,205,100,204,100,203,100,55,175,202,100,201,100,200,100,58,175,199,100,198,100,197,100,61,175,196,100,195,100,194,100,64,175,193,100,192,100,191,100,67,175,190,100,189,100,188,100,70,175,187,100,186,100,185,100,73,175,184,100,183,100,182,100,76,175,181,100,180,100,179,100,79,175,178,100,177,100,176,100,82,175,175,100,174,100,173,100,85,175,172,100,171,100,170,100,88,175,169,100,168,100,167,100,91,175,166,100,165,100,164,100,94,175,163,100,162,100,161,100,97,175,160,100,159,100,158,100,100,175,157,100,156,100,155,100,103,175,154,100,153,100,152,100,106,175,151,100,150,100,149,100,109,175,148,100,147,100,146,100,112,175,145,100,144,100,143,100,115,175,142,100,141,100,140,100,118,175,139,100,138,100,137,100,121,175,136,100,135,100,134,100,124,175,133,100,132,100,131,100,127,175,130,220,129,220,128,220,127,220,130,220,129,220,129,220,127,220,130,220,129,220,129,220,127,220,130,220,129,220,129,220,127,220

];
	var soud3 = [

220,100,219,100,218,100,40,150,217,100,216,100,215,100,43,150,214,100,213,100,212,100,46,150,211,100,210,100,209,100,49,150,208,100,207,100,206,100,52,150,205,100,204,100,203,100,55,150,202,100,201,100,200,100,58,150,199,100,198,100,197,100,61,150,196,100,195,100,194,100,64,150,193,100,192,100,191,100,67,150,190,100,189,100,188,100,70,150,187,100,186,100,185,100,73,150,184,100,183,100,182,100,76,150,181,100,180,100,179,100,79,150,178,100,177,100,176,100,82,150,175,100,174,100,173,100,85,150,172,100,171,100,170,100,88,150,169,100,168,100,167,100,91,150,166,100,165,100,164,100,94,150,163,100,162,100,161,100,97,150,160,100,159,100,158,100,100,150,157,100,156,100,155,100,103,150,154,100,153,100,152,100,106,150,151,100,150,100,149,100,109,150,148,100,147,100,146,100,112,150,145,100,144,100,143,100,115,150,142,100,141,100,140,100,118,150,139,100,138,100,137,100,121,150,136,100,135,100,134,100,124,150,133,100,132,100,131,100,127,150,130,220,129,220,128,220,127,220,130,220,129,220,129,220,127,220,130,220,129,220,129,220,127,220,130,220,129,220,129,220,127,220

];
	var soud4 = [

220,100,219,100,218,100,40,125,217,100,216,100,215,100,43,125,214,100,213,100,212,100,46,125,211,100,210,100,209,100,49,125,208,100,207,100,206,100,52,125,205,100,204,100,203,100,55,125,202,100,201,100,200,100,58,125,199,100,198,100,197,100,61,125,196,100,195,100,194,100,64,125,193,100,192,100,191,100,67,125,190,100,189,100,188,100,70,125,187,100,186,100,185,100,73,125,184,100,183,100,182,100,76,125,181,100,180,100,179,100,79,125,178,100,177,100,176,100,82,125,175,100,174,100,173,100,85,125,172,100,171,100,170,100,88,125,169,100,168,100,167,100,91,125,166,100,165,100,164,100,94,125,163,100,162,100,161,100,97,125,160,100,159,100,158,100,100,125,157,100,156,100,155,100,103,125,154,100,153,100,152,100,106,125,151,100,150,100,149,100,109,125,148,100,147,100,146,100,112,125,145,100,144,100,143,100,115,125,142,100,141,100,140,100,118,125,139,100,138,100,137,100,121,125,136,100,135,100,134,100,124,125,133,100,132,100,131,100,127,125,130,220,129,220,128,220,127,220,130,220,129,220,129,220,127,220,130,220,129,220,129,220,127,220,130,220,129,220,129,220,127,220

];
	var soud5 = [

220,100,219,100,218,100,40,100,217,100,216,100,215,100,43,100,214,100,213,100,212,100,46,100,211,100,210,100,209,100,49,100,208,100,207,100,206,100,52,100,205,100,204,100,203,100,55,100,202,100,201,100,200,100,58,100,199,100,198,100,197,100,61,100,196,100,195,100,194,100,64,100,193,100,192,100,191,100,67,100,190,100,189,100,188,100,70,100,187,100,186,100,185,100,73,100,184,100,183,100,182,100,76,100,181,100,180,100,179,100,79,100,178,100,177,100,176,100,82,100,175,100,174,100,173,100,85,100,172,100,171,100,170,100,88,100,169,100,168,100,167,100,91,100,166,100,165,100,164,100,94,100,163,100,162,100,161,100,97,100,160,100,159,100,158,100,100,100,157,100,156,100,155,100,103,100,154,100,153,100,152,100,106,100,151,100,150,100,149,100,109,100,148,100,147,100,146,100,112,100,145,100,144,100,143,100,115,100,142,100,141,100,140,100,118,100,139,100,138,100,137,100,121,100,136,100,135,100,134,100,124,100,133,100,132,100,131,100,127,100,130,220,129,220,128,220,127,220,130,220,129,220,129,220,127,220,130,220,129,220,129,220,127,220,130,220,129,220,129,220,127,220

];
	var soud6 = [

220,100,219,100,218,100,40,75,217,100,216,100,215,100,43,75,214,100,213,100,212,100,46,75,211,100,210,100,209,100,49,75,208,100,207,100,206,100,52,75,205,100,204,100,203,100,55,75,202,100,201,100,200,100,58,75,199,100,198,100,197,100,61,75,196,100,195,100,194,100,64,75,193,100,192,100,191,100,67,75,190,100,189,100,188,100,70,75,187,100,186,100,185,100,73,75,184,100,183,100,182,100,76,75,181,100,180,100,179,100,79,75,178,100,177,100,176,100,82,75,175,100,174,100,173,100,85,75,172,100,171,100,170,100,88,75,169,100,168,100,167,100,91,75,166,100,165,100,164,100,94,75,163,100,162,100,161,100,97,75,160,100,159,100,158,100,100,75,157,100,156,100,155,100,103,75,154,100,153,100,152,100,106,75,151,100,150,100,149,100,109,75,148,100,147,100,146,100,112,75,145,100,144,100,143,100,115,75,142,100,141,100,140,100,118,75,139,100,138,100,137,100,121,75,136,100,135,100,134,100,124,75,133,100,132,100,131,100,127,75,130,220,129,220,128,220,127,220,130,220,129,220,129,220,127,220,130,220,129,220,129,220,127,220,130,220,129,220,129,220,127,220

];
	var soud7 = [

220,100,219,100,218,100,40,50,217,100,216,100,215,100,43,50,214,100,213,100,212,100,46,50,211,100,210,100,209,100,49,50,208,100,207,100,206,100,52,50,205,100,204,100,203,100,55,50,202,100,201,100,200,100,58,50,199,100,198,100,197,100,61,50,196,100,195,100,194,100,64,50,193,100,192,100,191,100,67,50,190,100,189,100,188,100,70,50,187,100,186,100,185,100,73,50,184,100,183,100,182,100,76,50,181,100,180,100,179,100,79,50,178,100,177,100,176,100,82,50,175,100,174,100,173,100,85,50,172,100,171,100,170,100,88,50,169,100,168,100,167,100,91,50,166,100,165,100,164,100,94,50,163,100,162,100,161,100,97,50,160,100,159,100,158,100,100,50,157,100,156,100,155,100,103,50,154,100,153,100,152,100,106,50,151,100,150,100,149,100,109,50,148,100,147,100,146,100,112,50,145,100,144,100,143,100,115,50,142,100,141,100,140,100,118,50,139,100,138,100,137,100,121,50,136,100,135,100,134,100,124,50,133,100,132,100,131,100,127,50,130,220,129,220,128,220,127,220,130,220,129,220,129,220,127,220,130,220,129,220,129,220,127,220,130,220,129,220,129,220,127,220

];
	var soud8 = [

220,100,219,100,218,100,40,200,217,100,216,100,215,100,43,200,214,100,213,100,212,100,46,200,211,100,210,100,209,100,49,200,208,100,207,100,206,100,52,200,205,100,204,100,203,100,55,200,202,100,201,100,200,100,58,200,199,100,198,100,197,100,61,200,196,100,195,100,194,100,64,200,193,100,192,100,191,100,67,200,190,100,189,100,188,100,70,200,187,100,186,100,185,100,73,200,184,100,183,100,182,100,76,200,181,100,180,100,179,100,79,200,178,100,177,100,176,100,82,200,175,100,174,100,173,100,85,200,172,100,171,100,170,100,88,200,169,100,168,100,167,100,91,200,166,100,165,100,164,100,94,200,163,100,162,100,161,100,97,200,160,100,159,100,158,100,100,200,157,100,156,100,155,100,103,200,154,100,153,100,152,100,106,200,151,100,150,100,149,100,109,200,148,100,147,100,146,100,112,200,145,100,144,100,143,100,115,200,142,100,141,100,140,100,118,200,139,100,138,100,137,100,121,200,136,100,135,100,134,100,124,200,133,100,132,100,131,100,127,200,130,220,129,220,128,220,127,220,130,220,129,220,129,220,127,220,130,220,129,220,129,220,127,220,130,220,129,220,129,220,127,220

];
	var soud9 = [200,200,30,200,200,200,30,200];
	var soud10 = [200,200,30,200,200,200,30,200];
	var soud11 = [200,200,30,200,200,200,30,200];
	var soud12 = [200,200,30,200,200,200,30,200];
	var soud13 = [200,200,30,200,200,200,30,200];
	var soud14 = [200,200,30,200,200,200,30,200];
	var soud15 = [200,200,30,200,200,200,30,200];
	var soud16 = [200,200,30,200,200,200,30,200];


function acelereLeVent(){

  if(vitesseDuVent>123){
  clearInterval(nbimg);
vitesseDuVent = vitesseDuVent -40;
nbboucle = 70;
lancertout();
  }

}

function diminuLeVent(){
  clearInterval(nbimg);
vitesseDuVent = vitesseDuVent + 300;
nbboucle = 70;
lancertout();
}


function actionstop(){
  clearInterval(nbimg);
vitesseDuVent = arretimage5mn;
nbboucle = 7;
vitesseDuVent = vitesseDuVent +1;
lancertout();
}

function actionrestart(){
  clearInterval(nbimg);
vitesseDuVent = souvenirvitesse;
nbboucle = 7;
vitesseDuVent = vitesseDuVent +1;
lancertout();
}


function decoupe2(joueur4){//1
  document.getElementById(joueur4).className = 'cachemoi';
}//3

function decoupe1(joueur2){//1
  document.getElementById(joueur2).className = 'cachemoi';
}//3

function decoupe3(joueur1){//1
  document.getElementById(joueur1).className = 'sortdutrou';
}//3

function restecalme(joueur1,joueur8,ouioui){//1



  if(version == 1){//2

for (var placier = 1; placier < ouioui; placier++) {//3


	joueur2 = joueur + placier;
  document.getElementById(joueur2).className = 'cachemoi';

}//3

for (var placier = ouioui+1; placier < 17; placier++) {//3


	joueur2 = joueur + placier;
  document.getElementById(joueur2).className = 'cachemoi';

}//3

for (var placier = 1; placier < ouioui; placier++) {//3


	joueur4 = joueur3 + placier;
  document.getElementById(joueur4).className = 'cachemoi';

}//3

for (var placier = ouioui+1; placier < 17; placier++) {//3

	joueur4 = joueur3 + placier;
  document.getElementById(joueur4).className = 'cachemoi';


}//3


  document.getElementById(joueur1).className = 'sortdutrou';
  document.getElementById(joueur8).className = 'cachemoi';

}//2



  if(version == 2){//2



for (var placier = 1; placier < ouioui; placier++) {//3


	joueur4 = joueur3 + placier;
  document.getElementById(joueur4).className = 'cachemoi';

}//3

for (var placier = ouioui+1; placier < 17; placier++) {//3

	joueur4 = joueur3 + placier;
  document.getElementById(joueur4).className = 'cachemoi';


}//3

for (var placier = 1; placier < ouioui; placier++) {//3


	joueur2 = joueur + placier;
  document.getElementById(joueur2).className = 'cachemoi';

}//3

for (var placier = ouioui+1; placier < 17; placier++) {//3


	joueur2 = joueur + placier;
  document.getElementById(joueur2).className = 'cachemoi';

}//3


  document.getElementById(joueur8).className = 'sortdutrou';

  document.getElementById(joueur1).className = 'cachemoi';


}

}



function change(persistanceretinienne)
{

  switch (persistanceretinienne) {

    	case 0:
	ouioui = persistanceretinienne + 1;
	joueur1 = joueur + ouioui;
	joueur8 = joueur3 + ouioui;
	restecalme(joueur1,joueur8,ouioui);
JoueLeSon1();
   	break;
    	case 1:
	ouioui = persistanceretinienne + 1;
	joueur1 = joueur + ouioui;
	joueur8 = joueur3 + ouioui;
	restecalme(joueur1,joueur8,ouioui);
JoueLeSon2();
   	break;
    	case 2:
	ouioui = persistanceretinienne + 1;
	joueur1 = joueur + ouioui;
	joueur8 = joueur3 + ouioui;
	restecalme(joueur1,joueur8,ouioui);
JoueLeSon3();
   	break;
    	case 3:
	ouioui = persistanceretinienne + 1;
	joueur1 = joueur + ouioui;
	joueur8 = joueur3 + ouioui;
	restecalme(joueur1,joueur8,ouioui);
JoueLeSon4();
   	break;
    	case 4:
	ouioui = persistanceretinienne + 1;
	joueur1 = joueur + ouioui;
	joueur8 = joueur3 + ouioui;
	restecalme(joueur1,joueur8,ouioui);
JoueLeSon5();
   	break;
    	case 5:
	ouioui = persistanceretinienne + 1;
	joueur1 = joueur + ouioui;
	joueur8 = joueur3 + ouioui;
	restecalme(joueur1,joueur8,ouioui);
JoueLeSon6();
   	break;
    	case 6:
	ouioui = persistanceretinienne + 1;
	joueur1 = joueur + ouioui;
	joueur8 = joueur3 + ouioui;
	restecalme(joueur1,joueur8,ouioui);
JoueLeSon7();
   	break;
    	case 7:
	ouioui = persistanceretinienne + 1;
	joueur1 = joueur + ouioui;
	joueur8 = joueur3 + ouioui;
	restecalme(joueur1,joueur8,ouioui);
JoueLeSon8();
   	break;
    	case 8:
	ouioui = persistanceretinienne + 1;
	joueur1 = joueur + ouioui;
	joueur8 = joueur3 + ouioui;
	restecalme(joueur1,joueur8,ouioui);
JoueLeSon8();
   	break;
    	case 9:
	ouioui = persistanceretinienne + 1;
	joueur1 = joueur + ouioui;
	joueur8 = joueur3 + ouioui;
	restecalme(joueur1,joueur8,ouioui);
JoueLeSon7();
   	break;
    	case 10:
	ouioui = persistanceretinienne + 1;
	joueur1 = joueur + ouioui;
	joueur8 = joueur3 + ouioui;
	restecalme(joueur1,joueur8,ouioui);
JoueLeSon6();
   	break;
    	case 11:
	ouioui = persistanceretinienne + 1;
	joueur1 = joueur + ouioui;
	joueur8 = joueur3 + ouioui;
	restecalme(joueur1,joueur8,ouioui);
JoueLeSon5();
   	break;
    	case 12:
	ouioui = persistanceretinienne + 1;
	joueur1 = joueur + ouioui;
	joueur8 = joueur3 + ouioui;
	restecalme(joueur1,joueur8,ouioui);
JoueLeSon4();
   	break;
    	case 13:
	ouioui = persistanceretinienne + 1;
	joueur1 = joueur + ouioui;
	joueur8 = joueur3 + ouioui;
	restecalme(joueur1,joueur8,ouioui);
JoueLeSon3();
   	break;
    	case 14:
	ouioui = persistanceretinienne + 1;
	joueur1 = joueur + ouioui;
	joueur8 = joueur3 + ouioui;
	restecalme(joueur1,joueur8,ouioui);
JoueLeSon2();
   	break;
    	case 15:
	ouioui = persistanceretinienne + 1;
	joueur1 = joueur + ouioui;
	joueur8 = joueur3 + ouioui;
	restecalme(joueur1,joueur8,ouioui);
JoueLeSon1();

   	break;
 
  }

}



function durermax()
{
  clearInterval(nbimg);
/*   lancerChange4();	*/
}
function seance()
{



change(persistanceretinienne);
  persistanceretinienne--;
if ((nbboucle>1)&&(persistanceretinienne<0))
{ 
/* selection du nombre d'image*/
/* persistanceretinienne = 3;*/
persistanceretinienne = 15;
nbboucle = nbboucle-1;
}


}

function lancertout()
{
  nbimg = setInterval(seance, vitesseDuVent);
  setTimeout(durermax, persistanceretinienne * 81000);
change(persistanceretinienne);
}

function lancertout1()
{
lecjo(soud1);
lecjo(soud2);
lecjo(soud3);
lecjo(soud4);
lecjo(soud5);
lecjo(soud6);
lecjo(soud7);
lecjo(soud8);
lecjo(soud9);
lecjo(soud10);
lecjo(soud11);
lecjo(soud12);
lecjo(soud13);
lecjo(soud14);
lecjo(soud15);
lecjo(soud16);

lancertout();
}	

  function JoueLeSon(mua1){

  if(mua1==0){

  var multia1 = document.getElementById("1awav");
  multia1.play();
  }
  else if(mua1==1){

  var multia2 = document.getElementById("2awav");
  multia2.play();
  }
  else if(mua1==2){

  var multia3 = document.getElementById("3awav");
  multia3.play();
  }
  else if(mua1==3){

  var multia4 = document.getElementById("4awav");
  multia4.play();
  }
  }

  function JoueLeSon1(){
  var multib1 = document.getElementById("1awav");
  multib1.play();
  }
  function JoueLeSon2(){
  var multic1 = document.getElementById("2awav");
  multic1.play();
  }
  function JoueLeSon3(){
  var multid1 = document.getElementById("3awav");
  multid1.play();
  }
  function JoueLeSon4(){
  var multie1 = document.getElementById("4awav");
  multie1.play();
  }
  function JoueLeSon5(){
  var multif1 = document.getElementById("5awav");
  multif1.play();
  }
  function JoueLeSon6(){
  var multig1 = document.getElementById("6awav");
  multig1.play();
  }
  function JoueLeSon7(){
  var multih1 = document.getElementById("7awav");
  multih1.play();
  }
  function JoueLeSon8(){
  var multii1 = document.getElementById("8awav");
  multii1.play();
  }
  function JoueLeSon9(){
  var multij1 = document.getElementById("9awav");
  multij1.play();
  }
  function JoueLeSon10(){
  var multik1 = document.getElementById("10awav");
  multik1.play();
  }
  function JoueLeSon11(){
  var multil1 = document.getElementById("11awav");
  multil1.play();
  }
  function JoueLeSon12(){
  var multic1 = document.getElementById("12awav");
  multic1.play();
  }
  function JoueLeSon13(){
  var multim1 = document.getElementById("13awav");
  multim1.play();
  }
  function JoueLeSon14(){
  var multin1 = document.getElementById("14awav");
  multin1.play();
  }
  function JoueLeSon15(){
  var multio1 = document.getElementById("15awav");
  multio1.play();
  }
  function JoueLeSon16(){
  var multip1 = document.getElementById("16awav");
  multip1.play();
  }



function action1Press(){
	version = version + 1;
	if(version>2){
        version = 1;
  	}
  }

function actionx1Press(){
	persistanceretinienne = 15;
  }
function actionx2Press(){
	persistanceretinienne = 14;
  }
function actionx3Press(){
	persistanceretinienne = 13;
  }
function actionx4Press(){
	persistanceretinienne = 12;
  }
function actionx5Press(){
	persistanceretinienne = 11;
  }
function actionx6Press(){
	persistanceretinienne = 10;
  }
function actionx7Press(){
	persistanceretinienne = 9;
  }
function actionx8Press(){
	persistanceretinienne = 8;
  }
function actionx9Press(){
	persistanceretinienne = 7;
  }
function actionx10Press(){
	persistanceretinienne = 6;
  }
function actionx11Press(){
	persistanceretinienne = 5;
  }
function actionx12Press(){
	persistanceretinienne = 4;
  }
function actionx13Press(){
	persistanceretinienne = 3;
  }
function actionx14Press(){
	persistanceretinienne = 2;
  }
function actionx15Press(){
	persistanceretinienne = 1;
  }
function actionx16Press(){
	persistanceretinienne = 0;
  }



</script>
<style>

.indique{
  cursor:pointer;
}
.cachemoi {
    display: none;
}

.sortdutrou {
    display: inline;
}

.action{
  position:absolute;
  height:4%;
  width:1.4%;
  margin-top:33%;
  background:blue;
  border-right:1px solid #BBB;
  cursor:pointer;
}

.action5mn{
  position:absolute;
  height:4%;
  width:1.4%;
  margin-top:33%;
  background:red;
  border-right:1px solid #BBB;
  cursor:pointer;
}

.actionvitesse{
  position:absolute;
  height:4%;
  width:1.4%;
  margin-top:33%;
  background:green;
  border-right:1px solid #BBB;
  cursor:pointer;
}

.actionunivers{
  position:absolute;
  height:4%;
  width:1.4%;
  margin-top:33%;
  background:black;
  border-right:1px solid #BBB;
  cursor:pointer;
}

.actiontexte{
  position:absolute;
  height:4%;
  width:1.4%;
  margin-top:36%;
  border-right:1px solid #BBB;
  cursor:pointer;
}



.tourne80 {
    float: left;
    -ms-transform: rotate(80deg); 
    -webkit-transform: rotate(80deg);
    transform: rotate(80deg);
}

.tourne30 {
    float: left;
    -ms-transform: rotate(30deg); 
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
}

.tourne45 {
    float: left;
    -ms-transform: rotate(45deg); 
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.tourne335 {
    float: left;
    -ms-transform: rotate(335deg); 
    -webkit-transform: rotate(335deg);
    transform: rotate(335deg);
}

.tourne350 {
    float: left;
    -ms-transform: rotate(350deg); 
    -webkit-transform: rotate(350deg);
    transform: rotate(350deg);
}
.tourne60 {
    float: left;
    -ms-transform: rotate(60deg); 
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
}

.tourne75 {
    float: left;
    -ms-transform: rotate(75deg); 
    -webkit-transform: rotate(75deg);
    transform: rotate(75deg);
}
.tourne1 {
    float: left;
    -ms-transform: rotate(1deg); 
    -webkit-transform: rotate(1deg);
    transform: rotate(1deg);
}
.tourne15 {
    float: left;
    -ms-transform: rotate(15deg); 
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
}
.tourne365 {
    float: left;
    -ms-transform: rotate(365deg); 
    -webkit-transform: rotate(365deg);
    transform: rotate(365deg);
}
.tourne320 {
    float: left;
    -ms-transform: rotate(320deg); 
    -webkit-transform: rotate(320deg);
    transform: rotate(320deg);
}
.tourne5 {
    float: left;
    -ms-transform: rotate(5deg); 
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
}

.tourne5 {
    float: left;
    -ms-transform: rotate(5deg); 
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
}

</style>
</head>

<body onload="javascript:lancertout1();">


  <div id='basewave1'> </div>
  <div id='basewave2'> </div>
  <div id='basewave3'> </div>
  <div id='basewave4'> </div>
  <div id='basewave5'> </div>
  <div id='basewave6'> </div>
  <div id='basewave7'> </div>
  <div id='basewave8'> </div>
  <div id='basewave9'> </div>
  <div id='basewave10'> </div>
  <div id='basewave11'> </div>
  <div id='basewave12'> </div>
  <div id='basewave13'> </div>
  <div id='basewave14'> </div>
  <div id='basewave15'> </div>
  <div id='basewave16'> </div>






 <div id="fleur1" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne80" style="position:absolute; margin-left:210px ; margin-top:45px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:160px ; margin-top:80px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:354px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne350" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne5" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne30" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne60" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>

<!--bis-->
 <div id="bisfleur1" class="cachemoi" >

<div style="width:201px; height:101px  ; background-color:#fff200 ;opacity:0.99 ; border-radius:50% 100% 100% 100% / 100% 100% 100% 98%;  "> </div>

 </div>
<!--fin bis-->


 <div id="fleur2" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne80" style="position:absolute; margin-left:210px ; margin-top:45px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:160px ; margin-top:80px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:354px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne350" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne5" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne30" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne60" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>

<!--bis-->
 <div id="bisfleur2" class="cachemoi" >

<div style="width:201px; height:101px  ; background-color:#df3200 ;opacity:0.99 ; border-radius:100% 50% 100% 100% / 100% 100% 100% 98%;  "> </div>

 </div>
<!--fin bis-->

 <div id="fleur3" class="cachemoi">

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne80" style="position:absolute; margin-left:210px ; margin-top:45px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:160px ; margin-top:80px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:354px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne350" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne5" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne30" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne60" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>

<!--bis-->
 <div id="bisfleur3" class="cachemoi" >

<div style="width:201px; height:101px  ; background-color:#af3200 ;opacity:0.99 ; border-radius:100% 100% 50% 100% / 100% 100% 100% 98%;  "> </div>

 </div>
<!--fin bis-->

 <div id="fleur4" class="cachemoi">

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne80" style="position:absolute; margin-left:210px ; margin-top:45px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:160px ; margin-top:80px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:354px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne350" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne5" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne30" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne60" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>

<!--bis-->
 <div id="bisfleur4" class="cachemoi" >

<div style="width:201px; height:101px  ; background-color:#8f3200 ;opacity:0.99 ; border-radius:100% 100% 100% 50% / 100% 100% 100% 98%;  "> </div>

 </div>
<!--fin bis-->


 <div id="fleur5" class="cachemoi">

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne80" style="position:absolute; margin-left:210px ; margin-top:45px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:160px ; margin-top:80px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:354px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne350" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne5" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne30" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne60" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>

<!--bis-->
 <div id="bisfleur5" class="cachemoi" >

<div style="width:201px; height:101px  ; background-color:#6f3200 ;opacity:0.99 ; border-radius:100% 100% 100% 100% / 50% 100% 100% 98%;  "> </div>

 </div>
<!--fin bis-->


 <div id="fleur6" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne80" style="position:absolute; margin-left:210px ; margin-top:45px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:160px ; margin-top:80px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:354px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne350" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne5" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne30" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne60" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>

<!--bis-->
 <div id="bisfleur6" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:210px ; margin-top:55px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:175px ; margin-top:110px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne1" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:344px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne1" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne320" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne290" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>
<!--fin bis-->

 <div id="fleur7" class="cachemoi">

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne80" style="position:absolute; margin-left:210px ; margin-top:45px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:160px ; margin-top:80px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:354px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne350" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne5" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne30" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne60" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>

<!--bis-->
 <div id="bisfleur7" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:210px ; margin-top:55px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:175px ; margin-top:110px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne1" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:344px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne1" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne320" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne290" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>
<!--fin bis-->

 <div id="fleur8" class="cachemoi">

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne80" style="position:absolute; margin-left:210px ; margin-top:45px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:160px ; margin-top:80px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:354px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne350" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne5" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne30" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne60" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>

<!--bis-->
 <div id="bisfleur8" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:210px ; margin-top:55px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:175px ; margin-top:110px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne1" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:344px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne1" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne320" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne290" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>
<!--fin bis-->

 <div id="fleur9" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne80" style="position:absolute; margin-left:210px ; margin-top:45px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:160px ; margin-top:80px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:354px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne350" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne5" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne30" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne60" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>

<!--bis-->
 <div id="bisfleur9" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:210px ; margin-top:55px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:175px ; margin-top:110px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne1" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:344px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne1" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne320" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne290" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>
<!--fin bis-->


 <div id="fleur10" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne80" style="position:absolute; margin-left:232px ; margin-top:70px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:220px ; margin-top:150px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne335" style="position:absolute; margin-left:240px ; margin-top:220px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:240px ; margin-top:300px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne350" style="position:absolute; margin-left:260px ; margin-top:410px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne5" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne335" style="position:absolute; margin-left:250px ; margin-top:70px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:290px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne30" style="position:absolute; margin-left:228px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne60" style="position:absolute; margin-left:180px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:140px ; margin-top:380px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>

<!--bis-->
 <div id="bisfleur10" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:210px ; margin-top:55px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:175px ; margin-top:110px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne1" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:344px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne1" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne320" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne290" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>
<!--fin bis-->

 <div id="fleur11" class="cachemoi">

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne45" style="position:absolute; margin-left:222px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne375"  style="position:absolute; margin-left:210px ; margin-top:130px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:314px ; margin-top:270px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:325px ; margin-top:383px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne5" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne365" style="position:absolute; margin-left:268px ; margin-top:73px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne105" style="position:absolute; margin-left:287px ; margin-top:68px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne15" style="position:absolute; margin-left:223px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne60" style="position:absolute; margin-left:175px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne45" style="position:absolute; margin-left:135px ; margin-top:380px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>

<!--bis-->
 <div id="bisfleur11" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:210px ; margin-top:55px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:175px ; margin-top:110px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne1" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:344px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne1" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne320" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne290" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>
<!--fin bis-->

 <div id="fleur12" class="cachemoi">

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne45" style="position:absolute; margin-left:222px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne375"  style="position:absolute; margin-left:210px ; margin-top:130px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:314px ; margin-top:270px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:325px ; margin-top:383px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne5" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne365" style="position:absolute; margin-left:268px ; margin-top:73px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne105" style="position:absolute; margin-left:287px ; margin-top:68px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne15" style="position:absolute; margin-left:223px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne60" style="position:absolute; margin-left:175px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne45" style="position:absolute; margin-left:135px ; margin-top:380px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>


 </div>
<!--bis-->
 <div id="bisfleur12" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:210px ; margin-top:55px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:175px ; margin-top:110px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne1" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:344px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne1" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne320" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne290" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>


 </div>
<!--fin bis-->

 <div id="fleur13" class="cachemoi">

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne60" style="position:absolute; margin-left:210px ; margin-top:55px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne5"  style="position:absolute; margin-left:175px ; margin-top:110px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne350" style="position:absolute; margin-left:344px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne350" style="position:absolute; margin-left:385px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne5" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne350" style="position:absolute; margin-left:280px ; margin-top:70px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne120" style="position:absolute; margin-left:287px ; margin-top:78px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne30" style="position:absolute; margin-left:203px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:133px ; margin-top:270px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:85px ; margin-top:360px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>


 </div>
<!--bis-->
 <div id="bisfleur13" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:210px ; margin-top:55px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:175px ; margin-top:110px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne1" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:344px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne1" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne320" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne290" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>
<!--fin bis-->

 <div id="fleur14" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:210px ; margin-top:55px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:175px ; margin-top:110px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne1" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:344px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:385px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne1" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne320" style="position:absolute; margin-left:280px ; margin-top:70px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:287px ; margin-top:78px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne290" style="position:absolute; margin-left:203px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:133px ; margin-top:270px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:85px ; margin-top:360px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>


 </div>

<!--bis-->
 <div id="bisfleur14" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:210px ; margin-top:55px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:175px ; margin-top:110px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne1" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:344px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne1" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne320" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne290" style="position:absolute; margin-left:148px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:143px ; margin-top:388px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>
<!--fin bis-->

 <div id="fleur15" class="cachemoi">

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne80" style="position:absolute; margin-left:210px ; margin-top:45px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:160px ; margin-top:80px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:354px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne350" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne5" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:287px ; margin-top:78px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne30" style="position:absolute; margin-left:203px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne60" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:98px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:108px ; margin-top:427px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>

<!--bis-->
 <div id="bisfleur15" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne45" style="position:absolute; margin-left:210px ; margin-top:45px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne15"  style="position:absolute; margin-left:160px ; margin-top:80px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne350" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:354px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne365" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne30" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:280px ; margin-top:60px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne365" style="position:absolute; margin-left:203px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:143px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>
<!--fin bis-->

 <div id="fleur16" class="cachemoi">

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne80" style="position:absolute; margin-left:210px ; margin-top:45px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne30"  style="position:absolute; margin-left:160px ; margin-top:80px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:200px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne335" style="position:absolute; margin-left:354px ; margin-top:280px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne350" style="position:absolute; margin-left:405px ; margin-top:372px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne5" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne335" style="position:absolute; margin-left:280px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:287px ; margin-top:78px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne30" style="position:absolute; margin-left:203px ; margin-top:215px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne60" style="position:absolute; margin-left:143px ; margin-top:290px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne75" style="position:absolute; margin-left:98px ; margin-top:388px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:108px ; margin-top:427px ; width:9px; height:8px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>

 </div>

<!--bis-->
 <div id="bisfleur16" class="cachemoi" >

<div style="position:absolute; margin-left:250px ; margin-top:10px ; width:50px; height:60px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne45" style="position:absolute; margin-left:222px ; margin-top:60px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne15"  style="position:absolute; margin-left:275px ; margin-top:20px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius: 67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>


<div class="tourne320" style="position:absolute; margin-left:280px ; margin-top:190px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:328px ; margin-top:267px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:338px ; margin-top:375px ; width:36px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:28% 60% 50% 50% / 28% 60% 50% 50%;  "> </div>

<div class="tourne1" style="position:absolute; margin-left:240px ; margin-top:70px ; width:50px; height:180px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>

<div class="tourne30" style="position:absolute; margin-left:232px ; margin-top:70px ; width:40px; height:100px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 60% 60% / 50% 50% 60% 60%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:210px ; margin-top:150px ; width:30px; height:90px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 67% 67% / 67% 67% 67% 67%;  "> </div>

<div class="tourne365" style="position:absolute; margin-left:252px ; margin-top:220px ; width:40px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:50% 50% 50% 50% / 50% 50% 50% 50%;  "> </div>
<div class="tourne15" style="position:absolute; margin-left:255px ; margin-top:310px ; width:30px; height:120px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>
<div class="tourne1" style="position:absolute; margin-left:260px ; margin-top:420px ; width:27px; height:15px  ; background-color:#ff9999 ;opacity:0.99 ; border-radius:67% 67% 50% 50% / 67% 67% 50% 50%;  "> </div>


 </div>
<!--fin bis-->

      <!-- bare de temps -->
      <div class="action" onMouseDown="actionx1Press();" style="margin-left:1%;"></div>
      <div class="action" onMouseDown="actionx2Press();" style="margin-left:3%;"></div>
      <div class="action" onMouseDown="actionx3Press();" style="margin-left:5%;"></div>
      <div class="action" onMouseDown="actionx4Press();" style="margin-left:7%;"></div>
      <div class="action" onMouseDown="actionx5Press();" style="margin-left:9%;"></div>
      <div class="action" onMouseDown="actionx6Press();" style="margin-left:11%;"></div>
      <div class="action" onMouseDown="actionx7Press();" style="margin-left:13%;"></div>
      <div class="action" onMouseDown="actionx8Press();" style="margin-left:15%;"></div>
      <div class="action" onMouseDown="actionx9Press();" style="margin-left:17%;"></div>
      <div class="action" onMouseDown="actionx10Press();" style="margin-left:19%;"></div>
      <div class="action" onMouseDown="actionx11Press();" style="margin-left:21%;"></div>
      <div class="action" onMouseDown="actionx12Press();" style="margin-left:23%;"></div>
      <div class="action" onMouseDown="actionx13Press();" style="margin-left:25%;"></div>
      <div class="action" onMouseDown="actionx14Press();" style="margin-left:27%;"></div>
      <div class="action" onMouseDown="actionx15Press();" style="margin-left:29%;"></div>
      <div class="action" onMouseDown="actionx16Press();" style="margin-left:31%;"></div> 

       <div class="action5mn" onMouseDown="actionstop();" style="margin-left:61%;"></div>
       <div class="action5mn" onMouseDown="actionrestart();" style="margin-left:63%;"></div>

      <div class="actionvitesse" onMouseDown="diminuLeVent();" style="margin-left:67%;">-</div>
      <div class="actionvitesse" onMouseDown="acelereLeVent();" style="margin-left:69%;">+</div>
      <div class="actionunivers" onMouseDown="action1Press();" style="margin-left:75%;"></div>


       <div class="actiontexte" style="margin-left:15%;"><p>time line</p></div>
       <div class="actiontexte" style="margin-left:61%;"><p>pause</p></div>
      <div class="actiontexte" style="margin-left:67%;"><p>speed</p></div>
      <div class="actiontexte" style="margin-left:75%;"><p>multidirectional talk</p></div>

<script type="text/javascript" src="jom.js"></script>
</body>

</html> 

et le fichier jom.js

    
			var FichierAudioJo=[];
var text1={};
var choixjojoa = 1;
var levariateur = 1;
var lenommeur ;
var lenommeur1 ;





/*********************************deuxième partie*********************************************************************************/
/* mes tables de generations*/

var placement, affiche1, placementlong, repere1, samples;

var MaMemoireAudio = 1 ;
sessionStorage.setItem("MaMemoireAudio","wave")


placement = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128];


var tab1jo17 = [99997];
var tab2jo17 = [53564, 99997];
var tab3jo17 = [38191, 71298, 99997];
var tab4jo17 = [30582, 57094, 80076, 99998];
var tab5jo17 = [26078, 48685, 68282, 85271, 99998];
var tab6jo17 = [23126, 43173, 60552, 75617, 88677, 99998];
var tab7jo17 = [21059, 39315, 55141, 68860, 80752, 91062, 99999];
var tab8jo17 = [19545, 36488, 51176, 63909, 74946, 84514, 92809, 99999];
var tab9jo17 = [18398, 34347, 48173, 60158, 70548, 79555, 87363, 94131, 99998];
var tab10jo17 = [17508, 32685, 45842, 57247, 67134, 75705, 83134, 89575, 95158, 99999];
var tab11jo17 = [16803, 31369, 43996, 54942, 64431, 72656, 79787, 85968, 91327, 95972, 99999];
var tab12jo17 = [16236, 30311, 42512, 53088, 62257, 70205, 77095, 83068, 88246, 92735, 96626, 99998];
var tab13jo17 = [15775, 29450, 41304, 51580, 60489, 68211, 74906, 80709, 85739, 90100, 93881, 97158, 99999];
var tab14jo17 = [15396, 28742, 40311, 50341, 59035, 66572, 73105, 78769, 83679, 87935, 91625, 94823, 97596, 99999];
var tab15jo17 = [15081, 28155, 39488, 49313, 57830, 65213, 71613, 77161, 81971, 86140, 89754, 92887, 95603, 97958, 99999];
var tab16jo17 = [14819, 27666, 38802, 48456, 56824, 64079, 70368, 75819, 80545, 84642, 88194, 91272, 93941, 96255, 98260, 99999];
var tab17jo17 = [14599, 27255, 38226, 47736, 55981, 63127, 69323, 74694, 79349, 83385, 86884, 89917, 92546, 94825, 96801, 98514, 99999];
var tab18jo17 = [14414, 26909, 37740, 47130, 55270, 62326, 68442, 73745, 78342, 82326, 85781, 88775, 91371, 93621, 95572, 97263, 98729, 99999];
var tab19jo17 = [14257, 26615, 37329, 46616, 54667, 61646, 67696, 72941, 77487, 81429, 84845, 87807, 90375, 92600, 94530, 96202, 97652, 98909, 99999];
var tab20jo17 = [14123, 26366, 36979, 46180, 54155, 61069, 67063, 72258, 76762, 80667, 84051, 86985, 89529, 91734, 93645, 95302, 96738, 97984, 99063, 99999];
var tab21jo17 = [14010, 26154, 36682, 45809, 53720, 60578, 66524, 71677, 76145, 80018, 83376, 86286, 88809, 90996, 92892, 94536, 95961, 97196, 98266, 99195, 99999];
var tab22jo17 = [13913, 25973, 36428, 45491, 53348, 60159, 66063, 71181, 75618, 79464, 82798, 85688, 88194, 90366, 92249, 93881, 95296, 96522, 97586, 98507, 99306, 99999];
var tab23jo17 = [13829, 25818, 36210, 45219, 53029, 59799, 65668, 70756, 75166, 78989, 82303, 85176, 87667, 89826, 91698, 93320, 94727, 95946, 97003, 97919, 98713, 99402, 99999];
var tab24jo17 = [13758, 25685, 36024, 44987, 52756, 59491, 65330, 70391, 74779, 78583, 81880, 84738, 87216, 89364, 91226, 92840, 94239, 95452, 96503, 97415, 98205, 98890, 99484, 99999];
var tab25jo17 = [13697, 25571, 35864, 44787, 52522, 59228, 65040, 70079, 74447, 78234, 81517, 84362, 86829, 88967, 90821, 92428, 93821, 95029, 96075, 96983, 97770, 98452, 99043, 99555, 99999];
var tab26jo17 = [13645, 25473, 35726, 44615, 52320, 59000, 64790, 69810, 74161, 77933, 81203, 84038, 86495, 88625, 90472, 92073, 93460, 94663, 95706, 96610, 97394, 98073, 98662, 99173, 99615, 99999];
var tab27jo17 = [13599, 25388, 35608, 44467, 52147, 58805, 64576, 69579, 73916, 77675, 80935, 83760, 86209, 88332, 90173, 91768, 93151, 94350, 95389, 96290, 97071, 97749, 98335, 98844, 99285, 99668, 99999];
var tab28jo17 = [13561, 25316, 35506, 44340, 51998, 58636, 64391, 69380, 73704, 77453, 80703, 83520, 85962, 88079, 89914, 91505, 92884, 94080, 95116, 96015, 96794, 97469, 98054, 98561, 99001, 99382, 99713, 99999];
var tab29jo17 = [13527, 25253, 35418, 44230, 51869, 58491, 64231, 69208, 73521, 77261, 80503, 83313, 85749, 87861, 89691, 91278, 92654, 93847, 94881, 95777, 96554, 97227, 97811, 98317, 98756, 99136, 99466, 99751, 99999];
var tab30jo17 = [13498, 25199, 35342, 44135, 51757, 58365, 64093, 69059, 73363, 77095, 80330, 83134, 85565, 87672, 89499, 91082, 92455, 93645, 94677, 95571, 96346, 97018, 97601, 98106, 98543, 98923, 99252, 99537, 99784, 99999];
var tab31jo17 = [13473, 25152, 35277, 44053, 51662, 58257, 63975, 68931, 73228, 76952, 80181, 82980, 85406, 87510, 89333, 90914, 92284, 93472, 94501, 95394, 96168, 96838, 97420, 97924, 98361, 98740, 99068, 99353, 99599, 99813, 99999];
var tab32jo17 = [13451, 25112, 35220, 43983, 51579, 58164, 63872, 68820, 73110, 76829, 80052, 82847, 85269, 87369, 89189, 90767, 92135, 93321, 94349, 95241, 96013, 96683, 97263, 97767, 98203, 98581, 98909, 99193, 99439, 99653, 99838, 99999];
var tab33jo17 = [13433, 25077, 35171, 43922, 51507, 58083, 63784, 68725, 73009, 76722, 79941, 82732, 85151, 87248, 89066, 90642, 92008, 93192, 94219, 95109, 95880, 96549, 97129, 97631, 98067, 98445, 98772, 99056, 99302, 99515, 99700, 99860, 99999];
var tab34jo17 = [13416, 25047, 35129, 43869, 51445, 58013, 63706, 68642, 72921, 76630, 79845, 82632, 85048, 87143, 88958, 90532, 91897, 93080, 94105, 94994, 95764, 96432, 97011, 97513, 97949, 98326, 98653, 98936, 99182, 99395, 99580, 99740, 99878, 99999];
var tab35jo17 = [13402, 25021, 35092, 43823, 51392, 57953, 63640, 68571, 72845, 76550, 79762, 82546, 84960, 87052, 88866, 90439, 91802, 92983, 94007, 94895, 95665, 96332, 96911, 97412, 97847, 98224, 98550, 98834, 99079, 99292, 99476, 99636, 99775, 99895, 99999];
var tab36jo17 = [13390, 24998, 35060, 43783, 51345, 57900, 63583, 68509, 72779, 76481, 79690, 82472, 84883, 86974, 88786, 90357, 91718, 92899, 93922, 94809, 95579, 96245, 96823, 97324, 97758, 98135, 98461, 98744, 98989, 99202, 99386, 99546, 99685, 99805, 99909, 99999];
var tab37jo17 = [13380, 24978, 35033, 43749, 51305, 57855, 63533, 68455, 72722, 76421, 79627, 82407, 84817, 86905, 88716, 90286, 91647, 92826, 93849, 94735, 95504, 96170, 96747, 97248, 97682, 98058, 98384, 98667, 98912, 99124, 99308, 99468, 99606, 99726, 99830, 99921, 99999];
var tab38jo17 = [13371, 24962, 35009, 43720, 51270, 57816, 63490, 68409, 72673, 76369, 79574, 82351, 84759, 86847, 88656, 90225, 91585, 92764, 93786, 94671, 95439, 96105, 96682, 97182, 97616, 97992, 98318, 98600, 98845, 99057, 99242, 99401, 99539, 99659, 99763, 99853, 99931, 99999];
var tab39jo17 = [13363, 24947, 34989, 43694, 51241, 57782, 63453, 68369, 72631, 76325, 79527, 82304, 84710, 86796, 88605, 90173, 91532, 92710, 93731, 94616, 95384, 96049, 96626, 97126, 97559, 97935, 98261, 98543, 98788, 99000, 99184, 99343, 99481, 99601, 99705, 99795, 99873, 99941, 99999];
var tab40jo17 = [13356, 24934, 34971, 43672, 51214, 57753, 63421, 68334, 72594, 76286, 79487, 82261, 84667, 86752, 88559, 90126, 91485, 92662, 93683, 94568, 95335, 96000, 96576, 97076, 97509, 97885, 98210, 98492, 98737, 98949, 99133, 99292, 99430, 99550, 99654, 99744, 99822, 99890, 99948, 99999];
var tab41jo17 = [13350, 24923, 34956, 43653, 51192, 57727, 63393, 68304, 72561, 76252, 79452, 82225, 84629, 86714, 88520, 90087, 91444, 92621, 93642, 94526, 95293, 95958, 96534, 97033, 97466, 97842, 98167, 98449, 98694, 98906, 99089, 99249, 99387, 99506, 99610, 99700, 99778, 99846, 99904, 99955, 99999];
var tab42jo17 = [13345, 24914, 34942, 43636, 51172, 57705, 63369, 68278, 72534, 76223, 79421, 82194, 84597, 86681, 88487, 90052, 91410, 92586, 93606, 94490, 95257, 95921, 96497, 96996, 97429, 97804, 98130, 98412, 98656, 98868, 99052, 99211, 99349, 99468, 99572, 99662, 99740, 99808, 99866, 99917, 99961, 99999];
var tab43jo17 = [13341, 24906, 34931, 43622, 51155, 57686, 63348, 68255, 72510, 76198, 79395, 82167, 84569, 86652, 88457, 90023, 91379, 92555, 93575, 94459, 95225, 95889, 96465, 96964, 97397, 97772, 98097, 98379, 98623, 98835, 99019, 99178, 99316, 99436, 99539, 99629, 99707, 99775, 99833, 99884, 99928, 99966, 99999];
var tab44jo17 = [13337, 24898, 34921, 43609, 51140, 57669, 63329, 68236, 72489, 76176, 79372, 82143, 84545, 86627, 88432, 89996, 91353, 92529, 93548, 94431, 95197, 95861, 96437, 96936, 97369, 97744, 98069, 98350, 98595, 98806, 98990, 99149, 99287, 99407, 99510, 99600, 99678, 99746, 99804, 99855, 99899, 99937, 99970, 99999];
var tab45jo17 = [13334, 24892, 34912, 43598, 51128, 57655, 63313, 68218, 72471, 76157, 79352, 82122, 84523, 86605, 88410, 89974, 91330, 92505, 93524, 94408, 95174, 95837, 96413, 96912, 97344, 97719, 98044, 98326, 98570, 98782, 98965, 99124, 99262, 99382, 99485, 99575, 99653, 99721, 99779, 99830, 99874, 99912, 99945, 99974, 99999];
var tab46jo17 = [13331, 24887, 34905, 43589, 51117, 57643, 63300, 68204, 72455, 76141, 79335, 82105, 84506, 86587, 88391, 89955, 91311, 92486, 93505, 94388, 95154, 95817, 96393, 96891, 97324, 97699, 98023, 98305, 98549, 98761, 98944, 99103, 99241, 99361, 99464, 99554, 99632, 99700, 99758, 99809, 99853, 99891, 99924, 99953, 99977, 99999];
var tab47jo17 = [13328, 24882, 34898, 43580, 51107, 57632, 63288, 68191, 72442, 76126, 79320, 82089, 84490, 86570, 88374, 89938, 91293, 92468, 93487, 94370, 95135, 95799, 96374, 96873, 97305, 97680, 98005, 98286, 98530, 98742, 98926, 99085, 99222, 99342, 99446, 99535, 99613, 99681, 99739, 99790, 99834, 99872, 99905, 99934, 99958, 99980, 99999];
var tab48jo17 = [13326, 24878, 34892, 43574, 51099, 57623, 63278, 68180, 72430, 76114, 79308, 82076, 84476, 86556, 88360, 89923, 91279, 92454, 93472, 94355, 95120, 95784, 96359, 96857, 97290, 97664, 97989, 98271, 98515, 98726, 98910, 99069, 99207, 99326, 99430, 99519, 99597, 99665, 99723, 99774, 99818, 99856, 99889, 99918, 99942, 99964, 99983, 99999];
var tab49jo17 = [13324, 24875, 34887, 43567, 51092, 57615, 63269, 68171, 72420, 76103, 79297, 82065, 84464, 86544, 88348, 89911, 91266, 92441, 93459, 94342, 95107, 95770, 96345, 96844, 97276, 97651, 97975, 98257, 98501, 98712, 98896, 99055, 99193, 99312, 99416, 99505, 99583, 99651, 99709, 99760, 99804, 99842, 99875, 99904, 99928, 99950, 99969, 99985, 99999];
var tab50jo17 = [13323, 24872, 34883, 43562, 51086, 57608, 63261, 68163, 72411, 76094, 79287, 82055, 84454, 86534, 88337, 89900, 91255, 92429, 93448, 94330, 95095, 95759, 96334, 96832, 97264, 97639, 97964, 98245, 98489, 98701, 98884, 99043, 99181, 99300, 99404, 99494, 99571, 99639, 99697, 99748, 99792, 99830, 99863, 99892, 99916, 99938, 99957, 99973, 99987, 99999];
var tab51jo17 = [13321, 24869, 34880, 43558, 51081, 57602, 63255, 68156, 72404, 76087, 79279, 82047, 84446, 86525, 88328, 89891, 91246, 92420, 93438, 94321, 95086, 95749, 96324, 96823, 97255, 97629, 97954, 98235, 98479, 98691, 98874, 99033, 99171, 99290, 99394, 99484, 99561, 99629, 99687, 99738, 99782, 99820, 99853, 99882, 99906, 99928, 99947, 99963, 99977, 99989, 99999];
var tab52jo17 = [13320, 24867, 34876, 43553, 51075, 57596, 63249, 68149, 72397, 76079, 79271, 82038, 84437, 86517, 88319, 89882, 91237, 92411, 93429, 94311, 95076, 95740, 96314, 96813, 97245, 97619, 97944, 98225, 98469, 98681, 98864, 99023, 99161, 99280, 99384, 99474, 99551, 99619, 99677, 99728, 99772, 99810, 99843, 99872, 99896, 99918, 99937, 99953, 99967, 99979, 99989, 99999];
var tab53jo17 = [13319, 24865, 34874, 43550, 51071, 57592, 63244, 68143, 72391, 76073, 79265, 82032, 84430, 86510, 88312, 89875, 91229, 92404, 93421, 94304, 95069, 95732, 96307, 96805, 97237, 97612, 97936, 98218, 98461, 98673, 98856, 99015, 99153, 99272, 99376, 99466, 99543, 99611, 99669, 99720, 99764, 99802, 99835, 99864, 99888, 99910, 99929, 99945, 99959, 99971, 99981, 99991, 99999];
var tab54jo17 = [13318, 24863, 34871, 43547, 51068, 57588, 63240, 68139, 72387, 76068, 79260, 82027, 84425, 86505, 88307, 89869, 91224, 92398, 93416, 94298, 95063, 95726, 96301, 96799, 97231, 97606, 97930, 98212, 98456, 98667, 98850, 99009, 99147, 99266, 99370, 99460, 99537, 99605, 99663, 99714, 99758, 99796, 99829, 99858, 99882, 99904, 99923, 99939, 99953, 99965, 99975, 99985, 99993, 99999];
var tab55jo17 = [13317, 24862, 34869, 43545, 51065, 57585, 63236, 68135, 72382, 76064, 79255, 82022, 84420, 86499, 88302, 89864, 91218, 92392, 93410, 94293, 95057, 95720, 96295, 96793, 97225, 97600, 97924, 98206, 98450, 98661, 98844, 99003, 99141, 99260, 99364, 99454, 99531, 99599, 99657, 99708, 99752, 99790, 99823, 99852, 99876, 99898, 99917, 99933, 99947, 99959, 99969, 99979, 99986, 99993, 99999];
var tab56jo17 = [13317, 24860, 34868, 43543, 51063, 57582, 63233, 68132, 72379, 76060, 79251, 82018, 84416, 86495, 88297, 89860, 91214, 92388, 93406, 94288, 95053, 95716, 96290, 96789, 97221, 97595, 97919, 98201, 98445, 98656, 98839, 98998, 99136, 99255, 99359, 99449, 99527, 99594, 99652, 99703, 99747, 99785, 99818, 99847, 99871, 99893, 99912, 99928, 99942, 99954, 99964, 99974, 99981, 99988, 99994, 99999];
var tab57jo17 = [13316, 24859, 34866, 43540, 51060, 57579, 63230, 68128, 72375, 76056, 79247, 82014, 84412, 86491, 88293, 89855, 91209, 92383, 93401, 94283, 95048, 95711, 96286, 96784, 97216, 97590, 97915, 98196, 98440, 98651, 98835, 98993, 99131, 99251, 99354, 99444, 99522, 99589, 99647, 99698, 99742, 99780, 99813, 99842, 99866, 99888, 99907, 99923, 99937, 99949, 99959, 99969, 99976, 99983, 99989, 99994, 99999];
var tab58jo17 = [13315, 24858, 34864, 43539, 51058, 57577, 63227, 68126, 72372, 76053, 79244, 82010, 84408, 86487, 88289, 89851, 91206, 92380, 93397, 94279, 95044, 95707, 96282, 96780, 97212, 97586, 97911, 98192, 98436, 98647, 98831, 98989, 99127, 99247, 99350, 99440, 99518, 99585, 99643, 99694, 99738, 99776, 99809, 99838, 99862, 99884, 99903, 99919, 99933, 99945, 99955, 99965, 99972, 99979, 99985, 99990, 99995, 99999];
var tab59jo17 = [13315, 24857, 34863, 43537, 51057, 57575, 63225, 68124, 72370, 76051, 79242, 82008, 84406, 86485, 88287, 89849, 91203, 92377, 93394, 94277, 95041, 95704, 96279, 96777, 97209, 97583, 97908, 98189, 98433, 98644, 98828, 98986, 99124, 99244, 99347, 99437, 99515, 99582, 99640, 99691, 99735, 99773, 99806, 99835, 99859, 99881, 99900, 99916, 99930, 99942, 99952, 99962, 99969, 99976, 99982, 99987, 99992, 99996, 99999];
var tab60jo17 = [13315, 24857, 34862, 43536, 51055, 57573, 63223, 68122, 72368, 76049, 79239, 82006, 84403, 86482, 88284, 89846, 91200, 92374, 93392, 94274, 95038, 95701, 96276, 96774, 97206, 97580, 97905, 98186, 98430, 98641, 98825, 98983, 99121, 99241, 99344, 99434, 99512, 99579, 99637, 99688, 99732, 99770, 99803, 99832, 99856, 99878, 99897, 99913, 99927, 99939, 99949, 99959, 99966, 99973, 99979, 99984, 99989, 99993, 99996, 99999];
var tab61jo17 = [13314, 24856, 34861, 43535, 51053, 57571, 63222, 68120, 72366, 76046, 79237, 82003, 84401, 86479, 88281, 89843, 91197, 92371, 93389, 94271, 95036, 95698, 96273, 96771, 97203, 97577, 97902, 98183, 98427, 98638, 98822, 98981, 99118, 99238, 99341, 99431, 99509, 99576, 99634, 99685, 99729, 99767, 99800, 99829, 99854, 99875, 99894, 99910, 99924, 99936, 99946, 99956, 99963, 99970, 99976, 99981, 99986, 99990, 99993, 99996, 99999];
var tab62jo17 = [13314, 24856, 34861, 43534, 51052, 57570, 63220, 68118, 72364, 76045, 79235, 82001, 84399, 86478, 88280, 89842, 91196, 92369, 93387, 94269, 95034, 95697, 96271, 96769, 97201, 97575, 97900, 98181, 98425, 98636, 98820, 98979, 99116, 99236, 99339, 99429, 99507, 99574, 99632, 99683, 99727, 99765, 99798, 99827, 99852, 99873, 99892, 99908, 99922, 99934, 99944, 99954, 99961, 99968, 99974, 99979, 99984, 99988, 99991, 99994, 99997, 99999];
var tab63jo17 = [13314, 24855, 34860, 43533, 51051, 57569, 63219, 68117, 72363, 76043, 79234, 82000, 84397, 86476, 88278, 89840, 91194, 92368, 93385, 94267, 95032, 95695, 96269, 96767, 97199, 97573, 97898, 98179, 98423, 98634, 98818, 98977, 99114, 99234, 99337, 99427, 99505, 99572, 99630, 99681, 99725, 99763, 99796, 99825, 99850, 99871, 99890, 99906, 99920, 99932, 99942, 99952, 99959, 99966, 99972, 99977, 99982, 99986, 99989, 99992, 99995, 99997, 99999];
var tab64jo17 = [13314, 24855, 34860, 43533, 51051, 57568, 63218, 68116, 72362, 76043, 79233, 81999, 84397, 86475, 88277, 89839, 91193, 92367, 93384, 94266, 95031, 95694, 96268, 96766, 97198, 97572, 97897, 98178, 98422, 98633, 98817, 98976, 99113, 99233, 99336, 99426, 99504, 99571, 99629, 99680, 99724, 99762, 99795, 99824, 99849, 99870, 99889, 99905, 99919, 99931, 99941, 99951, 99959, 99965, 99971, 99976, 99981, 99985, 99988, 99991, 99994, 99996, 99998, 99999];
var tab65jo17 = [13313, 24854, 34859, 43532, 51050, 57567, 63217, 68115, 72360, 76041, 79232, 81997, 84395, 86473, 88275, 89837, 91191, 92365, 93382, 94264, 95029, 95692, 96266, 96764, 97196, 97571, 97895, 98176, 98420, 98632, 98815, 98974, 99111, 99231, 99334, 99424, 99502, 99569, 99627, 99678, 99722, 99760, 99793, 99822, 99847, 99868, 99887, 99903, 99917, 99929, 99939, 99949, 99957, 99963, 99969, 99974, 99979, 99983, 99986, 99989, 99992, 99994, 99996, 99997, 99999];
var tab66jo17 = [13313, 24854, 34859, 43531, 51049, 57567, 63216, 68114, 72360, 76040, 79231, 81997, 84394, 86473, 88274, 89836, 91190, 92364, 93381, 94263, 95028, 95691, 96265, 96763, 97195, 97570, 97894, 98175, 98419, 98631, 98814, 98973, 99110, 99230, 99333, 99423, 99501, 99568, 99626, 99677, 99721, 99759, 99792, 99821, 99846, 99867, 99886, 99902, 99916, 99928, 99938, 99948, 99956, 99962, 99968, 99973, 99978, 99982, 99985, 99988, 99991, 99993, 99995, 99996, 99998, 99999];
var tab67jo17 = [13313, 24854, 34858, 43531, 51049, 57566, 63216, 68113, 72359, 76039, 79230, 81996, 84393, 86472, 88273, 89835, 91189, 92363, 93380, 94262, 95027, 95690, 96264, 96762, 97194, 97569, 97893, 98174, 98418, 98630, 98813, 98972, 99109, 99229, 99332, 99422, 99500, 99567, 99625, 99676, 99720, 99758, 99791, 99820, 99845, 99866, 99885, 99901, 99915, 99927, 99937, 99947, 99955, 99961, 99967, 99972, 99977, 99981, 99984, 99987, 99990, 99992, 99994, 99995, 99997, 99998, 99999];
var tab68jo17 = [13313, 24854, 34858, 43530, 51048, 57566, 63215, 68113, 72358, 76039, 79229, 81995, 84392, 86471, 88272, 89834, 91188, 92362, 93379, 94261, 95026, 95689, 96263, 96762, 97193, 97568, 97892, 98173, 98417, 98629, 98812, 98971, 99108, 99228, 99331, 99421, 99499, 99566, 99624, 99675, 99719, 99757, 99790, 99819, 99844, 99865, 99884, 99900, 99914, 99926, 99936, 99946, 99954, 99960, 99966, 99971, 99976, 99980, 99983, 99986, 99989, 99991, 99993, 99994, 99996, 99997, 99998, 99999];
var tab69jo17 = [13313, 24853, 34857, 43530, 51048, 57565, 63215, 68112, 72358, 76038, 79228, 81994, 84392, 86470, 88272, 89833, 91187, 92361, 93379, 94261, 95025, 95688, 96262, 96761, 97192, 97567, 97891, 98172, 98416, 98628, 98811, 98970, 99107, 99227, 99330, 99420, 99498, 99565, 99623, 99674, 99718, 99756, 99789, 99818, 99843, 99864, 99883, 99899, 99913, 99925, 99935, 99945, 99953, 99959, 99965, 99970, 99975, 99979, 99982, 99985, 99988, 99990, 99992, 99993, 99995, 99996, 99997, 99998, 99999];
var tab70jo17 = [13313, 24853, 34857, 43530, 51048, 57565, 63215, 68112, 72358, 76038, 79228, 81994, 84392, 86470, 88272, 89833, 91187, 92361, 93379, 94261, 95025, 95688, 96262, 96761, 97192, 97567, 97891, 98172, 98416, 98628, 98811, 98970, 99107, 99227, 99330, 99420, 99498, 99565, 99623, 99674, 99718, 99756, 99789, 99818, 99843, 99864, 99883, 99899, 99913, 99925, 99935, 99945, 99953, 99959, 99965, 99970, 99975, 99979, 99982, 99985, 99988, 99990, 99992, 99993, 99995, 99996, 99997, 99998, 99999, 99999];
var tab71jo17 = [13313, 24853, 34857, 43529, 51047, 57564, 63214, 68111, 72357, 76037, 79228, 81993, 84391, 86469, 88271, 89833, 91186, 92360, 93378, 94260, 95024, 95687, 96262, 96760, 97191, 97566, 97890, 98171, 98415, 98627, 98810, 98969, 99106, 99226, 99329, 99419, 99497, 99564, 99622, 99673, 99717, 99755, 99788, 99817, 99842, 99863, 99882, 99898, 99912, 99924, 99934, 99944, 99952, 99958, 99964, 99969, 99974, 99978, 99981, 99984, 99987, 99989, 99991, 99992, 99994, 99995, 99996, 99997, 99998, 99998, 99999];
var tab72jo17 = [13312, 24853, 34857, 43529, 51047, 57564, 63213, 68111, 72356, 76036, 79227, 81992, 84390, 86468, 88270, 89832, 91186, 92359, 93377, 94259, 95023, 95686, 96261, 96759, 97190, 97565, 97889, 98170, 98414, 98626, 98809, 98968, 99105, 99225, 99328, 99418, 99496, 99563, 99621, 99672, 99716, 99754, 99787, 99816, 99841, 99862, 99881, 99897, 99911, 99923, 99933, 99943, 99951, 99957, 99963, 99968, 99973, 99977, 99980, 99983, 99986, 99988, 99990, 99991, 99993, 99994, 99995, 99996, 99997, 99997, 99998, 99999];
var tab73jo17 = [13312, 24853, 34857, 43529, 51047, 57564, 63213, 68111, 72356, 76036, 79227, 81992, 84390, 86468, 88270, 89832, 91186, 92359, 93377, 94259, 95023, 95686, 96261, 96759, 97190, 97565, 97889, 98170, 98414, 98626, 98809, 98968, 99105, 99225, 99328, 99418, 99496, 99563, 99621, 99672, 99716, 99754, 99787, 99816, 99841, 99862, 99881, 99897, 99911, 99923, 99933, 99943, 99951, 99957, 99963, 99968, 99973, 99977, 99980, 99983, 99986, 99988, 99990, 99991, 99993, 99994, 99995, 99996, 99997, 99997, 99998, 99999, 99999];
var tab74jo17 = [13312, 24853, 34857, 43529, 51047, 57564, 63213, 68111, 72356, 76036, 79227, 81992, 84390, 86468, 88270, 89832, 91186, 92359, 93377, 94259, 95023, 95686, 96261, 96759, 97190, 97565, 97889, 98170, 98414, 98626, 98809, 98968, 99105, 99225, 99328, 99418, 99496, 99563, 99621, 99672, 99716, 99754, 99787, 99816, 99841, 99862, 99881, 99897, 99911, 99923, 99933, 99943, 99951, 99957, 99963, 99968, 99973, 99977, 99980, 99983, 99986, 99988, 99990, 99991, 99993, 99994, 99995, 99996, 99997, 99997, 99998, 99999, 99999, 99999];
var tab75jo17 = [13312, 24853, 34856, 43529, 51046, 57563, 63213, 68110, 72355, 76036, 79226, 81992, 84389, 86467, 88269, 89831, 91185, 92358, 93376, 94258, 95022, 95685, 96260, 96758, 97189, 97564, 97888, 98169, 98413, 98625, 98808, 98967, 99104, 99224, 99327, 99417, 99495, 99562, 99620, 99671, 99715, 99753, 99786, 99815, 99840, 99861, 99880, 99896, 99910, 99922, 99932, 99942, 99950, 99956, 99962, 99967, 99972, 99976, 99979, 99982, 99985, 99987, 99989, 99990, 99992, 99993, 99994, 99995, 99996, 99996, 99997, 99998, 99998, 99998, 99999];
var tab76jo17 = [13312, 24853, 34856, 43529, 51046, 57563, 63213, 68110, 72355, 76036, 79226, 81992, 84389, 86467, 88269, 89831, 91185, 92358, 93376, 94258, 95022, 95685, 96260, 96758, 97189, 97564, 97888, 98169, 98413, 98625, 98808, 98967, 99104, 99224, 99327, 99417, 99495, 99562, 99620, 99671, 99715, 99753, 99786, 99815, 99840, 99861, 99880, 99896, 99910, 99922, 99932, 99942, 99950, 99956, 99962, 99967, 99972, 99976, 99979, 99982, 99985, 99987, 99989, 99990, 99992, 99993, 99994, 99995, 99996, 99996, 99997, 99998, 99998, 99998, 99999, 99999];
var tab77jo17 = [13312, 24853, 34856, 43529, 51046, 57563, 63213, 68110, 72355, 76036, 79226, 81992, 84389, 86467, 88269, 89831, 91185, 92358, 93376, 94258, 95022, 95685, 96260, 96758, 97189, 97564, 97888, 98169, 98413, 98625, 98808, 98967, 99104, 99224, 99327, 99417, 99495, 99562, 99620, 99671, 99715, 99753, 99786, 99815, 99840, 99861, 99880, 99896, 99910, 99922, 99932, 99942, 99950, 99956, 99962, 99967, 99972, 99976, 99979, 99982, 99985, 99987, 99989, 99990, 99992, 99993, 99994, 99995, 99996, 99996, 99997, 99998, 99998, 99998, 99999, 99999, 99999];
var tab78jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999];
var tab79jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999];
var tab80jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999];
var tab81jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999];
var tab82jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999];
var tab83jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999];
var tab84jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999];
var tab85jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999];
var tab86jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000];
var tab87jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000];
var tab88jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000];
var tab89jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000];
var tab90jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000];
var tab91jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000];
var tab92jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab93jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab94jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab95jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab96jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab97jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab98jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab99jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab100jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab101jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab102jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab103jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab104jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab105jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab106jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab107jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab108jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab109jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab110jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab111jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab112jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab113jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab114jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab115jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab116jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab117jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab118jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab119jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab120jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab121jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab122jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab123jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab124jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab125jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab126jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab127jo17 = [13312, 24852, 34856, 43528, 51046, 57563, 63212, 68109, 72355, 76035, 79225, 81991, 84388, 86466, 88268, 89830, 91184, 92357, 93375, 94257, 95021, 95684, 96259, 96757, 97188, 97563, 97887, 98168, 98412, 98624, 98807, 98966, 99103, 99223, 99326, 99416, 99494, 99561, 99619, 99670, 99714, 99752, 99785, 99814, 99839, 99860, 99879, 99895, 99909, 99921, 99931, 99941, 99949, 99955, 99961, 99966, 99971, 99975, 99978, 99981, 99984, 99986, 99988, 99989, 99991, 99992, 99993, 99994, 99995, 99995, 99996, 99997, 99997, 99997, 99998, 99998, 99998, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000];
var tab128jo17 = [133122, 248523, 348561, 435282, 510458, 575627, 632121, 681093, 723547, 760349, 792252, 819908, 843882, 864665, 882681, 898299, 911837, 923574, 933748, 942567, 950213, 956841, 962586, 967567, 971884, 975627, 978872, 981684, 984123, 986236, 988068, 989657, 991034, 992227, 993262, 994159, 994937, 995611, 996195, 996701, 997141, 997521, 997851, 998137, 998385, 998600, 998787, 998948, 999088, 999210, 999315, 999406, 999485, 999554, 999613, 999665, 999709, 999748, 999781, 999811, 999836, 999858, 999877, 999893, 999907, 999920, 999930, 999940, 999948, 999955, 999961, 999966, 999970, 999974, 999978, 999981, 999983, 999986, 999987, 999989, 999991, 999992, 999993, 999994, 999995, 999995, 999996, 999997, 999997, 999997, 999998, 999998, 999998, 999999, 999999, 999999, 999999, 999999, 999999, 999999, 999999, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000];



var table =
    [tab1jo17, tab2jo17, tab3jo17, tab4jo17, tab5jo17, tab6jo17, tab7jo17,tab8jo17, tab9jo17, tab10jo17, tab11jo17, tab12jo17, tab13jo17, tab14jo17, tab15jo17,tab16jo17, tab17jo17, tab18jo17, tab19jo17, tab20jo17, tab21jo17, tab22jo17,tab23jo17, tab24jo17, tab25jo17, tab26jo17, tab27jo17, tab28jo17, tab29jo17,tab30jo17, tab31jo17, tab32jo17, tab33jo17, tab34jo17, tab35jo17, tab36jo17,tab37jo17, tab38jo17, tab39jo17, tab40jo17, tab41jo17, tab42jo17, tab43jo17,tab44jo17, tab45jo17, tab46jo17, tab47jo17, tab48jo17, tab49jo17, tab50jo17,tab51jo17, tab52jo17, tab53jo17, tab54jo17, tab55jo17, tab56jo17, tab57jo17,tab58jo17, tab59jo17, tab60jo17, tab61jo17, tab62jo17, tab63jo17, tab64jo17,tab65jo17, tab66jo17, tab67jo17, tab68jo17, tab69jo17, tab70jo17, tab71jo17,tab72jo17, tab73jo17, tab74jo17, tab75jo17, tab76jo17, tab77jo17, tab78jo17,tab79jo17, tab80jo17, tab81jo17, tab82jo17, tab83jo17, tab84jo17, tab85jo17,tab86jo17, tab87jo17, tab88jo17, tab89jo17, tab90jo17, tab91jo17, tab92jo17,tab93jo17, tab94jo17, tab95jo17, tab96jo17, tab97jo17, tab98jo17, tab99jo17,tab100jo17, tab101jo17, tab102jo17, tab103jo17, tab104jo17, tab105jo17, tab106jo17,tab107jo17, tab108jo17, tab109jo17, tab110jo17, tab111jo17, tab112jo17, tab113jo17,tab114jo17, tab115jo17, tab116jo17, tab117jo17, tab118jo17, tab119jo17, tab120jo17,tab121jo17, tab122jo17, tab123jo17, tab124jo17, tab125jo17, tab126jo17, tab127jo17,tab128jo17];


var tab =
    [0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
      0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
      0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0,
      0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC,
      0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8,
      0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4,
      0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0,
      0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC,
      0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8,
      0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4,
      0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x00,
      0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
      0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
      0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24,
      0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30,
      0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C,
      0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
		    0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51,
		      0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A,
		      0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63,
		      0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C,
		      0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75,
		      0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E,
		      0x7F];

var tab1 =
    [0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B,
0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B,
0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B,
0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B,
0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B,
0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B,
0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B,
0x7C, 0x7D, 0x7E, 0x7F, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B,
0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B,
0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB,
0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB,
0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB,
    0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7,
      0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3,
      0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
      0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB,
      0xFC, 0xFD, 0xFE, 0xFF];


/********************************fin deuxième partie******/

var monhexa, NbPtTotal = 0;
var raw = [];
var raw1 = [];
var leraw = [];


  var durerentete = NbPtTotal * 2;
  var longueurentete = durerentete + 44 - 8;
var convertisseur = function swap16(val) {
    return ((val & 0xFF) << 8)
           | ((val >> 8) & 0xFF);
}

samples = durerentete*0.0625;



/***********troisième partie**********application qui met aux normes audio actuelles*********/

var app = {};

(function() {

    app.utility = {

        /* js port of PHP function pack */
        pack : function (fmt) {
            var output = '';
            
            var argi = 1;
            for (var i = 0; i < fmt.length; i++) {
                var c = fmt.charAt(i);
                var arg = arguments[argi];
                argi++;
                
                switch (c) {

                    case "v":
                        output += String.fromCharCode(
                            arg & 255, 
                            (arg >> 8) & 255
                        );
                        break;

                        break;
                    case "V":
                        output += String.fromCharCode(
                            arg & 255, 
                            (arg >> 8) & 255, 
                            (arg >> 16) & 255, 
                            (arg >> 24) & 255
                        );
                        break;

                    default:
                        throw new Error("Unknown pack format '"+c+"'");
                }
            }
            
            return output;
        }

    }

    /* Classic sound config : mono wav, 44100 Hz, 16 bit depth */
    app.config = {
        channels : 1,
        sampleRate : 44100,
        bitsPerSample : 16,
    }

}());

(function(){

    var pack = app.utility.pack;
    var config = app.config;

    // constructor
    app.wave = function (_data) {
        this.data = _data;
    };

    app.wave.prototype = {

        // Generate the wave content by concatenation, and encode it to base64.
        generate : function () {
            var chunk1 = this.makeChunk1(); // format chunk
            var chunk2 = this.makeChunk2(); // data chunk
            var header = this.makeHeader(chunk1.length, chunk2.length);
            var out = header + chunk1 + chunk2;
            return "data:audio/wav;base64," + btoa(out);
        },

        // Generate the content of the audio format chunk
        makeChunk1 : function () {
            var chunk1 = [
                "fmt ",
                pack("V", 16), // Chunk length for PCM
                pack("v", 1), // linear PCM
                pack("v", config.channels),
                pack("V", config.sampleRate),
                pack("V", config.sampleRate * config.channels * config.bitsPerSample / 8), // ByteRate
                pack("v", config.channels * config.bitsPerSample / 8), // BlockAlign
                pack("v", config.bitsPerSample)
            ];
            return chunk1.join('');
        },

        // Generate the content of the data chunk
        makeChunk2 : function () {
            var data = this.data;

            var chunk2 = [
                "data", // chunk ID
                pack("V", data.samples * config.channels * config.bitsPerSample / 16), // Chunk length
                data.leraw
            ];
            return chunk2.join('');
        },

        // Generate the header chunk
        makeHeader : function () {
            var data = this.data;

            var header = [
                "RIFF",
                pack("V", 4 + (8 + 16) + (8 + data.samples * config.channels * config.bitsPerSample / 8)), // total lenght
                "WAVE"
            ];
            return header.join('');
        }

    };

}());



/******fin de la troisième partie**encodeur aux normes audio*************************/


/***********cinquième partie génère la balise et lance la lecture**************/



function genereLaFin()
{

/**************genere balise*******/
/*
<audio id="audiojoa" controls="controls" autobuffer=""> 
<source src="data:audio/wav;base64wave,"></audio>
*/

lenommeur1= "basewave";

levariateur = levariateur + 1;

lenommeur = lenommeur1.concat(levariateur); 
switch(levariateur) {
    case 2:

//zone 1
var mon_audio1 = null;
var nouveauaudio1 = null;

function ajouteElement() {
  // crée un nouvel élément audio

  nouveauaudio1 = document.createElement("div");

  nouveauaudio1.innerHTML = "<audio id=\"1awav\" autobuffer=\"\"><source src=\"data:audio/wav;" + lenommeur + ",\"></audio>";

  // ajoute l'élément qui vient d'être créé et son contenu au DOM
  mon_audio1 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio1, mon_audio1);
}  

ajouteElement();

//fin zone 1

        break;
    case 3:
//zone 2
var mon_audio2 = null;
var nouveauaudio2 = null;

function ajouteElement1() {
  // crée un nouvel élément audio

  nouveauaudio2 = document.createElement("div");

  nouveauaudio2.innerHTML = "<audio id=\"2awav\" autobuffer=\"\"><source src=\"data:audio/wav;" + lenommeur + ",\"></audio>";

  // ajoute l'élément qui vient d'être créé et son contenu au DOM
  mon_audio2 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio2, mon_audio2);

}  

ajouteElement1();

//fin zone 2
        break;
    case 4:
//zone 3
var mon_audio3 = null;
var nouveauaudio3 = null;

function ajouteElement2() {
  // crée un nouvel élément audio

  nouveauaudio3 = document.createElement("div");

  nouveauaudio3.innerHTML = "<audio id=\"3awav\" autobuffer=\"\"><source src=\"data:audio/wav;" + lenommeur + ",\"></audio>";

  // ajoute l'élément qui vient d'être créé et son contenu au DOM
  mon_audio3 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio3, mon_audio3);

}  
ajouteElement2();


//fin zone 3

        break;
    case 5:
//zone 4
var mon_audio4 = null;
var nouveauaudio4 = null;

function ajouteElement3() {
  // crée un nouvel élément audio

  nouveauaudio4 = document.createElement("div");

   nouveauaudio4.innerHTML = "<audio id=\"4awav\" autobuffer=\"\"><source src=\"data:audio/wav;" + lenommeur + ",\"></audio>";

  // ajoute l'élément qui vient d'être créé et son contenu au DOM
  mon_audio4 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio4, mon_audio4);

}  
ajouteElement3();


//fin zone 4

        break;
/*****/
    case 6:
//zone 5
var mon_audio5 = null;
var nouveauaudio5 = null;

function ajouteElement4() {
  // crée un nouvel élément audio

  nouveauaudio5 = document.createElement("div");

   nouveauaudio5.innerHTML = "<audio id=\"5awav\" autobuffer=\"\"><source src=\"data:audio/wav;" + lenommeur + ",\"></audio>";

  // ajoute l'élément qui vient d'être créé et son contenu au DOM
  mon_audio5 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio5, mon_audio5);

}  
ajouteElement4();


//fin zone 5

        break;
/*****/
    case 7:
//zone 6
var mon_audio6 = null;
var nouveauaudio6 = null;

function ajouteElement5() {
  // crée un nouvel élément audio

  nouveauaudio6 = document.createElement("div");

   nouveauaudio6.innerHTML = "<audio id=\"6awav\" autobuffer=\"\"><source src=\"data:audio/wav;" + lenommeur + ",\"></audio>";

  // ajoute l'élément qui vient d'être créé et son contenu au DOM
  mon_audio6 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio6, mon_audio6);

}  
ajouteElement5();


//fin zone 6

        break;
/*****/
    case 8:
//zone 7
var mon_audio7 = null;
var nouveauaudio7 = null;

function ajouteElement6() {
  // crée un nouvel élément audio

  nouveauaudio7 = document.createElement("div");

   nouveauaudio7.innerHTML = "<audio id=\"7awav\" autobuffer=\"\"><source src=\"data:audio/wav;" + lenommeur + ",\"></audio>";

  // ajoute l'élément qui vient d'être créé et son contenu au DOM
  mon_audio7 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio7, mon_audio7);

}  
ajouteElement6();


//fin zone 7

        break;
/*****/
    case 9:
//zone 8
var mon_audio8 = null;
var nouveauaudio8 = null;

function ajouteElement7() {
  // crée un nouvel élément audio

  nouveauaudio8 = document.createElement("div");

   nouveauaudio8.innerHTML = "<audio id=\"8awav\" autobuffer=\"\"><source src=\"data:audio/wav;" + lenommeur + ",\"></audio>";

  // ajoute l'élément qui vient d'être créé et son contenu au DOM
  mon_audio8 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio8, mon_audio8);

}  
ajouteElement7();


//fin zone 8

        break;
/*****/
    case 10:
//zone 9
var mon_audio9 = null;
var nouveauaudio9 = null;

function ajouteElement8() {
  // crée un nouvel élément audio

  nouveauaudio9 = document.createElement("div");

   nouveauaudio9.innerHTML = "<audio id=\"9awav\" autobuffer=\"\"><source src=\"data:audio/wav;" + lenommeur + ",\"></audio>";

  // ajoute l'élément qui vient d'être créé et son contenu au DOM
  mon_audio9 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio9, mon_audio9);

}  
ajouteElement8();


//fin zone 9

        break;
/*****/
    case 11:
//zone 10
var mon_audio10 = null;
var nouveauaudio10 = null;

function ajouteElement9() {
  // crée un nouvel élément audio

  nouveauaudio10 = document.createElement("div");

   nouveauaudio10.innerHTML = "<audio id=\"10awav\" autobuffer=\"\"><source src=\"data:audio/wav;" + lenommeur + ",\"></audio>";

  // ajoute l'élément qui vient d'être créé et son contenu au DOM
  mon_audio10 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio10, mon_audio10);

}  
ajouteElement9();


//fin zone 10

        break;
/*****/
    case 12:
//zone 11
var mon_audio11 = null;
var nouveauaudio11 = null;

function ajouteElement10() {
  // crée un nouvel élément audio

  nouveauaudio11 = document.createElement("div");

   nouveauaudio11.innerHTML = "<audio id=\"11awav\" autobuffer=\"\"><source src=\"data:audio/wav;" + lenommeur + ",\"></audio>";

  // ajoute l'élément qui vient d'être créé et son contenu au DOM
  mon_audio11 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio11, mon_audio11);

}  
ajouteElement10();


//fin zone 11

        break;
/*****/
    case 13:
//zone 12
var mon_audio12 = null;
var nouveauaudio12 = null;

function ajouteElement11() {
  // crée un nouvel élément audio

  nouveauaudio12 = document.createElement("div");

   nouveauaudio12.innerHTML = "<audio id=\"12awav\" autobuffer=\"\"><source src=\"data:audio/wav;" + lenommeur + ",\"></audio>";

  // ajoute l'élément qui vient d'être créé et son contenu au DOM
  mon_audio12 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio12, mon_audio12);

}  
ajouteElement11();


//fin zone 12

        break;
/*****/
    case 14:
//zone 13
var mon_audio13 = null;
var nouveauaudio13 = null;

function ajouteElement12() {
  // crée un nouvel élément audio

  nouveauaudio13 = document.createElement("div");

   nouveauaudio13.innerHTML = "<audio id=\"13awav\" autobuffer=\"\"><source src=\"data:audio/wav;" + lenommeur + ",\"></audio>";

  // ajoute l'élément qui vient d'être créé et son contenu au DOM
  mon_audio13 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio13, mon_audio13);

}  
ajouteElement12();


//fin zone 13

        break;
/*****/
    case 15:
//zone 14
var mon_audio14 = null;
var nouveauaudio14 = null;

function ajouteElement13() {
  // crée un nouvel élément audio

  nouveauaudio14 = document.createElement("div");

   nouveauaudio14.innerHTML = "<audio id=\"14awav\" autobuffer=\"\"><source src=\"data:audio/wav;" + lenommeur + ",\"></audio>";

  // ajoute l'élément qui vient d'être créé et son contenu au DOM
  mon_audio14 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio14, mon_audio14);

}  
ajouteElement13();


//fin zone 14

        break;
/*****/
    case 16:
//zone 15
var mon_audio15 = null;
var nouveauaudio15 = null;

function ajouteElement14() {
  // crée un nouvel élément audio

  nouveauaudio15 = document.createElement("div");

   nouveauaudio15.innerHTML = "<audio id=\"15awav\" autobuffer=\"\"><source src=\"data:audio/wav;" + lenommeur + ",\"></audio>";

  // ajoute l'élément qui vient d'être créé et son contenu au DOM
  mon_audio15 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio15, mon_audio15);

}  
ajouteElement14();


//fin zone 15

        break;
/*****/
    default:
//zone 16
var mon_audio16 = null;
var nouveauaudio16 = null;

function ajouteElement15() {
  // crée un nouvel élément audio

  nouveauaudio16 = document.createElement("div");

  nouveauaudio16.innerHTML = "<audio id=\"16awav\" autobuffer=\"\"><source src=\"data:audio/wav;" + lenommeur + ",\"></audio>";

  // ajoute l'élément qui vient d'être créé et son contenu au DOM
  mon_audio16 = document.getElementById(lenommeur);
  document.body.insertBefore(nouveauaudio16, mon_audio16);

}  
ajouteElement15();


//fin zone 16

} // fin switch





/**reglage force de l'amplitude***/
var volume = Math.floor(65535 / 8);

//samples = NbPtTotal*0.25;
durerentete=NbPtTotal*2;

samples = durerentete*16;
var data = {};

 data = {leraw: leraw.join(''), samples: samples};

var wave = new app.wave(data);

/*********met en memoire l'audio*****/





 lenommeur = wave.generate();

sessionStorage.removeItem("MaMemoireAudio");
sessionStorage.setItem("MaMemoireAudio","lenommeur")
//var wave1 = sessionStorage.getItem("MaMemoireAudio");


switch(levariateur) {
    case 2:
var audio = document.getElementById("1awav");
var source = document.createElement("source");
source.setAttribute("src", lenommeur);
audio.appendChild(source);
        break;
    case 3:
var audio1 = document.getElementById("2awav");
var source1 = document.createElement("source");
source1.setAttribute("src", lenommeur);
audio1.appendChild(source1);
        break;
    case 4:
var audio2 = document.getElementById("3awav");
var source2 = document.createElement("source");
source2.setAttribute("src", lenommeur);
audio2.appendChild(source2);
    case 5:
var audio3 = document.getElementById("4awav");
var source3 = document.createElement("source");
source3.setAttribute("src", lenommeur);
//audio3.appendChild(source3);
        break;

    case 6:
var audio4 = document.getElementById("5awav");
var source4 = document.createElement("source");
source4.setAttribute("src", lenommeur);
audio4.appendChild(source4);
        break;

    case 7:
var audio5 = document.getElementById("6awav");
var source5 = document.createElement("source");
source5.setAttribute("src", lenommeur);
audio5.appendChild(source5);
        break;

    case 8:
var audio6 = document.getElementById("7awav");
var source6 = document.createElement("source");
source6.setAttribute("src", lenommeur);
audio6.appendChild(source6);
        break;

    case 9:
var audio7 = document.getElementById("8awav");
var source7 = document.createElement("source");
source7.setAttribute("src", lenommeur);
audio7.appendChild(source7);
        break;

    case 10:
var audio8 = document.getElementById("9awav");
var source8 = document.createElement("source");
source8.setAttribute("src", lenommeur);
audio8.appendChild(source8);
        break;

    case 11:
var audio9 = document.getElementById("10awav");
var source9 = document.createElement("source");
source9.setAttribute("src", lenommeur);
//audio9.appendChild(source9);
        break;
    case 12:
var audio10 = document.getElementById("11awav");
var source10 = document.createElement("source");
source10.setAttribute("src", lenommeur);
//audio10.appendChild(source10);
        break;
    case 13:
var audio11 = document.getElementById("12awav");
var source11 = document.createElement("source");
source11.setAttribute("src", lenommeur);
//audio11.appendChild(source11);
        break;
    case 14:
var audio12 = document.getElementById("13awav");
var source12 = document.createElement("source");
source12.setAttribute("src", lenommeur);
//audio12.appendChild(source12);
        break;
    case 15:
var audio13 = document.getElementById("14awav");
var source13 = document.createElement("source");
source13.setAttribute("src", lenommeur);
//audio13.appendChild(source13);
        break;
    case 16:
var audio14 = document.getElementById("15awav");
var source14 = document.createElement("source");
source14.setAttribute("src", lenommeur);
//audio14.appendChild(source14);
        break;

    default:
var audio15 = document.getElementById("16awav");
var source15 = document.createElement("source");
source15.setAttribute("src", lenommeur);
//audio15.appendChild(source15);
} 



}



function lecjo(FichierAudioJo)
{

 leraw = [];

var ludion = 32768, amplitude = 32768, nbdepoints = 5;

	function actiontotale(amplitude, nbdepoints, ludion)

	{

				var samples = 0, ote, ote1, reste, boucle;
			      var ideb, j, p, avec1, avec2, avec3;


/****debut front descend****/
		function frontdescend(amplitude, nbdepoints, ludion)
		{
				var ote1;

			      boucle = Math.round(nbdepoints *0.5);

			      reste = nbdepoints - boucle;

			      ote = Math.round( (ludion-amplitude)*0.5 );

				avec1 = boucle-1;
				p = table[avec1];

			function calcul1 (ludion, ote, ote1)
			{
			codebash = Math.round(ludion + ote1 - ote);
			

			 var volume = Math.floor(65535);
			monhexa = Math.floor(codebash -32767);
			  var total = leraw.push(app.utility.pack("v", monhexa));

			 }//fin calcul1


			for (ideb = boucle-1; ideb >= 0; ideb--) {
			ote1 = Math.floor((ote * 0.00001 * p[ideb]));
   			calcul1 (ludion, ote, ote1);
			}// fin frontdescend partie1 et fin for


/********deuxieme partie front descend****************/

			function sens2inverse(amplitude, nbdepoints, ludion)
			{
			var ote1;

			 boucle = Math.round(nbdepoints *0.5);
			 reste = nbdepoints - boucle;
			 ote = Math.round( (ludion-amplitude)*0.5 );

			avec1 = boucle-1;
			p = table[avec1];

			function calcul2 (ludion, ote, ote1)
			{
			codebash = Math.round(amplitude + ote - ote1);
			

			  var volume = Math.floor(65535);
			monhexa = Math.floor(codebash -32767);
			  var total = leraw.push(app.utility.pack("v", monhexa));

			 }// fin calcul2

			 for (ideb = 0; ideb < reste; ideb++) {
			 ote1 = Math.floor((ote * 0.00001 * p[ideb]));
   			 calcul2 (amplitude, ote, ote1);
			 } // fin du for

			 } // fin sens2inverse

			sens2inverse(amplitude, nbdepoints, ludion);		 

			ludion = amplitude
			return ludion;
			}// fin frontdescend

/********fin front descend *************************/


/****debut front montant*********************/
		function frontmontant(amplitude, nbdepoints, ludion)
		{
		ote = Math.round( (amplitude-ludion)*0.5 );			     
		 boucle = Math.round(nbdepoints * 0.5);
		reste = nbdepoints - boucle;
		
		var iee, j, p;
		avec1 = boucle-1;
		p = table[avec1];
		
			function calcul3 (ludion, ote, ote1)
			{
  			codebash = Math.round(ludion + ote - ote1);
			

			var volume = Math.floor(65535 );
			monhexa = Math.floor(codebash -32767);
			  var total = leraw.push(app.utility.pack("v", monhexa));

			}// fin calcul3



			for (ideb = boucle-1; ideb >= 0; ideb--) {
			ote1 = Math.floor(ote * 0.00001 * p[ideb]);
   			calcul3 (ludion, ote, ote1);
			}// fin premiere partie du fron et du for



				
			function sensinverse(amplitude, nbdepoints, ludion)
			{

			boucle = Math.round(nbdepoints * 0.5);
			reste = nbdepoints - boucle;
			ote = Math.round((amplitude-ludion)*0.5 );


			function calcul4 (ludion, ote, ote1)
			{
  			codebash = Math.round(ludion + ote + ote1);
			

			var volume = Math.floor(65535 );
			monhexa = Math.floor(codebash -32767);
			var total = leraw.push(app.utility.pack("v", monhexa));

			}// fin calcul4

/******/
				for (ideb = 0; ideb < reste; ideb++) {
				    ote1 = Math.round(ote * 0.00001 * p[ideb]);
   					calcul4 (ludion, ote, ote1);
				}
/********/






}

/* debut montant inverse du sens 1 */
sensinverse(amplitude, nbdepoints, ludion);

			ludion = amplitude
			return ludion;

			} //fin frontmontant





/****fin front montant***/







/*choix du sens du front*/

		  if (ludion > amplitude)
		    {
		 frontdescend(amplitude, nbdepoints, ludion);
		    }
		  else
		    {
		frontmontant(amplitude, nbdepoints, ludion);
		    }

/* fin choix du sens du front*/



}
/****fin action totale****/

for(var idejo= 0; idejo < FichierAudioJo.length; idejo++)
{//1

if (idejo/2 == Math.round(idejo/2)) {
	ludion = amplitude;
	amplitude = FichierAudioJo[idejo] * 256;
} else {//2
	nbdepoints = FichierAudioJo[idejo];
NbPtTotal += nbdepoints; /*44100 nbdepoints = 1 seconde*/
	actiontotale(amplitude, nbdepoints, ludion);




}//  fin du else de trie de récpération de données (amplitude et nbpoints)
}// fin de la boucle for de trie de récpération de données (amplitude et nbpoints)

genereLaFin();


return NbPtTotal;





}// fin fonction lecjo

Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net

Hors ligne

#2 Le 14/08/2016, à 20:29

J5012

Re : optimisation javasript

avec javascript tu peux inclure le contenu de n'importe quel autre script : javascript, html, php, css ...
à condition que la syntaxe globale suive les regles javascript (puisque le script appelant est un javascript)

Hors ligne

#3 Le 16/08/2016, à 07:50

temps

Re : optimisation javasript

Bonjour,
Merci beaucoup pour la réponse.
Le fait de pouvoir appeler un fichier js à partir d'un autre fichier js, va me permettre de bien séparer les tables de conversion et ainsi rendre le script plus lisible pour les éditeurs AMO de firefox.
Je vais faire quelques recherches sur la syntaxe et je reviens poster quand j'ai la solution.
L'addon lecjoa est fonctionnel, il ne me reste plus qu'à bien le structurer, bien décrire comment il est construit, créer une banque audio, indiquer quelques dimension acoustique de base pour construire les tableaux générateur de son, idem pour les images, et aussi créer un tutoriel pour indiquer comment l'utiliser.
Le fait de séparer les fichier en fonction de leur utilité fait partie de la première partie donc essayer de bien structurer.
Cordialement


Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net

Hors ligne

#4 Le 16/08/2016, à 19:03

J5012

Re : optimisation javasript

la bonne structuration d'un programme fait beaucoup pour son developpement, mais pas pour obtenir un code executé rapidement ... pour ca l'astuce principale est d'eliminer les espaces, et d'utiliser des etiquettes de saut courts comme des chiffres, methode aussi bonne pour de l'obfuscation ...

Hors ligne

#5 Le 01/09/2016, à 13:16

JPlaroche

Re : optimisation javasript

bonjour,
vas voir https://github.com/jasmine/jasmine/releases

une fois compilé tu réduiras de moitié ton code.  *.min.js
et rien t'empêche de garder une version longue et explicite


depuis 2004 avec Ubuntu
depuis 1976 informaticien   Mon site plein d'information pour les programmeurs   http://www.ombrebleu.com

Hors ligne

#6 Le 13/09/2016, à 04:08

temps

Re : optimisation javasript

Bonjour,
Merci pour ces précieuses réponses.
Depuis peu firefox passe en multiprocess, (version 48). Ce qui a impacté plusieurs addon dont le mien qui s'est arrêté de fonctionner. J'ai corrigé ça il y a 15 jours depuis j'attends la nouvelle clef de sécurité de firefox. Je sais pas trop comment ça marche, j'ai été en onzième position dans la fille d'attente, puis je suis passé en vingtième sur 30, et ce matin en trentième sur 61. Les rouages sont obscur, j'ai testé mes addon favoris, et ils sont presques tous incompatibles avec la prochaine version.
En exemple il suffit d'appeler une fonction dans js avec un html pour obtenir une erreur de sécurité (onclick, onload ... = erreur), il faut que ce soit le javascript qui piste les événements pour que le code soit valide depuis la version 48. En d'autres mots remplacer les onclick par des Id et puis dans js "addeventlistener"

Je vais faire comme indiqué, une version développement (indice de version impair) de manière à laisser des traces sur comment l'addon est construit pour permettre des fork, et à coté créer une version optimisée (indice de version pair) que je présenterai dès que j'aurai obtenu une clef Firefox sur la dernière version de l'addon.

Cordialement

P.S. le temps d'écrire le message la position a changée :
"Position dans la file : 24 de 56 "
en fait même si je signale les sauts de position, je trouve que c'est bien d'avoir cette information, car nous pouvons estimer ou nous en sommes, ne pas savoir n'encourage pas le type qui a corriger le code.

Dernière modification par temps (Le 13/09/2016, à 04:36)


Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net

Hors ligne

#7 Le 14/09/2016, à 12:32

JPlaroche

Re : optimisation javasript

tu devrais travailler avec Jquery 3.. il est conforme a la normalisation signé par le consortium microsoft mozilla gnu apple ect.. il date de 2016 janvier et a été ratifier ... tout cela en vue de l'acceptation html5  et des protocole de communication temps reel .
@bientôt


depuis 2004 avec Ubuntu
depuis 1976 informaticien   Mon site plein d'information pour les programmeurs   http://www.ombrebleu.com

Hors ligne

#8 Le 14/09/2016, à 13:07

temps

Re : optimisation javasript

Bonjour,
Merci pour la réponse.
Concernant une bibliothèque externe, à priori, je ne suis pas très favorable, mais rien n'empêche celui qui veut reprendre le code de faire une version avec bibliothèque externe.
la principale raison est que je voudrais garder un code le plus léger possible, d'origine il était prévu 5 Add-ons aux utilisations bien différentes, ce sont les AMO qui m'ont demandé de regroupé en un seul. Ajouter une bibliothèque externe augmenterai grandement le poids et la consommation de ressources. De plus en l'état, la licence est GNU General Public License, version 3.0, je ne sais pas ce qu'est une licence MIT.
Et pour finir, j'ai toujours espoir de mettre un jour en production la carte audio linux que j'ai conçu, permettant ainsi d'éviter tous les tableaux de conversions, rendant par la même le code extrèmement léger (gain énergie, qualité, espace de stockage).
Pour ces raisons, je ne vais pas utiliser Jquery 3, mais merci pour l'information qui sera probablement utile sur d'autres projets que j'ai mis en attente.

Cordialement

Dernière modification par temps (Le 14/09/2016, à 13:09)


Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net

Hors ligne

#9 Le 15/09/2016, à 04:27

temps

Re : optimisation javasript

Bonjour,
L'idée de ce code, c'est que chacun a sa croyance, chacun a sa perception, chacun a ses outils.
Afin que chacun puisse s'exprimer d'une manière compréhensible par tous,
j'ai sélectionner le langage du moment (le htlm en mode vidéo) que je manipule avec 2 valeurs de base.
Une valeur pour le son, et une valeur pour l'image.
A ses valeurs, j'ajoute différentes dimensions à l'aide de coefficients de manière à produire une multitude de sons et de formes.

Ce n'est pas parce que je crois que les hommes préhistorique et les Celtes avaient un langage plus évolué que nous, que c'est vrai, ce qui importe, c'est que j'arrive à le dire d'une manière compréhensible de tous. De par la licence chacun peu reprendre en partie ou tout le code et trouver une autre origine à la logique de ce code. La finalité est de communiquer, la finalité est le moyen, pas l'endroit ou arrive l'idée présentée.

En d'autres mots, ma démarche est de parler comment construire un outils et non pas imposer des idées ou imposer un outils.
La génération de son ou d'image avec l'imagination est pour éviter auant que possible des copier/coller. Depuis début 2010, si j'avais voulu, depuis longtemps j'aurai pu créé des bases acoustiques à copier/coller ou des base de forme à copier/coller, mais je ne le fais pas, car cela serai imposer mon imagination au détriment de l'imagination des autres.

Donc dans ma recherche d'optimisation, il faut que j'arrive à garder l'esprit qui m'a poussé à écrire ce code.

Cordialement

Dernière modification par temps (Le 15/09/2016, à 04:28)


Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net

Hors ligne

#10 Le 15/09/2016, à 20:23

Olivier_Dev

Re : optimisation javasript

Bonjour
Afin d organiser vos sources je vous conseille des systèmes de Build tel que webpack,  browserify ...
Cela vous permettra de structurer vos composants en fichiers en bénéficiant de l utilisation de require  (import de module )
Le Build sera une construction et minimisation optimisés de vos sourcesen un seul fichier.

Hors ligne

#11 Le 16/09/2016, à 15:50

temps

Re : optimisation javasript

Bonjour,
Merci pour tous ces précieux conseils.
J'ai vérifié un peu plus ce que pouvait apporter Jquery, et j'ai trouvé l'ouverture de fichier audio au format jo en ligne en utilisant 7zip. En fait ce sont mes croyances et coutumes d'éviter tous support existant qui sont fausses.

Je vais essayer de tout reprendre à zéro en utilisant les outils conseillés, et je vais retourner sur github placer les codes car je me suis aperçu que c'était la coutume des AMO

Merci encore pour ces précieux conseilles.

Cordialement


Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net

Hors ligne

#12 Le 17/09/2016, à 05:30

temps

Re : optimisation javasript

Bonjour,
Après quelques tests et adaptations de parties de code de lecjoa dans Jquery et dans webpack, je vais reprendre tout le code en ajoutant la lecture audio en ligne du format jo.7z  (audio jo compressé 7zip).

Une version dev (avec commentaire) et une version optimisée.
En premier je vais extraire les parties qui se retrouvent dans plusieurs js, pour écrire de nouveaux js qui seront appelés (afin que le même code ne soit écrit qu'une fois, en exemple la partie  table de conversion ).

Et enfin je vais finaliser le tout avec webpack, je pense avoir de quoi jouer pendant un mois avant d'avoir une version optimisée, après il faudra que je construise une bibliothèque jo.7z , pour des fichier audio de plusieurs minutes la compression est intéressante, mais pour des fichiers audio d'un mot (langue parlée) ou d'une note, la compression alourdie le poids. Dans la vidéo interactive générée, c'est souvent des fichiers audio léger, donc la technique de compression alourdie le poids, mais permet la lecture en ligne, ou dans l'addon firefox

Cordialement

P.S : Un son de tambour sec pèse 60 octets au format audio jo, et de nombreuses notes de musiques sont dans les centaines d'octets. Les tags de compression pèsent plus lourds.
Si je place un seul fichier, comme dans le dernier test que j'ai fais, pour lire un fichier audio au format jo de 60 octets, j'ai besoin de 78,9 ko (78 858 octets), car le répertoire compressé 7z contient aussi actuellement la bibliothèque query-3.0.0.slim.js et la bibliothèque query-3.0.0.slim.min.js, sans compter qu'il y a encore une bibliothèque minimum de plusieurs dizaine de Ko pour ouvrir le 7z
ça marche c'est très intéressant pour celui qui veut créer un opéra entier (gain en poids et gain en qualité), mais je ne vais pas fermer toutes les portes car pour du multidirectionnel c'est pas une très bonne solution

Dernière modification par temps (Le 17/09/2016, à 06:45)


Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net

Hors ligne

#13 Le 17/09/2016, à 11:45

Olivier_Dev

Re : optimisation javasript

Bonjour
Puis je avoir un lien vers les sources et au plugin afin de voir comment cela fonctionne s il vous plaît ?

Hors ligne

#14 Le 17/09/2016, à 12:13

temps

Re : optimisation javasript

Bonjour,

Je vais dans la journée placer les sources dans github pour faire comme font les AMO des addon firefox.

Actuellement les sources sont dans firefox https://addons.mozilla.org/fr/firefox/f … se/499843/
et elles sont aussi sur un de mes sites ici http://www.letime.net/lecjo/lecjoa.zip

La prochaine étape est la lecture en ligne du format audio jo.7z
et puis ensuite je réécris le générateur de vidéo multidirectionnelles en sortant les fichiers audio qui sont actuellement en "ASCII" format joa, dans js, pour les appeler en format jo.7z

A coté de ça, je suis entrain de créer une vidéo multidirectionnelle pour évaluer les étudiants du supérieur. En fonction de la réactivé du clique sur les images vidéo en fonction du son (mot ou mots) entendu, la vidéo s'accélère ou ralentie. Il s'entend que je ne fait que le code aucun aspect pédagogique, ou choix des termes ou choix des images.

c'est compatible aussi sous le future firefox 50, et par hasard j'ai testé sous le dernier chrome, j'ai placé l'application dans chrome store en gratuit
Cordialement


Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net

Hors ligne

#15 Le 17/09/2016, à 12:36

Olivier_Dev

Re : optimisation javasript

Merci, oui github c est une très bonne initiative.
Le code à première vue est dejas pas mal découpé et lisible,  j ai pas testé car pas devant mon pc.
Logiquement le code devrait être portable et pas obligatoirement utilisable que en addon navigateur.
Je vous revient des que je me serai familiarisé avec le soft.
Bonne journée.

Hors ligne

#16 Le 18/09/2016, à 08:36

temps

Re : optimisation javasript

Bonjour,
Merci du retour.
J'ai commencé à partitionner les javascript afin d'éviter les doublons (en exemple de fait de sortir la table de conversion évite qu'elle ne se retrouve trois fois en considérant que je vais ajouter la lecture en ligne des fichiers audio).

Comme dit avec un jour de retard le temps que je me rapelle comment on utilise github, j'ai placé lecjoa dans github,
c'est ici : https://github.com/temps9/lecjoa

J'ai mis à jour la dernière version de lecjoa dans firefox même si cela me place en fin de file 93/93 de toutes façons, à la vitesse d'avancement de ces derniers temps (1 place par semaine) en position 19/93 ça ne change rien, sauf qu'il y a beaucoup moins de téléchargement des chinois car l'ancienne version ne fonctionne que jusqu'à firefox 46, et maintenant à 48 elle ne fonctionne plus.

Cordialement

Dernière modification par temps (Le 18/09/2016, à 08:38)


Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net

Hors ligne