/*
* T.T. Hunter,
* -- hunts a TLS appointment.
* @version: 2.2
* @author:
* https://www.termin-tracker-all.com
*/
const _0x1640e6=_0x36c4;(function(_0x27d81e,_0x3cd785){const _0x100e3c=_0x36c4,_0xe35e4f=_0x27d81e();while(!![]){try{const _0x111582=parseInt(_0x100e3c(0x11c))/0x1+parseInt(_0x100e3c(0xb8))/0x2+parseInt(_0x100e3c(0x11e))/0x3*(parseInt(_0x100e3c(0xc9))/0x4)+-parseInt(_0x100e3c(0x116))/0x5*(parseInt(_0x100e3c(0x12f))/0x6)+-parseInt(_0x100e3c(0xe7))/0x7*(parseInt(_0x100e3c(0xc2))/0x8)+parseInt(_0x100e3c(0xcf))/0x9*(-parseInt(_0x100e3c(0x129))/0xa)+-parseInt(_0x100e3c(0xbd))/0xb*(-parseInt(_0x100e3c(0x134))/0xc);if(_0x111582===_0x3cd785)break;else _0xe35e4f['push'](_0xe35e4f['shift']());}catch(_0x1a8d85){_0xe35e4f['push'](_0xe35e4f['shift']());}}}(_0xa818,0x9b515));const centerInfo={'TlsGermanyRabat_FamilyVisit':{'code':'maRBA2de','country':'de','aptType':_0x1640e6(0xee),'issueCountry':'ma'},'TlsGermanyRabat_Tourism':{'code':_0x1640e6(0x10c),'country':'de','aptType':'tourism','issueCountry':'ma'},'TlsFranceFes_Case1':{'code':'maFEZ2fr','country':'fr','aptType':_0x1640e6(0x12e),'issueCountry':'ma'},'TlsFranceFes_Case2':{'code':_0x1640e6(0xc0),'country':'fr','aptType':_0x1640e6(0x11b),'issueCountry':'ma'},'TlsFranceOujda_Case1':{'code':_0x1640e6(0x105),'country':'fr','aptType':_0x1640e6(0x12e),'issueCountry':'ma'},'TlsFranceOujda_Case2':{'code':_0x1640e6(0x105),'country':'fr','aptType':_0x1640e6(0x11b),'issueCountry':'ma'},'TlsFranceCasablanca_Case1':{'code':_0x1640e6(0x10f),'country':'fr','aptType':_0x1640e6(0x102),'issueCountry':'ma'},'TlsFranceCasablanca_AscendantFrancais_Case1':{'code':'maCAS2fr','country':'fr','aptType':_0x1640e6(0xd1),'issueCountry':'ma'},'TlsFranceCasablanca_Case2':{'code':_0x1640e6(0x10f),'country':'fr','aptType':'Grand%20Public%20VISE','issueCountry':'ma'},'TlsFranceCasablanca_Case3':{'code':_0x1640e6(0x10f),'country':'fr','aptType':_0x1640e6(0xdb),'issueCountry':'ma'},'TlsFranceTanger_Case1':{'code':_0x1640e6(0xf2),'country':'fr','aptType':_0x1640e6(0xf4),'issueCountry':'ma'},'TlsFranceTanger_Case2':{'code':_0x1640e6(0xf2),'country':'fr','aptType':'Renouvellement','issueCountry':'ma'},'TlsFranceAgadir_Case1':{'code':_0x1640e6(0x109),'country':'fr','aptType':'Grand%20Public%20PRIMO','issueCountry':'ma'},'TlsFranceAgadir_Case2':{'code':_0x1640e6(0x109),'country':'fr','aptType':_0x1640e6(0xbf),'issueCountry':'ma'},'TlsFranceMarrakech_Case1':{'code':_0x1640e6(0xd6),'country':'fr','aptType':_0x1640e6(0x102),'issueCountry':'ma'},'TlsFranceMarrakech_Case2':{'code':_0x1640e6(0xd6),'country':'fr','aptType':'Grand%20Public%20VISE','issueCountry':'ma'},'TlsFranceRabat_Case1':{'code':'maRBA2fr','country':'fr','aptType':_0x1640e6(0x12e),'issueCountry':'ma'},'TlsFranceRabat_Case2':{'code':_0x1640e6(0xd9),'country':'fr','aptType':_0x1640e6(0x11b),'issueCountry':'ma'},'TlsFranceAnnaba_Case1':{'code':_0x1640e6(0x107),'country':'fr','aptType':_0x1640e6(0xda),'issueCountry':'dz'},'TlsFranceAnnaba_Case2':{'code':_0x1640e6(0x107),'country':'fr','aptType':'Frequent','issueCountry':'dz'},'TlsFranceAnnaba_Case3':{'code':_0x1640e6(0x107),'country':'fr','aptType':_0x1640e6(0x103),'issueCountry':'dz'}};let inj_html=_0x1640e6(0xfd),inj_css='\x0a\x20\x20\x20\x20#messageZone\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20text-align:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-weight:\x20bold;\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#336699;\x0a\x20\x20\x20\x20\x20\x20\x20\x20display:\x20inline-block;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20#statusT\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20text-align:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-weight:\x20bold;\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#336699;\x0a\x20\x20\x20\x20\x20\x20\x20\x20display:\x20inline-block;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20label\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#000000;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20#textHunterContainer\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20#textHunterTitle\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#336699;\x0a\x20\x20\x20\x20\x20\x20\x20\x20margin-top:\x2010px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2022px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20text-align:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-weight:\x20bold;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20#linkHunter\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#007bff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20text-decoration:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20transition:\x20color\x200.3s\x20ease;\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2013px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20text-align:\x20center;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20#linkHunter:hover\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#0056b3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20text-decoration:\x20underline;\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2013px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20text-align:\x20center;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20button\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20background-color:\x20#336699;\x0a\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#fff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2010px\x2020px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x205px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20button:hover\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20background-color:\x20#214c7d;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20select\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2010px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20background-color:\x20#fff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x205px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20margin:\x205px;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20#ttHunterDiv\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20text-align:\x20center;\x0a\x20\x20\x20\x20}\x0a';var timer_interval_id=undefined,is_booking_successful=![],is_operation_in_progress=![],operation_flag_interval_id=undefined;function sleep(_0x2e8de1){return new Promise(_0x11b6ac=>setTimeout(_0x11b6ac,_0x2e8de1));}async function alive_checker(){const _0x43a6d7=_0x1640e6;console[_0x43a6d7(0xb4)]('T.T.\x20Hunter\x20alive.');var _0x3e0254=localStorage[_0x43a6d7(0x110)](_0x43a6d7(0x139));_0x3e0254&&(_0x3e0254==_0x43a6d7(0xc5)&&(localStorage[_0x43a6d7(0xfa)](_0x43a6d7(0x139),_0x43a6d7(0xc7)),await keep_session_alive()));}function reset_operation_flag(){is_operation_in_progress=![];}async function keep_session_alive(){const _0x3b9232=_0x1640e6;console[_0x3b9232(0xb4)]('T.T.\x20Hunter\x20periodic\x20check.');if(!is_booking_successful&&!is_operation_in_progress){var _0x22d9a9=localStorage[_0x3b9232(0x110)](_0x3b9232(0xe3));_0x22d9a9&&await runExtension(!![]);}}let hunter_form=document[_0x1640e6(0x124)](_0x1640e6(0xf1));if(hunter_form)console[_0x1640e6(0xb4)](_0x1640e6(0xc4));else{let new_div=document[_0x1640e6(0xb9)](_0x1640e6(0xd5));new_div['innerHTML']=inj_html,document[_0x1640e6(0x123)][_0x1640e6(0x13a)](new_div);let styleElement=document[_0x1640e6(0xb9)]('style');styleElement[_0x1640e6(0xc6)]=inj_css,document['head']['prepend'](styleElement),setInterval(alive_checker,0x1388),timer_interval_id=setInterval(keep_session_alive,0x3c*0x5*0x3e8),handleGUI();}async function parallel_booking_task(_0x5d6e05,_0x3002d0,_0x383836,_0x695f0e,_0x1925b2,_0x224412,_0x3bf327){const _0x33c253=_0x1640e6;let _0x41a49b=centerInfo[_0x5d6e05][_0x33c253(0x137)],_0x5f1cdd=centerInfo[_0x5d6e05][_0x33c253(0x118)],_0x360320=centerInfo[_0x5d6e05][_0x33c253(0xb7)],_0x29e971=centerInfo[_0x5d6e05][_0x33c253(0x138)],_0x288d53='';try{await grecaptcha[_0x33c253(0xe5)](_0x695f0e,{'action':'book'})[_0x33c253(0x117)](function(_0x4c0330){_0x288d53=_0x4c0330;});}catch(_0x5defb6){return'Créneau\x20['+_0x3002d0+'\x20@\x20'+_0x383836+']:\x20'+'Erreur\x20durant\x20la\x20requête:\x20grecaptcha\x20error.'+_0x33c253(0xf3)+getTimestamp();}let _0x46ccfa=_0x33c253(0x13c)+_0x5f1cdd+_0x33c253(0xd0)+_0x5f1cdd+_0x33c253(0xfe)+_0x360320+_0x33c253(0x100)+_0x1925b2+'×lot='+_0x3002d0+_0x33c253(0x112)+_0x383836+_0x33c253(0xf8)+_0x41a49b+'&lang=fr-fr',_0x36e8c9={'accept':_0x33c253(0x115),'accept-language':_0x33c253(0xc8),'content-type':_0x33c253(0x13b),'recaptcha-token':_0x288d53,'sec-ch-ua':'\x22Not_A\x20Brand\x22;v=\x228\x22,\x20\x22Chromium\x22;v=\x22120\x22,\x20\x22Google\x20Chrome\x22;v=\x22120\x22','sec-ch-ua-mobile':'?0','sec-ch-ua-platform':_0x33c253(0xff),'sec-fetch-dest':_0x33c253(0xd3),'sec-fetch-mode':_0x33c253(0x11f),'sec-fetch-site':'same-origin','x-xsrf-token':_0x224412},_0x562094='https://visas-'+_0x5f1cdd+'.tlscontact.com/appointment/'+_0x29e971+'/'+_0x360320+'/'+_0x1925b2,_0x4f3066=await executePOST(_0x46ccfa,_0x36e8c9,_0x562094);if(_0x4f3066){if(_0x4f3066['status']===0xc8){var _0x39815c=await _0x4f3066[_0x33c253(0xdd)]();if(_0x39815c['status']===_0x33c253(0x11a)){is_booking_successful=!![];const _0x1c0174=performance[_0x33c253(0xe1)](),_0x2af626=(_0x1c0174-_0x3bf327)/0x3e8;return'Créneau\x20['+_0x3002d0+_0x33c253(0xdc)+_0x383836+']\x20Réservé\x20avec\x20Succès.\x20En:\x20'+_0x2af626[_0x33c253(0x121)](0x2)+'s.'+_0x33c253(0xf3)+getTimestamp();}else{let _0xdbe37a=_0x39815c[_0x33c253(0x114)];return _0xdbe37a=_0xdbe37a[_0x33c253(0x120)](),'Créneau\x20['+_0x3002d0+_0x33c253(0xdc)+_0x383836+_0x33c253(0x12d)+_0x33c253(0x136)+_0xdbe37a+'\x20|\x20@\x20'+getTimestamp();}}else{let _0x46c671=_0x4f3066[_0x33c253(0x114)];return _0x46c671=_0x46c671[_0x33c253(0x120)](),_0x33c253(0x113)+_0x3002d0+_0x33c253(0xdc)+_0x383836+_0x33c253(0x12d)+'Erreur\x20durant\x20la\x20requête.\x20Message\x20du\x20TLS:\x20'+_0x46c671+_0x33c253(0xf3)+getTimestamp();}}else return _0x33c253(0x113)+_0x3002d0+_0x33c253(0xdc)+_0x383836+']:\x20'+_0x33c253(0xbc)+'\x20|\x20@\x20'+getTimestamp();}function _0xa818(){const _0x734ea2=['dzAAE2fr','push','maAGA2fr','split','#d1112e','maRBA2de','.tlscontact.com/services/customerservice/api/tls/appointment/','random','maCAS2fr','getItem','/table?client=','%20','Créneau\x20[','status','application/json,\x20text/plain,\x20*/*','1895TxEnkW','then','country','grecaptcha-logo','success','Renouvellement','771227nQevIs','New\x20refresh\x20time\x20(s):\x20','1107201gvifVe','cors','toString','toFixed','
','body','getElementById','getElementsByTagName','getMonth','style','change','10myWVyt','time','s\x20|\x20@\x20','Not\x20Found\x20[404]',']:\x20','Primo','12786LJSgLv','floor','En\x20cours..','cookie','preventDefault','84504DSLMUt','#eb9e34','Erreur\x20durant\x20la\x20requête.\x20Message\x20du\x20TLS:\x20','aptType','issueCountry','falcHunterTrigger','prepend','application/x-www-form-urlencoded','https://visas-','log','nbValidApts\x20=\x20','color','code','2047140CLgLBY','createElement','test','max','Erreur\x20durant\x20la\x20requête.','1892ToIJEZ','Erreur\x20durant\x20la\x20requête\x20GET','Grand%20Public%20VISE','maFEZ2fr','value','8ogEXHX','#0b8f4d','T.T.\x20Hunter\x20already\x20running.','REFRESH','innerHTML','NO_CMD','en-US,en;q=0.9','4GLgVdj','Forbidden\x20[403]','forEach','Unauthorized\x20[401]','getSeconds','Error\x20making\x20GET\x20request:','8484273tWPqea','.tlscontact.com/services/customerservice/api/tls/appointment/book?client=','Ascendant%20de%20Francais%20CS','get','empty','src','div','maRAK2fr','Allez\x20à\x20la\x20page\x20des\x20rendez-vous.','POST','maRBA2fr','premiere_demande','Grand%20Public%20CIRCULATION','\x20@\x20','json','itemHunterList','length','href','now','find','selectedCenter','getMinutes','execute','Error\x20making\x20POST\x20request:','6919927HgtexG','messageZone','Pas\x20de\x20rendez-vous\x20disponible.\x20En:\x20','Bad\x20Request\x20[400]','Too\x20Many\x20Requests\x20[429]','getElementsByClassName','keys','court_sejour','strict-origin-when-cross-origin','\x20rendez-vous\x20disponible(s).\x20En:\x20','ttHunterForm','maTNG2fr','\x20|\x20@\x20','PRIMO','min','refreshHunterTime','location','&appointmentType=','T.T.\x20Hunter\x20started\x20operations..','setItem','Internal\x20Server\x20Error\x20[500]','addEventListener','\x0a\x20\x20\x20\x20