├── LICENSE ├── README.md ├── css ├── bullet.png ├── crosshair.png ├── crosshair2.png ├── crosshair3.png ├── duck_alive.png ├── duck_dead.png ├── points_bg.png └── style.css ├── fonts ├── 8bit.ttf └── duckhunt.ttf ├── index.html ├── js ├── birds.js ├── env.js ├── loader.js ├── main.js ├── net.js ├── player.js └── utils.js ├── libs ├── ExplodeModifier.js ├── MTLLoader.js ├── OBJMTLLoader.js ├── ShaderParticles.js ├── Stats.js ├── SubdivisionModifier.js ├── THREEx.FullScreen.js ├── THREEx.KeyboardState.js ├── THREEx.WindowResize.js ├── TessellateModifier.js ├── helvetiker_bold.typeface.js ├── jquery-1.9.1.js └── three.min.js ├── models ├── Flower │ ├── Flower Image.jpg │ ├── Flower.blend │ ├── Flower.mtl │ ├── Flower.obj │ ├── Flower2.mtl │ ├── Flower3.mtl │ ├── FlowerTexture.png │ ├── FlowerTexture2.png │ ├── FlowerTexture3.png │ ├── Texture │ │ └── Flower Texture.png │ └── test │ │ ├── Flower.mtl │ │ ├── Flower.obj │ │ ├── Flower2.mtl │ │ ├── Flower2.obj │ │ ├── Flower3.mtl │ │ ├── Flower3.obj │ │ ├── FlowerTexture.png │ │ ├── FlowerTexture2.png │ │ └── FlowerTexture3.png ├── flamingo │ └── stork_flamingo.js ├── palm │ ├── BLENDSWAP_LICENSE.txt │ ├── CyclesPalmTrees.blend │ ├── PalmFrondAlpha.png │ └── PalmFrondDiffuse.png ├── parrot │ └── parrot.js ├── small_palm │ ├── fishtail_palm_01_diffuse.dds │ ├── fishtail_palm_01_normal.dds │ ├── fishtail_palm_01_small_a.blend │ ├── fishtail_palm_01_specular.dds │ ├── fishtailpalm.png │ └── fishtailpalm_source.blend ├── watch_tower │ ├── 4dbadabe.png │ ├── 4dbadabe.tif │ ├── 80a931fc.png │ ├── b3a28056.png │ ├── b8ceeef9.png │ └── tower.js └── watch_tower2 │ ├── 4dbadabe.png │ ├── 4dbadabe.tif │ ├── 80a931fc.png │ ├── b3a28056.png │ ├── b8ceeef9.png │ └── tower.js ├── promo.png ├── server ├── database.db ├── node_modules │ ├── dblite │ │ ├── .npmignore │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── build │ │ │ └── dblite.node.js │ │ └── package.json │ ├── socket.io │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── History.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── benchmarks │ │ │ ├── decode.bench.js │ │ │ ├── encode.bench.js │ │ │ └── runner.js │ │ ├── index.js │ │ ├── lib │ │ │ ├── logger.js │ │ │ ├── manager.js │ │ │ ├── namespace.js │ │ │ ├── parser.js │ │ │ ├── socket.io.js │ │ │ ├── socket.js │ │ │ ├── static.js │ │ │ ├── store.js │ │ │ ├── stores │ │ │ │ ├── memory.js │ │ │ │ └── redis.js │ │ │ ├── transport.js │ │ │ ├── transports │ │ │ │ ├── flashsocket.js │ │ │ │ ├── htmlfile.js │ │ │ │ ├── http-polling.js │ │ │ │ ├── http.js │ │ │ │ ├── index.js │ │ │ │ ├── jsonp-polling.js │ │ │ │ ├── websocket.js │ │ │ │ ├── websocket │ │ │ │ │ ├── default.js │ │ │ │ │ ├── hybi-07-12.js │ │ │ │ │ ├── hybi-16.js │ │ │ │ │ └── index.js │ │ │ │ └── xhr-polling.js │ │ │ └── util.js │ │ ├── node_modules │ │ │ ├── base64id │ │ │ │ ├── .npmignore │ │ │ │ ├── README.md │ │ │ │ ├── lib │ │ │ │ │ └── base64id.js │ │ │ │ ├── package (halo's conflicted copy 2014-03-15).json │ │ │ │ └── package.json │ │ │ ├── policyfile │ │ │ │ ├── .gitignore │ │ │ │ ├── .npmignore │ │ │ │ ├── LICENSE │ │ │ │ ├── Makefile │ │ │ │ ├── README.md │ │ │ │ ├── doc │ │ │ │ │ └── index.html │ │ │ │ ├── examples │ │ │ │ │ ├── basic.fallback.js │ │ │ │ │ └── basic.js │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ └── server.js │ │ │ │ ├── package (halo's conflicted copy 2014-03-15).json │ │ │ │ ├── package.json │ │ │ │ └── tests │ │ │ │ │ ├── ssl │ │ │ │ │ ├── ssl.crt │ │ │ │ │ └── ssl.private.key │ │ │ │ │ └── unit.test.js │ │ │ ├── redis │ │ │ │ ├── .npmignore │ │ │ │ ├── README.md │ │ │ │ ├── benches │ │ │ │ │ ├── buffer_bench.js │ │ │ │ │ ├── hiredis_parser.js │ │ │ │ │ ├── re_sub_test.js │ │ │ │ │ ├── reconnect_test.js │ │ │ │ │ ├── stress │ │ │ │ │ │ ├── codec.js │ │ │ │ │ │ ├── pubsub │ │ │ │ │ │ │ ├── pub.js │ │ │ │ │ │ │ ├── run │ │ │ │ │ │ │ └── server.js │ │ │ │ │ │ ├── rpushblpop │ │ │ │ │ │ │ ├── pub.js │ │ │ │ │ │ │ ├── run │ │ │ │ │ │ │ └── server.js │ │ │ │ │ │ └── speed │ │ │ │ │ │ │ ├── 00 │ │ │ │ │ │ │ ├── plot │ │ │ │ │ │ │ ├── size-rate.png │ │ │ │ │ │ │ └── speed.js │ │ │ │ │ └── sub_quit_test.js │ │ │ │ ├── changelog.md │ │ │ │ ├── diff_multi_bench_output.js │ │ │ │ ├── examples │ │ │ │ │ ├── auth.js │ │ │ │ │ ├── backpressure_drain.js │ │ │ │ │ ├── eval.js │ │ │ │ │ ├── extend.js │ │ │ │ │ ├── file.js │ │ │ │ │ ├── mget.js │ │ │ │ │ ├── monitor.js │ │ │ │ │ ├── multi.js │ │ │ │ │ ├── multi2.js │ │ │ │ │ ├── psubscribe.js │ │ │ │ │ ├── pub_sub.js │ │ │ │ │ ├── simple.js │ │ │ │ │ ├── sort.js │ │ │ │ │ ├── subqueries.js │ │ │ │ │ ├── subquery.js │ │ │ │ │ ├── unix_socket.js │ │ │ │ │ └── web_server.js │ │ │ │ ├── generate_commands.js │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ ├── commands.js │ │ │ │ │ ├── parser │ │ │ │ │ │ ├── hiredis.js │ │ │ │ │ │ └── javascript.js │ │ │ │ │ ├── queue.js │ │ │ │ │ ├── to_array.js │ │ │ │ │ └── util.js │ │ │ │ ├── mem.js │ │ │ │ ├── multi_bench.js │ │ │ │ ├── package.json │ │ │ │ └── test.js │ │ │ └── socket.io-client │ │ │ │ ├── .npmignore │ │ │ │ ├── History.md │ │ │ │ ├── Makefile │ │ │ │ ├── README.md │ │ │ │ ├── bin │ │ │ │ └── builder.js │ │ │ │ ├── components │ │ │ │ ├── component-bind │ │ │ │ │ ├── component.json │ │ │ │ │ └── index.js │ │ │ │ ├── component-emitter │ │ │ │ │ ├── component.json │ │ │ │ │ └── index.js │ │ │ │ ├── component-json-fallback │ │ │ │ │ ├── component.json │ │ │ │ │ └── index.js │ │ │ │ ├── component-json │ │ │ │ │ ├── component.json │ │ │ │ │ └── index.js │ │ │ │ ├── learnboost-engine.io-client │ │ │ │ │ ├── component.json │ │ │ │ │ └── lib │ │ │ │ │ │ ├── emitter.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── parser.js │ │ │ │ │ │ ├── socket.js │ │ │ │ │ │ ├── transport.js │ │ │ │ │ │ ├── transports │ │ │ │ │ │ ├── flashsocket.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── polling-jsonp.js │ │ │ │ │ │ ├── polling-xhr.js │ │ │ │ │ │ ├── polling.js │ │ │ │ │ │ └── websocket.js │ │ │ │ │ │ └── util.js │ │ │ │ ├── learnboost-socket.io-protocol │ │ │ │ │ ├── component.json │ │ │ │ │ └── index.js │ │ │ │ ├── timoxley-to-array │ │ │ │ │ ├── component.json │ │ │ │ │ └── index.js │ │ │ │ └── visionmedia-debug │ │ │ │ │ ├── component.json │ │ │ │ │ ├── debug.js │ │ │ │ │ └── index.js │ │ │ │ ├── dist │ │ │ │ ├── WebSocketMain.swf │ │ │ │ ├── WebSocketMainInsecure.swf │ │ │ │ ├── socket.io.js │ │ │ │ └── socket.io.min.js │ │ │ │ ├── lib │ │ │ │ ├── events.js │ │ │ │ ├── io.js │ │ │ │ ├── json.js │ │ │ │ ├── namespace.js │ │ │ │ ├── parser.js │ │ │ │ ├── socket.js │ │ │ │ ├── transport.js │ │ │ │ ├── transports │ │ │ │ │ ├── flashsocket.js │ │ │ │ │ ├── htmlfile.js │ │ │ │ │ ├── jsonp-polling.js │ │ │ │ │ ├── websocket.js │ │ │ │ │ ├── xhr-polling.js │ │ │ │ │ └── xhr.js │ │ │ │ ├── util.js │ │ │ │ └── vendor │ │ │ │ │ └── web-socket-js │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── README.md │ │ │ │ │ ├── WebSocketMain.swf │ │ │ │ │ ├── WebSocketMainInsecure.zip │ │ │ │ │ ├── flash-src │ │ │ │ │ ├── IWebSocketLogger.as │ │ │ │ │ ├── WebSocket.as │ │ │ │ │ ├── WebSocketEvent.as │ │ │ │ │ ├── WebSocketMain.as │ │ │ │ │ ├── WebSocketMainInsecure.as │ │ │ │ │ ├── build.sh │ │ │ │ │ └── com │ │ │ │ │ │ ├── adobe │ │ │ │ │ │ └── net │ │ │ │ │ │ │ └── proxies │ │ │ │ │ │ │ └── RFC2817Socket.as │ │ │ │ │ │ ├── gsolo │ │ │ │ │ │ └── encryption │ │ │ │ │ │ │ └── MD5.as │ │ │ │ │ │ └── hurlant │ │ │ │ │ │ ├── crypto │ │ │ │ │ │ ├── Crypto.as │ │ │ │ │ │ ├── cert │ │ │ │ │ │ │ ├── MozillaRootCertificates.as │ │ │ │ │ │ │ ├── X509Certificate.as │ │ │ │ │ │ │ └── X509CertificateCollection.as │ │ │ │ │ │ ├── hash │ │ │ │ │ │ │ ├── HMAC.as │ │ │ │ │ │ │ ├── IHMAC.as │ │ │ │ │ │ │ ├── IHash.as │ │ │ │ │ │ │ ├── MAC.as │ │ │ │ │ │ │ ├── MD2.as │ │ │ │ │ │ │ ├── MD5.as │ │ │ │ │ │ │ ├── SHA1.as │ │ │ │ │ │ │ ├── SHA224.as │ │ │ │ │ │ │ ├── SHA256.as │ │ │ │ │ │ │ └── SHABase.as │ │ │ │ │ │ ├── prng │ │ │ │ │ │ │ ├── ARC4.as │ │ │ │ │ │ │ ├── IPRNG.as │ │ │ │ │ │ │ ├── Random.as │ │ │ │ │ │ │ └── TLSPRF.as │ │ │ │ │ │ ├── rsa │ │ │ │ │ │ │ └── RSAKey.as │ │ │ │ │ │ ├── symmetric │ │ │ │ │ │ │ ├── AESKey.as │ │ │ │ │ │ │ ├── BlowFishKey.as │ │ │ │ │ │ │ ├── CBCMode.as │ │ │ │ │ │ │ ├── CFB8Mode.as │ │ │ │ │ │ │ ├── CFBMode.as │ │ │ │ │ │ │ ├── CTRMode.as │ │ │ │ │ │ │ ├── DESKey.as │ │ │ │ │ │ │ ├── ECBMode.as │ │ │ │ │ │ │ ├── ICipher.as │ │ │ │ │ │ │ ├── IMode.as │ │ │ │ │ │ │ ├── IPad.as │ │ │ │ │ │ │ ├── IStreamCipher.as │ │ │ │ │ │ │ ├── ISymmetricKey.as │ │ │ │ │ │ │ ├── IVMode.as │ │ │ │ │ │ │ ├── NullPad.as │ │ │ │ │ │ │ ├── OFBMode.as │ │ │ │ │ │ │ ├── PKCS5.as │ │ │ │ │ │ │ ├── SSLPad.as │ │ │ │ │ │ │ ├── SimpleIVMode.as │ │ │ │ │ │ │ ├── TLSPad.as │ │ │ │ │ │ │ ├── TripleDESKey.as │ │ │ │ │ │ │ ├── XTeaKey.as │ │ │ │ │ │ │ ├── aeskey.pl │ │ │ │ │ │ │ └── dump.txt │ │ │ │ │ │ ├── tests │ │ │ │ │ │ │ ├── AESKeyTest.as │ │ │ │ │ │ │ ├── ARC4Test.as │ │ │ │ │ │ │ ├── BigIntegerTest.as │ │ │ │ │ │ │ ├── BlowFishKeyTest.as │ │ │ │ │ │ │ ├── CBCModeTest.as │ │ │ │ │ │ │ ├── CFB8ModeTest.as │ │ │ │ │ │ │ ├── CFBModeTest.as │ │ │ │ │ │ │ ├── CTRModeTest.as │ │ │ │ │ │ │ ├── DESKeyTest.as │ │ │ │ │ │ │ ├── ECBModeTest.as │ │ │ │ │ │ │ ├── HMACTest.as │ │ │ │ │ │ │ ├── ITestHarness.as │ │ │ │ │ │ │ ├── MD2Test.as │ │ │ │ │ │ │ ├── MD5Test.as │ │ │ │ │ │ │ ├── OFBModeTest.as │ │ │ │ │ │ │ ├── RSAKeyTest.as │ │ │ │ │ │ │ ├── SHA1Test.as │ │ │ │ │ │ │ ├── SHA224Test.as │ │ │ │ │ │ │ ├── SHA256Test.as │ │ │ │ │ │ │ ├── TLSPRFTest.as │ │ │ │ │ │ │ ├── TestCase.as │ │ │ │ │ │ │ ├── TripleDESKeyTest.as │ │ │ │ │ │ │ └── XTeaKeyTest.as │ │ │ │ │ │ └── tls │ │ │ │ │ │ │ ├── BulkCiphers.as │ │ │ │ │ │ │ ├── CipherSuites.as │ │ │ │ │ │ │ ├── IConnectionState.as │ │ │ │ │ │ │ ├── ISecurityParameters.as │ │ │ │ │ │ │ ├── KeyExchanges.as │ │ │ │ │ │ │ ├── MACs.as │ │ │ │ │ │ │ ├── SSLConnectionState.as │ │ │ │ │ │ │ ├── SSLEvent.as │ │ │ │ │ │ │ ├── SSLSecurityParameters.as │ │ │ │ │ │ │ ├── TLSConfig.as │ │ │ │ │ │ │ ├── TLSConnectionState.as │ │ │ │ │ │ │ ├── TLSEngine.as │ │ │ │ │ │ │ ├── TLSError.as │ │ │ │ │ │ │ ├── TLSEvent.as │ │ │ │ │ │ │ ├── TLSSecurityParameters.as │ │ │ │ │ │ │ ├── TLSSocket.as │ │ │ │ │ │ │ ├── TLSSocketEvent.as │ │ │ │ │ │ │ └── TLSTest.as │ │ │ │ │ │ ├── math │ │ │ │ │ │ ├── BarrettReduction.as │ │ │ │ │ │ ├── BigInteger.as │ │ │ │ │ │ ├── ClassicReduction.as │ │ │ │ │ │ ├── IReduction.as │ │ │ │ │ │ ├── MontgomeryReduction.as │ │ │ │ │ │ ├── NullReduction.as │ │ │ │ │ │ └── bi_internal.as │ │ │ │ │ │ └── util │ │ │ │ │ │ ├── ArrayUtil.as │ │ │ │ │ │ ├── Base64.as │ │ │ │ │ │ ├── Hex.as │ │ │ │ │ │ ├── Memory.as │ │ │ │ │ │ └── der │ │ │ │ │ │ ├── ByteString.as │ │ │ │ │ │ ├── DER.as │ │ │ │ │ │ ├── IAsn1Type.as │ │ │ │ │ │ ├── Integer.as │ │ │ │ │ │ ├── OID.as │ │ │ │ │ │ ├── ObjectIdentifier.as │ │ │ │ │ │ ├── PEM.as │ │ │ │ │ │ ├── PrintableString.as │ │ │ │ │ │ ├── Sequence.as │ │ │ │ │ │ ├── Set.as │ │ │ │ │ │ ├── Type.as │ │ │ │ │ │ └── UTCTime.as │ │ │ │ │ ├── sample.html │ │ │ │ │ ├── swfobject.js │ │ │ │ │ └── web_socket.js │ │ │ │ ├── node_modules │ │ │ │ ├── .bin │ │ │ │ │ ├── uglifyjs │ │ │ │ │ └── wscat │ │ │ │ ├── active-x-obfuscator │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ └── zeparser │ │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README │ │ │ │ │ │ │ ├── Tokenizer.js │ │ │ │ │ │ │ ├── ZeParser.js │ │ │ │ │ │ │ ├── benchmark.html │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── package (halo's conflicted copy 2014-03-15).json │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ ├── test-parser.html │ │ │ │ │ │ │ ├── test-tokenizer.html │ │ │ │ │ │ │ ├── tests.js │ │ │ │ │ │ │ └── unicodecategories.js │ │ │ │ │ ├── package (halo's conflicted copy 2014-03-15).json │ │ │ │ │ ├── package.json │ │ │ │ │ └── test.js │ │ │ │ ├── uglify-js │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── README.html │ │ │ │ │ ├── README.org │ │ │ │ │ ├── bin │ │ │ │ │ │ └── uglifyjs │ │ │ │ │ ├── docstyle.css │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── object-ast.js │ │ │ │ │ │ ├── parse-js.js │ │ │ │ │ │ ├── process.js │ │ │ │ │ │ └── squeeze-more.js │ │ │ │ │ ├── package (halo's conflicted copy 2014-03-15).json │ │ │ │ │ ├── package.json │ │ │ │ │ ├── test │ │ │ │ │ │ ├── beautify.js │ │ │ │ │ │ ├── testparser.js │ │ │ │ │ │ └── unit │ │ │ │ │ │ │ ├── compress │ │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ │ ├── array1.js │ │ │ │ │ │ │ │ ├── array2.js │ │ │ │ │ │ │ │ ├── array3.js │ │ │ │ │ │ │ │ ├── array4.js │ │ │ │ │ │ │ │ ├── assignment.js │ │ │ │ │ │ │ │ ├── concatstring.js │ │ │ │ │ │ │ │ ├── const.js │ │ │ │ │ │ │ │ ├── empty-blocks.js │ │ │ │ │ │ │ │ ├── forstatement.js │ │ │ │ │ │ │ │ ├── if.js │ │ │ │ │ │ │ │ ├── ifreturn.js │ │ │ │ │ │ │ │ ├── ifreturn2.js │ │ │ │ │ │ │ │ ├── issue10.js │ │ │ │ │ │ │ │ ├── issue11.js │ │ │ │ │ │ │ │ ├── issue13.js │ │ │ │ │ │ │ │ ├── issue14.js │ │ │ │ │ │ │ │ ├── issue16.js │ │ │ │ │ │ │ │ ├── issue17.js │ │ │ │ │ │ │ │ ├── issue20.js │ │ │ │ │ │ │ │ ├── issue21.js │ │ │ │ │ │ │ │ ├── issue25.js │ │ │ │ │ │ │ │ ├── issue27.js │ │ │ │ │ │ │ │ ├── issue278.js │ │ │ │ │ │ │ │ ├── issue28.js │ │ │ │ │ │ │ │ ├── issue29.js │ │ │ │ │ │ │ │ ├── issue30.js │ │ │ │ │ │ │ │ ├── issue34.js │ │ │ │ │ │ │ │ ├── issue4.js │ │ │ │ │ │ │ │ ├── issue48.js │ │ │ │ │ │ │ │ ├── issue50.js │ │ │ │ │ │ │ │ ├── issue53.js │ │ │ │ │ │ │ │ ├── issue54.1.js │ │ │ │ │ │ │ │ ├── issue68.js │ │ │ │ │ │ │ │ ├── issue69.js │ │ │ │ │ │ │ │ ├── issue9.js │ │ │ │ │ │ │ │ ├── mangle.js │ │ │ │ │ │ │ │ ├── null_string.js │ │ │ │ │ │ │ │ ├── strict-equals.js │ │ │ │ │ │ │ │ ├── var.js │ │ │ │ │ │ │ │ ├── whitespace.js │ │ │ │ │ │ │ │ └── with.js │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ ├── array1.js │ │ │ │ │ │ │ │ ├── array2.js │ │ │ │ │ │ │ │ ├── array3.js │ │ │ │ │ │ │ │ ├── array4.js │ │ │ │ │ │ │ │ ├── assignment.js │ │ │ │ │ │ │ │ ├── concatstring.js │ │ │ │ │ │ │ │ ├── const.js │ │ │ │ │ │ │ │ ├── empty-blocks.js │ │ │ │ │ │ │ │ ├── forstatement.js │ │ │ │ │ │ │ │ ├── if.js │ │ │ │ │ │ │ │ ├── ifreturn.js │ │ │ │ │ │ │ │ ├── ifreturn2.js │ │ │ │ │ │ │ │ ├── issue10.js │ │ │ │ │ │ │ │ ├── issue11.js │ │ │ │ │ │ │ │ ├── issue13.js │ │ │ │ │ │ │ │ ├── issue14.js │ │ │ │ │ │ │ │ ├── issue16.js │ │ │ │ │ │ │ │ ├── issue17.js │ │ │ │ │ │ │ │ ├── issue20.js │ │ │ │ │ │ │ │ ├── issue21.js │ │ │ │ │ │ │ │ ├── issue25.js │ │ │ │ │ │ │ │ ├── issue27.js │ │ │ │ │ │ │ │ ├── issue278.js │ │ │ │ │ │ │ │ ├── issue28.js │ │ │ │ │ │ │ │ ├── issue29.js │ │ │ │ │ │ │ │ ├── issue30.js │ │ │ │ │ │ │ │ ├── issue34.js │ │ │ │ │ │ │ │ ├── issue4.js │ │ │ │ │ │ │ │ ├── issue48.js │ │ │ │ │ │ │ │ ├── issue50.js │ │ │ │ │ │ │ │ ├── issue53.js │ │ │ │ │ │ │ │ ├── issue54.1.js │ │ │ │ │ │ │ │ ├── issue68.js │ │ │ │ │ │ │ │ ├── issue69.js │ │ │ │ │ │ │ │ ├── issue9.js │ │ │ │ │ │ │ │ ├── mangle.js │ │ │ │ │ │ │ │ ├── null_string.js │ │ │ │ │ │ │ │ ├── strict-equals.js │ │ │ │ │ │ │ │ ├── var.js │ │ │ │ │ │ │ │ ├── whitespace.js │ │ │ │ │ │ │ │ └── with.js │ │ │ │ │ │ │ └── scripts.js │ │ │ │ │ ├── tmp │ │ │ │ │ │ ├── 269.js │ │ │ │ │ │ ├── app.js │ │ │ │ │ │ ├── embed-tokens.js │ │ │ │ │ │ ├── goto.js │ │ │ │ │ │ ├── goto2.js │ │ │ │ │ │ ├── hoist.js │ │ │ │ │ │ ├── instrument.js │ │ │ │ │ │ ├── instrument2.js │ │ │ │ │ │ ├── liftvars.js │ │ │ │ │ │ ├── test.js │ │ │ │ │ │ ├── uglify-hangs.js │ │ │ │ │ │ └── uglify-hangs2.js │ │ │ │ │ └── uglify-js.js │ │ │ │ ├── ws │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── History.md │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README.md │ │ │ │ │ ├── bench │ │ │ │ │ │ ├── parser.benchmark.js │ │ │ │ │ │ ├── sender.benchmark.js │ │ │ │ │ │ ├── speed.js │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── bin │ │ │ │ │ │ └── wscat │ │ │ │ │ ├── binding.gyp │ │ │ │ │ ├── build │ │ │ │ │ │ ├── config (halo's conflicted copy 2014-03-15).gypi │ │ │ │ │ │ └── config.gypi │ │ │ │ │ ├── builderror (halo's conflicted copy 2014-03-15).log │ │ │ │ │ ├── builderror.log │ │ │ │ │ ├── doc │ │ │ │ │ │ └── ws.md │ │ │ │ │ ├── examples │ │ │ │ │ │ ├── fileapi │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ ├── public │ │ │ │ │ │ │ │ ├── app.js │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ └── uploader.js │ │ │ │ │ │ │ └── server.js │ │ │ │ │ │ ├── serverstats-express_3 │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ ├── public │ │ │ │ │ │ │ │ └── index.html │ │ │ │ │ │ │ └── server.js │ │ │ │ │ │ ├── serverstats │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ ├── public │ │ │ │ │ │ │ │ └── index.html │ │ │ │ │ │ │ └── server.js │ │ │ │ │ │ └── ssl.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── BufferPool.js │ │ │ │ │ │ ├── BufferUtil.fallback.js │ │ │ │ │ │ ├── BufferUtil.js │ │ │ │ │ │ ├── ErrorCodes.js │ │ │ │ │ │ ├── Receiver.hixie.js │ │ │ │ │ │ ├── Receiver.js │ │ │ │ │ │ ├── Sender.hixie.js │ │ │ │ │ │ ├── Sender.js │ │ │ │ │ │ ├── Validation.fallback.js │ │ │ │ │ │ ├── Validation.js │ │ │ │ │ │ ├── WebSocket.js │ │ │ │ │ │ ├── WebSocketServer.js │ │ │ │ │ │ └── browser.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ ├── commander │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ ├── History.md │ │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ │ ├── Readme.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ └── commander.js │ │ │ │ │ │ │ ├── package (halo's conflicted copy 2014-03-15).json │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── nan │ │ │ │ │ │ │ ├── .index.js │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── nan.h │ │ │ │ │ │ │ ├── package (halo's conflicted copy 2014-03-15).json │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── options │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ └── options.js │ │ │ │ │ │ │ ├── package (halo's conflicted copy 2014-03-15).json │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ ├── fixtures │ │ │ │ │ │ │ │ └── test.conf │ │ │ │ │ │ │ │ └── options.test.js │ │ │ │ │ │ └── tinycolor │ │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── example.js │ │ │ │ │ │ │ ├── package (halo's conflicted copy 2014-03-15).json │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── tinycolor.js │ │ │ │ │ ├── package (halo's conflicted copy 2014-03-15).json │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src │ │ │ │ │ │ ├── bufferutil.cc │ │ │ │ │ │ └── validation.cc │ │ │ │ │ └── test │ │ │ │ │ │ ├── BufferPool.test.js │ │ │ │ │ │ ├── Receiver.hixie.test.js │ │ │ │ │ │ ├── Receiver.test.js │ │ │ │ │ │ ├── Sender.hixie.test.js │ │ │ │ │ │ ├── Sender.test.js │ │ │ │ │ │ ├── Validation.test.js │ │ │ │ │ │ ├── WebSocket.integration.js │ │ │ │ │ │ ├── WebSocket.test.js │ │ │ │ │ │ ├── WebSocketServer.test.js │ │ │ │ │ │ ├── autobahn-server.js │ │ │ │ │ │ ├── autobahn.js │ │ │ │ │ │ ├── fixtures │ │ │ │ │ │ ├── agent1-cert.pem │ │ │ │ │ │ ├── agent1-key.pem │ │ │ │ │ │ ├── ca1-cert.pem │ │ │ │ │ │ ├── ca1-key.pem │ │ │ │ │ │ ├── certificate.pem │ │ │ │ │ │ ├── key.pem │ │ │ │ │ │ ├── request.pem │ │ │ │ │ │ └── textfile │ │ │ │ │ │ ├── hybi-common.js │ │ │ │ │ │ └── testserver.js │ │ │ │ └── xmlhttprequest │ │ │ │ │ ├── README.md │ │ │ │ │ ├── autotest.watchr │ │ │ │ │ ├── example │ │ │ │ │ └── demo.js │ │ │ │ │ ├── lib │ │ │ │ │ └── XMLHttpRequest.js │ │ │ │ │ ├── package (halo's conflicted copy 2014-03-15).json │ │ │ │ │ ├── package.json │ │ │ │ │ └── tests │ │ │ │ │ ├── test-constants.js │ │ │ │ │ ├── test-events.js │ │ │ │ │ ├── test-exceptions.js │ │ │ │ │ ├── test-headers.js │ │ │ │ │ ├── test-request-methods.js │ │ │ │ │ ├── test-request-protocols.js │ │ │ │ │ └── testdata.txt │ │ │ │ ├── package (halo's conflicted copy 2014-03-15).json │ │ │ │ ├── package.json │ │ │ │ └── test │ │ │ │ ├── events.test.js │ │ │ │ ├── io.test.js │ │ │ │ ├── node │ │ │ │ ├── builder.common.js │ │ │ │ └── builder.test.js │ │ │ │ ├── parser.test.js │ │ │ │ ├── socket.test.js │ │ │ │ ├── util.test.js │ │ │ │ └── worker.js │ │ └── package.json │ └── sqlite3 │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── benchmark │ │ ├── insert-transaction.sql │ │ └── insert.js │ │ ├── configure │ │ ├── deps │ │ └── sqlite-autoconf-3070800.tar.gz │ │ ├── examples │ │ └── simple-chaining.js │ │ ├── lib │ │ ├── index.js │ │ ├── sqlite3.js │ │ └── trace.js │ │ ├── package.json │ │ ├── sqlite3.js │ │ ├── src │ │ ├── async.h │ │ ├── database.cc │ │ ├── database.h │ │ ├── macros.h │ │ ├── sqlite3.cc │ │ ├── statement.cc │ │ └── statement.h │ │ ├── test │ │ ├── affected.test.js │ │ ├── blob.test.js │ │ ├── cache.test.js │ │ ├── constants.test.js │ │ ├── database_fail.test.js │ │ ├── each.test.js │ │ ├── exec.test.js │ │ ├── extension.test.js │ │ ├── map.test.js │ │ ├── named_columns.test.js │ │ ├── named_params.test.js │ │ ├── null_error.test.js │ │ ├── open_close.test.js │ │ ├── other_objects.test.js │ │ ├── parallel_insert.test.js │ │ ├── prepare.test.js │ │ ├── profile.test.js │ │ ├── rerun.test.js │ │ ├── scheduling.test.js │ │ ├── serialization.test.js │ │ ├── support │ │ │ ├── createdb.js │ │ │ ├── elmo.png │ │ │ ├── helper.js │ │ │ ├── prepare.db │ │ │ └── script.sql │ │ ├── trace.test.js │ │ └── unicode.test.js │ │ └── wscript └── server.js ├── sounds ├── countdown.mp3 ├── end.mp3 ├── end2.mp3 ├── flamingo.mp3 ├── hit1.mp3 ├── hit2.mp3 ├── parrot1.mp3 ├── parrot2.mp3 ├── reload.mp3 ├── shot.mp3 ├── start.mp3 └── zoom.wav └── textures ├── .DS_Store ├── cloud.png ├── dirt-512.jpg ├── feather.png ├── feather2.png ├── gold.jpg ├── gold.png ├── grass-512.jpg ├── grass.jpg ├── grass.png ├── grass2.jpg ├── grass3.jpg ├── grass_1.png ├── grass_2.png ├── grass_3.png ├── grass_4.png ├── grass_5.jpg ├── grass_6.png ├── grass_flowers.jpg ├── grass_n1.png ├── heightmap.png ├── leaf1.png ├── leaf_snow3.jpg ├── leaves2.png ├── leaveseamless.jpg ├── raindrop2flip.png ├── rock-512.jpg ├── rock_1.jpg ├── rock_2.jpg ├── rock_3.jpg ├── rock_4.jpg ├── rock_6.jpg ├── rock_7.jpg ├── rock_n1.jpg ├── rocks.jpg ├── sand-512.jpg ├── sand.jpg ├── sand.png ├── sand1.png ├── sand2.png ├── smokeparticle.png ├── snow-512.jpg ├── snow2-512.jpg ├── snow3-512.jpg ├── snowflake.png ├── star.png ├── water.jpg ├── water1.jpg ├── water2.jpg ├── water3.png ├── water4.jpg ├── wood-texture-green-leaves-ipad-free-1597460.jpg └── wood1.jpg /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Magnus 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ParrotHunt 2 | Play the game here: http://parrothunt.nergal.se 3 | 4 | ## Description 5 | ParrotHunt is a ThreeJS WebGL game with a retro "Duck Hunt" feeling (remember the old NES 8-bit game?) 6 | 7 | *The code has NOT been polished and is provided "as is". There are a lot of code that are redundant and there are tons of improvements that can be made.* 8 | 9 | I haven't had time to create some description of the code layout but if you have any questions, feel free to contact me (nergal@nergal.se). 10 | 11 | ## Testing 12 | 13 | Install nodejs and run *"cd server; nodejs server.js"*. Then point your browser to *http://localhost:8080* 14 | 15 | ## Screenshot 16 | ![alt tag](https://raw.github.com/lallassu/ParrotHunt/master/promo.png) 17 | 18 | -------------------------------------------------------------------------------- /css/bullet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/css/bullet.png -------------------------------------------------------------------------------- /css/crosshair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/css/crosshair.png -------------------------------------------------------------------------------- /css/crosshair2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/css/crosshair2.png -------------------------------------------------------------------------------- /css/crosshair3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/css/crosshair3.png -------------------------------------------------------------------------------- /css/duck_alive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/css/duck_alive.png -------------------------------------------------------------------------------- /css/duck_dead.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/css/duck_dead.png -------------------------------------------------------------------------------- /css/points_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/css/points_bg.png -------------------------------------------------------------------------------- /fonts/8bit.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/fonts/8bit.ttf -------------------------------------------------------------------------------- /fonts/duckhunt.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/fonts/duckhunt.ttf -------------------------------------------------------------------------------- /libs/ExplodeModifier.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Make all faces use unique vertices 3 | * so that each face can be separated from others 4 | * 5 | * @author alteredq / http://alteredqualia.com/ 6 | */ 7 | 8 | THREE.ExplodeModifier = function () { 9 | 10 | }; 11 | 12 | THREE.ExplodeModifier.prototype.modify = function ( geometry ) { 13 | 14 | var vertices = []; 15 | 16 | for ( var i = 0, il = geometry.faces.length; i < il; i ++ ) { 17 | 18 | var n = vertices.length; 19 | 20 | var face = geometry.faces[ i ]; 21 | 22 | var a = face.a; 23 | var b = face.b; 24 | var c = face.c; 25 | 26 | var va = geometry.vertices[ a ]; 27 | var vb = geometry.vertices[ b ]; 28 | var vc = geometry.vertices[ c ]; 29 | 30 | vertices.push( va.clone() ); 31 | vertices.push( vb.clone() ); 32 | vertices.push( vc.clone() ); 33 | 34 | face.a = n; 35 | face.b = n + 1; 36 | face.c = n + 2; 37 | 38 | } 39 | 40 | geometry.vertices = vertices; 41 | delete geometry.__tmpVertices; 42 | 43 | } 44 | -------------------------------------------------------------------------------- /libs/THREEx.WindowResize.js: -------------------------------------------------------------------------------- 1 | // This THREEx helper makes it easy to handle window resize. 2 | // It will update renderer and camera when window is resized. 3 | // 4 | // # Usage 5 | // 6 | // **Step 1**: Start updating renderer and camera 7 | // 8 | // ```var windowResize = THREEx.WindowResize(aRenderer, aCamera)``` 9 | // 10 | // **Step 2**: Start updating renderer and camera 11 | // 12 | // ```windowResize.stop()``` 13 | // # Code 14 | 15 | // 16 | 17 | /** @namespace */ 18 | var THREEx = THREEx || {}; 19 | 20 | /** 21 | * Update renderer and camera when the window is resized 22 | * 23 | * @param {Object} renderer the renderer to update 24 | * @param {Object} Camera the camera to update 25 | */ 26 | THREEx.WindowResize = function(renderer, camera){ 27 | var callback = function(){ 28 | // notify the renderer of the size change 29 | renderer.setSize( window.innerWidth, window.innerHeight ); 30 | // update the camera 31 | camera.aspect = window.innerWidth / window.innerHeight; 32 | camera.updateProjectionMatrix(); 33 | } 34 | // bind the resize event 35 | window.addEventListener('resize', callback, false); 36 | // return .stop() the function to stop watching window resize 37 | return { 38 | /** 39 | * Stop watching window resize 40 | */ 41 | stop : function(){ 42 | window.removeEventListener('resize', callback); 43 | } 44 | }; 45 | } 46 | -------------------------------------------------------------------------------- /models/Flower/Flower Image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/Flower/Flower Image.jpg -------------------------------------------------------------------------------- /models/Flower/Flower.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/Flower/Flower.blend -------------------------------------------------------------------------------- /models/Flower/Flower.mtl: -------------------------------------------------------------------------------- 1 | # Blender3D MTL File: Flower.blend 2 | # Material Count: 1 3 | newmtl RefRep.226_Flower_Texture.png 4 | Ns 96.078431 5 | Ka 0.000000 0.000000 0.000000 6 | Kd 0.558431 0.558431 0.558431 7 | Ks 0.500000 0.500000 0.500000 8 | Ni 1.000000 9 | d 1.000000 10 | illum 2 11 | map_Kd FlowerTexture.png 12 | 13 | 14 | -------------------------------------------------------------------------------- /models/Flower/Flower2.mtl: -------------------------------------------------------------------------------- 1 | # Blender3D MTL File: Flower.blend 2 | # Material Count: 1 3 | newmtl RefRep.226_Flower_Texture.png 4 | Ns 96.078431 5 | Ka 0.000000 0.000000 0.000000 6 | Kd 0.558431 0.558431 0.558431 7 | Ks 0.500000 0.500000 0.500000 8 | Ni 1.000000 9 | d 1.000000 10 | illum 2 11 | map_Kd FlowerTexture2.png 12 | 13 | 14 | -------------------------------------------------------------------------------- /models/Flower/Flower3.mtl: -------------------------------------------------------------------------------- 1 | # Blender3D MTL File: Flower.blend 2 | # Material Count: 1 3 | newmtl RefRep.226_Flower_Texture.png 4 | Ns 96.078431 5 | Ka 0.000000 0.000000 0.000000 6 | Kd 0.558431 0.558431 0.558431 7 | Ks 0.500000 0.500000 0.500000 8 | Ni 1.000000 9 | d 1.000000 10 | illum 2 11 | map_Kd FlowerTexture3.png 12 | 13 | 14 | -------------------------------------------------------------------------------- /models/Flower/FlowerTexture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/Flower/FlowerTexture.png -------------------------------------------------------------------------------- /models/Flower/FlowerTexture2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/Flower/FlowerTexture2.png -------------------------------------------------------------------------------- /models/Flower/FlowerTexture3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/Flower/FlowerTexture3.png -------------------------------------------------------------------------------- /models/Flower/Texture/Flower Texture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/Flower/Texture/Flower Texture.png -------------------------------------------------------------------------------- /models/Flower/test/Flower.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl RefRep.226_Flower_Texture.png 5 | Ns 92.156863 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.498179 0.498179 0.498179 8 | Ks 0.046961 0.039989 0.042142 9 | Ni 1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd FlowerTexture.png 13 | -------------------------------------------------------------------------------- /models/Flower/test/Flower2.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl RefRep.226_Flower_Texture.png 5 | Ns 92.156863 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.498179 0.498179 0.498179 8 | Ks 0.046961 0.039989 0.042142 9 | Ni 1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd FlowerTexture2.png 13 | -------------------------------------------------------------------------------- /models/Flower/test/Flower3.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl RefRep.226_Flower_Texture.png 5 | Ns 92.156863 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.498179 0.498179 0.498179 8 | Ks 0.046961 0.039989 0.042142 9 | Ni 1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd FlowerTexture3.png 13 | -------------------------------------------------------------------------------- /models/Flower/test/FlowerTexture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/Flower/test/FlowerTexture.png -------------------------------------------------------------------------------- /models/Flower/test/FlowerTexture2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/Flower/test/FlowerTexture2.png -------------------------------------------------------------------------------- /models/Flower/test/FlowerTexture3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/Flower/test/FlowerTexture3.png -------------------------------------------------------------------------------- /models/palm/CyclesPalmTrees.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/palm/CyclesPalmTrees.blend -------------------------------------------------------------------------------- /models/palm/PalmFrondAlpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/palm/PalmFrondAlpha.png -------------------------------------------------------------------------------- /models/palm/PalmFrondDiffuse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/palm/PalmFrondDiffuse.png -------------------------------------------------------------------------------- /models/small_palm/fishtail_palm_01_diffuse.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/small_palm/fishtail_palm_01_diffuse.dds -------------------------------------------------------------------------------- /models/small_palm/fishtail_palm_01_normal.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/small_palm/fishtail_palm_01_normal.dds -------------------------------------------------------------------------------- /models/small_palm/fishtail_palm_01_small_a.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/small_palm/fishtail_palm_01_small_a.blend -------------------------------------------------------------------------------- /models/small_palm/fishtail_palm_01_specular.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/small_palm/fishtail_palm_01_specular.dds -------------------------------------------------------------------------------- /models/small_palm/fishtailpalm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/small_palm/fishtailpalm.png -------------------------------------------------------------------------------- /models/small_palm/fishtailpalm_source.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/small_palm/fishtailpalm_source.blend -------------------------------------------------------------------------------- /models/watch_tower/4dbadabe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/watch_tower/4dbadabe.png -------------------------------------------------------------------------------- /models/watch_tower/4dbadabe.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/watch_tower/4dbadabe.tif -------------------------------------------------------------------------------- /models/watch_tower/80a931fc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/watch_tower/80a931fc.png -------------------------------------------------------------------------------- /models/watch_tower/b3a28056.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/watch_tower/b3a28056.png -------------------------------------------------------------------------------- /models/watch_tower/b8ceeef9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/watch_tower/b8ceeef9.png -------------------------------------------------------------------------------- /models/watch_tower2/4dbadabe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/watch_tower2/4dbadabe.png -------------------------------------------------------------------------------- /models/watch_tower2/4dbadabe.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/watch_tower2/4dbadabe.tif -------------------------------------------------------------------------------- /models/watch_tower2/80a931fc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/watch_tower2/80a931fc.png -------------------------------------------------------------------------------- /models/watch_tower2/b3a28056.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/watch_tower2/b3a28056.png -------------------------------------------------------------------------------- /models/watch_tower2/b8ceeef9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/models/watch_tower2/b8ceeef9.png -------------------------------------------------------------------------------- /promo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/promo.png -------------------------------------------------------------------------------- /server/database.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/server/database.db -------------------------------------------------------------------------------- /server/node_modules/dblite/.npmignore: -------------------------------------------------------------------------------- 1 | src/* 2 | test/* 3 | benchmark/* 4 | template/* 5 | node_modules/* 6 | build/*.amd.js 7 | Makefile 8 | index.html 9 | .gitignore 10 | .travis.yml -------------------------------------------------------------------------------- /server/node_modules/dblite/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 2013 by WebReflection 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | 5 | notifications: 6 | irc: "irc.freenode.org#socket.io" 7 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2011 Guillermo Rauch 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/Makefile: -------------------------------------------------------------------------------- 1 | 2 | ALL_TESTS = $(shell find test/ -name '*.test.js') 3 | ALL_BENCH = $(shell find benchmarks -name '*.bench.js') 4 | 5 | run-tests: 6 | @./node_modules/.bin/expresso \ 7 | -t 3000 \ 8 | -I support \ 9 | --serial \ 10 | $(TESTFLAGS) \ 11 | $(TESTS) 12 | 13 | test: 14 | @$(MAKE) NODE_PATH=lib TESTS="$(ALL_TESTS)" run-tests 15 | 16 | test-cov: 17 | @TESTFLAGS=--cov $(MAKE) test 18 | 19 | test-leaks: 20 | @ls test/leaks/* | xargs node --expose_debug_as=debug --expose_gc 21 | 22 | run-bench: 23 | @node $(PROFILEFLAGS) benchmarks/runner.js 24 | 25 | bench: 26 | @$(MAKE) BENCHMARKS="$(ALL_BENCH)" run-bench 27 | 28 | profile: 29 | @PROFILEFLAGS='--prof --trace-opt --trace-bailout --trace-deopt' $(MAKE) bench 30 | 31 | .PHONY: test bench profile 32 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/index.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * socket.io-node 4 | * Copyright(c) 2011 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | module.exports = require('./lib/socket.io'); 9 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/lib/transports/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Export transports. 4 | */ 5 | 6 | module.exports = { 7 | websocket: require('./websocket') 8 | , flashsocket: require('./flashsocket') 9 | , htmlfile: require('./htmlfile') 10 | , 'xhr-polling': require('./xhr-polling') 11 | , 'jsonp-polling': require('./jsonp-polling') 12 | }; 13 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/lib/transports/websocket.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * socket.io-node 4 | * Copyright(c) 2011 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module requirements. 10 | */ 11 | 12 | var protocolVersions = require('./websocket/'); 13 | 14 | /** 15 | * Export the constructor. 16 | */ 17 | 18 | exports = module.exports = WebSocket; 19 | 20 | /** 21 | * HTTP interface constructor. Interface compatible with all transports that 22 | * depend on request-response cycles. 23 | * 24 | * @api public 25 | */ 26 | 27 | function WebSocket (mng, data, req) { 28 | var transport 29 | , version = req.headers['sec-websocket-version']; 30 | if (typeof version !== 'undefined' && typeof protocolVersions[version] !== 'undefined') { 31 | transport = new protocolVersions[version](mng, data, req); 32 | } 33 | else transport = new protocolVersions['default'](mng, data, req); 34 | if (typeof this.name !== 'undefined') transport.name = this.name; 35 | return transport; 36 | }; 37 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/lib/transports/websocket/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Export websocket versions. 4 | */ 5 | 6 | module.exports = { 7 | 7: require('./hybi-07-12'), 8 | 8: require('./hybi-07-12'), 9 | 13: require('./hybi-16'), 10 | default: require('./default') 11 | }; 12 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/lib/util.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * socket.io-node 4 | * Copyright(c) 2011 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | /** 13 | * Converts an enumerable to an array. 14 | * 15 | * @api public 16 | */ 17 | 18 | exports.toArray = function (enu) { 19 | var arr = []; 20 | 21 | for (var i = 0, l = enu.length; i < l; i++) 22 | arr.push(enu[i]); 23 | 24 | return arr; 25 | }; 26 | 27 | /** 28 | * Unpacks a buffer to a number. 29 | * 30 | * @api public 31 | */ 32 | 33 | exports.unpack = function (buffer) { 34 | var n = 0; 35 | for (var i = 0; i < buffer.length; ++i) { 36 | n = (i == 0) ? buffer[i] : (n * 256) + buffer[i]; 37 | } 38 | return n; 39 | } 40 | 41 | /** 42 | * Left pads a string. 43 | * 44 | * @api public 45 | */ 46 | 47 | exports.padl = function (s,n,c) { 48 | return new Array(1 + n - s.length).join(c) + s; 49 | } 50 | 51 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/base64id/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/base64id/README.md: -------------------------------------------------------------------------------- 1 | base64id 2 | ======== 3 | 4 | Node.js module that generates a base64 id. 5 | 6 | Uses crypto.randomBytes when available, falls back to unsafe methods for node.js <= 0.4. 7 | 8 | To increase performance, random bytes are buffered to minimize the number of synchronous calls to crypto.randomBytes. 9 | 10 | ## Installation 11 | 12 | $ npm install mongoose 13 | 14 | ## Usage 15 | 16 | var base64id = require('base64id'); 17 | 18 | var id = base64id.generateId(); 19 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/base64id/package (halo's conflicted copy 2014-03-15).json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "base64id", 3 | "version": "0.1.0", 4 | "description": "Generates a base64 id", 5 | "author": { 6 | "name": "Kristian Faeldt", 7 | "email": "faeldt_kristian@cyberagent.co.jp" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/faeldt/base64id.git" 12 | }, 13 | "main": "./lib/base64id.js", 14 | "engines": { 15 | "node": ">= 0.4.0" 16 | }, 17 | "readme": "base64id\n========\n\nNode.js module that generates a base64 id.\n\nUses crypto.randomBytes when available, falls back to unsafe methods for node.js <= 0.4.\n\nTo increase performance, random bytes are buffered to minimize the number of synchronous calls to crypto.randomBytes.\n\n## Installation\n\n $ npm install mongoose\n\n## Usage\n\n var base64id = require('base64id');\n\n var id = base64id.generateId();\n", 18 | "readmeFilename": "README.md", 19 | "_id": "base64id@0.1.0", 20 | "dist": { 21 | "shasum": "27063de8377a138dbb27c62935fc15c7e7bf8ae3" 22 | }, 23 | "_from": "base64id@0.1.0", 24 | "_resolved": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz" 25 | } 26 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/base64id/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "base64id" 3 | , "version": "0.1.0" 4 | , "description": "Generates a base64 id" 5 | , "author": "Kristian Faeldt " 6 | , "repository": { 7 | "type": "git" 8 | , "url": "https://github.com/faeldt/base64id.git" 9 | } 10 | , "main": "./lib/base64id.js" 11 | , "engines": { "node": ">= 0.4.0" } 12 | } 13 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/policyfile/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/policyfile/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/policyfile/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Arnout Kazemier,3rd-Eden 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/policyfile/Makefile: -------------------------------------------------------------------------------- 1 | doc: 2 | dox --title "FlashPolicyFileServer" lib/* > doc/index.html 3 | 4 | test: 5 | expresso -I lib $(TESTFLAGS) tests/*.test.js 6 | 7 | .PHONY: test doc -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/policyfile/examples/basic.fallback.js: -------------------------------------------------------------------------------- 1 | var http = require('http') 2 | , fspfs = require('../'); 3 | 4 | var server = http.createServer(function(q,r){ r.writeHead(200); r.end(':3') }) 5 | , flash = fspfs.createServer(); 6 | 7 | server.listen(8080); 8 | flash.listen(8081,server); -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/policyfile/examples/basic.js: -------------------------------------------------------------------------------- 1 | var http = require('http') 2 | , fspfs = require('../'); 3 | 4 | var flash = fspfs.createServer(); 5 | flash.listen(); -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/policyfile/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/server.js'); -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/policyfile/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "policyfile" 3 | , "version": "0.0.4" 4 | , "author": "Arnout Kazemier" 5 | , "description": "Flash Socket Policy File Server. A server to respond to Flash Socket Policy requests, both inline and through a dedicated server instance." 6 | , "main": "index" 7 | , "keywords":[ 8 | "flash" 9 | , "socket" 10 | , "policy" 11 | , "file" 12 | , "server" 13 | , "Flash Socket Policy File Server" 14 | , "cross domain" 15 | ] 16 | , "directories": { 17 | "lib": "./lib" 18 | } 19 | , "maintainers": [{ 20 | "name":"Arnout Kazemier" 21 | , "email":"info@3rd-Eden.com" 22 | , "web":"http://blog.3rd-Eden.com" 23 | }] 24 | , "licenses": [{ 25 | "type": "MIT" 26 | , "url": "https://github.com/3rd-Eden/FlashPolicyFileServer/blob/master/LICENSE" 27 | }] 28 | , "repositories": [{ 29 | "type": "git" 30 | , "url" : "https://github.com/3rd-Eden/FlashPolicyFileServer.git" 31 | }] 32 | } 33 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/policyfile/tests/ssl/ssl.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDXTCCAkWgAwIBAgIJAMUSOvlaeyQHMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV 3 | BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX 4 | aWRnaXRzIFB0eSBMdGQwHhcNMTAxMTE2MDkzMjQ5WhcNMTMxMTE1MDkzMjQ5WjBF 5 | MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50 6 | ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB 7 | CgKCAQEAz+LXZOjcQCJq3+ZKUFabj71oo/ex/XsBcFqtBThjjTw9CVEVwfPQQp4X 8 | wtPiB204vnYXwQ1/R2NdTQqCZu47l79LssL/u2a5Y9+0NEU3nQA5qdt+1FAE0c5o 9 | exPimXOrR3GWfKz7PmZ2O0117IeCUUXPG5U8umhDe/4mDF4ZNJiKc404WthquTqg 10 | S7rLQZHhZ6D0EnGnOkzlmxJMYPNHSOY1/6ivdNUUcC87awNEA3lgfhy25IyBK3QJ 11 | c+aYKNTbt70Lery3bu2wWLFGtmNiGlQTS4JsxImRsECTI727ObS7/FWAQsqW+COL 12 | 0Sa5BuMFrFIpjPrEe0ih7vRRbdmXRwIDAQABo1AwTjAdBgNVHQ4EFgQUDnV4d6mD 13 | tOnluLoCjkUHTX/n4agwHwYDVR0jBBgwFoAUDnV4d6mDtOnluLoCjkUHTX/n4agw 14 | DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAFwV4MQfTo+qMv9JMiyno 15 | IEiqfOz4RgtmBqRnXUffcjS2dhc7/z+FPZnM79Kej8eLHoVfxCyWRHFlzm93vEdv 16 | wxOCrD13EDOi08OOZfxWyIlCa6Bg8cMAKqQzd2OvQOWqlRWBTThBJIhWflU33izX 17 | Qn5GdmYqhfpc+9ZHHGhvXNydtRQkdxVK2dZNzLBvBlLlRmtoClU7xm3A+/5dddeP 18 | AQHEPtyFlUw49VYtZ3ru6KqPms7MKvcRhYLsy9rwSfuuniMlx4d0bDR7TOkw0QQS 19 | A0N8MGQRQpzl4mw4jLzyM5d5QtuGBh2P6hPGa0YQxtI3RPT/p6ENzzBiAKXiSfzo 20 | xw== 21 | -----END CERTIFICATE----- 22 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/benches/hiredis_parser.js: -------------------------------------------------------------------------------- 1 | var Parser = require('../lib/parser/hiredis').Parser; 2 | var assert = require('assert'); 3 | 4 | /* 5 | This test makes sure that exceptions thrown inside of "reply" event handlers 6 | are not trapped and mistakenly emitted as parse errors. 7 | */ 8 | (function testExecuteDoesNotCatchReplyCallbackExceptions() { 9 | var parser = new Parser(); 10 | var replies = [{}]; 11 | 12 | parser.reader = { 13 | feed: function() {}, 14 | get: function() { 15 | return replies.shift(); 16 | } 17 | }; 18 | 19 | var emittedError = false; 20 | var caughtException = false; 21 | 22 | parser 23 | .on('error', function() { 24 | emittedError = true; 25 | }) 26 | .on('reply', function() { 27 | throw new Error('bad'); 28 | }); 29 | 30 | try { 31 | parser.execute(); 32 | } catch (err) { 33 | caughtException = true; 34 | } 35 | 36 | assert.equal(caughtException, true); 37 | assert.equal(emittedError, false); 38 | })(); 39 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/benches/re_sub_test.js: -------------------------------------------------------------------------------- 1 | var client = require('../index').createClient() 2 | , client2 = require('../index').createClient() 3 | , assert = require('assert'); 4 | 5 | client.once('subscribe', function (channel, count) { 6 | client.unsubscribe('x'); 7 | client.subscribe('x', function () { 8 | client.quit(); 9 | client2.quit(); 10 | }); 11 | client2.publish('x', 'hi'); 12 | }); 13 | 14 | client.subscribe('x'); 15 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/benches/reconnect_test.js: -------------------------------------------------------------------------------- 1 | var redis = require("../index").createClient(null, null, { 2 | // max_attempts: 4 3 | }); 4 | 5 | redis.on("error", function (err) { 6 | console.log("Redis says: " + err); 7 | }); 8 | 9 | redis.on("ready", function () { 10 | console.log("Redis ready."); 11 | }); 12 | 13 | redis.on("reconnecting", function (arg) { 14 | console.log("Redis reconnecting: " + JSON.stringify(arg)); 15 | }); 16 | redis.on("connect", function () { 17 | console.log("Redis connected."); 18 | }); 19 | 20 | setInterval(function () { 21 | var now = Date.now(); 22 | redis.set("now", now, function (err, res) { 23 | if (err) { 24 | console.log(now + " Redis reply error: " + err); 25 | } else { 26 | console.log(now + " Redis reply: " + res); 27 | } 28 | }); 29 | }, 100); 30 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/benches/stress/codec.js: -------------------------------------------------------------------------------- 1 | var json = { 2 | encode: JSON.stringify, 3 | decode: JSON.parse 4 | }; 5 | 6 | var MsgPack = require('node-msgpack'); 7 | msgpack = { 8 | encode: MsgPack.pack, 9 | decode: function(str) { return MsgPack.unpack(new Buffer(str)); } 10 | }; 11 | 12 | bison = require('bison'); 13 | 14 | module.exports = json; 15 | //module.exports = msgpack; 16 | //module.exports = bison; 17 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/benches/stress/pubsub/pub.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var freemem = require('os').freemem; 4 | var profiler = require('v8-profiler'); 5 | var codec = require('../codec'); 6 | 7 | var sent = 0; 8 | 9 | var pub = require('redis').createClient(null, null, { 10 | //command_queue_high_water: 5, 11 | //command_queue_low_water: 1 12 | }) 13 | .on('ready', function() { 14 | this.emit('drain'); 15 | }) 16 | .on('drain', function() { 17 | process.nextTick(exec); 18 | }); 19 | 20 | var payload = '1'; for (var i = 0; i < 12; ++i) payload += payload; 21 | console.log('Message payload length', payload.length); 22 | 23 | function exec() { 24 | pub.publish('timeline', codec.encode({ foo: payload })); 25 | ++sent; 26 | if (!pub.should_buffer) { 27 | process.nextTick(exec); 28 | } 29 | } 30 | 31 | profiler.takeSnapshot('s_0'); 32 | 33 | exec(); 34 | 35 | setInterval(function() { 36 | profiler.takeSnapshot('s_' + sent); 37 | console.error('sent', sent, 'free', freemem(), 'cmdqlen', pub.command_queue.length, 'offqlen', pub.offline_queue.length); 38 | }, 2000); 39 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/benches/stress/pubsub/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | node server.js & 3 | node server.js & 4 | node server.js & 5 | node server.js & 6 | node server.js & 7 | node server.js & 8 | node server.js & 9 | node server.js & 10 | node --debug pub.js 11 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/benches/stress/pubsub/server.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var freemem = require('os').freemem; 4 | var codec = require('../codec'); 5 | 6 | var id = Math.random(); 7 | var recv = 0; 8 | 9 | var sub = require('redis').createClient() 10 | .on('ready', function() { 11 | this.subscribe('timeline'); 12 | }) 13 | .on('message', function(channel, message) { 14 | var self = this; 15 | if (message) { 16 | message = codec.decode(message); 17 | ++recv; 18 | } 19 | }); 20 | 21 | setInterval(function() { 22 | console.error('id', id, 'received', recv, 'free', freemem()); 23 | }, 2000); 24 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/benches/stress/rpushblpop/pub.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var freemem = require('os').freemem; 4 | //var profiler = require('v8-profiler'); 5 | var codec = require('../codec'); 6 | 7 | var sent = 0; 8 | 9 | var pub = require('redis').createClient(null, null, { 10 | //command_queue_high_water: 5, 11 | //command_queue_low_water: 1 12 | }) 13 | .on('ready', function() { 14 | this.del('timeline'); 15 | this.emit('drain'); 16 | }) 17 | .on('drain', function() { 18 | process.nextTick(exec); 19 | }); 20 | 21 | var payload = '1'; for (var i = 0; i < 12; ++i) payload += payload; 22 | console.log('Message payload length', payload.length); 23 | 24 | function exec() { 25 | pub.rpush('timeline', codec.encode({ foo: payload })); 26 | ++sent; 27 | if (!pub.should_buffer) { 28 | process.nextTick(exec); 29 | } 30 | } 31 | 32 | //profiler.takeSnapshot('s_0'); 33 | 34 | exec(); 35 | 36 | setInterval(function() { 37 | //var ss = profiler.takeSnapshot('s_' + sent); 38 | //console.error(ss.stringify()); 39 | pub.llen('timeline', function(err, result) { 40 | console.error('sent', sent, 'free', freemem(), 41 | 'cmdqlen', pub.command_queue.length, 'offqlen', pub.offline_queue.length, 42 | 'llen', result 43 | ); 44 | }); 45 | }, 2000); 46 | 47 | /*setTimeout(function() { 48 | process.exit(); 49 | }, 30000);*/ 50 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/benches/stress/rpushblpop/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | node server.js & 3 | #node server.js & 4 | #node server.js & 5 | #node server.js & 6 | node --debug pub.js 7 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/benches/stress/rpushblpop/server.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var freemem = require('os').freemem; 4 | var codec = require('../codec'); 5 | 6 | var id = Math.random(); 7 | var recv = 0; 8 | 9 | var cmd = require('redis').createClient(); 10 | var sub = require('redis').createClient() 11 | .on('ready', function() { 12 | this.emit('timeline'); 13 | }) 14 | .on('timeline', function() { 15 | var self = this; 16 | this.blpop('timeline', 0, function(err, result) { 17 | var message = result[1]; 18 | if (message) { 19 | message = codec.decode(message); 20 | ++recv; 21 | } 22 | self.emit('timeline'); 23 | }); 24 | }); 25 | 26 | setInterval(function() { 27 | cmd.llen('timeline', function(err, result) { 28 | console.error('id', id, 'received', recv, 'free', freemem(), 'llen', result); 29 | }); 30 | }, 2000); 31 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/benches/stress/speed/00: -------------------------------------------------------------------------------- 1 | # size JSON msgpack bison 2 | 26602 2151.0170848180414 3 | 25542 ? 2842.589272665782 4 | 24835 ? ? 7280.4538397469805 5 | 6104 6985.234528557929 6 | 5045 ? 7217.461392841478 7 | 4341 ? ? 14261.406335354604 8 | 4180 15864.633685636572 9 | 4143 ? 12954.806235781925 10 | 4141 ? ? 44650.70733912719 11 | 75 114227.07313350472 12 | 40 ? 30162.440062810834 13 | 39 ? ? 119815.66013519121 14 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/benches/stress/speed/plot: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | gnuplot >size-rate.jpg << _EOF_ 4 | 5 | set terminal png nocrop enhanced font verdana 12 size 640,480 6 | set logscale x 7 | set logscale y 8 | set grid 9 | set xlabel 'Serialized object size, octets' 10 | set ylabel 'decode(encode(obj)) rate, 1/sec' 11 | plot '00' using 1:2 title 'json' smooth bezier, '00' using 1:3 title 'msgpack' smooth bezier, '00' using 1:4 title 'bison' smooth bezier 12 | 13 | _EOF_ 14 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/benches/stress/speed/size-rate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/server/node_modules/socket.io/node_modules/redis/benches/stress/speed/size-rate.png -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/benches/sub_quit_test.js: -------------------------------------------------------------------------------- 1 | var client = require("redis").createClient(), 2 | client2 = require("redis").createClient(); 3 | 4 | client.subscribe("something"); 5 | client.on("subscribe", function (channel, count) { 6 | console.log("Got sub: " + channel); 7 | client.unsubscribe("something"); 8 | }); 9 | 10 | client.on("unsubscribe", function (channel, count) { 11 | console.log("Got unsub: " + channel + ", quitting"); 12 | client.quit(); 13 | }); 14 | 15 | // exercise unsub before sub 16 | client2.unsubscribe("something"); 17 | client2.subscribe("another thing"); 18 | client2.quit(); 19 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/examples/auth.js: -------------------------------------------------------------------------------- 1 | var redis = require("redis"), 2 | client = redis.createClient(); 3 | 4 | // This command is magical. Client stashes the password and will issue on every connect. 5 | client.auth("somepass"); 6 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/examples/backpressure_drain.js: -------------------------------------------------------------------------------- 1 | var redis = require("../index"), 2 | client = redis.createClient(null, null, { 3 | command_queue_high_water: 5, 4 | command_queue_low_water: 1 5 | }), 6 | remaining_ops = 100000, paused = false; 7 | 8 | function op() { 9 | if (remaining_ops <= 0) { 10 | console.error("Finished."); 11 | process.exit(0); 12 | } 13 | 14 | remaining_ops--; 15 | if (client.hset("test hash", "val " + remaining_ops, remaining_ops) === false) { 16 | console.log("Pausing at " + remaining_ops); 17 | paused = true; 18 | } else { 19 | process.nextTick(op); 20 | } 21 | } 22 | 23 | client.on("drain", function () { 24 | if (paused) { 25 | console.log("Resuming at " + remaining_ops); 26 | paused = false; 27 | process.nextTick(op); 28 | } else { 29 | console.log("Got drain while not paused at " + remaining_ops); 30 | } 31 | }); 32 | 33 | op(); 34 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/examples/eval.js: -------------------------------------------------------------------------------- 1 | var redis = require("./index"), 2 | client = redis.createClient(); 3 | 4 | redis.debug_mode = true; 5 | 6 | client.eval("return 100.5", 0, function (err, res) { 7 | console.dir(err); 8 | console.dir(res); 9 | }); 10 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/examples/extend.js: -------------------------------------------------------------------------------- 1 | var redis = require("redis"), 2 | client = redis.createClient(); 3 | 4 | // Extend the RedisClient prototype to add a custom method 5 | // This one converts the results from "INFO" into a JavaScript Object 6 | 7 | redis.RedisClient.prototype.parse_info = function (callback) { 8 | this.info(function (err, res) { 9 | var lines = res.toString().split("\r\n").sort(); 10 | var obj = {}; 11 | lines.forEach(function (line) { 12 | var parts = line.split(':'); 13 | if (parts[1]) { 14 | obj[parts[0]] = parts[1]; 15 | } 16 | }); 17 | callback(obj) 18 | }); 19 | }; 20 | 21 | client.parse_info(function (info) { 22 | console.dir(info); 23 | client.quit(); 24 | }); 25 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/examples/file.js: -------------------------------------------------------------------------------- 1 | // Read a file from disk, store it in Redis, then read it back from Redis. 2 | 3 | var redis = require("redis"), 4 | client = redis.createClient(), 5 | fs = require("fs"), 6 | filename = "kids_in_cart.jpg"; 7 | 8 | // Get the file I use for testing like this: 9 | // curl http://ranney.com/kids_in_cart.jpg -o kids_in_cart.jpg 10 | // or just use your own file. 11 | 12 | // Read a file from fs, store it in Redis, get it back from Redis, write it back to fs. 13 | fs.readFile(filename, function (err, data) { 14 | if (err) throw err 15 | console.log("Read " + data.length + " bytes from filesystem."); 16 | 17 | client.set(filename, data, redis.print); // set entire file 18 | client.get(filename, function (err, reply) { // get entire file 19 | if (err) { 20 | console.log("Get error: " + err); 21 | } else { 22 | fs.writeFile("duplicate_" + filename, reply, function (err) { 23 | if (err) { 24 | console.log("Error on write: " + err) 25 | } else { 26 | console.log("File written."); 27 | } 28 | client.end(); 29 | }); 30 | } 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/examples/mget.js: -------------------------------------------------------------------------------- 1 | var client = require("redis").createClient(); 2 | 3 | client.mget(["sessions started", "sessions started", "foo"], function (err, res) { 4 | console.dir(res); 5 | }); -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/examples/monitor.js: -------------------------------------------------------------------------------- 1 | var client = require("../index").createClient(), 2 | util = require("util"); 3 | 4 | client.monitor(function (err, res) { 5 | console.log("Entering monitoring mode."); 6 | }); 7 | 8 | client.on("monitor", function (time, args) { 9 | console.log(time + ": " + util.inspect(args)); 10 | }); 11 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/examples/multi2.js: -------------------------------------------------------------------------------- 1 | var redis = require("redis"), 2 | client = redis.createClient(), multi; 3 | 4 | // start a separate command queue for multi 5 | multi = client.multi(); 6 | multi.incr("incr thing", redis.print); 7 | multi.incr("incr other thing", redis.print); 8 | 9 | // runs immediately 10 | client.mset("incr thing", 100, "incr other thing", 1, redis.print); 11 | 12 | // drains multi queue and runs atomically 13 | multi.exec(function (err, replies) { 14 | console.log(replies); // 101, 2 15 | }); 16 | 17 | // you can re-run the same transaction if you like 18 | multi.exec(function (err, replies) { 19 | console.log(replies); // 102, 3 20 | client.quit(); 21 | }); 22 | 23 | client.multi([ 24 | ["mget", "multifoo", "multibar", redis.print], 25 | ["incr", "multifoo"], 26 | ["incr", "multibar"] 27 | ]).exec(function (err, replies) { 28 | console.log(replies.toString()); 29 | }); 30 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/examples/psubscribe.js: -------------------------------------------------------------------------------- 1 | var redis = require("redis"), 2 | client1 = redis.createClient(), 3 | client2 = redis.createClient(), 4 | client3 = redis.createClient(), 5 | client4 = redis.createClient(), 6 | msg_count = 0; 7 | 8 | redis.debug_mode = false; 9 | 10 | client1.on("psubscribe", function (pattern, count) { 11 | console.log("client1 psubscribed to " + pattern + ", " + count + " total subscriptions"); 12 | client2.publish("channeltwo", "Me!"); 13 | client3.publish("channelthree", "Me too!"); 14 | client4.publish("channelfour", "And me too!"); 15 | }); 16 | 17 | client1.on("punsubscribe", function (pattern, count) { 18 | console.log("client1 punsubscribed from " + pattern + ", " + count + " total subscriptions"); 19 | client4.end(); 20 | client3.end(); 21 | client2.end(); 22 | client1.end(); 23 | }); 24 | 25 | client1.on("pmessage", function (pattern, channel, message) { 26 | console.log("("+ pattern +")" + " client1 received message on " + channel + ": " + message); 27 | msg_count += 1; 28 | if (msg_count === 3) { 29 | client1.punsubscribe(); 30 | } 31 | }); 32 | 33 | client1.psubscribe("channel*"); 34 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/examples/simple.js: -------------------------------------------------------------------------------- 1 | var redis = require("redis"), 2 | client = redis.createClient(); 3 | 4 | client.on("error", function (err) { 5 | console.log("error event - " + client.host + ":" + client.port + " - " + err); 6 | }); 7 | 8 | client.set("string key", "string val", redis.print); 9 | client.hset("hash key", "hashtest 1", "some value", redis.print); 10 | client.hset(["hash key", "hashtest 2", "some other value"], redis.print); 11 | client.hkeys("hash key", function (err, replies) { 12 | if (err) { 13 | return console.error("error response - " + err); 14 | } 15 | 16 | console.log(replies.length + " replies:"); 17 | replies.forEach(function (reply, i) { 18 | console.log(" " + i + ": " + reply); 19 | }); 20 | }); 21 | 22 | client.quit(function (err, res) { 23 | console.log("Exiting from quit command."); 24 | }); 25 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/examples/sort.js: -------------------------------------------------------------------------------- 1 | var redis = require("redis"), 2 | client = redis.createClient(); 3 | 4 | client.sadd("mylist", 1); 5 | client.sadd("mylist", 2); 6 | client.sadd("mylist", 3); 7 | 8 | client.set("weight_1", 5); 9 | client.set("weight_2", 500); 10 | client.set("weight_3", 1); 11 | 12 | client.set("object_1", "foo"); 13 | client.set("object_2", "bar"); 14 | client.set("object_3", "qux"); 15 | 16 | client.sort("mylist", "by", "weight_*", "get", "object_*", redis.print); 17 | // Prints Reply: qux,foo,bar -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/examples/subqueries.js: -------------------------------------------------------------------------------- 1 | // Sending commands in response to other commands. 2 | // This example runs "type" against every key in the database 3 | // 4 | var client = require("redis").createClient(); 5 | 6 | client.keys("*", function (err, keys) { 7 | keys.forEach(function (key, pos) { 8 | client.type(key, function (err, keytype) { 9 | console.log(key + " is " + keytype); 10 | if (pos === (keys.length - 1)) { 11 | client.quit(); 12 | } 13 | }); 14 | }); 15 | }); 16 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/examples/subquery.js: -------------------------------------------------------------------------------- 1 | var client = require("redis").createClient(); 2 | 3 | function print_results(obj) { 4 | console.dir(obj); 5 | } 6 | 7 | // build a map of all keys and their types 8 | client.keys("*", function (err, all_keys) { 9 | var key_types = {}; 10 | 11 | all_keys.forEach(function (key, pos) { // use second arg of forEach to get pos 12 | client.type(key, function (err, type) { 13 | key_types[key] = type; 14 | if (pos === all_keys.length - 1) { // callbacks all run in order 15 | print_results(key_types); 16 | } 17 | }); 18 | }); 19 | }); 20 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/examples/unix_socket.js: -------------------------------------------------------------------------------- 1 | var redis = require("redis"), 2 | client = redis.createClient("/tmp/redis.sock"), 3 | profiler = require("v8-profiler"); 4 | 5 | client.on("connect", function () { 6 | console.log("Got Unix socket connection.") 7 | }); 8 | 9 | client.on("error", function (err) { 10 | console.log(err.message); 11 | }); 12 | 13 | client.set("space chars", "space value"); 14 | 15 | setInterval(function () { 16 | client.get("space chars"); 17 | }, 100); 18 | 19 | function done() { 20 | client.info(function (err, reply) { 21 | console.log(reply.toString()); 22 | client.quit(); 23 | }); 24 | } 25 | 26 | setTimeout(function () { 27 | console.log("Taking snapshot."); 28 | var snap = profiler.takeSnapshot(); 29 | }, 5000); 30 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/generate_commands.js: -------------------------------------------------------------------------------- 1 | var http = require("http"), 2 | fs = require("fs"); 3 | 4 | function prettyCurrentTime() { 5 | var date = new Date(); 6 | return date.toLocaleString(); 7 | } 8 | 9 | function write_file(commands, path) { 10 | var file_contents, out_commands; 11 | 12 | console.log("Writing " + Object.keys(commands).length + " commands to " + path); 13 | 14 | file_contents = "// This file was generated by ./generate_commands.js on " + prettyCurrentTime() + "\n"; 15 | 16 | out_commands = Object.keys(commands).map(function (key) { 17 | return key.toLowerCase(); 18 | }); 19 | 20 | file_contents += "module.exports = " + JSON.stringify(out_commands, null, " ") + ";\n"; 21 | 22 | fs.writeFile(path, file_contents); 23 | } 24 | 25 | http.get({host: "redis.io", path: "/commands.json"}, function (res) { 26 | var body = ""; 27 | 28 | console.log("Response from redis.io/commands.json: " + res.statusCode); 29 | 30 | res.on('data', function (chunk) { 31 | body += chunk; 32 | }); 33 | 34 | res.on('end', function () { 35 | write_file(JSON.parse(body), "lib/commands.js"); 36 | }); 37 | }).on('error', function (e) { 38 | console.log("Error fetching command list from redis.io: " + e.message); 39 | }); 40 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/lib/parser/hiredis.js: -------------------------------------------------------------------------------- 1 | /*global Buffer require exports console setTimeout */ 2 | 3 | var events = require("events"), 4 | util = require("../util"), 5 | hiredis = require("hiredis"); 6 | 7 | exports.debug_mode = false; 8 | exports.name = "hiredis"; 9 | 10 | function HiredisReplyParser(options) { 11 | this.name = exports.name; 12 | this.options = options || {}; 13 | this.reset(); 14 | events.EventEmitter.call(this); 15 | } 16 | 17 | util.inherits(HiredisReplyParser, events.EventEmitter); 18 | 19 | exports.Parser = HiredisReplyParser; 20 | 21 | HiredisReplyParser.prototype.reset = function () { 22 | this.reader = new hiredis.Reader({ 23 | return_buffers: this.options.return_buffers || false 24 | }); 25 | }; 26 | 27 | HiredisReplyParser.prototype.execute = function (data) { 28 | var reply; 29 | this.reader.feed(data); 30 | while (true) { 31 | try { 32 | reply = this.reader.get(); 33 | } catch (err) { 34 | this.emit("error", err); 35 | break; 36 | } 37 | 38 | if (reply === undefined) break; 39 | 40 | if (reply && reply.constructor === Error) { 41 | this.emit("reply error", reply); 42 | } else { 43 | this.emit("reply", reply); 44 | } 45 | } 46 | }; 47 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/lib/to_array.js: -------------------------------------------------------------------------------- 1 | function to_array(args) { 2 | var len = args.length, 3 | arr = new Array(len), i; 4 | 5 | for (i = 0; i < len; i += 1) { 6 | arr[i] = args[i]; 7 | } 8 | 9 | return arr; 10 | } 11 | 12 | module.exports = to_array; 13 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/lib/util.js: -------------------------------------------------------------------------------- 1 | // Support for very old versions of node where the module was called "sys". At some point, we should abandon this. 2 | 3 | var util; 4 | 5 | try { 6 | util = require("util"); 7 | } catch (err) { 8 | util = require("sys"); 9 | } 10 | 11 | module.exports = util; 12 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/redis/mem.js: -------------------------------------------------------------------------------- 1 | var client = require("redis").createClient(); 2 | 3 | client.set("foo", "barvalskdjlksdjflkdsjflksdjdflkdsjflksdjflksdj", function (err, res) { 4 | if (err) { 5 | console.log("Got an error, please adapt somehow."); 6 | } else { 7 | console.log("Got a result: " + res); 8 | } 9 | }); 10 | 11 | client.quit(); 12 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/.npmignore: -------------------------------------------------------------------------------- 1 | test/node_modules 2 | support 3 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/Makefile: -------------------------------------------------------------------------------- 1 | 2 | ALL_TESTS = $(shell find test/ -name '*.test.js') 3 | 4 | run-tests: 5 | @./node_modules/.bin/expresso \ 6 | -I lib \ 7 | -I support \ 8 | --serial \ 9 | $(TESTS) 10 | 11 | test: 12 | @$(MAKE) TESTS="$(ALL_TESTS)" run-tests 13 | 14 | test-acceptance: 15 | @node support/test-runner/app $(TRANSPORT) 16 | 17 | build: 18 | @node ./bin/builder.js 19 | 20 | .PHONY: test 21 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/components/component-bind/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bind", 3 | "version": "0.0.1", 4 | "description": "function binding utility", 5 | "keywords": [ 6 | "bind", 7 | "utility" 8 | ], 9 | "dependencies": {}, 10 | "scripts": [ 11 | "index.js" 12 | ], 13 | "repo": "https://raw.github.com/component/bind" 14 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/components/component-bind/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Slice reference. 4 | */ 5 | 6 | var slice = [].slice; 7 | 8 | /** 9 | * Bind `obj` to `fn`. 10 | * 11 | * @param {Object} obj 12 | * @param {Function|String} fn or string 13 | * @return {Function} 14 | * @api public 15 | */ 16 | 17 | module.exports = function(obj, fn){ 18 | if ('string' == typeof fn) fn = obj[fn]; 19 | if ('function' != typeof fn) throw new Error('bind() requires a function'); 20 | var args = [].slice.call(arguments, 2); 21 | return function(){ 22 | return fn.apply(obj, args.concat(slice.call(arguments))); 23 | } 24 | }; 25 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/components/component-emitter/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "emitter", 3 | "description": "Event emitter", 4 | "keywords": [ 5 | "emitter", 6 | "events" 7 | ], 8 | "version": "0.0.6", 9 | "scripts": [ 10 | "index.js" 11 | ], 12 | "repo": "https://raw.github.com/component/emitter" 13 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/components/component-json-fallback/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "json-fallback", 3 | "repo": "component/json", 4 | "description": "JSON parser / stringifier fallback", 5 | "version": "0.0.1", 6 | "keywords": [ 7 | "json", 8 | "fallback" 9 | ], 10 | "dependencies": {}, 11 | "development": {}, 12 | "scripts": [ 13 | "index.js" 14 | ] 15 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/components/component-json/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "json", 3 | "repo": "component/json", 4 | "description": "JSON parser / stringifier", 5 | "version": "0.0.1", 6 | "keywords": [ 7 | "json" 8 | ], 9 | "dependencies": {}, 10 | "development": {}, 11 | "optional": { 12 | "component/json-fallback": "*" 13 | }, 14 | "scripts": [ 15 | "index.js" 16 | ] 17 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/components/component-json/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = 'undefined' == typeof JSON 3 | ? require('json-fallback') 4 | : JSON; 5 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/components/learnboost-engine.io-client/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "engine.io", 3 | "version": "0.4.0", 4 | "dependencies": { 5 | "component/emitter": "0.0.6", 6 | "visionmedia/debug": "*" 7 | }, 8 | "main": "lib/index.js", 9 | "scripts": [ 10 | "lib/index.js", 11 | "lib/parser.js", 12 | "lib/socket.js", 13 | "lib/transport.js", 14 | "lib/emitter.js", 15 | "lib/util.js", 16 | "lib/transports/index.js", 17 | "lib/transports/polling.js", 18 | "lib/transports/polling-xhr.js", 19 | "lib/transports/polling-jsonp.js", 20 | "lib/transports/websocket.js", 21 | "lib/transports/flashsocket.js" 22 | ], 23 | "repo": "https://raw.github.com/learnboost/engine.io-client" 24 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/components/learnboost-engine.io-client/lib/emitter.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var Emitter; 7 | 8 | try { 9 | Emitter = require('emitter'); 10 | } catch(e){ 11 | Emitter = require('emitter-component'); 12 | } 13 | 14 | /** 15 | * Module exports. 16 | */ 17 | 18 | module.exports = Emitter; 19 | 20 | /** 21 | * Compatibility with `WebSocket#addEventListener`. 22 | * 23 | * @api public 24 | */ 25 | 26 | Emitter.prototype.addEventListener = Emitter.prototype.on; 27 | 28 | /** 29 | * Compatibility with `WebSocket#removeEventListener`. 30 | * 31 | * @api public 32 | */ 33 | 34 | Emitter.prototype.removeEventListener = Emitter.prototype.off; 35 | 36 | /** 37 | * Node-compatible `EventEmitter#removeListener` 38 | * 39 | * @api public 40 | */ 41 | 42 | Emitter.prototype.removeListener = Emitter.prototype.off; 43 | 44 | /** 45 | * Node-compatible `EventEmitter#removeAllListeners` 46 | * 47 | * @api public 48 | */ 49 | 50 | Emitter.prototype.removeAllListeners = function(){ 51 | this._callbacks = {}; 52 | }; 53 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/components/learnboost-engine.io-client/lib/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./socket'); 3 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/components/learnboost-socket.io-protocol/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "socket.io-parser", 3 | "version": "1.0.1", 4 | "description": "socket.io protocol parser", 5 | "dependencies": { 6 | "component/json": "*" 7 | }, 8 | "scripts": [ 9 | "index.js" 10 | ], 11 | "repo": "https://raw.github.com/learnboost/socket.io-protocol" 12 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/components/timoxley-to-array/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "to-array", 3 | "repo": "timoxley/to-array", 4 | "description": "Convert an array-like object into an Array.", 5 | "version": "0.1.4", 6 | "keywords": [], 7 | "dependencies": {}, 8 | "development": { 9 | "timoxley/assert": "*", 10 | "component/domify": "*" 11 | }, 12 | "license": "MIT", 13 | "scripts": [ 14 | "index.js" 15 | ] 16 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/components/timoxley-to-array/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Convert an array-like object into an `Array`. 3 | * If `collection` is already an `Array`, then will return a clone of `collection`. 4 | * 5 | * @param {Array | Mixed} collection An `Array` or array-like object to convert e.g. `arguments` or `NodeList` 6 | * @return {Array} Naive conversion of `collection` to a new `Array`. 7 | * @api private 8 | */ 9 | 10 | module.exports = function toArray(collection) { 11 | if (typeof collection === 'undefined') return [] 12 | if (collection === null) return [null] 13 | if (collection === window) return [window] 14 | if (typeof collection === 'string') return [collection] 15 | if (Array.isArray(collection)) return collection.slice() 16 | if (typeof collection.length != 'number') return [collection] 17 | if (typeof collection === 'function') return [collection] 18 | 19 | var arr = [] 20 | for (var i = 0; i < collection.length; i++) { 21 | if (collection.hasOwnProperty(i) || i in collection) { 22 | arr.push(collection[i]) 23 | } 24 | } 25 | if (!arr.length) return [] 26 | return arr 27 | } 28 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/components/visionmedia-debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "0.7.0", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "scripts": [ 12 | "index.js", 13 | "debug.js" 14 | ], 15 | "dependencies": {} 16 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/components/visionmedia-debug/index.js: -------------------------------------------------------------------------------- 1 | if ('undefined' == typeof window) { 2 | module.exports = require('./lib/debug'); 3 | } else { 4 | module.exports = require('./debug'); 5 | } 6 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/dist/WebSocketMain.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/server/node_modules/socket.io/node_modules/socket.io-client/dist/WebSocketMain.swf -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/dist/WebSocketMainInsecure.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/server/node_modules/socket.io/node_modules/socket.io-client/dist/WebSocketMainInsecure.swf -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/.npmignore: -------------------------------------------------------------------------------- 1 | test.html 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/WebSocketMain.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/WebSocketMain.swf -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/WebSocketMainInsecure.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/WebSocketMainInsecure.zip -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/IWebSocketLogger.as: -------------------------------------------------------------------------------- 1 | package { 2 | 3 | public interface IWebSocketLogger { 4 | function log(message:String):void; 5 | function error(message:String):void; 6 | } 7 | 8 | } 9 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/WebSocketEvent.as: -------------------------------------------------------------------------------- 1 | package { 2 | 3 | import flash.events.Event; 4 | 5 | /** 6 | * This class represents a generic websocket event. It contains the standard "type" 7 | * parameter as well as a "message" parameter. 8 | */ 9 | public class WebSocketEvent extends Event { 10 | 11 | public static const OPEN:String = "open"; 12 | public static const CLOSE:String = "close"; 13 | public static const MESSAGE:String = "message"; 14 | public static const ERROR:String = "error"; 15 | 16 | public var message:String; 17 | 18 | public function WebSocketEvent( 19 | type:String, message:String = null, bubbles:Boolean = false, cancelable:Boolean = false) { 20 | super(type, bubbles, cancelable); 21 | this.message = message; 22 | } 23 | 24 | public override function clone():Event { 25 | return new WebSocketEvent(this.type, this.message, this.bubbles, this.cancelable); 26 | } 27 | 28 | public override function toString():String { 29 | return "WebSocketEvent: " + this.type + ": " + this.message; 30 | } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/WebSocketMainInsecure.as: -------------------------------------------------------------------------------- 1 | // Copyright: Hiroshi Ichikawa 2 | // License: New BSD License 3 | // Reference: http://dev.w3.org/html5/websockets/ 4 | // Reference: http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-76 5 | 6 | package { 7 | 8 | import flash.system.*; 9 | 10 | public class WebSocketMainInsecure extends WebSocketMain { 11 | 12 | public function WebSocketMainInsecure() { 13 | Security.allowDomain("*"); 14 | super(); 15 | } 16 | 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # You need Flex 4 SDK: 4 | # http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4 5 | 6 | mxmlc -static-link-runtime-shared-libraries -target-player=10.0.0 -output=../WebSocketMain.swf WebSocketMain.as && 7 | mxmlc -static-link-runtime-shared-libraries -output=../WebSocketMainInsecure.swf WebSocketMainInsecure.as && 8 | cd .. && 9 | zip WebSocketMainInsecure.zip WebSocketMainInsecure.swf && 10 | rm WebSocketMainInsecure.swf 11 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/IHMAC.as: -------------------------------------------------------------------------------- 1 | /** 2 | * HMAC 3 | * 4 | * An ActionScript 3 interface for HMAC & MAC 5 | * implementations. 6 | * 7 | * Loosely copyrighted by Bobby Parker 8 | * 9 | * See LICENSE.txt for full license information. 10 | */ 11 | package com.hurlant.crypto.hash 12 | { 13 | import flash.utils.ByteArray; 14 | 15 | public interface IHMAC 16 | { 17 | function getHashSize():uint; 18 | /** 19 | * Compute a HMAC using a key and some data. 20 | * It doesn't modify either, and returns a new ByteArray with the HMAC value. 21 | */ 22 | function compute(key:ByteArray, data:ByteArray):ByteArray; 23 | function dispose():void; 24 | function toString():String; 25 | 26 | } 27 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/IHash.as: -------------------------------------------------------------------------------- 1 | /** 2 | * IHash 3 | * 4 | * An interface for each hash function to implement 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.hash 10 | { 11 | import flash.utils.ByteArray; 12 | 13 | public interface IHash 14 | { 15 | function getInputSize():uint; 16 | function getHashSize():uint; 17 | function hash(src:ByteArray):ByteArray; 18 | function toString():String; 19 | function getPadSize():int; 20 | } 21 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA224.as: -------------------------------------------------------------------------------- 1 | /** 2 | * SHA224 3 | * 4 | * An ActionScript 3 implementation of Secure Hash Algorithm, SHA-224, as defined 5 | * in FIPS PUB 180-2 6 | * Copyright (c) 2007 Henri Torgemane 7 | * 8 | * See LICENSE.txt for full license information. 9 | */ 10 | package com.hurlant.crypto.hash 11 | { 12 | public class SHA224 extends SHA256 13 | { 14 | function SHA224() { 15 | h = [ 16 | 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 17 | 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 18 | ]; 19 | } 20 | 21 | public override function getHashSize():uint { 22 | return 28; 23 | } 24 | public override function toString():String { 25 | return "sha224"; 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/IPRNG.as: -------------------------------------------------------------------------------- 1 | /** 2 | * IPRNG 3 | * 4 | * An interface for classes that can be used a pseudo-random number generators 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.prng 10 | { 11 | import flash.utils.ByteArray; 12 | 13 | public interface IPRNG { 14 | function getPoolSize():uint; 15 | function init(key:ByteArray):void; 16 | function next():uint; 17 | function dispose():void; 18 | function toString():String; 19 | } 20 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ICipher.as: -------------------------------------------------------------------------------- 1 | /** 2 | * ICipher 3 | * 4 | * A generic interface to use symmetric ciphers 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.symmetric 10 | { 11 | import flash.utils.ByteArray; 12 | 13 | public interface ICipher 14 | { 15 | function getBlockSize():uint; 16 | function encrypt(src:ByteArray):void; 17 | function decrypt(src:ByteArray):void; 18 | function dispose():void; 19 | function toString():String; 20 | } 21 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IMode.as: -------------------------------------------------------------------------------- 1 | /** 2 | * IMode 3 | * 4 | * An interface for confidentiality modes to implement 5 | * This could become deprecated at some point. 6 | * Copyright (c) 2007 Henri Torgemane 7 | * 8 | * See LICENSE.txt for full license information. 9 | */ 10 | package com.hurlant.crypto.symmetric 11 | { 12 | public interface IMode extends ICipher 13 | { 14 | } 15 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IPad.as: -------------------------------------------------------------------------------- 1 | /** 2 | * IPad 3 | * 4 | * An interface for padding mechanisms to implement. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.symmetric 10 | { 11 | import flash.utils.ByteArray; 12 | 13 | /** 14 | * Tiny interface that represents a padding mechanism. 15 | */ 16 | public interface IPad 17 | { 18 | /** 19 | * Add padding to the array 20 | */ 21 | function pad(a:ByteArray):void; 22 | /** 23 | * Remove padding from the array. 24 | * @throws Error if the padding is invalid. 25 | */ 26 | function unpad(a:ByteArray):void; 27 | /** 28 | * Set the blockSize to work on 29 | */ 30 | function setBlockSize(bs:uint):void; 31 | } 32 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IStreamCipher.as: -------------------------------------------------------------------------------- 1 | /** 2 | * IStreamCipher 3 | * 4 | * A "marker" interface for stream ciphers. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.symmetric { 10 | 11 | /** 12 | * A marker to indicate how this cipher works. 13 | * A stream cipher: 14 | * - does not use initialization vector 15 | * - keeps some internal state between calls to encrypt() and decrypt() 16 | * 17 | */ 18 | public interface IStreamCipher extends ICipher { 19 | 20 | } 21 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ISymmetricKey.as: -------------------------------------------------------------------------------- 1 | /** 2 | * ISymmetricKey 3 | * 4 | * An interface for symmetric encryption keys to implement. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.symmetric 10 | { 11 | import flash.utils.ByteArray; 12 | 13 | public interface ISymmetricKey 14 | { 15 | /** 16 | * Returns the block size used by this particular encryption algorithm 17 | */ 18 | function getBlockSize():uint; 19 | /** 20 | * Encrypt one block of data in "block", starting at "index", of length "getBlockSize()" 21 | */ 22 | function encrypt(block:ByteArray, index:uint=0):void; 23 | /** 24 | * Decrypt one block of data in "block", starting at "index", of length "getBlockSize()" 25 | */ 26 | function decrypt(block:ByteArray, index:uint=0):void; 27 | /** 28 | * Attempts to destroy sensitive information from memory, such as encryption keys. 29 | * Note: This is not guaranteed to work given the Flash sandbox model. 30 | */ 31 | function dispose():void; 32 | 33 | function toString():String; 34 | } 35 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/NullPad.as: -------------------------------------------------------------------------------- 1 | /** 2 | * NullPad 3 | * 4 | * A padding class that doesn't pad. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.symmetric 10 | { 11 | import flash.utils.ByteArray; 12 | 13 | /** 14 | * A pad that does nothing. 15 | * Useful when you don't want padding in your Mode. 16 | */ 17 | public class NullPad implements IPad 18 | { 19 | public function unpad(a:ByteArray):void 20 | { 21 | return; 22 | } 23 | 24 | public function pad(a:ByteArray):void 25 | { 26 | return; 27 | } 28 | 29 | public function setBlockSize(bs:uint):void { 30 | return; 31 | } 32 | 33 | } 34 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/PKCS5.as: -------------------------------------------------------------------------------- 1 | /** 2 | * PKCS5 3 | * 4 | * A padding implementation of PKCS5. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.symmetric 10 | { 11 | import flash.utils.ByteArray; 12 | 13 | public class PKCS5 implements IPad 14 | { 15 | private var blockSize:uint; 16 | 17 | public function PKCS5(blockSize:uint=0) { 18 | this.blockSize = blockSize; 19 | } 20 | 21 | public function pad(a:ByteArray):void { 22 | var c:uint = blockSize-a.length%blockSize; 23 | for (var i:uint=0;i0;i--) { 32 | var v:uint = a[a.length-1]; 33 | a.length--; 34 | if (c!=v) throw new Error("PKCS#5:unpad: Invalid padding value. expected ["+c+"], found ["+v+"]"); 35 | } 36 | // that is all. 37 | } 38 | 39 | public function setBlockSize(bs:uint):void { 40 | blockSize = bs; 41 | } 42 | 43 | } 44 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/aeskey.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | use strict; 3 | use warnings; 4 | 5 | sub say { 6 | my $w = shift; 7 | print $w; 8 | print "\n"; 9 | } 10 | 11 | sub dump { 12 | my $i = shift; 13 | &say(sprintf("Sbox[%d] = _Sbox[%d]", $i, $i)); 14 | &say(sprintf("InvSbox[%d] = _InvSbox[%d]", $i, $i)); 15 | &say(sprintf("Xtime2Sbox[%d] = _Xtime2Sbox[%d]", $i, $i)); 16 | &say(sprintf("Xtime3Sbox[%d] = _Xtime3Sbox[%d]", $i, $i)); 17 | &say(sprintf("Xtime2[%d] = _Xtime2[%d]", $i, $i)); 18 | &say(sprintf("Xtime9[%d] = _Xtime9[%d]", $i, $i)); 19 | &say(sprintf("XtimeB[%d] = _XtimeB[%d]", $i, $i)); 20 | &say(sprintf("XtimeD[%d] = _XtimeD[%d]", $i, $i)); 21 | &say(sprintf("XtimeE[%d] = _XtimeE[%d]", $i, $i)); 22 | } 23 | 24 | for (my $i=0;$i<256;$i++) { 25 | &dump($i); 26 | } 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/BigIntegerTest.as: -------------------------------------------------------------------------------- 1 | /** 2 | * BigIntegerTest 3 | * 4 | * A test class for BigInteger 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.tests 10 | { 11 | import com.hurlant.math.BigInteger; 12 | import com.hurlant.util.Hex; 13 | 14 | public class BigIntegerTest extends TestCase 15 | { 16 | public function BigIntegerTest(h:ITestHarness) 17 | { 18 | super(h, "BigInteger Tests"); 19 | runTest(testAdd, "BigInteger Addition"); 20 | h.endTestCase(); 21 | } 22 | 23 | public function testAdd():void { 24 | var n1:BigInteger = BigInteger.nbv(25); 25 | var n2:BigInteger = BigInteger.nbv(1002); 26 | var n3:BigInteger = n1.add(n2); 27 | var v:int = n3.valueOf(); 28 | assert("25+1002 = "+v, 25+1002==v); 29 | 30 | var p:BigInteger = new BigInteger(Hex.toArray("e564d8b801a61f47")); 31 | var xp:BigInteger = new BigInteger(Hex.toArray("99246db2a3507fa")); 32 | 33 | xp = xp.add(p); 34 | 35 | assert("xp==eef71f932bdb2741", xp.toString(16)=="eef71f932bdb2741"); 36 | } 37 | 38 | } 39 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ITestHarness.as: -------------------------------------------------------------------------------- 1 | /** 2 | * ITestHarness 3 | * 4 | * An interface to specify what's available for test cases to use. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.tests 10 | { 11 | public interface ITestHarness 12 | { 13 | function beginTestCase(name:String):void; 14 | function endTestCase():void; 15 | 16 | function beginTest(name:String):void; 17 | function passTest():void; 18 | function failTest(msg:String):void; 19 | } 20 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TestCase.as: -------------------------------------------------------------------------------- 1 | /** 2 | * TestCase 3 | * 4 | * Embryonic unit test support class. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.tests 10 | { 11 | public class TestCase 12 | { 13 | public var harness:ITestHarness; 14 | 15 | public function TestCase(h:ITestHarness, title:String) { 16 | harness = h; 17 | harness.beginTestCase(title); 18 | } 19 | 20 | 21 | public function assert(msg:String, value:Boolean):void { 22 | if (value) { 23 | // TestHarness.print("+ ",msg); 24 | return; 25 | } 26 | throw new Error("Test Failure:"+msg); 27 | } 28 | 29 | public function runTest(f:Function, title:String):void { 30 | harness.beginTest(title); 31 | try { 32 | f(); 33 | } catch (e:Error) { 34 | trace("EXCEPTION THROWN: "+e); 35 | trace(e.getStackTrace()); 36 | harness.failTest(e.toString()); 37 | return; 38 | } 39 | harness.passTest(); 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/IConnectionState.as: -------------------------------------------------------------------------------- 1 | /** 2 | * IConnectionState 3 | * 4 | * Interface for TLS/SSL Connection states. 5 | * 6 | * See LICENSE.txt for full license information. 7 | */ 8 | package com.hurlant.crypto.tls { 9 | import flash.utils.ByteArray; 10 | public interface IConnectionState { 11 | function decrypt(type:uint, length:uint, p:ByteArray) : ByteArray; 12 | function encrypt(type:uint, p:ByteArray) : ByteArray; 13 | } 14 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/ISecurityParameters.as: -------------------------------------------------------------------------------- 1 | /** 2 | * ISecurityParameters 3 | * 4 | * This class encapsulates all the security parameters that get negotiated 5 | * during the TLS handshake. It also holds all the key derivation methods. 6 | * Copyright (c) 2007 Henri Torgemane 7 | * 8 | * See LICENSE.txt for full license information. 9 | */ 10 | package com.hurlant.crypto.tls { 11 | import flash.utils.ByteArray; 12 | 13 | public interface ISecurityParameters { 14 | function get version() : uint; 15 | function reset():void; 16 | function getBulkCipher():uint; 17 | function getCipherType():uint; 18 | function getMacAlgorithm():uint; 19 | function setCipher(cipher:uint):void; 20 | function setCompression(algo:uint):void; 21 | function setPreMasterSecret(secret:ByteArray):void; 22 | function setClientRandom(secret:ByteArray):void; 23 | function setServerRandom(secret:ByteArray):void; 24 | function get useRSA():Boolean; 25 | function computeVerifyData(side:uint, handshakeMessages:ByteArray):ByteArray; 26 | function computeCertificateVerify( side:uint, handshakeRecords:ByteArray):ByteArray; 27 | function getConnectionStates():Object; 28 | } 29 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/KeyExchanges.as: -------------------------------------------------------------------------------- 1 | /** 2 | * KeyExchanges 3 | * 4 | * An enumeration of key exchange methods defined by TLS 5 | * ( right now, only RSA is actually implemented ) 6 | * Copyright (c) 2007 Henri Torgemane 7 | * 8 | * See LICENSE.txt for full license information. 9 | */ 10 | package com.hurlant.crypto.tls { 11 | public class KeyExchanges { 12 | public static const NULL:uint = 0; 13 | public static const RSA:uint = 1; 14 | public static const DH_DSS:uint = 2; 15 | public static const DH_RSA:uint = 3; 16 | public static const DHE_DSS:uint = 4; 17 | public static const DHE_RSA:uint = 5; 18 | public static const DH_anon:uint = 6; 19 | 20 | public static function useRSA(p:uint):Boolean { 21 | return (p==RSA); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/MACs.as: -------------------------------------------------------------------------------- 1 | /** 2 | * MACs 3 | * 4 | * An enumeration of MACs implemented for TLS 1.0/SSL 3.0 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.tls { 10 | import com.hurlant.crypto.Crypto; 11 | import com.hurlant.crypto.hash.HMAC; 12 | import com.hurlant.crypto.hash.MAC; 13 | 14 | public class MACs { 15 | public static const NULL:uint = 0; 16 | public static const MD5:uint = 1; 17 | public static const SHA1:uint = 2; 18 | 19 | public static function getHashSize(hash:uint):uint { 20 | return [0,16,20][hash]; 21 | } 22 | 23 | public static function getPadSize(hash:uint):int { 24 | return [0, 48, 40][hash]; 25 | } 26 | 27 | public static function getHMAC(hash:uint):HMAC { 28 | if (hash==NULL) return null; 29 | return Crypto.getHMAC(['',"md5","sha1"][hash]); 30 | } 31 | 32 | public static function getMAC(hash:uint):MAC { 33 | return Crypto.getMAC(['', "md5", "sha1"][hash]); 34 | } 35 | 36 | 37 | } 38 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLEvent.as: -------------------------------------------------------------------------------- 1 | /** 2 | * SSLEvent 3 | * 4 | * This is used by TLSEngine to let the application layer know 5 | * when we're ready for sending, or have received application data 6 | * This Event was created by Bobby Parker to support SSL 3.0. 7 | * 8 | * See LICENSE.txt for full license information. 9 | */ 10 | package com.hurlant.crypto.tls { 11 | import flash.events.Event; 12 | import flash.utils.ByteArray; 13 | 14 | public class SSLEvent extends Event { 15 | 16 | static public const DATA:String = "data"; 17 | static public const READY:String = "ready"; 18 | 19 | public var data:ByteArray; 20 | 21 | public function SSLEvent(type:String, data:ByteArray = null) { 22 | this.data = data; 23 | super(type, false, false); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSEvent.as: -------------------------------------------------------------------------------- 1 | /** 2 | * TLSEvent 3 | * 4 | * This is used by TLSEngine to let the application layer know 5 | * when we're ready for sending, or have received application data 6 | * Copyright (c) 2007 Henri Torgemane 7 | * 8 | * See LICENSE.txt for full license information. 9 | */ 10 | package com.hurlant.crypto.tls { 11 | import flash.events.Event; 12 | import flash.utils.ByteArray; 13 | 14 | public class TLSEvent extends Event { 15 | 16 | static public const DATA:String = "data"; 17 | static public const READY:String = "ready"; 18 | static public const PROMPT_ACCEPT_CERT:String = "promptAcceptCert"; 19 | 20 | public var data:ByteArray; 21 | 22 | public function TLSEvent(type:String, data:ByteArray = null) { 23 | this.data = data; 24 | super(type, false, false); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSocketEvent.as: -------------------------------------------------------------------------------- 1 | /** 2 | * TLSEvent 3 | * 4 | * This is used by TLSEngine to let the application layer know 5 | * when we're ready for sending, or have received application data 6 | * Copyright (c) 2007 Henri Torgemane 7 | * 8 | * See LICENSE.txt for full license information. 9 | */ 10 | package com.hurlant.crypto.tls { 11 | import flash.events.Event; 12 | import flash.utils.ByteArray; 13 | import com.hurlant.crypto.cert.X509Certificate; 14 | 15 | public class TLSSocketEvent extends Event { 16 | 17 | static public const PROMPT_ACCEPT_CERT:String = "promptAcceptCert"; 18 | 19 | public var cert:X509Certificate; 20 | 21 | public function TLSSocketEvent( cert:X509Certificate = null) { 22 | super(PROMPT_ACCEPT_CERT, false, false); 23 | this.cert = cert; 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/ClassicReduction.as: -------------------------------------------------------------------------------- 1 | package com.hurlant.math 2 | { 3 | use namespace bi_internal; 4 | 5 | /** 6 | * Modular reduction using "classic" algorithm 7 | */ 8 | internal class ClassicReduction implements IReduction 9 | { 10 | private var m:BigInteger; 11 | public function ClassicReduction(m:BigInteger) { 12 | this.m = m; 13 | } 14 | public function convert(x:BigInteger):BigInteger { 15 | if (x.s<0 || x.compareTo(m)>=0) { 16 | return x.mod(m); 17 | } 18 | return x; 19 | } 20 | public function revert(x:BigInteger):BigInteger { 21 | return x; 22 | } 23 | public function reduce(x:BigInteger):void { 24 | x.divRemTo(m, null,x); 25 | } 26 | public function mulTo(x:BigInteger, y:BigInteger, r:BigInteger):void { 27 | x.multiplyTo(y,r); 28 | reduce(r); 29 | } 30 | public function sqrTo(x:BigInteger, r:BigInteger):void { 31 | x.squareTo(r); 32 | reduce(r); 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/IReduction.as: -------------------------------------------------------------------------------- 1 | package com.hurlant.math 2 | { 3 | internal interface IReduction 4 | { 5 | function convert(x:BigInteger):BigInteger; 6 | function revert(x:BigInteger):BigInteger; 7 | function reduce(x:BigInteger):void; 8 | function mulTo(x:BigInteger, y:BigInteger, r:BigInteger):void; 9 | function sqrTo(x:BigInteger, r:BigInteger):void; 10 | } 11 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/NullReduction.as: -------------------------------------------------------------------------------- 1 | package com.hurlant.math 2 | { 3 | use namespace bi_internal; 4 | /** 5 | * A "null" reducer 6 | */ 7 | public class NullReduction implements IReduction 8 | { 9 | public function revert(x:BigInteger):BigInteger 10 | { 11 | return x; 12 | } 13 | 14 | public function mulTo(x:BigInteger, y:BigInteger, r:BigInteger):void 15 | { 16 | x.multiplyTo(y,r); 17 | } 18 | 19 | public function sqrTo(x:BigInteger, r:BigInteger):void 20 | { 21 | x.squareTo(r); 22 | } 23 | 24 | public function convert(x:BigInteger):BigInteger 25 | { 26 | return x; 27 | } 28 | 29 | public function reduce(x:BigInteger):void 30 | { 31 | } 32 | 33 | } 34 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/bi_internal.as: -------------------------------------------------------------------------------- 1 | /** 2 | * bi_internal 3 | * 4 | * A namespace. w00t. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.math { 10 | public namespace bi_internal = "http://crypto.hurlant.com/BigInteger"; 11 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/ArrayUtil.as: -------------------------------------------------------------------------------- 1 | /** 2 | * ArrayUtil 3 | * 4 | * A class that allows to compare two ByteArrays. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.util { 10 | import flash.utils.ByteArray; 11 | 12 | 13 | public class ArrayUtil { 14 | 15 | public static function equals(a1:ByteArray, a2:ByteArray):Boolean { 16 | if (a1.length != a2.length) return false; 17 | var l:int = a1.length; 18 | for (var i:int=0;i foo(new window[(['Active'].concat('Object').join('X'))]) 27 | ``` 28 | 29 | ## License 30 | 31 | Licensed under the MIT license. 32 | 33 | [socket.io]: http://socket.io/ 34 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/active-x-obfuscator/node_modules/zeparser/.gitignore: -------------------------------------------------------------------------------- 1 | *.un~ 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/active-x-obfuscator/node_modules/zeparser/.npmignore: -------------------------------------------------------------------------------- 1 | *.un~ 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/active-x-obfuscator/node_modules/zeparser/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011, Peter van der Zee 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/active-x-obfuscator/node_modules/zeparser/index.js: -------------------------------------------------------------------------------- 1 | exports.ZeParser = require('./ZeParser').ZeParser; 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/active-x-obfuscator/node_modules/zeparser/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Peter van der Zee (http://qfox.nl/)", 3 | "name": "zeparser", 4 | "description": "My JavaScript parser", 5 | "version": "0.0.5", 6 | "homepage": "https://github.com/qfox/ZeParser/", 7 | "repository": { 8 | "type": "git", 9 | "url": "git://github.com/qfox/ZeParser.git" 10 | }, 11 | "main": "./index", 12 | "engines": { 13 | "node": "*" 14 | }, 15 | "dependencies": {}, 16 | "devDependencies": {} 17 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/active-x-obfuscator/node_modules/zeparser/test-parser.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Parser Test Suite Page 5 | 13 | 14 | 15 | (c) qfox.nl
16 | Parser test suite
17 |
Running...
18 | 19 | 20 | 21 | 22 | 25 | 26 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/active-x-obfuscator/node_modules/zeparser/test-tokenizer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Tokenizer Test Suite Page 5 | 13 | 14 | 15 | (c) qfox.nl
16 | 17 | 18 | 19 | 22 | 23 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/active-x-obfuscator/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Felix Geisendörfer (http://debuggable.com/)", 3 | "name": "active-x-obfuscator", 4 | "description": "A module to (safely) obfuscate all occurrences of the string 'ActiveX' inside any JavaScript code.", 5 | "version": "0.0.1", 6 | "homepage": "https://github.com/felixge/node-active-x-obfuscator", 7 | "repository": { 8 | "type": "git", 9 | "url": "git://github.com/felixge/node-active-x-obfuscator.git" 10 | }, 11 | "main": "./index", 12 | "scripts": { 13 | "test": "node test.js" 14 | }, 15 | "engines": { 16 | "node": "*" 17 | }, 18 | "dependencies": { 19 | "zeparser": "0.0.5" 20 | }, 21 | "devDependencies": {}, 22 | "optionalDependencies": {} 23 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .tmp*~ 3 | *.local.* 4 | .pinf-* -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "uglify-js", 3 | 4 | "description" : "JavaScript parser and compressor/beautifier toolkit", 5 | 6 | "author" : { 7 | "name" : "Mihai Bazon", 8 | "email" : "mihai.bazon@gmail.com", 9 | "url" : "http://mihai.bazon.net/blog" 10 | }, 11 | 12 | "version" : "1.2.5", 13 | 14 | "main" : "./uglify-js.js", 15 | 16 | "bin" : { 17 | "uglifyjs" : "./bin/uglifyjs" 18 | }, 19 | 20 | "repository": { 21 | "type": "git", 22 | "url": "git@github.com:mishoo/UglifyJS.git" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/beautify.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | 3 | global.sys = require("sys"); 4 | var fs = require("fs"); 5 | 6 | var jsp = require("../lib/parse-js"); 7 | var pro = require("../lib/process"); 8 | 9 | var filename = process.argv[2]; 10 | fs.readFile(filename, "utf8", function(err, text){ 11 | try { 12 | var ast = time_it("parse", function(){ return jsp.parse(text); }); 13 | ast = time_it("mangle", function(){ return pro.ast_mangle(ast); }); 14 | ast = time_it("squeeze", function(){ return pro.ast_squeeze(ast); }); 15 | var gen = time_it("generate", function(){ return pro.gen_code(ast, false); }); 16 | sys.puts(gen); 17 | } catch(ex) { 18 | sys.debug(ex.stack); 19 | sys.debug(sys.inspect(ex)); 20 | sys.debug(JSON.stringify(ex)); 21 | } 22 | }); 23 | 24 | function time_it(name, cont) { 25 | var t1 = new Date().getTime(); 26 | try { return cont(); } 27 | finally { sys.debug("// " + name + ": " + ((new Date().getTime() - t1) / 1000).toFixed(3) + " sec."); } 28 | }; 29 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/array1.js: -------------------------------------------------------------------------------- 1 | [],Array(1),[1,2,3] 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/array2.js: -------------------------------------------------------------------------------- 1 | (function(){var a=function(){};return new a(1,2,3,4)})() 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/array3.js: -------------------------------------------------------------------------------- 1 | (function(){function a(){}return new a(1,2,3,4)})() 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/array4.js: -------------------------------------------------------------------------------- 1 | (function(){function a(){}(function(){return new a(1,2,3)})()})() 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/assignment.js: -------------------------------------------------------------------------------- 1 | a=1,b=a,c=1,d=b,e=d,longname=2;if(longname+1){x=3;if(x)var z=7}z=1,y=1,x=1,g+=1,h=g,++i,j=i,i++,j=i+17 -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/concatstring.js: -------------------------------------------------------------------------------- 1 | var a=a+"a"+"b"+1+c,b=a+"c"+"ds"+123+c,c=a+"c"+123+d+"ds"+c -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/const.js: -------------------------------------------------------------------------------- 1 | var a=13,b=1/3 -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/empty-blocks.js: -------------------------------------------------------------------------------- 1 | function bar(){return--x}function foo(){while(bar());}function mak(){for(;;);}var x=5 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/forstatement.js: -------------------------------------------------------------------------------- 1 | a=func(),b=z;for(a++;i<10;i++)alert(i);var z=1;g=2;for(;i<10;i++)alert(i);var a=2;for(var i=1;i<10;i++)alert(i) -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/if.js: -------------------------------------------------------------------------------- 1 | var a=1;a==1?a=2:a=17 -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/ifreturn.js: -------------------------------------------------------------------------------- 1 | function a(a){return a==1?2:17} -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/ifreturn2.js: -------------------------------------------------------------------------------- 1 | function x(a){return typeof a=="object"?a:a===42?0:a*2}function y(a){return typeof a=="object"?a:null} 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue10.js: -------------------------------------------------------------------------------- 1 | function f(){var a;return(a="a")?a:a}f() -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue11.js: -------------------------------------------------------------------------------- 1 | new(A,B),new(A||B),new(X?A:B) -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue13.js: -------------------------------------------------------------------------------- 1 | var a=/^(?:(\w+):)?(?:\/\/(?:(?:([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#])(?::(\d))?)?(..?$|(?:[^?#\/]\/))([^?#]*)(?:\?([^#]))?(?:#(.))?/ -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue14.js: -------------------------------------------------------------------------------- 1 | var a={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"} 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue16.js: -------------------------------------------------------------------------------- 1 | var a=3250441966 -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue17.js: -------------------------------------------------------------------------------- 1 | var a=function(b){b(),a()} -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue20.js: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue21.js: -------------------------------------------------------------------------------- 1 | var a=0;switch(a){case 0:a++} -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue25.js: -------------------------------------------------------------------------------- 1 | a:break a;console.log(1) 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue27.js: -------------------------------------------------------------------------------- 1 | (a?b:c)?d:e -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue278.js: -------------------------------------------------------------------------------- 1 | if(!x)debugger 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue28.js: -------------------------------------------------------------------------------- 1 | o={".5":.5},o={.5:.5},o={.5:.5} -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue29.js: -------------------------------------------------------------------------------- 1 | result=function(){return 1}() -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue30.js: -------------------------------------------------------------------------------- 1 | var a=8,b=4,c=4 -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue34.js: -------------------------------------------------------------------------------- 1 | var a={};a["this"]=1,a.that=2 -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue4.js: -------------------------------------------------------------------------------- 1 | var a=2e3,b=.002,c=2e-5 -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue48.js: -------------------------------------------------------------------------------- 1 | var s,i;s="",i=0 -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue50.js: -------------------------------------------------------------------------------- 1 | function bar(a){try{foo()}catch(b){alert("Exception caught (foo not defined)")}alert(a)}bar(10) 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue53.js: -------------------------------------------------------------------------------- 1 | x=(y,z) 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue54.1.js: -------------------------------------------------------------------------------- 1 | foo+"",a.toString(16),b.toString.call(c) 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue68.js: -------------------------------------------------------------------------------- 1 | function f(){function b(){}if(a)return;b()} 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue69.js: -------------------------------------------------------------------------------- 1 | [(a,b)] 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue9.js: -------------------------------------------------------------------------------- 1 | var a={a:1,b:2} -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/mangle.js: -------------------------------------------------------------------------------- 1 | (function(){var a=function b(a,b,c){return b}})() 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/null_string.js: -------------------------------------------------------------------------------- 1 | var nullString="\0" -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/strict-equals.js: -------------------------------------------------------------------------------- 1 | typeof a=="string",b+""!=c+"",d> 1; 3 | var c = 8 >>> 1; -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue34.js: -------------------------------------------------------------------------------- 1 | var a = {}; 2 | a["this"] = 1; 3 | a["that"] = 2; -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue4.js: -------------------------------------------------------------------------------- 1 | var a = 2e3; 2 | var b = 2e-3; 3 | var c = 2e-5; -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue48.js: -------------------------------------------------------------------------------- 1 | var s, i; s = ''; i = 0; -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue50.js: -------------------------------------------------------------------------------- 1 | function bar(a) { 2 | try { 3 | foo(); 4 | } catch(e) { 5 | alert("Exception caught (foo not defined)"); 6 | } 7 | alert(a); // 10 in FF, "[object Error]" in IE 8 | } 9 | bar(10); 10 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue53.js: -------------------------------------------------------------------------------- 1 | x = (y, z) 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue54.1.js: -------------------------------------------------------------------------------- 1 | foo.toString(); 2 | a.toString(16); 3 | b.toString.call(c); 4 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue68.js: -------------------------------------------------------------------------------- 1 | function f() { 2 | if (a) return; 3 | g(); 4 | function g(){} 5 | }; 6 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue69.js: -------------------------------------------------------------------------------- 1 | [(a,b)] 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue9.js: -------------------------------------------------------------------------------- 1 | var a = { 2 | a: 1, 3 | b: 2, // <-- trailing comma 4 | }; 5 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/mangle.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var x = function fun(a, fun, b) { 3 | return fun; 4 | }; 5 | }()); 6 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/null_string.js: -------------------------------------------------------------------------------- 1 | var nullString = "\0" -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/strict-equals.js: -------------------------------------------------------------------------------- 1 | typeof a === 'string' 2 | b + "" !== c + "" 3 | d < e === f < g 4 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/var.js: -------------------------------------------------------------------------------- 1 | // var declarations after each other should be combined 2 | var a = 1; 3 | var b = 2; -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/whitespace.js: -------------------------------------------------------------------------------- 1 | function id(a) { 2 | // Form-Feed 3 | // Vertical Tab 4 | // No-Break Space 5 | ᠎// Mongolian Vowel Separator 6 |  // En quad 7 |  // Em quad 8 |  // En space 9 |  // Em space 10 |  // Three-Per-Em Space 11 |  // Four-Per-Em Space 12 |  // Six-Per-Em Space 13 |  // Figure Space 14 |  // Punctuation Space 15 |  // Thin Space 16 |  // Hair Space 17 |  // Narrow No-Break Space 18 |  // Medium Mathematical Space 19 |  // Ideographic Space 20 | return a; 21 | } 22 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/with.js: -------------------------------------------------------------------------------- 1 | with({}) { 2 | }; 3 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/269.js: -------------------------------------------------------------------------------- 1 | var jsp = require("uglify-js").parser; 2 | var pro = require("uglify-js").uglify; 3 | 4 | var test_code = "var JSON;JSON||(JSON={});"; 5 | 6 | var ast = jsp.parse(test_code, false, false); 7 | var nonembed_token_code = pro.gen_code(ast); 8 | ast = jsp.parse(test_code, false, true); 9 | var embed_token_code = pro.gen_code(ast); 10 | 11 | console.log("original: " + test_code); 12 | console.log("no token: " + nonembed_token_code); 13 | console.log(" token: " + embed_token_code); 14 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/embed-tokens.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | 3 | global.sys = require(/^v0\.[012]/.test(process.version) ? "sys" : "util"); 4 | var fs = require("fs"); 5 | var uglify = require("uglify-js"), // symlink ~/.node_libraries/uglify-js.js to ../uglify-js.js 6 | jsp = uglify.parser, 7 | pro = uglify.uglify; 8 | 9 | var code = fs.readFileSync("embed-tokens.js", "utf8").replace(/^#.*$/mg, ""); 10 | var ast = jsp.parse(code, null, true); 11 | 12 | // trololo 13 | function fooBar() {} 14 | 15 | console.log(sys.inspect(ast, null, null)); 16 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/goto.js: -------------------------------------------------------------------------------- 1 | function unique(arqw) { 2 | var a = [], i, j 3 | outer: for (i = 0; i < arqw.length; i++) { 4 | for (j = 0; j < a.length; j++) { 5 | if (a[j] == arqw[i]) { 6 | continue outer 7 | } 8 | } 9 | a[a.length] = arqw[i] 10 | } 11 | return a 12 | } 13 | 14 | 15 | function unique(arqw) { 16 | var crap = [], i, j 17 | outer: for (i = 0; i < arqw.length; i++) { 18 | for (j = 0; j < crap.length; j++) { 19 | if (crap[j] == arqw[i]) { 20 | continue outer 21 | } 22 | } 23 | crap[crap.length] = arqw[i] 24 | } 25 | return crap 26 | } 27 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/goto2.js: -------------------------------------------------------------------------------- 1 | function q(qooo) { 2 | var a; 3 | foo: for(;;) { 4 | a++; 5 | if (something) break foo; 6 | return qooo; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/hoist.js: -------------------------------------------------------------------------------- 1 | function foo(arg1, arg2, arg3, arg4, arg5, arg6) { 2 | var a = 5; 3 | { 4 | var d = 10, mak = 20, buz = 30; 5 | var q = buz * 2; 6 | } 7 | if (moo) { 8 | var a, b, c; 9 | } 10 | for (var arg1 = 0, d = 20; arg1 < 10; ++arg1) 11 | console.log(arg3); 12 | for (var i in mak) {} 13 | for (j in d) {} 14 | var d; 15 | 16 | function test() { 17 | 18 | }; 19 | 20 | //test(); 21 | 22 | (function moo(first, second){ 23 | console.log(first); 24 | })(1); 25 | 26 | (function moo(first, second){ 27 | console.log(moo()); 28 | })(1); 29 | } 30 | 31 | 32 | var foo; 33 | var bar; 34 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/liftvars.js: -------------------------------------------------------------------------------- 1 | var UNUSED_VAR1 = 19; 2 | 3 | function main() { 4 | var unused_var2 = 20; 5 | alert(100); 6 | } 7 | 8 | main(); 9 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/test.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | 3 | global.sys = require(/^v0\.[012]/.test(process.version) ? "sys" : "util"); 4 | var fs = require("fs"); 5 | var uglify = require("uglify-js"), // symlink ~/.node_libraries/uglify-js.js to ../uglify-js.js 6 | jsp = uglify.parser, 7 | pro = uglify.uglify; 8 | 9 | var code = fs.readFileSync("hoist.js", "utf8"); 10 | var ast = jsp.parse(code); 11 | 12 | ast = pro.ast_lift_variables(ast); 13 | 14 | var w = pro.ast_walker(); 15 | ast = w.with_walkers({ 16 | "function": function() { 17 | var node = w.dive(this); // walk depth first 18 | console.log(pro.gen_code(node, { beautify: true })); 19 | return node; 20 | }, 21 | "name": function(name) { 22 | return [ this[0], "X" ]; 23 | } 24 | }, function(){ 25 | return w.walk(ast); 26 | }); 27 | 28 | console.log(pro.gen_code(ast, { 29 | beautify: true 30 | })); 31 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/uglify-js.js: -------------------------------------------------------------------------------- 1 | //convienence function(src, [options]); 2 | function uglify(orig_code, options){ 3 | options || (options = {}); 4 | var jsp = uglify.parser; 5 | var pro = uglify.uglify; 6 | 7 | var ast = jsp.parse(orig_code, options.strict_semicolons); // parse code and get the initial AST 8 | ast = pro.ast_mangle(ast, options.mangle_options); // get a new AST with mangled names 9 | ast = pro.ast_squeeze(ast, options.squeeze_options); // get an AST with compression optimizations 10 | var final_code = pro.gen_code(ast, options.gen_options); // compressed code here 11 | return final_code; 12 | }; 13 | 14 | uglify.parser = require("./lib/parse-js"); 15 | uglify.uglify = require("./lib/process"); 16 | 17 | module.exports = uglify -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/.npmignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | node_modules 3 | .*.swp 4 | .lock-* 5 | build 6 | 7 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | npm_args: --ws:native 3 | node_js: 4 | - "0.6" 5 | - "0.8" 6 | - "0.10" 7 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/Makefile: -------------------------------------------------------------------------------- 1 | ALL_TESTS = $(shell find test/ -name '*.test.js') 2 | ALL_INTEGRATION = $(shell find test/ -name '*.integration.js') 3 | 4 | all: 5 | node-gyp configure build 6 | 7 | clean: 8 | node-gyp clean 9 | 10 | run-tests: 11 | @./node_modules/.bin/mocha \ 12 | -t 2000 \ 13 | -s 2400 \ 14 | $(TESTFLAGS) \ 15 | $(TESTS) 16 | 17 | run-integrationtests: 18 | @./node_modules/.bin/mocha \ 19 | -t 5000 \ 20 | -s 6000 \ 21 | $(TESTFLAGS) \ 22 | $(TESTS) 23 | 24 | test: 25 | @$(MAKE) NODE_TLS_REJECT_UNAUTHORIZED=0 NODE_PATH=lib TESTS="$(ALL_TESTS)" run-tests 26 | 27 | integrationtest: 28 | @$(MAKE) NODE_TLS_REJECT_UNAUTHORIZED=0 NODE_PATH=lib TESTS="$(ALL_INTEGRATION)" run-integrationtests 29 | 30 | benchmark: 31 | @node bench/sender.benchmark.js 32 | @node bench/parser.benchmark.js 33 | 34 | autobahn: 35 | @NODE_PATH=lib node test/autobahn.js 36 | 37 | autobahn-server: 38 | @NODE_PATH=lib node test/autobahn-server.js 39 | 40 | .PHONY: test 41 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/binding.gyp: -------------------------------------------------------------------------------- 1 | { 2 | 'targets': [ 3 | { 4 | 'target_name': 'validation', 5 | 'include_dirs': [" 2 | 3 | 4 | 12 | 13 | 14 | 15 | 16 |

This example will upload an entire directory tree to the node.js server via a fast and persistent WebSocket connection.

17 |

Note that the example is Chrome only for now.

18 |

19 | Upload status: 20 |
Please select a directory to upload.
21 | 22 | 23 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/examples/serverstats-express_3/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "", 3 | "name": "serverstats", 4 | "version": "0.0.0", 5 | "repository": { 6 | "type": "git", 7 | "url": "git://github.com/einaros/ws.git" 8 | }, 9 | "engines": { 10 | "node": ">0.4.0" 11 | }, 12 | "dependencies": { 13 | "express": "~3.0.0" 14 | }, 15 | "devDependencies": {}, 16 | "optionalDependencies": {} 17 | } 18 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/examples/serverstats-express_3/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 26 | 27 | 28 | Server Stats
29 | RSS:

30 | Heap total:

31 | Heap used:

32 | 33 | 34 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/examples/serverstats-express_3/server.js: -------------------------------------------------------------------------------- 1 | var WebSocketServer = require('../../').Server 2 | , http = require('http') 3 | , express = require('express') 4 | , app = express(); 5 | 6 | app.use(express.static(__dirname + '/public')); 7 | 8 | var server = http.createServer(app); 9 | server.listen(8080); 10 | 11 | var wss = new WebSocketServer({server: server}); 12 | wss.on('connection', function(ws) { 13 | var id = setInterval(function() { 14 | ws.send(JSON.stringify(process.memoryUsage()), function() { /* ignore errors */ }); 15 | }, 100); 16 | console.log('started client interval'); 17 | ws.on('close', function() { 18 | console.log('stopping client interval'); 19 | clearInterval(id); 20 | }); 21 | }); 22 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/examples/serverstats/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "", 3 | "name": "serverstats", 4 | "version": "0.0.0", 5 | "repository": { 6 | "type": "git", 7 | "url": "git://github.com/einaros/ws.git" 8 | }, 9 | "engines": { 10 | "node": ">0.4.0" 11 | }, 12 | "dependencies": { 13 | "express": "2.x" 14 | }, 15 | "devDependencies": {}, 16 | "optionalDependencies": {} 17 | } 18 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/examples/serverstats/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 26 | 27 | 28 | Server Stats
29 | RSS:

30 | Heap total:

31 | Heap used:

32 | 33 | 34 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/examples/serverstats/server.js: -------------------------------------------------------------------------------- 1 | var WebSocketServer = require('../../').Server 2 | , http = require('http') 3 | , express = require('express') 4 | , app = express.createServer(); 5 | 6 | app.use(express.static(__dirname + '/public')); 7 | app.listen(8080); 8 | 9 | var wss = new WebSocketServer({server: app}); 10 | wss.on('connection', function(ws) { 11 | var id = setInterval(function() { 12 | ws.send(JSON.stringify(process.memoryUsage()), function() { /* ignore errors */ }); 13 | }, 100); 14 | console.log('started client interval'); 15 | ws.on('close', function() { 16 | console.log('stopping client interval'); 17 | clearInterval(id); 18 | }) 19 | }); 20 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | module.exports = require('./lib/WebSocket'); 8 | module.exports.Server = require('./lib/WebSocketServer'); 9 | module.exports.Sender = require('./lib/Sender'); 10 | module.exports.Receiver = require('./lib/Receiver'); 11 | 12 | module.exports.createServer = function (options, connectionListener) { 13 | var server = new module.exports.Server(options); 14 | if (typeof connectionListener === 'function') { 15 | server.on('connection', connectionListener); 16 | } 17 | return server; 18 | }; 19 | 20 | module.exports.connect = module.exports.createConnection = function (address, openListener) { 21 | var client = new module.exports(address); 22 | if (typeof openListener === 'function') { 23 | client.on('open', openListener); 24 | } 25 | return client; 26 | }; 27 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/lib/BufferUtil.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | try { 8 | module.exports = require('../build/Release/bufferutil'); 9 | } catch (e) { try { 10 | module.exports = require('../build/default/bufferutil'); 11 | } catch (e) { try { 12 | module.exports = require('./BufferUtil.fallback'); 13 | } catch (e) { 14 | console.error('bufferutil.node seems to not have been built. Run npm install.'); 15 | throw e; 16 | }}} 17 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/lib/ErrorCodes.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | module.exports = { 8 | isValidErrorCode: function(code) { 9 | return (code >= 1000 && code <= 1011 && code != 1004 && code != 1005 && code != 1006) || 10 | (code >= 3000 && code <= 4999); 11 | }, 12 | 1000: 'normal', 13 | 1001: 'going away', 14 | 1002: 'protocol error', 15 | 1003: 'unsupported data', 16 | 1004: 'reserved', 17 | 1005: 'reserved for extensions', 18 | 1006: 'reserved for extensions', 19 | 1007: 'inconsistent or invalid data', 20 | 1008: 'policy violation', 21 | 1009: 'message too big', 22 | 1010: 'extension handshake missing', 23 | 1011: 'an unexpected condition prevented the request from being fulfilled', 24 | }; -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/lib/Validation.fallback.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | module.exports.Validation = { 8 | isValidUTF8: function(buffer) { 9 | return true; 10 | } 11 | }; 12 | 13 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/lib/Validation.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | try { 8 | module.exports = require('../build/Release/validation'); 9 | } catch (e) { try { 10 | module.exports = require('../build/default/validation'); 11 | } catch (e) { try { 12 | module.exports = require('./Validation.fallback'); 13 | } catch (e) { 14 | console.error('validation.node seems to not have been built. Run npm install.'); 15 | throw e; 16 | }}} 17 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/lib/browser.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var global = (function() { return this; })(); 7 | 8 | /** 9 | * WebSocket constructor. 10 | */ 11 | 12 | var WebSocket = global.WebSocket || global.MozWebSocket; 13 | 14 | /** 15 | * Module exports. 16 | */ 17 | 18 | module.exports = WebSocket ? ws : null; 19 | 20 | /** 21 | * WebSocket constructor. 22 | * 23 | * The third `opts` options object gets ignored in web browsers, since it's 24 | * non-standard, and throws a TypeError if passed to the constructor. 25 | * See: https://github.com/einaros/ws/issues/227 26 | * 27 | * @param {String} uri 28 | * @param {Array} protocols (optional) 29 | * @param {Object) opts (optional) 30 | * @api public 31 | */ 32 | 33 | function ws(uri, protocols, opts) { 34 | var instance; 35 | if (protocols) { 36 | instance = new WebSocket(uri, protocols); 37 | } else { 38 | instance = new WebSocket(uri); 39 | } 40 | return instance; 41 | } 42 | 43 | if (WebSocket) ws.prototype = WebSocket.prototype; 44 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/commander/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/commander/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/commander/Makefile: -------------------------------------------------------------------------------- 1 | 2 | TESTS = $(shell find test/test.*.js) 3 | 4 | test: 5 | @./test/run $(TESTS) 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/commander/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/commander'); -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/commander/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "commander" 3 | , "version": "0.6.1" 4 | , "description": "the complete solution for node.js command-line programs" 5 | , "keywords": ["command", "option", "parser", "prompt", "stdin"] 6 | , "author": "TJ Holowaychuk " 7 | , "repository": { "type": "git", "url": "https://github.com/visionmedia/commander.js.git" } 8 | , "dependencies": {} 9 | , "devDependencies": { "should": ">= 0.0.1" } 10 | , "scripts": { "test": "make test" } 11 | , "main": "index" 12 | , "engines": { "node": ">= 0.4.x" } 13 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/nan/.index.js: -------------------------------------------------------------------------------- 1 | //noop -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/nan/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nan", 3 | "version": "0.3.2", 4 | "description": "Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility", 5 | "main": ".index.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "git://github.com/rvagg/nan.git" 9 | }, 10 | "contributors": [ 11 | "Rod Vagg (https://github.com/rvagg)", 12 | "Benjamin Byholm (https://github.com/kkoopa/)", 13 | "Trevor Norris (https://github.com/trevnorris)" 14 | ], 15 | "license": "MIT" 16 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/options/.npmignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | node_modules 3 | .*.swp 4 | .lock-* 5 | build/ 6 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/options/Makefile: -------------------------------------------------------------------------------- 1 | ALL_TESTS = $(shell find test/ -name '*.test.js') 2 | 3 | run-tests: 4 | @./node_modules/.bin/mocha \ 5 | -t 2000 \ 6 | $(TESTFLAGS) \ 7 | $(TESTS) 8 | 9 | test: 10 | @$(MAKE) NODE_PATH=lib TESTS="$(ALL_TESTS)" run-tests 11 | 12 | .PHONY: test 13 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/options/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Einar Otto Stangvik (http://2x.io)", 3 | "name": "options", 4 | "description": "A very light-weight in-code option parsers for node.js.", 5 | "version": "0.0.5", 6 | "repository": { 7 | "type": "git", 8 | "url": "git://github.com/einaros/options.js.git" 9 | }, 10 | "main": "lib/options", 11 | "scripts": { 12 | "test": "make test" 13 | }, 14 | "engines": { 15 | "node": ">=0.4.0" 16 | }, 17 | "dependencies": {}, 18 | "devDependencies": { 19 | "mocha": "latest" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/options/test/fixtures/test.conf: -------------------------------------------------------------------------------- 1 | { 2 | "a": "foobar", 3 | "b": false 4 | } -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/tinycolor/.gitignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | node_modules 3 | .*.swp 4 | .lock-* 5 | build/ 6 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/tinycolor/.npmignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | node_modules 3 | .*.swp 4 | .lock-* 5 | build/ 6 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/tinycolor/README.md: -------------------------------------------------------------------------------- 1 | # tinycolor # 2 | 3 | This is a no-fuzz, barebone, zero muppetry color module for node.js. -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/tinycolor/example.js: -------------------------------------------------------------------------------- 1 | require('./tinycolor'); 2 | console.log('this should be red and have an underline!'.grey.underline); 3 | console.log('this should have a blue background!'.bgBlue); -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/tinycolor/package (halo's conflicted copy 2014-03-15).json: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "name": "Einar Otto Stangvik", 4 | "email": "einaros@gmail.com", 5 | "url": "http://2x.io" 6 | }, 7 | "name": "tinycolor", 8 | "description": "a to-the-point color module for node", 9 | "version": "0.0.1", 10 | "repository": { 11 | "type": "git", 12 | "url": "git://github.com/einaros/tinycolor.git" 13 | }, 14 | "engines": { 15 | "node": ">=0.4.0" 16 | }, 17 | "dependencies": {}, 18 | "devDependencies": {}, 19 | "main": "tinycolor", 20 | "readme": "# tinycolor #\n\nThis is a no-fuzz, barebone, zero muppetry color module for node.js.", 21 | "readmeFilename": "README.md", 22 | "_id": "tinycolor@0.0.1", 23 | "_from": "tinycolor@0.x" 24 | } 25 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/tinycolor/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Einar Otto Stangvik (http://2x.io)", 3 | "name": "tinycolor", 4 | "description": "a to-the-point color module for node", 5 | "version": "0.0.1", 6 | "repository": { 7 | "type": "git", 8 | "url": "git://github.com/einaros/tinycolor.git" 9 | }, 10 | "engines": { 11 | "node": ">=0.4.0" 12 | }, 13 | "dependencies": {}, 14 | "devDependencies": {}, 15 | "main": "tinycolor" 16 | } 17 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Einar Otto Stangvik (http://2x.io)", 3 | "name": "ws", 4 | "description": "simple to use, blazing fast and thoroughly tested websocket client, server and console for node.js, up-to-date against RFC-6455", 5 | "version": "0.4.31", 6 | "keywords": [ 7 | "Hixie", 8 | "HyBi", 9 | "Push", 10 | "RFC-6455", 11 | "WebSocket", 12 | "WebSockets", 13 | "real-time" 14 | ], 15 | "repository": { 16 | "type": "git", 17 | "url": "git://github.com/einaros/ws.git" 18 | }, 19 | "bin": { 20 | "wscat": "./bin/wscat" 21 | }, 22 | "scripts": { 23 | "test": "make test", 24 | "install": "(node-gyp rebuild 2> builderror.log) || (exit 0)" 25 | }, 26 | "engines": { 27 | "node": ">=0.4.0" 28 | }, 29 | "dependencies": { 30 | "commander": "~0.6.1", 31 | "nan": "~0.3.0", 32 | "tinycolor": "0.x", 33 | "options": ">=0.0.5" 34 | }, 35 | "devDependencies": { 36 | "mocha": "1.12.0", 37 | "should": "1.2.x", 38 | "expect.js": "0.2.x", 39 | "benchmark": "0.3.x", 40 | "ansi": "latest" 41 | }, 42 | "browser": "./lib/browser.js", 43 | "component": { 44 | "scripts": { 45 | "ws/index.js": "./lib/browser.js" 46 | } 47 | }, 48 | "gypfile": true 49 | } 50 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/test/Sender.test.js: -------------------------------------------------------------------------------- 1 | var Sender = require('../lib/Sender'); 2 | require('should'); 3 | 4 | describe('Sender', function() { 5 | describe('#frameAndSend', function() { 6 | it('does not modify a masked binary buffer', function() { 7 | var sender = new Sender({ write: function() {} }); 8 | var buf = new Buffer([1, 2, 3, 4, 5]); 9 | sender.frameAndSend(2, buf, true, true); 10 | buf[0].should.eql(1); 11 | buf[1].should.eql(2); 12 | buf[2].should.eql(3); 13 | buf[3].should.eql(4); 14 | buf[4].should.eql(5); 15 | }); 16 | 17 | it('does not modify a masked text buffer', function() { 18 | var sender = new Sender({ write: function() {} }); 19 | var text = 'hi there'; 20 | sender.frameAndSend(1, text, true, true); 21 | text.should.eql('hi there'); 22 | }); 23 | }); 24 | }); 25 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/test/autobahn-server.js: -------------------------------------------------------------------------------- 1 | var WebSocketServer = require('../').Server; 2 | 3 | process.on('uncaughtException', function(err) { 4 | console.log('Caught exception: ', err, err.stack); 5 | }); 6 | 7 | process.on('SIGINT', function () { 8 | try { 9 | console.log('Updating reports and shutting down'); 10 | var ws = new WebSocket('ws://localhost:9001/updateReports?agent=ws'); 11 | ws.on('close', function() { 12 | process.exit(); 13 | }); 14 | } 15 | catch(e) { 16 | process.exit(); 17 | } 18 | }); 19 | 20 | var wss = new WebSocketServer({port: 8181}); 21 | wss.on('connection', function(ws) { 22 | console.log('new connection'); 23 | ws.on('message', function(data, flags) { 24 | ws.send(flags.buffer, {binary: flags.binary === true}); 25 | }); 26 | ws.on('error', function() { 27 | console.log('error', arguments); 28 | }); 29 | }); 30 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/test/fixtures/agent1-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICbjCCAdcCCQCVvok5oeLpqzANBgkqhkiG9w0BAQUFADB6MQswCQYDVQQGEwJV 3 | UzELMAkGA1UECBMCQ0ExCzAJBgNVBAcTAlNGMQ8wDQYDVQQKEwZKb3llbnQxEDAO 4 | BgNVBAsTB05vZGUuanMxDDAKBgNVBAMTA2NhMTEgMB4GCSqGSIb3DQEJARYRcnlA 5 | dGlueWNsb3Vkcy5vcmcwHhcNMTMwMzA4MDAzMDIyWhcNNDAwNzIzMDAzMDIyWjB9 6 | MQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExCzAJBgNVBAcTAlNGMQ8wDQYDVQQK 7 | EwZKb3llbnQxEDAOBgNVBAsTB05vZGUuanMxDzANBgNVBAMTBmFnZW50MTEgMB4G 8 | CSqGSIb3DQEJARYRcnlAdGlueWNsb3Vkcy5vcmcwgZ8wDQYJKoZIhvcNAQEBBQAD 9 | gY0AMIGJAoGBAL6GwKosYb0Yc3Qo0OtQVlCJ4208Idw11ij+t2W5sfYbCil5tyQo 10 | jnhGM1CJhEXynQpXXwjKJuIeTQCkeUibTyFKa0bs8+li2FiGoKYbb4G81ovnqkmE 11 | 2iDVb8Gw3rrM4zeZ0ZdFnjMsAZac8h6+C4sB/pS9BiMOo6qTl15RQlcJAgMBAAEw 12 | DQYJKoZIhvcNAQEFBQADgYEAOtmLo8DwTPnI4wfQbQ3hWlTS/9itww6IsxH2ODt9 13 | ggB7wi7N3uAdIWRZ54ke0NEAO5CW1xNTwsWcxQbiHrDOqX1vfVCjIenI76jVEEap 14 | /Ay53ydHNBKdsKkib61Me14Mu0bA3lUul57VXwmH4NUEFB3w973Q60PschUhOEXj 15 | 7DY= 16 | -----END CERTIFICATE----- 17 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/test/fixtures/agent1-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIICXAIBAAKBgQC+hsCqLGG9GHN0KNDrUFZQieNtPCHcNdYo/rdlubH2Gwopebck 3 | KI54RjNQiYRF8p0KV18IyibiHk0ApHlIm08hSmtG7PPpYthYhqCmG2+BvNaL56pJ 4 | hNog1W/BsN66zOM3mdGXRZ4zLAGWnPIevguLAf6UvQYjDqOqk5deUUJXCQIDAQAB 5 | AoGANu/CBA+SCyVOvRK70u4yRTzNMAUjukxnuSBhH1rg/pajYnwvG6T6F6IeT72n 6 | P0gKkh3JUE6B0bds+p9yPUZTFUXghxjcF33wlIY44H6gFE4K5WutsFJ9c450wtuu 7 | 8rXZTsIg7lAXWjTFVmdtOEPetcGlO2Hpi1O7ZzkzHgB2w9ECQQDksCCYx78or1zY 8 | ZSokm8jmpIjG3VLKdvI9HAoJRN40ldnwFoigrFa1AHwsFtWNe8bKyVRPDoLDUjpB 9 | dkPWgweVAkEA1UfgqguQ2KIkbtp9nDBionu3QaajksrRHwIa8vdfRfLxszfHk2fh 10 | NGY3dkRZF8HUAbzYLrd9poVhCBAEjWekpQJASOM6AHfpnXYHCZF01SYx6hEW5wsz 11 | kARJQODm8f1ZNTlttO/5q/xBxn7ZFNRSTD3fJlL05B2j380ddC/Vf1FT4QJAP1BC 12 | GliqnBSuGhZUWYxni3KMeTm9rzL0F29pjpzutHYlWB2D6ndY/FQnvL0XcZ0Bka58 13 | womIDGnl3x3aLBwLXQJBAJv6h5CHbXHx7VyDJAcNfppAqZGcEaiVg8yf2F33iWy2 14 | FLthhJucx7df7SO2aw5h06bRDRAhb9br0R9/3mLr7RE= 15 | -----END RSA PRIVATE KEY----- 16 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/test/fixtures/ca1-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICazCCAdQCCQC9/g69HtxXRzANBgkqhkiG9w0BAQUFADB6MQswCQYDVQQGEwJV 3 | UzELMAkGA1UECBMCQ0ExCzAJBgNVBAcTAlNGMQ8wDQYDVQQKEwZKb3llbnQxEDAO 4 | BgNVBAsTB05vZGUuanMxDDAKBgNVBAMTA2NhMTEgMB4GCSqGSIb3DQEJARYRcnlA 5 | dGlueWNsb3Vkcy5vcmcwHhcNMTMwMzA4MDAzMDIyWhcNNDAwNzIzMDAzMDIyWjB6 6 | MQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExCzAJBgNVBAcTAlNGMQ8wDQYDVQQK 7 | EwZKb3llbnQxEDAOBgNVBAsTB05vZGUuanMxDDAKBgNVBAMTA2NhMTEgMB4GCSqG 8 | SIb3DQEJARYRcnlAdGlueWNsb3Vkcy5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0A 9 | MIGJAoGBAKxr1mARUcv7zaqx5y4AxJPK6c1jdbSg7StcL4vg8klaPAlfNO6o+/Cl 10 | w5CdQD3ukaVUwUOJ4T/+b3Xf7785XcWBC33GdjVQkfbHATJYcka7j7JDw3qev5Jk 11 | 1rAbRw48hF6rYlSGcx1mccAjoLoa3I8jgxCNAYHIjUQXgdmU893rAgMBAAEwDQYJ 12 | KoZIhvcNAQEFBQADgYEAis05yxjCtJRuv8uX/DK6TX/j9C9Lzp1rKDNFTaTZ0iRw 13 | KCw1EcNx4OXSj9gNblW4PWxpDvygrt1AmH9h2cb8K859NSHa9JOBFw6MA5C2A4Sj 14 | NQfNATqUl4T6cdORlcDEZwHtT8b6D4A6Er31G/eJF4Sen0TUFpjdjd+l9RBjHlo= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/test/fixtures/ca1-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN ENCRYPTED PRIVATE KEY----- 2 | MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIFeWxJE1BrRECAggA 3 | MBQGCCqGSIb3DQMHBAgu9PlMSQ+BOASCAoDEZN2tX0xWo/N+Jg+PrvCrFDk3P+3x 4 | 5xG/PEDjtMCAWPBEwbnaYHDzYmhNcAmxzGqEHGMDiWYs46LbO560VS3uMvFbEWPo 5 | KYYVb13vkxl2poXdonCb5cHZA5GUYzTIVVJFptl4LHwBczHoMHtA4FqAhKlYvlWw 6 | EOrdLB8XcwMmGPFabbbGxno0+EWWM27uNjlogfoxj35mQqSW4rOlhZ460XjOB1Zx 7 | LjXMuZeONojkGYQRG5EUMchBoctQpCOM6cAi9r1B9BvtFCBpDV1c1zEZBzTEUd8o 8 | kLn6tjLmY+QpTdylFjEWc7U3ppLY/pkoTBv4r85a2sEMWqkhSJboLaTboWzDJcU3 9 | Ke61pMpovt/3yCUd3TKgwduVwwQtDVTlBe0p66aN9QVj3CrFy/bKAGO3vxlli24H 10 | aIjZf+OVoBY21ESlW3jLvNlBf7Ezf///2E7j4SCDLyZSFMTpFoAG/jDRyvi+wTKX 11 | Kh485Bptnip6DCSuoH4u2SkOqwz3gJS/6s02YKe4m311QT4Pzne5/FwOFaS/HhQg 12 | Xvyh2/d00OgJ0Y0PYQsHILPRgTUCKUXvj1O58opn3fxSacsPxIXwj6Z4FYAjUTaV 13 | 2B85k1lpant/JJEilDqMjqzx4pHZ/Z3Uto1lSM1JZs9SNL/0UR+6F0TXZTULVU9V 14 | w8jYzz4sPr7LEyrrTbzmjQgnQFVbhAN/eKgRZK/SpLjxpmBV5MfpbPKsPUZqT4UC 15 | 4nXa8a/NYUQ9e+QKK8enq9E599c2W442W7Z1uFRZTWReMx/lF8wwA6G8zOPG0bdj 16 | d+T5Gegzd5mvRiXMBklCo8RLxOOvgxun1n3PY4a63aH6mqBhdfhiLp5j 17 | -----END ENCRYPTED PRIVATE KEY----- 18 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/test/fixtures/certificate.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICATCCAWoCCQDPufXH86n2QzANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJu 3 | bzETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0 4 | cyBQdHkgTHRkMB4XDTEyMDEwMTE0NDQwMFoXDTIwMDMxOTE0NDQwMFowRTELMAkG 5 | A1UEBhMCbm8xEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0 6 | IFdpZGdpdHMgUHR5IEx0ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtrQ7 7 | +r//2iV/B6F+4boH0XqFn7alcV9lpjvAmwRXNKnxAoa0f97AjYPGNLKrjpkNXXhB 8 | JROIdbRbZnCNeC5fzX1a+JCo7KStzBXuGSZr27TtFmcV4H+9gIRIcNHtZmJLnxbJ 9 | sIhkGR8yVYdmJZe4eT5ldk1zoB1adgPF1hZhCBMCAwEAATANBgkqhkiG9w0BAQUF 10 | AAOBgQCeWBEHYJ4mCB5McwSSUox0T+/mJ4W48L/ZUE4LtRhHasU9hiW92xZkTa7E 11 | QLcoJKQiWfiLX2ysAro0NX4+V8iqLziMqvswnPzz5nezaOLE/9U/QvH3l8qqNkXu 12 | rNbsW1h/IO6FV8avWFYVFoutUwOaZ809k7iMh2F2JMgXQ5EymQ== 13 | -----END CERTIFICATE----- 14 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/test/fixtures/key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIICXAIBAAKBgQC2tDv6v//aJX8HoX7hugfReoWftqVxX2WmO8CbBFc0qfEChrR/ 3 | 3sCNg8Y0squOmQ1deEElE4h1tFtmcI14Ll/NfVr4kKjspK3MFe4ZJmvbtO0WZxXg 4 | f72AhEhw0e1mYkufFsmwiGQZHzJVh2Yll7h5PmV2TXOgHVp2A8XWFmEIEwIDAQAB 5 | AoGAAlVY8sHi/aE+9xT77twWX3mGHV0SzdjfDnly40fx6S1Gc7bOtVdd9DC7pk6l 6 | 3ENeJVR02IlgU8iC5lMHq4JEHPE272jtPrLlrpWLTGmHEqoVFv9AITPqUDLhB9Kk 7 | Hjl7h8NYBKbr2JHKICr3DIPKOT+RnXVb1PD4EORbJ3ooYmkCQQDfknUnVxPgxUGs 8 | ouABw1WJIOVgcCY/IFt4Ihf6VWTsxBgzTJKxn3HtgvE0oqTH7V480XoH0QxHhjLq 9 | DrgobWU9AkEA0TRJ8/ouXGnFEPAXjWr9GdPQRZ1Use2MrFjneH2+Sxc0CmYtwwqL 10 | Kr5kS6mqJrxprJeluSjBd+3/ElxURrEXjwJAUvmlN1OPEhXDmRHd92mKnlkyKEeX 11 | OkiFCiIFKih1S5Y/sRJTQ0781nyJjtJqO7UyC3pnQu1oFEePL+UEniRztQJAMfav 12 | AtnpYKDSM+1jcp7uu9BemYGtzKDTTAYfoiNF42EzSJiGrWJDQn4eLgPjY0T0aAf/ 13 | yGz3Z9ErbhMm/Ysl+QJBAL4kBxRT8gM4ByJw4sdOvSeCCANFq8fhbgm8pGWlCPb5 14 | JGmX3/GHFM8x2tbWMGpyZP1DLtiNEFz7eCGktWK5rqE= 15 | -----END RSA PRIVATE KEY----- 16 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/test/fixtures/request.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIBhDCB7gIBADBFMQswCQYDVQQGEwJubzETMBEGA1UECAwKU29tZS1TdGF0ZTEh 3 | MB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIGfMA0GCSqGSIb3DQEB 4 | AQUAA4GNADCBiQKBgQC2tDv6v//aJX8HoX7hugfReoWftqVxX2WmO8CbBFc0qfEC 5 | hrR/3sCNg8Y0squOmQ1deEElE4h1tFtmcI14Ll/NfVr4kKjspK3MFe4ZJmvbtO0W 6 | ZxXgf72AhEhw0e1mYkufFsmwiGQZHzJVh2Yll7h5PmV2TXOgHVp2A8XWFmEIEwID 7 | AQABoAAwDQYJKoZIhvcNAQEFBQADgYEAjsUXEARgfxZNkMjuUcudgU2w4JXS0gGI 8 | JQ0U1LmU0vMDSKwqndMlvCbKzEgPbJnGJDI8D4MeINCJHa5Ceyb8c+jaJYUcCabl 9 | lQW5Psn3+eWp8ncKlIycDRj1Qk615XuXtV0fhkrgQM2ZCm9LaQ1O1Gd/CzLihLjF 10 | W0MmgMKMMRk= 11 | -----END CERTIFICATE REQUEST----- 12 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/autotest.watchr: -------------------------------------------------------------------------------- 1 | def run_all_tests 2 | puts `clear` 3 | puts `node tests/test-constants.js` 4 | puts `node tests/test-headers.js` 5 | puts `node tests/test-request.js` 6 | end 7 | watch('.*.js') { run_all_tests } 8 | run_all_tests 9 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/example/demo.js: -------------------------------------------------------------------------------- 1 | var sys = require('util'); 2 | var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest; 3 | 4 | var xhr = new XMLHttpRequest(); 5 | 6 | xhr.onreadystatechange = function() { 7 | sys.puts("State: " + this.readyState); 8 | 9 | if (this.readyState == 4) { 10 | sys.puts("Complete.\nBody length: " + this.responseText.length); 11 | sys.puts("Body:\n" + this.responseText); 12 | } 13 | }; 14 | 15 | xhr.open("GET", "http://driverdan.com"); 16 | xhr.send(); 17 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xmlhttprequest" 3 | , "description": "XMLHttpRequest for Node" 4 | , "version": "1.4.2" 5 | , "author": { 6 | "name": "Dan DeFelippi" 7 | , "url": "http://driverdan.com" 8 | } 9 | , "keywords": ["xhr", "ajax"] 10 | , "licenses": [{ 11 | "type": "MIT" 12 | , "url": "http://creativecommons.org/licenses/MIT/" 13 | }] 14 | , "repository": { 15 | "type": "git" 16 | , "url": "git://github.com/driverdan/node-XMLHttpRequest.git" 17 | } 18 | , "bugs": "http://github.com/driverdan/node-XMLHttpRequest/issues" 19 | , "engines": { 20 | "node": ">=0.4.0" 21 | } 22 | , "directories": { 23 | "lib": "./lib" 24 | , "example": "./example" 25 | } 26 | , "main": "./lib/XMLHttpRequest.js" 27 | } 28 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/tests/test-constants.js: -------------------------------------------------------------------------------- 1 | var sys = require("util") 2 | , assert = require("assert") 3 | , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest 4 | , xhr = new XMLHttpRequest(); 5 | 6 | // Test constant values 7 | assert.equal(0, xhr.UNSENT); 8 | assert.equal(1, xhr.OPENED); 9 | assert.equal(2, xhr.HEADERS_RECEIVED); 10 | assert.equal(3, xhr.LOADING); 11 | assert.equal(4, xhr.DONE); 12 | 13 | sys.puts("done"); 14 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/tests/test-request-protocols.js: -------------------------------------------------------------------------------- 1 | var sys = require("util") 2 | , assert = require("assert") 3 | , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest 4 | , xhr; 5 | 6 | xhr = new XMLHttpRequest(); 7 | 8 | xhr.onreadystatechange = function() { 9 | if (this.readyState == 4) { 10 | assert.equal("Hello World", this.responseText); 11 | this.close(); 12 | runSync(); 13 | } 14 | }; 15 | 16 | // Async 17 | var url = "file://" + __dirname + "/testdata.txt"; 18 | xhr.open("GET", url); 19 | xhr.send(); 20 | 21 | // Sync 22 | var runSync = function() { 23 | xhr = new XMLHttpRequest(); 24 | 25 | xhr.onreadystatechange = function() { 26 | if (this.readyState == 4) { 27 | assert.equal("Hello World", this.responseText); 28 | this.close(); 29 | sys.puts("done"); 30 | } 31 | }; 32 | xhr.open("GET", url, false); 33 | xhr.send(); 34 | } 35 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/tests/testdata.txt: -------------------------------------------------------------------------------- 1 | Hello World 2 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/test/io.test.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * socket.io-node 4 | * Copyright(c) 2011 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | (function (module, io, should) { 9 | 10 | module.exports = { 11 | 12 | 'client version number': function () { 13 | io.version.should().match(/([0-9]+)\.([0-9]+)\.([0-9]+)/); 14 | }, 15 | 16 | 'socket.io protocol version': function () { 17 | io.protocol.should().be.a('number'); 18 | io.protocol.toString().should().match(/^\d+$/); 19 | }, 20 | 21 | 'socket.io available transports': function () { 22 | (io.transports.length > 0).should().be_true; 23 | } 24 | 25 | }; 26 | 27 | })( 28 | 'undefined' == typeof module ? module = {} : module 29 | , 'undefined' == typeof io ? require('socket.io-client') : io 30 | , 'undefined' == typeof should ? require('should') : should 31 | ); 32 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/socket.io-client/test/worker.js: -------------------------------------------------------------------------------- 1 | importScripts('/socket.io/socket.io.js'); 2 | 3 | self.onmessage = function (ev) { 4 | var url = ev.data 5 | , socket = io.connect(url); 6 | 7 | socket.on('done', function () { 8 | self.postMessage('done!'); 9 | }); 10 | 11 | socket.on('connect_failed', function () { 12 | self.postMessage('connect failed'); 13 | }); 14 | 15 | socket.on('error', function () { 16 | self.postMessage('error'); 17 | }); 18 | 19 | socket.send('woot'); 20 | } 21 | -------------------------------------------------------------------------------- /server/node_modules/sqlite3/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .lock-wscript 3 | build/ 4 | TODO 5 | wiki 6 | lib/sqlite3_bindings.node 7 | deps/sqlite-autoconf-3070800 -------------------------------------------------------------------------------- /server/node_modules/sqlite3/Makefile: -------------------------------------------------------------------------------- 1 | 2 | build: 3 | node-waf build 4 | 5 | clean: 6 | node-waf clean 7 | 8 | db: 9 | @if ! [ -f test/support/big.db ]; then \ 10 | echo "Creating test database... This may take several minutes." ; \ 11 | node test/support/createdb.js ; \ 12 | fi 13 | 14 | ifndef only 15 | test: build db 16 | @rm -rf ./test/tmp && mkdir -p ./test/tmp 17 | @expresso -I lib test/*.test.js 18 | else 19 | test: build db 20 | @rm -rf ./test/tmp && mkdir -p ./test/tmp 21 | @expresso -I lib test/${only}.test.js 22 | endif 23 | 24 | .PHONY: build clean test -------------------------------------------------------------------------------- /server/node_modules/sqlite3/configure: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | node-waf configure $@ -------------------------------------------------------------------------------- /server/node_modules/sqlite3/deps/sqlite-autoconf-3070800.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/server/node_modules/sqlite3/deps/sqlite-autoconf-3070800.tar.gz -------------------------------------------------------------------------------- /server/node_modules/sqlite3/examples/simple-chaining.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Shows how to use chaining rather than the `serialize` method. 3 | */ 4 | "use strict"; 5 | 6 | var sqlite3 = require('sqlite3').verbose(); 7 | var db; 8 | 9 | function createDb() { 10 | console.log("createDb chain"); 11 | db = new sqlite3.Database('chain.sqlite3', createTable); 12 | } 13 | 14 | 15 | function createTable() { 16 | console.log("createTable lorem"); 17 | db.run("CREATE TABLE IF NOT EXISTS lorem (info TEXT)", insertRows); 18 | } 19 | 20 | function insertRows() { 21 | console.log("insertRows Ipsum i"); 22 | var stmt = db.prepare("INSERT INTO lorem VALUES (?)"); 23 | 24 | for (var i = 0; i < 10; i++) { 25 | stmt.run("Ipsum " + i); 26 | } 27 | 28 | stmt.finalize(readAllRows); 29 | } 30 | 31 | function readAllRows() { 32 | console.log("readAllRows lorem"); 33 | db.all("SELECT rowid AS id, info FROM lorem", function(err, rows) { 34 | rows.forEach(function (row) { 35 | console.log(row.id + ": " + row.info); 36 | }); 37 | closeDb(); 38 | }); 39 | } 40 | 41 | function closeDb() { 42 | console.log("closeDb"); 43 | db.close(); 44 | } 45 | 46 | function runChainExample() { 47 | createDb(); 48 | } 49 | 50 | runChainExample(); 51 | -------------------------------------------------------------------------------- /server/node_modules/sqlite3/lib/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./sqlite3'); 2 | -------------------------------------------------------------------------------- /server/node_modules/sqlite3/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sqlite3", 3 | "description": "Asynchronous, non-blocking SQLite3 bindings", 4 | "version": "2.0.18", 5 | "homepage": "http://github.com/developmentseed/node-sqlite3", 6 | "author": "Konstantin Käfer ", 7 | "contributors": [ 8 | "Orlando Vazquez ", 9 | "Artem Kustikov ", 10 | "Eric Fredricksen ", 11 | "John Wright ", 12 | "Ryan Dahl ", 13 | "Will White ", 14 | "Tom MacWright ", 15 | "Dane Springmeyer ", 16 | "Carter Thaxton ", 17 | "Audrius Kažukauskas ", 18 | "Johannes Schauer " 19 | ], 20 | "repository": { 21 | "type": "git", 22 | "url": "git://github.com/developmentseed/node-sqlite3.git" 23 | }, 24 | "devDependencies": { 25 | "step": "0.0.4" 26 | }, 27 | "engines": { 28 | "node": ">=0.2.4 <0.5" 29 | }, 30 | "licenses": [{ "type": "BSD" }], 31 | "main": "./lib/sqlite3" 32 | } 33 | -------------------------------------------------------------------------------- /server/node_modules/sqlite3/sqlite3.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/sqlite3'); 2 | -------------------------------------------------------------------------------- /server/node_modules/sqlite3/test/affected.test.js: -------------------------------------------------------------------------------- 1 | var sqlite3 = require('sqlite3'); 2 | var assert = require('assert'); 3 | 4 | if (process.setMaxListeners) process.setMaxListeners(0); 5 | 6 | exports['test row changes and lastID'] = function(beforeExit) { 7 | var db = new sqlite3.Database(':memory:'); 8 | 9 | var finished = false; 10 | 11 | db.serialize(function() { 12 | db.run("CREATE TABLE foo (id INT, txt TEXT)"); 13 | var stmt = db.prepare("INSERT INTO foo VALUES(?, ?)"); 14 | var j = 1; 15 | for (var i = 0; i < 1000; i++) { 16 | stmt.run(i, "demo", function(err) { 17 | if (err) throw err; 18 | // Relies on SQLite's row numbering to be gapless and starting 19 | // from 1. 20 | assert.equal(j++, this.lastID); 21 | }); 22 | } 23 | 24 | db.run("UPDATE foo SET id = id + 1 WHERE id % 2 = 0", function(err) { 25 | if (err) throw err; 26 | assert.equal(500, this.changes); 27 | finished = true; 28 | }); 29 | }); 30 | 31 | beforeExit(function() { 32 | assert.ok(finished); 33 | }) 34 | } 35 | -------------------------------------------------------------------------------- /server/node_modules/sqlite3/test/extension.test.js: -------------------------------------------------------------------------------- 1 | var sqlite3 = require('sqlite3'); 2 | var assert = require('assert'); 3 | var path = require('path'); 4 | 5 | if (process.setMaxListeners) process.setMaxListeners(0); 6 | 7 | var spatialite_ext = '/usr/local/lib/libspatialite.dylib'; 8 | 9 | exports['test loadExtension'] = function(beforeExit) { 10 | var db = new sqlite3.Database(':memory:'); 11 | var completed = false; 12 | 13 | if (path.existsSync(spatialite_ext)) { 14 | db.loadExtension(spatialite_ext, function(err) { 15 | if (err) throw err; 16 | completed = true; 17 | }); 18 | } else { 19 | completed = true; 20 | } 21 | 22 | beforeExit(function() { 23 | assert.ok(completed); 24 | }); 25 | } 26 | -------------------------------------------------------------------------------- /server/node_modules/sqlite3/test/named_columns.test.js: -------------------------------------------------------------------------------- 1 | var sqlite3 = require('sqlite3'); 2 | var assert = require('assert'); 3 | 4 | if (process.setMaxListeners) process.setMaxListeners(0); 5 | 6 | exports['test named columns'] = function(beforeExit) { 7 | var db = new sqlite3.Database(':memory:'); 8 | 9 | var finished = false; 10 | 11 | db.serialize(function() { 12 | db.run("CREATE TABLE foo (txt TEXT, num INT)"); 13 | 14 | db.run("INSERT INTO foo VALUES($text, $id)", { 15 | $id: 1, 16 | $text: "Lorem Ipsum" 17 | }); 18 | 19 | db.get("SELECT txt, num FROM foo ORDER BY num", function(err, row) { 20 | if (err) throw err; 21 | 22 | assert.equal(row.txt, "Lorem Ipsum"); 23 | assert.equal(row.num, 1); 24 | 25 | finished = true; 26 | }); 27 | 28 | }); 29 | 30 | beforeExit(function() { 31 | assert.ok(finished); 32 | }); 33 | }; -------------------------------------------------------------------------------- /server/node_modules/sqlite3/test/parallel_insert.test.js: -------------------------------------------------------------------------------- 1 | var sqlite3 = require('sqlite3'); 2 | var assert = require('assert'); 3 | var util = require('util'); 4 | var helper = require('./support/helper'); 5 | 6 | if (process.setMaxListeners) process.setMaxListeners(0); 7 | 8 | exports['test parallel inserts'] = function(beforeExit) { 9 | var completed = false; 10 | helper.deleteFile('test/tmp/test_parallel_inserts.db'); 11 | var db = new sqlite3.Database('test/tmp/test_parallel_inserts.db'); 12 | 13 | var columns = []; 14 | for (var i = 0; i < 128; i++) { 15 | columns.push('id' + i); 16 | } 17 | 18 | db.serialize(function() { 19 | db.run("CREATE TABLE foo (" + columns + ")"); 20 | }); 21 | 22 | for (var i = 0; i < 1000; i++) { 23 | for (var values = [], j = 0; j < columns.length; j++) { 24 | values.push(i * j); 25 | } 26 | db.run("INSERT INTO foo VALUES (" + values + ")"); 27 | } 28 | 29 | db.close(function() { 30 | completed = true; 31 | }); 32 | 33 | beforeExit(function() { 34 | assert.ok(completed); 35 | assert.fileExists('test/tmp/test_parallel_inserts.db'); 36 | helper.deleteFile('test/tmp/test_parallel_inserts.db'); 37 | }); 38 | }; 39 | -------------------------------------------------------------------------------- /server/node_modules/sqlite3/test/profile.test.js: -------------------------------------------------------------------------------- 1 | var sqlite3 = require('sqlite3'); 2 | var assert = require('assert'); 3 | var util = require('util'); 4 | 5 | if (process.setMaxListeners) process.setMaxListeners(0); 6 | 7 | exports['test Database profiling'] = function(beforeExit) { 8 | var db = new sqlite3.Database(':memory:'); 9 | var create = false; 10 | var select = false; 11 | 12 | db.on('profile', function(sql, nsecs) { 13 | assert.ok(typeof nsecs === "number"); 14 | if (sql.match(/^SELECT/)) { 15 | assert.ok(!select); 16 | assert.equal(sql, "SELECT * FROM foo"); 17 | select = true; 18 | } 19 | else if (sql.match(/^CREATE/)) { 20 | assert.ok(!create); 21 | assert.equal(sql, "CREATE TABLE foo (id int)"); 22 | create = true; 23 | } 24 | else { 25 | assert.ok(false); 26 | } 27 | }); 28 | 29 | db.serialize(function() { 30 | db.run("CREATE TABLE foo (id int)"); 31 | db.run("SELECT * FROM foo"); 32 | }); 33 | 34 | db.close(); 35 | 36 | beforeExit(function() { 37 | assert.ok(create); 38 | assert.ok(select); 39 | }); 40 | }; 41 | -------------------------------------------------------------------------------- /server/node_modules/sqlite3/test/support/createdb.js: -------------------------------------------------------------------------------- 1 | var sqlite3 = require('../../lib/sqlite3'); 2 | 3 | function randomString() { 4 | var str = ''; 5 | var chars = 'abcdefghijklmnopqrstuvwxzyABCDEFGHIJKLMNOPQRSTUVWXZY0123456789 '; 6 | for (var i = Math.random() * 100; i > 0; i--) { 7 | str += chars[Math.floor(Math.random() * chars.length)]; 8 | } 9 | return str; 10 | }; 11 | 12 | var db = new sqlite3.Database('test/support/big.db'); 13 | 14 | var count = 10000000; 15 | 16 | db.serialize(function() { 17 | db.run("CREATE TABLE foo (id INT, txt TEXT)"); 18 | 19 | db.run("BEGIN TRANSACTION"); 20 | var stmt = db.prepare("INSERT INTO foo VALUES(?, ?)"); 21 | for (var i = 0; i < count; i++) { 22 | stmt.run(i, randomString()); 23 | } 24 | stmt.finalize(); 25 | db.run("COMMIT TRANSACTION"); 26 | }); 27 | -------------------------------------------------------------------------------- /server/node_modules/sqlite3/test/support/elmo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/server/node_modules/sqlite3/test/support/elmo.png -------------------------------------------------------------------------------- /server/node_modules/sqlite3/test/support/helper.js: -------------------------------------------------------------------------------- 1 | var assert = require('assert'); 2 | var fs = require('fs'); 3 | 4 | exports.deleteFile = function(name) { 5 | try { 6 | fs.unlinkSync(name); 7 | } catch(err) { 8 | if (err.errno !== process.ENOENT && err.code !== 'ENOENT') { 9 | throw err; 10 | } 11 | } 12 | }; 13 | 14 | assert.fileDoesNotExist = function(name) { 15 | try { 16 | fs.statSync(name); 17 | } catch(err) { 18 | if (err.errno !== process.ENOENT && err.code !== 'ENOENT') { 19 | throw err; 20 | } 21 | } 22 | }; 23 | 24 | assert.fileExists = function(name) { 25 | try { 26 | fs.statSync(name); 27 | } catch(err) { 28 | throw err; 29 | } 30 | }; -------------------------------------------------------------------------------- /server/node_modules/sqlite3/test/support/prepare.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/server/node_modules/sqlite3/test/support/prepare.db -------------------------------------------------------------------------------- /sounds/countdown.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/sounds/countdown.mp3 -------------------------------------------------------------------------------- /sounds/end.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/sounds/end.mp3 -------------------------------------------------------------------------------- /sounds/end2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/sounds/end2.mp3 -------------------------------------------------------------------------------- /sounds/flamingo.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/sounds/flamingo.mp3 -------------------------------------------------------------------------------- /sounds/hit1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/sounds/hit1.mp3 -------------------------------------------------------------------------------- /sounds/hit2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/sounds/hit2.mp3 -------------------------------------------------------------------------------- /sounds/parrot1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/sounds/parrot1.mp3 -------------------------------------------------------------------------------- /sounds/parrot2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/sounds/parrot2.mp3 -------------------------------------------------------------------------------- /sounds/reload.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/sounds/reload.mp3 -------------------------------------------------------------------------------- /sounds/shot.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/sounds/shot.mp3 -------------------------------------------------------------------------------- /sounds/start.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/sounds/start.mp3 -------------------------------------------------------------------------------- /sounds/zoom.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/sounds/zoom.wav -------------------------------------------------------------------------------- /textures/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/.DS_Store -------------------------------------------------------------------------------- /textures/cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/cloud.png -------------------------------------------------------------------------------- /textures/dirt-512.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/dirt-512.jpg -------------------------------------------------------------------------------- /textures/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/feather.png -------------------------------------------------------------------------------- /textures/feather2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/feather2.png -------------------------------------------------------------------------------- /textures/gold.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/gold.jpg -------------------------------------------------------------------------------- /textures/gold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/gold.png -------------------------------------------------------------------------------- /textures/grass-512.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/grass-512.jpg -------------------------------------------------------------------------------- /textures/grass.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/grass.jpg -------------------------------------------------------------------------------- /textures/grass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/grass.png -------------------------------------------------------------------------------- /textures/grass2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/grass2.jpg -------------------------------------------------------------------------------- /textures/grass3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/grass3.jpg -------------------------------------------------------------------------------- /textures/grass_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/grass_1.png -------------------------------------------------------------------------------- /textures/grass_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/grass_2.png -------------------------------------------------------------------------------- /textures/grass_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/grass_3.png -------------------------------------------------------------------------------- /textures/grass_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/grass_4.png -------------------------------------------------------------------------------- /textures/grass_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/grass_5.jpg -------------------------------------------------------------------------------- /textures/grass_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/grass_6.png -------------------------------------------------------------------------------- /textures/grass_flowers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/grass_flowers.jpg -------------------------------------------------------------------------------- /textures/grass_n1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/grass_n1.png -------------------------------------------------------------------------------- /textures/heightmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/heightmap.png -------------------------------------------------------------------------------- /textures/leaf1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/leaf1.png -------------------------------------------------------------------------------- /textures/leaf_snow3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/leaf_snow3.jpg -------------------------------------------------------------------------------- /textures/leaves2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/leaves2.png -------------------------------------------------------------------------------- /textures/leaveseamless.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/leaveseamless.jpg -------------------------------------------------------------------------------- /textures/raindrop2flip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/raindrop2flip.png -------------------------------------------------------------------------------- /textures/rock-512.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/rock-512.jpg -------------------------------------------------------------------------------- /textures/rock_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/rock_1.jpg -------------------------------------------------------------------------------- /textures/rock_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/rock_2.jpg -------------------------------------------------------------------------------- /textures/rock_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/rock_3.jpg -------------------------------------------------------------------------------- /textures/rock_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/rock_4.jpg -------------------------------------------------------------------------------- /textures/rock_6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/rock_6.jpg -------------------------------------------------------------------------------- /textures/rock_7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/rock_7.jpg -------------------------------------------------------------------------------- /textures/rock_n1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/rock_n1.jpg -------------------------------------------------------------------------------- /textures/rocks.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/rocks.jpg -------------------------------------------------------------------------------- /textures/sand-512.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/sand-512.jpg -------------------------------------------------------------------------------- /textures/sand.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/sand.jpg -------------------------------------------------------------------------------- /textures/sand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/sand.png -------------------------------------------------------------------------------- /textures/sand1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/sand1.png -------------------------------------------------------------------------------- /textures/sand2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/sand2.png -------------------------------------------------------------------------------- /textures/smokeparticle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/smokeparticle.png -------------------------------------------------------------------------------- /textures/snow-512.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/snow-512.jpg -------------------------------------------------------------------------------- /textures/snow2-512.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/snow2-512.jpg -------------------------------------------------------------------------------- /textures/snow3-512.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/snow3-512.jpg -------------------------------------------------------------------------------- /textures/snowflake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/snowflake.png -------------------------------------------------------------------------------- /textures/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/star.png -------------------------------------------------------------------------------- /textures/water.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/water.jpg -------------------------------------------------------------------------------- /textures/water1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/water1.jpg -------------------------------------------------------------------------------- /textures/water2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/water2.jpg -------------------------------------------------------------------------------- /textures/water3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/water3.png -------------------------------------------------------------------------------- /textures/water4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/water4.jpg -------------------------------------------------------------------------------- /textures/wood-texture-green-leaves-ipad-free-1597460.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/wood-texture-green-leaves-ipad-free-1597460.jpg -------------------------------------------------------------------------------- /textures/wood1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lallassu/ParrotHunt/5bd7d0560e69361069633888d69280061eb4d372/textures/wood1.jpg --------------------------------------------------------------------------------