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

Archivo del Autor: Belen De Leon

The demise and rebirth of the ethical engineer

Whatever happened to the ethics of engineering?

We’ve seen just one disastrous news story after another these past few years, almost all knowable and preventable. Planes falling out of the sky. Nuclear power plants melting down. Foreign powers engorging on user data. Environmental testing thrashed. Electrical grids burning states to the ground.

The patterns are not centered around discipline or nationality, nor do these events share an obvious social structure. Facebook machine learning programmers mostly don’t hang with German VW automotive engineers or Japanese nuclear plant designers. They weren’t taught at the same schools, nor share the same textbooks, nor read the same journals.

Instead, there is a more fundamental thread that binds these disparate and heinous stories together: the increasingly noxious alchemy of complexity and capitalism. Only through a rejuvenation of safety culture can we hope to mend the pair.

Unexpected disasters are really “normal accidents”

Before we start to assign blame though, we need to take a step back to look at these technical systems. Automotive emissions, nuclear power plants, airplanes, application platforms, and electrical grids all share one thing in common: they are very complex, highly coupled systems.

They are complex in the sense that they have many individual parts that are connected together in sometimes non-linear ways. They are highly coupled in the sense that perturbations to one component can lead to rapid change in that system’s entire operation.

And so you get a reasonably small safety system on the 737 MAX that downs planes. And you have a reasonably limited API in a social platform that leaks its entire users’ data stream. And you have an electrical grid interacting arboreally that sparks and catches fire killing dozens of people.

All of these outcomes are theoretically preventable, but then, the scale of the interactions in these systems is uncountable. Again, small changes can have enormous effects.

Years ago, Charles Perrow wrote a splendid book connecting the rising complexity and coupledness of technical systems with the increase in catastrophic, but “normal accidents,” which he used as the book’s title. His thesis wasn’t that such disasters are rare and should be shocking, but rather that the very design of these systems guarantees that accidents must occur. No level of testing or systems design can prevent a mistake across billions and billions of interactions. Thus, we get normal accidents.

He writes a dour account of the future of engineering, which may well be too cynical. Engineers have matched some of this growing complexity with more sophisticated tools, mostly derived from greater computing power and better modeling. But there are limits to how far the technical tools can help here given our limits of organizational behavior about complexity in these systems.

Management‘s safety delusion

Markus Pfueller, head attorney of Volkswagen, speaks to the press at the Stadthalle congress center for a test court case involving investors suing automaker Volkswagen AG over financial losses from the diesel emissions scandal on September 10, 2018 in Braunschweig, Germany. (Photo by Alexander Koerner/Getty Images)

Even if engineers are (potentially) acquiring more sophisticated tools, management itself most definitely is not.

Safety is a very slippery concept. No business leader is anti-safety. None. Every single business leader and manager in the world at least pays lip service to the value of safety. Construction sites may be warrens of danger, but they always have a “hard hat is required” sign out front.

Safety may indeed be the first value of almost all of these organizations, but then, you can spend hours inside of a company’s 10-K or 10-Q before finding one iota of a statement about it (except, of course, after disaster strikes).

It’s this intersection of capitalism and complexity where things have gone awry.

One pattern that binds all of these engineering disasters together is that they all had whistleblowers who were aware of the looming danger before it happened. Someone, somewhere knew what was about to transpire, and couldn’t hit the red button to stop the line.

And of course they couldn’t. That’s what happens when the pressure for quarterly earnings, for growth, can be so intense, that no one in an organization has the capability — not even the CEO — to stop the system.

What’s strange is that these knowable disasters are hardly profitable for their creators. PG&E entered bankruptcy. Facebook is facing a multi-billion dollar fine. VW settled its scandal for $14.7 billion. The 737 MAX situation is leading to questions about whether Boeing can remain a going concern.

No shareholder wants to shred worthless stock certificates. So where is the disconnect?

Rebuilding an ethical base within engineering culture

Ethics starts with leadership at the top, and specifically with better communication around safety and regulatory concerns to all stakeholders, but most definitely shareholders. Owners of stock in companies with complex technical products need to be told — again and again — that the companies they own will prioritize safety over immediate profits. The tone must always be to value long-term growth and sustainability.

To those who don’t frequent Wall Street watering holes, it may come as a jolt to learn that such a sales process may well be difficult. Investors don’t like to hear that their return on equity will lose some basis points, and would prefer to just buy a credit-default swap and jump ship when the ship literally and metaphorically sinks.

Yet, short-term traders aren’t the only investors available. The capital markets are diverse, and there are trillions of dollars of wealth handled by managers seeking to invest in long-term growth, without the downsides of inevitable disasters. One key part of investor relations is to acquire the investors that match the culture of the firm. If your investors don’t care about safety, no one else will either.

The upshot of most of these scandals is that there is now an extended graveyard of companies to point to, and that will help with these conversations.

Beyond boardrooms and shareholders though, engineering cultures need to build resiliency to ship and approve products when they are ready. Engineering leaders need to talk to their business executives and explain safety concerns just as much as they need to constantly reenforce that safety and security is a priority for every individual contributor.

Engineering managers probably have the most challenging role, since they both need to sell upwards and downwards within an organization in order to maintain safety standards. The pattern that I have gleaned from reading many reports on disasters over the years indicates that most safety breakdowns start right here. The eng manager starts to prioritize business concerns from their leadership over the safety of their own product. Resistance of these pecuniary impulses is not enough — safety has to be the watchword for everyone.

Finally, for individual contributors and employees, the key is to always be observant, to be thinking about safety and security while conducting engineering work, and to bring up any concerns early and often. Safety requires tenacity. And if the organization you are working for is sufficiently corrupt, then frankly, it might be incumbent on you to pull that proverbial red button and whistleblow to stop the madness.

Here at Extra Crunch, we are trying to do our part to increase awareness of these issues. Our resident humanist, Greg Epstein, interviews and discusses the challenging ethics of our modern technical world with all kinds of thinkers.

Take some of his work as inspiration, since the demise of the ethical engineer doesn’t have to be a fait accompli. Nor do normal accidents — as normal as they are — have to be so common. We can repair capitalism by adding better tools and accountability for all levels of technical organizations. And in the long run — peering into that burgeoning corporate cemetery — that’s an incredible investment for future returns.


Source: TechCrunch

Taylor Swift's ME! breaks YouTube and Amazon Alexa voice request records – CNET

“Alexa, play the new Taylor Swift!”
Source: CNET

Apple, App Store again face accusations of anticompetitive behavior – CNET

A New York Times report says Apple targeted third-party apps designed to limit phone use after releasing its own screen-time tools.
Source: CNET

Week-in-Review: Tesla’s losses and Elon Musk’s new promises

What a complicated week for Tesla.

The electric car-maker announced this week that it had lost more than $700 million in the first quarter of 2019, an unpleasant surprise for investors that came during its quarterly earnings report.

But that was just like the 3rd or 4th most interesting piece of Tesla news that took place this week. CEO Elon Musk also avoided writing another check to the SEC for his tweeting habit and Tesla showcased some of its self-driving dreams at an event devoted to autonomy.

Let’s check the news hits out one-at-a-time:

  • First, let’s talk Tesla money. On its Q1 earnings call, Tesla CFO Zachary Kirkhorn called it “one of the most complicated quarters.” Investors were already expecting a loss, but a bunch variety of factors led to the $702 million loss which came after two quarters of profitability. Musk had already said that deliveries were lower-than-expected, they ended up shipping 63,000 cars, a nearly one-third drop from the previous quarter. Add that to the partial expiration of the federal electric vehicle tax rebate and there are some answers but still some lingering questions.
  • Next, the company laid out some big promises for its self-driving future, but none was more intriguing than Elon Musk announcing that Tesla was planning to launch a robotaxi network in 2020, though the CEO was strong on the caveats that local laws would pretty much guide how such a service was rolled out.

  • The company’s Autonomy Day wasn’t just about plans to trounce the soon-to-be-public Uber on its own ride-sharing turf, the company also dove into the hardware, specifically its new “full self-driving” computer that has already started shipping in new Model 3, S and X models. If you look — not very closely — you’ll see that it’s actually two independent computers designed around redundancy so that there’s less room for a glitch to leave drivers in danger.
  • Finally, on Friday we learned that Musk and the SEC had reached a deal that let him keep his cash and his Twitter account and avoid being held in contempt of the initial deal. The agreement reach gave Musk a list of topics (list here) that he needs to get pre-approval from Tesla in order to tweet about, a solution that’s probably good for everyone especially the Tesla officials who likely didn’t want to babysit Elon tweeting about anime.

Shoot me tips or feedback
on Twitter @lucasmtny or email
lucas@techcrunch.com

Trends of the week

Here are a few big news items from big companies, with green links to all the sweet, sweet added context.

Special guest

I’m not the first to go wild about enterprise IT, but Box CEO Aaron Levie just published a guest post on TechCrunch about how the world of corporate software has gotten a lot more exciting over the past decade. Check it out.

A new era for enterprise IT

“…We’ve reached a new era of enterprise software and companies are coming around to this model in droves. What seemed unfathomable merely a decade ago is now becoming commonplace…”

Photo by Paul Marotta/Getty Images

GAFA Gaffes

How did the top tech companies screw-up this week? This clearly needs its own section, in order of awfulness:

  1. Facebook gets drilled 3X. Kind of cheating since it’s a list, but I’m all about efficiency:
    [Facebook hit with three privacy investigations in a single day]
  2. Facebook preps for an upcoming major privacy failure fine:
    [Facebook reserves $3B for future FTC fine]

Extra Crunch

Our premium subscription service continues to churn out some awesome long-reads as a channel for our staff’s niche obsessions. We had a great piece this week on the difficulties associated with determining Huawei’s company ownership, especially when that owner might just be the Chinese Communist party.

Why it’s so hard to know who owns Huawei

“…despite selling 59 million smartphones and netting $27 billion in revenue last quarter in its first-ever public earnings report this morning, a strange and tantalizing question shrouds the world’s number two handset manufacturer behind Samsung. Who owns Huawei?”

Here are some of our other top reads this week for premium subscribers — our staff seemed to write a lot about pitching stories this week…

Want more TechCrunch newsletters? Sign up here.


Source: TechCrunch

Meet the tech boss, same as the old boss

“Power corrupts, and absolute power corrupts absolutely.” It seems darkly funny, now, that anyone ever dared to dream that tech would be different. But we did, once. We would build new companies in new ways, was the thinking, not like the amoral industrial behemoths of old. The corporate villains of 90s cyberpunk were fresh in our imaginations. We weren’t going to be like that. We were going to show that you could get rich, do good, and treat everyone who worked for or interacted with your business with fundamental decency, all at the same time.

The poster child for this was, of course, Google, whose corporate code of conduct for fifteen years famously included the motto “don’t be evil.” No longer, and the symbolism is all too apt. Since removing that phrase in 2015, we’ve all witnessed reports of widespread sexual harassment, including 13 senior managers fired for it; Project Maven; and Project Dragonfly. Internal backlashes and a mass walkout led to retractions and changes, courtesy of Google employees rather than management … and now we’re seeing multiple reports of management retaliation against those employees.

Facebook? I mean, where do we even begin. Rootkits on teenagers‘ phones. Privacy catastrophe after privacy catastrophe. Admissions that they didn’t do enough to prevent Facebook-fostered violence in Myanmar. Sheryl Sandberg personally ordering opposition research on a Facebook critic. And those are just stories from the last six months alone!

Amazon? Consider how they overwork and underpay delivery drivers and warehouse workers. Apple? Consider how they “deny Chinese users the ability to install the VPN and E2E messaging apps that would allow them to avoid pervasive censorship and surveillance,” to quote Stanford’s Alex Stamos. Microsoft? The grand dame of the Big Five has mostly evolved into a quiet enterprise respectability, but has recently seen “dozens of” reports of sexual harassment and discrimination ignored by HR, along with demands for cancellation of the HoloLens military contract.

Those are the five most valuable publicly traded companies in the world. It’s far from “absolute power,” but it’s far more power than the tech industry has had before. Have we avoided corruption and complacency? Have we done things differently? Have we been better than our predecessors? Not half so much as we hoped back in the giddy early days of the Internet. Not a quarter. Not an eighth.

And it’s mostly so gratuitous. Google didn’t need to try to build a censored search engine for China. They don’t need the money — they’re a giant money-printing machine already — and the Chinese people don’t need their product. Amazon doesn’t need to treat its lower-paid workers with vicious contempt. (It’s true they finally — finally! — raised their minimum wage to $15, but it could very easily afford to make their pay and working conditions substantially better yet.) Facebook doesn’t need to … to increasingly act like a company whose management is composed largely of wide-eyed cultists and/or mustache-twirling villains, basically.

Google should have promoted the organizers of their walkout, but there, at least, you can see why they didn’t. Raw fear. The one thing which truly frightens the management of big tech companies, more than regulators, more than competitors, more than climate change, is their own employees.

Is it that the modern megacorps have inherited from their forebears the obsession with growth at all costs, a religious drive to cast their net over every aspect of the entire world, so it’s still not enough for each of those companies to make billions upon billions from advertising and commerce to spend on their famous — and now sometimes infamous — “moonshot” projects? (Don’t talk to me about the fiduciary duty of maximum profit. Tech senior management can interpret that “duty” however they see fit.)

Is it that any sufficiently large and wealthy organization becomes, in its upper reaches, a nest of would-be Game of Thrones starlets, playing power politics with their pet projects and personal careers, regardless of the costs and repercussions? (At least when they are born of hypergrowth; it’s noticeable that more-mature Apple and Microsoft, while imperfect, still seem by some considerable distance the least objectionable of these Big Five, and Facebook the most so.)

I don’t want to sound like I think the tech industry is guilty of ruining everything. Not at all. The greatest trick the finance industry ever pulled is somehow convincing (some of) the world that it’s the tech industry who are the primary drivers of inequality. As for the many media who seem to be trying to pin recent election outcomes, and all other ills of the world, on tech, well

But the existence of greater failures should not blind us to our own, and whether we have failed in an old way or a new one is moot. Accepting this failure is — at least for people like me who were once actually dumb/optimistic enough to believe that things might be different this time — an important step towards trying to build something better.


Source: TechCrunch

President Trump's Meeting With Jack Dorsey Tops This Week's Internet News Roundup

President Trump met with Twitter’s CEO last week, but that’s not all you missed if you were too busy watching ‘Avengers: Endgame’ to go online.
Source: Wired

Tesla's Robotaxis, Ugly Earnings, and More Car News This Week

The electric automaker reported a $700 million quarterly loss, and faces a strengthened rival after Ford pumped $500 million into startup Rivian.
Source: Wired

What iPhone? Apple's push toward services begins – CNET

Apple’s said its future is not just selling you an iPhone, but also streaming videos, music, news and even games.
Source: CNET

The Jeep J6 concept is my almost-perfect match – Roadshow

A two-door Gladiator is totally awesome, but it’s not a “Shut up and take my money” affair just yet.
Source: CNET

The best cheap smart bulbs: Does it matter which one you buy? – CNET

Looking for a light bulb that you can automate or control with voice commands? You’re in luck — and you won’t need to spend more than $10.
Source: CNET

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698