input_data = {
let {Polygon, segment, arc, point} = Flatten;
let {unify, intersect, subtract} = BooleanOp;
let myPoly = new Polygon();
myPoly.addFace([point(50, 50), point(50,950), point(950, 950), point(950, 50)]);
let myCircle = new Polygon();
myCircle.addFace([arc(point(0,1000),980, 0, 2*Math.PI)]);
myPoly = intersect(myPoly,myCircle);
myCircle = new Polygon();
myCircle.addFace([arc(point(0,1000),780, 0, 2*Math.PI)]);
myPoly = subtract(myPoly,myCircle);
myCircle = new Polygon();
myCircle.addFace([arc(point(1000,1000),1330, 0, 2*Math.PI)]);
myPoly = intersect(myPoly,myCircle);
myCircle = new Polygon();
myCircle.addFace([arc(point(1000,1000),1130, 0, 2*Math.PI)]);
return [myPoly, myCircle]
}