% ------------------------------------------------------------------------------
% Copyright (c) 2019, 2025 Contributors to the Eclipse Foundation
%
% See the NOTICE file(s) distributed with this work for additional
% information regarding copyright ownership.
%
% This program and the accompanying materials are made available under the terms
% of the MIT License which is available at https://opensource.org/licenses/MIT
%
% SPDX-License-Identifier: MIT
% ------------------------------------------------------------------------------
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta, arrows, automata, positioning, shapes, shapes.misc}
\usepackage[paperwidth=40in, paperheight=20in]{geometry}

\begin{document}
\pagestyle{empty}

\begin{tikzpicture}[
    auto,
    ->,
    node distance=5cm,
    every state/.style={ellipse, semithick, fill=black!5, minimum size=2cm, font=\Large},
    initial distance=1.2cm,
    every initial by arrow/.style={-{Stealth[scale=1.4]}},
    initial text=,
    transform shape,
    double distance=2pt,
    every loop/.style={min distance=10mm}
]

\node[state, initial, accepting]                      (Zero0)    {\emph{Zero, 0.0}};
\node[state, below of=Zero0]                          (Zero60)   {\emph{Zero, 60.0}};
\node[state, right of=Zero0]                          (One60)    {\emph{One, 60.0}};
\node[state, below of=One60]                          (One120)   {\emph{One, 120.0}};
\node[state, right of=One60]                          (Two120)   {\emph{Two, 120.0}};
\node[state, below of=Two120]                         (Two180)   {\emph{Two, 180.0}};
\node[state, right of=Two120]                         (Three180) {\emph{Three, 180.0}};
\node[state, below of=Three180, draw=none, fill=none] (ThreeInf) {};

\path[-{Stealth[scale=1.4]}]
    (Zero0)    edge[] node[align=center,left]               {$60.0$}                (Zero60)
    (Zero60)   edge[] node[align=center,above left,pos=0.7] {\texttt{time\_passed}} (One60)
    (One60)    edge[] node[align=center,left]               {$60.0$}                (One120)
    (One120)   edge[] node[align=center,above left,pos=0.7] {\texttt{time\_passed}} (Two120)
    (Two120)   edge[] node[align=center,left]               {$60.0$}                (Two180)
    (Two180)   edge[] node[align=center,above left,pos=0.7] {\texttt{time\_passed}} (Three180)
    (Three180) edge[] node[align=center,left]               {$\infty$}              (ThreeInf)
;

\end{tikzpicture}
\end{document}
