{"_id":"transformation-matrix-js","_rev":"20-0b8acda56e43471529e52d82c978d074","name":"transformation-matrix-js","description":"2D affine matrix power tools for JavaScript","dist-tags":{"latest":"2.7.6"},"versions":{"2.0.1":{"name":"transformation-matrix-js","version":"2.0.1","description":"2D affine matrix power tools for JavaScript","main":"matrix.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Ken Nilsen","email":"github@epistemex.com","url":"http://epistemex.com/"},"contributors":[{"name":"Leon Sorokin","email":"leeoniya@gmail.com","url":"https://github.com/leeoniya"}],"keywords":["transformation","matrix","affine","2d","rotate","translate","scale","animate","animation"],"repository":{"type":"git","url":"https://github.com/epistemex/transformation-matrix-js.git"},"bugs":{"url":"https://github.com/epistemex/transformation-matrix-js/issues"},"license":"MIT","homepage":"https://github.com/epistemex/transformation-matrix-js","_id":"transformation-matrix-js@2.0.1","_shasum":"9ce3ef3b57339193087855d2292d0b8293c80a73","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"epistemex","email":"github@epistemex.com"},"maintainers":[{"name":"epistemex","email":"github@epistemex.com"}],"dist":{"shasum":"9ce3ef3b57339193087855d2292d0b8293c80a73","tarball":"https://registry.npmjs.org/transformation-matrix-js/-/transformation-matrix-js-2.0.1.tgz","integrity":"sha512-YVgG1aPsKGcMngH3QotyvI3hon4Ov+kHjoODnTcxgIwi778cNxnUpvxCFrSLhbN/5r3ndcA3qjlACSCPIi1JxQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdMVHcsq+c2cJ4Krvdgqr7a218lHERPEZt4oAEg94jWAIgDIP3wRHiCwdLXDRVBRMPcmVctII35GzQZdo5oBq8fyo="}]},"directories":{},"deprecated":"Package no longer supported. Contact support@npmjs.com for more info."},"2.0.2":{"name":"transformation-matrix-js","version":"2.0.2","description":"2D affine matrix power tools for JavaScript","main":"matrix.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Ken Nilsen","email":"github@epistemex.com","url":"http://epistemex.com/"},"contributors":[{"name":"Leon Sorokin","email":"leeoniya@gmail.com","url":"https://github.com/leeoniya"}],"keywords":["transformation","matrix","affine","2d","rotate","translate","scale","animate","animation"],"repository":{"type":"git","url":"git+https://github.com/epistemex/transformation-matrix-js.git"},"bugs":{"url":"https://github.com/epistemex/transformation-matrix-js/issues"},"license":"MIT","homepage":"https://github.com/epistemex/transformation-matrix-js#readme","_id":"transformation-matrix-js@2.0.2","_shasum":"45d7bc6ac461a5c42ddc9df4e45e55cd6ede9856","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"epistemex","email":"github@epistemex.com"},"maintainers":[{"name":"epistemex","email":"github@epistemex.com"}],"dist":{"shasum":"45d7bc6ac461a5c42ddc9df4e45e55cd6ede9856","tarball":"https://registry.npmjs.org/transformation-matrix-js/-/transformation-matrix-js-2.0.2.tgz","integrity":"sha512-AcTKJw0A99wUM0r79w1feABT6spK2jyi/LYBRyNP4+UHBI2NMhtefkso448exfOYeulPvSxfhMpE1R16BZFTCQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGmcWgQMkZ7GZM7jx9jVtnvdkg1M57rvovmPJhsljO9yAiBV4RcMFZcyQM86yL7dN3EJv1Vj5yxO5j0SqK5sF69Dbg=="}]},"directories":{},"deprecated":"Package no longer supported. Contact support@npmjs.com for more info."},"2.1.0":{"name":"transformation-matrix-js","version":"2.1.0","description":"2D affine matrix power tools for JavaScript","main":"matrix.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Ken Nilsen","email":"github@epistemex.com","url":"http://epistemex.com/"},"contributors":[{"name":"Leon Sorokin","email":"leeoniya@gmail.com","url":"https://github.com/leeoniya"},{"name":"Henry Ruhs","email":"info@redaxmedia.com","url":"https://github.com/redaxmedia"}],"keywords":["transformation","matrix","affine","2d","rotate","translate","scale","animate","animation"],"repository":{"type":"git","url":"git+https://github.com/epistemex/transformation-matrix-js.git"},"bugs":{"url":"https://github.com/epistemex/transformation-matrix-js/issues"},"license":"MIT","homepage":"https://github.com/epistemex/transformation-matrix-js#readme","_id":"transformation-matrix-js@2.1.0","_shasum":"b87af2f6a9b8574b09b8436c9d853c6ccda41469","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"epistemex","email":"github@epistemex.com"},"dist":{"shasum":"b87af2f6a9b8574b09b8436c9d853c6ccda41469","tarball":"https://registry.npmjs.org/transformation-matrix-js/-/transformation-matrix-js-2.1.0.tgz","integrity":"sha512-Qv1ToO3UjtC7jxtbYcVonbHYjmuPzJ40B2Mr8UkXlQt/7kiJbHAj8WkM66WWZyq1IBBlzePiGq9OpaC3AEBAKQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAPUmC3NKbEx+Bf79Py6r+J3RDFM3b8A6J8lRrj+/0IeAiBtYPp62g5qO8NnqqLqWphwxmrkCJ1o8ynYXXiax2tlIA=="}]},"maintainers":[{"name":"epistemex","email":"github@epistemex.com"}],"directories":{},"deprecated":"Package no longer supported. Contact support@npmjs.com for more info."},"2.2.0":{"name":"transformation-matrix-js","version":"2.2.0","description":"2D affine matrix power tools for JavaScript","main":"matrix.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Ken Nilsen","email":"github@epistemex.com","url":"http://epistemex.com/"},"contributors":[{"name":"Leon Sorokin","email":"leeoniya@gmail.com","url":"https://github.com/leeoniya"},{"name":"Henry Ruhs","email":"info@redaxmedia.com","url":"https://github.com/redaxmedia"},{"name":"Matthieu Dumas","url":"https://github.com/solendil"}],"keywords":["transformation","matrix","affine","2d","rotate","translate","scale","animate","animation","triangles"],"repository":{"type":"git","url":"git+https://github.com/epistemex/transformation-matrix-js.git"},"bugs":{"url":"https://github.com/epistemex/transformation-matrix-js/issues"},"license":"MIT","homepage":"https://github.com/epistemex/transformation-matrix-js#readme","_id":"transformation-matrix-js@2.2.0","_shasum":"4f8e2bc593ce263525d38f692c3c6d7a2f1ba5ce","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"epistemex","email":"github@epistemex.com"},"dist":{"shasum":"4f8e2bc593ce263525d38f692c3c6d7a2f1ba5ce","tarball":"https://registry.npmjs.org/transformation-matrix-js/-/transformation-matrix-js-2.2.0.tgz","integrity":"sha512-U+oTFV+R0NeDOSktenWLydSfYysIoMmyTO1dOWj6P1HTuhIu0fyvJT3/xRbWnuzPboeHeCbthdeFDDAyWNE2PA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFxAfPHsDf3gEC/kkCNfFqqp+GpgpoTZCmgBORUnaFkmAiEAjoZIDZ8b/bn6rlPoMC5ZTGTnaKACOueNZgn8WC/sqeI="}]},"maintainers":[{"name":"epistemex","email":"github@epistemex.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/transformation-matrix-js-2.2.0.tgz_1458740347025_0.19678383087739348"},"directories":{},"deprecated":"Package no longer supported. Contact support@npmjs.com for more info."},"2.3.0":{"name":"transformation-matrix-js","version":"2.3.0","description":"2D affine matrix power tools for JavaScript","main":"matrix.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Ken Nilsen","email":"github@epistemex.com","url":"http://epistemex.com/"},"contributors":[{"name":"Leon Sorokin","email":"leeoniya@gmail.com","url":"https://github.com/leeoniya"},{"name":"Henry Ruhs","email":"info@redaxmedia.com","url":"https://github.com/redaxmedia"},{"name":"Matthieu Dumas","url":"https://github.com/solendil"}],"keywords":["transformation","matrix","affine","2d","rotate","translate","scale","animate","animation","triangles"],"repository":{"type":"git","url":"git+https://github.com/epistemex/transformation-matrix-js.git"},"bugs":{"url":"https://github.com/epistemex/transformation-matrix-js/issues"},"license":"MIT","homepage":"https://github.com/epistemex/transformation-matrix-js#readme","_id":"transformation-matrix-js@2.3.0","_shasum":"5bf5e33d594806f71dc83b2e2305ca0a40ff4afb","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"epistemex","email":"github@epistemex.com"},"dist":{"shasum":"5bf5e33d594806f71dc83b2e2305ca0a40ff4afb","tarball":"https://registry.npmjs.org/transformation-matrix-js/-/transformation-matrix-js-2.3.0.tgz","integrity":"sha512-T++9MapwFRkxXJO7nF4+5Nt2+BIY4dPuysx8xoO8bHbEIs39bmrhkY96DeGNWgAEjwshHgplP4fdqkKqqaKLZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQqbyLvgvvRPv/BfZ3qUVyN6qIL6HD3QPqwWzvvw/CdwIgRz5SVFWuSiNc5Uqw+ssBzXKhidR0cWZnHJhdQ9/B3qU="}]},"maintainers":[{"name":"epistemex","email":"github@epistemex.com"}],"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/transformation-matrix-js-2.3.0.tgz_1458763488763_0.19137508259154856"},"directories":{},"deprecated":"Package no longer supported. Contact support@npmjs.com for more info."},"2.3.1":{"name":"transformation-matrix-js","version":"2.3.1","description":"2D affine matrix power tools for JavaScript","main":"matrix.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Ken Nilsen","email":"github@epistemex.com","url":"http://epistemex.com/"},"contributors":[{"name":"Leon Sorokin","email":"leeoniya@gmail.com","url":"https://github.com/leeoniya"},{"name":"Henry Ruhs","email":"info@redaxmedia.com","url":"https://github.com/redaxmedia"},{"name":"Matthieu Dumas","url":"https://github.com/solendil"}],"keywords":["transformation","matrix","affine","2d","rotate","translate","scale","animate","animation","triangles"],"repository":{"type":"git","url":"git+https://github.com/epistemex/transformation-matrix-js.git"},"bugs":{"url":"https://github.com/epistemex/transformation-matrix-js/issues"},"license":"MIT","homepage":"https://github.com/epistemex/transformation-matrix-js#readme","_id":"transformation-matrix-js@2.3.1","_shasum":"bf7d4a60e811ebb80144d915fe57db204a003384","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"epistemex","email":"github@epistemex.com"},"dist":{"shasum":"bf7d4a60e811ebb80144d915fe57db204a003384","tarball":"https://registry.npmjs.org/transformation-matrix-js/-/transformation-matrix-js-2.3.1.tgz","integrity":"sha512-58UM6ZjbS2pHJCahzczRq2fPx5Jz/WHAoJevX9y6LKlXkxtBM2vulqlKwu/ribSZh23S3mX/hNlQshujc/iPHA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8VTMDQppHKIZOLNoXV5SZgf2ijSLbAmXvJ0Hpl69jhAIgJyEsLdYsDo+hzUX+bQ8BEmShSobMJQmDCCNZ3GE66RU="}]},"maintainers":[{"name":"epistemex","email":"github@epistemex.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/transformation-matrix-js-2.3.1.tgz_1458774748031_0.08317957166582346"},"directories":{},"deprecated":"Package no longer supported. Contact support@npmjs.com for more info."},"2.3.2":{"name":"transformation-matrix-js","version":"2.3.2","description":"2D affine matrix power tools for JavaScript","main":"matrix.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Ken Nilsen","email":"github@epistemex.com","url":"http://epistemex.com/"},"contributors":[{"name":"Leon Sorokin","email":"leeoniya@gmail.com","url":"https://github.com/leeoniya"},{"name":"Henry Ruhs","email":"info@redaxmedia.com","url":"https://github.com/redaxmedia"},{"name":"Matthieu Dumas","url":"https://github.com/solendil"}],"keywords":["transformation","matrix","affine","2d","rotate","translate","scale","animate","animation","triangles"],"repository":{"type":"git","url":"git+https://github.com/epistemex/transformation-matrix-js.git"},"bugs":{"url":"https://github.com/epistemex/transformation-matrix-js/issues"},"license":"MIT","homepage":"https://github.com/epistemex/transformation-matrix-js#readme","_id":"transformation-matrix-js@2.3.2","_shasum":"2933f3d2d996718ced9d68db49e777f6d2b048cd","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"epistemex","email":"github@epistemex.com"},"dist":{"shasum":"2933f3d2d996718ced9d68db49e777f6d2b048cd","tarball":"https://registry.npmjs.org/transformation-matrix-js/-/transformation-matrix-js-2.3.2.tgz","integrity":"sha512-taAwAY8PECsPJt0iYEkL8srvrjsG0GNhmAjyGN+blIwwIrIB3v81fK81xuCyMGYJxXI91358MFops9rUiqG/vg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEM/zAfca3HA1gkypRcGoH2dxr7rtlxbCZ+qXpFaOaa6AiEAlNopbwxLESGcemeAoljkNEplu0dN+jwogSJDyFMUMi4="}]},"maintainers":[{"name":"epistemex","email":"github@epistemex.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/transformation-matrix-js-2.3.2.tgz_1458777663515_0.7800664261449128"},"directories":{},"deprecated":"Package no longer supported. Contact support@npmjs.com for more info."},"2.6.0":{"name":"transformation-matrix-js","version":"2.6.0","description":"2D affine matrix power tools for JavaScript","main":"matrix.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Ken Nilsen","email":"github@epistemex.com","url":"http://epistemex.com/"},"contributors":[{"name":"Leon Sorokin","email":"leeoniya@gmail.com","url":"https://github.com/leeoniya"},{"name":"Henry Ruhs","email":"info@redaxmedia.com","url":"https://github.com/redaxmedia"},{"name":"Matthieu Dumas","url":"https://github.com/solendil"}],"keywords":["transformation","matrix","affine","2d","rotate","translate","scale","animate","animation","triangles"],"repository":{"type":"git","url":"git+https://github.com/epistemex/transformation-matrix-js.git"},"bugs":{"url":"https://github.com/epistemex/transformation-matrix-js/issues"},"license":"MIT","homepage":"https://github.com/epistemex/transformation-matrix-js#readme","_id":"transformation-matrix-js@2.6.0","_shasum":"fedbb3ca5186736e6607d30b98df34da616ee24a","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"epistemex","email":"github@epistemex.com"},"dist":{"shasum":"fedbb3ca5186736e6607d30b98df34da616ee24a","tarball":"https://registry.npmjs.org/transformation-matrix-js/-/transformation-matrix-js-2.6.0.tgz","integrity":"sha512-sfgCSKA3Kd3IskkGNdx2Q6fTgU2BwpH6U1DWxWktv/Per3fBu202ANkxeBo80+Q75cmOpEFJhbLJ5p+WYXSdYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCytbdr2QanHQ2r4s8/iGC5flarknSWYsch8ctyFTX7ZgIgH2/KMHwreHkv91VaYJ77ctd5D0qBVNs+IUqR2JCYMv4="}]},"maintainers":[{"name":"epistemex","email":"github@epistemex.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/transformation-matrix-js-2.6.0.tgz_1460334097400_0.769711384549737"},"directories":{},"deprecated":"Package no longer supported. Contact support@npmjs.com for more info."},"2.6.5":{"name":"transformation-matrix-js","version":"2.6.5","description":"2D affine matrix power tools for JavaScript","main":"matrix.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Ken Nilsen","email":"github@epistemex.com","url":"http://epistemex.com/"},"contributors":[{"name":"Leon Sorokin","email":"leeoniya@gmail.com","url":"https://github.com/leeoniya"},{"name":"Henry Ruhs","email":"info@redaxmedia.com","url":"https://github.com/redaxmedia"},{"name":"Matthieu Dumas","url":"https://github.com/solendil"}],"keywords":["transformation","matrix","affine","2d","rotate","translate","scale","animate","animation","triangles"],"repository":{"type":"git","url":"git+https://github.com/epistemex/transformation-matrix-js.git"},"bugs":{"url":"https://github.com/epistemex/transformation-matrix-js/issues"},"license":"MIT","homepage":"https://github.com/epistemex/transformation-matrix-js#readme","_id":"transformation-matrix-js@2.6.5","_shasum":"3f1ec2b1c3261b7097664ca91c1c95dcbf825921","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"epistemex","email":"github@epistemex.com"},"dist":{"shasum":"3f1ec2b1c3261b7097664ca91c1c95dcbf825921","tarball":"https://registry.npmjs.org/transformation-matrix-js/-/transformation-matrix-js-2.6.5.tgz","integrity":"sha512-USaBFYVD7r3XAehqg24/7ilMxKHK2QoBMinnXqi9RDitU+FyQdkuu1gBewBa3SqS4DfcfH+MHVxHKcQJLpVYGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG8IFEXS2fy95hFWmVKQLSIFh23iAlYzrYY2PVjc049iAiA5/nyiGNykqnCTDFR5UlnQbVCgDJ6Gmn7ILRTIbwaPSA=="}]},"maintainers":[{"name":"epistemex","email":"github@epistemex.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/transformation-matrix-js-2.6.5.tgz_1460552830422_0.16541146347299218"},"directories":{},"deprecated":"Package no longer supported. Contact support@npmjs.com for more info."},"2.7.0":{"name":"transformation-matrix-js","version":"2.7.0","description":"2D affine matrix power tools for JavaScript","main":"matrix.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Ken Nilsen","email":"github@epistemex.com","url":"http://epistemex.com/"},"contributors":[{"name":"Leon Sorokin","email":"leeoniya@gmail.com","url":"https://github.com/leeoniya"},{"name":"Henry Ruhs","email":"info@redaxmedia.com","url":"https://github.com/redaxmedia"},{"name":"Matthieu Dumas","url":"https://github.com/solendil"}],"keywords":["transformation","matrix","affine","2d","rotate","translate","scale","animate","animation","triangles"],"repository":{"type":"git","url":"git+https://github.com/epistemex/transformation-matrix-js.git"},"bugs":{"url":"https://github.com/epistemex/transformation-matrix-js/issues"},"license":"MIT","homepage":"https://github.com/epistemex/transformation-matrix-js#readme","_id":"transformation-matrix-js@2.7.0","_shasum":"5d3c76a59c4fbf58006eb80d6f8470c83b4da6f8","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"epistemex","email":"github@epistemex.com"},"dist":{"shasum":"5d3c76a59c4fbf58006eb80d6f8470c83b4da6f8","tarball":"https://registry.npmjs.org/transformation-matrix-js/-/transformation-matrix-js-2.7.0.tgz","integrity":"sha512-A8wKfpUdOGIa+hCr2z7c9G8b7Hv71Cz49LG4uzBQmeWuulTPZyvEk2fM4XQT5lCVWFovYOxXwhMrLKJE3Q9FaQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFbGiEbS/r+CSFDf33f4NK78NMCRu6WfzL6991wxyfCrAiEAn+mf4Q4qxlX0hPjElgsbRH1uXkBre0DjksJhHgv8dRQ="}]},"maintainers":[{"name":"epistemex","email":"github@epistemex.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/transformation-matrix-js-2.7.0.tgz_1479150971211_0.21742670726962388"},"directories":{},"deprecated":"Package no longer supported. Contact support@npmjs.com for more info."},"2.7.1":{"name":"transformation-matrix-js","version":"2.7.1","description":"2D affine matrix power tools for JavaScript","main":"matrix.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Ken Nilsen","email":"github@epistemex.com","url":"http://epistemex.com/"},"contributors":[{"name":"Leon Sorokin","email":"leeoniya@gmail.com","url":"https://github.com/leeoniya"},{"name":"Henry Ruhs","email":"info@redaxmedia.com","url":"https://github.com/redaxmedia"},{"name":"Matthieu Dumas","url":"https://github.com/solendil"},{"name":"Viktor Hesselblom","url":"https://github.com/hesselblom"}],"keywords":["transformation","matrix","affine","2d","rotate","translate","scale","animate","animation","triangles"],"repository":{"type":"git","url":"git+https://github.com/epistemex/transformation-matrix-js.git"},"bugs":{"url":"https://github.com/epistemex/transformation-matrix-js/issues"},"license":"MIT","homepage":"https://github.com/epistemex/transformation-matrix-js#readme","_id":"transformation-matrix-js@2.7.1","_shasum":"0b62e88b655e843e8e5972a668159554ffdcc910","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"epistemex","email":"github@epistemex.com"},"dist":{"shasum":"0b62e88b655e843e8e5972a668159554ffdcc910","tarball":"https://registry.npmjs.org/transformation-matrix-js/-/transformation-matrix-js-2.7.1.tgz","integrity":"sha512-PAVXRRDXUOXzSnx8ZAVGDoZ6u8yjlZxjEQYRsyPPSWBws4kk/Nh5LIQDNbWIDYQ/tWTp9ATMk7LCLxy787Ba7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHBxHqXLSp+OMz81CcTpKzrv+FsPzNUNMBSbNfpXTxOhAiAs0cXL/eNrjKkiWKK0hOf6z/uoKEdGyyvCs6C6rD/Pyg=="}]},"maintainers":[{"name":"epistemex","email":"github@epistemex.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/transformation-matrix-js-2.7.1.tgz_1486289419140_0.3538168319500983"},"directories":{},"deprecated":"Package no longer supported. Contact support@npmjs.com for more info."},"2.7.5":{"name":"transformation-matrix-js","version":"2.7.5","description":"2D affine matrix power tools for JavaScript","main":"matrix.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Ken Nilsen","email":"npm@epistemex.com","url":"http://epistemex.com/"},"contributors":[{"name":"Leon Sorokin","email":"leeoniya@gmail.com","url":"https://github.com/leeoniya"},{"name":"Henry Ruhs","email":"info@redaxmedia.com","url":"https://github.com/redaxmedia"},{"name":"Matthieu Dumas","url":"https://github.com/solendil"},{"name":"Viktor Hesselblom","url":"https://github.com/hesselblom"},{"name":"Larry Gordon","url":"https://github.com/psyrendust"}],"keywords":["transformation","matrix","affine","2d","rotate","translate","scale","animate","animation","transforms"],"repository":{"type":"git","url":"git+https://gitlab.com/epistemex/transformation-matrix-js.git"},"bugs":{"url":"https://gitlab.com/epistemex/transformation-matrix-js/issues"},"license":"MIT","homepage":"https://gitlab.com/epistemex/transformation-matrix-js#README","_id":"transformation-matrix-js@2.7.5","_npmVersion":"6.1.0","_nodeVersion":"8.11.2","_npmUser":{"name":"epistemex","email":"npm@epistemex.com"},"dist":{"integrity":"sha512-OdV1uIKE76xCpTkAMtiJZxKoVIYeYNAeNPAWwVKKctXrcIRL2ZktT1k7Tj4js+OQGjcMQfcTSVlWH1VhadghFQ==","shasum":"d0d89a17af8b0c765287eefc6601f626d7b89718","tarball":"https://registry.npmjs.org/transformation-matrix-js/-/transformation-matrix-js-2.7.5.tgz","fileCount":4,"unpackedSize":51509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGoKcCRA9TVsSAnZWagAApE0P/iZ1V01VWapU576AkfAz\nyfkH2kNFnEgwB1s3nR71mra9P7Mlh2nurhZR2XbFe04Wvlgtd4ZbuYbbrYeI\nZN+K13x4reIennK5UlUsdc9dlmb1tKbXHoh1xzV4wwMf17x2G5sfXMvog8K+\nVD6B82prdFJB9htdknggRwNeXC0q40R7ShwZ9uNHvggONAuk7zXVGLYxVXX5\nft+Xp8lDKjb7D/5/veV25VhJ5cG4jylMQJm9IWe+S/J9yzlTnkrveNtiifze\n6EMWKPrwee8b6HhihCSGZjqHpgrrAcFa7T3QOKb1cGku5kO7J/H3svlKHIVx\nnifnyMbb+XpBN1Q4plgXcYLXF50U92eB4Og3L4gvgB8lskC9MyKQQy8puJFQ\njDNgKqwDXnRos6SXmISC1lwknhNtbIZ27OeDJc0C0SkkOY7f0rlZkc9yYIg/\ntKUtvCnZ+S4hxSCDHZA4NKd4BpOShme2SEBVgnITtBI9lz2au7pPrKi8GIyB\nAMuE/+dX4co7+92zjklJhAj3RJf9899UHEJES4RLEK9ZUJJ2dQaDHTCoWUof\nMzCbBlb8AfnaF9wzI1QFuen/GjHf0QZOCROvjoNKrTb561TNQgIkYDa8rdoY\nMeoqdFijMNq+RaRUW4kd0jSf5+AevSBNF95xD+qHgwPiHpvFfUdmmk9NIVhx\nwaIk\r\n=xNat\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFL3yDBqcJNEVPCRC5TdXCFFe9eRXN7SN3AZX1fcCn8PAiEAhmRJ/rz4U3h2VE6deO3Il+wqgfJkaVRfHdMCBmJwCGg="}]},"maintainers":[{"name":"epistemex","email":"github@epistemex.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transformation-matrix-js_2.7.5_1528464026880_0.1329921239611327"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact support@npmjs.com for more info."},"2.7.6":{"name":"transformation-matrix-js","version":"2.7.6","description":"2D affine matrix power tools for JavaScript","main":"matrix.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Ken Nilsen","email":"npm@epistemex.com","url":"http://epistemex.com/"},"contributors":[{"name":"Leon Sorokin","email":"leeoniya@gmail.com","url":"https://github.com/leeoniya"},{"name":"Henry Ruhs","email":"info@redaxmedia.com","url":"https://github.com/redaxmedia"},{"name":"Matthieu Dumas","url":"https://github.com/solendil"},{"name":"Viktor Hesselblom","url":"https://github.com/hesselblom"},{"name":"Larry Gordon","url":"https://github.com/psyrendust"}],"keywords":["transformation","matrix","affine","2d","rotate","translate","scale","animate","animation","transforms"],"repository":{"type":"git","url":"git+https://gitlab.com/epistemex/transformation-matrix-js.git"},"bugs":{"url":"https://gitlab.com/epistemex/transformation-matrix-js/issues"},"license":"MIT","homepage":"https://gitlab.com/epistemex/transformation-matrix-js#readme","_id":"transformation-matrix-js@2.7.6","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"epistemex","email":"npm@epistemex.com"},"dist":{"integrity":"sha512-1CxDIZmCQ3vA0GGnkdMQqxUXVm3xXAFmglPYRS1hr37LzSg22TC7QAWOT38OmdUvMEs/rqcnkFoAsqvzdiluDg==","shasum":"25c7ff055c99b8528ffbd4c4a2684be6c9d5ef60","tarball":"https://registry.npmjs.org/transformation-matrix-js/-/transformation-matrix-js-2.7.6.tgz","fileCount":4,"unpackedSize":53266,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbubc/CRA9TVsSAnZWagAAXrkP+wVYmvOWrtIi/BwtAlWm\nNkRuwZKV88N/IjWECRaALknGPd4ZFMZk9iWvU3ZAJ2ppkkPkRTdOuYetRaOs\n/k5Le7opAgn4tMil+cHckVf/N8H4UbGtJCHB+zHbXNPkQawT2v4n9UbQC6lj\ngl5u0tdCWKlehui5iwzwdkbM3SfSogLvmRTx6hGgs2dgBeIYG8e2SDbaddE5\n2F+paMf//NbKY/AD1yeMNj8ywrH0pec9be30Yxnx+dp/DBTwj71oZYU8+DAj\n95RcIrN5q4k1qFmTVvTq38UE26ZN2odT3NZVhTnwEx/hypNcoVt0HHrEqSXa\ndq9ASODQqyxMZaHuQYjbFTLTqYsohN54M3QlhlYPCcJ+6k7gDZOATqZN+pYD\nO2Op8sMXe153VoJQYe5PBh1nmDQx63dl+jSKotRztQic4SKe5aeuEOFP9J3H\nScCVgG5BdgcOM1RFcV/WYvY2WcLM7Y1O0It30ZhO/VhQBO6hBh4PkVDcUK1n\nTsFJj9cgxM1N1w7KByyTyGfj/rpjhnTQEkdGHyVHy5ZOAZtBYrI24N9B/9/3\nBYQI2yST/QxoqPmwSY3n1R9fqrIRHBbWjGVgMnVdX1OrCt9cnrpI2y8kFNss\n+noctckv+uGYo5ClvrE6bdsFhYGXwKY4CkeWpj8PK4KU4HX+j/Kc0iO3HrJh\nJ1Hd\r\n=9zRH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB3bE4MiTc6eiKuqpHkC7RvngLlQJ1nXQ/0MusMfKoIjAiBQKNrJ254HsnbkgLho86JJcBfA4UQEKy1twHUuhu5cEQ=="}]},"maintainers":[{"name":"epistemex","email":"github@epistemex.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transformation-matrix-js_2.7.6_1538897726741_0.07398599166281694"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact support@npmjs.com for more info."}},"readme":"**IMPORTANT message to users of 2D Affine Transformation Matrix**: this is the last update of 2D Affine Transformation Matrix - ever. My apologies to those who are using it,\nbut I cannot spend (waste) time developing it (or any other \"open source\") anymore, for personal reasons.\n\nIn part it's also because I can't pretend there isn't a [cultural] war going on, not just for our minds. I can no \nlonger support companies and organizations, by using their services and products, that embrace and are working \nhand in hand trying to form a so-called \"one world government\" ([their words](https://www.worldgovernmentsummit.org/); \nor \"communist hell v5.0 in rosy wrapping and utopian \"happiness\".\" - my words) enforcing policies and agenda upon\neveryone through \"political correctness\", divide and conquer, censorship, labeling, harassment, doxxing, secrecy, lies, \ndeception, abuse and even violence - through means such as mainstream media, social tech platforms, \"education\" or other.\n\nThis is therefor also, albeit a small in this context, protest against this long ongoing agenda and its [\"useful\nidiots\"](https://www.urbandictionary.com/define.php?term=Useful%20Idiot) (here used as an historical expression), and particularly \nin this case the Silicon Valley tech et al. I encourage anyone with more than two brain cells to take \na long moment to think it through, check history, research, educate yourself, turn off the circus noise and start do your *own* thinking.\n\nAlthough these groups like to pretend their cause is very popular; it's not - they are a minority with big\nhorns, money and misled followers. If you are aware of what goes on I encourage you also to speak out or take some form \nof [non-violent] action (while we still can...).\n\n<hr>\n\n2D Affine Transformation Matrix\n===============================\n\nAn affine transformation matrix (3x3) class for JavaScript that performs various transformations such as rotate, scale, translate, skew, shear, add, subtract, multiply, divide, inverse, decomposing, animation, converting to and from a SVG/DOM matrix, creating matrix from triangles and more (full HTML documentation is included).\n\nIt's primarily intended for situations where you need to track or create transforms and want to apply it permanently/manually to your own points and polygons, or when you need cross-browser compatibility.\n\nThe matrix can optionally synchronize a canvas 2D context or a DOM element so that the transformations on the canvas matches pixel perfect the local transformations of the Matrix object.\n\nFor browsers which support DOMMatrix and/or SVGMatrix it can be used as a supplementary framework to increase flexibility such as working directly with transformed points, perform addition transformation, interpolate animation and so forth.\n\nTargets first and most client side use, but can be used directly in a node.js environment as well.\n\n*No dependencies.*\n\nThere is now also included a \"light\" version with the essentials only.\n\n\nInstall\n=======\n\nDownload zip and extract to folder.\n\ngit via HTTPS:\n\n    $ git clone https://gitlab.com/epistemex/transformation-matrix-js.git\n\ngit via SSH:\n\n    $ git clone git@gitlab.com:epistemex/transformation-matrix-js.git\n\nUsing NPM\n\n    $ npm install transformation-matrix-js\n\n\nUsage\n=====\n\nBrowser\n-------\n\nJust include the script and create a new instance:\n\n    var matrix = new Matrix([context] [,domElement]);\n\nYou can supply an optional canvas 2D context and/or DOM element as arguments which will be synchronized with the transformations that are applied to the matrix object.\n\n\nNode\n----\n\nUsing it with Node: use **npm** to install the package first (see above), then\n\n    var Matrix = require(\"transformation-matrix-js\").Matrix;\n    var m = new Matrix();\n\n\nQuick overview\n--------------\n\n**Constructor**\n\n    var m = new Matrix( [context] [,element] );\n\nCan optionally synchronize a canvas 2D context and/or a DOM element.\n\n**Static methods (alternatives to the constructor):**\n\n    Matrix.from( a, b, c, d, e, f );        // create a matrix from various sources\n    Matrix.from( DOMMatrix | SVGMatrix | CSSMatrix);\n\tMatrix.fromTriangles( t1, t2 );   \t\t// returns matrix needed to produce t2 from t1\n\tMatrix.fromSVGTransformList( tList );\t// create new matrix from a SVG transform list\n\n**Methods:**\n\n\tapplyToArray(points)\n\tapplyToContext(context)\n\tapplyToElement(element [, use3D])    // auto-detects browser prefix if any\n\tapplyToObject(obj)\n\tapplyToPoint(x, y)\n\tapplyToTypedArray(points [, use64])\n\tclone(noContext)\n\tconcat(cm)\n\tdecompose([useLU])                   // breaks down the transform into individual components\n\tdeterminant()\n\tdivide(m)\n\tdivideScalar(d)\n\tflipX()\n\tflipY()\n\tinterpolate(m2, t [, context [, dom]])\n\tinterpolateAnim(m2, t [, context [, dom]]) // decomposed interpolation (prevents flipping)\n\tinverse([cloneContext][, cloneElement])    // get inverse matrix\n\tisEqual(m)\n\tisIdentity()\n\tisInvertible()\n\tisValid()\n\tmultiply(m)\n\treflectVector(x, y)\n\treset()\n\trotate(angle)\n\trotateDeg(angle)\n\trotateFromVector(x, y)\n\tscale(sx, sy)\n\tscaleFromVector(x, y)               // uniform scale based on input vector (hypotenuse)\n\tscaleU(f)\t\t\t\t\t\t\t// uniform scale\n\tscaleX(sx)\n\tscaleY(sy)\n\tsetTransform(a, b, c, d, e, f)\n\tshear(sx, sy)\n\tshearX(sx)\n\tshearY(sy)\n\tskew(ax, ay)\n\tskewDeg(ax, ay)\n\tskewX(ax)\n\tskewY(ay)\n\ttoArray()\n\ttoCSS()\n\ttoCSS3D()\n\ttoCSV()\n\ttoJSON()\n\ttoString()\n\ttoDOMMatrix()                       // creates a DOMMatrix from current transforms\n\ttoSVGMatrix()\t\t\t\t\t\t// creates a SVGMatrix from current transforms\n\ttoTypedArray([use64])\n\ttransform(a2, b2, c2, d2, e2, f2)\n\ttranslate(tx, ty)\n\ttranslateX(tx)\n\ttranslateY(ty)\n\n**Properties:**\n\n    a\t\t\t\t\t\t\t\t\t// scale x\n    b\t\t\t\t\t\t\t\t\t// shear y\n    c\t\t\t\t\t\t\t\t\t// shear x\n    d\t\t\t\t\t\t\t\t\t// scale y\n    e\t\t\t\t\t\t\t\t\t// translate x\n    f\t\t\t\t\t\t\t\t\t// translate y\n\nExamples\n--------\n\nApply to a point:\n\n    tPoint = m.applyToPoint( x, y );\n\nApply to an Array with point objects or point pair values:\n\n    tPoints = m.applyToArray( [{x: x1, y: y1}, {x: x2, y: y2}, ...] );\n    tPoints = m.applyToArray( [x1, y1, x2, y2, ...] );\n    tPoints = m.applyToTypedArray(...);\n\nor apply to a canvas context (other than optionally referenced in constructor):\n\n    m.applyToContext( myContext );\n\nGet inverse transformation matrix (the matrix you need to apply to get back to an identity matrix from whatever the matrix contains):\n\n    invMatrix = m.inverse();\n\nor\n\n    var invMatrix;\n\n    if (m.isInvertible()) {             // check if we can inverse\n        invMatrix = m.inverse();\n    }\n\nYou can interpolate between current and a new matrix. The function\nreturns a new matrix:\n\n    im = m.interpolate( m2, t );   \t\t// t = [0.0, 1.0]\n    im = m.interpolateAnim( m2, t );\n\nThe former does a naive interpolation which works fine with translate and scale. The latter is better suited when there is rotation involved to avoid \"flipping\" utilizing decomposition.\n\nCheck if there is any transforms applied:\n\n    state = m.isIdentity();        \t\t// true if identity\n\nCheck if two matrices are identical:\n\n    state = m.isEqual( matrix2 );      \t// true if equal\n\nReset matrix to an identity matrix:\n\n    m.reset();\n\nMethods are chainable:\n\n    // rotate, then translate\n    m.rotateDeg(45).translate(100, 200);\n\nTo synchronize a DOM element you can either specify the DOM element in\nthe constructor or synchronize manually (auto-detects browser prefix):\n\n    m.applyToElement( domElement );\n\nSee documentation for full overview and usage.\n\n\nContributors\n============\n\n- Ken Nilsen (creator) (https://gitlab.com/epistemex)\n- Leon Sorokin (https://github.com/leeoniya)\n- Henry Ruhs (https://github.com/redaxmedia)\n- Matthieu Dumas (https://github.com/solendil)\n- Viktor Hesselbom (https://github.com/hesselbom)\n- Larry Gordon (https://github.com/psyrendust)\n\nSee Change.log for details.\n\n\nLicense\n=======\n\nReleased under [MIT license](http://choosealicense.com/licenses/mit/). You can use this class in both commercial and non-commercial projects provided that full header (minified and developer versions) is included.\n\n*&copy; 2014-2018 Epistemex*\n\n![Epistemex](https://i.imgur.com/GP6Q3v8.png)\n","maintainers":[{"email":"npm@npmjs.com","name":"npm"}],"time":{"modified":"2022-06-27T20:14:41.845Z","created":"2015-12-19T04:27:22.753Z","2.0.1":"2015-12-19T04:27:22.753Z","2.0.2":"2015-12-20T00:13:07.615Z","2.1.0":"2016-01-04T15:31:22.185Z","2.2.0":"2016-03-23T13:39:09.345Z","2.3.0":"2016-03-23T20:04:51.195Z","2.3.1":"2016-03-23T23:12:30.289Z","2.3.2":"2016-03-24T00:01:06.262Z","2.6.0":"2016-04-11T00:21:39.972Z","2.6.5":"2016-04-13T13:07:12.221Z","2.7.0":"2016-11-14T19:16:11.824Z","2.7.1":"2017-02-05T10:10:19.922Z","2.7.5":"2018-06-08T13:20:27.001Z","2.7.6":"2018-10-07T07:35:26.937Z"},"homepage":"https://gitlab.com/epistemex/transformation-matrix-js#readme","keywords":["transformation","matrix","affine","2d","rotate","translate","scale","animate","animation","transforms"],"repository":{"type":"git","url":"git+https://gitlab.com/epistemex/transformation-matrix-js.git"},"contributors":[{"name":"Leon Sorokin","email":"leeoniya@gmail.com","url":"https://github.com/leeoniya"},{"name":"Henry Ruhs","email":"info@redaxmedia.com","url":"https://github.com/redaxmedia"},{"name":"Matthieu Dumas","url":"https://github.com/solendil"},{"name":"Viktor Hesselblom","url":"https://github.com/hesselblom"},{"name":"Larry Gordon","url":"https://github.com/psyrendust"}],"author":{"name":"Ken Nilsen","email":"npm@epistemex.com","url":"http://epistemex.com/"},"bugs":{"url":"https://gitlab.com/epistemex/transformation-matrix-js/issues"},"license":"MIT","readmeFilename":"readme.md"}