• +598 29008192
  • info@servinfo.com.uy

Archivo del Autor: Belen De Leon

Empleos 2.0: el cazador de errores de código que nos protege en la sombra

Sin formación académica, con un ordenador trucado y a miles de kilómetros de distancia, Evan Ricaford se dedica a buscar errores en el software de empresas de las que tal vez seamos usuarios. Al veces logra un buen sueldo, otras, debe conformarse con una simple camiseta
Source: MIT

John McAfee’s ‘unhackable’ Bitfi wallet got hacked — again

If the security community could tell you just one thing, it’s that “nothing is unhackable.” Except John McAfee’s cryptocurrency wallet, which was only unhackable until it wasn’t — twice.

Security researchers have now developed a second attack, which they say can obtain all the stored funds from an unmodified Bitfi wallet. The Android-powered $120 wallet relies on a user-generated secret phrase and a “salt” value — like a phone number — to cryptographically scramble the secret phrase. The idea is that the two unique values ensure that your funds remain secure.

But the researchers say that the secret phrase and salt can be extracted, allowing private keys to be generated and the funds stolen.

Using this “cold boot attack,” it’s possible to steal funds even when a Bitfi wallet is switched off. There’s a video below.

The researchers, Saleem Rashid and Ryan Castellucci, uncovered and built the exploits as part of a team of several security researchers calling themselves “THCMKACGASSCO” (after their initials). The two researchers shared them with TechCrunch prior to its release. In the video, Rashid is shown setting a secret phrase and salt, and running a local exploit to extract the keys from the device.

Rashid told TechCrunch that the keys are stored in the memory longer than Bitfi claims, allowing their combined exploits to run code on the hardware without erasing the memory. From there, an attacker can extract the memory and find the keys. The exploit takes less than two minutes to run, Rashid said.

“This attack is both reliable and practical, requiring no specialist hardware,” said Andrew Tierney, a security researcher with Pen Test Partners, who verified the attack.

Tierney was one of the hackers behind the first Bitfi attack. The McAfee-backed company offered a $250,000 bounty for anyone who could carry out what its makers consider a “successful attack.” But Bitfi declined to pay out, arguing that the hack was outside the scope of the bounty, and instead resorted to posting threats on Twitter.

This new attack, Tierney says, “meets the requirements of the bounty in spirit, even if it does not meet the specific terms that Bitfi have set.”

McAfee earlier this month said, “the wallet is hacked when someone gets the coins.”

Bill Powel, vice president of operations at Bitfi, told TechCrunch in an email that the company defines a hack “as anything that would allow an attacker to access funds held by the wallet.”

“Because the device does not store private keys, that is what prompted the unhackable claim,” he said.

When pressed, Powel did not address the specific claims of the cold boot attack. McAfee, who was copied on the email to Bitfi, did not respond.

Within an hour of the researchers posting the video, Bitfi said in a tweeted statement that it has “hired an experienced security manager, who is confirming vulnerabilities that have been identified by researchers.”

“Effective immediately, we are closing the current bounty programs which have caused understandable anger and frustration among researchers,” it added.

The statement also said it will no longer use the “unhackable” claim on its website.

Rashid said he has no immediate plans to release the exploit code so as to prevent the estimated few thousand Bitfi users from being put at risk.

Just last month, Bitfi won the Pwnie Award for Lamest Vendor Response, a traditional award given out at the Black Hat conference for companies that react the worst in response to security issues.


Source: TechCrunch

Margin of safety in venture capital

As a former stock analyst turned VC, I still spend time thinking about public company investment opportunities. To that end, I recently read Seth Klarman’s Margin of Safety, a hard to find, but very insightful book about value investing. The book’s title, Margin of Safety, is a term borrowed from the godfather of value investing: Benjamin Graham. Warren Buffett’s investment philosophy is very much inspired by Graham; 85 percent as much, according to Buffett himself.

A margin of safety is room for error built into the price an investor pays for an asset to lower the risk that the investor might lose money. In other words, assets are usually quite difficult to price, so you try to pay some amount well below what you think an asset is worth to minimize the impact of various issues that might impact the value of that asset. One potential issue might be in the investor’s analysis of worth (i.e. the investor is wrong); another might be an unforeseeable market event, or a temporary problem specific to the company, etc.

While I was familiar with the margin of safety concept, I hadn’t thought about how it might apply to venture investing, and Klarman’s book sparked my imagination.

Can you fundamentally build a margin of safety into an early-stage venture investment? Can you fundamentally be “wrong” about your investment and still turn out alright?

The answer seems to be “sort of,” but it’s quite different than how you do it in the public markets. To figure it out, it’s worth considering price, market and team as the potential mechanisms.

Price

In the public markets, margin of safety is all about the price you pay for an asset. You’re looking for mispricings in the market primarily due to irrational downward assessments of other investors — usually places where emotion takes hold and logic gives way. Irrational upward assessments happen too, but those aren’t buying opportunities, and value investing is about buying, not shorting.

In the private markets, there may be the same amount of irrational upward assessment as reflected by some valuations that get ahead of themselves, but irrational downward assessment is rarer simply because such an assessment would mean the market thinks a company is not fundable and, without capital, it likely goes out of business. Therefore, it’s difficult for a private company mispriced to the downside to even exist. Even in down rounds at solid companies there doesn’t seem to be anything near a margin of safety that Klarman or Buffett would expect — nor do modest valuation negotiations create such a margin of safety for top venture firms that can pull off such negotiations.

We can comfortably say that price as a mechanism for margin of safety in venture doesn’t seem to work.

Market

A bigger market is always better, so if we only invest in huge markets, that’s a margin of safety, right? Unfortunately, no.

Bigger markets are usually better, but markets are extremely hard to predict, and it’s even harder to predict which market many startups even really fit into at the early stage. If you had to predict the market for people renting air beds on other people’s floors you probably would have missed the potential for the same platform to rent rooms and, ultimately, change the travel industry.

Can you fundamentally build a margin of safety into an early-stage venture investment?

You might apply Klarman’s idea of conservatively estimating a company’s cash flows and the applicable discount rate in valuing a company as part of a margin of safety, but taking a conservative view of what the market may be for a venture investment is arguably even worse than overshooting it because it will probably lead you to miss out on some great opportunities, like Airbnb above.

Market doesn’t seem to be the margin of safety in venture either.

Team

That leaves us with team.

Fundamentally, the point of a margin of safety is to recognize that things are probably not going to go as planned. In a public investment, where value is a constant reflection of supply and demand, you can protect yourself from the unforeseen via price. In a private investment, where shares are illiquid and relationships more important, you can only protect yourself from the unforeseen via the team.

A great team is resourceful, dedicated, persistent, curious and flexible. Those elements reduce the risk of a negative outcome when things don’t go as planned, because a great team adjusts and fights through it. Fighting through a difficult time. Pivoting to something else. Pressing on with a commitment to suffering. Sometimes things go too far off the rails for even a great team to recover, but better to invest in a team that can correct setbacks than an average team that crumbles under even minor deviations.

It’s this reason that all VCs say they invest in team first. They are our margin of safety.

Close

To bastardize Warren Buffett’s bridge analogy regarding the margin of safety: We want to invest in founders that can lift the weight of the world, but really only need to lift the weight of one difficult startup business. We will almost certainly be fooled both positively and negatively by prices, products and markets, but we must do our best not to be fooled by teams, because they’re the only margin of safety we have. 


Source: TechCrunch

Skip and Scoot are the only companies awarded scooter permits in SF

The great San Francisco scooter decision has been made. And Skip and Scoot have claimed the prize.

The San Francisco Municipal Transportation Agency (SFMTA) issued one-year permits to Skip and Scoot on Thursday, a decision that ends months of waiting for 12 companies that applied to operate within the city. JUMP, which Uber acquired in April, as well as Lyft, Skip, Spin, Lime, Scoot, ofo, Razor, CycleHop, USSCooter and Ridecell all applied for permits in San Francisco.

The permits will allow a maximum of 625 scooters for each company in the first six months. Scoot and Skip may have the potential to increase their number of scooters in months seven to 12 to a cap of 2,500, at the SFMTA’s sole discretion.

“The SFMTA’s decision is based on the strength of the proposals submitted by the two companies, combined with their experience of owning, operating and maintaining a shared mobility service in the public right-of-way. The agency looked for applications that prioritized the city’s concerns around safety, disabled access, equity and accountability,” the agency said.

The SFMTA noted in its decision that Skip and Scoot had the strongest applications. The agency seemed particularly interested in safety measures these companies planned to take. Scoot, which has been managing a fleet of shared electric mopeds in San Francisco since 2012, proposed mandatory instructional videos for users, helmets included in rentals and free in-person training.

Scoot also proposed using swappable batteries instead of manually taking the scooters off the street for regular recharging.

“This method could help the city reduce the number of vehicle miles traveled on San Francisco streets, which helps reduce traffic congestion and greenhouse gas emissions,” the SFMTA said in its decision.

Scoot said it will soon introduce an electric kick-style scooter to its line-up of electric motor scooters and electric bicycles in response to the decision.

Unsurprisingly, the companies that lost out have expressed dismay with the decision.

“Jump both submitted a strong application and has a track record of successfully working with the city on our bike pilot,” an Uber spokesperson wrote in an email. “Granting only two scooter permits unnecessarily limits mobility options in San Francisco, and we plan to follow up with the SFMTA to share our concerns,”

Bird, a scooter startup that has $2 billion valuation, said it will continue to work with San Francisco officials, partners, community organizations and advocates in hopes of bringing Bird back to the City by the Bay, a spokeswoman said in an email.

Bird, which has a goal of operating in 50 cities globally before the end of the year, noted that residents have sent nearly 30,000 emails to city officials in support of bringing Bird to San Francisco.

The pilot program is the city’s solution to handling the scooter chaos of 2018. Bird, and soon after, Lime and Spin, released their fleet of scooters into the city in March without permission. They became an instant hit among city residents seeking fast and cheap ways to get around town. They also soon became a pariah as scooters inundated sidewalks and rights of way.

The SFMTA put a temporary ban on all scooters in May and initiated a permit process as part of a 24-month pilot program that would allow up to five scooter companies to operate in the city.

Bird, Lime, Lyft and JUMP didn’t completely lose out Thursday. The city of Santa Monica’s Shared Mobility Device Selection Committee officially awarded Bird, Lime, Lyft and JUMP Bikes permits to operate both electric scooters and/or bikes in the city as part of its 16-month pilot program beginning September 17.

Lyft, which remains hopeful that it will have the chance to offer scooters in San Francisco in the future, is now focused on Santa Monica.

“We are thrilled to have been awarded permits for both bikes and scooters by the City of Santa Monica,”  Caroline Samponaro, Lyft’s bike and scooter policy lead said in an emailed statement. “The city’s decision to collaborate with Lyft deepens a partnership that will reduce vehicle congestion, increase public transportation trips and provide equitable transportation solutions to all residents of Santa Monica.”


Source: TechCrunch

San Francisco Brings Back Banned E-Scooters—With Limits

The city granted operating permits to just Skip and Scoot, two companies that emphasized good relationships with public officials.
Source: Wired

Two electric scooter companies, Skip and Scoot, take the win for SF permits – CNET

Uber, Lyft, Bird and Lime miss out.
Source: CNET

Apple Watch 4: Rumored specs, features, leaks, price, release date – CNET

Will the fourth time around be the biggest change ever?
Source: CNET

What Happens When Facebook Mistakenly Blocks Local News Stories

The social network says stories from *The Winchester Star,* a daily newspaper in Virginia, were erroneously censored and that a fix has now been issued.
Source: Wired

Free Speech Is Not the Same As Free Reach

Bad faith politicking about the way search algorithms work makes it harder for tech companies to solve the real problems.
Source: Wired

Stream a real stream with the soothing sounds of national parks – CNET

Rock out to the sounds of actual rocks.
Source: CNET

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728