{"version":3,"file":"Algebra.js","sourceRoot":"","sources":["../../src/engine/Algebra.ts"],"names":[],"mappings":"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"}