Update CrOS OOBE throbber to MD throbber; delete old asset
[chromium-blink-merge.git] / chrome / test / data / third_party / kraken / tests / kraken-1.1 / audio-beat-detection-data.js
bloba5a5bddb462caa8e471821499ebf8ac25f257dd9
1 var console = undefined;
2 // Audio sample data.
3 var channels = 2,
4 rate = 44100,
5 frameBufferLength = 2048,
6 getFramebuffer = (function(f) {
7 var frames = f,
8 current = 0,
9 max = frames.length - 1;
11 return function() {
12 if (current == max) {
13 current = 0;
15 return frames[current++];
17 })([
18 new Array(-9.063918018914485e-12,-3.261597155551632e-12,-7.691810383070319e-11,-4.440857404031107e-12,-1.680772881984538e-10,6.000556301843929e-11,-1.9150961372282893e-10,2.4246665786265e-10,-4.565171851655947e-11,5.450795370620654e-10,3.362514988669574e-10,9.004306744664348e-10,9.466241124300723e-10,1.175186170598863e-9,1.6831636084901902e-9,1.1990984871701471e-9,2.3562511941577213e-9,8.144737662085788e-10,2.725613068577104e-9,-6.554523590551753e-11,2.5597279851297117e-9,-1.405781158148045e-9,1.7045438394092116e-9,-3.0212734536405605e-9,1.442163333198465e-10,-4.585516411026447e-9,-1.9632779846290305e-9,-5.679597681051973e-9,-4.288398525176262e-9,-5.877284880995148e-9,-6.374909933271056e-9,-4.851113288850684e-9,-7.722416484057248e-9,-2.47689069254875e-9,-7.892031916867381e-9,1.0892343693669204e-9,-6.61385790579061e-9,5.384448886758264e-9,-3.872107523505974e-9,9.678744916641335e-9,5.3583804060508555e-11,1.3082328997882087e-8,4.604661096863083e-9,1.4708005480201791e-8,9.020721947194943e-9,1.3861386705116274e-8,1.2467070042987416e-8,1.0221797630549645e-8,1.4191283703723911e-8,3.973642304089253e-9,1.3679061439120233e-8,-4.147063581427801e-9,1.0777899461800189e-8,-1.2912646063512057e-8,5.7606563963474855e-9,-2.0772752407083317e-8,-6.882053815715494e-10,-2.6112324746918603e-8,-7.566866244701487e-9,-2.7557987891668745e-8,-1.3718089775238695e-8,-2.427747425315374e-8,-1.8031725446121527e-8,-1.6211833653301255e-8,-1.965133300529942e-8,-4.18648893329987e-9,-1.8145057012475263e-8,1.0134575845199834e-8,-1.3606820559175503e-8,2.4460184988583933e-8,-6.6646101970491145e-9,3.6226321498133984e-8,1.6094849897285712e-9,4.304074607830444e-8,9.874586481828374e-9,4.314259527404829e-8,1.6751737774711728e-8,3.579163276867803e-8,2.1068517597200298e-8,2.1507027270217804e-8,2.2072077499046827e-8,2.0971653302837012e-9,1.9569721843026855e-8,-1.95445934991767e-8,1.3969719603323938e-8,-3.986041718917477e-8,6.212331538080207e-9,-5.5206413662745035e-8,-2.396835618867499e-9,-6.249566553151453e-8,-1.0421006280125766e-8,-5.979339334771794e-8,-1.6550259829273273e-8,-4.6752756333034995e-8,-1.9834619280345578e-8,-2.479977112557208e-8,-1.9848005905487298e-8,2.9843314486299732e-9,-1.6751785736346392e-8,3.2283470119409685e-8,-1.124725823586914e-8,5.8215224640889573e-8,-4.4262269405237475e-9,7.614446673187558e-8,2.4491135786064433e-9,8.2506318221931e-8,8.19313505928676e-9,7.549270009121756e-8,1.1920842091228678e-8,5.54726611312617e-8,1.3204600968208524e-8,2.5057047992049775e-8,1.2132561622024696e-8,-1.1224615015237305e-8,9.258342537066255e-9,-4.759798244435842e-8,5.454737994625702e-9,-7.796932521841882e-8,1.702851637475078e-9,-9.695299496570442e-8,-1.136488791964041e-9,-1.0082637658115345e-7,-2.519120245736417e-9,-8.824257946571379e-8,-2.3383373015661846e-9,-6.056658463649e-8,-9.41838385060123e-10,-2.176004265663778e-8,9.601706096873386e-10,2.218358652328334e-8,2.4775965723478066e-9,6.417361220201201e-8,2.774252605419747e-9,9.717964388755718e-8,1.3009872068536765e-9,1.1542026356892165e-7,-2.0265045197476184e-9,1.153803879105908e-7,-6.7495498079495064e-9,9.647719423355738e-8,-1.1913705577626388e-8,6.124944462726489e-8,-1.623966028319046e-8,1.502435864608742e-8,-1.8389696876397466e-8,-3.4896281420060404e-8,-1.7278706465617688e-8,-8.040503729489501e-8,-1.2363916113145024e-8,-1.1392285870215346e-7,-3.8492862231009894e-9,-1.2967566931365582e-7,7.248555089489628e-9,-1.2469702426187723e-7,1.920039238711979e-8,-9.9380230267343e-8,2.98255180553042e-8,-5.747872222627848e-8,3.68760453284267e-8,-5.544654957390094e-9,3.8477701025385613e-8,4.810972953350756e-8,3.3544857558354124e-8,9.4760721935927e-8,2.2083437301034792e-8,1.2670979288031958e-7,5.314396478439676e-9,1.3856883640528395e-7,-1.442367381088161e-8,1.2817720573821134e-7,-3.3992773040836255e-8,9.6993083786856e-8,-4.995281699393672e-8,4.988867274846598e-8,-5.91591415854964e-8,-5.620970799924407e-9,-5.9357120107961236e-8,-6.059254786805468e-8,-4.9664652834735534e-8,-1.0611310585773026e-7,-3.084448252366201e-8,-1.3476119420374744e-7,-5.303653960453403e-9,-1.4182997176703793e-7,2.3200103171916453e-8,-1.26107053688429e-7,5.0111530924823455e-8,-9.008256540710136e-8,7.080907948875392e-8,-3.954905736236469e-8,8.139625862213506e-8,1.7340529012699335e-8,7.941753921159034e-8,7.14021481940108e-8,6.436970778622708e-8,1.1391774989988335e-7,3.790681546433916e-8,1.3805393450638803e-7,3.6889740151480055e-9,1.399694014025954e-7,-3.312028695745539e-8,1.1943076572151767e-7,-6.66380657321497e-8,7.98368589016718e-8,-9.120827826336608e-8,2.7651497092051613e-8,-1.023566014168864e-7,-2.8660446460548883e-8,-9.759249763874323e-8,-8.001645568356253e-8,-7.691699011047604e-8,-1.1819189182915579e-7,-4.293638866670335e-8,-1.3714550561871874e-7,-5.487733045761445e-10,-1.3398140197296016e-7,4.376378370807288e-8,-1.0939224637240841e-7,8.29331057161653e-8,-6.751718473196888e-8,1.1043897529816604e-7,-1.5242454409758466e-8,1.2139599903093767e-7,3.8936597945848916e-8,1.1341180794488537e-7,8.630295411649058e-8,8.706772547384389e-8,1.193270264820967e-7,4.592902058675463e-8,1.3286879152474285e-7,-3.930692660247814e-9,1.2498067292199266e-7,-5.482997877948037e-8,9.718515769918668e-8,-9.866953121218103e-8,5.418847948135408e-8,-1.28227270579373e-7,3.083594934949474e-9,-1.3834954870617366e-7,-4.782260987212794e-8,-1.26842650161052e-7,-9.036366321879541e-8,-9.491133567962606e-8,-1.1782764630652309e-7,-4.70599381685588e-8,-1.2601940113654564e-7,9.539609990838471e-9,-1.1390253007448337e-7,6.612728498112119e-8,-8.372249027388534e-8,1.1371697183903962e-7,-4.059829450397956e-8,1.4452912466822454e-7,8.344371416058038e-9,1.5326465074849693e-7,5.515137502243306e-8,1.3801113141198584e-7,9.23356182624957e-8,1.0062770883223493e-7,1.1407795597051518e-7,4.653392693398928e-8,1.1714049463762422e-7,-1.6075322406550185e-8,1.0134900918501444e-7,-7.747640040633996e-8,6.957183984468429e-8,-1.2793385906206822e-7,2.7206713326677345e-8,-1.5925049012821546e-7,-1.8734009898935255e-8,-1.6610192687949166e-7,-6.078472836179571e-8,-1.4693922878450394e-7,-9.224238795013662e-8,-1.0430580488218766e-7,-1.0823826812611514e-7,-4.45076224764307e-8,-1.0649359438730244e-7,2.3321303999068732e-8,-8.764186532062013e-8,8.862036082746272e-8,-5.5072241877951456e-8,1.410538743584766e-7,-1.4327970809802082e-8,1.7215407410731132e-7,2.783478691981145e-8,1.7669236740402994e-7,6.45675726218542e-8,1.5355695381913392e-7,9.00446011087297e-8,1.0598996880162304e-7,1.0038979780802038e-7,4.1135439943218444e-8,9.426747737961705e-8,-3.103694723449735e-8,7.304740989866332e-8,-9.927160249389999e-8,4.052454016800766e-8,-1.5279019294212048e-7,2.248076613753369e-9,-1.8300160320450232e-7,-3.542269766398931e-8,-1.8488543673811364e-7,-6.637513649820903e-8,-1.578263635337862e-7,-8.573766052677456e-8,-1.0576047060339988e-7,-9.064876138609179e-8,-3.660183267584216e-8,-8.067998180649738e-8,3.896485267773642e-8,-5.78489469660326e-8,1.091430661404047e-7,-2.6230463134879756e-8,1.6287407333948067e-7,8.762894410097033e-9,1.9158729003265762e-7,4.1304232922811934e-8,1.9057252131915448e-7,6.612271619133026e-8,1.597534549091506e-7,7.93595944514891e-8,1.0373634040661273e-7,7.916997901702416e-8,3.1118556620413074e-8,6.597691282195228e-8,-4.683636234403821e-8,4.234251704815506e-8,-1.1795428633831762e-7,1.2487103795422172e-8,-1.7106017935475393e-7,-1.8456139727618392e-8,-1.9774194015553803e-7,-4.5320295072315275e-8,-1.936883222697361e-7,-6.376741623626003e-8,-1.5938736908083229e-7,-7.099095000739908e-8,-1.0007260442534971e-7,-6.614403957883042e-8,-2.4920090879732015e-8,-5.042738848715089e-8,5.4377210290113e-8,-2.6831063593135696e-8,1.2543733873826568e-7,4.190550129123949e-10,1.7713182387524284e-7,2.660926767816818e-8,2.0133609268668806e-7,4.734960157293244e-8,1.9421217700710258e-7,5.9309229527571006e-8,1.568193965795217e-7,6.075319447518268e-8,9.495667541159492e-8,5.1793612954043056e-8,1.8258184297792468e-8,3.4318482278195006e-8,-6.131359242544931e-8,1.1618418227499205e-8,-1.3134261678260373e-7,-1.2217928002655754e-8,-1.8090540265802701e-7,-3.3030893575869413e-8,-2.0228301877978083e-7,-4.731122515977404e-8,-1.9216858504478296e-7,-5.279125758761438e-8,-1.5218093096791563e-7,-4.880642023863402e-8,-8.86045441461647e-8,-3.636942480511607e-8,-1.1396908305982834e-8,-1.794975901248108e-8,6.737802493717027e-8,2.9967353043502953e-9,1.354440257728129e-7,2.2661327037099e-8,1.8223443021270214e-7,3.756455413395088e-8,2.0054038429861976e-7,4.51666153367114e-8,1.8762639797387237e-7,4.429934108429734e-8,1.4564022876584204e-7,3.534657722070733e-8,8.125561379301871e-8,2.0145094481449632e-8,4.6065018466379115e-9,1.627221024591563e-9,-7.23151174497616e-8,-1.672687943710116e-8,-1.3754423378031788e-7,-3.1527999766467474e-8,-1.8101286514138337e-7,-4.0092068331887276e-8,-1.9611144352893461e-7,-4.0920408395095365e-8,-1.8069772522721905e-7,-3.3960340317662485e-8,-1.373995388576077e-7,-2.060184201013726e-8,-7.316809558233217e-8,-3.4121434566714015e-9,1.8424062275812503e-9,1.4342575127557211e-8,7.58872715778125e-8,2.930133291556558e-8,1.3747893490290153e-7,3.862820463496064e-8,1.771775828274258e-7,4.053629965028449e-8,1.8904509602180042e-7,3.4620917688243935e-8,1.7153544717984914e-7,2.1940055106028922e-8,1.2769024237968551e-7,4.8280348607931955e-9,6.461311841121642e-8,-1.3525756514809473e-8,-7.684699099286263e-9,-2.9658723477155036e-8,-7.788023737020922e-8,-4.047191026756991e-8,-1.3512089935829863e-7,-4.380772722356596e-8,-1.7071022284653736e-7,-3.8862765450176084e-8,-1.794353323703035e-7,-2.6359270322018347e-8,-1.6033061456255382e-7,-8.440215637506299e-9,-1.1676839051233401e-7,1.1695799884137159e-8,-5.586884554986682e-8,3.035879103663319e-8,1.2666705906383413e-8,4.4031899903984595e-8,7.810783131390053e-8,5.001792047210074e-8,1.3038322776992572e-7,4.6951285526120046e-8,1.6163825478088256e-7,3.50808093685373e-8,1.6741982733492478e-7,1.6268021596488325e-8,1.4730845521171432e-7,-6.305238997583729e-9,1.0490954593933566e-7,-2.867316517551899e-8,4.721489688108704e-8,-4.677700715660649e-8,-1.6551972237266455e-8,-5.7190277402696665e-8,-7.641661170509906e-8,-5.775084588321988e-8,-1.232217812230374e-7,-4.798507191594581e-8,-1.500348929539541e-7,-2.9243762966757458e-8,-1.531775808416569e-7,-4.518951435272811e-9,-1.327244092408364e-7,2.2034459590258848e-8,-9.240281428901653e-8,4.5795644609825104e-8,-3.8925911383103085e-8,6.247649508850373e-8,1.9126481731746026e-8,6.888492265488821e-8,7.268964452578075e-8,6.35182573205384e-8,1.1363691498900153e-7,4.687864318952961e-8,1.360183716769825e-7,2.144827604411148e-8,1.3692603317849716e-7,-8.680026475360592e-9,1.1685883549716891e-7,-3.846272988994315e-8,7.954528058462529e-8,-6.274878217027435e-8,3.126580239154464e-8,-7.716540295632512e-8,-2.020383149670124e-8,-7.889514108683215e-8,-6.68497079914232e-8,-6.720723888520297e-8,-1.0167435959829163e-7,-4.3645762559663126e-8,-1.1975075153713988e-7,-1.1832858248794764e-8,-1.1891678042275089e-7,2.308856750232735e-8,-1.0001188144315165e-7,5.528772462071174e-8,-6.663564988684811e-8,7.921842382074828e-8,-2.4482059046704308e-8,9.056988403699506e-8,1.9629631253792468e-8,8.703290887979165e-8,5.8861960638978417e-8,6.874705604786868e-8,8.742540558159817e-8,3.8344889929931014e-8,1.0143502748860556e-7,5.755360632520024e-10,9.94316948776941e-8,-3.843843643380751e-8,8.249778460367452e-8,-7.219536968250395e-8,5.3968339130960885e-8,-9.489680508067977e-8,1.8800008660946332e-8,-1.0243961412470526e-7,-1.728548326696e-8,-9.314704385587902e-8,-4.873542280847687e-8,-6.811089292568795e-8,-7.102593002628055e-8,-3.107823687287237e-8,-8.131225115448615e-8,1.2109261149362283e-8,-7.877756758034593e-8,5.4438466179362877e-8,-6.463856294658399e-8,8.88658746589499e-8,-4.182719237633137e-8,1.0948871675964256e-7,-1.441798502810343e-8,1.1255299625645421e-7,1.309215491573923e-8,9.71264810800676e-8,3.652399271913964e-8,6.531689678013208e-8,5.2654801407925333e-8,2.1990270937521927e-8,5.965749494407646e-8,-2.597437287477078e-8,5.7280796994518823e-8,-7.077982644432268e-8,4.6758000138424904e-8,-1.0498003177872306e-7,3.0479803569960495e-8,-1.2271735272406659e-7,1.1502635288707097e-8,-1.207218360832485e-7,-7.012232572378707e-9,-9.89030155551518e-8,-2.232631501897231e-8,-6.042829170382902e-8,-3.253148150861307e-8,-1.126556270492074e-8,-3.677537208091053e-8,4.0744591700558885e-8,-3.5281200183590045e-8,8.714194166259404e-8,-2.9175275528814382e-8,1.2022522355437104e-7,-2.0171768255750067e-8,1.3433009371510707e-7,-1.0184898258103203e-8,1.2679538485826924e-7,-9.48340073136933e-10,9.845307857858643e-8,6.285233666858403e-9,5.355287413522092e-8,1.0912705405985434e-8,-8.745786317376769e-10,1.2994831877222168e-8,-5.6121411518006425e-8,1.3126058462376022e-8,-1.0319883614329228e-7,1.2198796639495413e-8,-1.3430187095764268e-7,1.1121471743535949e-8,-1.4410350956950424e-7,1.0556746588008536e-8,-1.306638210962774e-7,1.0739150013705512e-8,-9.579873250231685e-8,1.1414194034387037e-8,-4.4841215185442707e-8,1.1911470920722422e-8,1.4175789431192243e-8,1.1336403815676022e-8,7.178886107794824e-8,8.836241960352709e-9,1.186250813134393e-7,3.879819132635021e-9,1.4692922434278444e-7,-3.515509661156102e-9,1.5184838275672519e-7,-1.2668508020396985e-8,1.3226078010575293e-7,-2.226547479722285e-8,9.100791231730909e-8,-3.054695696391718e-8,3.4484436639559135e-8,-3.5622434779725154e-8,-2.835523815747365e-8,-3.585806140904424e-8,-8.741915280552348e-8,-3.0262789607604645e-8,-1.331023611328419e-7,-1.8791553202390787e-8,-1.5785127516210196e-7,-2.495440298844187e-9,-1.5741350978260016e-7,1.6527152979506354e-8,-1.315653577194098e-7,3.5388893593335524e-8,-8.419365826739522e-8,5.085162513296382e-8,-2.2711049041390652e-8,5.987803319840168e-8,4.3106652469759865e-8,6.020332676826001e-8,1.0267898886695548e-7,5.082233300868211e-8,1.4632553302362794e-7,3.229512657298983e-8,1.6684182924109336e-7,6.800249252592039e-9,1.6068939601154852e-7,-2.209532112829038e-8,1.2860309084317123e-7,-4.9929113288271765e-8,7.551252423354526e-8,-7.203408358691377e-8,9.782965548765787e-9,-8.431845088807677e-8,-5.810602488054428e-8,-8.400549944553859e-8,-1.1723588499990001e-7,-7.020152992254225e-8,-1.5800895880602184e-7,-4.4182222325162e-8,-1.737094663667449e-7,-9.329681915914989e-9,-1.6161074256615393e-7,2.929103004589706e-8,-1.2344602851044328e-7,6.566628485416004e-8,-6.51622968916854e-8,9.377239962304884e-8,4.008910536867916e-9,1.0857223031734975e-7,7.30174321006416e-8,1.0690452256767458e-7,1.3076454763449874e-7,8.811070983938407e-8,1.6789185508514493e-7,5.428115912309295e-8,1.7830146248343226e-7,1.0058755606223713e-8,1.6015852111195272e-7,-3.7988669987498724e-8,1.1621219186963572e-7,-8.234437132159655e-8,5.337874142696819e-8,-1.1572207370136312e-7,-1.8349950892115885e-8,-1.3226288331225078e-7,-8.749950097808323e-8,-1.2855345232765103e-7,-1.429532971997105e-7,-1.0428958319153026e-7,-1.757441623340128e-7,-6.246106920571037e-8,-1.8050761241283908e-7,-9.007450785247784e-9,-1.5636099703897344e-7,4.8020453391472984e-8,-1.0706388309245085e-7,9.967530445464945e-8,-4.043157275646081e-8,1.3752170957559429e-7,3.290755046236882e-8,1.5501495909120422e-7,1.0121155469278165e-7,1.4862459352116275e-7,1.535100864202832e-7,1.18511877644778e-7,1.8137095025849703e-7,6.863422186142998e-8,1.8026273096438672e-7,6.241009486984694e-9,1.502937152508821e-7,-5.9178759670430736e-8,9.6205269528582e-8,-1.1734320537470921e-7,2.661998621533712e-8,-1.587992954910078e-7,-4.7336740749415185e-8,-1.7646118521952303e-7,-1.1382016396055405e-7,-1.6681565284670796e-7,-1.621684049268879e-7,-1.305898820191942e-7,-1.8461685158399632e-7,-7.275829716490989e-8,-1.7754862824403972e-7,-1.8693526726565324e-9,-1.4207904541763128e-7,7.12196168706214e-8,-8.387929995024024e-8,1.350101968000672e-7,-1.226757717631699e-8,1.791784427496168e-7,6.128705365426868e-8,1.9624867775291932e-7,1.2500586876740272e-7,1.8285521719008102e-7,1.6869270780262013e-7,1.4037811979505932e-7,1.8536968582338886e-7,7.483755837256467e-8,1.7239531757695659e-7,-3.954397698180401e-9,1.3188457614887739e-7,-8.386642491586827e-8,7.036361182599649e-8,-1.523217889598527e-7,-2.283826461280114e-9,-1.982851216553172e-7,-7.440858951213158e-8,-2.140455137578101e-7,-1.3446904745251231e-7,-1.9650781268865103e-7,-1.7288331832787662e-7,-1.4777623391637462e-7,-1.8356305986344523e-7,-7.492307929624076e-8,-1.648810297183445e-7,1.1036519254048471e-8,-1.199205286184224e-7,9.681468782218872e-8,-5.59659980581273e-8,1.689130897375435e-7,1.6679663872309902e-8,2.1575439745902258e-7,8.635897330577791e-8,2.2954650091833173e-7,1.419358568455209e-7,2.0757832430717826e-7,1.745807907127528e-7,1.5273110420821467e-7,1.791784427496168e-7,7.311207639304484e-8,1.5513171547354432e-7,-1.9145318219671026e-8,1.064367722847237e-7,-1.0973732855745766e-7,4.1019006857823115e-8,-1.8441545535097248e-7,-3.0559448305211845e-8,-2.3123673997815786e-7,-9.680942980594409e-8,-2.424790750410466e-7,-1.4716398766267957e-7,-2.15915846979442e-7,-1.7366949123243103e-7,-1.5523812635365175e-7,-1.7224643045210541e-7,-6.954682874038554e-8,-1.4331929776290053e-7,2.801593268486613e-8,-9.171864689960785e-8,1.2229020285303704e-7,-2.5874314246721042e-8,1.9846278576096665e-7,4.356334670774231e-8,2.4440464585495647e-7,1.054514413567631e-7,2.5260820279982e-7,1.4994745356489148e-7,2.214165988334571e-7,1.7008042618726904e-7,1.5534149611085013e-7,1.6284681692013692e-7,6.44118358650303e-8,1.2965963946953707e-7,-3.735416953531967e-8,7.608232976963336e-8,-1.3411838040156e-7,1.0896656021941453e-8,-2.1069845956844802e-7,-5.533853197903227e-8,-2.5495873501313326e-7,-1.1200258853705236e-7,-2.5974125605898735e-7,-1.5012123810720368e-7,-2.2402615229566436e-7,-1.6379334510929766e-7,-1.5313399615024537e-7,-1.5110805406948202e-7,-5.793131663267559e-8,-1.1440880598456715e-7,4.684170562541112e-8,-5.986959195070085e-8,1.4486286659121106e-7,3.543078719303594e-9,2.207816862664913e-7,6.554610365583358e-8,2.626331934152404e-7,1.1621221318591779e-7,2.637312945807935e-7,1.4756460586795583e-7,2.2374074148956424e-7,1.548379913174358e-7,1.487551344325766e-7,1.372055606907452e-7,5.036477546127571e-8,9.785939880657679e-8,-5.614236897599767e-8,4.344204285189335e-8,-1.5416648579957837e-7,-1.707385877125489e-8,-2.2839421376374958e-7,-7.386714173662767e-8,-2.672012158200232e-7,-1.1786644904532295e-7,-2.6448051926308835e-7,-1.4220435673450993e-7,-2.2060758908537537e-7,-1.4329432929116592e-7,-1.423892257435e-7,-1.2135944871261017e-7,-4.200282432975655e-8,-8.033579490529519e-8,6.490785153800971e-8,-2.7174962724529905e-8,1.6168131367066962e-7,2.9331772566365544e-8,2.3324616904574214e-7,8.000931472906814e-8,2.684793400931085e-7,1.1679284739329887e-7,2.619423185024061e-7,1.3401688647718402e-7,2.1472467892635905e-7,1.2929177728437935e-7,1.3426242162495328e-7,1.0383159576576872e-7,3.3161711598950205e-8,6.218888870535011e-8,-7.2784388294167e-8,1.1450310921645723e-8,-1.6707475936073024e-7,-3.9966550957615254e-8,-2.350818988361425e-7,-8.37119387142593e-8,-2.6633134098119626e-7,-1.1286404344446055e-7,-2.5612271770114603e-7,-1.2302950835874071e-7,-2.062390649371082e-7,-1.1300813440584534e-7,-1.2463814869079215e-7,-8.492092717915511e-8,-2.4177921886803233e-8,-4.378986773190263e-8,7.941886792650621e-8,3.3493563478259603e-9,1.7003641517021606e-7,4.864789104885858e-8,2.3368514234789473e-7,8.475183221889893e-8,2.606714133435162e-7,1.0600088984347167e-7,2.47080549797829e-7,1.093205383995155e-7,1.9534485318217776e-7,9.466675976455008e-8,1.1381365538909449e-7,6.495940851891646e-8,1.540166749691707e-8,2.5524627744744066e-8,-8.446616561741394e-8,-1.6848247241796344e-8,-1.7028382615080773e-7,-5.507182265773736e-8,-2.2888355033501284e-7,-8.29474018360088e-8,-2.5146613324977807e-7,-9.61746167149613e-8,-2.3492745526709768e-7,-9.30190964254507e-8,-1.8228004705633793e-7,-7.453374450960837e-8,-1.0211371659352153e-7,-4.430629019225307e-8,-7.190720907601644e-9,-7.786582045810064e-9,8.7595566355958e-8,2.868361548280518e-8,1.6756843024268164e-7,5.8966605820387485e-8,2.2055249360164453e-7,7.816283442707572e-8,2.387361348610284e-7,8.340805379702942e-8,2.1982599207603926e-7,7.430342918723909e-8,1.6732249719098036e-7,5.291352067615662e-8,8.988544664134679e-8,2.3342494159805938e-8,-9.657696864451282e-11,-9.029974989971379e-9,-8.849696087054326e-8,-3.851283736366895e-8,-1.6168071681477159e-7,-6.009787512084586e-8,-2.086184167637839e-7,-7.031114535038796e-8,-2.2255642306845402e-7,-6.777638361654681e-8,-2.0198783090563666e-7,-5.339874320497984e-8,-1.5078565240855824e-7,-3.0144647666929814e-8,-7.74920465573814e-8,-2.4640200990688754e-9,6.107484296080656e-9,2.4536632281524362e-8,8.688752473062777e-8,4.6019223987059377e-8,1.5245490203597e-7,5.827331506225164e-8,1.930607993472222e-7,5.9356413117939155e-8,2.0305571979406523e-7,4.9406320812295235e-8,1.8167025928050862e-7,3.057391495531192e-8,1.3301294643497386e-7,6.593907642127306e-9,6.530615337396739e-8,-1.7924634221344604e-8,-1.0502304803594598e-8,-3.8357740095307236e-8,-8.251703320638626e-8,-5.09184445718347e-8,-1.3977266632991814e-7,-5.334685226898728e-8,-1.7391343476447219e-7,-4.531527508788713e-8,-1.8041541238744685e-7,-2.847492908131244e-8,-1.5917244411411957e-7,-6.137511832093878e-9,-1.1437219882282079e-7,1.7349023551105347e-8,-5.37032178726804e-8,3.741698151316086e-8,1.296049845223024e-8,5.013745862925134e-8,7.517348876717733e-8,5.296352867389942e-8,1.2356650813671877e-7,4.5221725031296955e-8,1.512654534963076e-7,2.825746747703306e-8,1.548669530393454e-7,5.2072621770093974e-9,1.3483074212672364e-7,-1.9566755327105056e-8,9.524914901248849e-8,-4.127851127577742e-8,4.305459810893808e-8,-5.561204829973576e-8,-1.3186848946133978e-8,-5.95453570895188e-8,-6.468775382018066e-8,-5.194998209390178e-8,-1.0382181869772467e-7,-3.385292757229763e-8,-1.252602146450954e-7,-8.305409693321053e-9,-1.266889739781618e-7,2.01266487920293e-8,-1.0901331393142755e-7,4.616561000148067e-8,-7.604103302583098e-8,6.477917224856355e-8,-3.372076662344625e-8,7.212108243948023e-8,1.0917915460595395e-8,6.628347648529598e-8,5.093718868920405e-8,4.771956696458801e-8,8.057844524955726e-8,1.924885140169863e-8,9.609434670210248e-8,-1.4367117273650365e-8,9.62030739515285e-8,-4.7215870324635034e-8,8.211441127059516e-8,-7.326191564516193e-8,5.714957751479233e-8,-8.743310786485381e-8,2.6044631340482738e-8,-8.657399064304627e-8,-5.926722224103287e-9,-7.00910334217042e-8,-3.384931801519997e-8,-4.016405341644713e-8,-5.3931231036585814e-8,-1.4717116414431075e-9,-6.401522512078373e-8,3.953713800797232e-8,-6.376927785822772e-8,7.571323124011542e-8,-5.454768370327656e-8,1.0044124110208941e-7,-3.897437750310928e-8,1.0882675383072637e-7,-2.034499857472838e-8,9.862651495495811e-8,-1.9718697785719996e-9,7.074959285091609e-8,1.3404161336438847e-8,2.9227308573354094e-8,2.4029375822465227e-8,-1.9362573766557034e-8,2.931786724502672e-8,-6.693563392445867e-8,2.9780522936562193e-8,-1.0524054516736214e-7,2.673979793144099e-8,-1.2727836917747481e-7,2.1905208313910407e-8,-1.2855795716859575e-7,1.6910888689380954e-8,-1.0796576077609643e-7,1.2917411140733748e-8,-6.808754449139087e-8,1.0364715308242012e-8,-1.4907442391631776e-8,8.924573080548726e-9,4.308567014277287e-8,7.658934819687602e-9,9.625129138157718e-8,5.343167686078232e-9,1.3539460042011342e-7,8.767813142185332e-10,1.5334450154114165e-7,-6.316128065009252e-9,1.4624281163833075e-7,-1.5995510693755932e-8,1.1431623647695233e-7,-2.7000339741789503e-8,6.198324342676642e-8,-3.7368934613368765e-8,-2.7429507554188604e-9,-4.467732850343964e-8,-6.947900033082988e-8,-4.65375258329459e-8,-1.271353227139116e-7,-4.11612219863855e-8,-1.657535761978579e-7,-2.787074038224091e-8,-1.7821416520291677e-7,-7.4418835538381245e-9,-1.6152242210409895e-7,1.78118000349059e-8,-1.174446140339569e-7,4.425945121511177e-8,-5.236780964423815e-8,6.74662032906781e-8,2.361669260153576e-8,8.292775532936503e-8,9.827665792272455e-8,8.690673070077537e-8,1.5920657858714549e-7,7.721943973137968e-8,1.9588374300383293e-7,5.381905054946401e-8,2.01472317939988e-7,1.9046609622819233e-8,1.7406878782821877e-7,-2.252760111787211e-8,1.1716433334640897e-7,-6.468043523000233e-8,3.9226861758834275e-8,-1.0046120735296427e-7,-4.755322891014657e-8,-1.2333094900895958e-7,-1.291692797167343e-7,-1.283278550090472e-7,-1.920576551128761e-7,-1.1305681368867226e-7,-2.2534644017468963e-7,-7.831395976154454e-8,-2.2272135424827866e-7,-2.8210422442498384e-8,-1.835907994518493e-7,3.026283934559615e-8,-1.1333888494391431e-7,8.819482388844335e-8,-2.2601398086408153e-8,1.3610795690510713e-7,7.434063320488349e-8,1.6550283987726289e-7,1.6180867135062726e-7,1.70341195371293e-7,2.2526110399212484e-7,1.482129619034822e-7,2.537052807838336e-7,1.0096973568352041e-7,2.415877418115997e-7,3.468574050202733e-8,1.8983951122208964e-7,-4.1086096302933584e-8,1.0588495058527769e-7,-1.1468043936702088e-7,2.5876758513732057e-9,-1.7411272779099818e-7,-1.0371854131108194e-7,-2.0902572828163102e-7,-1.9581293031478708e-7,-2.124729689967353e-7,-2.5837624662017333e-7,-1.8223526865313033e-7,-2.805332712796371e-7,-1.2142896821387694e-7,-2.5772834533199784e-7,-3.826910699444852e-8,-1.9261226213984628e-7,5.501317446032772e-8,-9.477400908508571e-8,1.4396246683645586e-7,2.0663790678554506e-8,2.141380548437155e-7,1.353819669702716e-7,2.5345423182443483e-7,2.3077254240888578e-7,2.542422521401022e-7,2.909561942487926e-7,2.1468599697982427e-7,3.054196326957026e-7,1.3936859488694608e-7,2.708362671910436e-7,3.880498411490407e-8,1.9175661236658925e-7,-7.20061592573984e-8,8.003340923323776e-8,-1.7581527345100767e-7,-4.695015576317019e-8,-2.5569300987626775e-7,-1.6888239429135865e-7,-2.9772394327665097e-7,-2.6572107003630663e-7,-2.942533399163949e-7,-3.216046877696499e-7,-2.4395217224082444e-7,-3.2649120385030983e-7,-1.5415402287999314e-7,-2.794814122353273e-7,-3.692490579965124e-8,-1.8526327494328143e-7,9.23838996413906e-8,-5.7667513431169937e-8,2.1058662014183938e-7,7.687667391564901e-8,2.963788858778571e-7,2.0058980965131923e-7,3.4519857194936776e-7,3.073854202284565e-7,3.573021274405619e-7,3.7416907616716344e-7,3.1087432716958574e-7,3.706501559008757e-7,1.8159762760205922e-7,2.960990173050959e-7,3.2668427962789792e-9,1.7206878055731067e-7,-1.4935011449779267e-7,2.215257310922425e-8,-2.558177527589578e-7,-1.244094391950057e-7,-3.4790230074577266e-7,-2.48221766696588e-7,-4.0844787463356624e-7,-3.424703720611433e-7,-3.83691684646692e-7,-3.784057298616972e-7,-3.049817678402178e-7,-3.52345750798122e-7,-2.4648699081808445e-7,-3.195747524387116e-7,-1.5783344053943438e-7,-2.518800101825036e-7,3.3997068271673925e-8,-6.30552534630624e-8,2.2121484732906538e-7,1.4892148669787275e-7,3.141547040286241e-7,2.5954253146664996e-7,4.2449011061762576e-7,3.912932697858196e-7,5.711276571673807e-7,5.997012522129808e-7,5.73685213112185e-7,6.688356961603859e-7,3.7676232977901236e-7,5.146665671418305e-7,1.2447100061763194e-7,2.9143745905457763e-7,-7.52123909819602e-8,5.3134645128238844e-8,-2.977363067202532e-7,-2.6843949285648705e-7,-6.520573947454977e-7,-6.28192310614395e-7,-9.370967291033594e-7,-8.570544878239161e-7,-8.548654477635864e-7,-9.001176977108116e-7,-5.94005030052358e-7,-8.865962399795535e-7,-4.7458777885367454e-7,-8.468994110444328e-7,-3.512149930884334e-7,-6.936784302524757e-7,-8.961339403867896e-8,-4.980943231203128e-7,1.230076236424793e-7,-3.2142719419425703e-7,2.4483753691129095e-7,-8.036778353925911e-8,3.2601849397906335e-7,1.5931499319776776e-7,2.634457132444368e-7,3.075739698488178e-7,1.0006087336478231e-7,4.02592405635005e-7,-1.3917727414991532e-8,2.7964540549874073e-7,-1.6491451049205352e-7,-1.252113293048751e-7,-4.322458266869944e-7,-3.4416802918713074e-7,-5.973930683467188e-7,-1.608441806411065e-7,-5.607481625702349e-7,-9.189005822918261e-8,-6.423296667890099e-7,-4.1814701035036705e-7,-8.845384513733734e-7,-6.042727704880235e-7,-6.649395345448283e-7,-1.4977459272813576e-7,2.076261296224402e-7,6.342019105431973e-7,9.887080523185432e-7,0.0000011756283129216172,0.0000012178294355180697,0.0000014045423313291394,0.0000012169082310720114,0.0000014515543398374575,0.0000013197013686294667,0.0000013726862562180031,0.0000014580078868675628,0.0000013222773986854008,0.0000011356053164490731,0.0000010844875077964389,1.0777938541650656e-7,2.2619612138896628e-7,-7.482602768504876e-7,-7.17060970600869e-7,-6.657965059275739e-7,-8.349057907253155e-7,-3.209282795069157e-7,-3.6607696074497653e-7,-3.680989948406932e-7,-1.1575120595352928e-7,-4.95609242534556e-7,-3.544887476891745e-7,-5.947504178038798e-7,-8.185001547644788e-7,-7.568756359432882e-7,-9.477171829530562e-7,-7.301545679183619e-7,-6.806443479945301e-7,-6.662963869530358e-7,-7.349966608671821e-7,-9.223255688084464e-7,-0.0000011680775742206606,-9.623134928915533e-7,-0.0000011299755442450987,-5.716998430216336e-8,-4.1727275856828783e-7,0.0000012798651596312993,4.575892944558291e-7,0.0000017962800029636128,0.0000010811531865329016,0.0000012475534276745748,0.0000010263622698403196,6.50961169412767e-7,3.0017449148544983e-7,6.232056648514117e-7,-2.1072614231343323e-7,5.681872607965488e-7,-1.0082136014943899e-7,5.6389637848042184e-8,-3.821854477337183e-8,-1.9356215830157453e-7,-8.707064580448787e-8,3.1259128263627645e-7,3.307707174826646e-7,6.644752374995733e-7,5.657690280713723e-7,2.2780943709221901e-7,-9.992874083764036e-8,-3.080589294768288e-8,-4.176954746526462e-7,3.027119532816869e-7,2.994362375829951e-7,2.1587086962426838e-7,4.623799156888708e-7,-6.439171329475357e-8,-1.8978136040459503e-7,6.838890840299428e-7,1.823492823405104e-7,0.0000016455330751341535,0.000001461430429117172,0.0000012464244036891614,0.0000017142567685368704,1.521793251413328e-7,8.734431844459323e-7,-2.2615671468884102e-7,3.06045933484711e-7,-2.8238775939826155e-7,7.30272518012498e-8,-0.00000103277864127449,-6.274767088143562e-7,-0.0000019067788343818393,-0.0000013300996215548366,-0.0000018798998553393176,-0.0000011391654197723255,-0.0000017127154023910407,-0.0000010173259852308547,-0.000002217254632341792,-0.0000019248880107625155,-0.0000020913898879371118,-0.0000021242335606075358,-5.66933863410668e-7,-2.713406956900144e-7,8.740189514355734e-7,0.0000017201797390953288,0.000001283963001696975,0.0000020493916963459924,0.000001458434553569532,0.0000017541703982715262,0.0000023141244582802756,0.0000024709238459763583,0.000003410554882066208,0.0000036500086935120635,0.000002940127160400152,0.0000032614680094411597,9.374844012199901e-7,0.0000014839671393929166,5.367808171286015e-7,0.0000010193630259891506,0.0000026928789793601027,0.000002544775270507671,0.0000042918609324260615,0.000004003791673312662,0.0000036620276659959927,0.000004126029125472996,0.0000026585357773001306,0.0000032682805795047898,0.000002984725369969965,0.000002696561978154932,0.0000035732336982619017,0.0000029659092888323357,0.0000024645387384225614,0.0000024580745048297103,7.03024511494732e-7,8.939995268519851e-7,3.9872708157417946e-7,4.0552660607318103e-7,2.736072133302514e-7,5.195767585064459e-7,-6.794140290367068e-7,-3.420753387217701e-7,-8.344152320205467e-7,-9.72813950284035e-7,-8.701111937625683e-7,-0.0000012382436125335516,-0.0000019544306724128546,-0.0000023187603801488876,-0.000002346559995203279,-0.0000032190364436246455,-0.000002146023462046287,-0.0000034883794342022156,-0.000002175008376070764,-0.0000032290981835103594,-7.618077688675839e-7,-0.0000014997837070040987,3.1260697141988203e-7,-6.726122592226602e-7,-0.0000018081600501318462,-0.0000030780636279814644,-0.0000033705023270158563,-0.0000045586630221805535,-0.0000017679449229035527,-0.0000024891428438422736,-7.876126346673118e-7,-8.457274702777795e-7,-0.000001939183221111307,-0.0000018313490954824374,-0.0000030375533697224455,-0.0000032928546715993434,-0.000002612765911180759,-0.0000027941657663177466,-1.2583780062414007e-7,-1.304837837778905e-7,0.000002071829158012406,0.0000012727984994853614,0.0000010511553227843251,-1.8225119902126607e-7,-8.205987001019821e-7,-6.519076123367995e-7,-5.326791665538622e-7,7.292591703844664e-7,3.8590383155678865e-7,6.530359542011865e-7,8.554245312097919e-8,-2.893132773351681e-7,-0.0000011364130614310852,-3.044409879748855e-7,-0.0000015163764146564063,-2.6364565997027967e-7,2.97657777537097e-7,6.473703706433298e-8,0.000001827797973419365,7.450047974089102e-7,0.0000011695537978084758,8.898541636881419e-7,0.0000016373277276215958,0.00000214285728361574,0.000004091570190212224,0.000004667096163757378,0.000004342218744568527,0.000004851250650972361,0.0000016070987385319313,0.000002105672592733754,-8.746696380512731e-7,-4.304055778447946e-7,-9.53932840275229e-7,-0.000001061122361534217,9.499452744421433e-7,-3.891087771989987e-7,0.0000013530089972846326,-2.494775799277704e-7,-0.0000016349131328752264,-0.00000132011086861894,-0.0000037219176647340646,-0.0000016550230839129654,-0.0000018801339365381864,-5.213034341977618e-7,3.8171768323991273e-7,4.5613657562171284e-7,5.042894031248579e-7,8.237010433731484e-7,3.6334296282802825e-7,8.760717378208938e-7,0.0000012198424883536063,2.7994315132673364e-7,0.000002176149791921489,-5.067900019639637e-7,0.000002342127800147864,-8.856314934746479e-7,0.0000014781663821850088,-0.0000013078295069135493,-3.082652710872935e-7,-0.0000021032362838013796,-0.000002368892637605313,-0.000002730813321250025,-0.0000034160445920861093,-0.0000024211738036683528,-0.0000029086347694828874,-0.000001562975739943795,-0.0000019350463844602928,-0.0000014834488410997437,-0.0000014534834917867556,-0.0000016977220411718008,-0.000001213783093589882,-6.728521384502528e-7,-5.774323881269083e-7,6.11771270087047e-7,9.30576675273187e-7,8.939668418861402e-7,0.0000027284738735033898,0.0000018481326833352796,0.000003407468284422066,0.000004100708338228287,0.000003105833684458048,0.000004962969796906691,0.0000029469849778251955,0.0000037807042190252105,0.000002233268787676934,0.0000031275560559151927,8.682991392561235e-8,0.0000028762378860847093,-0.0000017796860447560903,6.71204247737478e-7,-0.000001924816388054751,-0.0000020046747977175983,-0.0000019394990431464976,-0.000002175224835809786,-0.000002797315119096311,-9.022790550261561e-7,-0.0000029163450108171673,-4.2059861016241484e-7,-0.000002293946636200417,-8.709507710591424e-7,-0.000002271910261697485,-0.000001970868197531672,-0.000001801297685233294,-0.0000029321738566068234,-4.773514774569776e-7,-0.000002368856030443567,5.963245541806828e-8,-3.129603953766491e-7,8.343644140040851e-7,0.000001990498731174739,0.0000029133886982890544,0.0000031243421290128026,0.0000034031081668217666,0.0000025283086415583966,0.0000014670375776404398,0.0000014539837138727307,1.7197021406900603e-7,6.120799866948801e-7,7.339646117543452e-7,-1.7980983102461323e-7,0.00000206096865440486,2.195063188992208e-7,0.0000024490736905136146,9.115740340348566e-7,0.000001012251686915988,-7.794897669555212e-7,2.7506416699907277e-8,-0.0000024963355826912448,4.2787877418959397e-7,-0.0000011866404747706838,-6.74784530474426e-7,1.879491264844546e-7,-0.000002654897798493039,-3.367568979228963e-7,-0.0000023314582904276904,-6.135625199021888e-7,-7.370135222117824e-7,5.8683184533947497e-8,8.916401839087484e-7,0.0000014124995004749508,0.000002813352239172673,0.0000026935217647405807,0.0000029301741051313,0.0000022357385205395985,0.000001388805912938551,0.0000018279930600328953,0.000001394297441947856,0.0000029639745662279893,0.0000018493608422431862,0.0000016150321471286588,3.5992877656099154e-7,-0.000002704265398278949,-0.0000010994443755407701,-0.000004828819328395184,-0.0000013743367617280455,-0.000005059882369096158,-0.000002426815854050801,-0.000006455979018937796,-0.000003922141331713647,-0.000006152407877380028,-0.0000028160709462099476,-0.0000024322541776200524,0.0000010553062566032168,3.0933875905247987e-7,0.0000034888794289145153,4.5727097131020855e-7,0.000002063457259282586,0.0000012197371006550384,-2.0020483049165705e-8,0.0000027144808427692624,2.0493121155595873e-7,0.000002951913074866752,5.058386705059092e-7,0.0000032117116006702418,-0.0000018270185364599456,0.0000033168328172905603,-0.000004480983534449479,4.185849320492707e-7,-0.000003851749170280527,-0.0000025518065740470774,-0.000001983080892387079,-0.0000010308563105354551,-0.000002553476633693208,0.0000011045649443985894,-0.000003134451389996684,-7.845445111342997e-7,-0.0000015007548199719167,-0.000004307928065827582,-7.732348876743345e-7,-0.000005889574822504073,-6.64547201267851e-7,-0.0000036463213746174006,0.0000014335303148982348,9.660944897404988e-7,0.0000030718933885509614,0.000002293975967404549,0.000004045246441819472,4.4917024411006423e-7,0.00000643897510599345,0.000001357122073386563,0.000005552279162657214,0.000003269643684689072,7.760314701954485e-8,9.674236025603022e-7,-0.000001983548600037466,-0.000003136755140076275,6.122683657849848e-7,-0.000005188488557905657,0.0000012430969036358874,-0.000005397181666921824,-0.0000011439969966886565,-0.000004655254997487646,-0.0000034371810215816367,-0.0000031633135222364217,-0.000004312693818064872,-4.008234952834755e-7,-0.0000041818429963313974,0.0000022276451545621967,-0.000004215441549604293,0.0000017187583125632955,-0.0000034841016258724267,6.790135671508324e-7,-0.0000010553040965533,0.0000027846174361911835,2.2888437456458632e-7,0.0000037306460853869794,-3.539622639436857e-7,4.354231180059287e-7,-4.999796487936692e-8,-0.000002381189915467985,3.447065068939992e-7,-0.0000015586550716761849,-0.000001388713258165808,0.0000010854568017748534,-0.0000035118382584187202,0.0000024505141027475474,-0.0000027599924123933306,0.0000012928514934174018,3.452988153185288e-7,9.147630066763668e-7,4.678361165133538e-8,0.0000029235700367280515,-0.000004951607479597442,0.000002497083642083453,-0.0000061007790463918354,-0.000002038024604189559,-8.928830084187211e-7,-0.000005155670351086883,0.0000024980663511087187,-0.0000027834005322802113,0.0000030437615805567475,0.0000020207432953611715,0.000005872328074474353,0.0000023667914774705423,0.000008525761586497538,-0.000001744319888530299,0.000006328796189336572,-0.0000031836743801250122,5.817118449158443e-7,-0.000002760403958745883,-0.0000035621792449092027,-0.000005721019078919198,-0.0000031907666198094375,-0.00000798531254986301,-0.0000031328777367889415,-0.000007057904895191314,-0.000006145962288428564,-0.0000067292294261278585,-0.000004455939688341459,-0.0000036864155390503583,0.0000028903127713419963,0.000003648249503385159,0.0000055629725466133095,0.0000065096337493741885,0.000002313576715096133,0.000003299622903796262,-7.386475431303552e-7,0.0000011346337487339042,-0.000002999298430950148,0.0000012600233958437457,-0.000004482871645450359,0.0000012339850172793376,-0.000005028339273849269,-3.190280040143989e-8,-0.0000065708190959412605,-0.000002137759793185978,-0.000007463507699867478,-0.000002253582579214708,-0.000006214255336089991,-7.441607294822461e-7,-0.000005036740731156897,-8.026523801163421e-7,-0.0000038829380173410755,-0.0000014424687151404214,-0.000002219082944066031,-0.0000020632605810533278,-2.967931038710958e-7,-0.0000033134051591332536,0.000003112592821707949,-0.000001956977257577819,0.000004888274361292133,0.000001258301949746965,0.000002539396518841386,0.0000012315238109295024,0.0000029573939173133112,-3.9749210145600955e-7,0.000007965088116179686,-3.201979836831015e-7,0.000008430645721091423,-5.8561276716773136e-8,0.0000023614306883246172,-6.812036303927016e-7,-0.000002683240154510713,-0.000002635863893374335,-0.000002422957550152205,-0.000004931941020913655,6.032428245816845e-7,-0.000004697282747656573,9.093607786780922e-7,-0.000004782049927598564,-0.0000014407632988877594,-0.0000074239114837837406,-7.167645890149288e-7,-0.000005518366833712207,0.0000017230380535693257,0.0000018537798496254254,3.114373328116926e-7,0.00000475042725156527,-0.000002284921265527373,0.000001991696535696974,-0.0000018958348846354056,0.0000018167754660680657,-4.297342002246296e-7,0.000005431287263490958,-2.5431930339436803e-7,0.000006547586508531822,-0.0000019510043784976006,0.0000021715609364036936,-0.000005160231921763625,-0.000003922723863070132,-0.00000864976755110547,-0.0000069777229327883106,-0.00001098142092814669,-0.000004680390702560544,-0.000009758781743585132,0.0000025811777959461324,-0.0000064820569605217315,0.000006200225016073091,-0.0000068604194893850945,-0.000001493326294621511,-0.000008256333785539027,-0.00000808436016086489,-0.000005116302872920642,-0.0000019706062630575616,-0.0000036357112094265176,9.638056326366495e-7,-0.000006723561000399059,-0.000010043848305940628,-0.000005082299139758106,-0.000017330961782136,0.0000022783654003433185,-0.000010823952834471129,0.000007848390850995202,4.930726049678924e-8,0.000009791321645025164,0.000010214233043370768,0.000006767637387383729,0.000014693004231958184,6.522810167552962e-7,0.00000584156759941834,0.000001056483142747311,-0.0000061027412812109105,0.000005941973086009966,-0.000003799846808760776,0.0000032200546229432803,0.000007958360583870672,-0.000002986663048432092,0.000010821105206559878,-0.0000017829129319579806,5.535289915314934e-7,0.000002348450379940914,-0.000008360521860595327,0.0000030174969651852734,-0.0000035998295970784966,0.000003019416453753365,0.000005565047104028054,0.0000018894493223342579,0.0000023230936676554848,-0.0000034996205613424536,-0.000009694063919596374,-0.000008751128007133957,-0.000014601409930037335,-0.000007933239430713002,-0.000009449898243474308,-0.000002970120021927869,-0.000001097449057851918,-9.543623491481412e-7,0.00000434171261076699,-0.000004111882390134269,6.79061088249e-7,-0.000004496859673963627,-0.000008936454833019525,0.0000034232402867928613,-0.00000979360265773721,0.000009566062544763554,-3.9706472421130456e-7,0.000004433742105902638,0.000003042325033675297,-0.0000030128887829050655,-0.0000029714519769186154,-0.000003187324637110578,-0.000004348108632257208,-0.0000033043913845176576,0.000002110427658408298,-0.000010759151336969808,0.0000043579448174568824,-0.00001797520599211566,-8.999119245345355e-7,-0.000014672106772195548,-0.0000032756438486103434,-0.000003837559233943466,7.575903282486252e-7,0.0000024387154553551227,0.0000023866900846769568,0.00000110207599846035,-3.6517462831398007e-7,8.478238555653661e-7,3.2741291988713783e-7,0.000003992907295469195,0.0000034631802918738686,0.0000039670776459388435,0.000002545645429563592,0.0000018931576732938993,0.000001866697971308895,0.000004212356543575879,0.0000053428002502187155,0.000007821597137080971,0.000004359905233286554,0.000005222345862421207,-0.000005469212737807538,-0.0000021719831693189917,-0.000014025296877662186,-0.000007200156233011512,-0.000013071728062641341,-0.000008534292646800168,-0.00000858534622238949,-0.00000976859428192256,-0.000009199759006150998,-0.000009531527211947832,-0.000010971834853990003,-0.000005088163561595138,-0.000006511634637718089,-0.000001014210738503607,-0.0000015070510244186153,-3.342962884289591e-7,-0.0000030100443382252706,8.833947049424751e-7,-0.000003861757249978837,0.000002195649585701176,0.000002458319613651838,-1.23842681887254e-7,0.00000901737621461507,-0.000003161710992571898,0.000009653032066125888,-0.0000028306942567724036,0.000009005831088870764,9.146923218850134e-9,0.000010942871995212045,0.0000025969563921535155,0.000009264066648029257,0.0000022111939870228525,6.530254381686973e-8,-9.742769861986744e-7,-0.000006675535132671939,-0.000003203911774107837,-0.000003444060439505847,-0.0000023708191747573437,0.000001115949544328032,5.889252463475714e-8,-4.270693807484349e-7,0.000001317725491389865,-0.0000026383902422821848,0.0000010433889201522106,1.8245710009523464e-7,0.0000014354809536598623,0.000004203336175123695,0.000001658768496781704,6.893950512676383e-7,0.0000023416355361405294,-0.000008033041922317352,0.000007374636879831087,-0.000007646023732377216,0.000008112931027426384,5.110888992021501e-7,-0.0000038381062950065825,0.0000019791827980952803,-0.000011966791134909727,8.282994201636029e-8,-0.00000741668827686226,-9.075603202290949e-7,-0.000007570427897007903,-0.000009879624485620297,-0.000012811858141503762,-0.000015449104466824792,-0.000011708017154887784,-0.000005085837074148003,-0.000013832926015311386,-0.000002735949237830937,-0.00001657587563386187,-0.000017186963304993697,-0.0000036362621358421165,-0.000018992810510098934,0.000007856337106204592,-0.0000052445338951656595,0.0000016284280945910723,0.0000011946658560191281,-1.574869372689136e-7,0.0000027136939024785534,0.00000893616470420966,0.000007166011528170202,0.000008467269253742415,0.0000052992504606663715,0.000002132426743628457,-0.0000022123847429611487,0.0000036260689739719965,-0.000002493302417860832,0.0000036938338325853692,0.000005352163043426117,-0.000002791706265270477,0.000009312153451901395,-0.000001128120175053482,0.0000035371313060750253,0.00001125568087445572,-0.0000020741836124216206,0.000012978097402083222,2.395776448338438e-7,-0.000004805451681022532,0.000002885989260903443,-0.00001947880446095951,-1.5120596685846976e-7,-0.000016683519788784906,-0.000007136851309041958,-0.000011193683349119965,-0.000014262281183619052,-0.000010445800398883875,-0.000009302071703132242,-0.000006918155577295693,0.000010121770174009725,-0.0000032635687148285797,0.000020283247067709453,-0.0000016351533531633322,0.000010875545740418602,0.000003298426008768729,7.659355674149992e-7,0.000006105294687586138,-0.0000028685344659606926,0.0000018908134507000796,-0.000006559243047377095,-0.0000019376418549654773,-0.000005664392574544763,-0.000003935931545129279,2.3137319260513323e-7,-0.00000724212304703542,-4.4132727339274425e-7,-0.000008509233339282218,-0.000007299334811250446,-0.000008296520718431566,-0.00000775383068685187,-0.000009888088243314996,-6.643310825893423e-7,-0.000009194859558192547,0.0000012217028597660828,-0.0000027014796160074184,-0.000005580995548370993,0.000005727384177589556,-0.000007603383437526645,0.000008626728231320158,6.461232260335237e-8,0.0000024963719624793157,0.00000464674667455256,-0.0000041028060877579264,2.581153353276022e-7,2.623970658532926e-7,-0.000006722665148117812,0.000012226168109918945,-0.000011507665476528928,0.000016527443222003058,-0.000011158333109051455,0.0000042172537177975755,-0.0000065073568293883,-0.000012681543921644334,-0.0000026030968456325354,-0.000012896824046038091,2.7767310939452727e-7,-7.741859917587135e-7,1.6417632764387236e-7,-2.5143609150291013e-7,-0.000006684098025289131,-0.000011173764505656436,-0.000009685449185781181,-0.000015014666132628918,-0.0000022032122615200933,-0.000009355964721180499,-1.9668235040626314e-7,-0.0000019861199689330533,-0.000008735361916478723,2.1953218265480245e-7,-0.000010307759112038184,-0.000009043864338309504,-7.931564027785498e-7,-0.00001973225880647078,0.0000075621992436936125,-0.000012366611372272018,0.000009776677870831918,0.00000898778216651408,0.000007269413345056819,0.0000215316831599921,0.0000028081617529096548,0.00001463560329284519,0.0000013555286386690568,-8.18370210708963e-7,0.000003976112566306256,-0.000005741392214986263,0.000006475459940702422,0.0000016396104456362082,0.0000032634761737426743)
22 new Array(0.000003079756197621464,-0.000007045533948257798,-0.000005584218797594076,-0.000014535641639668029,-0.000009336939911008812,-0.000009002875231090002,-0.000005781885192845948,0.00000253107532444119,-0.000002653517412909423,0.0000052440332183323335,2.61081083863246e-7,-0.000004180499217909528,-0.000001123604306485504,-0.00001392687681800453,-0.000013051283531240188,-0.000008770004569669254,-0.00002213554034824483,0.000006507052603410557,-0.000012553733540698886,0.000008663148946652655,0.0000043216405174462125,-0.000003365547172506922,0.000009666131518315524,-0.0000036936494325345848,0.000008714309842616785,0.000011746677955670748,0.00001345210421277443,0.000016736059478716925,0.000014740943697688635,0.0000011494975069581415,0.0000037885874917265028,-0.000013101015611027833,-0.0000028683189157163724,-0.000007050486146908952,0.000006106271939643193,0.000007029236712696729,0.000013492718608176801,0.000005168927600607276,0.000007264246960403398,-0.000009827103895077016,-0.00000253483312917524,-0.000016045227312133648,-0.000009338813470094465,-0.000011414746950322296,-0.000013670570297108497,-0.000009242834494216368,-0.000013137173482391518,-0.000009129987120104488,-0.000011171797268616501,-0.0000058122036534768995,-0.000011200489097973332,-0.000004491418167162919,-0.00000646262924419716,-0.000006156059498607647,3.744167713648494e-7,-0.000003603997356549371,-0.0000037651313959941035,9.045492106452002e-7,-0.000011486084076750558,-0.0000013693146456716931,-0.000005032851731812116,-0.000007804138476785738,0.000005861616500624223,-0.000010557558198343031,0.000001025069195748074,-0.000010377891157986596,-0.00001071288625098532,-0.000007369986633420922,-0.000011507268027344253,0.0000020538736862363294,-0.000008385878572880756,0.000009365067853650544,-0.000009505479283689056,0.000005552293714572443,-0.000003929438207705971,0.000001957044105438399,0.000007157846994232386,0.000005618156137643382,0.000008056893420871347,0.000004114352577744285,0.000004444902970135445,-0.0000015129552366488497,0.000009714583939057775,0.0000034346257962170057,0.000016184803826035932,0.000013940394637756981,0.000017429176295991056,0.0000162159776664339,0.000018516269847168587,0.000009985662472900003,0.00001675341081863735,-5.474975068864296e-7,0.000010761052180896513,-0.000010513853339944035,0.000006836903139628703,-0.000015860308849369176,0.0000032462696708535077,-0.000019273027646704577,-0.0000022639590042672353,-0.0000182041221705731,-0.00000642911572867888,-0.000009331621185992844,-0.000010752169146144297,-0.000006398724053724436,-0.00001092150341719389,-0.000013978446986584459,-0.0000019830717974400613,-0.000011518278370203916,-7.679133773308422e-7,0.00000411232394981198,-0.000015622126738890074,0.00001020661602524342,-0.000023934420823934488,0.000003655438376881648,-0.000017996595488511957,0.000005628106464428129,-0.000014397246559383348,0.000023149037588154897,-0.000012422369763953611,0.00003686188574647531,-0.000005164674803381786,0.000029579034162452444,-0.000004279142558516469,0.000011904862731171306,-0.000011054169590352103,0.0000026817510843102355,-0.000007146421012294013,7.300119477804401e-7,0.00000716379463483463,-9.475870115238649e-7,0.000011135504792036954,-0.0000028848432975792093,0.000004333846391091356,-0.00001217265071318252,0.00000525720497535076,-0.000030126569981803186,0.000012700701518042479,-0.000037628265999956056,0.000014790118257224094,-0.00002364890133321751,0.000018574042769614607,-0.000005623247034236556,0.00002481713454471901,-0.0000035716459478862816,0.000016272791981464252,-0.00001041365885612322,7.962548806972336e-7,-0.000004117006483284058,0.000002073728182949708,0.000012243942364875693,0.000011528453796927352,0.000014823122910456732,0.00001140338645200245,0.000006756795755791245,0.000006846646101621445,0.000009838297046371736,0.0000024178214061976178,0.000019338038327987306,-0.0000035010277770197717,0.000020548633983707987,-0.00000739722554499167,0.000016951227735262364,-0.000011693926353473216,0.00001124812479247339,-0.000018294836991117336,4.6700102984686964e-7,-0.000020315797883085907,-0.00001102216265280731,-0.000019213801351725124,-0.000017865449990495108,-0.000017930700778379105,-0.00001534548937343061,-0.000010813826520461589,-0.000003645355718617793,-0.000004975350748281926,0.0000019148487808706705,-0.000009077783943212125,-0.000004406498646858381,-0.000008117423021758441,-0.000006159430995467119,0.0000044337293729768135,-0.0000020885263438685797,0.00001081783830159111,-0.0000062843064370099455,0.000009586233318259474,-0.000010778067007777281,0.000013238699466455728,-0.0000024827570541674504,0.000012394535588100553,0.000008359386811207514,-0.0000011964989425905515,0.000011864392945426516,-0.000006844144081696868,0.00001212747156387195,0.000005946681085333694,0.000008978144251159392,0.000013611196663987357,0.0000014777727983528166,0.000004516868557402631,-0.000001135800971496792,-4.0124223232851364e-7,0.000004324659130361397,0.000007783763066981919,0.0000074882691478705965,0.00001351374066871358,0.000005585980943578761,0.000013525607755582314,0.0000072519515015301295,0.00001596198126208037,0.000011330633242323529,0.00001667377546255011,0.000011497910236357711,0.00001142141263699159,0.00001416644317941973,0.0000030732642244402086,0.000019874687495757826,-0.000009063298421096988,0.000012172569768154062,-0.00001685972347331699,-0.000006543353720189771,-0.000007671710591239389,-0.00000897354129847372,0.0000036098872442380525,0.000008662557775096502,-0.000004769496172229992,0.000016347627024515532,-0.000018694472601055168,-0.0000016639005480101332,-0.00001712615448923316,-0.000021529813238885254,-0.00001112355494115036,-0.00001515701660537161,-0.000012410739145707339,0.000004771038675244199,-0.000005557539680012269,0.000004452776920516044,0.00001637774403207004,-0.000011125454875582363,0.000028977285182918422,-0.00000831189208838623,0.000017143711374956183,0.00001176083787868265,0.0000014372878922586096,0.000018619317415868863,-4.095253984814917e-7,0.0000057142856348946225,0.000003475568746580393,-0.0000069119478212087415,0.000007696536158618983,-0.000003389268840692239,0.000012544330274977256,0.000012063308531651273,0.0000075440393629833125,0.00001954874096554704,-0.000004191128937236499,0.000009394925655215047,-0.000002214434289271594,-0.000004688718945544679,0.000007948830898385495,-0.000009118418347497936,0.0000011970444120379398,-0.0000056666431191843,-0.00002026224865403492,-0.0000019875728867191356,-0.00002999846219609026,-0.000003943970114050899,-0.000012564681128424127,-0.000010138632205780596,0.00001746085581544321,-0.000013649312677443959,0.000027959269573329948,-0.000010523734999878798,0.000012849625818489585,0.000001351437390439969,-3.670769785912853e-7,0.00001497308949183207,0.000002791178758343449,0.000012750263522320893,0.000013458100511343218,4.066057215368346e-7,0.00002175646659452468,0.0000032445300348626915,0.00001627408346394077,0.000014102012755756732,3.48547814610356e-7,0.000009687917554401793,0.0000011480459534141119,-4.2791418763954425e-7,0.000019152239474351518,-6.341405196508276e-7,0.000018948061551782303,0.0000036513481518340996,-0.0000062531571529689245,0.000009545680768496823,-0.000024813129130052403,0.000016652278645779006,-0.000018440034182276577,0.000017343440049444325,-3.587248897929385e-7,0.000010243666110909544,0.00000628847419648082,-2.8749840907948965e-7,-0.000003840634690277511,-0.000006959578513487941,-0.000013347347703529522,1.2497545753831218e-7,-0.000008933499884733465,0.000012038509339618031,0.000004157961939199595,0.00000892525349627249,0.000014358175576489884,-0.0000017458401089243125,0.000015531888493569568,0.0000011401114079490071,0.000013105558537063189,0.000012283217984077055,0.000013530539945350029,0.000011530215488164686,0.00001159277690021554,5.350490255295881e-7,0.0000063530819716106635,-6.013257234371849e-7,0.0000031688239232607884,0.000008902071385819,-0.0000030289324968180154,0.0000104135970104835,-0.000009928397048497573,0.000004485893896344351,-0.000005377505658543669,-0.0000013817983699482284,0.0000027258081445324933,-0.00001797814547899179,0.000005427595169749111,-0.00003357703462825157,0.00001153597349912161,-0.000016713764125597663,0.00001749700095388107,0.00001582923869136721,0.000018839591575670056,0.000024307311832671985,0.000028232167096575722,0.000012363442692731041,0.00003313900015200488,4.921504341837135e-7,0.000008201181117328815,-0.000004780452854902251,-0.00002234796374978032,-3.537929842423182e-7,-0.000019479883121675812,0.0000035339492114871973,0.0000019553631318558473,-0.000006310787284746766,0.0000048780952965898905,-0.000016523783415323123,-0.000006488742656074464,-0.00000970436303759925,-0.000006401556220225757,0.0000040938898564490955,-0.0000037819918361492455,0.0000036536346215143567,-0.000015109381820366252,-0.000009658116141508799,-0.000016028870959416963,-0.000012950125892530195,2.9602941253870085e-7,-0.0000048607880671625026,-0.0000029371478831308195,-0.000002008118826779537,-0.000014304634532891214,0.000009825911547522992,0.000006691116141155362,0.00003514895070111379,0.00003057632056879811,0.00003202812513336539,0.0000256546882155817,0.000005390306341723772,0.00002182609387091361,0.000009715551641420461,0.000023998347387532704,0.000029058137442916632,0.000014241700228012633,0.000018586209989734925,0.000014010002814757172,0.0000015582974128847127,0.000022730857381247915,-4.4055727244085574e-7,0.000007286446361831622,-0.000004155114311288344,-0.000015673245798097923,-0.0000013827599332216778,-0.000014323575669550337,0.000014420313164009713,-0.000004594429810822476,0.00001533803515485488,-0.000003257871640016674,-0.0000015057372593219043,-0.000002804571522574406,-0.000008264756615972146,-0.000002011342530749971,-1.9574802934130275e-7,-0.0000025387560071976623,0.0000055548180171172135,-1.6860264295814886e-8,0.0000012650032203964656,0.000004872145836998243,-0.0000017890718027047114,0.000006571066933247494,0.000007390759037662065,0.0000020470258732530056,0.000013906128515372984,-0.000004494631411944283,5.931532598424383e-8,-0.000005363530362956226,-0.000019025612346013077,-9.746487705797335e-8,-0.000022788828573538922,0.000005759361101809191,-0.000019057089957641438,0.000006455238690250553,-0.000020634686734410934,1.0177009812650795e-7,-0.000019465514924377203,-0.000004779817118105711,-0.000005687471002602251,-0.000001974281985894777,0.000007814288437657524,6.800347023272479e-7,0.000006204283181432402,0.0000022189678929862566,0.000003214903017578763,0.000011109933439001907,0.000014264518540585414,0.000020891659005428664,0.000024231410861830227,0.000021565774659393355,0.00002063306419586297,0.000018980705135618336,0.000019460489056655206,0.000016109910575323738,0.00002946244967461098,0.000004959099442203296,0.000031635663617635146,-0.000011636377166723832,0.000012494529073592275,-0.000017649961591814645,-0.000009775249054655433,-0.000009684803444542922,-0.000012299901754886378,-0.0000045431584112520795,-0.000004680217443819856,-0.000009361619959236123,-0.000006417827080440475,-0.000009478884749114513,-0.000008635995982331224,-0.000002210264710811316,-0.0000013944970760348951,-0.0000027300702640786767,3.419471852339484e-7,-0.000005760077328886837,-0.000005887148290639743,0.000009123318704951089,-0.0000018179079006586107,0.000034976685128640383,0.00000800656562205404,0.00004315484329708852,0.0000026375134893896757,0.000026162653739447705,-0.000009777288141776808,0.000008337022336490918,-0.0000043383224692661315,0.000008042879017011728,0.000011266129149589688,0.000007552520855824696,0.000007821462531865109,-0.000010834794011316262,-0.0000071405156631954014,-0.000023741020413581282,0.0000010096468940901104,-0.000008777444236329757,0.000024047909391811118,0.00001084489394997945,0.000021773150365334004,0.000009878775927063543,-0.000002468845650582807,0.0000019583242192311445,-0.000011829857612610795,0.000007180449301813496,0.0000019898930077033583,0.00002007572038564831,0.000023562599380966276,0.000022493708456750028,0.00003725415081134997,0.000009227091140928678,0.000025104887754423544,-0.000004577635081659537,-0.0000057226006902055815,-0.000007426877800753573,-0.000013954405403637793,-0.000007396818546112627,0.000010363718502048869,-0.000005682496066583553,0.000023153961592470296,0.000005215436885919189,-5.851776450072066e-7,0.000008301271009258926,-0.00002839875378413126,-0.000008671786417835392,-0.00002114908602379728,-0.000016385081835323945,0.000010340518201701343,-0.000003332814912937465,0.00001631920167710632,-0.00000240609824686544,-0.00001683917253103573,-0.000019458128008409403,-0.00004172520129941404,-0.00002798895184241701,-0.00002957127071567811,-0.00002257167943753302,-0.0000011277380735918996,-0.000006745275186403887,0.000029834796805516817,0.00001443145356461173,0.00004889423871645704,0.000019520353816915303,0.000028781312721548602,0.00001101738143916009,-0.000002304964709765045,0.000015570509276585653,0.000006559727353305789,0.00002491160194040276,0.0000246861109189922,0.00002092513932439033,0.000005571321253228234,0.000019767994672292843,-0.000017234433471458033,0.000029364162401179783,-0.000006860925623186631,0.00003287310028099455,0.000014419410035770852,0.00002570765900600236,0.000020948997189407237,0.000014982444554334506,0.00001133622572524473,0.000005069058261142345,-0.000007599034233862767,-1.9249199567639153e-7,-0.00002135621070920024,4.192748974674032e-7,-0.00001811559559428133,0.000005204026820138097,-0.00000684716133037,0.000006793804459448438,-0.000007115300377336098,-9.464126833336195e-7,-0.000015396170056192204,-0.000005022252480557654,-0.0000057560728237149306,0.00000310011228066287,0.00001830806468205992,0.000005690162652172148,0.000025002680558827706,-0.0000018066829170493293,0.000016883142961887643,-9.190588343699346e-7,0.00001677891305007506,0.000008744715159991756,0.000017492679035058245,0.000009262767889595125,0.000009641324140829965,-0.000007944317985675298,0.0000026682307634473545,-0.000028819362341891974,-5.567349248281062e-9,-0.000027849970138049684,2.9275554425112205e-7,-0.000011288384484942071,8.639408122235182e-8,-0.000010010178812080994,-0.0000057664710766403005,-0.000018038146663457155,-0.000005938334197708173,-0.000011676184840325732,0.00000538736594535294,6.286371672103996e-7,0.000010601774192764424,0.00000795031610323349,0.000006878713065816555,0.000014448815818468574,0.0000053991193453839514,0.000019121212972095236,0.0000037922372939647175,0.00002377148666710127,0.000004110886493435828,0.000028523567380034365,0.000009884578503260855,0.000025298351829405874,0.000009547493391437456,0.000019423143385211006,0.0000016244050584646175,0.00001698599044175353,-0.0000035492291772243334,0.000010943429515464231,-0.000004347200501797488,0.0000019216581677028444,-0.000004650058144761715,-0.000010098739949171431,-0.000013551755728258286,-0.00002283834692207165,-0.000026392148356535472,-0.000012812127351935487,-0.000015902620361885056,0.00001567458821227774,0.000012308804798522033,0.00002283371395606082,0.000024552044123993255,0.000011854270269395784,0.00002660317659319844,0.000012907260497740936,0.00003121679401374422,0.000015185296433628537,0.00002326429785171058,-7.34506613753183e-7,0.000012328557204455137,-0.000023603226509294473,0.000014685990208818112,-0.00003268428554292768,0.000009220393621944822,-0.00002234849307569675,-0.000007605170594615629,-0.000011407089004933368,-0.000006624821708101081,-0.000009982724805013277,0.00001263109425053699,0.000003306656026325072,0.00002181891250074841,0.000024524020773242228,0.000007929559615149628,0.000019206416254746728,-0.000012103923836548347,-0.000002410376964689931,-0.000014605987416871358,-0.000003715801540238317,-0.000006302369911281858,0.000010128199392056558,-0.000007889429980423301,0.000014167191693559289,-0.00001256161522178445,0.0000057639072110760026,-0.000005861424597242149,-9.619938055038801e-7,0.00000681865458318498,0.0000016880826478882227,0.000011544870176294353,0.0000037514641917368863,-2.56049020208593e-7,0.0000014714703411300434,-0.000014694560377392918,0.000007349543466261821,-0.000010221549928246532,0.000018233196897199377,-7.090650342433946e-7,0.00002102341750287451,-0.000006131372174422722,0.000020034074623254128,-0.000009446019248571247,0.000019742274162126705,0.0000019139167761750286,0.000014728439964528661,0.000014092046512814704,0.000003048159214813495,0.000020496132492553443,-0.000008900403372535948,0.000023662334569962695,-0.000005791300736746052,0.000022625017663813196,0.0000075333286986278836,0.000012899877219751943,-0.0000017856511931313435,-0.000006809377737226896,-0.000028199405278428458,-0.00001746432280924637,-0.00003172568540321663,-0.000006750207376171602,-0.00001866254024207592,-0.0000010079621688419138,-0.000013011737792112399,-0.00000956672738539055,-0.000004242810973664746,-0.000002119594682881143,0.000006584605671378085,0.00002223004776169546,0.000006579176442755852,0.000033968506613746285,0.000009475802471570205,0.000025046378141269088,0.000017056823708117008,0.000005184896053833654,0.000012699285434791818,-0.000006306862815108616,0.000008491949301969726,0.000004087344223080436,0.000018048402125714347,0.000011509853720781393,0.000021365476641221903,-0.000005565815172303701,0.000006844592917332193,-0.000022027259547030553,-0.000005569290806306526,-0.00002120573481079191,-0.000002695209104786045,-0.00001900665483844932,4.4863107007131475e-8,-0.000016556557966396213,-0.000010590822967060376,-0.0000065892354541574605,-0.000017760654372978024,-8.225159149333194e-7,-0.0000025858541903289733,0.0000011124238881166093,0.000020903720724163577,0.00001814771349017974,0.000027480426069814712,0.00004084043393959291,0.0000177144720510114,0.00004253354563843459,0.000010023189133789856,0.000033290092687821016,0.0000067583277996163815,0.000030763236281927675,-0.000003997994099336211,0.00001618833266547881,-0.000014886847566231154,-0.000012435123608156573,-0.00001306923968513729,-0.00002227741242677439,-0.000013466869859257713,-0.000015753304978716187,-0.000023232454623212107,-0.00001852498644439038,-0.00002162655619031284,-0.0000210459329537116,-0.00000750824165152153,-0.000011541855201357976,0.000005184509518585401,-0.0000010159284329347429,0.000017868627764983103,0.000005208628408581717,0.000021801406546728685,0.000004908810751658166,0.00000935355910769431,0.000002482380750734592,0.0000020374698124214774,0.000012640602108149324,0.0000043602076402748935,0.000021848769392818213,-0.000003835069946944714,0.000009052029781742021,-0.000015977773728081957,-0.00000437899689131882,-0.000015400755728478543,-0.0000011541671938175568,-0.000007877672032918781,-8.166315268454127e-8,-0.000005477804279507836,-0.0000075803836807608604,-0.000016252544810413383,-0.000015123989214771427,-0.00003125966031802818,-0.000023901306121842936,-0.00002719650547078345,-0.00002844541631930042,-0.000010009978723246604,-0.000019015275029232726,-0.000002046205736405682,3.0927870398045343e-7,0.000004475987225305289,0.000018435192032484338,0.000017293778000748716,0.000025111336071859114,0.00002306950045749545,0.000019393164620851167,0.000024574750568717718,0.000011862235623993911,0.00003010806358361151,0.000008740132216189522,0.000028634845875785686,0.000012442340448615141,0.00002007111288548913,0.000022071695639169775,0.00001786083885235712,0.000019058017642237246,0.000014229030057322234,-0.000005833061550220009,-0.0000042547835619188845,-0.00002718412179092411,-0.000025061946871574037,-0.00003152936915284954,-0.00003277888026786968,-0.00003887666389346123,-0.000034648659493541345,-0.000050274011300643906,-0.00003677815038827248,-0.00004247226388542913,-0.00002903110726037994,-0.000020898798538837582,-0.000010089145689562429,-0.000010234728506475221,0.000006811966159148142,-0.000005313822384778177,0.0000156254736793926,0.000009165262781607453,0.00002019751991610974,0.00002104634950228501,0.000026244979380862787,0.000020415984181454405,0.00003609451960073784,0.000021696680050808936,0.0000403553967771586,0.00002973491973534692,0.00002806495649565477,0.000031540897907689214,0.000004485058980208123,0.000023197349946713075,-0.00001706145121715963,0.000012635712664632592,-0.0000292308959615184,0.0000058418190747033805,-0.000030073091693338938,-1.1923079057396535e-7,-0.00002137258525181096,-0.000009712542123452295,-0.000012220786629768554,-0.000016407961084041744,-0.000012456388503778726,-0.000015059623365232255,-0.000008678027370478958,-0.000009216743819706608,0.000019928700567106716,0.000004287425326765515,0.00004467799226404168,0.00002016187136177905,0.000024435452360194176,0.000019308243281557225,-0.000007724876013526227,0.000009188834155793302,-0.0000019114108908979688,0.000012105027053621598,0.00002055629374808632,0.000020270883396733552,0.000018115131751983427,0.00001163760225608712,-0.00001510960100858938,-0.000021670934074791148,-0.00005311196582624689,-0.00005914847133681178,-0.00005459808380692266,-0.00006084770575398579,-0.000027462207071948797,-0.00003233471579733305,-0.000024315484552062117,-0.00001873439396149479,-0.00003443852983764373,-0.00001817194242903497,-0.000014029920748725999,-0.000009114837666857056,0.000012373760910122655,-0.000003239905254304176,0.000010735915566328913,-5.519689239008585e-8,-0.0000018883721395468456,0.00000311321650769969,-0.0000017775488458937616,-0.000006557762844749959,0.000015179120964603499,-0.00000455604003946064,0.000022281594283413142,0.000017691370885586366,-0.0000038258062886598054,0.000012033361599605996,-0.000019834642444038764,-0.000010000385373132303,0.000010684007975214627,0.000009171661986329127,0.00004517719935392961,0.00004714382521342486,0.0000477431713079568,0.00005181042797630653,0.000026211499061901122,0.00002550805947976187,0.000003884897068928694,0.00000662306683807401,0.000017071641195798293,0.00003120501423836686,0.00004284991882741451,0.00006512828258564696,0.000018203174477093853,0.00004200913826934993,-0.000014842201380815823,0.000003909772658516886,0.000008061370863288175,0.000021963762264931574,0.00003848099004244432,0.00005715851148124784,0.000043984284275211394,0.00006707866123178974,0.000052957908337702975,0.00006693915202049538,0.000049615926400292665,0.00005375961336540058,0.0000309937859128695,0.00003500019374769181,0.000029505476049962454,0.000029334600185393356,0.000023507789592258632,0.00001465066452510655,-1.0310985487649305e-7,-0.000006374973509082338,-0.000008675759090692736,-0.000009088520528166555,-0.000021084319087094627,-0.000024063272576313466,-0.0000631984366918914,-0.0000610212046012748,-0.00009105104982154444,-0.00007528847345383838,-0.00008082981366897002,-0.00007128059951355681,-0.00007338736031670123,-0.00008348179107997566,-0.00009302627586293966,-0.00010063370427815244,-0.00010311997175449505,-0.00009475899423705414,-0.00006107790977694094,-0.00005710756522603333,-0.0000045567167035187595,-0.000016807351130410098,-0.000008728594366402831,-0.000024047727492870763,-0.000054534481023438275,-0.00006562787166330963,-0.00006661251245532185,-0.0000764136275392957,-0.00004220175833324902,-0.00005006900755688548,-0.000025705265215947293,-0.000036733610613737255,-0.00002846791539923288,-0.0000510317986481823,-0.000025806351914070547,-0.00004952012750436552,0.000005754276116931578,-0.0000016414161336797406,0.0000425573016400449,0.00004579619053401984,0.00004338672079029493,0.000038616690289927647,0.000029018654458923265,0.000013091679647914134,0.00003744493369595148,0.000019917650206480175,0.000044882068323204294,0.00003138934698654339,0.00002662312181200832,0.000016957039406406693,0.000012313065781199839,0.000002333392103537335,0.00001934301690198481,0.0000014684613915960654,0.000014003498108650092,-0.000012435083590389695,-0.00001898372829600703,-0.000038960213714744896,-0.00003305000063846819,-0.00003180839848937467,-0.000003220078497179202,0.000009098755072045606,0.00001692907972028479,0.00001644175426918082,-0.0000025018243832164444,-0.000015483534298255108,-0.00001627800338610541,-0.000018092352547682822,-0.000013463391951518133,0.0000019396563857299043,-0.00003174218363710679,-0.0000160226827574661,-0.00005453410267364234,-0.00004583518239087425,-0.000040986185922520235,-0.000035656023101182655,-0.00001567927210999187,-0.000013575969205703586,-0.000018654585801414214,-0.000008182525562006049,-0.000031149891583481804,0.000004068513590027578,-0.000022341226213029586,0.000019159466319251806,-0.00001293922196055064,0.000003855884187942138,-0.00003387294782442041,-0.00002583240348030813,-0.000057961613492807373,-0.000027385123757994734,-0.000033527012419654056,0.0000016514985645699198,0.00003071745595661923,0.000041599003452574834,0.00007069997809594497,0.00007186799484770745,0.00005709023025701754,0.00006439198477892205,0.000029486905987141654,0.000029499340598704293,0.0000209078880288871,0.000017297805243288167,0.000013292264156916644,0.000027950874937232584,-0.0000013293877145770239,0.000019151208107359707,-0.000006482500339188846,-0.0000067296255110704806,-0.000007697241926507559,-0.000014276416550274007,0.0000016702936136425706,0.000015172436178545468,0.00004288800846552476,0.00006377120007527992,0.00006793632928747684,0.00007132426253519952,0.00002048872920568101,0.000012990089089726098,-0.000048709236580180004,-0.000047732733946759254,-0.00007167227886384353,-0.00006812359788455069,-0.000064849853515625,-0.00008061769040068612,-0.00006814341759309173,-0.00010230079351458699,-0.00008719259494682774,-0.0001180777617264539,-0.00008941548003349453,-0.00011921609257115051,-0.00003779408143600449,-0.00008811964653432369,0.000030435225198743865,-0.000025285318770329468,0.00004108916618861258,0.000014433621799980756,0.00001024217635858804,-0.000005194896857574349,0.000005180342213861877,-0.000034165761462645605,0.000023372396753984503,-0.000010869540346902795,0.00002539250453992281,0.00003357906825840473,0.000018433291188557632,0.00003062555697397329,0.000026741767214844003,-7.219643407552212e-7,0.00003656093031167984,-0.000001136163632509124,0.00003117337473668158,0.000021541796741075814,0.0000293058437819127,0.000043496882426552474,0.000037782541767228395,0.00007139385706977919,0.0000416023212892469,0.00009288021101383492,0.00005254682037048042,0.00009893468813970685,0.00006880204455228522,0.00010826986544998363,0.00005927990423515439,0.00011457254731794819,0.00005459919702843763,0.00010707223555073142,0.000094101473223418,0.00010680824925657362,0.00011209934746148065,0.00010920516069745645,0.000056838165619410574,0.00008033691119635478,-0.0000068494009610731155,0.000025022674890351482,-0.00002701147059269715,-0.000019174229237250984,-0.00003586516322684474,-0.00004372096373117529,-0.0000652634262223728,-0.00007542935782112181,-0.00009048141509993002,-0.00010400706378277391,-0.00006278631190070882,-0.00007421393820550293,0.0000025940585146599915,-0.000008294062354252674,0.0000325960099871736,0.000008096650162769947,0.00003069816739298403,-0.0000037499498830584344,0.000056778833823045716,0.000025616709535825066,0.00007991064921952784,0.00004987000284017995,0.000045740198402199894,0.000019337981939315796,0.000004544684998109005,-0.000008798326234682463,0.000008757365321798716,-0.0000021096132059028605,0.00001856036215031054,0.000004826958502235357,0.000005461828550323844,0.000007710723366471939,0.000010949572242680006,0.000018963972252095118,0.000044504369725473225,0.00002303562177985441,0.00004023867586511187,0.000010020921763498336,-0.000025972738512791693,-0.00001586198777658865,-0.00007700323476456106,-0.00004665309825213626,-0.000055274140322580934,-0.000052602150390157476,-0.0000061497439673985355,-0.00001668721961323172,0.000008728478860575706,0.000013330021829460748,-0.0000029871407605241984,-0.000004125208306504646,-0.0000026293639621144393,-0.00002612005664559547,0.0000065824074226839,-0.000017083671991713345,-0.0000046906184252293315,-0.00001556396091473289,-0.00002643541301949881,-0.00003281334284110926,-0.000039624956116313115,-0.00004113918112125248,-0.00007187780283857137,-0.00006438163109123707,-0.0001236143143614754,-0.00011173521488672122,-0.00012688638526014984,-0.00011649612861219794,-0.00006469413347076625,-0.00005987553595332429,-0.000014351888239616528,-0.000007210273906821385,-0.000016002846678020433,0.000014015030501468573,-0.000009058734576683491,0.00003463930625002831,0.000044094260374549776,0.00006039829531800933,0.00007179840031312779,0.00006237921479623765,0.000030082985176704824,0.000039645121432840824,-0.0000010439434845466167,0.000020206653061904944,0.00001813493508961983,-8.59565261634998e-7,0.000021399320758064277,-0.000031689640309195966,0.000003812285285675898,-0.00003198267222614959,0.00001682609217823483,0.0000013957578630652279,0.00004154344787821174,0.000013956621842226014,0.00004097841519978829,9.028317435877398e-7,0.000013097586816002149,-0.000017888380170916207,-0.000026429661375004798,-0.000042822484829230234,-0.00003054921762668528,-0.00004142971010878682,-0.000001531986526970286,-0.00001933212115545757,-0.0000132069308165228,-0.000039306974940700457,-0.00004899566920357756,-0.000061745238781441,-0.000037255726056173444,-0.000020425879483809695,-0.000015082103345775977,0.000013367198334890418,-0.00003093281702604145,-0.000012532468645076733,-0.000054078089306131005,-0.00003815422678599134,-0.00006230008148122579,-0.000032039140933193266,-0.000044264997995924205,9.833966032601893e-7,-5.77034370508045e-7,0.000045075670641381294,0.000020452816897886805,0.00004831075420952402,0.000016518073607585393,0.00002406950807198882,0.000028525224479380995,0.000029365415684878826,0.00002138098716386594,0.000015089812222868204,-0.00003114295031991787,-0.00005498417158378288,-0.00005744315421907231,-0.00008467251609545201,-0.000022096755856182426,-0.000038503785617649555,0.000013987733836984262,-0.000011090352927567437,0.000002372082235524431,-0.000031918280001264066,-0.000031449904781766236,-0.000032338593882741407,-0.00003993864811491221,-0.000005635174602502957,-0.00003002981611643918,-0.000012256874470040202,-0.00002950612542917952,-0.000029784107027808204,-0.000014617784472648054,0.00001263211561308708,0.00002073836003546603,0.000060902915720362216,0.00002685291474335827,0.00002972178117488511,0.000003865030521410517,-0.000011656133210635744,-0.0000019173003238392994,0.000016705547750461847,0.000012224107194924727,0.000058518213336355984,0.000023397415134240873,0.00006208814738783985,0.000014334675142890774,0.000048294361477019265,-0.000011518812243593857,0.00003706568531924859,-0.000009435871106688865,0.00004311736120143905,0.000036349370930111036,0.00005881915785721503,0.0000780311384005472,0.00005478940511238761,0.00009043554018717259,0.00005104908996145241,0.00008298666216433048,0.00006888940697535872,0.00006298254447756335,0.00007044045923976228,0.000054575710237259045,0.00005354037421057001,0.000060902479162905365,0.00005536368189495988,0.00004294863174436614,0.00005029814929002896,0.000005725249138777144,0.000005086803867015988,-0.000010700321581680328,-0.00004252125654602423,-0.000021980682504363358,-0.000058042256569024175,-0.00005544697341974825,-0.000054441989050246775,-0.00008118953701341525,-0.00004292158700991422,-0.00007777901191730052,-0.000035333177947904915,-0.00007716101390542462,-0.00005428513395600021,-0.00008297056774608791,-0.0000670280642225407,-0.00005144996976014227,-0.000014605345313611906,-0.00000779076071921736,0.0000432292181358207,-0.00003144462971249595,0.000004673118382925168,-0.00008541214629076421,-0.00005519864134839736,-0.00006174968439154327,-0.000014400528016267344,0.000012012095794489142,0.000047868241381365806,0.000030405124562093988,0.00002368395507801324,0.000001922777300933376,-0.000011832757991214748,0.0000026430798243382014,0.000012279679140192457,0.00003241767262807116,0.000024375991415581666,0.00003544256105669774,-0.00002144496829714626,0.0000066679922383627854,-0.00006405106250895187,-0.000002957086053356761,-0.00005756971222581342,0.000015621615602867678,-0.00003508651934680529,0.00001469517155783251,-0.00004308757706894539,-0.000010895128070842475,-0.0000762795825721696,-0.00001937178421940189,-0.00009255228360416368,-0.000009577730452292599,-0.00007198793900897726,-0.00001064251409843564,-0.00004143540354561992,-0.000017639989891904406,-0.00002866461181838531,-0.000003194289547536755,-0.00001008950584946433,0.000025677494704723358,0.0000337935853167437,0.00002025209141720552,0.00004816519140149467,-0.00003013358946191147,0.000005368628990254365,-0.00005807228444609791,-0.000014198250937624834,-0.000024669036065461114,0.00002980853787448723,0.00001305967180087464,0.0000615404496784322,0.000003169276169501245,0.000039045036828611046,-0.000026213239834760316,0.000006035425030859187,-0.000030444816729868762,-0.000012050156328768935,-0.000019078106561210006,-0.000029675369660253637,-0.000031799194402992725,-0.000055997508752625436,-0.0000721602700650692,-0.00009207191760651767,-0.00010938722698483616,-0.00013436700101010501,-0.00012641138164326549,-0.0001619315444258973,-0.00012095387501176447,-0.00015179513138718903,-0.00009973258420359343,-0.00012022676673950627,-0.00008012935722945258,-0.0001016552560031414,-0.000054741190979257226,-0.00008083759166765958,-0.00000593823006056482,-0.00002722652061493136,0.000044529537262860686,0.000031446641514776275,0.00007436021405737847,0.00005673569467035122,0.00008370971045223996,0.000051376631745370105,0.00005631861131405458,0.0000279171799775213,-0.0000013176068023312837,0.0000014861398085486144,-0.000035487813875079155,-0.00001107328716898337,-0.000028035083232680336,-0.000009004481398733333,-0.000013428236343315803,0.000007951015504659154,-0.000012215399692649953,0.000026802747015608475,-0.000010574289262876846,0.00001737370803311933,0.000018003340301220305,5.736237653763965e-7,0.00006992507405811921,0.00002058242716884706,0.00009748925367603078,0.000049604932428337634,0.00007757225830573589,0.0000480062335554976,0.000046539622417185456,0.000040741320844972506,0.0000359866680810228,0.000044753498514182866,0.00003149465555907227,0.00003402285074116662,0.000016869544197106734,0.000012217524272273295,0.000014416894373425748,0.00001694033562671393,0.00002633786789374426,0.00003387614560779184,-0.0000031246981961885467,0.000006746628059772775,-0.00006808514444855973,-0.0000424836362071801,-0.00007945387915242463,-0.000040809682104736567,-0.00004131623427383602,-0.000006584262791875517,-0.000027186131774215028,0.000009418003173777834,-0.00001379865534545388,0.000029131773771950975,0.00003061928873648867,0.00005724620132241398,0.00004902021464658901,0.0000633458184893243,0.000014305432159744669,0.000058562731283018366,-0.000027793557819677517,0.000046056477003730834,-0.000024998287699418142,0.00002725913145695813,0.000025247172743547708,0.000039892023778520525,0.00004112611713935621,0.000050569287850521505,-0.000014535172340401914,0.0000067802211560774595,-0.00004382204497233033,-0.000026799832994583994,-0.000016543841411476023,-0.0000244089933403302,-0.000021907017071498558,-0.00005314009467838332,-0.00005711687481380068,-0.00007939628267195076,-0.00006287739233812317,-0.00005297015013638884,-0.000055925644119270146,-0.0000416878356190864,-0.000044781805627280846,-0.00005816018165205605,-0.000014692141121486202,-0.000038615464291069657,0.000015342511687777005,-0.0000019092221918981522,0.00004032142896903679,0.000013651363587996457,0.0000466067940578796,0.000017852991732070222,1.3027107570451335e-7,0.0000011722290764737409,-0.0000434878165833652,-0.000021812964405398816,0.000001429963049304206,0.00001604595672688447,0.00008827573037706316,0.00010605066927382722,0.00011196303967153654,0.00014238811854738742,0.00007170428580138832,0.00009203513036482036,0.00005030815373174846,0.00005320513810147531,0.00006844555173302069,0.00007133291364880279,0.00004482951044337824,0.000057309403928229585,-0.00004976908894605003,-0.000016540670912945643,-0.00012368492025416344,-0.00006704733095830306,-0.00012687843991443515,-0.00008667777001392096,-0.00010667263995856047,-0.00010933732846751809,-0.0000810641358839348,-0.0000843552261358127,-0.00003626633406383917,-0.000011461594112915918,-0.000003800034392043017,0.000010872363418457098,-0.00001115972099796636,-0.000024820123144309036,-0.000016356738342437893,-0.00003160407504765317,0.000021647872927132994,0.00000160533340931579,0.000044044452806701884,0.000006865130671940278,-0.000021276600818964653,-0.00004543062095763162,-0.0001009973420877941,-0.00010950845899060369,-0.00008220582094509155,-0.00012713325850199908,-0.000009265588232665323,-0.00009223717643180862,0.00001942663948284462,-0.00004278800042811781,0.000014971864402468782,-0.000015608507965225726,0.000012556516594486311,-0.00001997295839828439,-0.00001677776890574023,-0.00004871925193583593,-0.00008439271186944097,-0.00009608511754777282,-0.00012681048247031868,-0.00012660387437790632,-0.00009491848322795704,-0.00009672807937022299,-0.000038584679714404047,-0.00004915422323392704,-0.000011407275451347232,-0.00003619683411670849,0.000020544717699522153,-0.000004877408628090052,0.000057512861530994996,0.00005082879215478897,0.000023422402591677383,0.00003235676922486164,-0.00007216427911771461,-0.000044125583372078836,-0.00013907243555877358,-0.00007763699250062928,-0.0001589777530170977,-0.00009526571375317872,-0.0001702349109109491,-0.00015039237041492015,-0.00018199183978140354,-0.00018227424880024046,-0.0001656827371334657,-0.00014178658602759242,-0.00009661682270234451,-0.00006982849299674854,-0.000024176955776056275,-0.000023143686121329665,-0.000021666413886123337,-0.000022818921934231184,-0.00004684945088229142,-0.00003441434455453418,-0.000010103430213348474,0.0000032032912713475525,0.00006675547047052532,0.00008603621245129034,0.00010718784324126318,0.0001322274620179087,0.00010200230462942272,0.00010818237205967307,0.00009606129606254399,0.00009692880848888308,0.00011241745960433036,0.00014431362797040492,0.00011704491771524772,0.00014793468290008605,0.00008428628643741831,0.000059725869505200535,0.00006823895819252357,0.00001569482628838159,0.00011798230116255581,0.00008751583663979545,0.00017217642744071782,0.00014552491484209895,0.00014642594032920897,0.00009886995394481346,0.0000820255299913697,0.0000389802225981839,0.0000945738865993917,0.00006543559720739722,0.00017948643653653562,0.00013175995263736695,0.000207908742595464,0.00013581017265096307,0.0001348408404737711,0.00007278104749275371,0.000048818663344718516,0.000009134634638030548,0.00001749626790115144,-0.000027329901058692485,0.000009467278687225189,-0.000057572869991417974,-0.000054372627346310765,-0.00011624617764027789,-0.00017348630353808403,-0.00019637461809907109,-0.00020912816398777068,-0.00020959861285518855,-0.00009173363650916144,-0.00011212546814931557,0.000036042500141775236,2.3283064365386963e-8,0.00005594479080173187,0.00004100982187082991,0.000023640137442271225,0.00002810826299537439,0.000004636331141227856,0.0000017502184164186474,-0.0000016116446204250678,-0.000008960413651948329,-0.00001896120375022292,-0.000017643205865169875,-0.00007192717748694122,-0.00006774204666726291,-0.00011022477701772004,-0.0001006519451038912,-0.00004939598875353113,-0.000025064480723813176,0.00006950402894290164,0.00008736859308555722,0.00013112671149428934,0.00011726255615940318,0.00009332889749202877,0.00006975586438784376,-0.000007504016139137093,-0.0000017577287962922128,-0.0000711821558070369,-0.00003985501825809479,-0.000008704300853423774,0.00001219889509229688,0.00010966281115543097,0.00010688483598642051,0.0001459826744394377,0.00014799759082961828,0.00012049888755427673,0.00015319800877477974,0.0001315882836934179,0.0001693947851890698,0.00013466438394971192,0.00013570465671364218,0.00003885695696226321,0.000019557321138563566,-0.0000759758404456079,-0.00006659913924522698,-0.00009499234874965623,-0.00006112013215897605,-0.00007698169065406546,-0.000060936577938264236,-0.00006680353544652462,-0.00007666349119972438,0.000022440679458668455,0.000004864556558459299,0.00012551239342428744,0.00011123484728159383,0.00006374843360390514,0.0000694217742420733,-0.00006522072362713516,-0.000034445423807483166,-0.000056505523389205337,-0.00003903900505974889,0.000005489092927746242,-0.000015380668628495187,-0.000013067590771242976,-0.000028134491003584117,-0.000019961922589573078,0.00001111600886360975,0.00003626819307100959,0.00007595207716803998,0.00005631609747069888,0.000051114606321789324,0.000038434911402873695,4.5267279347172007e-7,0.000059726120525738224,0.00003945884600398131,0.00009166861127596349,0.00010432150884298608,0.00008447789878118783,0.00009268712892662734,0.00006632134318351746,0.000032154312066268176,0.00006209970160853118,3.4997174225281924e-7,0.00007809824455762282,0.0000330825278069824,0.00011409471335355192,0.00009687244892120361,0.00010992292664013803,0.00010118685167981312,0.000043402149458415806,0.00003681848829728551,0.00002333584961888846,0.00002146193219232373,0.00008825006807455793,0.00008878691733116284,0.00010468476102687418,0.00011617453128565103,0.000010868432582356036,0.00003768633177969605,-0.0000832886653370224,-0.00006463406316470355,-0.00009575632429914549,-0.00009790592594072223,-0.00008047091250773519,-0.00008127279579639435,-0.00011930312030017376,-0.00010817989095812663,-0.00019761906878557056,-0.00018406282470095903,-0.00025037425803020597,-0.00022929937404114753,-0.00028175031184218824,-0.00026143481954932213,-0.00030704058008268476,-0.00032354859285987914,-0.00028720812406390905,-0.0003314026980660856,-0.00023685301130171865,-0.0002623709151521325,-0.00020041537936776876,-0.00023299336316995323,-0.0001476819161325693,-0.0002481380943208933,-0.00007395316060865298,-0.00019933024304918945,-0.00001707856063148938,-0.00007966350676724687,0.00003398122498765588,0.000010577972716419026,0.00004213210195302963,-0.000016719475752324797,-0.00003703224865603261,-0.00011134900705656037,-0.00007891521818237379,-0.00010674398799892515,-0.000002282263267261442,0.000002869634954549838,0.00004155691203777678,0.00003237165219616145,-0.000040039492887444794,-0.00005632107422570698,-0.00011622216698015109,-0.00010217920498689637,-0.000052099829190410674,-0.000006442031008191407,0.00011611672380240634,0.00016018351016100496,0.0002177420974476263,0.00024585469509474933,0.00016871566185727715,0.0002069331967504695,0.00009723335824673995,0.00016305266763083637,0.00010130155715160072,0.0001628038880880922,0.00009905041952151805,0.00012441941362340003,0.00005324347148416564,0.00006661077350145206,0.000056269716878887266,0.00009563506318954751,0.0001445938105462119,0.00020467364811338484,0.00022031216940376908,0.00027645783848129213,0.00018519532750360668,0.00023159629199653864,0.00010800627205753699,0.0001519494253443554,0.00012027759657939896,0.00017234316328540444,0.00015244039241224527,0.00021870264026802033,0.000060043548728572205,0.00012630523997358978,-0.00008305638039018959,-0.00003651895167422481,-0.00011915012873942032,-0.0000871685188030824,-0.000041786948713706806,-0.000004809240635950118,0.00004110886584385298,0.000093799018941354,0.00001830440669436939,0.00009007014887174591,-0.00008894543861970305,-0.000008388842616113834,-0.00012280653754714876,-0.000059225996665190905,-0.00004686256579589099,-0.000004007886218460044,0.000010301017027813941,0.00006117883458500728,-0.000004959066245646682,0.00006308007868938148,-0.00005623497781925835,0.0000016901053641049657,-0.00012405106099322438,-0.00009191863500745967,-0.00018024181190412492,-0.0001593408960616216,-0.00019957635959144682,-0.00017160963034257293,-0.00017814745660871267,-0.00013509401469491422,-0.00011708180682035163,-0.00006468065839726478,-0.00006644428503932431,-0.000022329521016217768,-0.00005872109250049107,-0.000030379385862033814,-0.00001940926449606195,-9.50950834521791e-7,0.00007214264041977003,0.00007613632624270394,0.00011203531175851822,0.00009669607970863581,0.00008747195533942431,0.00006836865213699639,0.000107871564978268,0.00009087040234589949,0.00019871782569680363,0.00016566846170462668,0.0002717904862947762,0.0002240440808236599,0.00026444465038366616,0.00022366063785739243,0.0002072927018161863,0.00016754464013502002,0.00017488887533545494,0.00011745865049306303,0.00018788142187986523,0.00012361693370621651,0.00018892365915235132,0.0001353108964394778,0.00012977307778783143,0.00008753158908803016,0.00003708814620040357,0.000010673960787244141,-0.00001981318746402394,-0.00003052715692319907,0.0000012943901310791261,-0.000012440191312634852,0.00007004603685345501,0.000053042742365505546,0.00011080254625994712,0.00010929033305728808,0.00010538451169850305,0.00010385063797002658,0.0001238908589584753,0.00009580529876984656,0.00019793650426436216,0.00016720773419365287,0.00024815084179863334,0.0002446943544782698,0.00019588206487242132,0.00019575741316657513,0.00005647114085149951,0.000033640259061940014,-0.00008082586282398552,-0.00010941842629108578,-0.000123425226774998,-0.0001422984933014959,-0.00009261527156922966,-0.00010913527512457222,-0.00009859810234047472,-0.00011477481893962249,-0.00013260109699331224,-0.00014256648137234151,-0.00009395734377903864,-0.00008956607052823529,-0.000003257652451793547,0.000024219256374635734,0.00006157296593300998,0.00009329195017926395,0.0000909910086193122,0.00009424033487448469,0.00007284159801201895,0.00006831511564087123,0.00001874280314950738,0.00005567546031670645,0.000005360243903851369,0.00006956124707357958,0.00004115957926842384,0.00008636829443275928,0.00006720854435116053,0.00010175880743190646,0.000058497971622273326,0.00010565094271441922,-0.00000532744888914749,0.00003650475264294073,-0.00008412737224716693,-0.00005737183892051689,-0.00004074765456607565,-0.000015765856005600654,0.00012070624507032335,0.00012950683594681323,0.0002018612576648593,0.0001815898867789656,0.0001366319484077394,0.00012036338011967018,0.00008128847548505291,0.00008533558138879016,0.00012598736793734133,0.00011848862050101161,0.0001826434163376689,0.00015625306696165353,0.00019109569257125258,0.00017093791393563151,0.00020420609507709742,0.00018747098511084914,0.00021713862952310592,0.00019607768626883626,0.00015462526062037796,0.00015112361870706081,0.00005944148142589256,0.00007137679494917393,0.00002383520950388629,0.00001862557473941706,-0.0000068000390456290916,-0.000017121023120125756,-0.00010218597890343517,-0.00007586612628074363,-0.0001744521432556212,-0.0001242063590325415,-0.0001295977272093296,-0.00010483716323506087,-0.00002151472472178284,-0.000034661545214476064,0.00004824878487852402,0.000019321976651553996,0.000060638627473963425,0.000033946442272281274,0.000049855512770591304,0.00003052474494324997,0.00003425036265980452,0.000019722010620171204,0.00003538441160344519,0.00002866454451577738,0.00006024901085766032,0.00007192634075181559,0.00005440136737888679,0.00007213866047095507,0.000019199043890694156,0.000010913217920460738,0.000045549073547590524,0.000012097194485249929,0.00010095175093738362,0.00006870793731650338,0.00007156033825594932,0.00003835436291410588,0.000020153316654614173,-0.000019508930563461035,0.0000535928484168835,0.00003740128158824518,0.00010149527952307835,0.00011497524246806279,0.00008390550647163764,0.0000843971865833737,0.00003986573210568167,0.000023354001314146444,0.000007602353434776887,0.000020408371710800566,-0.000010802616088767536,0.000026732461265055463,-0.000005622944627248216,0.0000034467293517082,0.000030874678486725315,0.000010173034752369858,0.00007900789205450565,0.0000685180420987308,0.00007322894089156762,0.00007221940177259967,-0.000027310783480061218,-0.000044682725274469703,-0.0001466236572014168,-0.00017769132682587951,-0.00018490885850042105,-0.00021317791834007949,-0.00014575586828868836,-0.00016396366117987782,-0.00008703183266334236,-0.000096126452262979,-0.00003868097337544896,-0.00006154235597932711,0.0000013577704294220894,-0.00006000530629535206,0.00003719485175679438,-0.000029292279577930458,0.00005176669219508767,0.000037953537685098127,0.00004797007568413392,0.0000610950737609528,0.00007513132004532963,0.000035335040593054146,0.00014191074296832085,0.000057879464293364435,0.00018908843048848212,0.0001475651515647769,0.00020764136570505798,0.00022060774790588766,0.00025390449445694685,0.0002503087744116783,0.00030238457839004695,0.0002672707778401673,0.0002528578625060618,0.000237257219851017,0.00013433310959953815,0.00013784827024210244,0.00008091441122815013,0.000059937723563052714,0.00008225104829762131,0.00005401169983088039,0.00003974448191002011,0.00004953946336172521,-0.000010107636626344174,0.00001073527801054297,-0.000020950206817360595,-0.00003656994522316381,-0.00005993116428726353,-0.0000808492986834608,-0.00011625375918811187,-0.0000944273269851692,-0.00010681073763407767,-0.00007551605085609481,-0.00007586299034301192,-0.00009075189882423729,-0.00008544810407329351,-0.00012747022265102714,-0.00006861256406409666,-0.00007860875484766439,0.000004575975708576152,0.00004120101948501542,0.00003772617856157012,0.0000848198906169273,-0.000009577727723808493,0.000012361198059807066,-0.00005892533590667881,-0.00005592560046352446,-0.00008714772411622107,-0.00006369994662236422,-0.0001394686260027811,-0.00008136204269248992,-0.00015996844740584493,-0.00010361209569964558,-0.00011126687604701146,-0.00008401738159591332,-0.00014169493806548417,-0.00011784620437538251,-0.0002762835065368563,-0.00022666376025881618,-0.0002874225901905447,-0.00022627771249972284)
26 new Array(-0.00014015505439601839,-0.00009424725431017578,-0.0000367982174793724,-0.000012330742720223498,-0.000009979183232644573,-0.000005074737146060215,0.000015334489944507368,0.000006053265224181814,0.000033470423659309745,0.000029470638764905743,0.00009303881961386651,0.00010694590309867635,0.00022122845984995365,0.00022976046602707356,0.00027943524764850736,0.00024943548487499356,0.000181631650775671,0.00012874089588876814,0.000033948716009035707,0.00001643829637032468,-0.000038822603528387845,-0.000005076801244285889,-0.000026619280106388032,-0.000004013060788565781,-0.000020743873392348178,-0.000060739057516912,-0.00009209522977471352,-0.00015305288252420723,-0.0001557939249323681,-0.00016957358457148075,-0.00011526542220963165,-0.00008990408241515979,-0.00003546544030541554,-0.000018380367691861466,0.000005372870873543434,0.000013720681636186782,0.000005543797669815831,0.00003979273242293857,-0.000014010610357217956,0.00005891008913749829,-0.00001633692954783328,0.00006351392949000001,-0.000011691547115333378,0.000035224747989559546,-0.00004958381759934127,-0.000023805565433576703,-0.00012163100473117083,-0.00007665240264032036,-0.00016238178068306297,-0.00010357973224017769,-0.00012000015703961253,-0.00009269107249565423,-0.000049141810450237244,-0.00005715646693715826,-0.00004356173303676769,-0.00003632663720054552,-0.00001985907510970719,0.0000020384477465995587,0.00012762073311023414,0.00011586706386879086,0.00021797671797685325,0.00020374754967633635,0.00008666064240969718,0.00011644592450466007,-0.00006568098615389317,-0.000046202490921132267,-0.00004137075302423909,-0.00007593315240228549,0.000004579069354804233,-0.00002532761573093012,-0.00009905502520268783,-0.00007579676457680762,-0.00019283377332612872,-0.00017823997768573463,-0.00014772501890547574,-0.00019722098659258336,-0.00013216372462920845,-0.000167879305081442,-0.00019680026161950082,-0.00015686158440075815,-0.0002077507524518296,-0.00015023740706965327,-0.00017501234833616763,-0.00013415997091215104,-0.00017168966587632895,-0.00013525885879062116,-0.00015167739184107631,-0.00012130104005336761,-0.00008563465962652117,-0.000041452833102084696,-0.00007153890328481793,-0.000001365100615657866,-0.00008754107693675905,-0.0000252203899435699,-0.00003187061520293355,-0.000009977433364838362,0.000022157373678055592,0.00003242286038585007,0.00003615911191445775,0.00009324029088020325,0.000014359744454850443,0.00007800778257660568,-0.000049274443881586194,-0.00005691000842489302,-0.00007130674202926457,-0.00010760929581010714,-0.000036453122447710484,-0.000047757712309248745,0.000054562337027164176,0.000027955291443504393,0.00009254179894924164,0.00002200369090132881,-0.00004265725874574855,-0.00010851425759028643,-0.0001688027841737494,-0.00016441606567241251,-0.00021186693629715592,-0.0001573815243318677,-0.00018332900071982294,-0.0001501880760770291,-0.00010138592188013718,-0.00008154666284099221,-0.00013429764658212662,-0.00008883286500349641,-0.0001400368637405336,-0.00010151389869861305,-0.000043619606003630906,-0.00004538596476777457,-0.000031638654036214575,-0.00003416767867747694,-0.00006974972347961739,-0.00005143813177710399,-0.00010723905870690942,-0.00012572293053381145,-0.00002397704156464897,-0.00009767053415998816,0.00011572502262424678,0.00005432979014585726,0.00007883126090746373,0.0000620109640294686,0.00007341729360632598,0.00004993831316824071,0.00011931547487620264,0.00005841327947564423,0.00005921594856772572,0.00001511409482191084,0.000033078180422307923,0.000019489067199174315,0.000033935510145965964,-0.000011722012459358666,0.00004304029425838962,-0.000035746488720178604,0.00003718510197359137,-0.000058436104154679924,-0.00001174940280179726,-0.00013024899817537516,0.000020506238797679543,-0.00007963776442920789,0.00003176229074597359,-0.00005422571848612279,-0.00002636853423609864,-0.00014182373706717044,-0.000049795104132499546,-0.00017246516654267907,-0.00009185299859382212,-0.00017978546384256333,-0.00013231371121946722,-0.00016474576841574162,-0.0001400558976456523,-0.00015335241914726794,-0.0001470029092160985,-0.00018156964506488293,-0.00014865070988889784,-0.0001718680141493678,-0.00012142615742050111,-0.00014900251699145883,-0.00007435568841174245,-0.00012459667050279677,-0.00008725070802029222,-0.00011005691339960322,-0.00008626709313830361,-0.00012864137534052134,-0.00004616122896550223,-0.0001554132904857397,-0.00009952057007467374,-0.00021355791250243783,-0.0001459539489587769,-0.00023241406597662717,-0.00013092698645778,-0.00017168368503917009,-0.00015152087144088,-0.00015848565089982003,-0.0001564635313116014,-0.00018872391956392676,-0.00011087577149737626,-0.00015771349717397243,-0.0000527798110852018,-0.00008749643166083843,-0.000036134504625806585,-0.00004221020935801789,-0.00008243389311246574,-0.00005874632915947586,-0.0001164921632152982,-0.00013457277964334935,-0.0001483543310314417,-0.00019349232024978846,-0.00023352073912974447,-0.00023075437638908625,-0.00028925627702847123,-0.00027289867284707725,-0.00029771780828014016,-0.0003031028318218887,-0.0002913945645559579,-0.0003263660764787346,-0.00015898887068033218,-0.00020953141211066395,0.000021462499717017636,0.000016161218809429556,0.00006929994560778141,0.00007043606456136331,0.000042957883124472573,-0.000021664078303729184,0.000008055478247115389,-0.00008845835691317916,0.00006582804780919105,-0.000016302576113957912,0.00015406384773086756,0.00010176366777159274,0.00009414566011400893,0.0000354732692358084,0.00007631623884662986,-0.000012391613381623756,0.00007941365765873343,0.0000648690911475569,0.00001397199412167538,0.00010448538523633033,0.000029168595574446954,0.00008860438538249582,-0.00006609586125705391,-0.00006593324360437691,-0.0002065992885036394,-0.0001552091707708314,-0.00018771870236378163,-0.00007774525874992833,-0.00012997548037674278,-0.00007887235551606864,-0.0000391396097256802,-0.000076210533734411,-0.0000876762715051882,-0.0000996374583337456,-0.00014420422667171806,-0.0001080437286873348,0.000032678239222150296,0.00001941799564519897,0.00008381356747122481,0.000031045052310219035,0.00006379729165928438,0.000027837693778565153,0.00006071649841032922,0.00002810096339089796,-0.000023521930415881798,-0.000042365853005321696,0.000022846543288324028,-0.000005697456799680367,0.00003526679938659072,-0.00004256410466041416,-0.0000757251400500536,-0.00013366315397433937,-0.00011955667287111282,-0.00011828384594991803,-0.00017747009405866265,-0.00016866534133441746,-0.0001741003361530602,-0.00016113329911604524,-0.00020356231834739447,-0.0001154246274381876,-0.00034802500158548355,-0.00014464158448390663,-0.0003696058120112866,-0.00011752495629480109,-0.00038095645140856504,-0.00015291014278773218,-0.0003850535140372813,-0.00025106975226663053,-0.00019905260705854744,-0.0002682860067579895,0.0000021677478798665106,-0.0002483882417436689,0.0001757844293024391,-0.0002012909681070596,0.00042002167901955545,-0.00011912333138752729,0.000566192960832268,0.000036280973290558904,0.0006151891429908574,0.000419270625570789,0.0007446972886100411,0.0009848694317042828,0.0007311853696592152,0.0014010249869897962,0.000447156373411417,0.001734805991873145,0.000048851674364414066,0.002086761873215437,-0.00039686530362814665,0.002081888262182474,-0.0007315071416087449,0.0017690588720142841,-0.0011235257843509316,0.0012453674571588635,-0.001530013862065971,0.0005929881590418518,-0.0015843822620809078,0.00013364609912969172,-0.001662310678511858,-0.0004051764262840152,-0.0017336646560579538,-0.0008209687657654285,-0.0017958111129701138,-0.0008799072238616645,-0.0023105277214199305,-0.0009375008521601558,-0.0026750226970762014,-0.00045945230522193015,-0.00301142456009984,0.00032612154609523714,-0.0037594083696603775,0.000844741880428046,-0.004248717334121466,0.001590814790688455,-0.004585081245750189,0.0022387588396668434,-0.004611271433532238,0.002747831167653203,-0.004052754957228899,0.0032969240564852953,-0.003427402814850211,0.0034304591827094555,-0.0024721764493733644,0.003596643218770623,-0.001401375513523817,0.003709446405991912,-0.0006295255152508616,0.0034894035197794437,0.000059773577959276736,0.003397291759029031,0.00038508654688484967,0.0033650926779955626,0.0005159653373993933,0.003734476398676634,0.00030270108254626393,0.0044049047864973545,-0.0007104952237568796,0.004650060087442398,-0.0020415415056049824,0.004571670666337013,-0.003501879284158349,0.004163370467722416,-0.00479539530351758,0.0036168238148093224,-0.005974814295768738,0.002774751279503107,-0.007256212644279003,0.001289845909923315,-0.007495714817196131,0.00010230821499135345,-0.006734591443091631,-0.0007406961522065103,-0.00581145565956831,-0.0016243165591731668,-0.00462182704359293,-0.002173752523958683,-0.0036379247903823853,-0.002846694318577647,-0.002800004556775093,-0.0035107601433992386,-0.0017736477311700583,-0.003419754095375538,-0.0011825866531580687,-0.0027814360801130533,-0.0008575308602303267,-0.0018417327664792538,-0.0002217306027887389,-0.000598331680521369,0.0005840326775796711,0.0008799363858997822,0.0010996086057275534,0.0021491702646017075,0.001309904851950705,0.0030024773441255093,0.0020673295948654413,0.003890095977112651,0.003430642420426011,0.004317090380936861,0.004580176901072264,0.003661549184471369,0.00580180948600173,0.0027171203400939703,0.007631687913089991,0.0020412683952599764,0.009570170193910599,0.0011816845508292317,0.010828486643731594,-0.00026033760514110327,0.010754303075373173,-0.0022562353406101465,0.009428870864212513,-0.00440824031829834,0.00784861296415329,-0.006088739261031151,0.006158956792205572,-0.007177523337304592,0.003770801005885005,-0.00812677014619112,0.0011826830450445414,-0.008794397115707397,-0.0005873069749213755,-0.008513960987329483,-0.0010649776086211205,-0.007513529155403376,-0.0007121718372218311,-0.007079744245857,-0.0002848606090992689,-0.007748864591121674,0.0008878273656591773,-0.008503956720232964,0.0035180600825697184,-0.008739612065255642,0.006504544522613287,-0.009005337953567505,0.008940945379436016,-0.00949372723698616,0.0112361591309309,-0.009555941447615623,0.01331779919564724,-0.008684584870934486,0.014238296076655388,-0.007197503000497818,0.013849114067852497,-0.005386539734899998,0.012764517217874527,-0.003275955095887184,0.01142237801104784,-0.0009684885153546929,0.010298161767423153,0.0016993064200505614,0.009333365596830845,0.00391809456050396,0.008427868597209454,0.0044991616159677505,0.008336156606674194,0.0039911759085953236,0.008962663821876049,0.0027452115900814533,0.009156675077974796,0.00011548047768883407,0.008277789689600468,-0.00374692864716053,0.006709702778607607,-0.008039569482207298,0.00510604539886117,-0.011835870333015919,0.0028857786674052477,-0.014525201171636581,-0.0005683306371793151,-0.015833331272006035,-0.004239668603986502,-0.015388516709208488,-0.006670473609119654,-0.012940594926476479,-0.007479296065866947,-0.008850338868796825,-0.007622465491294861,-0.004532064776867628,-0.0072344085201621056,-0.0008344601956196129,-0.0057411170564591885,0.0022335564717650414,-0.0032891982700675726,0.004121846053749323,0.0008299641194753349,0.005279644392430782,0.003736786311492324,0.0047928947024047375,0.0013215296203270555,0.0010782248573377728,-0.000013336036317923572,-0.0011458239750936627,0.0031413149554282427,-0.00009486293856753036,-0.0011687587248161435,-0.0041114469058811665,-0.017392633482813835,-0.015722988173365593,-0.034477073699235916,-0.027795441448688507,-0.04571573808789253,-0.036322321742773056,-0.05450707674026489,-0.0428432859480381,-0.06265253573656082,-0.047500766813755035,-0.05975385755300522,-0.041561610996723175,-0.032463666051626205,-0.013804420828819275,0.01827487349510193,0.03537826985120773,0.08266807347536087,0.097795769572258,0.15217961370944977,0.1658187061548233,0.22064581513404846,0.23351822793483734,0.28683555126190186,0.298629492521286,0.3469022810459137,0.35707736015319824,0.3909241557121277,0.4009797275066376,0.4156057834625244,0.4274917244911194,0.4247729480266571,0.43869462609291077,0.42078956961631775,0.43660423159599304,0.4062882959842682,0.42413580417633057,0.3860650956630707,0.4054466187953949,0.36459267139434814,0.38485953211784363,0.34501156210899353,0.3655964732170105,0.32996436953544617,0.34972891211509705,0.3208392858505249,0.3385865390300751,0.31652164459228516,0.3319227993488312,0.31623896956443787,0.3296041488647461,0.3198554813861847,0.3315024673938751,0.32542842626571655,0.3357532024383545,0.3314844071865082,0.3411482274532318,0.33733949065208435,0.3469061255455017,0.3416065573692322,0.3515341877937317,0.34387338161468506,0.35465532541275024,0.3446221947669983,0.3560125529766083,0.3444567918777466,0.35549405217170715,0.3434079587459564,0.3537798523902893,0.34088873863220215,0.35074639320373535,0.3382267653942108,0.34693875908851624,0.3369491696357727,0.3435756266117096,0.33618712425231934,0.3405708968639374,0.3352181017398834,0.337916761636734,0.3344864845275879,0.3360024392604828,0.3347020149230957,0.33500710129737854,0.33559557795524597,0.3345468044281006,0.3356438875198364,0.33335721492767334,0.33476224541664124,0.3313899040222168,0.33328360319137573,0.3290165960788727,0.33022430539131165,0.325093150138855,0.3257369101047516,0.3194625973701477,0.32044002413749695,0.3130733370780945,0.3142836391925812,0.3061066269874573,0.3078814744949341,0.2988135516643524,0.30184903740882874,0.2917783856391907,0.2964288294315338,0.2853374481201172,0.2916559875011444,0.27951890230178833,0.2874945402145386,0.274495929479599,0.2842196524143219,0.27030646800994873,0.28150874376296997,0.26606911420822144,0.27893924713134766,0.26149675250053406,0.2760584354400635,0.2568477988243103,0.27202627062797546,0.2516094148159027,0.26775065064430237,0.24617767333984375,0.26375263929367065,0.240883007645607,0.2583709955215454,0.2348024845123291,0.2521602511405945,0.22854775190353394,0.24681374430656433,0.22324083745479584,0.24198345839977264,0.21861906349658966,0.23773431777954102,0.21457253396511078,0.23431454598903656,0.2108982503414154,0.23115283250808716,0.20731040835380554,0.22855831682682037,0.20408383011817932,0.22669631242752075,0.2009020447731018,0.22472351789474487,0.19726240634918213,0.22214411199092865,0.19329386949539185,0.2187594175338745,0.1889563798904419,0.21419735252857208,0.18386077880859375,0.20839394629001617,0.17786459624767303,0.2017228603363037,0.1712917685508728,0.19439153373241425,0.16436927020549774,0.18625706434249878,0.1569976955652237,0.17753638327121735,0.14927631616592407,0.16906782984733582,0.14145801961421967,0.16131752729415894,0.13372083008289337,0.15394407510757446,0.1261877566576004,0.14700950682163239,0.11899550259113312,0.14078551530838013,0.11220572888851166,0.13472723960876465,0.10562274605035782,0.1288258135318756,0.09939584136009216,0.12334570288658142,0.09371078014373779,0.11740842461585999,0.08796590566635132,0.11085216701030731,0.08191831409931183,0.10430294275283813,0.0758076012134552,0.09747365862131119,0.06946639716625214,0.09014172852039337,0.06285040080547333,0.08244733512401581,0.05589297041296959,0.0747237503528595,0.0486995093524456,0.06748583912849426,0.04179181903600693,0.06031538173556328,0.034901268780231476,0.05304372310638428,0.02791520208120346,0.04633215442299843,0.021517589688301086,0.039766762405633926,0.015343964099884033,0.03282143175601959,0.008753910660743713,0.0258503258228302,0.0020630136132240295,0.01878304034471512,-0.004641629755496979,0.011329539120197296,-0.01166088879108429,0.003378555178642273,-0.019190803170204163,-0.005097053945064545,-0.027227118611335754,-0.013719238340854645,-0.03537680208683014,-0.022374339401721954,-0.043488986790180206,-0.03137648105621338,-0.05187668651342392,-0.04053819179534912,-0.0604567751288414,-0.049499429762363434,-0.06884048134088516,-0.05849288031458855,-0.07712171971797943,-0.06773670017719269,-0.08554264158010483,-0.07693895697593689,-0.09397900104522705,-0.08596764504909515,-0.10236804187297821,-0.09495700895786285,-0.11071249842643738,-0.10388500988483429,-0.11891487240791321,-0.11278313398361206,-0.1271471083164215,-0.12161137163639069,-0.1353926956653595,-0.1302194446325302,-0.14331747591495514,-0.13882678747177124,-0.15112300217151642,-0.14760717749595642,-0.15909935534000397,-0.1563674807548523,-0.1669865846633911,-0.1650761067867279,-0.17466247081756592,-0.1739044189453125,-0.1824301928281784,-0.18288172781467438,-0.19044317305088043,-0.19180621206760406,-0.1984090507030487,-0.2006174921989441,-0.2061910629272461,-0.2095491737127304,-0.2141258418560028,-0.2184688150882721,-0.22216469049453735,-0.22707563638687134,-0.2299291044473648,-0.23560881614685059,-0.23756471276283264,-0.24421198666095734,-0.24524550139904022,-0.2526945173740387,-0.252858430147171,-0.2611212730407715,-0.2604433596134186,-0.26948052644729614,-0.2679097056388855,-0.27768683433532715,-0.2752090096473694,-0.2859497666358948,-0.28264039754867554,-0.29414576292037964,-0.29005101323127747,-0.30205854773521423,-0.2971515655517578,-0.31004756689071655,-0.30430930852890015,-0.3181053400039673,-0.3115376830101013,-0.32590630650520325,-0.31850019097328186,-0.33365267515182495,-0.32542774081230164,-0.3414079546928406,-0.33242523670196533,-0.34893766045570374,-0.33921313285827637,-0.3563483953475952,-0.3458234965801239,-0.36362698674201965,-0.35227999091148376,-0.3707098960876465,-0.3586232364177704,-0.37783506512641907,-0.36508598923683167,-0.3848576247692108,-0.3714151680469513,-0.3916032016277313,-0.3774167597293854,-0.3983784317970276,-0.38348257541656494,-0.4050813317298889,-0.38953205943107605,-0.4114915728569031,-0.3952938914299011,-0.41792139410972595,-0.40107113122940063,-0.4242797791957855,-0.4067872166633606,-0.430213063955307,-0.4120813012123108,-0.4359695613384247,-0.41720691323280334,-0.4416967034339905,-0.4222995638847351,-0.44718682765960693,-0.42709559202194214,-0.45248913764953613,-0.43165889382362366,-0.45770472288131714,-0.4361976385116577,-0.4627995789051056,-0.4406948685646057,-0.467723548412323,-0.4449848532676697,-0.4723993241786957,-0.4489439129829407,-0.47690653800964355,-0.4527551233768463,-0.4812902808189392,-0.4565407931804657,-0.48539483547210693,-0.4600854218006134,-0.48930904269218445,-0.4634152054786682,-0.4931594729423523,-0.4667051434516907,-0.49675899744033813,-0.46982237696647644,-0.5000807046890259,-0.4727060794830322,-0.5032362341880798,-0.47544509172439575,-0.5061864256858826,-0.4780427813529968,-0.5089499354362488,-0.4805164635181427,-0.5115028023719788,-0.4827759861946106,-0.513809084892273,-0.48477935791015625,-0.5159985423088074,-0.48671194911003113,-0.5179522633552551,-0.4884487986564636,-0.5195164084434509,-0.4897882044315338,-0.520979642868042,-0.4910416007041931,-0.5224595069885254,-0.492371529340744,-0.5237541198730469,-0.4935266375541687,-0.5248284339904785,-0.4944034814834595,-0.5256340503692627,-0.4950096309185028,-0.5261802077293396,-0.4954404830932617,-0.5266210436820984,-0.4957996904850006,-0.5268115997314453,-0.4958656430244446,-0.5266780257225037,-0.4956287741661072,-0.5264650583267212,-0.4954100549221039,-0.526107668876648,-0.495071142911911,-0.5254742503166199,-0.49441009759902954,-0.5246858596801758,-0.4936348795890808,-0.523658812046051,-0.4927383065223694,-0.5223727226257324,-0.4916102886199951,-0.5210084915161133,-0.4903441369533539,-0.5194172263145447,-0.4888645112514496,-0.5174907445907593,-0.4871516525745392,-0.5154325366020203,-0.48535043001174927,-0.5132569074630737,-0.4833911061286926,-0.5109375715255737,-0.4812907576560974,-0.5085335969924927,-0.47917601466178894,-0.5059165954589844,-0.4768742620944977,-0.5030509233474731,-0.4742845892906189,-0.500028669834137,-0.4715332090854645,-0.4968000054359436,-0.46862754225730896,-0.49335336685180664,-0.46553701162338257,-0.4896450638771057,-0.46218371391296387,-0.48560720682144165,-0.4585230052471161,-0.4814741313457489,-0.4548163115978241,-0.47733908891677856,-0.45113861560821533,-0.47292858362197876,-0.44719982147216797,-0.46825575828552246,-0.4430288076400757,-0.46353116631507874,-0.43884843587875366,-0.4587159752845764,-0.43462270498275757,-0.45373016595840454,-0.43027472496032715,-0.44851088523864746,-0.4257199764251709,-0.4430246949195862,-0.42090100049972534,-0.4373963177204132,-0.41597795486450195,-0.43161025643348694,-0.4109745919704437,-0.42553985118865967,-0.40570569038391113,-0.4193096160888672,-0.4002203345298767,-0.41303032636642456,-0.39467763900756836,-0.4066188335418701,-0.38908135890960693,-0.4000610113143921,-0.38337835669517517,-0.3933746814727783,-0.37749603390693665,-0.3865426182746887,-0.37144654989242554,-0.3795803189277649,-0.36532968282699585,-0.37244653701782227,-0.3590787649154663,-0.36512744426727295,-0.3526001274585724,-0.35773417353630066,-0.3460187315940857,-0.3503147065639496,-0.339443564414978,-0.3428031802177429,-0.3328033685684204,-0.33511918783187866,-0.32598936557769775,-0.3272414207458496,-0.318989634513855,-0.319307416677475,-0.31192755699157715,-0.3114268183708191,-0.30487531423568726,-0.3034377694129944,-0.29770565032958984,-0.2951779365539551,-0.29031598567962646,-0.28677380084991455,-0.2827863097190857,-0.2784140706062317,-0.27522894740104675,-0.2700554132461548,-0.26765698194503784,-0.26152825355529785,-0.2599930167198181,-0.25285422801971436,-0.2521980106830597,-0.24422062933444977,-0.2443566769361496,-0.2356354296207428,-0.23653943836688995,-0.22694560885429382,-0.2287016212940216,-0.218154639005661,-0.22078363597393036,-0.20938779413700104,-0.2128010392189026,-0.20065683126449585,-0.20482154190540314,-0.19187307357788086,-0.19685180485248566,-0.18300488591194153,-0.18880067765712738,-0.17411771416664124,-0.1806454360485077,-0.16525717079639435,-0.17248183488845825,-0.15638071298599243,-0.1643337905406952,-0.14744843542575836,-0.15611480176448822,-0.13846251368522644,-0.14778637886047363,-0.12942667305469513,-0.1394030600786209,-0.12038421630859375,-0.13102714717388153,-0.11140423268079758,-0.12266922742128372,-0.10246630012989044,-0.11430176347494125,-0.09349130839109421,-0.10590529441833496,-0.08449366688728333,-0.09749168902635574,-0.07557141780853271,-0.08910224586725235,-0.06675387918949127,-0.0807742029428482,-0.057972121983766556,-0.07248006016016006,-0.0491742342710495,-0.06414788961410522,-0.04038545489311218,-0.05578262731432915,-0.031651221215724945,-0.04744748771190643,-0.023004386574029922,-0.03917189687490463,-0.014445883221924305,-0.03089878335595131,-0.005930168554186821,-0.022583838552236557,0.002562102861702442,-0.014277668669819832,0.010952816344797611,-0.0060509974136948586,0.01916518434882164,0.002093313727527857,0.027261536568403244,0.010179467499256134,0.03536767512559891,0.01820770837366581,0.043512094765901566,0.026199307292699814,0.05165395140647888,0.03420865908265114,0.059800952672958374,0.04223240911960602,0.06799114495515823,0.05020764097571373,0.0762426033616066,0.05816218629479408,0.08457324653863907,0.06622572243213654,0.09293084591627121,0.07437774538993835,0.10108152031898499,0.08233530074357986,0.10879091918468475,0.08987627178430557,0.11614792048931122,0.09715694189071655,0.1234435960650444,0.10448165237903595,0.13069337606430054,0.11183199286460876,0.137596994638443,0.11889855563640594,0.1440371870994568,0.12557530403137207,0.15028083324432373,0.13212789595127106,0.15657037496566772,0.13878726959228516,0.1628297120332718,0.1454436331987381,0.16891765594482422,0.15190395712852478,0.1749131679534912,0.15824180841445923,0.1809864193201065,0.16467547416687012,0.18716280162334442,0.17122480273246765,0.19334079325199127,0.17770837247371674,0.19944238662719727,0.18403005599975586,0.2054712474346161,0.19027374684810638,0.21147370338439941,0.1965131163597107,0.21746426820755005,0.202686607837677,0.22337956726551056,0.2087024450302124,0.22914519906044006,0.2145642787218094,0.23477570712566376,0.22034037113189697,0.2403235286474228,0.22606170177459717,0.24574553966522217,0.23169220983982086,0.25093889236450195,0.23718631267547607,0.25590190291404724,0.242568701505661,0.2607375681400299,0.24794656038284302,0.26550406217575073,0.25342273712158203,0.27017199993133545,0.25899767875671387,0.27470505237579346,0.2645891606807709,0.27907735109329224,0.27013954520225525,0.28324833512306213,0.27565181255340576,0.2872246503829956,0.28112611174583435,0.2910986542701721,0.28652048110961914,0.29492753744125366,0.2917826473712921,0.2986379861831665,0.2968660891056061,0.30215686559677124,0.3017169237136841,0.30556589365005493,0.306292861700058,0.30898672342300415,0.3105788826942444,0.31235742568969727,0.31453004479408264,0.31548088788986206,0.3180347979068756,0.31830263137817383,0.3210201859474182,0.3209911286830902,0.32356560230255127,0.32369938492774963,0.32582664489746094,0.3263929486274719,0.3278847932815552,0.3289925754070282,0.32976004481315613,0.33154329657554626,0.33151277899742126,0.33410102128982544,0.33320218324661255,0.3365638256072998,0.3347967565059662,0.3387991189956665,0.3362775146961212,0.3408724367618561,0.33779776096343994,0.34296247363090515,0.33957409858703613,0.3450830578804016,0.34163421392440796,0.34706878662109375,0.3438357412815094,0.348814994096756,0.34612223505973816,0.35035955905914307,0.34857824444770813,0.3517402708530426,0.3512190878391266,0.35293614864349365,0.35391637682914734,0.35395580530166626,0.3565821945667267,0.35486266016960144,0.35927093029022217,0.35572633147239685,0.36204156279563904,0.356637567281723,0.3648494482040405,0.3577037751674652,0.36761653423309326,0.3589226007461548,0.3702812194824219,0.3601362705230713,0.37273502349853516,0.3612326383590698,0.37484031915664673,0.36232203245162964,0.37658295035362244,0.36361539363861084,0.37812894582748413,0.3651997447013855,0.3796727657318115,0.3670227825641632,0.3812750577926636,0.3690119981765747,0.38286787271499634,0.3711033761501312,0.3843686878681183,0.37321075797080994,0.3857674300670624,0.37523677945137024,0.38710513710975647,0.37706899642944336,0.3883553445339203,0.37854859232902527,0.3893587589263916,0.37954261898994446,0.38997459411621094,0.3800737261772156,0.3902926743030548,0.3802680969238281,0.39055025577545166,0.38013553619384766,0.39079850912094116,0.37950754165649414,0.3908044993877411,0.3782094717025757,0.3903343379497528,0.3761543035507202,0.389335036277771,0.3732477128505707,0.3877517879009247,0.3694034218788147,0.38540199398994446,0.36476823687553406,0.38222476840019226,0.3597945272922516,0.3785027265548706,0.35500597953796387,0.37467244267463684,0.3508549928665161,0.371074914932251,0.3479050397872925,0.3680570721626282,0.3469204604625702,0.3661377429962158,0.34853217005729675,0.3658168911933899,0.3528748154640198,0.36726272106170654,0.35964274406433105,0.3702837824821472,0.36830464005470276,0.37445157766342163,0.37805625796318054,0.37910306453704834,0.38772836327552795,0.3833930492401123,0.3960375189781189,0.38656750321388245,0.4019690752029419,0.3881657123565674,0.4048866331577301,0.38796383142471313,0.40447235107421875,0.38597115874290466,0.40075889229774475,0.3825986981391907,0.394109308719635,0.3785688579082489,0.3850228786468506,0.3744800388813019,0.3740721046924591,0.37065625190734863,0.3620791435241699,0.3674893379211426,0.3500944972038269,0.3655659258365631,0.33906349539756775,0.3652535676956177,0.3297199308872223,0.36647671461105347,0.3227653205394745,0.36900168657302856,0.3185165226459503,0.372326135635376,0.31588882207870483,0.37477192282676697,0.31177088618278503,0.37278440594673157,0.3019689917564392,0.36187323927879333,0.2825281023979187,0.3380492031574249,0.25039106607437134,0.29856887459754944,0.20400939881801605,0.24250024557113647,0.14459776878356934,0.17187324166297913,0.07684291154146194,0.09231474250555038,0.00776814017444849,0.011855741031467915,-0.05500537157058716,-0.060879603028297424,-0.1035246029496193,-0.1170259341597557,-0.12914299964904785,-0.14721639454364777,-0.12436288595199585,-0.14353066682815552,-0.08681271970272064,-0.1035139262676239,-0.021452229470014572,-0.032334811985492706,0.06164011359214783,0.05947559326887131,0.15169209241867065,0.16042886674404144,0.2398754358291626,0.2607254385948181,0.3191983103752136,0.3522929549217224,0.3837544322013855,0.42822763323783875,0.4290175437927246,0.4831486642360687,0.4528612196445465,0.514176607131958,0.4562394618988037,0.521668553352356,0.44294753670692444,0.5091447830200195,0.41847264766693115,0.4822106659412384,0.3884967267513275,0.44692263007164,0.3579346537590027,0.40867704153060913,0.3308313190937042,0.37211814522743225,0.31042635440826416,0.34127500653266907,0.2987293004989624,0.31904998421669006,0.2959997057914734,0.30647990107536316,0.30091267824172974,0.3027843236923218,0.3113101124763489,0.306190550327301,0.3247837424278259,0.31460651755332947,0.3388565182685852,0.32574155926704407,0.3511863946914673,0.33718350529670715,0.35997089743614197,0.34681347012519836,0.3642255961894989,0.3532503843307495,0.3637520968914032,0.35595330595970154,0.3590213358402252,0.3550752103328705,0.351114958524704,0.35131362080574036,0.3415455222129822,0.3457548916339874,0.3318597078323364,0.3396145701408386,0.32324835658073425,0.33392757177352905,0.31639763712882996,0.32932248711586,0.3115268051624298,0.3259360194206238,0.3084493577480316,0.32346779108047485,0.3066614270210266,0.3213740587234497,0.3055570721626282,0.3191356658935547,0.30470365285873413,0.3164435923099518,0.3039399981498718,0.313181608915329,0.30320900678634644,0.30928266048431396,0.3023843467235565,0.3046846091747284,0.3013804256916046,0.2994810938835144,0.3003881573677063,0.29404520988464355,0.2997879981994629,0.28885146975517273,0.2997121810913086,0.28411442041397095,0.2998063862323761,0.2796758711338043,0.2995368540287018,0.2752785384654999,0.2986152470111847,0.2708359360694885,0.2969832122325897,0.2663668990135193,0.29451480507850647,0.26180583238601685,0.2909870147705078,0.25703945755958557,0.2863495647907257,0.25208550691604614,0.2808309495449066,0.24710004031658173,0.27474072575569153,0.2422293871641159,0.26830995082855225,0.23756276071071625,0.261757493019104,0.23320716619491577,0.25537675619125366,0.22930194437503815,0.2494843453168869,0.22595880925655365,0.24431155622005463,0.22322537004947662,0.23989641666412354,0.2210220843553543,0.235987588763237,0.2190142273902893,0.2321094125509262,0.21664059162139893,0.22785964608192444,0.2134196013212204,0.2231336086988449,0.20920293033123016,0.21797817945480347,0.20404097437858582,0.2123415470123291,0.19792068004608154,0.20616373419761658,0.19082854688167572,0.19966572523117065,0.18301355838775635,0.19332806766033173,0.1749725341796875,0.18755415081977844,0.16715316474437714,0.18249043822288513,0.15979434549808502,0.1781284064054489,0.15299631655216217,0.17435649037361145,0.14673756062984467,0.1708746999502182,0.1408073604106903,0.16724835336208344,0.13490109145641327,0.16312113404273987,0.1288263201713562,0.1582898050546646,0.12252052128314972,0.1526111662387848,0.11592620611190796,0.14601793885231018,0.109025739133358,0.1386347860097885,0.10197537392377853,0.13071639835834503,0.09501562267541885,0.12245433777570724,0.08824774622917175,0.11396884173154831,0.0816502720117569,0.10543704777956009,0.0752602368593216,0.09703152626752853,0.06912031024694443,0.08874747902154922,0.06306732445955276,0.0804801806807518,0.05680617690086365,0.07224872708320618,0.050199929624795914,0.06413860619068146,0.04326504096388817,0.056058719754219055,0.03589431941509247,0.04781285300850868,0.02787492424249649,0.03942457586526871,0.019239455461502075,0.031131481751799583,0.010328397154808044,0.023022381588816643,0.001407034695148468,0.014940470457077026,-0.007533639669418335,0.006808610633015633,-0.016492079943418503,-0.0012192577123641968,-0.025234082713723183,-0.009038610383868217,-0.03353056684136391,-0.016785575076937675,-0.041423678398132324,-0.024613576009869576,-0.04908459633588791,-0.03248251974582672,-0.056559376418590546,-0.04031608998775482,-0.0638224333524704,-0.04819875210523605,-0.07095935940742493,-0.05626891925930977,-0.07813222706317902,-0.06454124301671982,-0.08543310314416885,-0.0729595273733139,-0.09288822114467621,-0.0815194621682167,-0.10053624212741852,-0.09023560583591461,-0.10840082168579102,-0.09907303005456924,-0.11644048988819122,-0.1079840436577797,-0.12459170818328857,-0.11693437397480011,-0.1328069120645523,-0.12586098909378052,-0.14102135598659515,-0.1347116231918335,-0.14916948974132538,-0.14354576170444489,-0.15726426243782043,-0.15246544778347015,-0.16536462306976318,-0.16142883896827698,-0.1734473705291748,-0.17029942572116852,-0.18144424259662628,-0.17903432250022888,-0.18932628631591797,-0.18777750432491302,-0.19719542562961578,-0.1966264843940735,-0.2051265984773636,-0.20549310743808746,-0.21306931972503662,-0.2142835110425949,-0.22096262872219086,-0.2230629175901413,-0.2288345843553543,-0.23193064332008362,-0.23672154545783997,-0.24084587395191193,-0.24458253383636475,-0.24968738853931427,-0.2523565888404846,-0.25840240716934204,-0.26002565026283264,-0.2669919431209564,-0.2675635516643524,-0.2754093110561371,-0.2748936712741852,-0.2835761606693268,-0.28195685148239136,-0.2914767563343048,-0.2887730896472931,-0.29917678236961365,-0.2954060733318329,-0.3067672550678253,-0.30192068219184875,-0.31432220339775085,-0.30839264392852783,-0.32188379764556885,-0.31489381194114685,-0.3294561803340912,-0.3214408755302429,-0.3370295464992523,-0.328012615442276,-0.3446136713027954,-0.33462363481521606,-0.35221201181411743,-0.34130868315696716,-0.3597670793533325,-0.34802311658859253,-0.36719390749931335,-0.3546490967273712,-0.3744781017303467,-0.36113351583480835,-0.38167330622673035,-0.36753392219543457,-0.3887888789176941,-0.37389105558395386,-0.39575546979904175,-0.38014477491378784,-0.40252387523651123,-0.38622432947158813,-0.4091200828552246,-0.39214345812797546,-0.4155809283256531,-0.3979530334472656,-0.42190879583358765,-0.40365856885910034,-0.4280899465084076,-0.40922433137893677,-0.43409258127212524,-0.4146045446395874,-0.43986040353775024,-0.4197533428668976,-0.44537705183029175,-0.42464694380760193,-0.4506929814815521,-0.4293072521686554,-0.4558223783969879,-0.43376216292381287,-0.4606941044330597,-0.43799930810928345,-0.4652884602546692,-0.442005455493927,-0.4697306454181671,-0.4458353519439697,-0.4741453230381012,-0.44958731532096863,-0.47850847244262695,-0.45330822467803955,-0.4827500581741333,-0.4569667875766754,-0.4869179129600525,-0.46052834391593933,-0.4911094307899475,-0.4640166759490967,-0.49528059363365173,-0.4674590229988098,-0.49924901127815247,-0.4707924723625183,-0.5029004216194153,-0.4738979935646057,-0.5062958002090454,-0.4767228066921234,-0.5095095038414001,-0.47928720712661743,-0.5124505758285522,-0.4815814197063446,-0.5149758458137512,-0.48357388377189636,-0.5171502828598022,-0.48531922698020935,-0.5192136764526367,-0.4869314432144165,-0.5212603807449341,-0.488446980714798,-0.5231381058692932,-0.48984047770500183,-0.52472984790802,-0.4911395013332367,-0.5261441469192505,-0.4923926889896393,-0.527509868144989,-0.49356329441070557,-0.5287466049194336,-0.49457594752311707,-0.5296869277954102,-0.49541616439819336,-0.5303183197975159,-0.49609023332595825,-0.5307528972625732,-0.49656811356544495,-0.5310207605361938,-0.4968433976173401,-0.5310498476028442,-0.496968537569046,-0.530831515789032,-0.49698033928871155,-0.5304620265960693,-0.49686378240585327,-0.5299873352050781,-0.4966042637825012,-0.5293381810188293,-0.4962059259414673,-0.5284557342529297,-0.49565649032592773,-0.5273529887199402,-0.4949106276035309,-0.526007354259491,-0.4938989281654358,-0.5243396759033203,-0.49257004261016846,-0.5223512649536133,-0.49095845222473145,-0.5201387405395508,-0.48915889859199524,-0.5177398324012756,-0.48719456791877747,-0.5151124596595764,-0.4850119352340698,-0.5122785568237305,-0.482637494802475,-0.5093286633491516,-0.4801918864250183,-0.5062897801399231,-0.4777042865753174,-0.5031248927116394,-0.475080281496048,-0.49982544779777527,-0.4722902476787567,-0.4963882863521576,-0.46941402554512024,-0.49277254939079285,-0.46646642684936523,-0.48896169662475586,-0.46334540843963623,-0.48497438430786133,-0.45997869968414307,-0.48077625036239624,-0.4563928246498108,-0.4763081669807434,-0.45262888073921204,-0.47160157561302185,-0.4486851990222931,-0.4667295813560486,-0.4445449113845825,-0.46167927980422974,-0.4402090609073639,-0.45640772581100464,-0.4357064366340637,-0.45095518231391907,-0.43107399344444275,-0.4453774094581604,-0.4263157844543457,-0.43965455889701843,-0.4214092791080475,-0.43376171588897705,-0.4163581430912018,-0.427729070186615,-0.4111863970756531,-0.42157092690467834,-0.40588706731796265,-0.41525986790657043,-0.40044105052948,-0.4087994396686554,-0.3948689103126526,-0.4022263288497925,-0.38919609785079956,-0.3955446183681488,-0.38339942693710327,-0.3887292444705963,-0.3774532377719879,-0.3817715644836426,-0.37138763070106506,-0.37467828392982483,-0.3652406632900238,-0.36746498942375183,-0.3589944839477539,-0.36015987396240234,-0.35260990262031555,-0.3527684509754181,-0.3460889160633087,-0.3452497124671936,-0.33946171402931213,-0.3375682830810547,-0.3327275514602661,-0.3297394812107086,-0.32584986090660095,-0.3218045234680176,-0.3188246786594391,-0.31380194425582886,-0.31171417236328125,-0.3057512938976288,-0.3045653700828552,-0.29762595891952515,-0.29733529686927795,-0.28938376903533936,-0.28996893763542175,-0.2810479402542114,-0.28250637650489807,-0.2726821303367615,-0.27501970529556274,-0.2642843723297119,-0.26749780774116516,-0.2558106482028961,-0.25989100337028503,-0.24728626012802124,-0.25220686197280884,-0.23876431584358215,-0.24447709321975708,-0.23021483421325684,-0.23670168220996857,-0.22157728672027588,-0.22887814044952393,-0.21286465227603912,-0.221002995967865,-0.20411089062690735,-0.21303793787956238,-0.19533251225948334,-0.20500221848487854,-0.1864926666021347,-0.19693033397197723,-0.1776198148727417,-0.18884466588497162,-0.16875708103179932,-0.1807192862033844,-0.15989913046360016,-0.1725713461637497,-0.15102531015872955,-0.16447541117668152,-0.14213839173316956,-0.15643048286437988,-0.13326241075992584,-0.1483512669801712,-0.12442145496606827,-0.1402113437652588,-0.11559772491455078,-0.13205887377262115,-0.10671859979629517,-0.12390013784170151,-0.09771277010440826,-0.11567951738834381,-0.08856542408466339,-0.10734037309885025,-0.07931990921497345,-0.09885535389184952,-0.07004343718290329,-0.09027108550071716,-0.06076359748840332,-0.08171606063842773,-0.051445167511701584,-0.07325153797864914,-0.042089834809303284,-0.0647740513086319,-0.03280926123261452,-0.056217558681964874,-0.02369919791817665,-0.04774121567606926,-0.014719998463988304,-0.03951798379421234,-0.005831114947795868,-0.031474702060222626,0.0028619803488254547,-0.023466356098651886,0.011266704648733139,-0.015539433807134628,0.019486743956804276,-0.007796190679073334,0.02764134854078293,-0.0002129673957824707,0.035642001777887344,0.007213525474071503,0.043391402810811996,0.014408908784389496,0.051025353372097015,0.021428555250167847,0.05867929756641388,0.028416655957698822,0.0662369579076767,0.03535858541727066,0.07358866930007935,0.042189568281173706,0.08084963262081146,0.0490066260099411,0.08807537704706192,0.05589109659194946,0.09510941803455353,0.06279647350311279,0.10187757015228271,0.06977587193250656,0.10846224427223206,0.07693607360124588,0.11485867202281952,0.08415903151035309,0.12102552503347397,0.09127787500619888,0.12707127630710602,0.09834423661231995,0.13310644030570984,0.10538395494222641,0.1391477882862091,0.11228538304567337,0.14532488584518433,0.11914981156587601,0.15184150636196136,0.12623929977416992,0.15870630741119385,0.13356147706508636,0.16585108637809753,0.14108172059059143,0.17339038848876953,0.1491435021162033,0.1814194768667221,0.15807709097862244,0.18974897265434265,0.16768202185630798,0.198135644197464,0.17754817008972168,0.20657123625278473,0.18749697506427765,0.2151017040014267,0.1973915696144104,0.22352728247642517,0.20688694715499878,0.2315070927143097,0.21554161608219147,0.23887209594249725,0.22295071184635162,0.24563157558441162,0.22886541485786438,0.25171032547950745,0.23340195417404175,0.2569041848182678,0.23695433139801025,0.261075884103775,0.23977386951446533,0.26421427726745605,0.24187617003917694,0.2663898468017578,0.24339160323143005,0.2677948474884033,0.24464905261993408,0.26866623759269714,0.24582798779010773,0.2691427767276764,0.24681979417800903,0.26940131187438965,0.24747145175933838,0.26977843046188354,0.2477508783340454,0.2705434560775757,0.24775663018226624,0.27185192704200745,0.24776995182037354,0.2739870250225067,0.2481580376625061,0.27716192603111267,0.2491474449634552,0.28118157386779785,0.25096777081489563,0.28582748770713806,0.25415366888046265,0.29126155376434326,0.2592353820800781,0.29756784439086914,0.2661699652671814,0.30439600348472595,0.274442195892334,0.3113973140716553,0.2835386097431183,0.3184615671634674,0.2930457592010498,0.3254229426383972,0.3025587797164917,0.33204150199890137,0.3116576075553894,0.33815014362335205,0.3198394179344177,0.3434916138648987,0.3266984820365906,0.34775760769844055,0.3323238790035248,0.35095351934432983,0.33714330196380615,0.35330039262771606,0.34139373898506165,0.3547760844230652,0.3451768755912781,0.35519939661026,0.34872883558273315,0.354733943939209,0.3521868586540222,0.35391494631767273,0.35551464557647705,0.3531007468700409,0.3588149845600128,0.35216692090034485,0.362111359834671,0.3509524166584015,0.3649575114250183,0.3497481942176819,0.3669162392616272,0.34890446066856384,0.3680737018585205,0.34819650650024414,0.36864179372787476,0.34714847803115845,0.3686122000217438,0.34571465849876404,0.36799123883247375,0.34409332275390625,0.36683329939842224,0.34221574664115906,0.36515533924102783,0.33987826108932495,0.3631545305252075,0.33708736300468445,0.36112385988235474,0.33407649397850037,0.3591340482234955,0.33116063475608826,0.35727792978286743,0.3285318911075592,0.35586118698120117,0.3262489140033722,0.35493436455726624,0.3246261179447174,0.3543103337287903,0.324245810508728,0.3542410731315613,0.3252984285354614,0.35525748133659363,0.3275124430656433,0.35742220282554626,0.3308638334274292,0.3604626953601837,0.33558639883995056,0.3642706573009491,0.34152770042419434,0.3687928318977356,0.34815678000450134,0.37390872836112976,0.3549131751060486,0.3794596493244171,0.36118724942207336,0.3849322199821472,0.3664550185203552,0.3894926607608795,0.3704560697078705,0.39263832569122314,0.37284305691719055,0.3941919207572937,0.3731362521648407,0.39371824264526367,0.3713011145591736,0.39081722497940063,0.36774566769599915,0.3857673704624176,0.36292165517807007,0.3792005181312561,0.35753628611564636,0.37164250016212463,0.35247477889060974,0.3638255000114441,0.34811195731163025,0.3568190634250641,0.34460335969924927,0.35156095027923584,0.342583566904068,0.3486330211162567,0.3424295485019684,0.3483543395996094)
30 new Array(0.3436359763145447,0.3507392704486847,0.3458445370197296,0.35553568601608276,0.349070280790329,0.36218830943107605,0.3529009521007538,0.36989903450012207,0.3567352890968323,0.3776802718639374,0.3602409362792969,0.3845756947994232,0.3624301850795746,0.38984495401382446,0.36204901337623596,0.3930245339870453,0.35958513617515564,0.39386096596717834,0.35623884201049805,0.39222022891044617,0.35106125473976135,0.3883177638053894,0.34256747364997864,0.38292935490608215,0.3323298692703247,0.3768877685070038,0.323260098695755,0.37063145637512207,0.3156992495059967,0.3646821975708008,0.3084883987903595,0.35974499583244324,0.3018919825553894,0.35562121868133545,0.29641395807266235,0.3507556915283203,0.2904132902622223,0.34314075112342834,0.28101786971092224,0.33097949624061584,0.26616284251213074,0.31287649273872375,0.2446533590555191,0.2879803478717804,0.21516236662864685,0.255038857460022,0.17608602344989777,0.21176795661449432,0.12704282999038696,0.15780548751354218,0.07108964771032333,0.09810417890548706,0.014752926304936409,0.040358446538448334,-0.035008858889341354,-0.010328201577067375,-0.07317540794610977,-0.05101863294839859,-0.09570048749446869,-0.07671763747930527,-0.09804818034172058,-0.08093484491109848,-0.0764317587018013,-0.06037058308720589,-0.03042197786271572,-0.01648930460214615,0.03596554324030876,0.0465453676879406,0.11531345546245575,0.12299899756908417,0.1989039182662964,0.20528899133205414,0.27868446707725525,0.28483620285987854,0.34824496507644653,0.3541155457496643,0.40280720591545105,0.40809503197669983,0.43914052844047546,0.4442239999771118,0.45606517791748047,0.46168196201324463,0.4549923837184906,0.4612167477607727,0.43956613540649414,0.4456948935985565,0.41455766558647156,0.41990524530410767,0.3848838806152344,0.3890814185142517,0.35493040084838867,0.35762137174606323,0.32800400257110596,0.3289647400379181,0.30628281831741333,0.3057825565338135,0.291183739900589,0.2896957993507385,0.28327441215515137,0.2809591591358185,0.2818855345249176,0.2787399888038635,0.2854923605918884,0.28177735209465027,0.2925439476966858,0.2886710464954376,0.30161160230636597,0.2977151870727539,0.31119534373283386,0.30709391832351685,0.31999343633651733,0.31554341316223145,0.3271985352039337,0.3224572539329529,0.3323807716369629,0.3273491859436035,0.3353782892227173,0.32981887459754944,0.3363034129142761,0.33001670241355896,0.33541586995124817,0.32849812507629395,0.33304548263549805,0.32565680146217346,0.32961732149124146,0.3217451870441437,0.3255370557308197,0.31720080971717834,0.3211156129837036,0.31249549984931946,0.3166646659374237,0.30782362818717957,0.3124258816242218,0.30318742990493774,0.3084467351436615,0.29864123463630676,0.304767370223999,0.29430586099624634,0.3015163242816925,0.290192186832428,0.29865914583206177,0.28612279891967773,0.2959946393966675,0.28194108605384827,0.29342013597488403,0.27772849798202515,0.2908669412136078,0.273634672164917,0.2881903052330017,0.26963305473327637,0.2853950262069702,0.2656824290752411,0.2825847864151001,0.2619113028049469,0.27963492274284363,0.2584269642829895,0.2764520049095154,0.2552037239074707,0.2733556032180786,0.25225701928138733,0.27060335874557495,0.24962079524993896,0.2679532766342163,0.24718371033668518,0.26519572734832764,0.24481931328773499,0.26249805092811584,0.2424980103969574,0.25986188650131226,0.2400670051574707,0.25692054629325867,0.23722389340400696,0.2534322142601013,0.23384401202201843,0.2493741512298584,0.2300342619419098,0.24467289447784424,0.2258572280406952,0.23934808373451233,0.22128351032733917,0.23365342617034912,0.21636269986629486,0.22778062522411346,0.21126005053520203,0.22179719805717468,0.2061673104763031,0.21593421697616577,0.20118600130081177,0.2105105221271515,0.19625036418437958,0.2056254893541336,0.19125910103321075,0.20119091868400574,0.1862357258796692,0.1970648467540741,0.18117842078208923,0.19303493201732635,0.17590683698654175,0.1889193207025528,0.17028747498989105,0.18464966118335724,0.16439872980117798,0.18007981777191162,0.1582980751991272,0.17496532201766968,0.15188351273536682,0.16928313672542572,0.14509545266628265,0.1632496416568756,0.13801680505275726,0.1569652110338211,0.13074497878551483,0.1503717601299286,0.1233326643705368,0.1435215175151825,0.11582323908805847,0.1365867406129837,0.10827413201332092,0.12966367602348328,0.10077520459890366,0.12275254726409912,0.0934087336063385,0.11584542691707611,0.08619605004787445,0.10892727971076965,0.07917298376560211,0.10195941478013992,0.07243507355451584,0.09491272270679474,0.06601165235042572,0.08778388798236847,0.05983836576342583,0.0805385559797287,0.05387263000011444,0.07305917888879776,0.04803667962551117,0.06523420661687851,0.04212284833192825,0.057080116122961044,0.03594566509127617,0.04865209758281708,0.029429901391267776,0.039905570447444916,0.022460641339421272,0.03080851025879383,0.014893142506480217,0.02146265283226967,0.006716256495565176,0.011982964351773262,-0.001997239887714386,0.0024438141845166683,-0.011165347881615162,-0.007014747243374586,-0.020593587309122086,-0.016242871060967445,-0.030016787350177765,-0.025171050801873207,-0.039254624396562576,-0.03368787094950676,-0.04812806844711304,-0.041668251156806946,-0.056405309587717056,-0.04917296767234802,-0.0640219897031784,-0.056338705122470856,-0.07114075869321823,-0.06319992244243622,-0.07793767005205154,-0.06988830864429474,-0.08454476296901703,-0.07669203728437424,-0.09115692973136902,-0.08373631536960602,-0.09804609417915344,-0.09103355556726456,-0.10550685971975327,-0.09883319586515427,-0.11369960010051727,-0.10741837322711945,-0.12249250710010529,-0.11673317849636078,-0.1316787600517273,-0.1266242116689682,-0.14125868678092957,-0.1370970606803894,-0.15116144716739655,-0.1480569839477539,-0.16098646819591522,-0.1592252403497696,-0.1704384982585907,-0.17041613161563873,-0.17959284782409668,-0.18150544166564941,-0.18844667077064514,-0.19222383201122284,-0.1967857927083969,-0.20232486724853516,-0.20461004972457886,-0.21179530024528503,-0.21210674941539764,-0.2207169234752655,-0.21930965781211853,-0.22912082076072693,-0.2262527346611023,-0.23705273866653442,-0.23312364518642426,-0.244648739695549,-0.23997023701667786,-0.25211477279663086,-0.24670550227165222,-0.2596213221549988,-0.2534589469432831,-0.2672247886657715,-0.2604459822177887,-0.27498531341552734,-0.26765093207359314,-0.2830657362937927,-0.2750389277935028,-0.29154103994369507,-0.2827794849872589,-0.3002829849720001,-0.29098790884017944,-0.3091878592967987,-0.29958197474479675,-0.31826746463775635,-0.3085162043571472,-0.32745054364204407,-0.31784147024154663,-0.336588978767395,-0.32749396562576294,-0.34562060236930847,-0.3372446596622467,-0.35447514057159424,-0.3468747138977051,-0.36298662424087524,-0.35627293586730957,-0.3710893392562866,-0.3653349280357361,-0.37888044118881226,-0.3738906681537628,-0.3864019513130188,-0.38183271884918213,-0.3935663104057312,-0.38917502760887146,-0.40029746294021606,-0.39585989713668823,-0.4066075086593628,-0.40175122022628784,-0.4125635325908661,-0.4069103002548218,-0.41820240020751953,-0.41154420375823975,-0.42346662282943726,-0.415698766708374,-0.4283090829849243,-0.4193916618824005,-0.4328407943248749,-0.42285987734794617,-0.4372495412826538,-0.42631256580352783,-0.4416581094264984,-0.4297977387905121,-0.4461841285228729,-0.4335118532180786,-0.451017290353775,-0.43769797682762146,-0.4563363194465637,-0.4422340989112854,-0.46220043301582336,-0.4469219446182251,-0.4685121476650238,-0.4519149363040924,-0.4750834107398987,-0.4572798013687134,-0.4817622900009155,-0.46262893080711365,-0.4883791208267212,-0.4676629602909088,-0.4945853352546692,-0.4724624752998352,-0.5000262260437012,-0.47698476910591125,-0.5046371221542358,-0.4809568226337433,-0.5084781646728516,-0.48434996604919434,-0.5114843249320984,-0.4873488247394562,-0.5136945247650146,-0.48995310068130493,-0.5154111385345459,-0.49210289120674133,-0.516903281211853,-0.4939757287502289,-0.5183118581771851,-0.4957995116710663,-0.5198625922203064,-0.4976169764995575,-0.521746039390564,-0.49945729970932007,-0.5239163041114807,-0.5014687180519104,-0.5263248682022095,-0.5037275552749634,-0.5290380120277405,-0.5061351656913757,-0.5319313406944275,-0.5085968375205994,-0.5346949696540833,-0.5110976099967957,-0.5372004508972168,-0.5135430693626404,-0.5394700765609741,-0.5157400369644165,-0.5414009094238281,-0.5175819993019104,-0.542862057685852,-0.5190489888191223,-0.5438710451126099,-0.5200487375259399,-0.5444741249084473,-0.5204949378967285,-0.5446802377700806,-0.520462155342102,-0.544552206993103,-0.5200443267822266,-0.5441441535949707,-0.5192134380340576,-0.5434141755104065,-0.5179857611656189,-0.542346179485321,-0.5164980292320251,-0.541022777557373,-0.5148156881332397,-0.5394992828369141,-0.5129062533378601,-0.5377427935600281,-0.5108166337013245,-0.5357125997543335,-0.5086457133293152,-0.5334264039993286,-0.5064231157302856,-0.5309809446334839,-0.5041735768318176,-0.5284898281097412,-0.501957893371582,-0.5259407162666321,-0.4997645318508148,-0.5232195854187012,-0.49752259254455566,-0.5203320384025574,-0.4952189326286316,-0.5174044966697693,-0.4928598403930664,-0.5144237279891968,-0.49038657546043396,-0.5112305283546448,-0.48774129152297974,-0.5077933073043823,-0.48493388295173645,-0.5042111873626709,-0.4819803535938263,-0.5004695653915405,-0.47884082794189453,-0.49646249413490295,-0.4754530191421509,-0.4921858608722687,-0.47181081771850586,-0.48766329884529114,-0.4679860472679138,-0.4828302264213562,-0.4640211760997772,-0.4776991307735443,-0.45984530448913574,-0.4724256694316864,-0.4554009437561035,-0.4670521914958954,-0.45078036189079285,-0.46145713329315186,-0.44608256220817566,-0.45564666390419006,-0.4412424862384796,-0.4497779309749603,-0.43617334961891174,-0.44387221336364746,-0.43095916509628296,-0.4378197193145752,-0.4257330596446991,-0.43161824345588684,-0.4204648733139038,-0.4253285229206085,-0.4150194823741913,-0.4189133048057556,-0.4093530774116516,-0.41232648491859436,-0.40354013442993164,-0.40559619665145874,-0.39763739705085754,-0.3987126648426056,-0.3915990889072418,-0.3916330635547638,-0.3853526711463928,-0.38440752029418945,-0.3789190351963043,-0.37710270285606384,-0.37238672375679016,-0.36967653036117554,-0.36577948927879333,-0.3620924651622772,-0.3590465188026428,-0.35440847277641296,-0.3521696627140045,-0.3466413915157318,-0.3451785445213318,-0.3387884497642517,-0.33814793825149536,-0.3308127522468567,-0.33104076981544495,-0.3227776885032654,-0.32384273409843445,-0.31471219658851624,-0.31652259826660156,-0.30657118558883667,-0.3090512454509735,-0.2983539402484894,-0.30152422189712524,-0.2901151776313782,-0.2940562069416046,-0.2818600535392761,-0.2865472733974457,-0.273529976606369,-0.2788337171077728,-0.2650870978832245,-0.27100440859794617,-0.2565560042858124,-0.2632352113723755,-0.2479782998561859,-0.25543200969696045,-0.2393481284379959,-0.24740611016750336,-0.2306208461523056,-0.23924009501934052,-0.22179831564426422,-0.23113234341144562,-0.21295014023780823,-0.22305995225906372,-0.20411615073680878,-0.21488721668720245,-0.19526320695877075,-0.20662233233451843,-0.1863834410905838,-0.19836333394050598,-0.17753858864307404,-0.19014336168766022,-0.16875573992729187,-0.18192589282989502,-0.1599741280078888,-0.17364239692687988,-0.15114164352416992,-0.16524434089660645,-0.14228147268295288,-0.15676435828208923,-0.13342416286468506,-0.1482381820678711,-0.12454365193843842,-0.13959383964538574,-0.11561007052659988,-0.13077281415462494,-0.10667137056589127,-0.12187683582305908,-0.09781067073345184,-0.11302471160888672,-0.08900970220565796,-0.10418687015771866,-0.08015486598014832,-0.09531546384096146,-0.07122906297445297,-0.08648769557476044,-0.06236971542239189,-0.07779493927955627,-0.05368009954690933,-0.0692458227276802,-0.04515216499567032,-0.0608653724193573,-0.036801550537347794,-0.05274923890829086,-0.028654571622610092,-0.04495047777891159,-0.020618632435798645,-0.03741208463907242,-0.012603923678398132,-0.03005238249897957,-0.004660770297050476,-0.022837206721305847,0.0032375603914260864,-0.01571357250213623,0.011317364871501923,-0.008542641997337341,0.01970715820789337,-0.0011973455548286438,0.028333887457847595,0.0063246265053749084,0.0372132882475853,0.014011144638061523,0.04643452912569046,0.021950438618659973,0.05588231235742569,0.03010193258523941,0.06538072973489761,0.03810767084360123,0.07491307705640793,0.04572763293981552,0.08436762541532516,0.05330805480480194,0.09348076581954956,0.06125878542661667,0.10222368687391281,0.06920412927865982,0.11063101887702942,0.07641875743865967,0.11829406023025513,0.08306580036878586,0.1248847246170044,0.09005635231733322,0.1309305727481842,0.09756209701299667,0.13703811168670654,0.10473161935806274,0.14279481768608093,0.11117547750473022,0.1475921869277954,0.11762325465679169,0.15196004509925842,0.1246354728937149,0.15684883296489716,0.1316998451948166,0.1621231585741043,0.1381763368844986,0.1669425070285797,0.1442692130804062,0.17123211920261383,0.15050184726715088,0.17575912177562714,0.15688656270503998,0.18093281984329224,0.16307076811790466,0.18630343675613403,0.16888675093650818,0.19129076600074768,0.17447316646575928,0.1959274560213089,0.1800549030303955,0.2006806880235672,0.18569731712341309,0.20578977465629578,0.1912769377231598,0.21109235286712646,0.19677548110485077,0.21643885970115662,0.20245715975761414,0.22195398807525635,0.20854544639587402,0.22783887386322021,0.21492406725883484,0.23414868116378784,0.22138294577598572,0.2408096045255661,0.22791072726249695,0.24772141873836517,0.2345348745584488,0.2548198699951172,0.24109560251235962,0.26203206181526184,0.24734240770339966,0.26913875341415405,0.2531210780143738,0.2757990062236786,0.25837716460227966,0.2817825675010681,0.26302066445350647,0.28703317046165466,0.26686960458755493,0.2914980947971344,0.2698267996311188,0.2951238453388214,0.27205488085746765,0.29802095890045166,0.27380669116973877,0.3004281520843506,0.27521419525146484,0.30253762006759644,0.2764592170715332,0.3044890761375427,0.2779090106487274,0.30645057559013367,0.27983519434928894,0.3086082339286804,0.2822890281677246,0.31110501289367676,0.28536826372146606,0.31396785378456116,0.28918546438217163,0.3170616328716278,0.29356107115745544,0.3201717436313629,0.29820433259010315,0.3231307864189148,0.3030858337879181,0.3258450925350189,0.308247447013855,0.328314870595932,0.31352299451828003,0.33062970638275146,0.31873950362205505,0.33277279138565063,0.32381922006607056,0.33449500799179077,0.3285626173019409,0.3355770409107208,0.3327631652355194,0.33607345819473267,0.3364887833595276,0.3361404836177826,0.33987191319465637,0.3358767628669739,0.3428524136543274,0.3354545533657074,0.3454176187515259,0.3351161479949951,0.34774285554885864,0.33497175574302673,0.3499442934989929,0.33502712845802307,0.35206130146980286,0.33532264828681946,0.3542133569717407,0.3358570337295532,0.3563973605632782,0.33655038475990295,0.35835447907447815,0.33737021684646606,0.35992562770843506,0.3382839858531952,0.36120814085006714,0.3391556143760681,0.3622129559516907,0.3399306535720825,0.3627970814704895,0.340738445520401,0.36299434304237366,0.34162911772727966,0.36302265524864197,0.34250450134277344,0.3629917502403259,0.34339553117752075,0.36288395524024963,0.3444414734840393,0.36270594596862793,0.34560033679008484,0.3624858260154724,0.34673959016799927,0.3622548580169678,0.3479076623916626,0.3620994985103607,0.349197655916214,0.3621264100074768,0.3505156636238098,0.36238744854927063,0.3517214357852936,0.3628728985786438,0.35284072160720825,0.3635386526584625,0.3538372218608856,0.3641984164714813,0.354625403881073,0.36477917432785034,0.35517418384552,0.3654242753982544,0.35551297664642334,0.3663182854652405,0.3556709885597229,0.36749815940856934,0.3556704521179199,0.3688485622406006,0.35551950335502625,0.37021782994270325,0.3551963269710541,0.3715476989746094,0.3546697497367859,0.37288153171539307,0.35392022132873535,0.37423309683799744,0.3529627323150635,0.37555593252182007,0.3518728017807007,0.37683695554733276,0.3507084548473358,0.3780277371406555,0.34938400983810425,0.3789185583591461,0.34771719574928284,0.3792995512485504,0.3455829322338104,0.3791392147541046,0.3429500460624695,0.37842699885368347,0.33985161781311035,0.3770616948604584,0.3363795876502991,0.37503236532211304,0.33264100551605225,0.3724556863307953,0.32876861095428467,0.3694303035736084,0.3250260651111603,0.36613425612449646,0.32172974944114685,0.3629182279109955,0.31904760003089905,0.36003610491752625,0.3171144723892212,0.3575168550014496,0.3162133991718292,0.3554316759109497,0.31647419929504395,0.35392361879348755,0.31762418150901794,0.35296547412872314,0.31939736008644104,0.3524459898471832,0.32169878482818604,0.3522231876850128,0.32382136583328247,0.3515649437904358,0.323943555355072,0.34879955649375916,0.31993407011032104,0.3419891595840454,0.31043753027915955,0.3298355042934418,0.29507070779800415,0.3119099736213684,0.27397388219833374,0.28838664293289185,0.24728214740753174,0.2595595121383667,0.21489554643630981,0.2254326194524765,0.17702044546604156,0.1861249804496765,0.13509336113929749,0.14292919635772705,0.09184535592794418,0.0985659807920456,0.05040176957845688,0.05621499568223953,0.01354043185710907,0.018598206341266632,-0.016510628163814545,-0.012152232229709625,-0.03795430064201355,-0.03417684882879257,-0.048723407089710236,-0.045258983969688416,-0.045718543231487274,-0.04232113063335419,-0.025622978806495667,-0.022208139300346375,0.012788698077201843,0.016318827867507935,0.067243292927742,0.07123502343893051,0.13267022371292114,0.13764043152332306,0.20275083184242249,0.209126278758049,0.27113276720046997,0.27916431427001953,0.33227863907814026,0.3421016037464142,0.38191530108451843,0.3935193717479706,0.41712698340415955,0.4302797317504883,0.4366118311882019,0.45090678334236145,0.4410606920719147,0.45601534843444824,0.4329354763031006,0.44800302386283875,0.4156544506549835,0.43021994829177856,0.39290153980255127,0.40635135769844055,0.36821553111076355,0.3800208568572998,0.3446190655231476,0.3543797731399536,0.32438135147094727,0.3318696916103363,0.30896732211112976,0.31416574120521545,0.2989675998687744,0.302045077085495,0.29409757256507874,0.2953417897224426,0.29348260164260864,0.29323530197143555,0.2960135340690613,0.2946128845214844,0.3005402088165283,0.2982521057128906,0.3060187101364136,0.3029651343822479,0.31161439418792725,0.30772703886032104,0.31662559509277344,0.31167834997177124,0.32043734192848206,0.31415697932243347,0.3227097988128662,0.31484824419021606,0.32350826263427734,0.313800573348999,0.3231211006641388,0.3112623393535614,0.3218221068382263,0.3076017498970032,0.319834440946579,0.3033114969730377,0.31740814447402954,0.2989150285720825,0.31485068798065186,0.2948548495769501,0.3124483525753021,0.2914617955684662,0.31033024191856384,0.2889053225517273,0.3084651231765747,0.28716087341308594,0.3068024814128876,0.2860954999923706,0.3052840530872345,0.2855125665664673,0.30369892716407776,0.28507593274116516,0.30171483755111694,0.2843456566333771,0.2990935146808624,0.2829536199569702,0.295750230550766,0.28065529465675354,0.29166868329048157,0.2772802710533142,0.2869117259979248,0.2727862298488617,0.28164681792259216,0.2673061490058899,0.2760713994503021,0.2610625922679901,0.27038443088531494,0.25432145595550537,0.26479262113571167,0.24741120636463165,0.2594027817249298,0.24062642455101013,0.25418317317962646,0.23414039611816406,0.24914424121379852,0.22811943292617798,0.24441100656986237,0.2227998822927475,0.2400449812412262,0.21833443641662598,0.2359958440065384,0.2146882712841034,0.23225922882556915,0.2117394655942917,0.2288622409105301,0.20933091640472412,0.22570477426052094,0.20720435678958893,0.22260309755802155,0.20500941574573517,0.21942651271820068,0.2023804634809494,0.21604958176612854,0.1989881694316864,0.2122812718153,0.1946185678243637,0.20795966684818268,0.18923088908195496,0.20303267240524292,0.1828848272562027,0.19751881062984467,0.1756948083639145,0.1914731115102768,0.16792836785316467,0.18498684465885162,0.1600073128938675,0.17818424105644226,0.15231330692768097,0.17123626172542572,0.14508582651615143,0.16434428095817566,0.13850338757038116,0.15764987468719482,0.1326969563961029,0.1512037068605423,0.12764720618724823,0.14503470063209534,0.12316109985113144,0.13916251063346863,0.11896595358848572,0.13355253636837006,0.11481080204248428,0.12815110385417938,0.11050844192504883,0.12291742116212845,0.10589440912008286,0.11774105578660965,0.10077223181724548,0.11239765584468842,0.09496051073074341,0.10665403306484222,0.08838188648223877,0.1003800556063652,0.08106671273708344,0.09346766024827957,0.07306445389986038,0.08584439754486084,0.06449486315250397,0.07751166075468063,0.0555633008480072,0.06856295466423035,0.046484850347042084,0.059176962822675705,0.03744354099035263,0.04958879575133324,0.02862597443163395,0.0400613471865654,0.020237747579813004,0.03086978569626808,0.012458212673664093,0.02223091758787632,0.0053418781608343124,0.01419978216290474,-0.001248285174369812,0.006708775646984577,-0.0075348149985075,-0.0002906918525695801,-0.013653511181473732,-0.006836937740445137,-0.01968599110841751,-0.013062719255685806,-0.02580053173005581,-0.019140519201755524,-0.03219126909971237,-0.025186140090227127,-0.038921840488910675,-0.03132248297333717,-0.04595652595162392,-0.03771370276808739,-0.05326448380947113,-0.044453129172325134,-0.060802243649959564,-0.05154811590909958,-0.06848271191120148,-0.05902509018778801,-0.07619261741638184,-0.06691370159387589,-0.08379656076431274,-0.0751795619726181,-0.09120871871709824,-0.08378754556179047,-0.0985087901353836,-0.09274525940418243,-0.10586851090192795,-0.10203513503074646,-0.11339233070611954,-0.1116054505109787,-0.12117552012205124,-0.12139799445867538,-0.12939989566802979,-0.1313091218471527,-0.1381993591785431,-0.1412314921617508,-0.147567480802536,-0.1511681228876114,-0.15748564898967743,-0.16116419434547424,-0.16794219613075256,-0.1711844801902771,-0.178798109292984,-0.18121357262134552,-0.18982529640197754,-0.1913289576768875,-0.2008262723684311,-0.20152945816516876,-0.21157817542552948,-0.21168290078639984,-0.22180645167827606,-0.22168974578380585,-0.2313070297241211,-0.23146215081214905,-0.23995310068130493,-0.24079033732414246,-0.24763138592243195,-0.24947047233581543,-0.25434255599975586,-0.2574461102485657,-0.2602357864379883,-0.26465606689453125,-0.2654263377189636,-0.2709711790084839,-0.26997777819633484,-0.27640077471733093,-0.2740896940231323,-0.28114989399909973,-0.27805638313293457,-0.2854735553264618,-0.28208595514297485,-0.2896733283996582,-0.2863636612892151,-0.2941269874572754,-0.2911421060562134,-0.299156129360199,-0.2965962886810303,-0.30497097969055176,-0.30276089906692505,-0.31174346804618835,-0.3096446990966797,-0.3195430338382721,-0.3172059655189514,-0.32825422286987305,-0.3252774477005005,-0.3376973867416382,-0.33369049429893494,-0.34769386053085327,-0.3423401415348053,-0.3579603135585785,-0.3510512709617615,-0.3681504428386688,-0.3595849275588989,-0.37799546122550964,-0.36778882145881653,-0.38724061846733093,-0.3755456507205963,-0.3955906927585602,-0.3826776444911957,-0.40288683772087097,-0.3890700340270996,-0.4091619551181793,-0.3947434425354004,-0.41446515917778015,-0.3997305929660797,-0.4188607931137085,-0.40407246351242065,-0.4225817620754242,-0.4079211950302124,-0.42594799399375916,-0.4114592969417572,-0.42920154333114624,-0.41479772329330444,-0.4325565695762634,-0.41806554794311523,-0.4362483620643616,-0.4214438498020172,-0.4404276907444,-0.4250420928001404,-0.4451479911804199,-0.42889899015426636,-0.45045268535614014,-0.43308261036872864,-0.4563312530517578,-0.4376424252986908,-0.4626504182815552,-0.44253748655319214,-0.4692232012748718,-0.44769778847694397,-0.47585803270339966,-0.45304206013679504,-0.4823276400566101,-0.4584178030490875,-0.4884132742881775,-0.4636516273021698,-0.493976354598999,-0.4686329960823059,-0.4989304542541504,-0.47326552867889404,-0.5032305717468262,-0.4774376451969147,-0.5069249272346497,-0.4811008870601654,-0.5101109147071838,-0.4842684268951416,-0.5128448009490967,-0.48692530393600464,-0.5151772499084473,-0.489045113325119,-0.5172102451324463,-0.4906660318374634,-0.5190343856811523,-0.4918709993362427,-0.5206844806671143,-0.4927436411380768,-0.522188127040863,-0.49338048696517944,-0.5235728621482849,-0.493878036737442,-0.524824857711792,-0.49429672956466675,-0.5259182453155518,-0.4946802854537964,-0.5268622040748596,-0.4950801134109497,-0.5276737809181213,-0.4955251216888428,-0.5283466577529907,-0.4960111081600189,-0.5288761854171753,-0.4965241551399231,-0.5292695164680481,-0.49703070521354675,-0.5295256972312927,-0.4974631071090698,-0.5296366214752197,-0.49775710701942444,-0.5296010971069336,-0.4978855848312378,-0.5294173359870911,-0.4978395700454712,-0.5290791988372803,-0.49760928750038147,-0.5285782217979431,-0.4971923828125,-0.5278950333595276,-0.4965905249118805,-0.5270002484321594,-0.4957980513572693,-0.5258727073669434,-0.4948074221611023,-0.5245072245597839,-0.4936217963695526,-0.5229060649871826,-0.49225279688835144,-0.5210745334625244,-0.49071353673934937,-0.5190219283103943,-0.489006906747818,-0.5167518258094788,-0.4871183931827545,-0.5142611265182495,-0.4850262403488159,-0.5115514397621155,-0.4827241599559784,-0.5086349248886108,-0.4802265465259552,-0.5055283308029175,-0.47755685448646545,-0.5022464990615845,-0.47473302483558655,-0.4987978935241699,-0.4717614948749542,-0.49517983198165894,-0.4686356782913208,-0.4913797676563263,-0.4653436839580536,-0.487384557723999,-0.4618803858757019,-0.4831897020339966,-0.4582536518573761,-0.47879987955093384,-0.4544786214828491,-0.4742203950881958,-0.4505634307861328,-0.46944403648376465,-0.4464946985244751,-0.46444201469421387,-0.44223523139953613,-0.4591920077800751,-0.43775704503059387,-0.45380234718322754,-0.4331594705581665,-0.4482576847076416,-0.4284302294254303,-0.44253525137901306,-0.42354726791381836,-0.4366333782672882,-0.4185048043727875,-0.43056467175483704,-0.4133080244064331,-0.42434409260749817,-0.4079691767692566,-0.41797903180122375,-0.4025009870529175,-0.41146841645240784,-0.3969133198261261,-0.40480536222457886,-0.3912079930305481,-0.39798280596733093,-0.3853793740272522,-0.3909948766231537,-0.37941497564315796,-0.3838372826576233,-0.3733018636703491,-0.3765070140361786,-0.3670300245285034,-0.3690025210380554,-0.3605952560901642,-0.36132562160491943,-0.35399699211120605,-0.3534850478172302,-0.347239226102829,-0.3455008566379547,-0.3403315842151642,-0.3374013602733612,-0.3332901895046234,-0.3292185664176941,-0.32613515853881836,-0.3209799826145172,-0.31888967752456665,-0.312707781791687,-0.3115767538547516,-0.3044171929359436,-0.30421483516693115,-0.2961137294769287,-0.2968105673789978,-0.287792831659317,-0.28936243057250977,-0.2794452905654907,-0.2818763852119446,-0.2710641622543335,-0.2743810713291168,-0.26264554262161255,-0.26692333817481995,-0.25418442487716675,-0.25954583287239075,-0.2456752061843872,-0.2522677481174469,-0.23711907863616943,-0.24508249759674072,-0.22852902114391327,-0.2379646897315979,-0.21992439031600952,-0.23087120056152344,-0.21132147312164307,-0.2237369269132614,-0.2027295082807541,-0.21647736430168152,-0.1941550076007843,-0.20900630950927734,-0.18560859560966492,-0.2012595534324646,-0.17710696160793304,-0.1932099461555481,-0.16866502165794373,-0.18486526608467102,-0.16027802228927612,-0.17625293135643005,-0.15190652012825012,-0.16740408539772034,-0.14347873628139496,-0.1583499312400818,-0.13491913676261902,-0.1491309106349945,-0.1261826902627945,-0.13980576395988464,-0.11727005243301392,-0.13044916093349457,-0.10821488499641418,-0.12113991379737854,-0.09906162321567535,-0.11194673925638199,-0.08985001593828201,-0.10291466861963272,-0.08060862869024277,-0.09405313432216644,-0.07135115563869476,-0.08533615618944168,-0.06207706779241562,-0.07672415673732758,-0.0527779683470726,-0.06819739192724228,-0.04344412684440613,-0.0597696527838707,-0.03406934440135956,-0.05147016420960426,-0.024658385664224625,-0.04331723600625992,-0.015245087444782257,-0.035315826535224915,-0.0059119537472724915,-0.02747313305735588,0.0032121874392032623,-0.01980186440050602,0.011983063071966171,-0.012294502928853035,0.020283903926610947,-0.004899730905890465,0.02805602177977562,0.0024668164551258087,0.035305388271808624,0.009879233315587044,0.04209442436695099,0.017361540347337723,0.048530109226703644,0.024878814816474915,0.054752327501773834,0.03234849125146866,0.060921311378479004,0.039657074958086014,0.06720253825187683,0.04667987674474716,0.0737491250038147,0.053318336606025696,0.08068063110113144,0.05954745411872864,0.08805586397647858,0.06543652713298798,0.09584701061248779,0.07112129032611847,0.10393153131008148,0.0767485499382019,0.11212043464183807,0.08244599401950836,0.12021806091070175,0.08833739906549454,0.1280810832977295,0.09456155449151993,0.13564449548721313,0.10125024616718292,0.1429145187139511,0.10847346484661102,0.14995212852954865,0.11621200293302536,0.15686100721359253,0.12438612431287766,0.1637716144323349,0.13290725648403168,0.17080920934677124,0.1417008340358734,0.17805525660514832,0.15069368481636047,0.18551437556743622,0.15979520976543427,0.19309350848197937,0.16889125108718872,0.20060132443904877,0.1778457760810852,0.20778822898864746,0.1865084320306778,0.2144312858581543,0.1947418451309204,0.22041860222816467,0.20246091485023499,0.22577153146266937,0.20964892208576202,0.2305883765220642,0.21632149815559387,0.23496666550636292,0.22246390581130981,0.23896241188049316,0.22799497842788696,0.24260258674621582,0.23279574513435364,0.24591892957687378,0.23678524792194366,0.248972088098526,0.23999035358428955,0.2518520653247833,0.24255631864070892,0.2546519935131073,0.2446899116039276,0.2574346661567688,0.24658453464508057,0.26022133231163025,0.24839113652706146,0.26301535964012146,0.25023961067199707,0.2658284306526184,0.2522519826889038,0.268677294254303,0.25450819730758667,0.2715691924095154,0.25701192021369934,0.27451860904693604,0.2597254514694214,0.2775866389274597,0.2626533806324005,0.2808864414691925,0.2658756375312805,0.28452950716018677,0.2694924473762512,0.28857049345970154,0.27355408668518066,0.29300549626350403,0.2780616283416748,0.29779940843582153,0.28300735354423523,0.3028869032859802,0.28836995363235474,0.3081473112106323,0.2940548062324524,0.3134058713912964,0.2998628318309784,0.3184770941734314,0.30553561449050903,0.3232085108757019,0.31082984805107117,0.3274981677532196,0.3155636787414551,0.33131009340286255,0.3196343183517456,0.334693044424057,0.3230331242084503,0.3377578556537628,0.3258383572101593,0.34059277176856995,0.3281615078449249,0.3431852161884308,0.3300800919532776,0.3454265296459198,0.3316163420677185,0.34718337655067444,0.33276650309562683,0.34835436940193176,0.33353832364082336,0.3488852083683014,0.33397525548934937,0.34878212213516235,0.33417609333992004,0.34813082218170166,0.3342997133731842,0.3470771014690399,0.33452531695365906,0.3457757234573364,0.3350061774253845,0.34440669417381287,0.33591654896736145,0.34304994344711304,0.3373476266860962,0.3417830169200897,0.3393924832344055,0.34067779779434204,0.34211084246635437,0.33976149559020996,0.3454728424549103,0.3390282690525055,0.3493778705596924,0.33848339319229126,0.3537086248397827,0.33814239501953125,0.35832053422927856,0.33798927068710327,0.36298319697380066,0.3379756510257721,0.367387592792511,0.33807292580604553,0.37124550342559814,0.33829233050346375,0.37436410784721375,0.3386392295360565,0.37662485241889954,0.3390907347202301,0.3779562711715698,0.3396499454975128,0.3783873915672302,0.34038105607032776,0.3781013786792755,0.3413267135620117,0.37735795974731445,0.3423877954483032,0.3763378858566284,0.3433307409286499,0.3750898241996765,0.34391772747039795,0.37361714243888855,0.3439900279045105,0.3719516694545746,0.3434370756149292,0.37012267112731934,0.34218382835388184,0.36813002824783325,0.3402870297431946,0.3660232126712799,0.3380109965801239,0.36398354172706604,0.3357272148132324,0.36226099729537964,0.33372917771339417,0.3610217273235321,0.3321700394153595,0.36028921604156494,0.3311302959918976,0.36000531911849976,0.33064302802085876,0.36006680130958557,0.3306368291378021,0.3602849245071411,0.33094003796577454,0.36038947105407715,0.3313939571380615,0.36014264822006226,0.3319329023361206,0.3594413101673126,0.33255091309547424,0.3583035469055176,0.333262175321579,0.35682225227355957,0.33412057161331177,0.35518160462379456,0.33519402146339417,0.3536582589149475,0.33643603324890137,0.35249993205070496,0.33761170506477356,0.3517909646034241,0.338399201631546,0.3514852523803711,0.3385346829891205,0.35154107213020325,0.3378342092037201,0.35194092988967896,0.3361801505088806,0.35261058807373047,0.3336349129676819,0.35345658659935,0.3305266201496124,0.35447537899017334,0.32715994119644165,0.3555591106414795,0.32322508096694946,0.3559531271457672,0.3175520896911621,0.3540116250514984,0.3086777627468109,0.3478134274482727,0.2957591712474823,0.33618342876434326,0.2788720726966858,0.31906312704086304,0.25848230719566345,0.29696816205978394,0.23497503995895386,0.2704699635505676,0.20897898077964783,0.24048924446105957,0.18193909525871277,0.20885144174098969,0.1558382213115692,0.17798171937465668,0.13207562267780304,0.14971758425235748,0.11074550449848175,0.12449001520872116,0.09111859649419785,0.10174734145402908,0.07264640182256699,0.0810067430138588,0.055400654673576355,0.06237410008907318,0.03992924839258194,0.04639582708477974,0.02733016386628151,0.034069087356328964,0.019738657400012016,0.027350082993507385,0.020428039133548737,0.02936420403420925,0.03283391892910004,0.04347808286547661,0.058930449187755585,0.0716032087802887,0.09811178594827652,0.11300875246524811,0.14728772640228271,0.1644417643547058,0.20188573002815247,0.2211862951517105,0.25695711374282837,0.27817416191101074,0.30791592597961426,0.33069124817848206,0.350985586643219,0.3748006820678711,0.3835350275039673,0.40769463777542114,0.40427765250205994,0.4279574751853943,0.4132527709007263,0.4356182813644409,0.41165298223495483,0.43197256326675415,0.4015686511993408,0.41925567388534546,0.38561078906059265,0.4002455770969391,0.366449773311615,0.37785640358924866,0.34647783637046814,0.3547900319099426,0.3276962637901306,0.3333113193511963,0.3116696774959564,0.3151399791240692,0.29941827058792114,0.3013957142829895,0.2913617491722107,0.2925622761249542,0.2874203622341156,0.28850555419921875,0.2871525287628174,0.2885909676551819,0.2898179292678833,0.29186418652534485,0.29446321725845337,0.297207772731781,0.30010247230529785,0.3034416735172272,0.3058544397354126,0.30943411588668823,0.3109593391418457,0.314269483089447,0.31481796503067017,0.31740063428878784,0.3171224594116211,0.3186621069908142,0.3178839385509491,0.3181406259536743,0.31725195050239563,0.316037118434906,0.31534016132354736,0.31262126564979553,0.31226426362991333,0.3082268536090851,0.308246910572052,0.30319613218307495,0.3035838305950165,0.29779696464538574,0.2985372245311737,0.29221609234809875,0.29333794116973877,0.2866310179233551,0.2882595360279083,0.281252384185791,0.28361350297927856,0.27627500891685486,0.27966001629829407,0.2718202471733093,0.27655261754989624,0.2679551839828491,0.2743443250656128,0.26474589109420776,0.2729955017566681,0.26223862171173096,0.27235203981399536,0.2603779137134552,0.2721307873725891,0.2589706778526306,0.2719634175300598,0.2577463686466217,0.27150285243988037,0.2564413845539093,0.27051520347595215,0.25483351945877075,0.26887375116348267,0.2527434229850769,0.26650017499923706,0.25004786252975464,0.2633804380893707,0.2466958910226822,0.25963321328163147,0.2426961213350296,0.2554643154144287,0.23809194564819336,0.2510066032409668,0.23295894265174866,0.24626436829566956,0.227402463555336,0.24122701585292816,0.2215176224708557,0.23593056201934814,0.2153458595275879,0.23035825788974762,0.20890077948570251,0.2243967056274414,0.20224258303642273,0.21798449754714966,0.19549128413200378,0.2112288475036621,0.1887451559305191,0.20431013405323029,0.18202441930770874,0.19738520681858063,0.17536643147468567,0.19055110216140747,0.16883938014507294,0.1839984655380249,0.16257824003696442,0.17794819176197052,0.15667736530303955,0.1724846512079239,0.15111711621284485,0.16753928363323212,0.14582769572734833,0.1630040556192398,0.14079080522060394,0.1587768942117691,0.13602802157402039,0.15470734238624573,0.13150058686733246,0.1505787968635559,0.1270667314529419,0.1461588740348816,0.12255257368087769,0.14124834537506104,0.11782138049602509,0.1357063204050064,0.1127522885799408,0.12947916984558105,0.10719695687294006,0.12260617315769196,0.10102201998233795,0.11518053710460663,0.09419147670269012,0.1073247492313385,0.08678228408098221,0.09920886158943176,0.07892881333827972,0.09102530777454376,0.07078107446432114,0.08291636407375336,0.06251612305641174,0.07497084140777588,0.054358579218387604,0.06728880852460861,0.0465414822101593,0.05996242165565491,0.03921813145279884,0.05297655612230301,0.03241787850856781,0.046202197670936584,0.026083573698997498,0.03949197754263878,0.020098615437746048,0.03272058069705963,0.01425711065530777,0.025761678814888,0.0082787424325943,0.01850035786628723,0.0019084513187408447,0.010851874947547913,-0.005016744136810303,0.0027487576007843018,-0.01258590817451477,-0.005826480686664581,-0.020820386707782745,-0.014778167009353638,-0.02963588386774063,-0.023947954177856445,-0.03883322328329086,-0.03323911130428314,-0.04814644157886505,-0.04261285811662674,-0.05732439458370209,-0.05197104811668396,-0.06621380895376205,-0.061148837208747864,-0.07475987076759338,-0.07004342973232269,-0.0829121470451355,-0.07866489887237549,-0.09059935808181763,-0.08702351152896881,-0.0978403389453888,-0.0950472503900528,-0.10478620231151581,-0.10268557071685791,-0.1115979254245758,-0.11004021763801575,-0.11836123466491699,-0.11728629469871521,-0.1251428872346878,-0.12451077997684479,-0.1320313811302185,-0.1317625343799591,-0.13910743594169617,-0.1392054706811905,-0.14642347395420074,-0.1470346599817276,-0.1539798080921173,-0.15527844429016113,-0.16170451045036316,-0.16384781897068024,-0.16952913999557495,-0.17271344363689423,-0.17747634649276733,-0.181866854429245,-0.18558655679225922,-0.19120028614997864,-0.1938110888004303,-0.20056191086769104,-0.20207038521766663,-0.20982769131660461,-0.21033170819282532,-0.21886520087718964,-0.21855482459068298,-0.2275872528553009,-0.22667238116264343,-0.2360503226518631,-0.23466581106185913,-0.24435371160507202,-0.24255190789699554,-0.2525116801261902,-0.2503094971179962,-0.26056379079818726,-0.25791803002357483,-0.2686459720134735,-0.265402227640152,-0.2768164277076721,-0.2727625370025635,-0.2849910259246826,-0.27996397018432617,-0.2931184768676758,-0.28702080249786377,-0.3011983036994934,-0.29396578669548035,-0.3091249167919159,-0.3007667064666748,-0.3167557120323181,-0.3074030876159668,-0.32409340143203735,-0.3139421045780182,-0.33121705055236816,-0.32043159008026123,-0.3381509780883789,-0.32684582471847534,-0.34494221210479736,-0.3331971764564514,-0.3517029881477356,-0.3395477533340454,-0.35848891735076904,-0.345898300409317,-0.3653014898300171,-0.35221612453460693,-0.37220367789268494,-0.3585188388824463,-0.3792582154273987,-0.3648207187652588,-0.38640761375427246,-0.37110307812690735,-0.393545538187027,-0.37739109992980957,-0.40060749650001526,-0.3837079405784607,-0.4075193405151367,-0.3899625539779663,-0.4141964614391327,-0.3960525691509247,-0.42061641812324524,-0.4020005464553833,-0.42677319049835205,-0.40783387422561646,-0.4326091706752777,-0.4134617745876312,-0.4380987286567688,-0.4187893271446228,-0.44331538677215576,-0.4238043427467346,-0.4483404755592346,-0.42851030826568604,-0.45318907499313354,-0.4329345226287842,-0.45785045623779297,-0.4371677339076996,-0.46233269572257996,-0.4412577748298645,-0.46668684482574463,-0.4451722502708435,-0.47099173069000244,-0.44895413517951965,-0.47526106238365173,-0.45273566246032715,-0.4794234335422516,-0.4565529525279999,-0.48346206545829773,-0.460336834192276,-0.487442284822464,-0.4640561640262604,-0.49133917689323425,-0.4676953852176666,-0.49503153562545776,-0.4711844027042389,-0.49849700927734375,-0.4744860529899597,-0.5017921328544617,-0.4776119589805603,-0.5048731565475464,-0.48050105571746826,-0.5076683163642883,-0.48306500911712646,-0.5102288126945496,-0.4853420853614807,-0.5126030445098877,-0.48742344975471497,-0.5147296190261841,-0.4893101155757904,-0.5166022181510925,-0.49098825454711914,-0.518316924571991,-0.4925043284893036,-0.519883930683136,-0.4938730001449585,-0.5212352275848389,-0.4950759708881378,-0.522398829460144,-0.4961559772491455,-0.5234311819076538,-0.4971415400505066,-0.5242810845375061,-0.4979563057422638,-0.5249060392379761,-0.49855610728263855,-0.5253487229347229,-0.4990082085132599,-0.525596022605896,-0.4993344843387604,-0.5255888104438782,-0.49945956468582153,-0.5253779292106628,-0.49935832619667053,-0.5250194072723389,-0.4990674555301666,-0.5244154930114746,-0.4985846281051636,-0.5235034823417664,-0.4979121685028076,-0.522404134273529,-0.49709317088127136,-0.5211771130561829,-0.49610140919685364,-0.5196942687034607,-0.4948584735393524,-0.517902135848999,-0.4933931529521942,-0.5159035325050354,-0.4917854070663452)
34 new Array(-0.5137231945991516,-0.49000853300094604,-0.5113903284072876,-0.488100528717041,-0.5088633298873901,-0.48603248596191406,-0.5061661005020142,-0.4837847948074341,-0.5032707452774048,-0.4813406467437744,-0.5001466274261475,-0.4787534177303314,-0.49685049057006836,-0.4760761260986328,-0.49342668056488037,-0.4732472896575928,-0.4898289442062378,-0.47021234035491943,-0.4860019385814667,-0.467038094997406,-0.48194417357444763,-0.4637599587440491,-0.4776892066001892,-0.46030497550964355,-0.4732748866081238,-0.45665597915649414,-0.46869802474975586,-0.4528677761554718,-0.46391454339027405,-0.4489230215549469,-0.45892152190208435,-0.4447893500328064,-0.4537576138973236,-0.44052648544311523,-0.4484187066555023,-0.4361549913883209,-0.44290804862976074,-0.4315980076789856,-0.4373047649860382,-0.4268632233142853,-0.4316164255142212,-0.42204850912094116,-0.42571672797203064,-0.41714534163475037,-0.4195888936519623,-0.41207751631736755,-0.4133991301059723,-0.40687015652656555,-0.40720468759536743,-0.401580274105072,-0.4008715748786926,-0.39620015025138855,-0.3943476378917694,-0.39074966311454773,-0.3877306580543518,-0.3852769136428833,-0.38106489181518555,-0.3797324001789093,-0.3743053674697876,-0.3740321695804596,-0.3674202561378479,-0.3681885004043579,-0.3603806793689728,-0.36222216486930847,-0.3531627357006073,-0.35607028007507324,-0.34580618143081665,-0.3496861755847931,-0.3383495807647705,-0.3430899977684021,-0.3307521343231201,-0.3362985849380493,-0.3229793906211853,-0.3293401896953583,-0.315058171749115,-0.32228440046310425,-0.30699875950813293,-0.315151184797287,-0.2987874746322632,-0.30789127945899963,-0.29045185446739197,-0.30051279067993164,-0.28202396631240845,-0.29308781027793884,-0.2735027074813843,-0.2856077551841736,-0.2649257779121399,-0.27798640727996826,-0.2563796639442444,-0.2702132761478424,-0.24790993332862854,-0.2623620629310608,-0.23951497673988342,-0.2544562816619873,-0.23120757937431335,-0.24646149575710297,-0.22298353910446167,-0.2383953332901001,-0.21476247906684875,-0.2303106039762497,-0.20644812285900116,-0.22219493985176086,-0.1980222761631012,-0.21401672065258026,-0.18950195610523224,-0.2058141976594925,-0.18083666265010834,-0.19762080907821655,-0.17196400463581085,-0.18940521776676178,-0.1629542112350464,-0.18119071424007416,-0.15394656360149384,-0.17307928204536438,-0.14496801793575287,-0.16509070992469788,-0.13598699867725372,-0.1571563482284546,-0.12707515060901642,-0.14925628900527954,-0.11832299828529358,-0.14137746393680573,-0.10971798002719879,-0.13344717025756836,-0.10125025361776352,-0.1254633218050003,-0.09293901920318604,-0.11750493198633194,-0.08468332141637802,-0.10955502837896347,-0.07634306699037552,-0.10155733674764633,-0.06794353574514389,-0.09359082579612732,-0.0595434196293354,-0.08573566377162933,-0.0510471872985363,-0.0779324322938919,-0.042377568781375885,-0.07014453411102295,-0.03362184390425682,-0.06238359585404396,-0.02486787736415863,-0.05453343316912651,-0.01613004505634308,-0.0464804507791996,-0.007472425699234009,-0.03832215070724487,0.0009909719228744507,-0.030160509049892426,0.00918087363243103,-0.0219377800822258,0.01705806702375412,-0.013661175966262817,0.024636313319206238,-0.0054317861795425415,0.031981587409973145,0.002793937921524048,0.03918281942605972,0.011097252368927002,0.0463932529091835,0.01936565339565277,0.05372148007154465,0.02748739719390869,0.0609898716211319,0.03553415834903717,0.06804285198450089,0.04353989660739899,0.07528826594352722,0.05137953907251358,0.08313757926225662,0.05894308537244797,0.09104142338037491,0.06621246039867401,0.09819495677947998,0.07324355840682983,0.10493610799312592,0.08019237220287323,0.11213169991970062,0.08720662444829941,0.11955674737691879,0.09431906044483185,0.1262604296207428,0.10157740116119385,0.13215814530849457,0.10906890779733658,0.1380482316017151,0.11671863496303558,0.14434769749641418,0.12434201687574387,0.15068860352039337,0.13187485933303833,0.15661653876304626,0.13927049934864044,0.1622142195701599,0.14633619785308838,0.16797444224357605,0.15291756391525269,0.17413830757141113,0.15904036164283752,0.18042199313640594,0.16477809846401215,0.18657466769218445,0.17019487917423248,0.19275277853012085,0.1753728985786438,0.1990659385919571,0.1803634762763977,0.20531892776489258,0.18523544073104858,0.21139419078826904,0.19012044370174408,0.21729907393455505,0.1950494647026062,0.222874253988266,0.1999734342098236,0.228011816740036,0.2050219029188156,0.23290342092514038,0.210371196269989,0.23768731951713562,0.21597397327423096,0.24231691658496857,0.2218102216720581,0.2469380795955658,0.2279721051454544,0.2518135607242584,0.23417289555072784,0.25691327452659607,0.23994697630405426,0.26207083463668823,0.24547690153121948,0.2672507166862488,0.25112250447273254,0.27232447266578674,0.25628194212913513,0.27704593539237976,0.260145902633667,0.28139808773994446,0.26323676109313965,0.28550174832344055,0.2666539251804352,0.2893005907535553,0.27030205726623535,0.29275497794151306,0.27338463068008423,0.29604265093803406,0.2760785222053528,0.29927703738212585,0.27935171127319336,0.302398145198822,0.2835429012775421,0.30541032552719116,0.28810322284698486,0.3083387315273285,0.29246801137924194,0.31105777621269226,0.2966208755970001,0.3135039806365967,0.3009149432182312,0.31568992137908936,0.30537116527557373,0.3176348805427551,0.30956944823265076,0.3193422853946686,0.31316643953323364,0.3208901584148407,0.3162834644317627,0.3223532438278198,0.31914156675338745,0.32372766733169556,0.3216931223869324,0.3250102996826172,0.3238937258720398,0.32619887590408325,0.32591819763183594,0.32724729180336,0.32787463068962097,0.32814714312553406,0.32968413829803467,0.3289378583431244,0.3313487470149994,0.32962244749069214,0.33299732208251953,0.33025267720222473,0.33466023206710815,0.3309943675994873,0.33627644181251526,0.33193162083625793,0.33788472414016724,0.3330099880695343,0.3396027088165283,0.33427178859710693,0.34145987033843994,0.33584967255592346,0.3433850407600403,0.3376842141151428,0.34532588720321655,0.3395330309867859,0.34727874398231506,0.34122443199157715,0.3492124080657959,0.3427020013332367,0.3510623872280121,0.34393221139907837,0.35280218720436096,0.3448846936225891,0.3544255197048187,0.345511257648468,0.35589224100112915,0.3457866907119751,0.35723280906677246,0.34584540128707886,0.3586302697658539,0.34591227769851685,0.3602270781993866,0.3460692763328552,0.36193689703941345,0.3463064730167389,0.36358287930488586,0.34671613574028015,0.36508455872535706,0.3473617732524872,0.3663909435272217,0.3480914235115051,0.36737513542175293,0.34872686862945557,0.36788907647132874,0.3492404818534851,0.3678523302078247,0.34957072138786316,0.3672947287559509,0.3495337665081024,0.3663550615310669,0.349063515663147,0.36519855260849,0.34828177094459534,0.3639591932296753,0.34726089239120483,0.3627973198890686,0.3459911048412323,0.36188578605651855,0.3445943593978882,0.36128389835357666,0.3432638645172119,0.360962837934494,0.3419889211654663,0.36096450686454773,0.3406458795070648,0.36137494444847107,0.33931952714920044,0.36218199133872986,0.3382019102573395,0.36331093311309814,0.3372468650341034,0.36474165320396423,0.33627501130104065,0.3664785623550415,0.33529964089393616,0.36844712495803833,0.3344076871871948,0.3704620599746704,0.33351296186447144,0.37229543924331665,0.3325388431549072,0.3738071024417877,0.3315884470939636,0.37496477365493774,0.33070746064186096,0.3756759762763977,0.32981252670288086,0.37573686242103577,0.3289702832698822,0.3750419616699219,0.3283597528934479,0.37365415692329407,0.32795339822769165,0.37158074975013733,0.32762959599494934,0.36872994899749756,0.32744911313056946,0.36513349413871765,0.327328085899353,0.36083292961120605,0.32647183537483215,0.3553459048271179,0.3234274387359619,0.3475061357021332,0.3167162835597992,0.3361029028892517,0.30550384521484375,0.3206931948661804,0.289927214384079,0.301763653755188,0.2707938551902771,0.28021207451820374,0.2489292174577713,0.25686004757881165,0.22513742744922638,0.23259875178337097,0.2009105384349823,0.20892499387264252,0.17861606180667877,0.18800251185894012,0.16042542457580566,0.1717921644449234,0.14698050916194916,0.16082054376602173,0.1370360553264618,0.15366528928279877,0.12817446887493134,0.14766347408294678,0.11803093552589417,0.14030992984771729,0.10540719330310822,0.1303406059741974,0.09064079821109772,0.11794678121805191,0.07512999325990677,0.1043713390827179,0.06083159148693085,0.09155081957578659,0.05038084089756012,0.08213365077972412,0.047207534313201904,0.0794491171836853,0.05470795929431915,0.08676983416080475,0.07482234388589859,0.1060170903801918,0.10722704231739044,0.13688474893569946,0.1495549976825714,0.17697802186012268,0.19809097051620483,0.22259706258773804,0.24851331114768982,0.2695668935775757,0.29662609100341797,0.3139076828956604,0.3389118015766144,0.3523290455341339,0.37274593114852905,0.3825106620788574,0.39645275473594666,0.4031810462474823,0.40939658880233765,0.414045125246048,0.41200780868530273,0.41564178466796875,0.40561020374298096,0.4092215895652771,0.3921266198158264,0.3965846300125122,0.3738146126270294,0.37977224588394165,0.3530846834182739,0.360776424407959,0.33230307698249817,0.34146547317504883,0.3134949207305908,0.3235333561897278,0.29809248447418213,0.30826473236083984,0.2869272828102112,0.2963654398918152,0.2803330719470978,0.2880798876285553,0.2781458795070648,0.2833423912525177,0.2797280550003052,0.28175947070121765,0.28418320417404175,0.2826170325279236,0.29055237770080566,0.28502604365348816,0.29783299565315247,0.2880639433860779,0.3050537407398224,0.2908852994441986,0.31150898337364197,0.29286256432533264,0.31685498356819153,0.29363778233528137,0.3209408223628998,0.29303422570228577,0.3236549198627472,0.2910189926624298,0.3249479830265045,0.2877538502216339,0.3248835802078247,0.28355008363723755,0.3236102759838104,0.2787551283836365,0.3212985694408417,0.27375152707099915,0.31806454062461853,0.2689562439918518,0.31393393874168396,0.2646617591381073,0.30892059206962585,0.2609400451183319,0.3031262159347534,0.2577987313270569,0.2967284619808197,0.2553180754184723,0.2899474501609802,0.2535468339920044,0.2830822467803955,0.2523913085460663,0.27646496891975403,0.2516772150993347,0.27031591534614563,0.2512190043926239,0.2647823095321655,0.2508447468280792,0.25996577739715576,0.25032496452331543,0.25594156980514526,0.24949151277542114,0.2525883615016937,0.24821141362190247,0.24961310625076294,0.24631737172603607,0.24674704670906067,0.24365116655826569,0.24378450214862823,0.24015013873577118,0.2405320256948471,0.23586493730545044,0.23689839243888855,0.23092935979366302,0.23295597732067108,0.22551023960113525,0.22881460189819336,0.2197560966014862,0.22456791996955872,0.21381458640098572,0.22040949761867523,0.20788267254829407,0.21659861505031586,0.20215559005737305,0.2132403701543808,0.19671525061130524,0.21023744344711304,0.19153043627738953,0.20741993188858032,0.18653440475463867,0.20455028116703033,0.18163129687309265,0.2012627124786377,0.17666466534137726,0.19717349112033844,0.17145000398159027,0.19201600551605225,0.1658248007297516,0.18561972677707672,0.15966778993606567,0.1779114007949829,0.15292170643806458,0.1690191626548767,0.14558954536914825,0.15924739837646484,0.13767898082733154,0.14891751110553741,0.12920112907886505,0.1383480280637741,0.12023596465587616,0.12793944776058197,0.1109166145324707,0.11810696125030518,0.10136047005653381,0.10913249105215073,0.09172657132148743,0.1011713445186615,0.08230516314506531,0.0943390354514122,0.07342809438705444,0.08870010823011398,0.06534087657928467,0.08421285450458527,0.058251891285181046,0.0807342454791069,0.0523688979446888,0.07804303616285324,0.047738026827573776,0.07584884017705917,0.04413424804806709,0.07380872964859009,0.04118501394987106,0.07154276967048645,0.038487426936626434,0.0686652734875679,0.03558041900396347,0.06486204266548157,0.0319744274020195,0.05993484705686569,0.027289263904094696,0.05376472324132919,0.021312803030014038,0.04630828648805618,0.013984277844429016,0.03766322135925293,0.005423426628112793,0.02805314213037491,-0.0040769875049591064,0.01772705465555191,-0.014155000448226929,0.0069579556584358215,-0.024425312876701355,-0.003892548382282257,-0.034451521933078766,-0.014451511204242706,-0.04383676499128342,-0.024486973881721497,-0.05239381641149521,-0.03391285985708237,-0.06015949696302414,-0.04270743578672409,-0.06728138774633408,-0.05091959983110428,-0.07397614419460297,-0.0586925745010376,-0.0805329903960228,-0.0662003830075264,-0.08724270761013031,-0.07359982281923294,-0.09432008862495422,-0.08105243742465973,-0.10188722610473633,-0.08869340270757675,-0.10994412750005722,-0.09654761105775833,-0.11832835525274277,-0.10454189777374268,-0.1267707496881485,-0.11260934174060822,-0.13502219319343567,-0.12074155360460281,-0.14292706549167633,-0.12895497679710388,-0.15042932331562042,-0.13724792003631592,-0.15755988657474518,-0.14559385180473328,-0.16441892087459564,-0.1539762169122696,-0.1711602807044983,-0.16242380440235138,-0.17798106372356415,-0.17097726464271545,-0.1850680112838745,-0.17961308360099792,-0.19250938296318054,-0.1882379651069641,-0.20026762783527374,-0.19674423336982727,-0.20821866393089294,-0.2050238698720932,-0.21618175506591797,-0.2129627764225006,-0.22394722700119019,-0.22049042582511902,-0.23134419322013855,-0.22762390971183777,-0.2382839024066925,-0.23443394899368286,-0.24473749101161957,-0.24101610481739044,-0.2507375478744507,-0.24751800298690796,-0.25642403960227966,-0.2541276514530182,-0.26202377676963806,-0.26100021600723267,-0.26775965094566345,-0.2682335376739502,-0.2738083004951477,-0.27590224146842957,-0.28030723333358765,-0.2840461730957031,-0.2873222529888153,-0.2926250100135803,-0.2948102355003357,-0.30153170228004456,-0.30264827609062195,-0.3106444776058197,-0.31068146228790283,-0.31983932852745056,-0.3187355399131775,-0.328976571559906,-0.32663577795028687,-0.337910920381546,-0.334236741065979,-0.3465123176574707,-0.34141790866851807,-0.3546822965145111,-0.34808236360549927,-0.3623671531677246,-0.3542081117630005,-0.3695635199546814,-0.3598801791667938,-0.3763040602207184,-0.36523255705833435,-0.3826392590999603,-0.37037503719329834,-0.38862234354019165,-0.3753855526447296,-0.394300252199173,-0.38032299280166626,-0.3997267782688141,-0.3852221369743347,-0.40498611330986023,-0.39010003209114075,-0.41017886996269226,-0.39498022198677063,-0.41537636518478394,-0.3998861610889435,-0.4206025004386902,-0.404814749956131,-0.42585769295692444,-0.4097353518009186,-0.4311356544494629,-0.4146151840686798,-0.43641966581344604,-0.4194323718547821,-0.44168272614479065,-0.42417213320732117,-0.44688862562179565,-0.4288170039653778,-0.45198318362236023,-0.4333416223526001,-0.45690152049064636,-0.43771636486053467,-0.46159815788269043,-0.4419223368167877,-0.46606379747390747,-0.4459584057331085,-0.4703110158443451,-0.4498317539691925,-0.4743539094924927,-0.45354267954826355,-0.4781973659992218,-0.4570796489715576,-0.4818352460861206,-0.4604245722293854,-0.4852607846260071,-0.4635674059391022,-0.4884822368621826,-0.46651771664619446,-0.49152228236198425,-0.46929827332496643,-0.4943970739841461,-0.4719245731830597,-0.4971011281013489,-0.4743885397911072,-0.4996146559715271,-0.47666504979133606,-0.5019261240959167,-0.47873517870903015,-0.5040473341941833,-0.4806043803691864,-0.5060036182403564,-0.4822950065135956,-0.5078047513961792,-0.4838182032108307,-0.5094174146652222,-0.48514917492866516,-0.5107952952384949,-0.48625442385673523,-0.5120333433151245,-0.4872269034385681,-0.5131012201309204,-0.48804327845573425,-0.5139797925949097,-0.48869040608406067,-0.5146780014038086,-0.4891781508922577,-0.5152041912078857,-0.48951324820518494,-0.515548050403595,-0.4896860122680664,-0.5156898498535156,-0.4896797835826874,-0.5156195759773254,-0.4894915819168091,-0.5153493285179138,-0.4891391396522522,-0.5149028897285461,-0.48864948749542236,-0.5142913460731506,-0.4880334436893463,-0.5134984850883484,-0.4872722327709198,-0.512488603591919,-0.4863273799419403,-0.5112295150756836,-0.4851687550544739,-0.5097134113311768,-0.48379451036453247,-0.5079579949378967,-0.48222753405570984,-0.5059928894042969,-0.4804929196834564,-0.5038410425186157,-0.47860074043273926,-0.5015115737915039,-0.4765486717224121,-0.49900615215301514,-0.474336177110672,-0.4963277280330658,-0.4719712436199188,-0.4934810698032379,-0.46946513652801514,-0.49046316742897034,-0.4668181240558624,-0.48725906014442444,-0.46401435136795044,-0.48385322093963623,-0.46102750301361084,-0.48024654388427734,-0.45783665776252747,-0.47645989060401917,-0.45443978905677795,-0.4725186824798584,-0.4508539140224457,-0.4684355556964874,-0.44709959626197815,-0.46420466899871826,-0.44318661093711853,-0.4598103165626526,-0.43911513686180115,-0.4552389979362488,-0.43489035964012146,-0.45048898458480835,-0.43053045868873596,-0.4455726444721222,-0.42605772614479065,-0.44050833582878113,-0.42148131132125854,-0.4353029131889343,-0.4167920649051666,-0.4299459159374237,-0.41197001934051514,-0.4244259297847748,-0.40699324011802673,-0.41875192523002625,-0.40184569358825684,-0.41294997930526733,-0.39652132987976074,-0.40703457593917847,-0.39102911949157715,-0.40099236369132996,-0.3853883147239685,-0.3947983682155609,-0.379618763923645,-0.38843998312950134,-0.3737398684024811,-0.38192009925842285,-0.3677789866924286,-0.3752404749393463,-0.3617693781852722,-0.3683972954750061,-0.3557269871234894,-0.3613896369934082,-0.34962818026542664,-0.3542184829711914,-0.3434188663959503,-0.3468770682811737,-0.33705273270606995,-0.33935868740081787,-0.3305167555809021,-0.3316848576068878,-0.3238251209259033,-0.32391107082366943,-0.31700414419174194,-0.3160881996154785,-0.3100919723510742,-0.30822646617889404,-0.30314183235168457,-0.30031096935272217,-0.29620152711868286,-0.29234418272972107,-0.28928154706954956,-0.2843485474586487,-0.28234970569610596,-0.2763228714466095,-0.2753610908985138,-0.26822763681411743,-0.2682851552963257,-0.2600266933441162,-0.26110294461250305,-0.2517269551753998,-0.25379523634910583,-0.2433546781539917,-0.24635474383831024,-0.23491129279136658,-0.2388077676296234,-0.22638581693172455,-0.23121139407157898,-0.21780720353126526,-0.22362297773361206,-0.20924493670463562,-0.2160770297050476,-0.20073820650577545,-0.20858462154865265,-0.19224850833415985,-0.20113219320774078,-0.18370383977890015,-0.19366946816444397,-0.17507335543632507,-0.1861170083284378,-0.16637077927589417,-0.17841219902038574,-0.1576009839773178,-0.17055565118789673,-0.148741215467453,-0.16260384023189545,-0.1397855281829834,-0.15461835265159607,-0.13077619671821594,-0.14663778245449066,-0.12177445739507675,-0.1386960744857788,-0.11282160133123398,-0.1308393031358719,-0.10394816100597382,-0.1230967789888382,-0.09519916772842407,-0.11543876677751541,-0.08661489933729172,-0.10778286308050156,-0.07818744331598282,-0.10004876554012299,-0.06986398994922638,-0.09220118820667267,-0.06159941852092743,-0.08424758911132812,-0.053382694721221924,-0.07621950656175613,-0.045204222202301025,-0.06816849112510681,-0.03702538460493088,-0.06016238033771515,-0.02880621701478958,-0.05225931107997894,-0.020550966262817383,-0.04448086768388748,-0.012302905321121216,-0.0368179976940155,-0.004100114107131958,-0.029257260262966156,0.004040226340293884,-0.021784842014312744,0.012096323072910309,-0.014362379908561707,0.020029857754707336,-0.0069222599267959595,0.027816027402877808,0.0005943924188613892,0.035470448434352875,0.008194826543331146,0.043032705783843994,0.01583489030599594,0.05053168535232544,0.023451924324035645,0.05797713249921799,0.030986033380031586,0.0653659775853157,0.0383775532245636,0.07267146557569504,0.04556902498006821,0.07983017712831497,0.052524030208587646,0.08677184581756592,0.05924297124147415,0.09348134696483612,0.06576123833656311,0.10002323985099792,0.07214471697807312,0.10649779438972473,0.07848785817623138,0.11298158764839172,0.08489495515823364,0.11951449513435364,0.09144071489572525,0.12612414360046387,0.09814945608377457,0.13283410668373108,0.10502535849809647,0.13964423537254333,0.11209312081336975,0.1465175449848175,0.11938157677650452,0.15339161455631256,0.12685833871364594,0.16019673645496368,0.13440126180648804,0.16686761379241943,0.14185304939746857,0.1733635812997818,0.14909660816192627,0.1796974241733551,0.15606801211833954,0.1859397441148758,0.16272011399269104,0.19217726588249207,0.16901637613773346,0.19845536351203918,0.17497338354587555,0.20475313067436218,0.1806771457195282,0.21099962294101715,0.1862298846244812,0.21710392832756042,0.19168782234191895,0.22298064827919006,0.19706708192825317,0.22857160866260529,0.20239682495594025,0.23385636508464813,0.20773008465766907,0.23883312940597534,0.21309153735637665,0.24349918961524963,0.2184503823518753,0.24790242314338684,0.22379642724990845,0.2520396411418915,0.22907114028930664,0.2559488117694855,0.23422284424304962,0.25970956683158875,0.23919197916984558,0.263393372297287,0.24391581118106842,0.267034649848938,0.24837423861026764,0.2706506550312042,0.25261327624320984,0.2742699086666107,0.25670841336250305,0.27793049812316895,0.2607170045375824,0.2816528379917145,0.26468127965927124,0.28542274236679077,0.26866281032562256,0.2891985774040222,0.2727433443069458,0.292927622795105,0.27697640657424927,0.2965553402900696,0.281343013048172,0.3000248968601227,0.2857591211795807,0.3032781183719635,0.2901217043399811,0.30626803636550903,0.29434892535209656,0.3089806139469147,0.2983919382095337,0.31145021319389343,0.30222588777542114,0.3137483298778534,0.30583545565605164,0.31595122814178467,0.3092058300971985,0.31811270117759705,0.31232768297195435,0.3202593922615051,0.31520572304725647,0.3223975598812103,0.31785526871681213,0.3245071470737457,0.3202867805957794,0.3265295624732971,0.32250121235847473,0.3283746540546417,0.3245077431201935,0.32995209097862244,0.3263428807258606,0.33120396733283997,0.32806700468063354,0.3321175277233124,0.32974594831466675,0.332724928855896,0.3314400613307953,0.3331047594547272,0.3331981897354126,0.33337944746017456,0.33504244685173035,0.33369430899620056,0.33695265650749207,0.3341796398162842,0.3388760983943939,0.33491915464401245,0.3407588005065918,0.33593639731407166,0.3425574004650116,0.3371926546096802,0.3442245423793793,0.3385861814022064,0.3457033038139343,0.33996182680130005,0.3469533324241638,0.3411432206630707,0.34797245264053345,0.3419831097126007,0.34877270460128784,0.34240439534187317,0.349345326423645,0.3424091935157776,0.3496764302253723,0.34206104278564453,0.3498052656650543,0.3414638340473175,0.34984588623046875,0.3407500982284546,0.3499334454536438,0.340066134929657,0.3501625061035156,0.33954519033432007,0.35058847069740295,0.33927953243255615,0.3512694835662842,0.3393147885799408,0.3522685766220093,0.33966028690338135,0.35359981656074524,0.3402900993824005,0.3551881015300751,0.34113386273384094,0.356891930103302,0.3420846462249756,0.3585565388202667,0.34303149580955505,0.36004331707954407,0.34388241171836853,0.3612383306026459,0.344550758600235,0.3620738983154297,0.34493643045425415,0.3625553846359253,0.34495019912719727,0.3627432882785797,0.3445638120174408,0.3626939058303833,0.3438241183757782,0.3624250590801239,0.3428187668323517,0.361955851316452,0.3416540026664734,0.36136651039123535,0.3404766321182251,0.36078914999961853,0.33948343992233276,0.36033061146736145,0.3388586640357971,0.3600243926048279,0.3386785686016083,0.35987240076065063,0.3388814926147461,0.3599116802215576,0.3393232822418213,0.3602134883403778,0.3398509621620178,0.3608211874961853,0.34033000469207764,0.36171820759773254,0.3406338095664978,0.3628429174423218,0.3406321406364441,0.36408504843711853,0.34020528197288513,0.36525389552116394,0.3392985761165619,0.3661157488822937,0.33797401189804077,0.36651450395584106,0.33633241057395935,0.3663865327835083,0.33423125743865967,0.3655090928077698,0.33098775148391724,0.36318421363830566,0.3254320025444031,0.3582824468612671,0.31642067432403564,0.3497524857521057,0.3034154772758484,0.33714884519577026,0.2866259813308716,0.3206908106803894,0.2667217552661896,0.3009462058544159,0.24460870027542114,0.2786709666252136,0.22157062590122223,0.2550315260887146,0.19945719838142395,0.2318165898323059,0.18042144179344177,0.21116450428962708,0.16621296107769012,0.19487625360488892,0.15751305222511292,0.18379129469394684,0.15367744863033295,0.1775275021791458,0.1528540998697281,0.17453670501708984,0.1523725986480713,0.17242954671382904,0.14946037530899048,0.16865786910057068,0.1421966850757599,0.1614331305027008,0.13021358847618103,0.1503685712814331,0.1146666407585144,0.13641898334026337,0.09762406349182129,0.12132522463798523,0.08152692764997482,0.10719214379787445,0.0690765306353569,0.09647108614444733,0.06320425868034363,0.09195809066295624,0.06661736965179443,0.09632152318954468,0.08097830414772034,0.11124186217784882,0.10628615319728851,0.13673646748065948,0.1408746838569641,0.17110836505889893,0.18190903961658478,0.2114475965499878,0.22600501775741577,0.25431403517723083,0.269742876291275,0.29631057381629944,0.3100496232509613,0.334465891122818,0.3444552719593048,0.3664591610431671,0.3712193965911865,0.3907356262207031,0.3893691599369049,0.4065472185611725,0.39870530366897583,0.4139246642589569,0.399762898683548,0.4135751724243164,0.393675297498703,0.4067177474498749,0.38196316361427307,0.3948909044265747,0.36633679270744324,0.37975722551345825,0.3485592305660248,0.36291125416755676,0.330335408449173,0.3457352817058563,0.3131875991821289,0.3293605446815491,0.29833319783210754,0.314715713262558,0.28659963607788086,0.3025423586368561,0.27838796377182007,0.29330089688301086,0.27369534969329834,0.2870592176914215,0.2722085118293762,0.2835167944431305,0.27343297004699707,0.28217101097106934,0.2767919898033142,0.2824866473674774,0.28169888257980347,0.2839967906475067,0.287453293800354,0.28617313504219055,0.29337456822395325,0.2885313928127289,0.29889997839927673,0.2907150387763977,0.30358970165252686,0.2924956679344177,0.3070765733718872,0.2937161922454834,0.3090613782405853,0.2942705750465393,0.30936959385871887,0.2941321134567261,0.3079759478569031,0.29334330558776855,0.30495354533195496,0.29192981123924255,0.30042779445648193,0.28982827067375183,0.2946094274520874,0.28691163659095764,0.28784412145614624,0.2830761671066284,0.2805746793746948,0.27829596400260925,0.2732338309288025,0.27262943983078003,0.26617667078971863,0.2662232518196106,0.25967875123023987,0.2593178451061249,0.25392982363700867,0.25221049785614014,0.24899810552597046,0.24517767131328583,0.24483585357666016,0.2384195476770401,0.2413596510887146,0.23206254839897156,0.23851251602172852,0.2261812388896942,0.2362290471792221,0.22080402076244354,0.2343699336051941,0.21592116355895996,0.2327447235584259,0.21152155101299286,0.23120062053203583,0.20762799680233002,0.22964338958263397,0.20428478717803955,0.22795343399047852,0.20150336623191833,0.2259225845336914,0.19921478629112244,0.22331036627292633,0.19725462794303894,0.2199501097202301,0.19537846744060516,0.2157791703939438,0.19330155849456787,0.2107958346605301,0.1907530426979065,0.2050483673810959,0.18751242756843567,0.1986832618713379,0.18341392278671265,0.19196321070194244,0.17835724353790283,0.18518690764904022,0.1723581850528717,0.17857202887535095,0.1655905842781067,0.17220304906368256,0.15833452343940735,0.1660631000995636,0.1508517861366272,0.16009025275707245,0.14331141114234924,0.15421250462532043,0.13582764565944672,0.14836138486862183,0.12851488590240479,0.1424730122089386,0.12145394831895828,0.13647493720054626,0.11461437493562698,0.13027110695838928,0.10786096751689911,0.12374910712242126,0.10105203837156296,0.11681777238845825,0.09411272406578064,0.10944677889347076,0.0870223417878151,0.10168059915304184,0.07978898286819458,0.09362272918224335,0.07247429341077805,0.08540672063827515,0.06521251797676086,0.07717220485210419,0.05815443769097328,0.06905745714902878,0.05138806998729706,0.06120937690138817,0.044933073222637177,0.053783953189849854,0.03879239410161972,0.04690658301115036,0.032958440482616425,0.040596701204776764,0.02735314890742302,0.03471525385975838,0.021802255883812904,0.028989167883992195,0.01609962061047554,0.023105600848793983,0.010090738534927368,0.016811873763799667,0.003688353579491377,0.009963242337107658,-0.0031575006432831287,0.002516126027330756,-0.01046459749341011,-0.005494528915733099,-0.018199991434812546,-0.013961371034383774,-0.02628650888800621,-0.02269870787858963,-0.03463251143693924,-0.03145888075232506,-0.043135449290275574,-0.039992015808820724,-0.051663435995578766,-0.0481300912797451,-0.060072120279073715,-0.05583951249718666,-0.06826416403055191,-0.063203364610672,-0.0762188732624054,-0.07035306096076965,-0.08395205438137054,-0.077405646443367,-0.09146834164857864,-0.0844445675611496,-0.09877212345600128,-0.09153379499912262,-0.1059095486998558,-0.09873364865779877,-0.1129670962691307,-0.1060994565486908,-0.12002304196357727,-0.11366908252239227,-0.12711678445339203,-0.12144944071769714,-0.13426116108894348,-0.12941238284111023,-0.1414547860622406,-0.13750536739826202,-0.1486705243587494,-0.14567208290100098,-0.1558549851179123,-0.1538686901330948,-0.16296620666980743,-0.16206611692905426,-0.17001113295555115,-0.17024314403533936,-0.17703497409820557,-0.17837992310523987,-0.1840820014476776,-0.18645545840263367,-0.1911834478378296,-0.19444873929023743,-0.19838199019432068,-0.2023506760597229,-0.20574374496936798,-0.21018409729003906,-0.21332889795303345,-0.21801145374774933,-0.22115075588226318,-0.2259119749069214,-0.2291652262210846,-0.23393920063972473,-0.23729002475738525,-0.24209696054458618,-0.24542775750160217,-0.25034987926483154,-0.2534793019294739,-0.2586488425731659,-0.2613561749458313,-0.26694440841674805,-0.2689962685108185,-0.2751891016960144,-0.2763730585575104,-0.2833440899848938,-0.28349441289901733,-0.2913866341114044,-0.29039308428764343,-0.29930567741394043,-0.2971133589744568,-0.307087779045105,-0.30369770526885986,-0.3147141635417938,-0.31017762422561646,-0.322174072265625,-0.31657397747039795,-0.3294750452041626,-0.32290157675743103,-0.3366340100765228,-0.32917243242263794,-0.34366050362586975,-0.33539602160453796,-0.3505537211894989,-0.34157902002334595,-0.35731732845306396,-0.34772777557373047,-0.3639681339263916,-0.35384660959243774,-0.37052851915359497,-0.3599322438240051,-0.3770109713077545,-0.36596933007240295,-0.38341113924980164,-0.3719328045845032,-0.38971376419067383,-0.3777962625026703,-0.395904541015625,-0.3835383355617523,-0.4019785523414612,-0.3891465663909912,-0.4079378843307495,-0.39461749792099,-0.4137786626815796,-0.3999519944190979,-0.41947999596595764,-0.4051479697227478,-0.42500901222229004,-0.4101989269256592,-0.43034130334854126,-0.41509705781936646,-0.43548041582107544,-0.419841468334198,-0.44045743346214294,-0.42443957924842834,-0.4453069567680359,-0.4289010763168335,-0.4500356912612915,-0.4332244396209717,-0.45460939407348633,-0.4373864233493805,-0.4589867889881134,-0.4413633644580841,-0.46323850750923157,-0.44523024559020996,-0.4673311710357666,-0.448950856924057,-0.47124043107032776,-0.4524918496608734,-0.47496506571769714,-0.4558508098125458,-0.47851237654685974,-0.45904505252838135,-0.4818895757198334,-0.46209385991096497,-0.48510071635246277,-0.465003103017807,-0.48814600706100464,-0.46776124835014343,-0.4910202920436859,-0.4703477919101715,-0.4937116503715515,-0.4727475941181183,-0.49620547890663147,-0.4749591052532196,-0.4984930157661438,-0.47699394822120667,-0.5005773305892944,-0.47886550426483154,-0.5024701356887817,-0.48057854175567627,-0.5041794180870056,-0.4821264445781708,-0.5057013034820557,-0.48349958658218384,-0.5070251822471619,-0.4846949577331543,-0.5081486105918884,-0.48571905493736267,-0.509087085723877,-0.48658329248428345,-0.5098643898963928,-0.48729389905929565,-0.5104926228523254,-0.4878467321395874,-0.5109565854072571,-0.48822930455207825,-0.5112249851226807,-0.48842892050743103,-0.5112738013267517,-0.4884416460990906,-0.5111058354377747,-0.4882757067680359,-0.510748028755188,-0.48794835805892944,-0.510232150554657,-0.4874734580516815,-0.5095677971839905,-0.4868512451648712,-0.5087315440177917,-0.4860653281211853,-0.507678210735321,-0.48509278893470764,-0.5063723921775818,-0.48391830921173096,-0.5048164129257202,-0.4825429618358612,-0.5030500292778015,-0.48098352551460266,-0.5011188387870789,-0.4792636036872864,-0.49903959035873413,-0.47740641236305237,-0.49679604172706604,-0.47542843222618103,-0.4943670630455017,-0.4733349680900574,-0.4917532801628113,-0.4711179733276367,-0.4889707863330841,-0.4687599241733551,-0.4860231280326843,-0.46624556183815,-0.48288673162460327,-0.46356797218322754,-0.4795306921005249,-0.4607272446155548,-0.47594529390335083,-0.4577200412750244,-0.4721463918685913,-0.45453545451164246,-0.46815428137779236,-0.45116257667541504,-0.4639756381511688,-0.44760099053382874,-0.45960667729377747,-0.4438607692718506,-0.4550493359565735,-0.43995341658592224,-0.4503166675567627,-0.43588492274284363,-0.44542694091796875,-0.43166229128837585,-0.4403962194919586,-0.42730194330215454,-0.4352371096611023,-0.4228253960609436,-0.42995357513427734,-0.41824057698249817,-0.4245334267616272,-0.4135271906852722,-0.4189499616622925,-0.40864601731300354,-0.41317906975746155,-0.4035632312297821,-0.40721848607063293,-0.3982691168785095,-0.4010874032974243,-0.3927765190601349,-0.394808292388916,-0.38710835576057434,-0.388395220041275,-0.3812902271747589,-0.38185957074165344,-0.3753519058227539,-0.3752199113368988,-0.36932194232940674,-0.3684973418712616,-0.3632151782512665,-0.36169925332069397,-0.3570241928100586,-0.3548104763031006,-0.35072851181030273,-0.34780266880989075,-0.3443145751953125,-0.34065306186676025,-0.33778634667396545,-0.33335644006729126,-0.33115726709365845,-0.3259279131889343,-0.3244384527206421,-0.318397581577301,-0.31764116883277893,-0.31079593300819397,-0.3107862174510956,-0.3031361997127533,-0.3039014935493469,-0.2954109013080597,-0.2970024645328522,-0.2876105010509491,-0.2900755703449249,-0.2797442376613617,-0.28308728337287903,-0.27183473110198975,-0.276012122631073,-0.26388534903526306,-0.2688480317592621,-0.2558617889881134,-0.2616053521633148,-0.2477174997329712,-0.2542847990989685,-0.23943772912025452,-0.24687598645687103,-0.23105037212371826,-0.23937740921974182,-0.22259145975112915,-0.23180991411209106,-0.2140737771987915,-0.22420412302017212,-0.20549969375133514,-0.2165747880935669,-0.1968955248594284,-0.20891325175762177,-0.18831145763397217,-0.20120587944984436,-0.1797809600830078,-0.19345428049564362,-0.17129217088222504,-0.18567350506782532,-0.16281338036060333,-0.17787405848503113,-0.15433865785598755,-0.17005404829978943,-0.14589308202266693,-0.16221165657043457,-0.1374913901090622,-0.1543581485748291,-0.1291087418794632,-0.1465117484331131,-0.12070388346910477,-0.1386767327785492,-0.11226113140583038,-0.13083478808403015,-0.10379426181316376,-0.12296002358198166,-0.09531185775995255,-0.115040622651577,-0.08679930120706558,-0.10708432644605637,-0.07824482023715973,-0.09910604357719421,-0.06966972351074219,-0.09111578017473221,-0.061114951968193054,-0.08311952650547028,-0.052599892020225525,-0.0751243606209755,-0.04410962760448456,-0.06713724881410599,-0.03562984615564346,-0.05916077643632889,-0.027179516851902008,-0.05119534954428673,-0.01879652589559555,-0.04324730113148689,-0.010496310889720917,-0.03532908856868744,-0.002260833978652954,-0.027447693049907684,0.0059290193021297455,-0.019598383456468582,0.014061875641345978,-0.011778898537158966,0.022105101495981216,-0.004013461992144585,0.03003648668527603,0.0036457106471061707,0.03785426914691925,0.011150557547807693,0.04555843397974968,0.018492722883820534,0.053134094923734665,0.02570323459804058,0.060557737946510315,0.03281550854444504,0.06780894100666046,0.039834704250097275,0.07486822456121445,0.04675022140145302,0.0817132443189621,0.053574249148368835,0.08833374828100204,0.060355111956596375,0.0947575718164444,0.06714500486850739,0.10105312615633011,0.07395663857460022,0.10729896277189255,0.08076008409261703,0.11355335265398026,0.0875229686498642,0.11985470354557037,0.09424670785665512,0.12623825669288635,0.10095816850662231,0.1327301263809204,0.10766972601413727,0.1393246352672577,0.11436689645051956,0.14602354168891907,0.12108242511749268,0.15275464951992035,0.12784253060817719,0.15944001078605652,0.13467952609062195,0.166034996509552,0.1416047364473343,0.17252594232559204,0.1485820859670639,0.17891503870487213,0.15553797781467438,0.18521401286125183,0.162397101521492,0.19144229590892792,0.1691051870584488,0.19761662185192108,0.1756211370229721,0.20373423397541046,0.1818981170654297,0.20976819097995758,0.18788672983646393,0.21567688882350922,0.19356295466423035,0.22141236066818237,0.1989491879940033,0.22691985964775085,0.20410071313381195,0.23214197158813477,0.2090718001127243,0.23703992366790771,0.2138986885547638,0.24161241948604584,0.21860937774181366,0.24588878452777863,0.2232365906238556,0.24990510940551758,0.2278122901916504,0.25369614362716675,0.23235124349594116,0.25730907917022705,0.23684369027614594,0.2608065903186798,0.24126189947128296,0.26424169540405273,0.24557729065418243,0.26763802766799927,0.2497827410697937,0.2710042893886566,0.2539080083370209,0.2743600904941559,0.2580043077468872,0.27772846817970276,0.2621048092842102,0.28109848499298096,0.2662014663219452,0.2844138741493225,0.27026814222335815,0.28761327266693115,0.27430057525634766,0.2906782627105713,0.2783187925815582,0.2936345636844635,0.2823316752910614,0.29650774598121643,0.28631120920181274,0.2992847263813019,0.2902001440525055,0.30191662907600403,0.29392778873443604,0.30435478687286377,0.2974175214767456,0.3065836429595947,0.3006058931350708,0.30862122774124146,0.30347740650177,0.31049442291259766,0.306072473526001,0.312222421169281,0.3084503412246704,0.31383374333381653,0.31065377593040466,0.3153923749923706,0.31272828578948975,0.31698936223983765,0.31476086378097534,0.3186992406845093,0.3168686330318451,0.3205533027648926,0.31914153695106506,0.3225567936897278,0.3216134309768677,0.3247084319591522,0.324289470911026,0.3269837200641632,0.3271740972995758,0.3293130397796631,0.33025112748146057,0.33160120248794556,0.3334524631500244,0.3337690830230713,0.3366631269454956,0.3357566297054291,0.33975350856781006,0.33749690651893616,0.34260159730911255,0.3389246463775635,0.3451049029827118,0.34002384543418884,0.3472021222114563,0.34083592891693115,0.3488919138908386,0.34139955043792725,0.3502168655395508,0.3416992127895355,0.35122162103652954,0.3416895866394043,0.35192933678627014,0.3413449227809906,0.3523486256599426,0.3406597077846527,0.35248973965644836,0.3396291136741638,0.3523767590522766,0.3382820785045624,0.352059006690979,0.3367357850074768,0.35161373019218445,0.33517172932624817,0.3511255085468292,0.3337372839450836,0.35066133737564087,0.33248984813690186,0.3502699136734009,0.33143895864486694,0.3499961793422699,0.33060356974601746,0.34987717866897583,0.33000418543815613,0.3499266803264618,0.3296352028846741,0.3501513600349426,0.32948991656303406,0.350592702627182,0.329603374004364,0.3513304591178894,0.33003976941108704,0.35242897272109985,0.33083397150039673,0.35388806462287903,0.3319631814956665,0.35565000772476196,0.3333580195903778,0.35762736201286316,0.334903359413147,0.35970258712768555,0.33642998337745667,0.3617240786552429,0.3377501368522644,0.3635392487049103,0.33872780203819275,0.365033894777298,0.3393082618713379,0.36612892150878906,0.33948349952697754,0.3667609691619873,0.339260458946228,0.3669013977050781,0.33867549896240234,0.366586297750473,0.3378073573112488,0.3658924102783203,0.33674895763397217,0.364884614944458,0.3355695903301239,0.3636193573474884,0.33430618047714233,0.36218708753585815,0.33296605944633484,0.3606922924518585,0.3315345048904419,0.35918036103248596,0.3300207853317261,0.35764509439468384,0.3285069167613983,0.35611510276794434,0.3270561099052429,0.3546077311038971,0.3254457414150238,0.352856308221817,0.3229660391807556,0.350090354681015,0.3185683786869049,0.3452148139476776,0.3112976551055908,0.33729299902915955,0.30062180757522583,0.32587888836860657,0.28643596172332764,0.3109724819660187,0.2689546048641205,0.2928783595561981,0.24881073832511902,0.2723010778427124,0.22731277346611023,0.25058284401893616,0.20648010075092316,0.22969430685043335,0.18861271440982819,0.21180330216884613,0.17556962370872498,0.1986304223537445,0.1681668758392334,0.19092623889446259,0.1659921258687973,0.18827880918979645,0.16763757169246674,0.18928979337215424,0.17113277316093445,0.19200463593006134,0.1743386834859848,0.1943642944097519,0.175251305103302,0.19451621174812317,0.17233914136886597,0.1910596489906311,0.16496074199676514,0.18336881697177887,0.15363140404224396,0.17187567055225372,0.1398496776819229,0.157985121011734,0.12555719912052155,0.1435789316892624,0.11268371343612671,0.13053175806999207,0.10308875143527985,0.12063667923212051,0.09868810325860977,0.11577457934617996,0.10131668299436569,0.11781617254018784,0.11223071813583374,0.12809985876083374,0.1316116750240326,0.14688126742839813,0.15844237804412842,0.17319311201572418,0.19076986610889435,0.20511654019355774,0.2261192500591278,0.24018003046512604,0.2618753910064697,0.2757151126861572)
36 ]);
38 function runTest(test, iterations) {
39 for (var i = 0; i < iterations; i++) {
40 test();
44 /*
45 * DSP.js - a comprehensive digital signal processing library for javascript
47 * Created by Corban Brook <corbanbrook@gmail.com> on 2010-01-01.
48 * Copyright 2010 Corban Brook. All rights reserved.
52 ////////////////////////////////////////////////////////////////////////////////
53 // CONSTANTS //
54 ////////////////////////////////////////////////////////////////////////////////
56 /**
57 * DSP is an object which contains general purpose utility functions and constants
59 DSP = {
60 // Channels
61 LEFT: 0,
62 RIGHT: 1,
63 MIX: 2,
65 // Waveforms
66 SINE: 1,
67 TRIANGLE: 2,
68 SAW: 3,
69 SQUARE: 4,
71 // Filters
72 LOWPASS: 0,
73 HIGHPASS: 1,
74 BANDPASS: 2,
75 NOTCH: 3,
77 // Window functions
78 BARTLETT: 1,
79 BARTLETTHANN: 2,
80 BLACKMAN: 3,
81 COSINE: 4,
82 GAUSS: 5,
83 HAMMING: 6,
84 HANN: 7,
85 LANCZOS: 8,
86 RECTANGULAR: 9,
87 TRIANGULAR: 10,
89 // Loop modes
90 OFF: 0,
91 FW: 1,
92 BW: 2,
93 FWBW: 3,
95 // Math
96 TWO_PI: 2*Math.PI
99 ////////////////////////////////////////////////////////////////////////////////
100 // DSP UTILITY FUNCTIONS //
101 ////////////////////////////////////////////////////////////////////////////////
104 * Inverts the phase of a signal
106 * @param {Array} buffer A sample buffer
108 * @returns The inverted sample buffer
110 DSP.invert = function(buffer) {
111 for ( var i = 0, len = buffer.length; i < len; i++ ) {
112 buffer[i] *= -1;
115 return buffer;
119 * Converts split-stereo (dual mono) sample buffers into a stereo interleaved sample buffer
121 * @param {Array} left A sample buffer
122 * @param {Array} right A sample buffer
124 * @returns The stereo interleaved buffer
126 DSP.interleave = function(left, right) {
127 if ( left.length !== right.length ) {
128 throw "Can not interleave. Channel lengths differ.";
131 var stereoInterleaved = new Array(left.length * 2);
133 for (var i = 0, len = left.length; i < len; i++ ) {
134 stereoInterleaved[2*i] = left[i];
135 stereoInterleaved[2*i+1] = right[i];
138 return stereoInterleaved;
142 * Converts a stereo-interleaved sample buffer into split-stereo (dual mono) sample buffers
144 * @param {Array} buffer A stereo-interleaved sample buffer
146 * @returns an Array containing left and right channels
148 DSP.deinterleave = function(buffer) {
149 var left = new Array(buffer.length/2);
150 var right = new Array(buffer.length/2);
151 var mix = new Array(buffer.length/2);
153 for (var i = 0, len = buffer.length/2; i < len; i ++ ) {
154 left[i] = buffer[2*i];
155 right[i] = buffer[2*i+1];
156 mix[i] = (left[i] + right[i]) / 2;
159 return [left, right, mix];
163 * Separates a channel from a stereo-interleaved sample buffer
165 * @param {Array} buffer A stereo-interleaved sample buffer
166 * @param {Number} channel A channel constant (LEFT, RIGHT, MIX)
168 * @returns an Array containing a signal mono sample buffer
170 DSP.getChannel = function(channel, buffer) {
171 return DSP.deinterleave(buffer)[channel];
174 // Biquad filter types
175 DSP.LPF = 0; // H(s) = 1 / (s^2 + s/Q + 1)
176 DSP.HPF = 1; // H(s) = s^2 / (s^2 + s/Q + 1)
177 DSP.BPF_CONSTANT_SKIRT = 2; // H(s) = s / (s^2 + s/Q + 1) (constant skirt gain, peak gain = Q)
178 DSP.BPF_CONSTANT_PEAK = 3; // H(s) = (s/Q) / (s^2 + s/Q + 1) (constant 0 dB peak gain)
179 DSP.NOTCH = 4; // H(s) = (s^2 + 1) / (s^2 + s/Q + 1)
180 DSP.APF = 5; // H(s) = (s^2 - s/Q + 1) / (s^2 + s/Q + 1)
181 DSP.PEAKING_EQ = 6; // H(s) = (s^2 + s*(A/Q) + 1) / (s^2 + s/(A*Q) + 1)
182 DSP.LOW_SHELF = 7; // H(s) = A * (s^2 + (sqrt(A)/Q)*s + A)/(A*s^2 + (sqrt(A)/Q)*s + 1)
183 DSP.HIGH_SHELF = 8; // H(s) = A * (A*s^2 + (sqrt(A)/Q)*s + 1)/(s^2 + (sqrt(A)/Q)*s + A)
185 // Biquad filter parameter types
186 DSP.Q = 1;
187 DSP.BW = 2; // SHARED with BACKWARDS LOOP MODE
188 DSP.S = 3;
191 /**
192 * DFT is a class for calculating the Discrete Fourier Transform of a signal.
194 * @param {Number} bufferSize The size of the sample buffer to be computed
195 * @param {Number} sampleRate The sampleRate of the buffer (eg. 44100)
197 * @constructor
199 DFT = function(bufferSize, sampleRate) {
200 this.bufferSize = bufferSize;
201 this.sampleRate = sampleRate;
203 var N = bufferSize/2 * bufferSize;
205 this.sinTable = new Array(N);
206 this.cosTable = new Array(N);
208 for ( var i = 0; i < N; i++ ) {
209 this.sinTable[i] = Math.sin(i * DSP.TWO_PI / bufferSize);
210 this.cosTable[i] = Math.cos(i * DSP.TWO_PI / bufferSize);
213 this.spectrum = new Array(bufferSize/2);
214 this.complexValues = new Array(bufferSize/2);
218 * Performs a forward tranform on the sample buffer.
219 * Converts a time domain signal to frequency domain spectra.
221 * @param {Array} buffer The sample buffer
223 * @returns The frequency spectrum array
225 DFT.prototype.forward = function(buffer) {
226 var real, imag;
228 for ( var k = 0; k < this.bufferSize/2; k++ ) {
229 real = 0.0;
230 imag = 0.0;
232 for ( var n = 0; n < buffer.length; n++ ) {
233 real += this.cosTable[k*n] * buffer[n];
234 imag += this.sinTable[k*n] * buffer[n];
237 this.complexValues[k] = {real: real, imag: imag};
240 for ( var i = 0; i < this.bufferSize/2; i++ ) {
241 this.spectrum[i] = 2 * Math.sqrt(Math.pow(this.complexValues[i].real, 2) + Math.pow(this.complexValues[i].imag, 2)) / this.bufferSize;
244 return this.spectrum;
248 /**
249 * FFT is a class for calculating the Discrete Fourier Transform of a signal
250 * with the Fast Fourier Transform algorithm.
252 * @param {Number} bufferSize The size of the sample buffer to be computed. Must be power of 2
253 * @param {Number} sampleRate The sampleRate of the buffer (eg. 44100)
255 * @constructor
257 FFT = function(bufferSize, sampleRate) {
258 this.bufferSize = bufferSize;
259 this.sampleRate = sampleRate;
260 this.spectrum = new Array(bufferSize/2);
261 this.real = new Array(bufferSize);
262 this.imag = new Array(bufferSize);
264 this.reverseTable = new Array(bufferSize);
265 for (var i = 0; i < this.reverseTable.length; i++) {
266 this.reverseTable[i] = 0;
269 var limit = 1;
270 var bit = bufferSize >> 1;
272 while ( limit < bufferSize ) {
273 for ( var i = 0; i < limit; i++ ) {
274 this.reverseTable[i + limit] = this.reverseTable[i] + bit;
277 limit = limit << 1;
278 bit = bit >> 1;
281 this.sinTable = new Array(bufferSize);
282 this.cosTable = new Array(bufferSize);
284 for ( var i = 0; i < bufferSize; i++ ) {
285 this.sinTable[i] = Math.sin(-Math.PI/i);
286 this.cosTable[i] = Math.cos(-Math.PI/i);
291 * Performs a forward tranform on the sample buffer.
292 * Converts a time domain signal to frequency domain spectra.
294 * @param {Array} buffer The sample buffer. Buffer Length must be power of 2
296 * @returns The frequency spectrum array
298 FFT.prototype.forward = function(buffer) {
299 // Locally scope variables for speed up
300 var bufferSize = this.bufferSize,
301 cosTable = this.cosTable,
302 sinTable = this.sinTable,
303 reverseTable = this.reverseTable,
304 real = this.real,
305 imag = this.imag,
306 spectrum = this.spectrum;
308 var k = Math.floor(Math.log(bufferSize) / Math.LN2);
309 if ( Math.pow(2, k) !== bufferSize ) { throw "Invalid buffer size, must be a power of 2."; }
310 if ( bufferSize !== buffer.length ) { throw "Supplied buffer is not the same size as defined FFT. FFT Size: " + bufferSize + " Buffer Size: " + buffer.length; }
312 for ( var i = 0; i < bufferSize; i++ ) {
313 real[i] = buffer[reverseTable[i]];
314 imag[i] = 0;
317 var halfSize = 1,
318 phaseShiftStepReal,
319 phaseShiftStepImag,
320 currentPhaseShiftReal,
321 currentPhaseShiftImag,
322 off,
323 tr,
324 ti,
325 tmpReal,
328 while ( halfSize < bufferSize ) {
329 phaseShiftStepReal = cosTable[halfSize];
330 phaseShiftStepImag = sinTable[halfSize];
331 currentPhaseShiftReal = 1;
332 currentPhaseShiftImag = 0;
334 for ( var fftStep = 0; fftStep < halfSize; fftStep++ ) {
335 i = fftStep;
337 while ( i < bufferSize ) {
338 off = i + halfSize;
339 tr = (currentPhaseShiftReal * real[off]) - (currentPhaseShiftImag * imag[off]);
340 ti = (currentPhaseShiftReal * imag[off]) + (currentPhaseShiftImag * real[off]);
342 real[off] = real[i] - tr;
343 imag[off] = imag[i] - ti;
344 real[i] += tr;
345 imag[i] += ti;
347 i += halfSize << 1;
350 tmpReal = currentPhaseShiftReal;
351 currentPhaseShiftReal = (tmpReal * phaseShiftStepReal) - (currentPhaseShiftImag * phaseShiftStepImag);
352 currentPhaseShiftImag = (tmpReal * phaseShiftStepImag) + (currentPhaseShiftImag * phaseShiftStepReal);
355 halfSize = halfSize << 1;
358 i = bufferSize/2;
359 while(i--) {
360 spectrum[i] = 2 * Math.sqrt(real[i] * real[i] + imag[i] * imag[i]) / bufferSize;
363 return spectrum;
366 FFT.prototype.inverse = function(real, imag) {
367 // Locally scope variables for speed up
368 var bufferSize = this.bufferSize,
369 cosTable = this.cosTable,
370 sinTable = this.sinTable,
371 reverseTable = this.reverseTable,
372 spectrum = this.spectrum;
374 real = real || this.real;
375 imag = imag || this.imag;
377 for (var i = 0; i < bufferSize; i++) {
378 imag[i] *= -1;
381 var revReal = new Array(bufferSize);
382 var revImag = new Array(bufferSize);
384 for (var i = 0; i < real.length; i++) {
385 revReal[i] = real[reverseTable[i]];
386 revImag[i] = imag[reverseTable[i]];
389 real = revReal;
390 imag = revImag;
392 var halfSize = 1,
393 phaseShiftStepReal,
394 phaseShiftStepImag,
395 currentPhaseShiftReal,
396 currentPhaseShiftImag,
397 off,
398 tr,
399 ti,
400 tmpReal,
403 while ( halfSize < bufferSize ) {
404 phaseShiftStepReal = cosTable[halfSize];
405 phaseShiftStepImag = sinTable[halfSize];
406 currentPhaseShiftReal = 1;
407 currentPhaseShiftImag = 0;
409 for ( var fftStep = 0; fftStep < halfSize; fftStep++ ) {
410 i = fftStep;
412 while ( i < bufferSize ) {
413 off = i + halfSize;
414 tr = (currentPhaseShiftReal * real[off]) - (currentPhaseShiftImag * imag[off]);
415 ti = (currentPhaseShiftReal * imag[off]) + (currentPhaseShiftImag * real[off]);
417 real[off] = real[i] - tr;
418 imag[off] = imag[i] - ti;
419 real[i] += tr;
420 imag[i] += ti;
422 i += halfSize << 1;
425 tmpReal = currentPhaseShiftReal;
426 currentPhaseShiftReal = (tmpReal * phaseShiftStepReal) - (currentPhaseShiftImag * phaseShiftStepImag);
427 currentPhaseShiftImag = (tmpReal * phaseShiftStepImag) + (currentPhaseShiftImag * phaseShiftStepReal);
430 halfSize = halfSize << 1;
433 var buffer = new Array(bufferSize);
434 for (var i = 0; i < bufferSize; i++) {
435 buffer[i] = real[i] / bufferSize;
438 return buffer;
441 Sampler = function Sampler(file, bufferSize, sampleRate, playStart, playEnd, loopStart, loopEnd, loopMode) {
442 this.file = file;
443 this.bufferSize = bufferSize;
444 this.sampleRate = sampleRate;
445 this.playStart = playStart || 0; // 0%
446 this.playEnd = playEnd || 1; // 100%
447 this.loopStart = loopStart || 0;
448 this.loopEnd = loopEnd || 1;
449 this.loopMode = loopMode || DSP.OFF;
450 this.loaded = false;
451 this.samples = [];
452 this.signal = new Array(bufferSize);
453 this.frameCount = 0;
454 this.envelope = null;
455 this.amplitude = 1;
456 this.rootFrequency = 110; // A2 110
457 this.frequency = 550;
458 this.step = this.frequency / this.rootFrequency;
459 this.duration = 0;
460 this.samplesProcessed = 0;
461 this.playhead = 0;
463 var audio = /* new Audio();*/ document.createElement("AUDIO");
464 var self = this;
466 this.loadSamples = function(event) {
467 var buffer = DSP.getChannel(DSP.MIX, event.frameBuffer);
468 for ( var i = 0; i < buffer.length; i++) {
469 self.samples.push(buffer[i]);
473 this.loadComplete = function() {
474 // convert flexible js array into a fast typed array
475 self.samples = new Array(self.samples);
476 self.loaded = true;
479 this.loadMetaData = function() {
480 self.duration = audio.duration;
483 audio.addEventListener("MozAudioAvailable", this.loadSamples, false);
484 audio.addEventListener("loadedmetadata", this.loadMetaData, false)
485 audio.addEventListener("ended", this.loadComplete, false);
486 audio.muted = true;
487 audio.src = file;
488 audio.play();
491 Sampler.prototype.applyEnvelope = function() {
492 this.envelope.process(this.signal);
493 return this.signal;
496 Sampler.prototype.generate = function() {
497 var frameOffset = this.frameCount * this.bufferSize;
499 var loopWidth = this.playEnd * this.samples.length - this.playStart * this.samples.length;
500 var playStartSamples = this.playStart * this.samples.length; // ie 0.5 -> 50% of the length
501 var playEndSamples = this.playEnd * this.samples.length; // ie 0.5 -> 50% of the length
502 var offset;
504 for ( var i = 0; i < this.bufferSize; i++ ) {
505 switch (this.loopMode) {
506 case DSP.OFF:
507 this.playhead = Math.round(this.samplesProcessed * this.step + playStartSamples);
508 if (this.playhead < (this.playEnd * this.samples.length) ) {
509 this.signal[i] = this.samples[this.playhead] * this.amplitude;
510 } else {
511 this.signal[i] = 0;
513 break;
515 case DSP.FW:
516 this.playhead = Math.round((this.samplesProcessed * this.step) % loopWidth + playStartSamples);
517 if (this.playhead < (this.playEnd * this.samples.length) ) {
518 this.signal[i] = this.samples[this.playhead] * this.amplitude;
520 break;
522 case DSP.BW:
523 this.playhead = playEndSamples - Math.round((this.samplesProcessed * this.step) % loopWidth);
524 if (this.playhead < (this.playEnd * this.samples.length) ) {
525 this.signal[i] = this.samples[this.playhead] * this.amplitude;
527 break;
529 case DSP.FWBW:
530 if ( Math.floor(this.samplesProcessed * this.step / loopWidth) % 2 == 0 ) {
531 this.playhead = Math.round((this.samplesProcessed * this.step) % loopWidth + playStartSamples);
532 } else {
533 this.playhead = playEndSamples - Math.round((this.samplesProcessed * this.step) % loopWidth);
535 if (this.playhead < (this.playEnd * this.samples.length) ) {
536 this.signal[i] = this.samples[this.playhead] * this.amplitude;
538 break;
540 this.samplesProcessed++;
543 this.frameCount++;
545 return this.signal;
548 Sampler.prototype.setFreq = function(frequency) {
549 this.frequency = frequency;
550 this.step = this.frequency / this.rootFrequency;
553 Sampler.prototype.reset = function() {
554 this.samplesProcessed = 0;
555 this.playhead = 0;
559 * Oscillator class for generating and modifying signals
561 * @param {Number} type A waveform constant (eg. DSP.SINE)
562 * @param {Number} frequency Initial frequency of the signal
563 * @param {Number} amplitude Initial amplitude of the signal
564 * @param {Number} bufferSize Size of the sample buffer to generate
565 * @param {Number} sampleRate The sample rate of the signal
567 * @contructor
569 Oscillator = function Oscillator(type, frequency, amplitude, bufferSize, sampleRate) {
570 this.frequency = frequency;
571 this.amplitude = amplitude;
572 this.bufferSize = bufferSize;
573 this.sampleRate = sampleRate;
574 //this.pulseWidth = pulseWidth;
575 this.frameCount = 0;
577 this.waveTableLength = 2048;
579 this.cyclesPerSample = frequency / sampleRate;
581 this.signal = new Array(bufferSize);
582 this.envelope = null;
584 switch(parseInt(type)) {
585 case DSP.TRIANGLE:
586 this.func = Oscillator.Triangle;
587 break;
589 case DSP.SAW:
590 this.func = Oscillator.Saw;
591 break;
593 case DSP.SQUARE:
594 this.func = Oscillator.Square;
595 break;
597 case DSP.SINE:
598 default:
599 this.func = Oscillator.Sine;
600 break;
603 this.generateWaveTable = function() {
604 Oscillator.waveTable[this.func] = new Array(2048);
605 var waveTableTime = this.waveTableLength / this.sampleRate;
606 var waveTableHz = 1 / waveTableTime;
608 for (var i = 0; i < this.waveTableLength; i++) {
609 Oscillator.waveTable[this.func][i] = this.func(i * waveTableHz/this.sampleRate);
613 if ( typeof Oscillator.waveTable === 'undefined' ) {
614 Oscillator.waveTable = {};
617 if ( typeof Oscillator.waveTable[this.func] === 'undefined' ) {
618 this.generateWaveTable();
621 this.waveTable = Oscillator.waveTable[this.func];
625 * Set the amplitude of the signal
627 * @param {Number} amplitude The amplitude of the signal (between 0 and 1)
629 Oscillator.prototype.setAmp = function(amplitude) {
630 if (amplitude >= 0 && amplitude <= 1) {
631 this.amplitude = amplitude;
632 } else {
633 throw "Amplitude out of range (0..1).";
638 * Set the frequency of the signal
640 * @param {Number} frequency The frequency of the signal
642 Oscillator.prototype.setFreq = function(frequency) {
643 this.frequency = frequency;
644 this.cyclesPerSample = frequency / this.sampleRate;
647 // Add an oscillator
648 Oscillator.prototype.add = function(oscillator) {
649 for ( var i = 0; i < this.bufferSize; i++ ) {
650 //this.signal[i] += oscillator.valueAt(i);
651 this.signal[i] += oscillator.signal[i];
654 return this.signal;
657 // Add a signal to the current generated osc signal
658 Oscillator.prototype.addSignal = function(signal) {
659 for ( var i = 0; i < signal.length; i++ ) {
660 if ( i >= this.bufferSize ) {
661 break;
663 this.signal[i] += signal[i];
666 // Constrain amplitude
667 if ( this.signal[i] > 1 ) {
668 this.signal[i] = 1;
669 } else if ( this.signal[i] < -1 ) {
670 this.signal[i] = -1;
674 return this.signal;
677 // Add an envelope to the oscillator
678 Oscillator.prototype.addEnvelope = function(envelope) {
679 this.envelope = envelope;
682 Oscillator.prototype.applyEnvelope = function() {
683 this.envelope.process(this.signal);
686 Oscillator.prototype.valueAt = function(offset) {
687 return this.waveTable[offset % this.waveTableLength];
690 Oscillator.prototype.generate = function() {
691 var frameOffset = this.frameCount * this.bufferSize;
692 var step = this.waveTableLength * this.frequency / this.sampleRate;
693 var offset;
695 for ( var i = 0; i < this.bufferSize; i++ ) {
696 //var step = (frameOffset + i) * this.cyclesPerSample % 1;
697 //this.signal[i] = this.func(step) * this.amplitude;
698 //this.signal[i] = this.valueAt(Math.round((frameOffset + i) * step)) * this.amplitude;
699 offset = Math.round((frameOffset + i) * step);
700 this.signal[i] = this.waveTable[offset % this.waveTableLength] * this.amplitude;
703 this.frameCount++;
705 return this.signal;
708 Oscillator.Sine = function(step) {
709 return Math.sin(DSP.TWO_PI * step);
712 Oscillator.Square = function(step) {
713 return step < 0.5 ? 1 : -1;
716 Oscillator.Saw = function(step) {
717 return 2 * (step - Math.round(step));
720 Oscillator.Triangle = function(step) {
721 return 1 - 4 * Math.abs(Math.round(step) - step);
724 Oscillator.Pulse = function(step) {
725 // stub
728 ADSR = function(attackLength, decayLength, sustainLevel, sustainLength, releaseLength, sampleRate) {
729 this.sampleRate = sampleRate;
730 // Length in seconds
731 this.attackLength = attackLength;
732 this.decayLength = decayLength;
733 this.sustainLevel = sustainLevel;
734 this.sustainLength = sustainLength;
735 this.releaseLength = releaseLength;
736 this.sampleRate = sampleRate;
738 // Length in samples
739 this.attackSamples = attackLength * sampleRate;
740 this.decaySamples = decayLength * sampleRate;
741 this.sustainSamples = sustainLength * sampleRate;
742 this.releaseSamples = releaseLength * sampleRate;
744 // Updates the envelope sample positions
745 this.update = function() {
746 this.attack = this.attackSamples;
747 this.decay = this.attack + this.decaySamples;
748 this.sustain = this.decay + this.sustainSamples;
749 this.release = this.sustain + this.releaseSamples;
752 this.update();
754 this.samplesProcessed = 0;
758 ADSR.prototype.noteOn = function() {
759 this.samplesProcessed = 0;
760 this.sustainSamples = this.sustainLength * this.sampleRate;
761 this.update();
764 // Send a note off when using a sustain of infinity to let the envelope enter the release phase
765 ADSR.prototype.noteOff = function() {
766 this.sustainSamples = this.samplesProcessed - this.decaySamples;
767 this.update();
770 ADSR.prototype.processSample = function(sample) {
771 var amplitude = 0;
773 if ( this.samplesProcessed <= this.attack ) {
774 amplitude = 0 + (1 - 0) * ((this.samplesProcessed - 0) / (this.attack - 0));
775 } else if ( this.samplesProcessed > this.attack && this.samplesProcessed <= this.decay ) {
776 amplitude = 1 + (this.sustainLevel - 1) * ((this.samplesProcessed - this.attack) / (this.decay - this.attack));
777 } else if ( this.samplesProcessed > this.decay && this.samplesProcessed <= this.sustain ) {
778 amplitude = this.sustainLevel;
779 } else if ( this.samplesProcessed > this.sustain && this.samplesProcessed <= this.release ) {
780 amplitude = this.sustainLevel + (0 - this.sustainLevel) * ((this.samplesProcessed - this.sustain) / (this.release - this.sustain));
783 return sample * amplitude;
786 ADSR.prototype.value = function() {
787 var amplitude = 0;
789 if ( this.samplesProcessed <= this.attack ) {
790 amplitude = 0 + (1 - 0) * ((this.samplesProcessed - 0) / (this.attack - 0));
791 } else if ( this.samplesProcessed > this.attack && this.samplesProcessed <= this.decay ) {
792 amplitude = 1 + (this.sustainLevel - 1) * ((this.samplesProcessed - this.attack) / (this.decay - this.attack));
793 } else if ( this.samplesProcessed > this.decay && this.samplesProcessed <= this.sustain ) {
794 amplitude = this.sustainLevel;
795 } else if ( this.samplesProcessed > this.sustain && this.samplesProcessed <= this.release ) {
796 amplitude = this.sustainLevel + (0 - this.sustainLevel) * ((this.samplesProcessed - this.sustain) / (this.release - this.sustain));
799 return amplitude;
802 ADSR.prototype.process = function(buffer) {
803 for ( var i = 0; i < buffer.length; i++ ) {
804 buffer[i] *= this.value();
806 this.samplesProcessed++;
809 return buffer;
813 ADSR.prototype.isActive = function() {
814 if ( this.samplesProcessed > this.release || this.samplesProcessed === -1 ) {
815 return false;
816 } else {
817 return true;
821 ADSR.prototype.disable = function() {
822 this.samplesProcessed = -1;
825 IIRFilter = function(type, cutoff, resonance, sampleRate) {
826 this.sampleRate = sampleRate;
827 this.cutoff = cutoff;
828 this.resonance = resonance;
830 switch(type) {
831 case DSP.LOWPASS:
832 case DSP.LP12:
833 this.func = new IIRFilter.LP12(cutoff, resonance, sampleRate);
834 break;
838 IIRFilter.prototype.set = function(cutoff, resonance) {
839 this.func.calcCoeff(cutoff, resonance);
842 IIRFilter.prototype.process = function(buffer) {
843 this.func.process(buffer);
846 // Add an envelope to the filter
847 IIRFilter.prototype.addEnvelope = function(envelope) {
848 if ( envelope instanceof ADSR ) {
849 this.func.addEnvelope(envelope);
850 } else {
851 throw "Not an envelope.";
855 IIRFilter.LP12 = function(cutoff, resonance, sampleRate) {
856 this.sampleRate = sampleRate;
857 this.vibraPos = 0;
858 this.vibraSpeed = 0;
859 this.envelope = false;
861 this.calcCoeff = function(cutoff, resonance) {
862 this.w = 2.0 * Math.PI * cutoff / this.sampleRate;
863 this.q = 1.0 - this.w / (2.0 * (resonance + 0.5 / (1.0 + this.w)) + this.w - 2.0);
864 this.r = this.q * this.q;
865 this.c = this.r + 1.0 - 2.0 * Math.cos(this.w) * this.q;
867 this.cutoff = cutoff;
868 this.resonance = resonance;
871 this.calcCoeff(cutoff, resonance);
873 this.process = function(buffer) {
874 for ( var i = 0; i < buffer.length; i++ ) {
875 this.vibraSpeed += (buffer[i] - this.vibraPos) * this.c;
876 this.vibraPos += this.vibraSpeed;
877 this.vibraSpeed *= this.r;
880 var temp = this.vibraPos;
882 if ( temp > 1.0 ) {
883 temp = 1.0;
884 } else if ( temp < -1.0 ) {
885 temp = -1.0;
886 } else if ( temp != temp ) {
887 temp = 1;
890 buffer[i] = temp;
893 if (this.envelope) {
894 buffer[i] = (buffer[i] * (1 - this.envelope.value())) + (this.vibraPos * this.envelope.value());
895 this.envelope.samplesProcessed++;
896 } else {
897 buffer[i] = this.vibraPos;
903 IIRFilter.LP12.prototype.addEnvelope = function(envelope) {
904 this.envelope = envelope;
909 IIRFilter2 = function(type, cutoff, resonance, sampleRate) {
910 this.type = type;
911 this.cutoff = cutoff;
912 this.resonance = resonance;
913 this.sampleRate = sampleRate;
915 this.f = Array(4);
916 this.f[0] = 0.0; // lp
917 this.f[1] = 0.0; // hp
918 this.f[2] = 0.0; // bp
919 this.f[3] = 0.0; // br
921 this.calcCoeff = function(cutoff, resonance) {
922 this.freq = 2 * Math.sin(Math.PI * Math.min(0.25, cutoff/(this.sampleRate*2)));
923 this.damp = Math.min(2 * (1 - Math.pow(resonance, 0.25)), Math.min(2, 2/this.freq - this.freq * 0.5));
926 this.calcCoeff(cutoff, resonance);
929 IIRFilter2.prototype.process = function(buffer) {
930 var input, output;
931 var f = this.f;
933 for ( var i = 0; i < buffer.length; i++ ) {
934 input = buffer[i];
936 // first pass
937 f[3] = input - this.damp * f[2];
938 f[0] = f[0] + this.freq * f[2];
939 f[1] = f[3] - f[0];
940 f[2] = this.freq * f[1] + f[2];
941 output = 0.5 * f[this.type];
943 // second pass
944 f[3] = input - this.damp * f[2];
945 f[0] = f[0] + this.freq * f[2];
946 f[1] = f[3] - f[0];
947 f[2] = this.freq * f[1] + f[2];
948 output += 0.5 * f[this.type];
950 if (this.envelope) {
951 buffer[i] = (buffer[i] * (1 - this.envelope.value())) + (output * this.envelope.value());
952 this.envelope.samplesProcessed++;
953 } else {
954 buffer[i] = output;
959 IIRFilter2.prototype.addEnvelope = function(envelope) {
960 if ( envelope instanceof ADSR ) {
961 this.envelope = envelope;
962 } else {
963 throw "This is not an envelope.";
967 IIRFilter2.prototype.set = function(cutoff, resonance) {
968 this.calcCoeff(cutoff, resonance);
973 WindowFunction = function(type, alpha) {
974 this.alpha = alpha;
976 switch(type) {
977 case DSP.BARTLETT:
978 this.func = WindowFunction.Bartlett;
979 break;
981 case DSP.BARTLETTHANN:
982 this.func = WindowFunction.BartlettHann;
983 break;
985 case DSP.BLACKMAN:
986 this.func = WindowFunction.Blackman;
987 this.alpha = this.alpha || 0.16;
988 break;
990 case DSP.COSINE:
991 this.func = WindowFunction.Cosine;
992 break;
994 case DSP.GAUSS:
995 this.func = WindowFunction.Gauss;
996 this.alpha = this.alpha || 0.25;
997 break;
999 case DSP.HAMMING:
1000 this.func = WindowFunction.Hamming;
1001 break;
1003 case DSP.HANN:
1004 this.func = WindowFunction.Hann;
1005 break;
1007 case DSP.LANCZOS:
1008 this.func = WindowFunction.Lanczoz;
1009 break;
1011 case DSP.RECTANGULAR:
1012 this.func = WindowFunction.Rectangular;
1013 break;
1015 case DSP.TRIANGULAR:
1016 this.func = WindowFunction.Triangular;
1017 break;
1021 WindowFunction.prototype.process = function(buffer) {
1022 var length = buffer.length;
1023 for ( var i = 0; i < length; i++ ) {
1024 buffer[i] *= this.func(length, i, this.alpha);
1026 return buffer;
1029 WindowFunction.Bartlett = function(length, index) {
1030 return 2 / (length - 1) * ((length - 1) / 2 - Math.abs(index - (length - 1) / 2));
1033 WindowFunction.BartlettHann = function(length, index) {
1034 return 0.62 - 0.48 * Math.abs(index / (length - 1) - 0.5) - 0.38 * Math.cos(DSP.TWO_PI * index / (length - 1));
1037 WindowFunction.Blackman = function(length, index, alpha) {
1038 var a0 = (1 - alpha) / 2;
1039 var a1 = 0.5;
1040 var a2 = alpha / 2;
1042 return a0 - a1 * Math.cos(DSP.TWO_PI * index / (length - 1)) + a2 * Math.cos(4 * Math.PI * index / (length - 1));
1045 WindowFunction.Cosine = function(length, index) {
1046 return Math.cos(Math.PI * index / (length - 1) - Math.PI / 2);
1049 WindowFunction.Gauss = function(length, index, alpha) {
1050 return Math.pow(Math.E, -0.5 * Math.pow((index - (length - 1) / 2) / (alpha * (length - 1) / 2), 2));
1053 WindowFunction.Hamming = function(length, index) {
1054 return 0.54 - 0.46 * Math.cos(DSP.TWO_PI * index / (length - 1));
1057 WindowFunction.Hann = function(length, index) {
1058 return 0.5 * (1 - Math.cos(DSP.TWO_PI * index / (length - 1)));
1061 WindowFunction.Lanczos = function(length, index) {
1062 var x = 2 * index / (length - 1) - 1;
1063 return Math.sin(Math.PI * x) / (Math.PI * x);
1066 WindowFunction.Rectangular = function(length, index) {
1067 return 1;
1070 WindowFunction.Triangular = function(length, index) {
1071 return 2 / length * (length / 2 - Math.abs(index - (length - 1) / 2));
1074 function sinh (arg) {
1075 // Returns the hyperbolic sine of the number, defined as (exp(number) - exp(-number))/2
1077 // version: 1004.2314
1078 // discuss at: http://phpjs.org/functions/sinh // + original by: Onno Marsman
1079 // * example 1: sinh(-0.9834330348825909);
1080 // * returns 1: -1.1497971402636502
1081 return (Math.exp(arg) - Math.exp(-arg))/2;
1086 * Biquad filter
1088 * Created by Ricard Marxer <email@ricardmarxer.com> on 2010-05-23.
1089 * Copyright 2010 Ricard Marxer. All rights reserved.
1092 // Implementation based on:
1093 // http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt
1094 Biquad = function(type, sampleRate) {
1095 this.Fs = sampleRate;
1096 this.type = type; // type of the filter
1097 this.parameterType = DSP.Q; // type of the parameter
1099 this.x_1_l = 0;
1100 this.x_2_l = 0;
1101 this.y_1_l = 0;
1102 this.y_2_l = 0;
1104 this.x_1_r = 0;
1105 this.x_2_r = 0;
1106 this.y_1_r = 0;
1107 this.y_2_r = 0;
1109 this.b0 = 1;
1110 this.a0 = 1;
1112 this.b1 = 0;
1113 this.a1 = 0;
1115 this.b2 = 0;
1116 this.a2 = 0;
1118 this.b0a0 = this.b0 / this.a0;
1119 this.b1a0 = this.b1 / this.a0;
1120 this.b2a0 = this.b2 / this.a0;
1121 this.a1a0 = this.a1 / this.a0;
1122 this.a2a0 = this.a2 / this.a0;
1124 this.f0 = 3000; // "wherever it's happenin', man." Center Frequency or
1125 // Corner Frequency, or shelf midpoint frequency, depending
1126 // on which filter type. The "significant frequency".
1128 this.dBgain = 12; // used only for peaking and shelving filters
1130 this.Q = 1; // the EE kind of definition, except for peakingEQ in which A*Q is
1131 // the classic EE Q. That adjustment in definition was made so that
1132 // a boost of N dB followed by a cut of N dB for identical Q and
1133 // f0/Fs results in a precisely flat unity gain filter or "wire".
1135 this.BW = -3; // the bandwidth in octaves (between -3 dB frequencies for BPF
1136 // and notch or between midpoint (dBgain/2) gain frequencies for
1137 // peaking EQ
1139 this.S = 1; // a "shelf slope" parameter (for shelving EQ only). When S = 1,
1140 // the shelf slope is as steep as it can be and remain monotonically
1141 // increasing or decreasing gain with frequency. The shelf slope, in
1142 // dB/octave, remains proportional to S for all other values for a
1143 // fixed f0/Fs and dBgain.
1145 this.coefficients = function() {
1146 var b = [this.b0, this.b1, this.b2];
1147 var a = [this.a0, this.a1, this.a2];
1148 return {b: b, a:a};
1151 this.setFilterType = function(type) {
1152 this.type = type;
1153 this.recalculateCoefficients();
1156 this.setSampleRate = function(rate) {
1157 this.Fs = rate;
1158 this.recalculateCoefficients();
1161 this.setQ = function(q) {
1162 this.parameterType = DSP.Q;
1163 this.Q = Math.max(Math.min(q, 115.0), 0.001);
1164 this.recalculateCoefficients();
1167 this.setBW = function(bw) {
1168 this.parameterType = DSP.BW;
1169 this.BW = bw;
1170 this.recalculateCoefficients();
1173 this.setS = function(s) {
1174 this.parameterType = DSP.S;
1175 this.S = Math.max(Math.min(s, 5.0), 0.0001);
1176 this.recalculateCoefficients();
1179 this.setF0 = function(freq) {
1180 this.f0 = freq;
1181 this.recalculateCoefficients();
1184 this.setDbGain = function(g) {
1185 this.dBgain = g;
1186 this.recalculateCoefficients();
1189 this.recalculateCoefficients = function() {
1190 var A;
1191 if (type == DSP.PEAKING_EQ || type == DSP.LOW_SHELF || type == DSP.HIGH_SHELF ) {
1192 A = Math.pow(10, (this.dBgain/40)); // for peaking and shelving EQ filters only
1193 } else {
1194 A = Math.sqrt( Math.pow(10, (this.dBgain/20)) );
1197 var w0 = DSP.TWO_PI * this.f0 / this.Fs;
1199 var cosw0 = Math.cos(w0);
1200 var sinw0 = Math.sin(w0);
1202 var alpha = 0;
1204 switch (this.parameterType) {
1205 case DSP.Q:
1206 alpha = sinw0/(2*this.Q);
1207 break;
1209 case DSP.BW:
1210 alpha = sinw0 * sinh( Math.LN2/2 * this.BW * w0/sinw0 );
1211 break;
1213 case DSP.S:
1214 alpha = sinw0/2 * Math.sqrt( (A + 1/A)*(1/this.S - 1) + 2 );
1215 break;
1219 FYI: The relationship between bandwidth and Q is
1220 1/Q = 2*sinh(ln(2)/2*BW*w0/sin(w0)) (digital filter w BLT)
1221 or 1/Q = 2*sinh(ln(2)/2*BW) (analog filter prototype)
1223 The relationship between shelf slope and Q is
1224 1/Q = sqrt((A + 1/A)*(1/S - 1) + 2)
1227 switch (this.type) {
1228 case DSP.LPF: // H(s) = 1 / (s^2 + s/Q + 1)
1229 this.b0 = (1 - cosw0)/2;
1230 this.b1 = 1 - cosw0;
1231 this.b2 = (1 - cosw0)/2;
1232 this.a0 = 1 + alpha;
1233 this.a1 = -2 * cosw0;
1234 this.a2 = 1 - alpha;
1235 break;
1237 case DSP.HPF: // H(s) = s^2 / (s^2 + s/Q + 1)
1238 this.b0 = (1 + cosw0)/2;
1239 this.b1 = -(1 + cosw0);
1240 this.b2 = (1 + cosw0)/2;
1241 this.a0 = 1 + alpha;
1242 this.a1 = -2 * cosw0;
1243 this.a2 = 1 - alpha;
1244 break;
1246 case DSP.BPF_CONSTANT_SKIRT: // H(s) = s / (s^2 + s/Q + 1) (constant skirt gain, peak gain = Q)
1247 this.b0 = sinw0/2;
1248 this.b1 = 0;
1249 this.b2 = -sinw0/2;
1250 this.a0 = 1 + alpha;
1251 this.a1 = -2*cosw0;
1252 this.a2 = 1 - alpha;
1253 break;
1255 case DSP.BPF_CONSTANT_PEAK: // H(s) = (s/Q) / (s^2 + s/Q + 1) (constant 0 dB peak gain)
1256 this.b0 = alpha;
1257 this.b1 = 0;
1258 this.b2 = -alpha;
1259 this.a0 = 1 + alpha;
1260 this.a1 = -2*cosw0;
1261 this.a2 = 1 - alpha;
1262 break;
1264 case DSP.NOTCH: // H(s) = (s^2 + 1) / (s^2 + s/Q + 1)
1265 this.b0 = 1;
1266 this.b1 = -2*cosw0;
1267 this.b2 = 1;
1268 this.a0 = 1 + alpha;
1269 this.a1 = -2*cosw0;
1270 this.a2 = 1 - alpha;
1271 break;
1273 case DSP.APF: // H(s) = (s^2 - s/Q + 1) / (s^2 + s/Q + 1)
1274 this.b0 = 1 - alpha;
1275 this.b1 = -2*cosw0;
1276 this.b2 = 1 + alpha;
1277 this.a0 = 1 + alpha;
1278 this.a1 = -2*cosw0;
1279 this.a2 = 1 - alpha;
1280 break;
1282 case DSP.PEAKING_EQ: // H(s) = (s^2 + s*(A/Q) + 1) / (s^2 + s/(A*Q) + 1)
1283 this.b0 = 1 + alpha*A;
1284 this.b1 = -2*cosw0;
1285 this.b2 = 1 - alpha*A;
1286 this.a0 = 1 + alpha/A;
1287 this.a1 = -2*cosw0;
1288 this.a2 = 1 - alpha/A;
1289 break;
1291 case DSP.LOW_SHELF: // H(s) = A * (s^2 + (sqrt(A)/Q)*s + A)/(A*s^2 + (sqrt(A)/Q)*s + 1)
1292 var coeff = sinw0 * Math.sqrt( (A^2 + 1)*(1/this.S - 1) + 2*A );
1293 this.b0 = A*( (A+1) - (A-1)*cosw0 + coeff );
1294 this.b1 = 2*A*( (A-1) - (A+1)*cosw0 );
1295 this.b2 = A*( (A+1) - (A-1)*cosw0 - coeff );
1296 this.a0 = (A+1) + (A-1)*cosw0 + coeff;
1297 this.a1 = -2*( (A-1) + (A+1)*cosw0 );
1298 this.a2 = (A+1) + (A-1)*cosw0 - coeff;
1299 break;
1301 case DSP.HIGH_SHELF: // H(s) = A * (A*s^2 + (sqrt(A)/Q)*s + 1)/(s^2 + (sqrt(A)/Q)*s + A)
1302 var coeff = sinw0 * Math.sqrt( (A^2 + 1)*(1/this.S - 1) + 2*A );
1303 this.b0 = A*( (A+1) + (A-1)*cosw0 + coeff );
1304 this.b1 = -2*A*( (A-1) + (A+1)*cosw0 );
1305 this.b2 = A*( (A+1) + (A-1)*cosw0 - coeff );
1306 this.a0 = (A+1) - (A-1)*cosw0 + coeff;
1307 this.a1 = 2*( (A-1) - (A+1)*cosw0 );
1308 this.a2 = (A+1) - (A-1)*cosw0 - coeff;
1309 break;
1312 this.b0a0 = this.b0/this.a0;
1313 this.b1a0 = this.b1/this.a0;
1314 this.b2a0 = this.b2/this.a0;
1315 this.a1a0 = this.a1/this.a0;
1316 this.a2a0 = this.a2/this.a0;
1319 this.process = function(buffer) {
1320 //y[n] = (b0/a0)*x[n] + (b1/a0)*x[n-1] + (b2/a0)*x[n-2]
1321 // - (a1/a0)*y[n-1] - (a2/a0)*y[n-2]
1323 var len = buffer.length;
1324 var output = new Array(len);
1326 for ( var i=0; i<buffer.length; i++ ) {
1327 output[i] = this.b0a0*buffer[i] + this.b1a0*this.x_1_l + this.b2a0*this.x_2_l - this.a1a0*this.y_1_l - this.a2a0*this.y_2_l;
1328 this.y_2_l = this.y_1_l;
1329 this.y_1_l = output[i];
1330 this.x_2_l = this.x_1_l;
1331 this.x_1_l = buffer[i];
1334 return output;
1337 this.processStereo = function(buffer) {
1338 //y[n] = (b0/a0)*x[n] + (b1/a0)*x[n-1] + (b2/a0)*x[n-2]
1339 // - (a1/a0)*y[n-1] - (a2/a0)*y[n-2]
1341 var len = buffer.length;
1342 var output = new Array(len);
1344 for ( var i=0; i<len/2; i++ ) {
1345 output[2*i] = this.b0a0*buffer[2*i] + this.b1a0*this.x_1_l + this.b2a0*this.x_2_l - this.a1a0*this.y_1_l - this.a2a0*this.y_2_l;
1346 this.y_2_l = this.y_1_l;
1347 this.y_1_l = output[2*i];
1348 this.x_2_l = this.x_1_l;
1349 this.x_1_l = buffer[2*i];
1351 output[2*i+1] = this.b0a0*buffer[2*i+1] + this.b1a0*this.x_1_r + this.b2a0*this.x_2_r - this.a1a0*this.y_1_r - this.a2a0*this.y_2_r;
1352 this.y_2_r = this.y_1_r;
1353 this.y_1_r = output[2*i+1];
1354 this.x_2_r = this.x_1_r;
1355 this.x_1_r = buffer[2*i+1];
1358 return output;
1364 * Magnitude to decibels
1366 * Created by Ricard Marxer <email@ricardmarxer.com> on 2010-05-23.
1367 * Copyright 2010 Ricard Marxer. All rights reserved.
1369 * @buffer array of magnitudes to convert to decibels
1371 * @returns the array in decibels
1374 DSP.mag2db = function(buffer) {
1375 var minDb = -120;
1376 var minMag = Math.pow(10.0, minDb / 20.0);
1378 var log = Math.log;
1379 var max = Math.max;
1381 var result = Array(buffer.length);
1382 for (var i=0; i<buffer.length; i++) {
1383 result[i] = 20.0*log(max(buffer[i], minMag));
1386 return result;
1390 * Frequency response
1392 * Created by Ricard Marxer <email@ricardmarxer.com> on 2010-05-23.
1393 * Copyright 2010 Ricard Marxer. All rights reserved.
1395 * Calculates the frequency response at the given points.
1397 * @b b coefficients of the filter
1398 * @a a coefficients of the filter
1399 * @w w points (normally between -PI and PI) where to calculate the frequency response
1401 * @returns the frequency response in magnitude
1404 DSP.freqz = function(b, a, w) {
1405 if (!w) {
1406 w = Array(200);
1407 for (var i=0;i<w.length; i++) {
1408 w[i] = DSP.TWO_PI/w.length * i - Math.PI;
1412 var result = Array(w.length);
1414 var sqrt = Math.sqrt;
1415 var cos = Math.cos;
1416 var sin = Math.sin;
1418 for (var i=0; i<w.length; i++) {
1419 var numerator = {real:0.0, imag:0.0};
1420 for (var j=0; j<b.length; j++) {
1421 numerator.real += b[j] * cos(-j*w[i]);
1422 numerator.imag += b[j] * sin(-j*w[i]);
1425 var denominator = {real:0.0, imag:0.0};
1426 for (var j=0; j<a.length; j++) {
1427 denominator.real += a[j] * cos(-j*w[i]);
1428 denominator.imag += a[j] * sin(-j*w[i]);
1431 result[i] = sqrt(numerator.real*numerator.real + numerator.imag*numerator.imag) / sqrt(denominator.real*denominator.real + denominator.imag*denominator.imag);
1434 return result;
1438 * Graphical Equalizer
1440 * Created by Ricard Marxer <email@ricardmarxer.com> on 2010-05-23.
1441 * Copyright 2010 Ricard Marxer. All rights reserved.
1444 // Implementation of a graphic equalizer with a configurable bands-per-octave
1445 // and minimum and maximum frequencies
1446 GraphicalEq = function(sampleRate) {
1447 this.FS = sampleRate;
1448 this.minFreq = 40.0;
1449 this.maxFreq = 16000.0;
1451 this.bandsPerOctave = 1.0;
1453 this.filters = []
1454 this.freqzs = []
1456 this.calculateFreqzs = true;
1458 this.recalculateFilters = function() {
1459 var bandCount = Math.round(Math.log(this.maxFreq/this.minFreq) * this.bandsPerOctave/ Math.LN2);
1461 this.filters = [];
1462 for (var i=0; i<bandCount; i++) {
1463 var freq = this.minFreq*(Math.pow(2, i/this.bandsPerOctave));
1464 var newFilter = new Biquad(DSP.PEAKING_EQ, this.FS);
1465 newFilter.setDbGain(0);
1466 newFilter.setBW(1/this.bandsPerOctave);
1467 newFilter.setF0(freq);
1468 this.filters[i] = newFilter;
1469 this.recalculateFreqz(i);
1473 this.setMinimumFrequency = function(freq) {
1474 this.minFreq = freq;
1475 this.recalculateFilters();
1478 this.setMaximumFrequency = function(freq) {
1479 this.maxFreq = freq;
1480 this.recalculateFilters();
1483 this.setBandsPerOctave = function(bands) {
1484 this.bandsPerOctave = bands;
1485 this.recalculateFilters();
1488 this.setBandGain = function(bandIndex, gain) {
1489 if (bandIndex < 0 || bandIndex > (this.filters.length-1)) {
1490 throw "The band index of the graphical equalizer is out of bounds.";
1491 return;
1494 if (!gain) {
1495 throw "A gain must be passed."
1496 return;
1500 this.filters[bandIndex].setDbGain(gain);
1501 this.recalculateFreqz(bandIndex);
1504 this.recalculateFreqz = function(bandIndex) {
1505 if (!this.calculateFreqzs) {
1506 return;
1510 if (bandIndex < 0 || bandIndex > (this.filters.length-1)) {
1511 throw "The band index of the graphical equalizer is out of bounds. " + bandIndex + " is out of [" + 0 + ", " + this.filters.length-1 + "]"
1512 return;
1515 if (!this.w) {
1516 this.w = Array(400);
1517 for (var i=0; i<this.w.length; i++) {
1518 this.w[i] = Math.PI/this.w.length * i;
1522 var b = [this.filters[bandIndex].b0, this.filters[bandIndex].b1, this.filters[bandIndex].b2];
1523 var a = [this.filters[bandIndex].a0, this.filters[bandIndex].a1, this.filters[bandIndex].a2];
1525 this.freqzs[bandIndex] = DSP.mag2db(DSP.freqz(b, a, this.w));
1528 this.process = function(buffer) {
1529 var output = buffer;
1531 for ( var i=0; i<this.filters.length; i++ ) {
1532 output = this.filters[i].process(output);
1535 return output;
1538 this.processStereo = function(buffer) {
1539 var output = buffer;
1541 for ( var i=0; i<this.filters.length; i++ ) {
1542 output = this.filters[i].processStereo(output);
1545 return output;
1553 * MultiDelay effect by Almer Thie (http://code.almeros.com).
1554 * Copyright 2010 Almer Thie. All rights reserved.
1555 * Example: http://code.almeros.com/code-examples/delay-firefox-audio-api/
1557 * This is a delay that feeds it's own delayed signal back into its circular
1558 * buffer. Also known as a CombFilter.
1560 * Compatible with interleaved stereo (or more channel) buffers and
1561 * non-interleaved mono buffers.
1563 * @param {Number} maxDelayInSamplesSize Maximum possible delay in samples (size of circular buffer)
1564 * @param {Number} delayInSamples Initial delay in samples
1565 * @param {Number} masterVolume Initial master volume. Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify)
1566 * @param {Number} delayVolume Initial feedback delay volume. Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify)
1568 * @constructor
1570 MultiDelay = function(maxDelayInSamplesSize, delayInSamples, masterVolume, delayVolume){
1571 this.delayBufferSamples = new Array(maxDelayInSamplesSize); // The maximum size of delay
1572 this.delayInputPointer = delayInSamples;
1573 this.delayOutputPointer = 0;
1575 this.delayInSamples = delayInSamples;
1576 this.masterVolume = masterVolume;
1577 this.delayVolume = delayVolume;
1581 * Change the delay time in samples.
1583 * @param {Number} delayInSamples Delay in samples
1585 MultiDelay.prototype.setDelayInSamples = function (delayInSamples){
1586 this.delayInSamples = delayInSamples;
1588 this.delayInputPointer = this.delayOutputPointer + delayInSamples;
1589 if(this.delayInputPointer >= this.delayBufferSamples.length-1)
1590 this.delayInputPointer = this.delayInputPointer - this.delayBufferSamples.length;
1594 * Change the master volume.
1596 * @param {Number} masterVolume Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify)
1598 MultiDelay.prototype.setMasterVolume = function (masterVolume){
1599 this.masterVolume = masterVolume;
1603 * Change the delay feedback volume.
1605 * @param {Number} delayVolume Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify)
1607 MultiDelay.prototype.setDelayVolume = function (delayVolume){
1608 this.delayVolume = delayVolume;
1612 * Process a given interleaved or mono non-interleaved float value Array and adds the delayed audio.
1614 * @param {Array} samples Array containing Float values or a Float32Array
1616 * @returns A new Float32Array interleaved or mono non-interleaved as was fed to this function.
1618 MultiDelay.prototype.process = function (samples){
1619 // NB. Make a copy to put in the output samples to return.
1620 var outputSamples = new Array(samples.length);
1622 for(var i=0; i<samples.length; i++){
1624 // delayBufferSamples could contain initial NULL's, return silence in that case
1625 var delaySample = (this.delayBufferSamples[this.delayOutputPointer]==null ? 0.0 : this.delayBufferSamples[this.delayOutputPointer]);
1627 // Mix normal audio data with delayed audio
1628 var sample = (delaySample * this.delayVolume) + samples[i];
1630 // Add audio data with the delay in the delay buffer
1631 this.delayBufferSamples[this.delayInputPointer] = sample;
1633 // Return the audio with delay mix
1634 outputSamples[i] = sample * this.masterVolume;
1636 // Manage circulair delay buffer pointers
1637 this.delayInputPointer++;
1638 if(this.delayInputPointer >= this.delayBufferSamples.length-1)
1639 this.delayInputPointer = 0;
1641 this.delayOutputPointer++;
1642 if(this.delayOutputPointer >= this.delayBufferSamples.length-1)
1643 this.delayOutputPointer = 0;
1647 return outputSamples;
1654 * SingleDelay effect by Almer Thie (http://code.almeros.com).
1655 * Copyright 2010 Almer Thie. All rights reserved.
1656 * Example: See usage in Reverb class
1658 * This is a delay that does NOT feeds it's own delayed signal back into its
1659 * circular buffer, neither does it return the original signal. Also known as
1660 * an AllPassFilter(?).
1662 * Compatible with interleaved stereo (or more channel) buffers and
1663 * non-interleaved mono buffers.
1665 * @param {Number} maxDelayInSamplesSize Maximum possible delay in samples (size of circular buffer)
1666 * @param {Number} delayInSamples Initial delay in samples
1667 * @param {Number} delayVolume Initial feedback delay volume. Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify)
1669 * @constructor
1671 SingleDelay = function(maxDelayInSamplesSize, delayInSamples, delayVolume){
1672 this.delayBufferSamples = new Array(maxDelayInSamplesSize); // The maximum size of delay
1673 this.delayInputPointer = delayInSamples;
1674 this.delayOutputPointer = 0;
1676 this.delayInSamples = delayInSamples;
1677 this.delayVolume = delayVolume;
1681 * Change the delay time in samples.
1683 * @param {Number} delayInSamples Delay in samples
1685 SingleDelay.prototype.setDelayInSamples = function (delayInSamples){
1686 this.delayInSamples = delayInSamples;
1688 this.delayInputPointer = this.delayOutputPointer + delayInSamples;
1689 if(this.delayInputPointer >= this.delayBufferSamples.length-1)
1690 this.delayInputPointer = this.delayInputPointer - this.delayBufferSamples.length;
1694 * Change the return signal volume.
1696 * @param {Number} delayVolume Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify)
1698 SingleDelay.prototype.setDelayVolume = function (delayVolume){
1699 this.delayVolume = delayVolume;
1703 * Process a given interleaved or mono non-interleaved float value Array and
1704 * returns the delayed audio.
1706 * @param {Array} samples Array containing Float values or a Float32Array
1708 * @returns A new Float32Array interleaved or mono non-interleaved as was fed to this function.
1710 SingleDelay.prototype.process = function (samples){
1711 // NB. Make a copy to put in the output samples to return.
1712 var outputSamples = new Array(samples.length);
1714 for(var i=0; i<samples.length; i++){
1716 // Add audio data with the delay in the delay buffer
1717 this.delayBufferSamples[this.delayInputPointer] = samples[i];
1719 // delayBufferSamples could contain initial NULL's, return silence in that case
1720 var delaySample = this.delayBufferSamples[this.delayOutputPointer];
1722 // Return the audio with delay mix
1723 outputSamples[i] = delaySample * this.delayVolume;
1726 // Manage circulair delay buffer pointers
1727 this.delayInputPointer++;
1728 if(this.delayInputPointer >= this.delayBufferSamples.length-1)
1729 this.delayInputPointer = 0;
1731 this.delayOutputPointer++;
1732 if(this.delayOutputPointer >= this.delayBufferSamples.length-1)
1733 this.delayOutputPointer = 0;
1737 return outputSamples;
1745 * Reverb effect by Almer Thie (http://code.almeros.com).
1746 * Copyright 2010 Almer Thie. All rights reserved.
1747 * Example: http://code.almeros.com/code-examples/reverb-firefox-audio-api/
1749 * This reverb consists of 6 SingleDelays, 6 MultiDelays and an IIRFilter2
1750 * for each of the two stereo channels.
1752 * Compatible with interleaved stereo buffers only!
1754 * @param {Number} maxDelayInSamplesSize Maximum possible delay in samples (size of circular buffers)
1755 * @param {Number} delayInSamples Initial delay in samples for internal (Single/Multi)delays
1756 * @param {Number} masterVolume Initial master volume. Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify)
1757 * @param {Number} mixVolume Initial reverb signal mix volume. Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify)
1758 * @param {Number} delayVolume Initial feedback delay volume for internal (Single/Multi)delays. Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify)
1759 * @param {Number} dampFrequency Initial low pass filter frequency. 0 to 44100 (depending on your maximum sampling frequency)
1761 * @constructor
1763 Reverb = function(maxDelayInSamplesSize, delayInSamples, masterVolume, mixVolume, delayVolume, dampFrequency){
1764 this.delayInSamples = delayInSamples;
1765 this.masterVolume = masterVolume;
1766 this.mixVolume = mixVolume;
1767 this.delayVolume = delayVolume;
1768 this.dampFrequency = dampFrequency;
1770 this.NR_OF_MULTIDELAYS = 6;
1771 this.NR_OF_SINGLEDELAYS = 6;
1773 this.LOWPASSL = new IIRFilter2(DSP.LOWPASS, dampFrequency, 0, 44100);
1774 this.LOWPASSR = new IIRFilter2(DSP.LOWPASS, dampFrequency, 0, 44100);
1776 this.singleDelays = [];
1777 for(var i = 0; i<this.NR_OF_SINGLEDELAYS; i++){
1778 var delayMultiply = 1.0 + (i/7.0); // 1.0, 1.1, 1.2...
1779 this.singleDelays[i] = new SingleDelay(maxDelayInSamplesSize, Math.round(this.delayInSamples * delayMultiply), this.delayVolume);
1782 this.multiDelays = [];
1783 for(var i = 0; i<this.NR_OF_MULTIDELAYS; i++){
1784 var delayMultiply = 1.0 + (i/10.0); // 1.0, 1.1, 1.2...
1785 this.multiDelays[i] = new MultiDelay(maxDelayInSamplesSize, Math.round(this.delayInSamples * delayMultiply), this.masterVolume, this.delayVolume);
1790 * Change the delay time in samples as a base for all delays.
1792 * @param {Number} delayInSamples Delay in samples
1794 Reverb.prototype.setDelayInSamples = function (delayInSamples){
1795 this.delayInSamples = delayInSamples;
1797 for(var i = 0; i<this.NR_OF_SINGLEDELAYS; i++){
1798 var delayMultiply = 1.0 + (i/7.0); // 1.0, 1.1, 1.2...
1799 this.singleDelays[i].setDelayInSamples( Math.round(this.delayInSamples * delayMultiply) );
1802 for(var i = 0; i<this.NR_OF_MULTIDELAYS; i++){
1803 var delayMultiply = 1.0 + (i/10.0); // 1.0, 1.1, 1.2...
1804 this.multiDelays[i].setDelayInSamples( Math.round(this.delayInSamples * delayMultiply) );
1809 * Change the master volume.
1811 * @param {Number} masterVolume Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify)
1813 Reverb.prototype.setMasterVolume = function (masterVolume){
1814 this.masterVolume = masterVolume;
1818 * Change the reverb signal mix level.
1820 * @param {Number} mixVolume Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify)
1822 Reverb.prototype.setMixVolume = function (mixVolume){
1823 this.mixVolume = mixVolume;
1827 * Change all delays feedback volume.
1829 * @param {Number} delayVolume Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify)
1831 Reverb.prototype.setDelayVolume = function (delayVolume){
1832 this.delayVolume = delayVolume;
1834 for(var i = 0; i<this.NR_OF_SINGLEDELAYS; i++){
1835 this.singleDelays[i].setDelayVolume(this.delayVolume);
1838 for(var i = 0; i<this.NR_OF_MULTIDELAYS; i++){
1839 this.multiDelays[i].setDelayVolume(this.delayVolume);
1844 * Change the Low Pass filter frequency.
1846 * @param {Number} dampFrequency low pass filter frequency. 0 to 44100 (depending on your maximum sampling frequency)
1848 Reverb.prototype.setDampFrequency = function (dampFrequency){
1849 this.dampFrequency = dampFrequency;
1851 this.LOWPASSL.set(dampFrequency, 0);
1852 this.LOWPASSR.set(dampFrequency, 0);
1856 * Process a given interleaved float value Array and copies and adds the reverb signal.
1858 * @param {Array} samples Array containing Float values or a Float32Array
1860 * @returns A new Float32Array interleaved buffer.
1862 Reverb.prototype.process = function (interleavedSamples){
1863 // NB. Make a copy to put in the output samples to return.
1864 var outputSamples = new Array(interleavedSamples.length);
1866 // Perform low pass on the input samples to mimick damp
1867 var leftRightMix = DSP.deinterleave(interleavedSamples);
1868 this.LOWPASSL.process( leftRightMix[DSP.LEFT] );
1869 this.LOWPASSR.process( leftRightMix[DSP.RIGHT] );
1870 var filteredSamples = DSP.interleave(leftRightMix[DSP.LEFT], leftRightMix[DSP.RIGHT]);
1872 // Process MultiDelays in parallel
1873 for(var i = 0; i<this.NR_OF_MULTIDELAYS; i++){
1874 // Invert the signal of every even multiDelay
1875 outputSamples = mixSampleBuffers(outputSamples, this.multiDelays[i].process(filteredSamples), 2%i==0, this.NR_OF_MULTIDELAYS);
1878 // Process SingleDelays in series
1879 var singleDelaySamples = new Array(outputSamples.length);
1880 for(var i = 0; i<this.NR_OF_SINGLEDELAYS; i++){
1881 // Invert the signal of every even singleDelay
1882 singleDelaySamples = mixSampleBuffers(singleDelaySamples, this.singleDelays[i].process(outputSamples), 2%i==0, 1);
1885 // Apply the volume of the reverb signal
1886 for(var i = 0; i<singleDelaySamples.length; i++){
1887 singleDelaySamples[i] *= this.mixVolume;
1890 // Mix the original signal with the reverb signal
1891 outputSamples = mixSampleBuffers(singleDelaySamples, interleavedSamples, 0, 1);
1893 // Apply the master volume to the complete signal
1894 for(var i = 0; i<outputSamples.length; i++){
1895 outputSamples[i] *= this.masterVolume;
1898 return outputSamples;
1902 * Helper method (for Reverb) to mix two (interleaved) samplebuffers. It's possible
1903 * to negate the second buffer while mixing and to perform a volume correction
1904 * on the final signal.
1906 * @param {Array} sampleBuffer1 Array containing Float values or a Float32Array
1907 * @param {Array} sampleBuffer2 Array containing Float values or a Float32Array
1908 * @param {Boolean} negate When true inverts/flips the audio signal
1909 * @param {Number} volumeCorrection When you add multiple sample buffers, use this to tame your signal ;)
1911 * @returns A new Float32Array interleaved buffer.
1913 function mixSampleBuffers(sampleBuffer1, sampleBuffer2, negate, volumeCorrection){
1914 var outputSamples = new Array(sampleBuffer1);
1916 for(var i = 0; i<sampleBuffer1.length; i++){
1917 outputSamples[i] += (negate ? -sampleBuffer2[i] : sampleBuffer2[i]) / volumeCorrection;
1920 return outputSamples;
1924 * BeatDetektor.js
1926 * BeatDetektor - CubicFX Visualizer Beat Detection & Analysis Algorithm
1927 * Javascript port by Charles J. Cliffe and Corban Brook
1929 * Created by Charles J. Cliffe on 09-11-30.
1930 * Copyright 2009 Charles J. Cliffe. All rights reserved.
1932 * BeatDetektor is free software: you can redistribute it and/or modify
1933 * it under the terms of the GNU Lesser General Public License as published by
1934 * the Free Software Foundation, either version 3 of the License, or
1935 * (at your option) any later version.
1937 * Please note that only the Javascript version of BeatDetektor is licensed
1938 * under the terms of LGPL version 3; ports of BeatDetektor or derivatives
1939 * in other languages are licensed under the terms of GPL version 3.
1941 * BeatDetektor is distributed in the hope that it will be useful,
1942 * but WITHOUT ANY WARRANTY; without even the implied warranty of
1943 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1944 * GNU Lesser General Public License for more details.
1946 * You should have received a copy of the GNU Lesser General Public License
1947 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1949 * Please contact cj@cubicproductions.com if you seek alternate
1950 * licensing terms for your project.
1956 BeatDetektor class
1959 Theory:
1961 Trigger detection is performed using a trail of moving averages,
1963 The FFT input is broken up into 128 ranges and averaged, each range has two moving
1964 averages that tail each other at a rate of (1.0 / BD_DETECTION_RATE) seconds.
1966 Each time the moving average for a range exceeds it's own tailing average by:
1968 (moving_average[range] * BD_DETECTION_FACTOR >= moving_average[range])
1970 if this is true there's a rising edge and a detection is flagged for that range.
1971 Next a trigger gap test is performed between rising edges and timestamp recorded.
1973 If the gap is larger than our BPM window (in seconds) then we can discard it and
1974 reset the timestamp for a new detection -- but only after checking to see if it's a
1975 reasonable match for 2* the current detection in case it's only triggered every
1976 other beat. Gaps that are lower than the BPM window are ignored and the last
1977 timestamp will not be reset.
1979 Gaps that are within a reasonable window are run through a quality stage to determine
1980 how 'close' they are to that channel's current prediction and are incremented or
1981 decremented by a weighted value depending on accuracy. Repeated hits of low accuracy
1982 will still move a value towards erroneous detection but it's quality will be lowered
1983 and will not be eligible for the gap time quality draft.
1985 Once quality has been assigned ranges are reviewed for good match candidates and if
1986 BD_MINIMUM_CONTRIBUTIONS or more ranges achieve a decent ratio (with a factor of
1987 BD_QUALITY_TOLERANCE) of contribution to the overall quality we take them into the
1988 contest round. Note that the contest round won't run on a given process() call if
1989 the total quality achieved does not meet or exceed BD_QUALITY_TOLERANCE.
1991 Each time through if a select draft of BPM ranges has achieved a reasonable quality
1992 above others it's awarded a value in the BPM contest. The BPM contest is a hash
1993 array indexed by an integer BPM value, each draft winner is awarded BD_QUALITY_REWARD.
1995 Finally the BPM contest is examined to determine a leader and all contest entries
1996 are normalized to a total value of BD_FINISH_LINE, whichever range is closest to
1997 BD_FINISH_LINE at any given point is considered to be the best guess however waiting
1998 until a minimum contest winning value of about 20.0-25.0 will provide more accurate
1999 results. Note that the 20-25 rule may vary with lower and higher input ranges.
2000 A winning value that exceeds 40 or hovers around 60 (the finish line) is pretty much
2001 a guaranteed match.
2004 Configuration Kernel Notes:
2006 The majority of the ratios and values have been reverse-engineered from my own
2007 observation and visualization of information from various aspects of the detection
2008 triggers; so not all parameters have a perfect definition nor perhaps the best value yet.
2009 However despite this it performs very well; I had expected several more layers
2010 before a reasonable detection would be achieved. Comments for these parameters will be
2011 updated as analysis of their direct effect is explored.
2014 Input Restrictions:
2016 bpm_maximum must be within the range of (bpm_minimum*2)-1
2017 i.e. minimum of 50 must have a maximum of 99 because 50*2 = 100
2020 Changelog:
2022 01/17/2010 - Charles J. Cliffe
2023 - Tested and tweaked default kernel values for tighter detection
2024 - Added BeatDetektor.config_48_95, BeatDetektor.config_90_179 and BeatDetektor.config_150_280 for more refined detection ranges
2025 - Updated unit test to include new range config example
2027 02/21/2010 - Charles J. Cliffe
2028 - Fixed numerous bugs and divide by 0 on 1% match causing poor accuracy
2029 - Re-worked the quality calulations, accuracy improved 8-10x
2030 - Primary value is now a fractional reading (*10, just divide by 10), added win_bpm_int_lo for integral readings
2031 - Added feedback loop for current_bpm to help back-up low quality channels
2032 - Unified range configs, now single default should be fine
2033 - Extended quality reward 'funnel'
2036 BeatDetektor = function(bpm_minimum, bpm_maximum, alt_config)
2038 if (typeof(bpm_minimum)=='undefined') bpm_minimum = 85.0;
2039 if (typeof(bpm_maximum)=='undefined') bpm_maximum = 169.0
2041 this.config = (typeof(alt_config)!='undefined')?alt_config:BeatDetektor.config;
2043 this.BPM_MIN = bpm_minimum;
2044 this.BPM_MAX = bpm_maximum;
2046 this.beat_counter = 0;
2047 this.half_counter = 0;
2048 this.quarter_counter = 0;
2050 // current average (this sample) for range n
2051 this.a_freq_range = new Array(this.config.BD_DETECTION_RANGES);
2052 // moving average of frequency range n
2053 this.ma_freq_range = new Array(this.config.BD_DETECTION_RANGES);
2054 // moving average of moving average of frequency range n
2055 this.maa_freq_range = new Array(this.config.BD_DETECTION_RANGES);
2056 // timestamp of last detection for frequecy range n
2057 this.last_detection = new Array(this.config.BD_DETECTION_RANGES);
2059 // moving average of gap lengths
2060 this.ma_bpm_range = new Array(this.config.BD_DETECTION_RANGES);
2061 // moving average of moving average of gap lengths
2062 this.maa_bpm_range = new Array(this.config.BD_DETECTION_RANGES);
2064 // range n quality attribute, good match = quality+, bad match = quality-, min = 0
2065 this.detection_quality = new Array(this.config.BD_DETECTION_RANGES);
2067 // current trigger state for range n
2068 this.detection = new Array(this.config.BD_DETECTION_RANGES);
2070 this.reset();
2075 BeatDetektor.prototype.reset = function()
2077 // var bpm_avg = 60.0/((this.BPM_MIN+this.BPM_MAX)/2.0);
2079 for (var i = 0; i < this.config.BD_DETECTION_RANGES; i++)
2081 this.a_freq_range[i] = 0.0;
2082 this.ma_freq_range[i] = 0.0;
2083 this.maa_freq_range[i] = 0.0;
2084 this.last_detection[i] = 0.0;
2086 this.ma_bpm_range[i] =
2087 this.maa_bpm_range[i] = 60.0/this.BPM_MIN + ((60.0/this.BPM_MAX-60.0/this.BPM_MIN) * (i/this.config.BD_DETECTION_RANGES));
2089 this.detection_quality[i] = 0.0;
2090 this.detection[i] = false;
2093 this.ma_quality_avg = 0;
2094 this.ma_quality_total = 0;
2096 this.bpm_contest = new Array();
2097 this.bpm_contest_lo = new Array();
2099 this.quality_total = 0.0;
2100 this.quality_avg = 0.0;
2102 this.current_bpm = 0.0;
2103 this.current_bpm_lo = 0.0;
2105 this.winning_bpm = 0.0;
2106 this.win_val = 0.0;
2107 this.winning_bpm_lo = 0.0;
2108 this.win_val_lo = 0.0;
2110 this.win_bpm_int = 0;
2111 this.win_bpm_int_lo = 0;
2113 this.bpm_predict = 0;
2115 this.is_erratic = false;
2116 this.bpm_offset = 0.0;
2117 this.last_timer = 0.0;
2118 this.last_update = 0.0;
2120 this.bpm_timer = 0.0;
2121 this.beat_counter = 0;
2122 this.half_counter = 0;
2123 this.quarter_counter = 0;
2127 BeatDetektor.config_default = {
2128 BD_DETECTION_RANGES : 128, // How many ranges to quantize the FFT into
2129 BD_DETECTION_RATE : 12.0, // Rate in 1.0 / BD_DETECTION_RATE seconds
2130 BD_DETECTION_FACTOR : 0.915, // Trigger ratio
2131 BD_QUALITY_DECAY : 0.6, // range and contest decay
2132 BD_QUALITY_TOLERANCE : 0.96,// Use the top x % of contest results
2133 BD_QUALITY_REWARD : 10.0, // Award weight
2134 BD_QUALITY_STEP : 0.1, // Award step (roaming speed)
2135 BD_MINIMUM_CONTRIBUTIONS : 6, // At least x ranges must agree to process a result
2136 BD_FINISH_LINE : 60.0, // Contest values wil be normalized to this finish line
2137 // this is the 'funnel' that pulls ranges in / out of alignment based on trigger detection
2138 BD_REWARD_TOLERANCES : [ 0.001, 0.005, 0.01, 0.02, 0.04, 0.08, 0.10, 0.15, 0.30 ], // .1%, .5%, 1%, 2%, 4%, 8%, 10%, 15%
2139 BD_REWARD_MULTIPLIERS : [ 20.0, 10.0, 8.0, 1.0, 1.0/2.0, 1.0/4.0, 1.0/8.0, 1/16.0, 1/32.0 ]
2143 // Default configuration kernel
2144 BeatDetektor.config = BeatDetektor.config_default;
2147 BeatDetektor.prototype.process = function(timer_seconds, fft_data)
2149 if (!this.last_timer) { this.last_timer = timer_seconds; return; } // ignore 0 start time
2150 if (this.last_timer > timer_seconds) { this.reset(); return; }
2152 var timestamp = timer_seconds;
2154 this.last_update = timer_seconds - this.last_timer;
2155 this.last_timer = timer_seconds;
2157 if (this.last_update > 1.0) { this.reset(); return; }
2159 var i,x;
2160 var v;
2162 var bpm_floor = 60.0/this.BPM_MAX;
2163 var bpm_ceil = 60.0/this.BPM_MIN;
2165 var range_step = (fft_data.length / this.config.BD_DETECTION_RANGES);
2166 var range = 0;
2169 for (x=0; x<fft_data.length; x+=range_step)
2171 this.a_freq_range[range] = 0;
2173 // accumulate frequency values for this range
2174 for (i = x; i<x+range_step; i++)
2176 v = Math.abs(fft_data[i]);
2177 this.a_freq_range[range] += v;
2180 // average for range
2181 this.a_freq_range[range] /= range_step;
2183 // two sets of averages chase this one at a
2185 // moving average, increment closer to a_freq_range at a rate of 1.0 / BD_DETECTION_RATE seconds
2186 this.ma_freq_range[range] -= (this.ma_freq_range[range]-this.a_freq_range[range])*this.last_update*this.config.BD_DETECTION_RATE;
2187 // moving average of moving average, increment closer to this.ma_freq_range at a rate of 1.0 / BD_DETECTION_RATE seconds
2188 this.maa_freq_range[range] -= (this.maa_freq_range[range]-this.ma_freq_range[range])*this.last_update*this.config.BD_DETECTION_RATE;
2190 // if closest moving average peaks above trailing (with a tolerance of BD_DETECTION_FACTOR) then trigger a detection for this range
2191 var det = (this.ma_freq_range[range]*this.config.BD_DETECTION_FACTOR >= this.maa_freq_range[range]);
2193 // compute bpm clamps for comparison to gap lengths
2195 // clamp detection averages to input ranges
2196 if (this.ma_bpm_range[range] > bpm_ceil) this.ma_bpm_range[range] = bpm_ceil;
2197 if (this.ma_bpm_range[range] < bpm_floor) this.ma_bpm_range[range] = bpm_floor;
2198 if (this.maa_bpm_range[range] > bpm_ceil) this.maa_bpm_range[range] = bpm_ceil;
2199 if (this.maa_bpm_range[range] < bpm_floor) this.maa_bpm_range[range] = bpm_floor;
2201 var rewarded = false;
2203 // new detection since last, test it's quality
2204 if (!this.detection[range] && det)
2206 // calculate length of gap (since start of last trigger)
2207 var trigger_gap = timestamp-this.last_detection[range];
2209 // trigger falls within acceptable range,
2210 if (trigger_gap < bpm_ceil && trigger_gap > (bpm_floor))
2212 // compute gap and award quality
2214 // use our tolerances as a funnel to edge detection towards the most likely value
2215 for (i = 0; i < this.config.BD_REWARD_TOLERANCES.length; i++)
2217 if (Math.abs(this.ma_bpm_range[range]-trigger_gap) < this.ma_bpm_range[range]*this.config.BD_REWARD_TOLERANCES[i])
2219 this.detection_quality[range] += this.config.BD_QUALITY_REWARD * this.config.BD_REWARD_MULTIPLIERS[i];
2220 rewarded = true;
2224 if (rewarded)
2226 this.last_detection[range] = timestamp;
2229 else if (trigger_gap >= bpm_ceil) // low quality, gap exceeds maximum time
2231 // start a new gap test, next gap is guaranteed to be longer
2233 // test for 1/2 beat
2234 trigger_gap /= 2.0;
2236 if (trigger_gap < bpm_ceil && trigger_gap > (bpm_floor)) for (i = 0; i < this.config.BD_REWARD_TOLERANCES.length; i++)
2238 if (Math.abs(this.ma_bpm_range[range]-trigger_gap) < this.ma_bpm_range[range]*this.config.BD_REWARD_TOLERANCES[i])
2240 this.detection_quality[range] += this.config.BD_QUALITY_REWARD * this.config.BD_REWARD_MULTIPLIERS[i];
2241 rewarded = true;
2246 // decrement quality if no 1/2 beat reward
2247 if (!rewarded)
2249 trigger_gap *= 2.0;
2251 this.last_detection[range] = timestamp;
2254 if (rewarded)
2256 var qmp = (this.detection_quality[range]/this.quality_avg)*this.config.BD_QUALITY_STEP;
2257 if (qmp > 1.0)
2259 qmp = 1.0;
2262 this.ma_bpm_range[range] -= (this.ma_bpm_range[range]-trigger_gap) * qmp;
2263 this.maa_bpm_range[range] -= (this.maa_bpm_range[range]-this.ma_bpm_range[range]) * qmp;
2265 else if (trigger_gap >= bpm_floor && trigger_gap <= bpm_ceil)
2267 if (this.detection_quality[range] < this.quality_avg*this.config.BD_QUALITY_TOLERANCE && this.current_bpm)
2269 this.ma_bpm_range[range] -= (this.ma_bpm_range[range]-trigger_gap) * this.config.BD_QUALITY_STEP;
2270 this.maa_bpm_range[range] -= (this.maa_bpm_range[range]-this.ma_bpm_range[range]) * this.config.BD_QUALITY_STEP;
2272 this.detection_quality[range] -= this.config.BD_QUALITY_STEP;
2274 else if (trigger_gap >= bpm_ceil)
2276 if ((this.detection_quality[range] < this.quality_avg*this.config.BD_QUALITY_TOLERANCE) && this.current_bpm)
2278 this.ma_bpm_range[range] -= (this.ma_bpm_range[range]-this.current_bpm) * 0.5;
2279 this.maa_bpm_range[range] -= (this.maa_bpm_range[range]-this.ma_bpm_range[range]) * 0.5 ;
2281 this.detection_quality[range]-= this.config.BD_QUALITY_STEP;
2286 if ((!rewarded && timestamp-this.last_detection[range] > bpm_ceil) || (det && Math.abs(this.ma_bpm_range[range]-this.current_bpm) > this.bpm_offset))
2287 this.detection_quality[range] -= this.detection_quality[range]*this.config.BD_QUALITY_STEP*this.config.BD_QUALITY_DECAY*this.last_update;
2289 // quality bottomed out, set to 0
2290 if (this.detection_quality[range] < 0.001) this.detection_quality[range]=0.001;
2292 this.detection[range] = det;
2294 range++;
2297 // total contribution weight
2298 this.quality_total = 0;
2300 // total of bpm values
2301 var bpm_total = 0;
2302 // number of bpm ranges that contributed to this test
2303 var bpm_contributions = 0;
2306 // accumulate quality weight total
2307 for (var x=0; x<this.config.BD_DETECTION_RANGES; x++)
2309 this.quality_total += this.detection_quality[x];
2313 this.quality_avg = this.quality_total / this.config.BD_DETECTION_RANGES;
2316 if (this.quality_total)
2318 // determine the average weight of each quality range
2319 this.ma_quality_avg += (this.quality_avg - this.ma_quality_avg) * this.last_update * this.config.BD_DETECTION_RATE/2.0;
2321 this.maa_quality_avg += (this.ma_quality_avg - this.maa_quality_avg) * this.last_update;
2322 this.ma_quality_total += (this.quality_total - this.ma_quality_total) * this.last_update * this.config.BD_DETECTION_RATE/2.0;
2324 this.ma_quality_avg -= 0.98*this.ma_quality_avg*this.last_update*3.0;
2326 else
2328 this.quality_avg = 0.001;
2331 if (this.ma_quality_total <= 0) this.ma_quality_total = 0.001;
2332 if (this.ma_quality_avg <= 0) this.ma_quality_avg = 0.001;
2334 var avg_bpm_offset = 0.0;
2335 var offset_test_bpm = this.current_bpm;
2336 var draft = new Array();
2338 if (this.quality_avg) for (x=0; x<this.config.BD_DETECTION_RANGES; x++)
2340 // if this detection range weight*tolerance is higher than the average weight then add it's moving average contribution
2341 if (this.detection_quality[x]*this.config.BD_QUALITY_TOLERANCE >= this.ma_quality_avg)
2343 if (this.ma_bpm_range[x] < bpm_ceil && this.ma_bpm_range[x] > bpm_floor)
2345 bpm_total += this.maa_bpm_range[x];
2347 var draft_float = Math.round((60.0/this.maa_bpm_range[x])*1000.0);
2349 draft_float = (Math.abs(Math.ceil(draft_float)-(60.0/this.current_bpm)*1000.0)<(Math.abs(Math.floor(draft_float)-(60.0/this.current_bpm)*1000.0)))?Math.ceil(draft_float/10.0):Math.floor(draft_float/10.0);
2350 var draft_int = parseInt(draft_float/10.0);
2351 // if (draft_int) console.log(draft_int);
2352 if (typeof(draft[draft_int]=='undefined')) draft[draft_int] = 0;
2354 draft[draft_int]+=this.detection_quality[x]/this.quality_avg;
2355 bpm_contributions++;
2356 if (offset_test_bpm == 0.0) offset_test_bpm = this.maa_bpm_range[x];
2357 else
2359 avg_bpm_offset += Math.abs(offset_test_bpm-this.maa_bpm_range[x]);
2367 // if we have one or more contributions that pass criteria then attempt to display a guess
2368 var has_prediction = (bpm_contributions>=this.config.BD_MINIMUM_CONTRIBUTIONS)?true:false;
2370 var draft_winner=0;
2371 var win_val = 0;
2373 if (has_prediction)
2375 for (var draft_i in draft)
2377 if (draft[draft_i] > win_val)
2379 win_val = draft[draft_i];
2380 draft_winner = draft_i;
2384 this.bpm_predict = 60.0/(draft_winner/10.0);
2386 avg_bpm_offset /= bpm_contributions;
2387 this.bpm_offset = avg_bpm_offset;
2389 if (!this.current_bpm)
2391 this.current_bpm = this.bpm_predict;
2395 if (this.current_bpm && this.bpm_predict) this.current_bpm -= (this.current_bpm-this.bpm_predict)*this.last_update;
2397 // hold a contest for bpm to find the current mode
2398 var contest_max=0;
2400 for (var contest_i in this.bpm_contest)
2402 if (contest_max < this.bpm_contest[contest_i]) contest_max = this.bpm_contest[contest_i];
2403 if (this.bpm_contest[contest_i] > this.config.BD_FINISH_LINE/2.0)
2405 var draft_int_lo = parseInt(Math.round((contest_i)/10.0));
2406 if (this.bpm_contest_lo[draft_int_lo] != this.bpm_contest_lo[draft_int_lo]) this.bpm_contest_lo[draft_int_lo] = 0;
2407 this.bpm_contest_lo[draft_int_lo]+= (this.bpm_contest[contest_i]/6.0)*this.last_update;
2411 // normalize to a finish line
2412 if (contest_max > this.config.BD_FINISH_LINE)
2414 for (var contest_i in this.bpm_contest)
2416 this.bpm_contest[contest_i]=(this.bpm_contest[contest_i]/contest_max)*this.config.BD_FINISH_LINE;
2420 contest_max = 0;
2421 for (var contest_i in this.bpm_contest_lo)
2423 if (contest_max < this.bpm_contest_lo[contest_i]) contest_max = this.bpm_contest_lo[contest_i];
2426 // normalize to a finish line
2427 if (contest_max > this.config.BD_FINISH_LINE)
2429 for (var contest_i in this.bpm_contest_lo)
2431 this.bpm_contest_lo[contest_i]=(this.bpm_contest_lo[contest_i]/contest_max)*this.config.BD_FINISH_LINE;
2436 // decay contest values from last loop
2437 for (contest_i in this.bpm_contest)
2439 this.bpm_contest[contest_i]-=this.bpm_contest[contest_i]*(this.last_update/this.config.BD_DETECTION_RATE);
2442 // decay contest values from last loop
2443 for (contest_i in this.bpm_contest_lo)
2445 this.bpm_contest_lo[contest_i]-=this.bpm_contest_lo[contest_i]*(this.last_update/this.config.BD_DETECTION_RATE);
2448 this.bpm_timer+=this.last_update;
2450 var winner = 0;
2451 var winner_lo = 0;
2453 // attempt to display the beat at the beat interval ;)
2454 if (this.bpm_timer > this.winning_bpm/4.0 && this.current_bpm)
2456 this.win_val = 0;
2457 this.win_val_lo = 0;
2459 if (this.winning_bpm) while (this.bpm_timer > this.winning_bpm/4.0) this.bpm_timer -= this.winning_bpm/4.0;
2461 // increment beat counter
2463 this.quarter_counter++;
2464 this.half_counter= parseInt(this.quarter_counter/2);
2465 this.beat_counter = parseInt(this.quarter_counter/4);
2467 // award the winner of this iteration
2468 var idx = parseInt(Math.round((60.0/this.current_bpm)*10.0));
2469 if (typeof(this.bpm_contest[idx])=='undefined') this.bpm_contest[idx] = 0;
2470 this.bpm_contest[idx]+=this.config.BD_QUALITY_REWARD;
2473 // find the overall winner so far
2474 for (var contest_i in this.bpm_contest)
2476 if (this.win_val < this.bpm_contest[contest_i])
2478 winner = contest_i;
2479 this.win_val = this.bpm_contest[contest_i];
2483 if (winner)
2485 this.win_bpm_int = parseInt(winner);
2486 this.winning_bpm = (60.0/(winner/10.0));
2489 // find the overall winner so far
2490 for (var contest_i in this.bpm_contest_lo)
2492 if (this.win_val_lo < this.bpm_contest_lo[contest_i])
2494 winner_lo = contest_i;
2495 this.win_val_lo = this.bpm_contest_lo[contest_i];
2499 if (winner_lo)
2501 this.win_bpm_int_lo = parseInt(winner_lo);
2502 this.winning_bpm_lo = 60.0/winner_lo;
2506 //if (typeof(console)!='undefined' && (this.beat_counter % 4) == 0) console.log("BeatDetektor("+this.BPM_MIN+","+this.BPM_MAX+"): [ Current Estimate: "+winner+" BPM ] [ Time: "+(parseInt(timer_seconds*1000.0)/1000.0)+"s, Quality: "+(parseInt(this.quality_total*1000.0)/1000.0)+", Rank: "+(parseInt(this.win_val*1000.0)/1000.0)+", Jitter: "+(parseInt(this.bpm_offset*1000000.0)/1000000.0)+" ]");
2511 // Sample Modules
2512 BeatDetektor.modules = new Object();
2513 BeatDetektor.modules.vis = new Object();
2515 // simple bass kick visualizer assistant module
2516 BeatDetektor.modules.vis.BassKick = function()
2518 this.is_kick = false;
2521 BeatDetektor.modules.vis.BassKick.prototype.process = function(det)
2523 this.is_kick = ((det.detection[0] && det.detection[1]) || (det.ma_freq_range[0]/det.maa_freq_range[0])>1.4);
2526 BeatDetektor.modules.vis.BassKick.prototype.isKick = function()
2528 return this.is_kick;
2532 // simple vu spectrum visualizer assistant module
2533 BeatDetektor.modules.vis.VU = function()
2535 this.vu_levels = new Array();
2538 BeatDetektor.modules.vis.VU.prototype.process = function(det,lus)
2540 var i,det_val,det_max = 0.0;
2541 if (typeof(lus)=='undefined') lus = det.last_update;
2543 for (i = 0; i < det.config.BD_DETECTION_RANGES; i++)
2545 det_val = (det.ma_freq_range[i]/det.maa_freq_range[i]);
2546 if (det_val > det_max) det_max = det_val;
2549 if (det_max <= 0) det_max = 1.0;
2551 for (i = 0; i < det.config.BD_DETECTION_RANGES; i++)
2553 det_val = (det.ma_freq_range[i]/det.maa_freq_range[i]); //fabs(fftData[i*2]/2.0);
2555 if (det_val != det_val) det_val = 0;
2557 //&& (det_val > this.vu_levels[i])
2558 if (det_val>1.0)
2560 det_val -= 1.0;
2561 if (det_val>1.0) det_val = 1.0;
2563 if (det_val > this.vu_levels[i])
2564 this.vu_levels[i] = det_val;
2565 else if (det.current_bpm) this.vu_levels[i] -= (this.vu_levels[i]-det_val)*lus*(1.0/det.current_bpm)*3.0;
2567 else
2569 if (det.current_bpm) this.vu_levels[i] -= (lus/det.current_bpm)*2.0;
2572 if (this.vu_levels[i] < 0 || this.vu_levels[i] != this.vu_levels[i]) this.vu_levels[i] = 0;
2577 // returns vu level for BD_DETECTION_RANGES range[x]
2578 BeatDetektor.modules.vis.VU.prototype.getLevel = function(x)
2580 return this.vu_levels[x];