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

Archivo del Autor: Belen De Leon

The Crazy Hacks One Woman Used to Make Money on Mechanical Turk

A new book describes how a Mechanical Turker used alarms and shortcuts to make $20 an hour, at the cost of her health.
Source: Wired

Inside a Chemist’s Quest to Hack Evolution and Cure Genetic Disease

David Liu is a scientific superhero on a mission to knock out genetic mutants.
Source: Wired

Pressure mounts on EU-US Privacy Shield after Facebook-Cambridge Analytica data scandal

Yet more pressure on the precariously placed EU-US Privacy Shield: The European Union parliament’s civil liberties committee has called for the data transfer arrangement to be suspended by September 1 unless the US comes into full compliance.

Though the committee has no power to suspend the arrangement itself. But has amped up the political pressure on the EU’s executive body, the European Commission .

In a vote late yesterday the Libe committee agreed the mechanism as it is currently being applied does not provide adequate protection for EU citizens’ personal information — emphasizing the need for better monitoring in light of the recent Facebook Cambridge Analytica scandal, after the company admitted in April that data on as many as 87 million users had been improperly passed to third parties in 2014 (including 2.7M EU citizens) .

Facebook is one of the now 3,000+ organizations that have signed up to Privacy Shield to make it easier for them to shift EU users’ data to the US for processing.

Although the Cambridge Analytica scandal pre-dates Privacy Shield — which was officially adopted in mid 2016, replacing the long-standing Safe Harbor arrangement (which was struck down by Europe’s top court in 2015, after a legal challenge that successfully argued that US government mass surveillance practices were undermining EU citizens’ fundamental rights).

The EU also now has an updated data protection framework — the GDPR  — which came into full force on May 25, and further tightens privacy protections around EU data.

The Libe committee says it wants US authorities to act upon privacy scandals such as Facebook Cambridge Analytica debacle without delay — and, if needed, remove companies that have misused personal data from the Privacy Shield list. MEPs also want EU authorities to investigate such cases and suspend or ban data transfers under the Privacy Shield where appropriate.

Despite a string of privacy scandals — some very recent, and a fresh FTC probe — Facebook remains on the Privacy Shield list; along with SCL Elections, an affiliate of Cambridge Analytica, which has claimed to be closing its businesses down in light of press around the scandal, yet which is apparently still certified to take people’s data out of the EU and provide it with ‘adequate protection’, per the Privacy Shield list…

MEPs on the committee also expressed concern about the recent adoption in the US of the Clarifying Lawful Overseas Use of Data Act (Cloud Act), which grants the US and foreign police access to personal data across borders — with the committee pointing out that the US law could conflict with EU data protection laws.

In a statement, civil liberties committee chair and rapporteur Claude Moraes said: “While progress has been made to improve on the Safe Harbor agreement, the Privacy Shield in its current form does not provide the adequate level of protection required by EU data protection law and the EU Charter. It is therefore up to the US authorities to effectively follow the terms of the agreement and for the Commission to take measures to ensure that it will fully comply with the GDPR.”

The Privacy Shield was negotiated by the European Commission with US counterparts as a replacement for Safe Harbor, and is intended to offer ‘essentially equivalent’ data protections for EU citizens when their data is taken to the US — a country which does not of course have essentially equivalent privacy laws. So the aim is to try to bridge the gap between two distinct legal regimes.

However the viability of that endeavor has been in doubt since the start, with critics arguing that the core legal discrepancies have not gone away — and dubbing Privacy Shield as ‘lipstick on a pig‘.

Also expressing concerns throughout the process of drafting the framework and since: The EU’s influence WP29 group (now morphed into the European Data Protection Board), made up of representatives of Member States’ data protection agencies.

Its concerns have spanned both commercial elements of the framework and law enforcement/national security considerations. We’ve reached out to the EDPB for comment and will update this report with any response.

Following the adoption of Privacy Shield, the Commission has also expressed some public concerns, though the EU’s executive body has generally followed a ‘wait and see’ approach, coupled with attempts to use the mechanism to apply political pressure on US counterparts — using the moment of the Privacy Shield’s first annual review to push for reform of US surveillance law, for example.

Reform that did not come to pass, however. Quite the opposite. Hence the arrangement being in the pressing bind it is now, with the date of the second annual review fast approaching — and zero progress for the Commission to point to try to cushion Privacy Shield from criticism.

There’s still no permanent appointment for a Privacy Shield ombudsperson, as the framework requires. Another raised concern has been over the lack of membership of the US Privacy and Civil Liberties Oversight Board — which remains moribund, with just a single member.

Threats to suspend the Privacy Shield arrangement if it’s judged to not be functioning as intended can only be credible if they are actually carried out.

Though the Commission will also want to avoid at all costs pulling the plug on a mechanism that more than 3,000 organizations are now using, and so which many businesses are relying on. So it’s most likely that it will again be left to Europe’s supreme court to strike any invalidating blow.

A Commission spokesman told us it is aware of the discussions in the European Parliament on a draft resolution on the EU- U.S. Privacy Shield. But he emphasized its approach of engaging with US counterparts to improve the arrangement.

“The Commission’s position is clear and laid out in the first annual review report. The first review showed that the Privacy Shield works well, but there is some room for improving its implementation,” he told TechCrunch.

“The Commission is working with the US administration and expects them to address the EU concerns. Commissioner Jourová was in the U.S. last time in March to engage with the U.S. government on the follow-up and discussed what the U.S. side should do until the next annual review in autumn.

“Commissioner Jourová also sent letters to US State Secretary Pompeo, Commerce Secretary Ross and Attorney General Sessions urging them to do the necessary improvements, including on the Ombudsman, as soon as possible.

“We will continue to work to keep the Privacy Shield running and ensure European’s data are well protected. Over 3000 companies are using it currently.”

While the Commission spokesman didn’t mention it, Privacy Shield is now facing several legal challenges.

Including, specifically, a series of legal questions pertaining to its adequacy which have been referred to the CJEU by Ireland’s High Court as a result of a separate privacy challenge to a different EU data transfer mechanism that’s also used by organizations to authorize data flows.

And judging by how quickly the CJEU has handled similar questions, the arrangement could have as little as  one more year’s operating grace before a decision is handed down that invalidates it.

If the Commission were to act itself the second annual review of the mechanism is due to take place in September, and indeed the Libe committee is pushing for a suspension by September 1 if there’s no progress on reforms within the US.

The EU parliament as a whole is also due to vote on the committee’s text on Privacy Shield next month, which — if they back the Libe position — would place further pressure on the EC to act. Though only a legal decision invalidating the arrangement can compel action.


Source: TechCrunch

Vietnam’s new cyber security law draws concern for restricting free speech

Big tech firms including Google, Facebook and Twitter have expressed major concern after Vietnam’s government passed a law that promises to introduce tighter restrictions on free speech online.

The new regulation passed this week strengthens the government’s position on censoring the internet, drawing Amnesty International to decry that it leaves “no safe place for people to speak freely” in Vietnam. Asia Internet Coalition (AIC) — a group that represents Facebook, Google, Twitter, LinkedIn, Line and others — furthered cautioned that it would harm the development of the country’s digital economy.

Among the broad points, the new cyber security law forbids internet users from organizing with, or training, others for anti-state purposes, spreading false information, and undermining the nation state’s achievements or solidarity, according to reports.

“This decision has potentially devastating consequences for freedom of expression in Vietnam. In the country’s deeply repressive climate, the online space was a relative refuge where people could go to share ideas and opinions with less fear of censure by the authorities,” Amnesty International added in a statement.

Internet censorship isn’t new to Vietnam, but the law increases the state’s potential to act. Concern is already high following a string of arrests over the past year which has seen bloggers jailed for discussing environmental issues, politics and more online.

Beyond limiting free speech, the cyber law also applies pressure to foreign internet companies who will now be required to operate a local office and store user information on Vietnamese soil. Currently, in the case of Google and Facebook, data on Vietnam-based users is stored overseas in locations such as Singapore and Hong Kong.

Google and Facebook both declined to comment, but they are part of the AIC which did make a statement condemning the new law.

“The provisions for data localization, controls on content that affect free speech, and local office requirements will undoubtedly hinder the nation’s fourth Industrial Revolution ambitions to achieve GDP and job growth,” AIC wrote in a statement.

“Unfortunately, these provisions will result in severe limitations on Vietnam’s digital economy, dampening the foreign investment climate and hurting opportunities for local businesses and SMEs to flourish inside and beyond Vietnam,” the organization added.

The people of Vietnam have also voiced their discontent at the new law. Bloomberg reports that demonstrations took place on Sunday ahead of the voting.


Source: TechCrunch

Spanish soccer app caught using microphone and GPS to snoop

If you’ve ever found yourself wondering why an app is requesting microphone access when there doesn’t seem to be any logical reason why it should need to snoop on the sounds from your surroundings, hold that thought — and take a closer look at the T&Cs.

Because it might turn out that spying is exactly what the app makers have in mind.

To wit: La Liga, an app for fans of Spanish soccer which has been discovered using microphone access combined with the precise GPS location of Android users to listen in on people’s surroundings during match times — in a bid to catch bars that might not have a license to broadcast the match being watched. 

As surveillance capitalism goes, it’s a fiendishly creative repurposing of your users as, well, unwitting volunteer spies and snitches.

It’s also of course terrible human behavior. Behavior that has now garnered La Liga a bunch of one-star reviews for the Android app — along the lines of “this app converts you into a police whistler without you noticing!” and “it spies on you via the microphone and GPS. Rubbish. Don’t install”.

The snitch feature appears to have surfaced largely as a result of the European Union’s new data protection framework, GDPR — which requires app makers to explain more precisely what exactly they’re doing with people’s data. Ergo, La Ligo users started noticing what the app wanted to do and discussing and denouncing it on social media, where it blew up into a trending topic, as El Pais reports.

In a statement on its website responding to the snitch scandal, the league defends its actions writing that it has “a responsibility to protect the clubs and their fans” from unlicensed broadcasts being made in public places, claiming that such activity results in the loss of an estimated €150M annually from the league.

It also specifies that the feature is only deployed in its Android app — and claims it has apparently only been active since June 8. It also says it’s only used within Spain.

La Liga further claims the spying functionality is used solely for the purpose of detecting unlicensed broadcasts of soccer matches. (According to its explanation of how it works, captured audio is converted locally into an irreversible binary code — and it claims “the content of the recording will never be accessed”.)

A further technical measure implemented to limit how the feature can be used means La Liga only activates the microphone and geolocation of its app users’ mobile devices during time slots of matches in which its teams compete. So, tl;dr, the league is only spying on you to a timetable.

It also defends itself by claiming information about the spy and snitch function is provided to users in a transparent manner and people are specifically asked for their consent and can choose not to allow it or to revoke it at any time.

Although, the app’s description on the Google Play store does not include among several listed features — such as “live minute-by-minute commentary” and “schedules, scores, standings” and “real-time notifications and alerts right from kick-off” — ‘turning on your microphone to snoop on your surroundings during match times’… Funny that.

According to Google Play store stats the La Liga app has had more than 10M downloads to date.


Source: TechCrunch

Build your own L3-37 droid complete with voice interaction

Robot maker Patrick Stefanski has created a 3D-printed – and animated – model of L3-37, the droid in the recent Solo movie. L3-37 is one of the funnest – and woks – droids in recent memory and this recreation is fun and ingenious.

Stefanski used Alexa voice controls to let the robot head respond to voice commands and he set the wake word to “Hey L3” to which the robot responds with a grumpy “What!”

The version you see above is painted and weathered but you can 3D print your own pristine version from here and then add in a Raspberry Pi and Arduino with a simple servo to control the head motion. In all it looks like a lot of fun and the hardest part will be printing all of the larger head parts necessary to recreate L3’s saucer-like dome.

It could make for a nice weekend project and looks to be surprisingly simple to build. Just don’t be surprised L3 rallies your DVR and air conditioner to revolt against attacks on droid rights.


Source: TechCrunch

Metaboards raises $5M for ‘metamaterials’-based wireless charging tech

Metaboards, an Oxford-based startup that is developing new wireless charging technology, has secured $5 million in funding. The round is led by Oxford Sciences Innovation (OSI), with participation from RT Capital Management, and Woodford Investment Management. The burgeoning company will use the new funds to expand the team with the aim of bringing its patented ‘metamaterials’-based wireless charging tech to market.

Founded in 2016 by professors and published researchers from Oxford University, Metaboards is applying the use of ‘metamaterials’ to potentially create a much-better wireless charging solution that would negate some of the shortcomings of today’s tech. This will include removing the need for alignment between the charger and device, and the ability to charge multiple devices without multiple charging points.

More broadly, metamaterials are new types of materials made up of compounds such as plastics or metals that are arranged in ‘geometric structures’ that have properties not found in nature. The most extreme example could be an ‘invisibility’ cloak! However, metamaterials are a hot area of industrial research that has a plethora of more tangible applications. Metaboards thinks wireless charging is definitely one of them.

In a brief call, Metaboards CEO Nedko Ivanov, who previously led audio and haptics company Redux — which we reported was acquired by Google last year — told me the startup already has a working prototype that it will demo at the next CES and Mobile World Congress. It is also in discussions with various OEMs to explore ways to bring products to market based on the tech.

As well as negating the need for alignment, which, Ivanov notes, means that current wireless charging solutions aren’t that different to actually plugging a device into a charger, Metaboards’ solution has much better vertical reach/penetration. So, for example, rather than having to drill into a table to retro-fit a charging solution, in theory Metaboards’ technology could be placed on the underside of a table and effectively charge through it. Add in the ability to charge multiple devices on the same surface and things get interesting.

“Metaboards’ technology makes it possible to charge tablets, games consoles and controllers, computers and any other non-metal electronic device at the same time and on the same surface,” says the company. It also points to a recent report from Grand View Research that predicts that the global wireless charging market will be worth $22.25 billion by 2022.

Adds Ivanov in a statement: “This investment will help us to grow the company and extend our capabilities across all wireless power technology platforms to ensure we offer universal capabilities. We already have interest from companies looking into licensing the technology in the next six to 12 months”.


Source: TechCrunch

Valve is bringing an official version of Steam to China

Valve is officially bringing its Steam game platform to China as it aims to take a chunk of the world’s largest market of gamers.

Valve said it will work with local partner Perfect World, which it previously collaborated on to release major games Dota 2 and Counter-Strike: Global Offensive. Shanghai-based Perfect World will control local promotional, the selection of games and distribution. There’s no confirmed date for when the Steam China service will go live.

The move makes perfect sense. For one thing, Valve has a vast opportunity to tap into. China’s games market is booming, with Newzoo forecasting that it represented $32.5 billion in 2017, ahead of the U.S., Japan, Germany and the UK. PC gaming has always been the base for revenue, but mobile is growing fast with Tencent — one of the largest gaming firms on the planet — recently reporting that its mobile revenue has overtaken that of PC.

But, as with all things China, access is uncertain. Parts of Valve’s service were blocked in China last December, although the ability to guy games remained intact. It isn’t clear why the partial blockage occurred — China frequently upgrades its firewall technology which can trigger changes — but working with a local partner is a more reliable approach than going solo. That said, Perfect World will have to manage the inevitable government censorship demands.

Despite having no official presence in China, more than one-quarter of Steam users have the language set to Basic Chinese, second only to English, according to a user survey. Whilst that also accounts for the Chinese diaspora, it is a sign that Steam already has significant traction among China’s gamers.

There’s plenty of competition in this space, so Valve won’t simply waltz into dominance. Tencent has its own Steam-like platform while NetEase has partnered with big U.S. gaming companies like Bungie and Blizzard.


Source: TechCrunch

Uber bets on developing world growth with low-data Uber Lite

“The next hundreds of millions of riders for us are going to come from outside of the United States”, Uber’s head of rider experience Peter Deng tells me. The transportation giant already sees 75 million riders per month and 15 million rides per day. But to grow in the developing world, it had to rethink its app to work on the oldest phones and slowest networks. So Deng’s team traveled the globe asking people what they needed from Uber, but also what they didn’t.

The result is Uber Lite.

It’s launching today in India before rolling out to more countries, though there’s still a waitlist form instead of a download link. The Android app takes up just 5 megabytes. “You delete three selfies, you have room for Uber” Deng laughs. 300-millisecond response time means its quick to hail a ride, even for the 4 percent of users in India on sluggish 2G networks. And by streamlining the design and only showing maps by request, it won’t burn much data for users on a budget.

Uber needs to score growth in developing markets after retreating while cutting deals with local winner like Didi in China, Grab in Southeast Asia, and a forthcoming arrangement with Yandex in Russia. India’s Ola rideshare service already has a ‘Lite” app that’s just 1 megabyte and a 45% share of the taxi market, compared to Uber’s 35%. Uber has reported has talked with Ola about a possible merger in India, sources have told TechCrunch and others. With the country making up 10% of Uber’s rides, it’s a market it can’t forfeit.

To reach its full potential, Uber has to start out-competing homegrown competitors. Success with Uber Lite could give it leverage with Ola and path to gaining more of it around the world.

“We know we’re not just a U.S. company, we’re a global company. Not only have we built this for the world, it was built in India” Deng tells me. Deng came to Uber in March 2017 after 10 years at Facebook’s various companies. It was early to the “Lite” idea, with its shrunken app reaching over 200 million users. 

But Deng says Uber Lite didn’t come from stripping down the main app, but building it up from scratch. “The team has traveled to markets around the world to do in home interviews to understand the needs of the customers.”

Compared to the 181 megabyte standard version, Uber Lite is a lot easier for low-storage phones to handle. Uber Lite launches not to a map or a text entry box, but instead a suggested nearby business or landmark based on your GPS. “You have to do less typing and can do more tapping” Deng explains. It also tries to guess your destination based on pre-cached popular city spots. You can input addresses, but Uber Lite won’t load a data-heavy map unless you purposefully grab for it. ‘Tap for map’.

Same goes for your driver’s ETA. After you’ve selected your vehicle type and hailed, you’ll just get a countdown to their arrival unless you tap to see them on their way. Payment for now is cash only. But soon Uber plans to add India’s popular Paytm payment platform and credit card options. It’s also still lacking notifications, which seem worth the data. More languages will come too.

Uber wouldn’t explain how, but it also revealed that it plans to offer offline hailing, possibly through some peer-to-peer Bluetooth mesh network or other technology. One other interesting test its running in India lets users punch in a code found at a bus stop to instantly hail a ride there. Another lets older or less phone savvy users phone in to an accessibility team that can hail a ride for them. It’s already offered web bookings. “The whole charter is to allow everyone around the world to experience Uber” Deng says.

What Uber wouldn’t skip in v1 was the in-app support and a way to share your ETA with loved ones so they can watch out for you. “We knew how important safety was in these markets. I’m really proud we took additional steps to empathize” Deng says.

The company is clearly trying to put the darker moments of its past behind it. While cynics might take the compassion talk as just lip service like the company’s big apology ad campaign, it’s also the reason some tech talent has stayed at or joined Uber. If the company is going to be unavoidable, making it secure and accessible is a pretty good reason to wake up in the morning.


Source: TechCrunch

With a 'Lite' App, Uber Moves to Win Over India

Uber Lite should make the ride-hailing service easier to use in emerging markets where service is spotty and data is limited.
Source: Wired

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487