lc = 0.3;
lc2 = 0.1;
Mesh.Algorithm = 8; // frontal-delaunay for quads
Mesh.RecombinationAlgorithm = 2; // full quads with Blossom
Mesh.RecombineAll = 1; // recombine all meshes
Mesh.RecombineOptimizeTopology = 20; // #topological optimization passes

p0 = newp;
Point(p0) = {3.0547434237602666, 3.7486028726011678, 0.0, lc2};
p1 = newp;
Point(p1) = {3.5547434237602666, 3.7486028726011678, 0.0, lc2};
p2 = newp;
Point(p2) = {2.8047434237602666, 4.181615574493387, 0.0, lc2};
p3 = newp;
Point(p3) = {2.804743423760266, 3.3155901707089486, 0.0, lc2};
l0 = newl;
Circle(l0) = {p1, p0, p2};
l1 = newl;
Circle(l1) = {p2, p0, p3};
l2 = newl;
Circle(l2) = {p3, p0, p1};
ll0 = newll;
Line Loop(ll0) = {l0, l1, l2};
s0 = news;
Plane Surface(s0) = {ll0};
p4 = newp;
Point(p4) = {0.2226673717792116, 0.38268205374125897, 0.0, lc2};
p5 = newp;
Point(p5) = {0.7226673717792116, 0.38268205374125897, 0.0, lc2};
p6 = newp;
Point(p6) = {-0.027332628220788302, 0.8156947556334784, 0.0, lc2};
p7 = newp;
Point(p7) = {-0.027332628220788635, -0.05033064815096022, 0.0, lc2};
l3 = newl;
Circle(l3) = {p5, p4, p6};
l4 = newl;
Circle(l4) = {p6, p4, p7};
l5 = newl;
Circle(l5) = {p7, p4, p5};
ll1 = newll;
Line Loop(ll1) = {l3, l4, l5};
s1 = news;
Plane Surface(s1) = {ll1};
p8 = newp;
Point(p8) = {-3.9448908490994485, 2.0527072573530845, 0.0, lc2};
p9 = newp;
Point(p9) = {-3.4448908490994485, 2.0527072573530845, 0.0, lc2};
p10 = newp;
Point(p10) = {-4.1948908490994485, 2.485719959245304, 0.0, lc2};
p11 = newp;
Point(p11) = {-4.1948908490994485, 1.6196945554608653, 0.0, lc2};
l6 = newl;
Circle(l6) = {p9, p8, p10};
l7 = newl;
Circle(l7) = {p10, p8, p11};
l8 = newl;
Circle(l8) = {p11, p8, p9};
ll2 = newll;
Line Loop(ll2) = {l6, l7, l8};
s2 = news;
Plane Surface(s2) = {ll2};
p12 = newp;
Point(p12) = {2.2221151041601575, -0.6194392353839384, 0.0, lc2};
p13 = newp;
Point(p13) = {2.7221151041601575, -0.6194392353839384, 0.0, lc2};
p14 = newp;
Point(p14) = {1.9721151041601575, -0.186426533491719, 0.0, lc2};
p15 = newp;
Point(p15) = {1.9721151041601572, -1.0524519372761576, 0.0, lc2};
l9 = newl;
Circle(l9) = {p13, p12, p14};
l10 = newl;
Circle(l10) = {p14, p12, p15};
l11 = newl;
Circle(l11) = {p15, p12, p13};
ll3 = newll;
Line Loop(ll3) = {l9, l10, l11};
s3 = news;
Plane Surface(s3) = {ll3};
p16 = newp;
Point(p16) = {0.6635431927017277, -3.396664884762254, 0.0, lc2};
p17 = newp;
Point(p17) = {1.1635431927017277, -3.396664884762254, 0.0, lc2};
p18 = newp;
Point(p18) = {0.4135431927017278, -2.9636521828700344, 0.0, lc2};
p19 = newp;
Point(p19) = {0.41354319270172746, -3.829677586654473, 0.0, lc2};
l12 = newl;
Circle(l12) = {p17, p16, p18};
l13 = newl;
Circle(l13) = {p18, p16, p19};
l14 = newl;
Circle(l14) = {p19, p16, p17};
ll4 = newll;
Line Loop(ll4) = {l12, l13, l14};
s4 = news;
Plane Surface(s4) = {ll4};
p20 = newp;
Point(p20) = {-0.5975810620992184, -3.0482049125855335, 0.0, lc2};
p21 = newp;
Point(p21) = {-0.09758106209921835, -3.0482049125855335, 0.0, lc2};
p22 = newp;
Point(p22) = {-0.8475810620992182, -2.615192210693314, 0.0, lc2};
p23 = newp;
Point(p23) = {-0.8475810620992186, -3.4812176144777527, 0.0, lc2};
l15 = newl;
Circle(l15) = {p21, p20, p22};
l16 = newl;
Circle(l16) = {p22, p20, p23};
l17 = newl;
Circle(l17) = {p23, p20, p21};
ll5 = newll;
Line Loop(ll5) = {l15, l16, l17};
s5 = news;
Plane Surface(s5) = {ll5};
p24 = newp;
Point(p24) = {-0.9999718311030659, -0.391138251220553, 0.0, lc2};
p25 = newp;
Point(p25) = {-0.49997183110306587, -0.391138251220553, 0.0, lc2};
p26 = newp;
Point(p26) = {-1.2499718311030659, 0.0418744506716664, 0.0, lc2};
p27 = newp;
Point(p27) = {-1.249971831103066, -0.8241509531127722, 0.0, lc2};
l18 = newl;
Circle(l18) = {p25, p24, p26};
l19 = newl;
Circle(l19) = {p26, p24, p27};
l20 = newl;
Circle(l20) = {p27, p24, p25};
ll6 = newll;
Line Loop(ll6) = {l18, l19, l20};
s6 = news;
Plane Surface(s6) = {ll6};
p28 = newp;
Point(p28) = {2.779109109452884, 2.19162026921105, 0.0, lc2};
p29 = newp;
Point(p29) = {3.279109109452884, 2.19162026921105, 0.0, lc2};
p30 = newp;
Point(p30) = {2.529109109452884, 2.624632971103269, 0.0, lc2};
p31 = newp;
Point(p31) = {2.529109109452884, 1.7586075673188306, 0.0, lc2};
l21 = newl;
Circle(l21) = {p29, p28, p30};
l22 = newl;
Circle(l22) = {p30, p28, p31};
l23 = newl;
Circle(l23) = {p31, p28, p29};
ll7 = newll;
Line Loop(ll7) = {l21, l22, l23};
s7 = news;
Plane Surface(s7) = {ll7};
p32 = newp;
Point(p32) = {-2.13848384703361, -1.4551023096401305, 0.0, lc2};
p33 = newp;
Point(p33) = {-1.6384838470336098, -1.4551023096401305, 0.0, lc2};
p34 = newp;
Point(p34) = {-2.38848384703361, -1.0220896077479111, 0.0, lc2};
p35 = newp;
Point(p35) = {-2.3884838470336103, -1.8881150115323497, 0.0, lc2};
l24 = newl;
Circle(l24) = {p33, p32, p34};
l25 = newl;
Circle(l25) = {p34, p32, p35};
l26 = newl;
Circle(l26) = {p35, p32, p33};
ll8 = newll;
Line Loop(ll8) = {l24, l25, l26};
s8 = news;
Plane Surface(s8) = {ll8};
p36 = newp;
Point(p36) = {0.1206331497230606, 1.916159045559832, 0.0, lc2};
p37 = newp;
Point(p37) = {0.6206331497230606, 1.916159045559832, 0.0, lc2};
p38 = newp;
Point(p38) = {-0.12936685027693928, 2.3491717474520515, 0.0, lc2};
p39 = newp;
Point(p39) = {-0.12936685027693962, 1.4831463436676129, 0.0, lc2};
l27 = newl;
Circle(l27) = {p37, p36, p38};
l28 = newl;
Circle(l28) = {p38, p36, p39};
l29 = newl;
Circle(l29) = {p39, p36, p37};
ll9 = newll;
Line Loop(ll9) = {l27, l28, l29};
s9 = news;
Plane Surface(s9) = {ll9};
p40 = newp;
Point(p40) = {-2.14249126702728, 1.6831529578470383, 0.0, lc2};
p41 = newp;
Point(p41) = {-1.64249126702728, 1.6831529578470383, 0.0, lc2};
p42 = newp;
Point(p42) = {-2.39249126702728, 2.1161656597392575, 0.0, lc2};
p43 = newp;
Point(p43) = {-2.39249126702728, 1.2501402559548191, 0.0, lc2};
l30 = newl;
Circle(l30) = {p41, p40, p42};
l31 = newl;
Circle(l31) = {p42, p40, p43};
l32 = newl;
Circle(l32) = {p43, p40, p41};
ll10 = newll;
Line Loop(ll10) = {l30, l31, l32};
s10 = news;
Plane Surface(s10) = {ll10};
p44 = newp;
Point(p44) = {3.271875293873101, -2.2512374816215344, 0.0, lc2};
p45 = newp;
Point(p45) = {3.771875293873101, -2.2512374816215344, 0.0, lc2};
p46 = newp;
Point(p46) = {3.021875293873101, -1.818224779729315, 0.0, lc2};
p47 = newp;
Point(p47) = {3.0218752938731006, -2.6842501835137536, 0.0, lc2};
l33 = newl;
Circle(l33) = {p45, p44, p46};
l34 = newl;
Circle(l34) = {p46, p44, p47};
l35 = newl;
Circle(l35) = {p47, p44, p45};
ll11 = newll;
Line Loop(ll11) = {l33, l34, l35};
s11 = news;
Plane Surface(s11) = {ll11};
p48 = newp;
Point(p48) = {-5.0, -5.0, 0.0, lc};
p49 = newp;
Point(p49) = {5.0, -5.0, 0.0, lc};
p50 = newp;
Point(p50) = {5.0, 5.0, 0.0, lc};
p51 = newp;
Point(p51) = {-5.0, 5.0, 0.0, lc};
l36 = newl;
Line(l36) = {p48, p49};
l37 = newl;
Line(l37) = {p49, p50};
l38 = newl;
Line(l38) = {p50, p51};
l39 = newl;
Line(l39) = {p51, p48};
ll12 = newll;
Line Loop(ll12) = {l36, l37, l38, l39};
s12 = news;
Plane Surface(s12) = {ll12,ll0,ll1,ll2,ll3,ll4,ll5,ll6,ll7,ll8,ll9,ll10,ll11};
