x_{1,2}

X_1: (-5, -2)
X_2: (5, -2)
a = Segment(X_1, X_2)
S_1: (-2.5, -4.5)
c = Circle(S_1, 1.5)
R_1 = Point(c)
R_1' = Mirror(R_1, S_1)
b = Segment(R_1, R_1')
d = OrthogonalLine(R_1, b)
e = OrthogonalLine(R_1', b)
A_1 = Point(d)
f = OrthogonalLine(A_1, d)
A_1' = Intersect(e, f)
g = Segment(R_1, A_1)
h = Segment(A_1, A_1')
i = Segment(R_1', A_1')
k = Arc(c, R_1, R_1')
p = Arc(c, R_1', R_1)
j = Line(S_1, a)
T_1 = Intersect(k, j)
T_1' = Intersect(p, j)
l = OrthogonalLine(T_1, a)
m = OrthogonalLine(T_1', a)
T_3 = Intersect(a, l)
T_4 = Intersect(a, m)
S_1' = Midpoint(A_1, A_1')
n = OrthogonalLine(S_1', a)
q = OrthogonalLine(A_1, a)
r = OrthogonalLine(A_1', a)
S_2' = Point(n)
s = OrthogonalLine(S_2', r)
A_2' = Intersect(r, s)
A_2 = Intersect(s, q)
t = Circle(S_2', Segment[S_1, T_1'])
B_2', B_2 = Intersect(t, n)
c_1 = Circle(A_2', Segment[S_2', B_2'])
F, F' = Intersect(c_1, n)
d_1 = Ellipse(F', F, B_2')
a_1 = Segment(A_2', A_1')
b_1 = Segment(A_2, A_1)
e_1 = Segment(B_2, S_1')
f_1 = Segment(S_1, S_1')
g_1 = Line(B_2', a)
h_1 = Line(B_2, a)
M_1 = Intersect(p, f_1)
M_1' = Mirror(M_1, S_1)
i_1 = OrthogonalLine(M_1', a)
j_1 = OrthogonalLine(M_1, a)
M_2' = Intersect(h_1, i_1)
M_2 = Intersect(g_1, j_1)
k_1 = Line(S_2', a)
l_1 = OrthogonalLine(R_1, g_1)
m_1 = OrthogonalLine(R_1', a)
R_2' = Intersect(k_1, m_1)
R_2 = Intersect(k_1, l_1)
n_1 = Segment(R_2, R_1)
p_1 = Segment(R_2', R_1')
q_1 = Segment(M_2, M_1)
r_1 = Segment(M_2', M_1')
s_1 = Line(T_1', g)
t_1 = Line(T_1, g)
c_2 = Circle(S_1', A_1)
J = Intersect(h, s_1)
J' = Intersect(t_1, h)
a_2 = Segment(T_1, J')
L'', L = Intersect(c_2, t_1)
d_2 = Segment(J', L)
L', L''' = Intersect(c_2, s_1)
b_2 = Segment(L', J)
e_2 = Segment(T_1', L')
f_2 = Circle(S_2', Segment[J', L])
I, I' = Intersect(f_2, e_1)
g_2 = Line(I', a)
h_2 = Line(I, a)
T_2 = Intersect(l, h_2)
T_2' = Intersect(g_2, m)
k_2 = Conic(T_2, M_2', R_2, T_2', M_2)
i_2 = Segment(M_2', M_2)
S_2 = Intersect(k_1, i_2)
j_2 = Segment(S_2, S_1)
q_2 = Arc(k_2, M_2, M_2')
p_2 = Arc(k_2, M_2', M_2)
l_2 = Segment(M_2, B_2')
m_2 = Segment(M_2', B_2)
Y = Intersect(m, l_2)
n_2 = Segment(Y, T_4)
r_2 = Segment(Y, T_2')
s_2 = OrthogonalLine(J, a)
J'' = Intersect(s_2, g_2)
t_2 = Segment(T_2', J'')
a_3 = Segment(J, J'')
b_3 = Segment(S_2', I')
c_3 = Segment(S_2', I)
d_3 = Segment(I', S_1')
e_3 = OrthogonalLine(J', a)
J''' = Intersect(h_2, e_3)
f_3 = Segment(T_2, J''')
g_3 = Segment(T_4, T_1')
h_3 = Segment(T_2, T_3)
i_3 = Segment(T_3, T_1)
j_3 = Segment(J', J''')
k_3 = Segment(B_2, I)
l_3 = Segment(J''', I)
m_3 = Segment(R_2', A_2')
n_3 = Segment(A_2', A_2)
p_3 = Segment(X_1, T_3)
q_3 = Segment(T_3, T_4)
r_3 = Segment(T_4, X_2)