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