From 1168ccc3737ba1cbbcff51e2a76c310cbe00e670 Mon Sep 17 00:00:00 2001 From: jesusjuansalgado Date: Mon, 18 Nov 2024 10:41:39 +0000 Subject: [PATCH 01/17] Update README.md --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index b8c6a89..5a58a4b 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,21 @@ -[![PDF-Preview](https://img.shields.io/badge/PDF-Preview-blue)](https://github.com/ivoa-std/ObjVisSAP/releases/download/auto-pdf-preview/ObjVisSAP-draft.pdf) +[![PDF-Preview](https://img.shields.io/badge/PDF-Preview-blue)](https://github.com/ivoa-std/ObjObsSAP/releases/download/auto-pdf-preview/ObjObsSAP-draft.pdf) -# ObjVisSAP - Object Visibility Simple Access Protocol +# ObjObsSAP - Object Observability Simple Access Protocol -The Object Visibility Simple Access Protocol (ObjVisSAP) is an IVOA Data +The Object Observability Simple Access Protocol (ObjObsSAP) is an IVOA Data Access protocol which defines the standard for retrieving object -constraint-free visibility time intervals through a uniform interface within +constraint-free observability time intervals through a uniform interface within the VO framework for given object coordinates to be observed by a given -Astronomical Observatory. The ObjVisSAP services can be registered in an +Astronomical Observatory. The ObjObsSAP services can be registered in an IVOA Registry of Resources using the VOResource, Extension standard, having -a unique ResourceIdentifier in the registry. The ObjVisSAP interface is +a unique ResourceIdentifier in the registry. The ObjObsSAP interface is meant to be reasonably simple to be implemented by service providers. A basic query will be done introducing a set of sky coordinates and a given time period (optional). The service returns a list of constraint-free -visibility time intervals formatted as VOTable. Thus, an implementation of +observability time intervals formatted as VOTable. Thus, an implementation of the service may support additional search parameters (some of which may be custom to that particular service) to more finely control the selection of -the visibility periods. The specification also describes how the search on +the observability periods. The specification also describes how the search on extra parameters has to be done. # Status @@ -26,7 +26,7 @@ Under development. Remember to checkout the repository with its submodules. - git clone --recurse-submodules https://github.com/ivoa-std/ObjVisSAP.git + git clone --recurse-submodules https://github.com/ivoa-std/ObjObsSAP.git Then: run "make" and hope you have all the necessary tools installed. From d57eae440e40cb8e257b06b5f55008552c894a38 Mon Sep 17 00:00:00 2001 From: jesusjuansalgado Date: Mon, 18 Nov 2024 10:45:00 +0000 Subject: [PATCH 02/17] Update and rename ObjVisSAP.tex to ObjObsSAP.tex --- ObjVisSAP.tex => ObjObsSAP.tex | 223 ++++++++++++++++----------------- 1 file changed, 111 insertions(+), 112 deletions(-) rename ObjVisSAP.tex => ObjObsSAP.tex (80%) diff --git a/ObjVisSAP.tex b/ObjObsSAP.tex similarity index 80% rename from ObjVisSAP.tex rename to ObjObsSAP.tex index 1f9114d..f2722b8 100644 --- a/ObjVisSAP.tex +++ b/ObjObsSAP.tex @@ -38,7 +38,7 @@ \begin{html}#1\end{html}} \customcss{custom.css} -\title{Object Visibility Simple Access Protocol} +\title{Object Observability Simple Access Protocol} \ivoagroup{Data Access Layer Group} @@ -77,20 +77,20 @@ \begin{document} \begin{abstract} -The Object Visibility Simple Access Protocol (ObjVisSAP) is an IVOA Data +The Object Observability Simple Access Protocol (ObjObsSAP) is an IVOA Data Access protocol which defines the standard for retrieving object -constraint-free visibility time intervals through a uniform interface within +constraint-free observability time intervals through a uniform interface within the VO framework for given object coordinates to be observed by a given -Astronomical Observatory. The ObjVisSAP services can be registered in an +Astronomical Observatory. The ObjObsSAP services can be registered in an IVOA Registry of Resources using the VOResource, Extension standard, having -a unique ResourceIdentifier in the registry. The ObjVisSAP interface is +a unique ResourceIdentifier in the registry. The ObjObsSAP interface is meant to be reasonably simple to be implemented by service providers. A basic query will be done introducing a set of sky coordinates and a given time period (optional). The service returns a list of constraint-free -visibility time intervals formatted as VOTable. Thus, an implementation of +observability time intervals formatted as VOTable. Thus, an implementation of the service may support additional search parameters (some of which may be custom to that particular service) to more finely control the selection of -the visibility periods. The specification also describes how the search on +the observability periods. The specification also describes how the search on extra parameters has to be done. \end{abstract} @@ -114,7 +114,7 @@ \section*{Conformance-related definitions} infrastructure that enable VO applications. \section*{Link to IVOA Architecture} -The figure below shows where ObjVisSAP protocol fits within the +The figure below shows where ObjObsSAP protocol fits within the IVOA architecture: %%%%%%%%%%%%%%%%%%%% Figure/Image No: 1 starts here %%%%%%%%%%%%%%%%%%%% @@ -133,17 +133,17 @@ \section*{Link to IVOA Architecture} \section{Introduction}\label{section:_Toc415497365} -The Object Visibility Simple Access Protocol (ObjVisSAP henceforth) +The Object Observability Simple Access Protocol (ObjObsSAP henceforth) specifies in a standard format the services to retrieve object -visibility from astronomical observatories. +observability from astronomical observatories. -The ObjVisSAP interface has intentionally been made similar to the SSAP +The ObjObsSAP interface has intentionally been made similar to the SSAP \citep{2012ivoa.spec.0210T} and SIAP v2.0 \citep{2015ivoa.spec.0617D} through the adoption of current IVOA Data Access Layer Interface (DALI; \citealt{2017ivoa.spec.0517D}) and Observation Data Model Core Components (ObsCore;\citealt{2017ivoa.spec.0509L}) and its implementation in -the Table Access Protocol (TAP;\citealt{2019ivoa.spec.0927D}). ObjVisSAP services also support +the Table Access Protocol (TAP;\citealt{2019ivoa.spec.0927D}). ObjObsSAP services also support VOSI-availability and VOSI-capabilities resources (VOSI;\citealt{2017ivoa.spec.0524G}): @@ -157,17 +157,17 @@ \section{Introduction}\label{section:_Toc415497365} \subsection{The Role in the IVOA Architecture} -ObjVisSAP specifies standardID values \citep{2016ivoa.spec.0523D} for each -capability, as defined by VODataService \citep{2010ivoa.spec.1202P}. ObjVisSAP +ObjObsSAP specifies standardID values \citep{2016ivoa.spec.0523D} for each +capability, as defined by VODataService \citep{2010ivoa.spec.1202P}. ObjObsSAP services may be registered in an IVOA Registry using the SimpleDALRegExt \citep{2017ivoa.spec.0530P} extension schema. \section{Requirements for Compliance} -The object visibility query web method \textbf{MUST} be supported as described -in section \ref{sec:query}. Through this web method, clients search for visibility +The object observability query web method \textbf{MUST} be supported as described +in section \ref{sec:query}. Through this web method, clients search for observability periods based on given sky coordinates and a time period (optional). The -response is a VOTable that describes the constraint-free visibility time +response is a VOTable that describes the constraint-free observability time windows. Other output formats can be specified by the RESPONSEFORMAT parameter (see \citet{2017ivoa.spec.0517D}). @@ -186,19 +186,18 @@ \subsection{Compliance} its protocols is said to be "conditionally compliant". \section{Resources} -The purpose of the object visibility query is to allow users/clients to -check if a given set of sky coordinates are visible for a given time -period. We define "visible" as the time interval suitable to perform -scientific observations. We therefore, leave to the observatories to -define when exactly an object is visible for scientific observations. +The purpose of the object observability query is to enable users and clients to +determine if a given set of sky coordinates is observable during a specified time period. +Here, "observable" refers to a time interval suitable for conducting scientific observations. +The precise definition of when an object is deemed observable for scientific purposes is therefore left to the individual observatories. The most basic query parameters will be the sky coordinates (Right Ascension and Declination), both coordinates must be expressed following the ICRS coordinate system and the start time and stop time for the -visibility checks (optional). Any additional parameters may be used to -customize the visibility checks. +observability checks (optional). Any additional parameters may be used to +customize the observability checks. -The ObjVisSAP service have been designed to follow the DALI-sync +The ObjObsSAP service have been designed to follow the DALI-sync specification. \begin{table}[h] @@ -217,9 +216,9 @@ \section{Resources} VOSI-capabilities & /capabilities & yes \\ \hline \end{tabular} -\caption{ObjVisSAP service resources} +\caption{ObjObsSAP service resources} \end{table} -The ObjVisSAP service must have at least one \{query\} resource. +The ObjObsSAP service must have at least one \{query\} resource. \subsection{\{query\} resource} \label{sec:query} The \{query\} resource is a synchronous web service resource that @@ -231,7 +230,7 @@ \subsection{\{query\} resource} \label{sec:query} As a DALI-sync resource, the parameters for a request may be submitted using an HTTP GET (query string) or POST action. -Object Visibility services advertise their availability as described in +Object observability services advertise their availability as described in the DALI standard. This system must provide mechanisms to fully characterize the service, including its non-compulsory and additional parameters. @@ -256,7 +255,7 @@ \subsection{\{query\} resource} \label{sec:query} names refer to those defined in the ObsCore Data Model . Some of the parameters proposed in this standard are not described in -the ObsCore Data Model document , such as; min\_vis, max\_vis, +the ObsCore Data Model document , such as; min\_obs, max\_obs, elevation, moon\_sep. We tried to describe these parameters following the ObsCore standard. @@ -266,15 +265,15 @@ \subsubsection{Required parameters} raising an error, and the parameters must be properly used to constrain the query. -As described in this section, the only mandatory parameters are the -Right Ascension and Declination of the point in the sky to check for -constraint-free time intervals. In this case, the service will return -all possible time intervals where the point in the sky is visible. The -time span covered by each astronomical observatory will depend on the -characteristics of each scientific instrument. For example, time spam -covered by ground based optical telescopes will be larger than time spam -covered by Low Earth Orbit observatories, where the satellite orbital -elements changes frequently. +As described in this section, the only mandatory parameters are the Right +Ascension and Declination of the sky coordinates for checking constraint-free +time intervals. In this context, the service will return all possible time +intervals during which the sky coordinates are observable. The duration of +these intervals will depend on the characteristics of each scientific +instrument. For instance, ground-based optical telescopes typically cover +longer observation periods than Low Earth Orbit observatories, where +satellite orbital elements change frequently. + \begin{itemize} \item{\textbf{MAXREC}\\MAXREC parameter is defined in DALI and allows @@ -286,11 +285,11 @@ \subsubsection{Required parameters} respond with metadata-only (normal output document with no records).} \item{\textbf{UPLOAD}\\DALI UPLOAD parameter is not used by this version -of ObjVisSAP. The use case of uploading lists of coordinates is covered +of ObjObsSAP. The use case of uploading lists of coordinates is covered by the multiple-valued parameters values.} \item{\textbf{POS}\\The service \textbf{MUST }support the -\textbf{POS} parameter, to specify the position in the sky to check the visibility. +\textbf{POS} parameter, to specify the position in the sky to check the observability. The coordinate values are specified in list format (comma separated) with no embedded white space.\\ Example:\\ @@ -307,14 +306,14 @@ \subsubsection{Required parameters} \item{\textbf{TIME}\\The service \textbf{MUST} support the \textbf{TIME} parameter, to specify the time coverage in range-list form -to check for object visibility. The unit of \textbf{TIME} parameter must be +to check for object observability. The unit of \textbf{TIME} parameter must be expressed in MJD. The format of the range list is the one defined by other IVOA S*APs protocols like SSAP \citep{std:SSAP}, where the format of a range is defined by '$t_{min}\slash t_{max}$'. If the range is defined as an open range without the lower value of the range like '$\slash t_{max}$', $t_{min}$ will be interpreted as now.\\ -\textbf{Example:} to query for object visibility of the coordinate +\textbf{Example:} to query for object observability of the coordinate (10.68,41,27) and end time for the periods between 11-April-2021 and 14-April-2021: %%%%%%%%%%%%%%%%%%%% starts here %%%%%%%%%%%%%%%%%%%% @@ -323,7 +322,7 @@ \subsubsection{Required parameters} \begin{tabular}{|l|l|} \hline \begin{lstlisting}[language=SQL] -http://xmmvischeck.esac.esa.int:8080/objvissap/query? +http://xmmvischeck.esac.esa.int:8080/objobssap/query? POS=10.68,41.27&TIME=59522/59532 \end{lstlisting} \\ @@ -332,7 +331,7 @@ \subsubsection{Required parameters} \end{table} %%%%%%%%%%%%%%%%%%%% ends here %%%%%%%%%%%%%%%%%%%% -Calculation of the visibility by different observatories is only defined +Calculation of the observability by different observatories is only defined for a certain future time range. That implies that there could be \textbf{a maximum time hard limit} defined by the service that could be smaller than the maximum of the \textbf{TIME} period value invoked by @@ -355,26 +354,26 @@ \subsubsection{Non-compulsory Parameters} server side. These parameters should be treated as reserved keywords. \begin{itemize} -\item{\textbf{VIS\_MIN}\\A service \textbf{MAY} have a search parameter -called \textbf{VIS\_MIN}. This parameter would constrain the visibility -check to those time periods with at least the minimum visibility specified -in the parameter. The unit of \textbf{VIS\_MIN} parameters must be expressed +\item{\textbf{MIN\_OBS}\\A service \textbf{MAY} have a search parameter +called \textbf{MIN\_OBS}. This parameter would constrain the observability +check to those time periods with at least the minimum observability specified +in the parameter. The unit of \textbf{MIN\_OBS} parameters must be expressed in seconds.\par \textbf{Example:} The input parameter listing below from the Object -Visibility Simple Access Protocol shows that in addition to supporting +observability Simple Access Protocol shows that in addition to supporting the required parameters (POS, TIME), it also supports the free -parameter VIS\_MIN. +parameter MIN\_OBS. %%%%%%%%%%%%%%%%%%%% starts here %%%%%%%%%%%%%%%%%%%% \begin{lstlisting}[language=XML] +xmlns:ovdm="http://www.ivoa.net/xml/ObjectObservabilityDM/ +ObjectobservabilityDM-v1.0.xsd" version="1.0"> -Object Visibility Simple Access Protocol +Object Observability Simple Access Protocol Specify the time coverage (epoch), specified in range-list form -to check for visibility. To be specified in MJD. +to check for observability. To be specified in MJD. - - Minimum visibility interval interval + Minimum observability time interval ... ... ... ... @@ -406,25 +405,25 @@ \subsubsection{Non-compulsory Parameters} } \item{\textbf{FACILITY}\\A service \textbf{MAY} have a search parameter called \textbf{FACILITY}. This parameter would constrain the output of -visibility ranges for services with multiple telescopes/facilities. -This could be used, e.g., to select visibility ranges for telescopes +observability ranges for services with multiple telescopes/facilities. +This could be used, e.g., to select observability ranges for telescopes arrays, preventing the need of registration of one service per telescopes for this kind of observatories. Also, this could be useful for antennas arrays.} \end{itemize} \subsection{Availability: VOSI-availability} -A web service with ObjVisSAP capabilities \citep{2017ivoa.spec.0524G} must have a +A web service with ObjObsSAP capabilities \citep{2017ivoa.spec.0524G} must have a VOSI-availability resource as described in DALI \citep{2017ivoa.spec.0517D}. \subsection{Capabilities: VOSI-capabilities} -A web service with ObjVisSAP capabilities must have a VOSI-capabilities +A web service with ObjObsSAP capabilities must have a VOSI-capabilities resource as described in DALI. The standardID for the \{query\} capability is: %%%%%%%%%%%%%%%%%%%% starts here %%%%%%%%%%%%%%%%%%%% \begin{lstlisting}[language=SQL] -ivo://ivoa.net/std/ObjVisSAP#query-0.3 +ivo://ivoa.net/std/ObjObsSAP#query-0.3 \end{lstlisting} %%%%%%%%%%%%%%%%%%%% ends here %%%%%%%%%%%%%%%%%%%% All DAL services must implement the /\textit{capabilities} resource. @@ -441,21 +440,21 @@ \subsection{Capabilities: VOSI-capabilities} - http://example.com/ObjVisSAP/capabilities + http://example.com/ObjObsSAP/capabilities - http://example.com/ObjVisSAP/availability + http://example.com/ObjObsSAP/availability - + - http://example.com/ObjVisSAP/query + http://example.com/ObjObsSAP/query @@ -505,12 +504,12 @@ \subsection{Successful Query} Since the \{query\} response is usually dynamically generated, the Content-Length and Last-Modified headers cannot usually be set.\\ -The output returned by a ObjVisSAP service is a VOTable , an XML table +The output returned by a ObjObsSAP service is a VOTable , an XML table format, returned with a MIME-type of "application/x-votable+xml". The -table lists all the visibility periods computed for the given +table lists all the observability periods computed for the given coordinates and time period in the server. The following requirements are placed on the contents of the table when the query successfully -returns a list of visibility periods: +returns a list of observability periods: \newcounter{numberedCntBI} \begin{enumerate} @@ -522,7 +521,7 @@ \subsection{Successful Query} results be returned in the first resource element. \item The RESOURCE element \textbf{MUST} contains an INFO element with name="QUERY\_STATUS". Its value attribute should be set to "\,OK" if the -query executed successfully, regardless of whether any visibility period +query executed successfully, regardless of whether any observability period for the given coordinates were found. \setcounter{numberedCntBI}{\theenumi} \end{enumerate} @@ -538,11 +537,11 @@ \subsection{Successful Query} \begin{enumerate} \setcounter{enumi}{\thenumberedCntBI} -\item Each table row represents a different visibility period. +\item Each table row represents a different observability period. \item Each record of the output VOTable \textbf{MUST} contain value for each FIELD. \item Every FIELD \textbf{SHOULD} contain a utype reference to the -object visibility Data Model whenever possible. +object observability Data Model whenever possible. \item A standard column \textbf{MUST} have a defined utype and a defined UCD as described in next section \item A standard column could appear multiple times with different @@ -561,8 +560,8 @@ \subsection{Successful Query} %%%%%%%%%%%%%%%%%%%% starts here %%%%%%%%%%%%%%%%%%%% \begin{lstlisting}[language=XML] -xmlns:ovdm="http://www.ivoa.net/xml/ObjectVisibilityDM/ -ObjectVisibilityDM-v1.0.xsd" +xmlns:ovdm="http://www.ivoa.net/xml/ObjectObservabilityDM/ +ObjectObservabilityDM-v1.0.xsd" \end{lstlisting} %%%%%%%%%%%%%%%%%%%% ends here %%%%%%%%%%%%%%%%%%%% @@ -572,7 +571,7 @@ \subsubsection{Standard output fields} \begin{itemize} \item {Exactly one field \textbf{MUST} have a name="\textbf{t\_validity}" with\\ utype=" \textbf{Char.TimeAxis.Coverage.Time}" with -datatype="float", ucd="time.validity", unit="d" containing the date when the visibility calculations will change.} +datatype="float", ucd="time.validity", unit="d" containing the date when the observability calculations will change.} \item {Exactly one field \textbf{MAY} have a name="\textbf{validity\_accuracy}" with datatype="char" and arraysize="*" containing the level of @@ -581,19 +580,19 @@ \subsubsection{Standard output fields} \item {Exactly one field \textbf{MAY} have a name="\textbf{ validity\_predictor}" with datatype="char" and arraysize="*" with an -identifier of the software used to calculate the visibility.} +identifier of the software used to calculate the observability.} \item {Exactly one field \textbf{MUST} have a name="\textbf{t\_start}" with\\ utype="\textbf{Char.TimeAxis.Coverage.Bounds.Limits.StartTime}"\\ with -datatype="float", ucd="time.start", unit="d" containing the start of the visibility period.} +datatype="float", ucd="time.start", unit="d" containing the start of the observability period.} \item {Exactly one field \textbf{MUST} have a name="\textbf{t\_stop}" with\\ utype="\textbf{Char.TimeAxis.Coverage.Bounds.Limits.StopTime}"\\, with -datatype="float", ucd="time.end" and unit="d" containing the end of the visibility period.} +datatype="float", ucd="time.end" and unit="d" containing the end of the observability period.} -\item {Exactly one field \textbf{MUST} have a name="\textbf{t\_visibility}" +\item {Exactly one field \textbf{MUST} have a name="\textbf{t\_observability}" with\\ utype="\textbf{Char.TimeAxis.Coverage.Support.Extent}"\\, with -datatype="float", ucd="time.duration" and unit="s", containing the visibility window duration in seconds.} +datatype="float", ucd="time.duration" and unit="s", containing the observability window duration in seconds.} \item {Exactly one field \textbf{MAY }have a name="\textbf{pos\_angle }" with\\ @@ -603,42 +602,42 @@ \subsubsection{Standard output fields} \item {Exactly one field \textbf{MAY }have a name="\textbf{em\_min}" with\\ utype="\textbf{Char.Spectral.Axis.Energy.Min}"\\ -datatype="float", ucd="em.energy" and unit="m" , containing the low energy bound for this particular sky position and visibility time interval.} +datatype="float", ucd="em.energy" and unit="m" , containing the low energy bound for this particular sky position and observability time interval.} \item {Exactly one field \textbf{MAY }have a name="\textbf{em\_max}" with\\ utype="\textbf{Char.Spectral.Axis.Energy.Max}"\\ datatype="float", ucd="em.energy" and unit="m" , containing the high energy bound for this particular sky position and -visibility time interval.} +observability time interval.} \item {Exactly one field \textbf{MAY }have a name="\textbf{elevation\_min}" with\\ utype="\textbf{Char.Position.Axis.Min}"\\ with -datatype="float", ucd="angle.validity" and unit="deg" , containing the minimum elevation for this particular sky position and visibility +datatype="float", ucd="angle.validity" and unit="deg" , containing the minimum elevation for this particular sky position and observability time interval.} \item {Exactly one field \textbf{MAY }have a name="\textbf{elevation\_max}" with\\ utype="\textbf{Char.Position.Axis.Max}"\\ datatype="float", ucd="angle.validity" and unit="deg", containing the maximum elevation for this particular sky position and -visibility time interval.} +observability time interval.} \item {Exactly one field \textbf{MAY }have a name="\textbf{moon\_sep\_min}" datatype="float", ucd="angle.validity" and unit="deg" , containing the minimum Moon separation for this particular -sky position and visibility time interval.} +sky position and observability time interval.} \item {Exactly one field \textbf{MAY }have a name="\textbf{moon\_sep\_max}" datatype="float", ucd="angle.validity" and unit="deg" , containing the maximum Moon separation for this particular -sky position and visibility time interval.} +sky position and observability time interval.} \item {Exactly one field \textbf{MAY }have a name="\textbf{sun\_sep\_min}" with\\ datatype="float", ucd="angle.validity" and unit="deg" , containing the minimum Sun separation for this particular -sky position and visibility time interval.} +sky position and observability time interval.} \item {Exactly one field \textbf{MAY }have a name="\textbf{sun\_sep\_max}" with\\ datatype="float", ucd="angle.validity" and unit="deg" , containing the maximum Sun separation for this particular -sky position and visibility time interval.} +sky position and observability time interval.} \item {Exactly one field \textbf{MAY} have a name="\textbf{facility}" with datatype="char" and arraysize="*", ucd="meta.id;instr.tel",\\ @@ -649,10 +648,10 @@ \subsubsection{Standard output fields} Examples: HST/WFPC2, VLT/FORS2, SKA1/LOW11, etc} \end{itemize} -\subsubsection{ObjVisSAP \{query\} Service Descriptor} +\subsubsection{ObjObsSAP \{query\} Service Descriptor} The DataLink specification describes a mechanism for describing a service within a VOTable resource and recommends that services can -describe themselves with a special resource with name="this". ObjVisSAP +describe themselves with a special resource with name="this". ObjObsSAP \{query\} responses should include a descriptor describing both standard and custom query parameters (if applicable). The descriptor for a service with standard parameters (see 3.1) would be:\\ @@ -661,13 +660,13 @@ \subsubsection{ObjVisSAP \{query\} Service Descriptor} \begin{lstlisting}[language=XML] + value="ivo://ivoa.net/std/ObjObsSAP#query-0.3"/> + value="http://example.com/ObjObsSAP/query"/> - + \end{lstlisting} @@ -686,16 +685,16 @@ \section{Output Example} xsi:noNamespaceSchemaLocation=" xmlns:http://www.ivoa.net/xml/VOTable/VOTable-1.1.xsd" xmlns:ssldm="http://www.ivoa.net/xml/ -ObjectVisibilityDM/ObjectVisibilityDM-v1.0.xsd" +ObjectObservabilityDM/ObjectObservabilityDM-v1.0.xsd" version="1.0"> European Space Astronomy Centre. XMM-Newton SOC - -Object Visibility Simple Access Protocol (ObjVisSAP) +Object Observability Simple Access Protocol (ObjObsSAP) -ObjVisSAP +ObjObsSAP @@ -706,7 +705,7 @@ \section{Output Example} - @@ -734,7 +733,7 @@ \section{Output Example} \renewcommand{\thesection}{\Alph{section}.\arabic{section}} \setcounter{section}{0} \begin{appendices} -\section{ObjVisSAP data model summary} +\section{ObjObsSAP data model summary} \FloatBarrier \begin{table}[h] \tiny @@ -747,7 +746,7 @@ \section{ObjVisSAP data model summary} \textbf{t\_validity} & \textbf{Char.TimeAxis.Coverage.Time \newline (MUST)} & time.validity & Date when the \newline -visibility calculation will change (MJD) & +observability calculation will change (MJD) & float & d \\ \hline \textbf{validity\_accuracy} & \textbf{(MAY)} & & Level of confidence @@ -755,26 +754,26 @@ \section{ObjVisSAP data model summary} Accepted values= HIGH, MEDIUM, LOW & char, * & \\ \hline \textbf{validity\_predictor} & \textbf{(MAY)} & & Identifier (string -free representation) of the software used to calculate the visibility & +free representation) of the software used to calculate the observability & char, * & \\ \hline \textbf{t\_start} & \textbf{ Char.TimeAxis.Coverage.Bounds. \newline Limits.StartTime \newline (MUST)} & time.start & -Visibility window start time (MJD) & float & d \\ +observability window start time (MJD) & float & d \\ \hline \textbf{t\_stop} & \textbf{ Char.TimeAxis.Coverage.Bounds. \newline Limits.StopTime \newline (MUST)} & time.end & -Visibility widow end time (MJD) & float & d \\ +observability widow end time (MJD) & float & d \\ \hline -\textbf{t\_visibility} & \textbf{ +\textbf{t\_observability} & \textbf{ Char.TimeAxis.Coverage. \newline Support.Extent \newline (MUST)} & time.duration & -Visibility duration window & float & s \\ +observability duration window & float & s \\ \hline \textbf{pos\_angle} & \textbf{ Char.SpatialAxis.Coverage.Location. \newline @@ -785,7 +784,7 @@ \section{ObjVisSAP data model summary} \textbf{em\_threshold} & \textbf{ Char.Spectral.Axis.Energy.Threshold \newline (MAY)} & em.energy & Energy -threshold for this particular sky position and visibility time interval +threshold for this particular sky position and observability time interval & float & m \\ \hline \pagebreak @@ -796,41 +795,41 @@ \section{ObjVisSAP data model summary} \textbf{em\_min} & \textbf{Char.Spectral.Axis.Energy.Min \newline (MAY)} & em.energy & Energy minimum for this particular sky position and -visibility time interval & float & m \\ +observability time interval & float & m \\ \hline \textbf{em\_max} & \textbf{Char.Spectral.Axis.Energy.Max \newline (MAY)} & em.energy & Energy maximum for this particular sky position and -visibility time interval & float & m \\ +observability time interval & float & m \\ \hline \textbf{elevation\_min} & \textbf{ Char.SpatialAxis.Coverage. \newline Extent.angular\_distance \newline (MAY)} & phys.angDist -& Minimum elevation for this sky position and visibility time interval & +& Minimum elevation for this sky position and observability time interval & float & deg \\ \hline \textbf{elevation\_max} & \textbf{ Char.SpatialAxis.Coverage. \newline Extent.angular\_distance \newline (MAY)} & phys.angDist -& Maximum elevation for this sky position and visibility time interval & +& Maximum elevation for this sky position and observability time interval & float & deg \\ \hline \textbf{moon\_sep\_min} & \textbf{(MAY)} & phys.angDist & Minimum -Moon separation for this sky position and visibility time interval & +Moon separation for this sky position and observability time interval & float & deg \\ \hline \textbf{moon\_sep\_max} & \textbf{(MAY)} & phys.angDist & Maximum -Moon separation for this sky position and visibility time interval & +Moon separation for this sky position and observability time interval & float & deg \\ \hline \textbf{sun\_sep\_min} & \textbf{(MAY)} & phys.angDist & Minimum Sun -separation for this sky position and visibility time interval & float & +separation for this sky position and observability time interval & float & deg \\ \hline \textbf{sun\_sep\_max} & \textbf{(MAY)} & phys.angDist & Maximum Sun -separation for this sky position and visibility time interval & float & +separation for this sky position and observability time interval & float & deg \\ \hline \textbf{facility} & \textbf{Char.SpatialAxis.Coverage.Provenance.\newline ObsConfig.Facility.name} From b98f5428d744c28e7d28a6bf0ecbc8095176168a Mon Sep 17 00:00:00 2001 From: jesusjuansalgado Date: Mon, 18 Nov 2024 10:45:29 +0000 Subject: [PATCH 03/17] Update Makefile --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 2ef5eb5..116de70 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,13 @@ # ivoatex Makefile. The ivoatex/README for the targets available. # short name of your document (edit $DOCNAME.tex; would be like RegTAP) -DOCNAME = ObjVisSAP +DOCNAME = ObjObsSAP # count up; you probably do not want to bother with versions <1.0 DOCVERSION = 1.0 # Publication date, ISO format; update manually for "releases" -DOCDATE = 2020-09-30 +DOCDATE = 2020-11-18 # What is it you're writing: NOTE, WD, PR, REC, PEN, or EN DOCTYPE = WD From d6979d6bbf78af2eb4574d627dcdc598f4371516 Mon Sep 17 00:00:00 2001 From: jesusjuansalgado Date: Mon, 18 Nov 2024 10:46:31 +0000 Subject: [PATCH 04/17] Update ivoatexmeta.tex --- ivoatexmeta.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ivoatexmeta.tex b/ivoatexmeta.tex index a720b83..5bb81ff 100644 --- a/ivoatexmeta.tex +++ b/ivoatexmeta.tex @@ -1,6 +1,6 @@ % GENERATED FILE -- edit this in the Makefile \newcommand{\ivoaDocversion}{1.0} -\newcommand{\ivoaDocdate}{2021-03-23} -\newcommand{\ivoaDocdatecode}{20210323} +\newcommand{\ivoaDocdate}{2024-11-18} +\newcommand{\ivoaDocdatecode}{20241118} \newcommand{\ivoaDoctype}{WD} -\newcommand{\ivoaDocname}{ObjVisSAP} +\newcommand{\ivoaDocname}{ObjObsSAP} From 9e94170cd34e4ba20be38679208221869590b7bf Mon Sep 17 00:00:00 2001 From: jesusjuansalgado Date: Mon, 18 Nov 2024 10:46:56 +0000 Subject: [PATCH 05/17] Update Makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 116de70..58c04dd 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ DOCNAME = ObjObsSAP DOCVERSION = 1.0 # Publication date, ISO format; update manually for "releases" -DOCDATE = 2020-11-18 +DOCDATE = 2024-11-18 # What is it you're writing: NOTE, WD, PR, REC, PEN, or EN DOCTYPE = WD From dbfdf3a2ff370dd6604947c5d4ceded14dae4322 Mon Sep 17 00:00:00 2001 From: jesusjuansalgado Date: Mon, 18 Nov 2024 10:47:32 +0000 Subject: [PATCH 06/17] Update role_diagram.xml --- role_diagram.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/role_diagram.xml b/role_diagram.xml index fe2c6de..b143646 100644 --- a/role_diagram.xml +++ b/role_diagram.xml @@ -21,7 +21,7 @@ with missing dependencies. - + From 92c01dee227e8692d0e9afd6a0b3f843934b4ab3 Mon Sep 17 00:00:00 2001 From: jesusjuansalgado Date: Mon, 18 Nov 2024 14:14:30 +0000 Subject: [PATCH 07/17] Update .gitignore --- .gitignore | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index afed28c..9108e34 100644 --- a/.gitignore +++ b/.gitignore @@ -5,8 +5,8 @@ **/*.dvi **/*.log **/*.out -**/ObsLocTAP.synctex.gz -**/ObsLocTAP.ps -**/ObsLocTAP.pdf -**/ObsLocTAP.fls -**/ObsLocTAP.fdb_latexmk +**/ObjObsSAP.synctex.gz +**/ObjObsSAP.ps +**/ObjObsSAP.pdf +**/ObjObsSAP.fls +**/ObjObsSAP.fdb_latexmk From 845899c3e82640aa3e25cd4e41382a3edab4ff6f Mon Sep 17 00:00:00 2001 From: jesusjuansalgado Date: Mon, 18 Nov 2024 14:38:05 +0000 Subject: [PATCH 08/17] Update preview.yml --- .github/workflows/preview.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 60d2471..172bf7f 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -1,7 +1,7 @@ name: Update PDF Preview env: - doc_name: ObjVisSAP + doc_name: ObjObsSAP on: push: From 7a12d0900b35ab57746833adfcc5c01165c3d467 Mon Sep 17 00:00:00 2001 From: jesusjuansalgado Date: Mon, 18 Nov 2024 14:52:51 +0000 Subject: [PATCH 09/17] Update build.yml --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4ba3e2b..42d3f7d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,7 +1,7 @@ name: Check the IVOA document env: - doc_name: ObjVisSAP + doc_name: ObjObsSAP on: pull_request: @@ -33,7 +33,7 @@ jobs: test -f ${{ env.doc_name }}.bbl - name: Keep the PDF artefact - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v2 with: name: PDF Preview path: ${{ env.doc_name }}.pdf From 73a775f7e658b862edf4f579ed29314707de9bd0 Mon Sep 17 00:00:00 2001 From: jesusjuansalgado Date: Mon, 18 Nov 2024 14:53:58 +0000 Subject: [PATCH 10/17] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 42d3f7d..36ef92b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,7 +33,7 @@ jobs: test -f ${{ env.doc_name }}.bbl - name: Keep the PDF artefact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: PDF Preview path: ${{ env.doc_name }}.pdf From 5b38892d1047010fc879473a643eac3a18c19c1b Mon Sep 17 00:00:00 2001 From: jesusjuansalgado Date: Mon, 18 Nov 2024 23:04:53 +0000 Subject: [PATCH 11/17] Update role_diagram.xml --- role_diagram.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/role_diagram.xml b/role_diagram.xml index b143646..09baef2 100644 --- a/role_diagram.xml +++ b/role_diagram.xml @@ -13,7 +13,6 @@ with missing dependencies. - From 63ff3b9e1eb9c5ba423ac2dae867706c8542e72a Mon Sep 17 00:00:00 2001 From: Jesus Salgado Date: Mon, 18 Nov 2024 23:58:40 +0000 Subject: [PATCH 12/17] change arch diagram --- role_diagram.pdf | Bin 52260 -> 52329 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/role_diagram.pdf b/role_diagram.pdf index 81e43024f1f918f95ccd99c18a614c50f7b2dda5..f4a9a12ef68944a1e7797080cc29d8f0bf09d2cb 100644 GIT binary patch delta 38710 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 rp`1s5rJUsS=~LPDm(BlqR6f3T2wxPNEHar delta 38746 zcmZU)V|ZL)_x9a3X_}<5ZJQI@wr$(ovCYP|ZQHhOG)|hdZ~MQW`@!+fF>|hKowL?n z*KvK=dp`W;><3uk53o2jAdRN-9H%Rl+m_2&Uy;Cgz}WyN5nB=oE5r5e<|f{li&BEJ zEiOEM|NiA6E7cF`?T{b7=qok)+B1y$OQqSR5aDX&v~W_}+aP#L`bXi1*&DBMi{2S} zUvZit`XyH&MM}1@m}a$xw>ixBsby3y)6_NE#6CECnYY3&y+jf;KpIcjM+h!MMDB z>=xd?Bv=94^UwAukHy4-M@qBTCX@XT`YwjXFIn~ILlVYr6 z$Jy>F9(3qVu@tE+AgH@ijqi9tmZxo^;NtK*>RGPx{MVM2zzR!HO~zx5D!1SF{`JrB zFHyU>+Vnn}EMKuDdDy8Y%B#UpMDa3I+Mq8+4j*$Ezv@lgj<}-JVz-+F5@3$a1%4W6 zv>fx>8N)a>|Jdz(5t$JG{>`ZCr}MS*Wrk;WCaG+kUqLF37~r^8@2Ij=apK~qu4=sz zg*;4=dn!on@nMH}#Oc%<47uzLv&e!iEjsX1C`HK?J4tW>s`Yxmq1toVZr-M%EPfB3)!pzJ)^2)*LnXTTXc~l>DfPz6-!fXwtcm8*PlH^~FJG*Fpub zQk5Ib>+hRe0F*Mg2-=*71I#|4rc+)WxIfO#wv>b?3tILvS0f%lvkoZJTtn@tl$!no z(1_yBwN>I}Op#|=G@J-A)Z|5OD0B;one#M3o3If_EJMHZEh8)tlNP9@ocVZFO_*cT zS}xB&D_{zE5Qg2+6;4^|2=`EOn+q)kId9Na8mCV-0mTSysiI1={6n%S)+&*ZhHH}( zDPZTL7?|feWbc$xjWJNoBK<>_nmiELKCoUTMWUvj@nc~+ylOTI3GtvjHqdnB(Iv;1 zG!>g7Cr2Z2RIVjA;32l+kw_eMO4Ve&njouaJf!yaOD9x#GS-Ia-2<{&%Y_IFMn+XQ ztoEHRuun3UR7y8Gq#R8xlhT(@tRwZf(!$p!u{uUU>POPP!gqW`=4?086Sz_W%5L8! z^!w~5W#C67{5mPLu`S>YsxlN{yZ`m-8tD5?7sX#g`A)u5Jk2T@H6<_Q*Pg8CL0<8G zd!)>-t;PH(`GZPM$TC-L%OZ1MLX|(++8CL5Kvs^+R4iBj0jeLXL0&YoLpnu{BBGvq z55NOU+r;--oMo)JS8txB-RlR8zo~$a&qEP0RC|ZU4`yXTE^Bk@QIcC{$_VUIyAVQU%oJaXzCl=s}fS` zc!Al+^_zlobR5RU9{~zdRv#fH)p;AWlD+$UZ?b|5nb&tddjtyS&=l9!J;_*>@Ugy} z_V+1A-&^hVp-{p)_$HRl(_f4I|FxL^S{#YM zS5$!Me_fKBn}A-~!`_5|Uf#gWgn*QQ@!vK7CXOby&IFAAZKszpF}5%ev~wrW`fD)| zfEXAESXdbdbpEGW$j;XJZ@Ciz%m1zybF_1@C*bD(?+*Vnm$i#_&Iq_u}2TIz+ z*38-b@A)M5Wm5ql77z>c-^%}Wj_#RTULM{_D)r`B_cmR2XI+WTZk$_Lg-~mpQ2yfG z{7CVT!k`87!U3{UFoCer0tAQ8fzY;)lM!Te(K(Qbp5&pZY~zf8kDn&WV1L`^Z+-%Pks=deqcNOInJ&hXXWIwUkaJHL6)$_kAL)Rd<3Kfy;!>U7#~iAyW=f3$TXk3#EkdQ6AIFkz&G~jE^Rl_4MBWW^rEWHHIzpJ2^7fCHS$!N*Ir{OpAnC=*O&ixkK zAm67{s8~6Jl&Abrux#P;HUMFWQJ8V~Wo_X&+^dyNE;jUy`zV`trZ)5$;T$ZdVw3f9 zUt1isTYc&(YM+2>ow6W}OI^dW6rXncGvv(^SvJ+Va`IMnE7Qs!EKIBJr$-wmmUJI|87sa<$m{vopa?z2W&)9w8kHl`{Z)Jb= z%A5kdN;M%V30aU{f45oNnQur5>2a7>5(~#_P0dhA4q)Q z?uSbIMHSm>HT5;!nt4anp~6NWsTcGU_ydn|!vWn1F)1IlL=+;fZ^tFP@RegV+j&!B z?A4%d(Ot_|wr>{luE!#Q*NlN@25Sb(ERE5GM@Hgn7))e4dbUKxRQunou^Gy-QKCp- zCM=tHp{qw91Emkmh~h^Z56IQ~ie}PZoUbVaRWlk>_Sh(-Z zs4}XVKn|wrS3Rb%;m^d7w<4oD3eZn7;F!t6{;DWzJTLmfenv6&S>R{Dm3bY)A(|cP;EsN*U^}Utj|!oRV5p-Y%}wrlWwt z;whQUbz_DpdJmIhJ#jww2vMawz|=ojfx_HB$}%k9pyt{u>CMSWrnk)t9(<-ZW?5C# zryc|~zBl3X#+jv}Hc~I4gDZI&>1%__U>fjVTTe_r3MXPCrpg1xJVi zjUt{8I|Fl5yHQD$o#MFPOr!UbxSqS@s&F1WvF!UY7J7qL)Xg|!r>AfYOu)vc8eNh1 zyy+(;iI`4Pj?><+RUR*gJK>-4xX%7!{ox6G68tK75HsI;2Lk;|Kl?_8m*$`q_i(QIydc(Zte{M@#)*jePI=cMeW z`6gO3!+N}KET_9jhCQhO6kL&R7+{+zp|JG`^g(4l$594Ye5uPmb$ve^{t{QK*360#aO`h66Cu!}SdDgOR z;_l?6W^^ZI<^=nLO2aOyT-##;3-vyT{A=u385}p!$Q;X_@0e-{plxhpKmIBz%}pll zI0ZXC4T_@rWzi==5F9K65snh&3`0JXkUd!**#Bu&zsx96mJ>s9QIit%hD~IBU?d%S z&Y83a%OpA03&C3ZcL6P>5TmZ~VNMc2r6xD267dlf1BocixGRLpD4;@W?>m%!Y>YA_ z&_g<%KI2yM+xHj1Wax9kUKdut)Y9!V-^t+iu{m*Z0hOllbgJZa^TDhTFMd9?n3usO zL%6cpYI}F6GFfcfTTzDQ(g)6UlphM74~o<1N6ORM9jCbpDGH(cUZa5RqKms#DRp5U zXd4o94snLnrk((4&Q4_+!Ed9OTG6rCx!yHhKP7mgwX6ZSYQ?C#M?wh(VUrBir_AHc zi%~eFVTXv*QD8S9(MKPUxz4y$axd+ryTW9`KE80ogjQE4RN>iwR6&hYE(<@B-mm{+ zO+GN3-5dEeqZ(K;M3@IDJSY98n1f_+w_EUr+LiAdZ7=ywl?9#?>BM)hYFgi*wJ*6rQc;RIvOD6$ z7;5%^{aPmOF6=J;L4EB~HOp_hOJthv7u5^3C^00+#VlDN0LCMJJO*b*S<_G3Bn(@1 zA8i~Gk71I*Y>7i6;^<$bJb>B5G#OmOe>Sd@E#(NwcwfMxpfgXoawFK%=ndelw zBi_XF#A@~lJ;u!rm6q5zc2-~5&dk0vwSuRn4@)~a9j_Zrhn^1X50r;G2cAEl<^;tq z-kkBG@}lxBWVn|43IWvJ<(@+1&J~Fpa6~{2H*0j(TF61`Vsh(pa^i-`Bhv!X1kx`i zayd>z=}#OA-z~vbD-kFtV7^vaZ!Ia11*UZs#Qq5sR_b}X>t1B*8fVv-Aw$LvAFSHV0v70m zoYYMZR}r{`oH4?jRB2PE)x->JXe-DtQKeDCloOSaDdXU@+(Av_f(_*HiJ^AXHj)_6 zKo_roQ|Ubu^-N)MwhJ}}nw8zo0dcGpY{YW_5qe;*miu>rxyFnA%K?KKjMo5<0bGB# zy$3t)@j!Kc&$3z5_4*_a`WW7xPWt5(GBw61aD zaCq{r8A}vpTOl#{x=xq1RBN+qmzw=HSi1F1okwRA9XWL4Qa!(bPh7-N*hgdB-9(9 zJ5;ThuyA~nJE(IGGa_Ljj7E)#B0hlg{;Kej=40pN<1%_fHGZp1{VIiMkbHqi( z4cuGszVaqzBh*VFEte1Nh7i7c=Uxy`xyfS8?s|>STfrgz1%&Igy=pJx;S|b69+%gos>O_{fpP*!inUaND~E9||EchCEA<1gTNM`x4Q; zu^T{lW;ort4#MWH>Ov)nG8*L^{}HGaW$fYE$Gxc`~{W#oQhnzjwoHd@`T$ zJ8GMn+h6t6rVV2N0cjQmdjz`}%TRR81dQCQ#eX2dh!pO76B2nz3QNNDSf(&B`x_3_ zH*_(U%UztnAh~tOjoZ()b>`Mh*0UB%Ch1ImOicJTOp2o-vUG>FlXU>AdW(jeR$FV+ zNc)iIpl3go-;(j8#za-;(ouK!&85GE%;G*R>u0+%!rJ1{k)iXFx-eKH;spuxj@1}y z1)K!Dfda#7ru~7W;MFgf{)?Q0*80Y9%4#a#rXGe3Y}nbjm)drVBkd{|%I(^MTVH3z zEuY@Rt4{_J%B9k&@koGBv272K3%TWS;HP(ssE?>!e^y6%l#ogx*=s?6ZOYErkae6z zY?xifuatSB@@oSfq(qEPdCQ_}(Zm~F9!DNOJF7dhxd~^C9}w}A8h*hJbZ$myoP>H% zCz}f~ekpiNX=fs(8;VSKR!&=c9LQ8vKmz-WuF}jAVFk@C{#zJ;VP3h`yq$fh@O`{n z=%~r?9!fgrHR##;bFzgEk(y>x037N`42{s4TWgiC?D|?c@Z8JSGz}7O1QEGuC>w^4 zBB4sP_C3sf9^_t-&hheoP{piNh~T0!S3|0-4ueZGfUi`g!Q0Ix#T zUMEO0FJRE^_`C?D`B}tBf@z|;brL}U#TF(W9tXM8uN`{Ad zxMXEJuscQOYj&yWRi{37ZtvM=u)wBcV#zX#PngikT{L=w@dci|d^F;Sw~K+!%l%&% zdiTPlp0Up3BE#ACGhI8urffp3Jn#35dniprCMRb#&mjR>0Vr-F+(~lf%Z8j6Cmhx$ z)+P>LL0#!7vb~mJF5$qlmBAdrv*_O@b`4#PNyiP$!h62l;`F&OwQh)3A^g!wcD-7H zsx4&}v7C8$s`v^(5nAVYt7ld_JT(=4OY;M?z2-1R8Em%@EDrM9)zXWaSdx{lw>H2hCw0B0IM^|&*2{&z(5BFN7 zXwCuXLfVS`|mLj)Y<;R3e{OWxdg_IMcy;UdL^bvI{G3A*_`{2<<& z@2i9ahWc-+0{2Jp`PLlXD?ij|z%BdCyBvc+QPIvAwxBN2NsU;6cot@yeI~2*a857{}->0ZY`Oe5MI;igAS_OsTY-d zr=+#v>5A^LZOuiN;~?9` zyf#2g%vm!_S1W%Z6xKDgO1WmBbW20L{)R(583`R@Qj&l@cge(FL4r&d5}dh}C>_dm z2_(l7!^x$mA92YVg2`kqnZ|2nldwRVf?_4)E>*x(p+nc=<@B|Te+e&%RbJ(^rFDG9 z;&H4}m-*&uRpZ3?!Fai9LY`gd@$@1@nq6~XTteL*V1(}5>(-guTZl;?bm$p{cnD_*bHY%VOPj1Ij zh43P2cwDh8NNkoI;F@4s#WwRg39j-kNJa?H)7 zjk0?ij&DE`exzB?W?(x?bI?iCOhbIO>-|i_kU8jBT%#Vt_pJtQtaooYcn#oP!V)KO zNe5SSlZBJ*cGlS-UC>D^N7vr#pBUu-;}HVqLerYt`yTJBLW7LY>-QA7W`*o-kfp6c zf?`4EOmmEW5ria`WfZ|DP_n=KYprP*f%hm^~ak~>%E`0oC2nT>~tX#*a@rQUsFZ?=m$TV5_3F-xEJ#IZ5#U)lF{+s!B z;;r`GwK+HOxg5LlET*3B-{~62&(Ob|glYFqRG?I1-GHY`Wp+G16##!J>K>Qc3-vN9pTheo<6WVd&WCX;hu_#5-4$%y1(+n3T-e) zKsJ5+a6~qamaC_Ut&GCuvkHe^7@+sO%WwFOjyfMB9@P~na&!X7-!#O4ZS2${$*kLC zE?wUqgoGr=<#TEd;N(X65Ki7VYRqVo)U)Hh4(tU6R%Md^coVcrXr-KS<@PeaHhS*z zb=ZhlUOS9Pr-!!M$e^>WX0kZb8|HoEznn%_3Uu4@b+E0HTAEMTWWTvy-pr+cPB?}t z<5Q=~+Ixd?q80+0f+JCV^mnd0gWBo+Ls;PalX$5rtS)B7hJ+PqJQZA&lNkHv722lo zhe6U2c|r7jfr`c0-*bmHenTbKZe1 zV><;`RJ*%i8*N&^P>1{@(5&wBO#b)ZsooMDjHUuYM%tztfN9T~N8knF zTiiA50`@dt`nH=dop1FU_leVn1*4hvH2a3~gtAv8bFo%&;;@$GRgGNi5y&G<44h z-IYaX4Rn+m4KBU-w+@57C=<4tj&>U;h^F{NJ0Saws}3JHLVhzjs$6@%=6rZDp&s{r zg%;4u5+`XDdd6?s`BQTSh8zjM zn0@%z|NPUpGvoQ9f_bC6`o|`+UJ1twfagRRa~^zkSF+dlbBQBs5GQZTt|Wb)V>=b= zj;q;Z+kOt{A;>b_DH6m_lh|MNb!z7MwsA4t^ydV=kCB%sHeqBe@#Sp7ce{5+>yXyE z<#+1lAGTPTSH%_JE~nA(Fk(*1l#K89A;GEw1WqkI=+lE_71$M|A0(BuM(O~Oj7$q!YP?}s8U66}$Bs|+zf255-;FH{d(rpvj&$Uc z(JuT#Cs+mqdevi#?g=a=tkou~=OVaS!f6MUjEE4~qkGT*K00qst)H#~OBU!89?x`E zyD_)@7T5y;fd;Mb3-P{iG$Au>as(;9D9=t{=Y!xsBra#6ZVpbYG6z0RIX)6LlX#;G zG!1y3)Zn9MfB16vKuGS=`9|6+ccEVgg9%I1OVbNw(fR3ON%Z9W#t=jZG~4}}sT2fr zuf*WkiDerKgoa0YfjPnVH^dQfuJ_5H>GsFd1+>-TEc4S}2IwJww?K}8CZFe%0V3K{ zz(m+fOl~>K$QDkWI_Y>AKM1uUgl^HQQ++~SCth&-P0B(Zkk8cQ@AXKq9OF7^l%b!a zwiA4*KE5x`At>hx7ay>H-&J+T^!@tB514m3b7A-jnC^|%ByxB92~zxgE{m)#vTAeF zr>SlRGuwdOAn@m^$A{}BOq$Bk2j?YJ-6vEU`{GFdO1?BF^1$$n(Gu#FO8!10zx^39 zKT37LsTSV%yWM~R5e2$7c3VUx0en39D5T6R{TW+lL{IXc7<^R0viL=}v$M0BJ}BE( z3|rw}fD`?={imnin_Zq4@^|V?qEmsyqC?6A0^&od^5U<~5LfwHXHE|%o6gs|*CyTR zIfHsrJyQV1CZTl#XVGHXRoO2kKDiIx55u?T2py+<7ESs5mRwctZ}fd!tG~Y8n!S8q zz`q2(q={AcDyYUsAAY`by5oH1dHtdWHD2N;3*^eMpF?}nj$80_1-NY<6bLWGhee`rw7iQbi87} zioM{z%8tA_XX70y~2O?}4)o74wklZ2w0lOYi%f#!X?d0DoOCpXE zP}7@k-A%c4+<~vo=uLMQqYjm$1HU%HsAG3|C;OFt*39-6+3Uen;+~im&}FY#Aeiv_ zzgLWXE+wlO;EZ=PUwK6oPl!E*{6p3CX?wtHeCTF3<$F)DuRC7V9GYhw9zmi$JWy5Q zbavqW)mPB9pS<*DWdQ8ZvK~5{d}PeMbHj3s(>-;)P2&($D#s_|kxzymkL<_nr}ZLY zKLpr(WgLEo;N}x7#yg_T~readh7Pxk3}C4KR2KV3&wf-uGaq(*ms^%hcYWuwCYQ^>qw&-CKb7Bbo-{2{$L8*J7LdG%6wDXD5ef1%(R zd*HzvWOe|)9zL;`YM&&(--}8+_)}$7j(XgKSJ7?+w=)?=e~PGao%GgCyTw1Mpu&M0 z(`!9K)e7U}0r4HSC`OI?ouN zu%B;Fp^iau`>XTSqYbZRV$8Q7!H6*<3ZhH4LZO00VVA=hV}#|K=6<&@MfR?cKc$kS z2FGkTYSxL$ATn>Ic8HS!yZ>oC-=_Nf&D#IHJ>6w*Wvs!C?1IMoa`mHH_%zrGB zwa6$}uVAPW%?U~@w<3p~42e_-ck195W$6QZSrFIkVy6Aq^i>!n?b>(46CaVW=)zjo< z|MH5rWHn*1K8p!$M&HeFSgC*}!Tz`@mXD11uyum4{rJ-G_^lC@A(T3#UhU zML1=aCRIp{XtRl1ebFJqCqlt*%(Lb)I+&1u_vPEzl?h~`=@raBNqCZ8`}Un%B5s1H z4m`RcWv_v@nWM7k#Cn3`$^8?nM=X--DpL7u8(+a#_Clw#cfjhO$m5~3r)3R)RhSi@ zsji=u)_|7TpWGx1e79=a45>qD+Y@eAa3z4GEcN|9Q#tS5Ggg?R}W$2{r%92F^ zFPccjFG+uR}nax~W zExqSfeT9{`vybu7 zQ~_%F1uOVk3@00QGg0aMDq)S5LDDdhWh{)WxMUf-8+JWia}W4NS|wpB{TcRrJ<#Kb zSZ&;^en+yuYZ#Qq1DnFw2sdTi{MCMZhbM|oStk6@GXTxom|$GM`~W`v6j>d91Dl*N za9(q$?#rVeUjH`Bd@-Q01(AydAzu(%tOJ1OMjEm6eC@483A}Z{(A^2%bK>y(Dv}x4 z2(oU8)vx`~`m`d3dD{qf$lL1+UtKvK-YvuPMoPqaNJcTBgWP5#f zCDtb{<_+Qnhcmto{w$$K2~X6lj+)shMin|g@B>q?Xfc&ne$6S)3vVlks?wL2BNR~K z<0D{Gp=z}hgh*APU@seIky@7g`>Iw5Ede`PZ~h_^S70>l>iB3HDw9|JWv-16weeGP`{u?7@lwaB;u!t!G<#> z+vWy&AZ;K~kTzK`L~~cKx<*~;CsAR-@pvb$R$m^j(F9(t+OfdcD z?65}b8m{eRu%@7QH8-Egsrz@>bC>I1ZKTt!lS5lKIG_Rn`jtRsxSF2`C4E^-6x3-vxyx#{7K;uI z4rvVvG`g9@0+jS>oSNB#F#y(-Hgjs^=epDmtk?`#hwrI1ySST57$Kf*>)$rBR{MP;6^FMVbvCh918QOKrK_wZP)_531WKB6oPF&~~$UG|VDTU-Ej2#eT${ay{@gZ_%`?-rCi_T+#g2 zfhY+*i=WKP1@zs4LdI0z{_c_@AjIZJ!NVsX)baQ|AvS>iQ)6lY#QHaJYy3XhGvPm>#L*c)-GYoFj=^y_3?mlP-uo*! z9Q&h)YV51t2miu)TmdY{Uy<1}7m5Kuhkq3m{9h|BUPu%UlfyXpKjAPA^IyZs;KLdGG2o6Qam0D{ zf5jgM>QJ2GpAd)%?wtz7@E-n?-~xDn<1MZLp5qNAhF8R)0}*2c(4+jbp(SKTctzD| zWdTpAddvBu*k`p@8ekXV`*jC=1NB`=y=E6XPqojApiuu(uCJo6f=I%ys%|cZOdq1( zI|vnW1HqN}?=6$EZ2%IVxX_|WyBE6%a~@>T@{mAsnIcMJiDDMEF}Sram0t^J;UJdP z%n3b4;EF7K$w+p_E!HF4B@M6$Ot8vTz+sDUZN}nLz)GGP@zG0;8z4O_LaOfwvZf=9 zw)7<2LzOxS)QmtTzpAHWne#%)1EFMxrJQB^=y7(A$w#}z;Y{Wlas<3c1^EVDL0%wQ zB2pnrA_hR}7FC0vZ5#zyr+xzv`yqY7@v*;Lx<262nkI7#KN|n)z3|lE86g`G8FeGT zq!VNL0W-t@V93WC@ z>Akr{LGIWu)vU6i!5ytSV=qnOMw_IAUCjT~e9VhgWx;TOh}NWiboSoaan8%kVdgU2oQ8?I!+ zgzZNRYCifCcdyRBTu2cx(pk}|)RncJwjD#TOx~611z&F=7}dCN^6aruI}mA)+E@78 zznjZ6gmwd~yN3O={0hhP+TSYO(^T{=4Lp~L`3)n?Lzuz%WIs5P2T$jL9N_ zMF3j-t73N&xrPc_vV@8JnKD+gBx$)js*3;kxUUt8fkL2)vLF!<{}(Gclu0ULLFQJ- z&u2hI;?SnH$zly}Bnv?oy!fKGzgXEzFsDyJ1x^+pRD`N&CMOvc*$5|jmKMG)ZY5~h zQQ4If=Vhp#k&DeZo3X_!K3{q63h#BYAh-L}!6U>UcJb6<#Av@>V`UFgCriK3O!p-T zH(MBej=g`k)-?pIE-Ie}t2@>66HMkk>Xrv-FQaD>SQUMo77$n&P^|FxJ4)+3$SO`c z(hbF3r3r;>Km?dUn1W18B)5!AjpT_KnAZv+bU~NmCuWdmES`{*&Vf3c<(b2-5`u(E{7WzvadApkKtf3W%;g=P&_vhDF3R=n|4$&`<(BvS*`G zNqtBrJBi>8Bugja<;ivIcRbN-LPoTlQbx3b>7##cHMl7SA*k9{y2o|vhrp&H5%~;iye*K=xwAsc!hpWDsq>gQV_o&wSMm$whe;mQD#Mimb-O=?& z#lu0VUa%T4hjRuEL13M4U;_-xStrAmHGkr#&o#`htSdu?@hxnPr(mrsMM0{>*cAe{ z^23(8!w=n6U3y;=S7R4ZxcQr~7WZ05@H33rTx5))d06^xv@h0Xz}BGF#cA@sOG}<2 zsw-I-SrA+GI}NA9T*_EBkF~i5>@?(DPJ+^E*KvR!;ASGucSigzHf%zh&XEzqAzWuM&_%f8M?f zVGP>X9_EZ^91vpRdNM1s!BZj6P0TAAhs7y z@F?KmG~GB2iFbh&?5hA;PbD5j#k4+*8m4UfNAe{(ZPVzuJwu?06QyZ0cuSIP+12-_ zOlau?GS4 z=i*Od(G(9(0XoT7F3IyB=MC5iWqQe1;BLA^%%0C0&DS)E^Q%=1CY)nQ)1*6m>R(>? z%Kh2l|No>o<3D2if1~0o94!Au$Ql1{;QPO%*_8+-+%i5hgSa!o!hC{S{T_Gn-KiZsr=tt zXZ$Z}&&~avfd0Sd1p3F6gR?P%7!sSy9az9MyE&x@A_NL~QaMAciENoJz*0rf~=J{F=ar_8TajLz|1el9p zTVCM{m<{8k*r_*veaj#>@m_$kdw~*+w?k)RqxH7i9$7%Z`hZ@H)`dY$A$k;pOy)-n zMypZpsxDHz=SUKg*KPGa3Lq1H@XG6i9gkFFsj@;;{a%vmjW_N%QGT3q%cT@U#3Cvv z{`_6|RR3$MK_ijiXQy7A5O88VAAs7aYlrH~8^oA5{S|D1&zM{=%^qZZ9v{_uSXoSs zQcw9YF3*_mkUSX(IfPSyM>Q6c$ji)~`~B*fu&5i^EQ zWM_|+-kLwpoXgip$hc}ROI_kb#UhEXcX2|(Du*=RTxmOXsHKq7V22_vMF5z*o6m;{ z`2{!gcMm-Bzw5PX%tqBBmi0f;nBuG5M93!72`{Ks+C`v5Ht80=B=IV5tLcIq!DB=e zV9?WSg5XVqM=6+d;lvd7%$axGt@nD_?EaYUDo)f%%-DFJ#MvKi#3X|4@H*gwyoY6e zHQ%51y^hpI-<5KEq+INd6aa{sN^My)^(N6v+9hQ$Q)8CX>$z=mPHv}^7Y!aG?195) z4jf{Ohg}CKoxKo5sD@P)0$aHjv!GL~2iTCJ^P=>k^`iEox1x}1akpklE~IfdSZv(% zimDabD4IzPTy5Nl(C!i+X#kiG^w`1wS@>k}fxISn>@4Do>Tvi#0?<1zw3)#Y^$C!$ zgfU=^msJXou!jXf#7AWxhDMM!I9GFWRj%COaTuPs3@~%^9Ac7AWR)z$ulc&Qd8K=0 z|ML6Qs%7H%Ym0iTWV3UpYe8m{kGvrsm*fv-kO8Jml6F5d84|BQR6i0K#&XNVF-373 z5$4no2E5&G4LXlCpE?wI1HRR$Q?-HsFwW6Xmj#roe>%f&{ zkuqo#jtbp2jrT0&OvyHUdi*N)-t9RKn`=m(j@xrq&65cIWM20a*)P*XaTwtZoB-eu z#vgyIt^TssHWVG)6$`!u*5hWnl(W79J*(9NA;8uj9;;Yuc$ z#`N=tVY)PjLO_B=pkXh@Lw;qhKn-5;<9?=fv?}UR*C@S-J7Yj!l7vYa_`x9Xk54wjBxM_&u(OO8_MPSs)d~k zjUP|27ox#E&vye0RKth9ZpXtpGpytfHc}uO7k21QHvr$qemWtQ4et+e_i&4~iqjFR zfLiPAx{MNe)yz*Z@}2Hc)&c`jiP=5K~b?rN%J$wOl_4Rgm9Wb9Spuq11*3;w?^mr5}#6c9p4Q-fg%@d z*Iv}e0}QMfYwTIvRVh_9=#il7AUWzM_MKI_$X5+>co*x;>xPRX-8@=|IFmFnx0hK; zU45dWR8H@GeCZ1X$6E9}XGJ>h8}4ACwrB1?{p?7_``1 zqn-kB=x|AjmR0(c$OU29q_Wj;Ix5%v*ltx8MIejv?ex1yGqtdrspjl_1zOfTU|PP2 z6|HNHtC;#xXZ|4Vf&cfGTiMeDQ&`%#s3@sI5s*S*s}r2%{1~SpC=xtsjSOZz=RlAk zgPzuLCcb?V%7@J!YJ>ldhyAm~tSKu4{qhuum0pQWYw#IZaF4kUx4j&}Sw6`0hyT`{ z0vv*gp&i`VrM13Lnnr>Kh`M1e%tULb4xlU5_Z{NskICvn2HItwyOo|fgb01+U zD*P6>YOxk0ZZE)f79&PAAy90n;#*=m14z}B+ub#;3rs%D3Rip!sss>|=Quhc7UNf!4)(M)GOE=dFZJghC*SLwb5)5~JrPG) z@GhAF6W{`}cnc+jVU#$HOpnn?)g{ZPCQ*uv#HJ`|gYPjeXfdk2J}H z*8C`JL)ngeiB6**-qTXo2OM^5a=>vZH7+M^zJcTBoeMD&kTXu+ZBe!nSJyVY?6;~zD>>b9E} zn?}-D!92rY!%m{pr6t}>^If7GW`(#LXX)5!x}fsYa_nf{X{eOjxQkz)96-)^f7d{| za(o%>jeV<@tPH9QqhP=v;nDwef+FG0Ur@SSP)dISfXYuca|G#F>^7n%V3jgUILfFHDPArsa6npE1BZl@9n@_@CVSr2_|S zTR1ZNAWM*<^)X7RJ`+`2@9hr~YM%&9Tw{feU5pT8Sr~`a9n41!Y(;fq6 zIQ|qR!v<5Q(D-sEIILWro3Y7lu`HRgxCO~kg#be*cQ2EIZRJLTLX9`@x1Yi1&YN(OMtU{CZif1wOEri^BE zIaHC9ChIb8R&NY*+NfNv6|o8okg#LA7~rI3x7VcJ^5jJI`FtnAtGLT`PTY;B=sOGE zDR0eVoRUx7LV?CKR>Dy}16lpkTz zxI%%7TB%1lkzu-0qP2LY$_wu-(JY?M11%O)Ne@26(oks2z*x%Hy|hp{Lq!o9`~6bD ztBhkpS8}Kx4;*`t32ms()5=wHb9Y!oHPp#Dya_VU6#@wFS^&}2Sl2J$AUcCl$7DsB zz82uS!PC@0Mz1oIxa-d?D9Vm@OeXc6Jn(gzE`&50ud&tO{E+8MJeLfcvBx~M!E);= z+bqPCdER81qMOo{5nQO?DB`F=j32JCm>XpEnpY`dm55%h>4S{q-eaM_9giYuGYVb$z0gAB>V@jU$kZiJ z!IZ&IDE)3+h^oF)wh(RTtSG6xz?CC;ZL@;Jd4(a%;t1)H;*tqN6y?XWQxq2vCm#hM zvqZ12S+1Sutzd90T;fL@w`lOPAmgHddrpa`lWCvj7LT@~tJc4Cv9E(eS#h@?@LdmX^>v?Kc3&

pkgnS~D#XGPxnd1-3Z; zKepa6IFP7a+s#bu$;7s8+cqcG#I`!NZQB#uHYdr%w(T$P-upZI)T#5QYq_esR|6kO^)tqEqYKygF(t^AhNXF;L1@X z_cM+u;4Xw8T63;LI%_bxE$XjX z)Xrz$YP+42s8wyT4z}x$=U+aam$1#ei*FwrdT;yNC2Tg!pKI2q4@>UFA+YFEw1DJV zz_=V=;B|D!&L-Xa$y3|!*0s$CJn!AX6urXJPDH|O&KXs@#Gr1~?`T;_zre#@bq`dqluDqCn|yxE!V@KD?}_W6$usU9w%64~Og3c3>ChB8DszQA z@H?4^D4h$?7dif`)`pc>cFVftatDg5dz<^3rRt|zHX1bBC+~8%&6Q)0E3cIkz-Ak) z*j6S?6IQ?;7Nx)Ag{YY@N<(yR&6(lI#c5MWyzt8jFF@gpf5WXa4{Qt$*{U% znKZ`SRF8mA+X;DZ%{XDTPL8vgJ=w<0i`P^}V96s;9sRgLi*uZ%% zG3GljnCYOpQ`ZZ8IPR-+t125nwBf8={MWJZPeP!?{WBNzjXd>?+jOY@2fCBq`o-wno8g-E7H#FB;8Mq z=jH;}$jR^%tGd+qy>ReXX{D+VTpWDcpzoU73SoOh-GCIj?>P|`Zo{8??7#X*jW+Kj zU(gDUYNtn>MVOWjO;lr~bEJc+Bx^F3cv6L+*~~<&VREWbuw_uKkWRgVmVxHB#!(yU zDl1j59WlFfYEh?Rccvv;dgJ)LR!I!{WUZ|=A^kj>uBov|IeKc-j}^=qiXzKtX4fo2 znGZ^#Mjl}e8ClYCEEx2dAB;aq6@v-9_9*Ee=3Xolk|aq01UT&Dylt-3$Z?l%{`bp+ z%c$Rb00vBC?^&s&<`x#?Ch4Iqg1KBiTW#r&>cy!Dn0K#=yk^6HhkeT4vmLdx`E*{R3q(CnxROpgl=S{~*)|V} z3&~bm&KeW}nz)XdcxzBJtp*jT5z49%c$>I-pcm5#HH1W?YsV#JYeQCC$?MPLV3ntZ z2@?`l)DB~1UH{F6zf>g3x}H#eW-SzBQi0KifwF}Z9`t0OjLkqt(r zJZ&YiJpLIYVs=Kfd3cnoKWKG7OgVUhq%K4S{qj>t#GX{YF0U3z^+@W|5st_CM~E)%`;~`7zAJpY zO-|QUX8DcIJHC#U=lWd^P)opnv=|h4?HEt)erk7(_717m6uwdZsOh_$fihIDL$`x{ zVzXhL4yhNnFX{?gYuvfVRQ(uJaDI@f*0maGA^hFGh;b(A!|1jZE7TVtVf?)DP+A(tKDwXp11B))4=JZ{^ZkdGjHQ*%0)AYC_=LlDvpd9Obi8otMSwqhqM6a zF&W#v(Y`L-VGu&d&&(a!?=PI&o{jqqmG+!IAp<$Qj9+wZd16PHj9`*g1nyn7TCo=* zEEXUK^~A)~X`wjiC=%44M^g$YL#J(c#R!Rdlt6mE;85h?_Gy_#1)69_VB5oP1gW+_ zlA~DioyWVt6L-lW3-(_zV6n`eGe#mz3gloPPzG{thX&z2&XA4gUNiHmI|l-Q+{W3(Z=r-_ziZDg_{GSHC=dCC-n_*uTM6P&rd`x z#t$btW7yA$UUVmC-XKWMljxs@yVYH3xk*cFgx`fome;F0il)bN+c~A}Lz;J#Cx1wa z?gc6%Hkaja2+WReNzbo(il}Cv@&b)6SJ4 zXpA(1sruuF+(b=^;@(cIGkvnmOpM=uK=j~g-?_dPM{j@8&R!Qp6s8Af}`*sG_em;R+irqS$I`z_<75p_zqc2*#+hKCD zO6{+|u_~7cSv%@Fc)Yt%<}6t1v}(&1zaRZhgJKf`gLk@5s}!}6t;b?VX5H_kD``-R z+C9;+pa>vh|3O;fgxAYGiYEkB#W*fhB_IYB)kl}74sg&z2_dfhEwThVT#@aL&-$jT zWG7i$?^}ZBnp2U9i#|J_zfG6EogQdoD%%HP(TSYaz&qOQYC)4~YJu&yWeeAS;zt8H zBF20kQ~FTz`&t8T@C394YF?OdL_+kF+IBmt|6TLhZFu~BIFNX=1KU=!IU3)kEd8Yk zHa-W290+QTLvo+Bl&TsIw2q%VaQ5irp}%I!Qa;?zalvEivf9g(OGz2Q40lg=PFKEO zfObyDE?hZq|Jyp{Ud@?}-SNnQPZrOeuuGH16~#*wp;4&IlqAP^Ult1Ikw^LIJfqyn za8#zN^nGI4eFu}HA0-cq5;dW)%cR8{7HiG`3NR}yI|d0vh3J&TiX9TTm!MD>`E_=D zc|ckw&o>Abh(z17dUdp9e_y{28WN3%&r$b@nt6Tky4?OzfB9j$rE`O&>j&6bZHeP& zVl8`Kq4GSUgX$sR3=b}^203qHKY;~1F<)8HE_cG+wFkhC%)!0%a@?1J%EBvDj!!7~d z(Vl;5X?9)4d6UIkLZV`x9(Kt`eQqzK)QpAkM#5kQI_j+{{NcJv?P z#Jpe?%yR3c7n_+WMj9rs{FeoLXgvn0PZR9kkkRyK*eP%80k4^=H!X+ z)>$0(TOZT7HyQz!`dyOS8T@r#=L_G4euP{mvz(-Tl6c`;o zJg97_vY4qDTf1 z#t<~>al&DwI?wcn?^PG^T1!1hxp;d|FS6ZSY-!J}(EAuoZ{+_6ytaA&@@d)4Ab-%W z_Vxg0)Ga4VX4ie)AHVDbu74&qqSneI_Vd9TRqR~<>u{M%jj~nx^(P26NTFwk#2|6h z=R9v@0%@4)cX1r7aXAZycwIkX+O7arJvOxX(PM2dJ}l!i=w9c=-E2SLfqdVg^>6wf@}#AYOSUjsFeHzK|f~-vxkkDBrRP4B#1*o11D;}+aIIjD36-K zTV>g6Q4X@%iX(4G3v7C#ZyuDF*_BuGkK@+B20z@_&*Q$v%gf%Uj}gC~H(_da{B~9b zQ);r!&fPaRr4Qsa0Ps*u;Dq$QDQ*2zk~wEXL87Si`Q*b2KychK%v&|LNn-X-J(B8+ zK8bTNF&?3G9Bj-*%d^xY6vHZ74x9lclH_T61K*PX9&S<@3*ZDUxvp6%=OA<DQG zith|WkXL>m;j@to!n9ah$enI8GjzrhOW~jLVsD=-0C>|l{1%c=2x2ZWV zeaZMCF`M*+ZV-EUtRKs#hgU!EaJa&ww{Nc&zByqy7pUvwQqLNhfqH-tQKP2AvaZg; zwSbobAngh3r6A`4sH-6xVE?dZaF3uI^wn>eWA`T4F1N}iYjrhCzc1z|9qD>`JHT5A zlsvU70MKoC>;77HJenyT^zOioik4cw-j^U9nIjaCRDAgVH;ElA3PrJpR^*tNa6i zqF3nAsQm@>hvo;i>QK*dA(9%2Kb|PRK=%MdYFXs!mFpGv)7KF_K^zkw(*pTa^4vT? zmU=I12Hu9w8__j@#seWg%)T?|2D%a69f3b&yMz2hQ$|of!sHPBYogJC|B$?gH^FxI z@@Es&W9bya0{qvDwdzNo5Hw0_#x(-;lVQ9+&LSF^hRoXEiMPn-#nk#bFGDp)g1WJF z;a+fGbw1g5;PXed=cOP&5x-%6eE$Rmg!QSBQLp1cM*X=Z)Z%`Pg6=Uo;9MZ@+3s0R zjhfgi+MuWpEjm&gsQhZxvBTf{81Q`B_4@gwO>u_y0QDO5JIJWdJxTX18mkQ0e0m7` zSo=VPoat%uTL;YoT_5H5<8ug*d5*OIQX(uFzg#3s1_dBOb)ddb6q9y7cI`ukwJ zs0H=z)b(mTmlhZp`cQuRZg;HXg)n4Az{hs5ZH$s8P~7W{Y))2XjNY2#l;Ao-D!1p9 z8CLJux<*1b#OheldcS5v*V_s7X6^Cq&^c`OW$iU~zMgRJiI#)dvw}+CQt#OJ2(i0mPna{X^>&0G;nGA1XL{^Z+k9fK zc_w>^rHBvLY_How%$Cn4^o@w>>|%`sKF#zprV5zWi=yvVW+ADe`(_HQ60Xj;6#^)mGtf5b3>o z>oB{h%{-IfK$(CU`IvyqS=x2s#Qk#PF-(>b3(zfDEENTkdK|$DI?DB(3o=7l$a-3{ zcsO&C17sCuokT^Ago4XYD$IX65ECcV6s!2&902($N{M4XNR#)NRFZSZ)xq}%GLi&a zA*Zu+A)h*vdObL2hp#B%HV5rMxBNhO2-I8A)W@LLDAY;Im*{M2EGh$+oR1oi1CTQs zpWRD^D?kAiNR2*BtK*)j>r}!4P1Yt*A#G4Ns%>aBHPW?SDK397^lA&O)Y2?nb=6~d zu#?-{pKd$;TW?@6auTWekzlgM>m(}3$V8`Nxc4& z{;amKstK-k1wpnn9h<>k(bh}p$;gvVn+lwwV(mWAN3Al~rXpwQh3*|Zm&P_Q=Q)RF zG4jrx-&I5)mnW7_TH~vr!;nby47is~>O#P_$obPXUNv%2@$2T6i^MVf53ZOp)+~0l zNO}nH4`XPAQjOUtv_3VO!i^S6L`avQU*g1{p@fme953J>dgM2zmJ>#vBn>F)I+DD! z34qWin&z#qx}4zK(_Bm`l|iB_HE|AWVpqqnkoCZr0U|ObI^w z0%l%F+ZjOnu+l)vx6E|sX7q!kH3J;$A&`sd?sq)S-||5tk1d-VJq}4S+?*?aZ*<9bWJ5>i&Ya6A@$owmzARJ;o&4# zdwpYhV<91O8gWdi_ML%KEV{8-g%tq?kdwa|;oT6qkM`JFG~_{J0~bW*@^@RkLjbqU z;B3BN0Mor`(sa%OO9+cXKH(OcQFGN0lQ3uu{5vP56>I)&Q9sp~T#?!1(f~YPKzQZSB%xr25oJV?Nu7>+idIPytGm5g zRTW6zu+Ddps18>Z;N2mtgT2^$oE6Y}y2VyOHene2W*hUQeA{!Yl3#fHa25ns371Nx zX20jQrhQ_ZhqPHx)PSTbwAJtcM_p)MelVG)s`VwBq`yq~DURB~B?R7FVApRKh0Lhy%4(tPRKMRIU55@F+)n7qFgP}#1 zz|9cuo{;%KcaR-0CU+d#i0D4U&|3_SSU|ReoyC~nLRzip3LG=_j<@{*9W>9pGNPP< z-?iX0NrXDkb|706ATbB_X$tg$9^?WzTOd7(zQ`aynuVo)nfNAwc!J2yqtON2I*<93 z5oI{`*V|weggNFrf=GfOJQLD_q(U$t>XY~2fuI%?uu^}!0ONqM%WkB|tiSyr!f3C* z#Y=Xk)zKXZmn}0Cjznz-Y)a+#m5WPm#w?YMjg*avBa|2W$qR4JI#g_+(TB{dSy3L; zI5;3>=Dva2`k^GG#6la{K|VUTB!UoRQt1@fC08pH+D$7)i>DIf1Yb?&obB6{^lEG5 zkxDusXvXGv$-OAi7S@cL(XA=le?oA931}!^$emE)`2+hfv<$@ zj#&FR;>pmk>71O1hG#0#KoIrRZ$5A=ON=INfaqRvdul+Sh@@d2TYA_^!-9uuubH(S z_klOHsM$2IDa;34#20*Yq7sj+QhXE8C$SZtwk5{QMaxCX1s4Ec=JxFj*a2w=dH7BO zA}~gf1Y&%H)q@RknTrGhBS7n$o_Q2#<1unQH39|%fqu`^BPO?dlf8i%-z1=~e{;T} zPVR##q84J0Tb(9!5NgM8eK|Fv3~F z)?E4ZzpkC24Cx{^t6&(iMB_`}#S%vPihO5Dm|XF`I%P7zF-Um#Lik}#UZsm^`yGP9 z)?l>T0Mr&IYP(~#0pUz|_LuY$BhLnAc65%1(4V-;r!n}w*XVX$5Yhb6yOSI~kkPh% z*GxFw(8C2B7yZ{VIO=w9?mQ40NW)T(s)I^{LAy2EPmUZL!MjK}h`Vl3!zSAKcd-J8 zjiNLahMMZ&>rSzH%yk2@S@RTyi=A?SE|+ zJMyosf{H!G3F5C-9OC8+UrE4wWZod68<>G-3??Bk8tbK`l0I>MXP``$ot!p7LJEv* zgP2$|R!s6P+Z{>wtLtIK77Gbq5OXU+&Nb=BXV!U2drrOY=S-F?ycB56DlxOAdO zIKf_U7DoGuBPGS|j5l$=3F*)7CjEwGvf_9?k*o^kac_Wg?%mIcC1DWWQ_qdh>b3q| zxzEeIgB9VAX7APa8nnC8yn`SKL?HMqbV360b?7O_Gb+x;KUkdW-F4B>h?&X6YRbLKXli1u234zv2GC(uj0>%3v765}IOc!!AsO|TvoYyDw z+&+uP>(CfQc8ze}VX<$}pg0KoHcM|BsykcUR7%>YSfy^cXwfJ&SrLW>lv&@A<0x8e zTT_`Hsq)CW2TKPQlkETeQAzd#i@Z`BzATON+Y*TfdT#o&!_LlxKH^{hC2}zGt-vCP z#fkJ-4CJa~qy*-lq_gRP8lFZvkVB7)!q)y)ptir&bP(m{$|rTP^l-&6GT1jyi`=IU zJWo&K#{V>}soG%L(p6Qz0ql}ST%9|v=+zZhkpma$Y0hE4nNE;{P$W$kmPoq9L2LV; zV73AT!Em082Vo`4BQw>9r0hK<#og;hAeWJjg0ARC0?YHfTck$bO>e?akQ=x zOAY5vA{k?L+>@6;{ILLf^1nCD+Q7t)O zZ5UkJ)h))ixeouBz-a-JoCFS}fwG&Z+n=pBJ6~4JLnzJ$a9C%g+v4?qEXg1#WrHNo zJvw2vwv4T?kTf}|fu}3g>I`P$NfKNAmfN4RZ*E;Sxczz&=j= zX#{!d)J7E=rgy;l6)|D;*{<26VDvmcyvZI z4Hb81*}{$Rh5ri0K;i#~6!?$0{{JBbI9dLe6!?#}{y!c6v4;P@3i$u_kxv-P#`wYo z608Sc>N9_wNtQ>4C z3E5V306CdH$(e}APXS}a0dPS9==>Jg=+KrqNf2&9a9kCfVG~oF-#ANY=(CtnTnJnR zsTZ5Ai<4}&8?PPwTT4mpo8@iJ7n)s%D&SBcW(LG|TN&L}Hp7s%Ja4~zGrd5#EI&?E zyA(?t#=hM&fk0VDaG}v>*js603T&e<`&eFo<*`72H+n9txq^`gHMZ5Rv%Bzr^x5z| zj0rW=Tlsm$5WRcR^U%CJrCn#Wm>vQjytx$%zq(qZ#Rt&Mu=g!*M4VTfI4(KaCA2n! zj78L*pKAQ6HF|SWhHNSU34Qge8-#J&vLH=emK{}Of)j}~b4P^oN`&Jc@KZBP>IYlH z0u=RkQ8<+5si%ErQI&j3vC7j6Gpj9d%Ka@WsrilAI!0_CGU^$Kd-|vOE}o_hzD@bY z@JAc_uDDI(<>AY01#tHxXYpmVvLu=4->!sPAz|ARk>MwW(Je|VDRp)UDIFyYK@XHr z91C12hAkbElY}T)7VS(k`VA$Nq^0MH0AVO>8M!|$6)!Id0x1;u7g4F;R2zS48(Z#f zk?e;I32K{}K|z!YtB(CpfzAjCs#ceSqxV;v`}YqMCg}(8hdJw?wF(L;W2~x@w(d}L z9a2&6nSKv{21>#QFY{lXm4>@Cbeqg(;)f7=JS|uAm6o`asjh14wTtE0najJ2XW*s! zVp$wtC+A`<#}pbxCezi_cABvUdHGfk^V1){KL&!`xaXShYM38>JiK+`w0{C=P_2Ge zn<|16b5(nFtz(>bN|==6%x7>Cywz*HF?$jZZ&_R78sztvrWMPWsxV4{04B{JHCyIT zndkX{Zd@0(QNt}qou0F^W9ny-D-f(~#V5-Ud%zr&)uqHhS&T4GPPW0q#mw;!Rp_N5 z7$Z%N9RXh8UjII~sIE5Y{8Yj65QOm;6*cYD*phI6gv4q1)L#V(kxU}|5hw`pL@g%i z@UO4_J@j)naY=j3YvyopCJ`Gc5{%b_pv4**pTM4V`j3?B!^@}DgJ!&N6JQS0czjNE zSfYLZpeDJq{#cXAW?H>Fn`QE}>ow2WSf|`)e5zAG|L0tUu*ZJCYlyQuS)mHchc10G z4skLzwJSE>9e-+X)xqCZ*VBu?w_Ny2Ga&_?8ZRrAT9sBiO|1{d57a0^G3{0f24`qO4;C&0PR z>6Y9BIyU3GqA58M*)kHERYhg8xTa;}$Y2poF^OPm%FLBQn3km!s|ftHapYPyXbv+Z zAm-+{wVRESwft*rI{1;Ptn7I+GrD=T{x)P;t)Ud_^UiG|>!`Pi(|Ijcr^0@G^3uc@ z{}=98ogd8s!E&1nTkX0Y*nFl#L6Cq zy~&4Yzyg(kz%40K5l7Ww9;3jxi>yynSX3w-izMlR_{d9DQ?ECrAmsrURZM2ps_L=t zh`!11xyCA=2mg8EyURJ20;QEfU}h3kxd=uwOD36L87GpB3=eo9$&V41&WY$mi+!)c zA)U387@wv`39aq?$FRaM+=IF7p~ldt2(`$7d60W!F}M3Yqp3nlWRXxNg$1E3>My=R z0Y!;jmMUTKyFwmFbw({~fzoWQn&AEpmtHRuXP(lWiez}Pl=5O9iafcXCKVwm4kaN; zkEAv)CFdQHY8McuBScfv^|~#R_j#DKH@sY)C%W)yct)r~EHRaIU2~k(_wA}D*=|E* zo@m};-gLfm=(RFtJZ@pPOi!ax01DCuS;OhswDah}fos0`fFkUkqJrj~1VSx+&eAgZ zUNL>nNTbLzyVw^kAyTGte1aZaGtPA+6Q_vVLz&7Wtqrh+&%)z~dK+_470k6M73-=} z(f!RuD6RBtCt}{ps-SB~dni>1k}?CiH-5)hPz{6bZnGBGRPc6Q#(TVenx*Nk+J3k2Zg>A;f#~iQWT*1^Og%~ zjy=c}uRL36yLs6Z_aV%J#VTwW8G;FlPRKknT!D$@3Z+zqIOKWG0C}|#3WWa(R}ibv zX>>*FjWu<$gajFKfCZm%HO(3g9QXKVMwFR#SovOVVAyUX6RSf$Is_Lr{1ZfPwzX5%0JtLbN9N=URlay2fSDNNe!+JO$T%Lm%= z8{~q~W-eYrY{EnEDQmujXq4Db<0?GXc*U9&ktj(4Rp*#&1$;i&wnFjqyb_OW`NPtv zU5YrFQbP_=AowRhW%=fhK`P!aCb{Dt4I1?UJwM6bDrB?I(o$Z5;*x3VugEH)P?JHO z#mK4(YHyXy+YlI}KJTCNyz)I4M0zODjM>3+_Ay z3={7jIWi;@??S53j{tNI_$jiXH$qe)1h~9oF&Y+t<%i)boK<^;(4y*=8ie*@z|-2u zUokJI%GO$s>_g1?W+BV4dz^M@?Vj`jiJ$7P*Ij2t?~b->`zu~gF0X-Y)|V+X2LayW zXja_^@z}xDB{37!IE)W_{Dx@G-G{Lh-obQ6x)A;e_X3CxkFa|LEzgTaX=2>#9Jy}{ zAVH*GI zxmoi`;DmM-D>*AI?I;6V1wT1CH}+Ga3cvaIwz)?-|L}LL-`QkRt|9P4JR_NzE6J^l z3DXmi@tYy@^RZ4kTMhE(}`4zK3sv`vsH*?cLzdH;bp`2iDmw z$4!>%wy$Ro%k?CWkK*D}ovbbnu`>TyDxDXXu@Q%xVBfWFCv<2n3q)5C8*AR(XxV*$ zaoK|3``Ig`)KSr<6IEGArsL*WVye0dTk)_MUraLImS`XvNLJ5v|SZQa89rU3J&p} zADgE4=^OMkqROnw%s-UWf-QeUQIQqQTFsm~iM971H?*$d#U%LgDN^Tli8=0kD_AtI zPo3n-a_mwYPxN2p*fhNjz2(hqe3%E!4>+? zpjL_%BA{H90LlWhQnU(qhhBIoeM@-mHj$WAC~ZX6de;tHJh4koO8OEoS zNCz~HNIlq%$m?wcy4&t8Z&H|n z{BdzS4UhF18?jgQ-4YQ@XJ1&CkO-s$!h9vK?3D+X*GA(g9TtqJW3Eowl6m9?KLi2% zz&xj1P9;ClDMpb|(vT?k<}Z}S(txuvBfsE?{3zeae))*7d+XK)e9rIjIfz)w=fpW> zW1weO!1A|}ry*u}u;2oap{kk@)i3m2IaQ1$#@~WP!5;~Z{9WQX>^UL#N$Sh}oSxp2mq7H=_C`4k60Y&|?V&g>L0Snw!1 z&}14+Q=?Q2QW|C~6WXAN{^4DeRzs3XG+xfbR@7098vg#qne6_WYpr9>4HD6XR^$hHtWMf_43r|Lu~pXvAP<~Kg?C4 zJNct7kB8e+v5YrBczOoE);heewYIntH+H@=DHp%wcXLch~*qH;sDUFkjQ`h<4AqRBsFiw$X z$eypfV4eqerj$4L+rVe|&q^`nsCf1CU6lqo>oPWu!|yX;v2P2ARRKAa!g%c4(I+X(bC#7$KYAJOjPpxZ7{le*Nq1@E2gu<_^2u6sV_6v zk6BR7gMfTM6aJr}yc|Vh4eJ&iCQcd+7vto~y@a4OqX#f$nh=mH^1+n(MOFuxkm+%; zQ2RxLzz@v#n@Up_QXh}cx85BdV^M?<9LUUOS-`Ur?I($7Ls?FMsURYdj#$XlF)Q0p z$ukQBl@LrA%FU)>(Bb(wDJIDk_HeBmTf6AWitVw)URlSL}^q3 zO*Hf``ySqXM~Ck7Rc4R31$)f~0h1)Z(yd`MP^lZmM(1jKGl~n@3ufF<>F?|C=oLt7 zp7Y&Ap$L8Dum7P?gH}P4BuRuFi4wWRmFjA63nqRmuDnWF(1fw!u&5x(H2D@8QK69# zS$+YNhrWdMl`A9b6L&KleaVuKFSF4OkUxEseJJa^Ww&;?;P5JOwpv^Ot@5itxKtZT zWaG0p5#z?^SzcN28T5a~R)f35Nf*?!8l$R8Z$A8!NBD98W^3-Y(W^JmKtZpb*U?dZ z;!2Nm6wnapQ_t|u79y&|IXhC)+UnxHU^hU)8QIjJO{tInyJLdlUuI$KQ{(dkKz2@4 z#So8TS#bt$T7N^Mn#r_@nr%w%D$Th9FUZ@Kcb(J}Ve0el}H+439SX^|_Qk-Gj}Td?EoQ)^Fq^4J#`t>?T$ ztM#$XfMHV>TX4mrn*^phUDCM87>9YLc8yGJgIztXy8ZZ*%cN4P&Zdoqjd?TOV`byo zR%_I%@rH$a-;MY zz~uzW5?Cjpk%TpDB%s9VK%DHXs;xt`GQ26VNEh6{NGOGqVwza8W`qyX2oU@n+ zjo3j?`x#q@zkv3GrV3j%u(X#OAYD2hUqB>Sg?8RbV`(CrsO_kse*ta6A%+C$x=V^{G%3D@tiKp(A5uRfY#iro-7B+sU9Q4vSsS zPyeH~NG{Z}g+jOmT5m{ui+*eIV}m@*bkX#>+w=Kmc>~dKb6EHFMaN-OFKqK!```B0 zadvk3(sH_B}zqu1*mGgAl-=9i7y9Oz??vnPYa z4sr#P6YdZK@@mC7C~%N>{6#qF?C5MjwfjW(S}FvaN)@?baRQqCY($1*g)~AQyd;Sn z=2;Fig`ccT9fK-bS(|#eOSL;>b*Qz<6Nj>e(5hDxPNJ-vD;L|hMH{0DVmmPo zr!~7d$FGi`=B|YN5*%$73z3H@&d;z`iCkEYRhzXF6v4pUbvhM|WX!!0w)Dr0=hF7R zPI4m#62KTTKkd%bI;YI}BGgRxHyq@Cn&}>3JT{FXfObBXl*0ciRpA zT|Q*DUU8@hUlKP+F1rD7FxPnHc%*vdeB>P-kK9Q?Q%jUfW*@s8$yBFHd>nz?H*(NM z6Wns|BlH64+gFf;xf&SqIABIV0#_W{#!Qd^<`z3DNm2t3SHN}LdZXUBdG`CclqrEI z2+SaPv9@@mGzIdAYeu#0{;2-)=laS%X0`1E?&=3D`*HUnCLSY9XNoEc#bPuvsoxG% zM!4C35G?NrPT$1Io*zT=UmW(W7X19&BumTV69Z2dFi%MKNq-9R$1MaQ1Q|BsQ~nG)Z+&HU~~=Vqto2g(a* z#e^za*Q#VSOZDR#`>^Lig)$aEp5fM|dHfiTV~tH*qpaiGJ4Q%G5C9$}t6Zp3J(K%q z(Rb)Pmh~ts{YPc1j#h8NuAL>=;L4f4pH4zW>pxkPN8?AFM+f%H=($r*oGL~f0{mW7)^@+G{i_JCaIdN z4H}BFHP>s8;8kC_Xogs(hS(RN#C;v{xm!Q7BcnntYrp(Fj;CC@iL1`9hGXzQch4g% z@QPqVv`o>|7QcMKRl1To{A6Saf;px`UxZ*0gR2?~lcxxnDF8eb(cSTW!fy?Hfuuep z$OVXm$11goO3x)aNBxTN(03V9*?K%M`6dz8d zo3n=Eny!06ol7-AJd|3cL7VMhacUis=#Tt`kNI)?lGDda+}}&Ytnl-qh!M0K%`?B{ z_Df#ZRZEjy#904M_7D5@IirErXVAXkY7>{OAh&vrKqtFih9~jmuXq6+&CS|Q!cZtR zt?-3B0a)Igc3S&J{l8E39~Jr}RSru*PyTN|(CrQ#7UISn30fTMZ()TLnTQhb!mxo7 zH1M17yFvx|yP}{^zhq%5T2z!Qe2B@jb9JUSlQNbHi^}?YnvoN$Ny8j=W9AzON+}rR z*q>rf=}9Ea@+%>TN3`Je+kH;77 zhI*Inz@+s!UB)__jm+!Gfq4a8do|$m&xeS|>r8*imI`~>)C*;GNKcUL&Pyinw;^xM zo1>%W(A|!6Srqg-_@A=3`_gtRJ6pH5X~ja=)Bfm5Ey2I1a0n}9lk=(=B2i*u_+sA; zA*pBW$V4gQB1>JOAPUr!zWl6=Su7gsN@pGTDn=J7F`z#%8z-5LOI-c4?AC!*#bZPi z1hl4V2{4WLJ`*_+)hV&s)Nsikw)K5EGb&{R%qipr>Np9ki7XJZPN>9V%s0~FE{`(y zX`_(zaFf}tmv1M_`Q)h0z{5{I*P~lr&zA8i7BMxFY)7oV0>cIJ@7l;NI$x=I4&OMx zn+2vkQ;fowNKl<=*K{Rvyov$hG99zW#I0AC^v)mWxP-4zmRoD5nYULlg8bbqQ7Ac~ z?^z!h0&kCtK26nXAO<|u(!nKtCb~QO$}HN@>SRO5m~rSVOk`QfDf@dKqP;b<5$OJju5bjQpmVf6#*tr1 zLamJW`LG|7jW0)<+(A66F=%T-mlXdUxVLCmTvy3E<~7G_GU7wLc_I98jePVk`;MEn zr_VQHw;06H_dUTI20XwsVYtFAlZ1Q`^-Z3C{nKOpmLHxkO4z#`u93E)75^-?r0gGV zPrxWx+2^&_L-2giT(CCy|0(P`pqgm9wjiQ(1uR$~prI+GCxjAd0Vx`aG^tS$kZJ${ zMb-iaMF>qgsDOemMPGSC@1THy^j?&rB8pTEh`_f23*vvyzd3Ve_nCX|+_^hDIVXAc z&N*EdT}8Qy+fgUjILz5o!>%rGf;`+Kv%E4{wxnm(f4-MbxZP6r>iqkdQXAV$rDe>% zAQ{?9!15LekrR)qCw=C`^3-6TYEt$I0+m&)rd)kf-W<#9=0m%mM(n?S_bKmJ@{**_ zwTtCPx&sy3S<3vyDxbf;mNsnafrk|u{N*|vBS!{nyP(D6%B*?o744S5A@_$@*lFYWL8#_6j}@s9)M zC2CE`F(F=7TwdiVQ-`13kWKAszS6HnKKFfDZg9(!)N7D-HHBBFIJzpA=J&teF7t1A zbgf-N5CH#b`Ke}};5*|a8Gz8++V!R_;VSOUm3i)E;<<1lTHVg=Kyf)NL}8ff*65(e zEii5GA3Ju+iaJwxK=``LH_1Gui(+3%fKfJHvfL=T>X`4c*|7}V5UEey}keg{)YAbur$MZcNDYg>{3<$xytCiU$*FGR`_EyM<8G@dh{CxAF^O)Gy|o!={sdt!!TBWH04imd5NC1t;Z=yK=( zZfhJn=;^is$*4R3)SVRC=C(IPFKIcW`%+%~ zvJzg&b7fj;@N2SEYX0t8>!IxhA=V8t6-L<)6bpoGhaASvuDY^>JD1dQ^}R&ZI5Ot?$2(R#a`ns zYl=^biW^pWvQx=9<9TKbbCZvH0?9^1VtefquJ*hIv5MSnBHVXG0PFJJYX#j1#`Tcg zK)#}JSdzdr{c)S`?k4V$2I2}9l@KFDz(q)wN~cTLGCH>ShT$AHmrBNB=t3X!y4X+o zhN;j8(>oXL_rh(eCTmc>p4m`(={ASi4&t~8tmjmhaZuOCP6tO;3>SUNLUUFJ*@#LH zL^Zb@Pe{3S>cK0ZFl;~&&29m1F_NAYl)sto#IZv*!{zh!+Q`R^o^&ZcKu5*TzrBI4 zAxPQAsant=O*!~de4wd7SbN`mZ_h|M*4k@%I;$^*v%!(;!)~@+4JF0+%0_2015TYP zrSEuO$kMeSZq;wlR=iNzBIx3nm@!ZjXP)QsmH739bEzB9-ZT@ntC&4WCuh7bw{s*b z4<%j5c|p`^;gdc;A04h&bE!9bjyPK0T^^ogk~?(MJ6FS|_Y^>@5%?Sga3;yW?i6Zd z0aE3m&B#0~y^q~IEo;J)dgXJFCg)7iPWS6^0~&_Ul5rNMX5KEkS&!SyvdF!73V&{L zIosJAfv!L)pGoWf@~w|;dMY`)<;z&phMokxF$>$0&oi;3;E{6%GW<)<>_OEi{we1r zVYj}`H>@rDQMjIi=cHb5&OpACtFe*u%N6Db5cBc5154f8f6QXUp01P(0X!q4w#W;L z>^eq>X}yz1zjH)AZgI)UB#&4H=i3(+Y#1-#EYhF@e7NRDPKT=Yb=OYk9Q+#VbatdC z%snk{OXwB8$D!@QEo@Cov4T{(OI_`@3*TW?TmmCJZJT)v?J$euxw%k>KKMwo@#*5> ze$!{W{_RA&OQFqDq!Q$BCwMOu)Md70(x%MjCH_e$hDbYv?(7gA&Y(#;j|lh#bxy7v zO%e6txhO5r4c30O5s;R1mSf0V2z5@{RM;EDeQ6F;R z76sX6%+H}2_v?+@u(=Nv1Zv_IeK(Qm(Mca|WdIRJmCY(ACLiqelza%|eyV@qZ3i!1 z>8Q5yL|ekdLHJQ^fh)Irsb#EsOTOE6qoYLzW3e?Szm&Yl(r@faIc!CE@zO*%rpx19 z%7f>X?}5!Yy(dg*0QpzCmbqf&sn(Z2IYfu7%FA? z-|e;n%Aec;q|nb-u1+{UwbZ%ik5?7=&&Dk1{iljK>0FSh#`ef;I708nTO-p~mH+z9 z?2R1yVtg9U`QCG=TjR)?)6o6T9a*DbZ{%!N(92~pu&ia{p-P0P%O>Fx_>fP+0)$ZK zIabPZzy4;@{fj(>zWTapEklKZmNNTMOI*qo7l2tR_)FL(r|ydho7_r+WCvt6Nttgl zn2vMkYY9`guF7LOaJ2X$d+ug0sDZJ#vL4MrWKjfn_clv)no*$LmekDaA@jNxJ;DF& zC?S+y)@adB-Es}C)NE+RAJV$HQXe_NFvl}uyn8xlUed4&--k0 zB2Ka8RYPUp;bU6Yapwv+W>s}NVqD6rM;aMldfWKZ>aZ7kQ%aH|Pq!hyNxt$HY`T2X zayW%7!)q=c6aoF#7(4ibxBPB7N?}Hh;Y-ZkfT&mZX-d4-ztR&Y16qz-|xkV~2Svcj8?Q>X0B_DsTD{5B& zG{g@+xM!DlxXRUpeLTvc+oxT<)3 zVn!gZ{&=Pgb*E-=k9Q9D7g^82SoR)BwAU3$&jX=_Uv(_^rDh`xx}XLovF#Yuap~|v z&WG8d?RTM`54Ett#1#8GdrLGjTI|(%o;(=4kPfR*)2;8`o_I!d=E(bwLRGU90)TcP zKM#?LKK*vDebwB*siG8L0=i+A=ocd#$S*VQAqtODKf==tKa+XbV8{7D?P-Uw89g=i zIAl>le5k^yr#RKT`!5q(_CsAd=~4mYM}&SO#-lz%Q=!)$mvy-0j7^IEkx6O1`-Q$D z>ZtQ>cX7A7<#%L0`DHJm|Lr@gIt4(x@|}m%#edK3b}VcaE86!6rbsj&nWZ~zmqqEs1Se~zE*$g{rX8cC6@v>gy zI~DpnB~M`z|19gc;@P5VMJgZbc=6RLua;tu8SeP#8qS3G-vwJcd_KG)!D6}w0Fm^J z30}5WRvFfbZTIqxQ?(O^zYGhOnIv9M9yUtz<}gZYzjx0dGy(akKaxD2C`a)N!69ni zC@9pFe-`|9bZJ)zPr!Ju&=XyU&z8-6M~}M(o;(=yAu3f~y_hc3 zZQ_wjO3Mg(L6eZDlI?bW9L;wZX!=q|p@5MnyB3tF=Q_w`$qzHlpOXaCwi5Jypc-$D*?MnEbY$(>~hFoioX-E8>^cdshLI~ z<4NooIS3xl%)+h~@iJb91s=h2UYq?#`>_O#AL-Ux&I@e@6QP47X$egxZJJq_6za89 z>uU+qf2UJt5~ts8rRDmL>B#MY?SOu{wk2gUj?!Zm1Xb)2ijYVeF{jVb%H z{6)K7vm1eM5)x-7gREOfnk2IC^-lQ&GZ$-zVqJ5XF92w4PH77mfL_waCYmxsYtQ9BCR z&EDaRyR0k4PD*OECpC&K*~66rQPcp48X9mo8V`qKiC|HM!*M9EW)=i^4hL&+%t)|C zf!9b-25efrM#_P0V8Nk(6cA_XqEx_k&?d8B|3AA#02BfRabOQvus0;0@Y_KLR~L1% zhb=@>T^`Bo5|4r-P~Zjt$ir}?1RO54J}Q3&7N$n_AUnC*t(senF@!0zes+6PY|jCl z;PZgw1bzQ;K(H7L3IjO@S;H_01PTvXZG*V{z~Bfp2E0kkV;zQ+11H&^7#z;r%ivE8 zfy9DO_b&__KPZL5|D}w?A@CcOK{5P#Wu`6$3^F({=CRHhFqRuI1PY1WCfS z=1U@f$blGo<1InqvG9%dK#aL={nlm19}P!gHhPW5PtU{4wr116O*|v7`VE6Ku~M5mwBz_a?Ta9x(=+) ZW_J%V#e+GQIWY(f3dIS95=k1I{{zQ`_zM64 From 2101c6c512124a5a30b7ceb2e18174b19f91c100 Mon Sep 17 00:00:00 2001 From: jesusjuansalgado Date: Tue, 19 Nov 2024 13:47:45 +0000 Subject: [PATCH 13/17] Update Makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 58c04dd..7efe72b 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ DOCTYPE = WD # An e-mail address of the person doing the submission to the document # repository (can be empty until a make upload is being made) -AUTHOR_EMAIL=jesusjuansalgado@gmail.com +AUTHOR_EMAIL=aitor.ibarra@ext.esa.int # Source files for the TeX document (but the main file must always # be called $(DOCNAME).tex From 2664cc6bf68acfa0bdcda42c2e8b86c00ef3d3eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Mantelet?= Date: Wed, 20 Nov 2024 15:19:12 +0100 Subject: [PATCH 14/17] Integrate additional modifications done in PR #15 --- .github/workflows/build.yml | 2 +- .github/workflows/preview.yml | 8 ++++---- .gitignore | 1 + README.md | 16 ++++++++++++---- role_diagram.svg | 2 +- 5 files changed, 19 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 36ef92b..afc2817 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: sudo apt install texlive-latex-base texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended xsltproc latexmk cm-super - name: Build the document - run: make + run: make biblio forcetex - name: Check the output run: | diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 172bf7f..e565ee7 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -27,7 +27,7 @@ jobs: sudo snap install pdftk - name: Build the document - run: make ${{ env.doc_name }}-draft.pdf + run: make biblio ${{ env.doc_name }}-draft.pdf - name: Check the output run: | @@ -35,10 +35,10 @@ jobs: test -f ${{ env.doc_name }}.bbl - name: Move the auto-pdf-preview tag - uses: weareyipyip/walking-tag-action@v1 + uses: weareyipyip/walking-tag-action@v2 with: - TAG_NAME: auto-pdf-preview - TAG_MESSAGE: | + tag-name: auto-pdf-preview + tag-message: | Last commit taken into account for the automatically updated PDF preview of this IVOA document. env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 9108e34..e400f95 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ **/ObjObsSAP.pdf **/ObjObsSAP.fls **/ObjObsSAP.fdb_latexmk +**/ObjObsSAP.toc diff --git a/README.md b/README.md index 5a58a4b..3debcda 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ The Object Observability Simple Access Protocol (ObjObsSAP) is an IVOA Data Access protocol which defines the standard for retrieving object -constraint-free observability time intervals through a uniform interface within +constraint-free visibility time intervals through a uniform interface within the VO framework for given object coordinates to be observed by a given Astronomical Observatory. The ObjObsSAP services can be registered in an IVOA Registry of Resources using the VOResource, Extension standard, having @@ -12,11 +12,17 @@ a unique ResourceIdentifier in the registry. The ObjObsSAP interface is meant to be reasonably simple to be implemented by service providers. A basic query will be done introducing a set of sky coordinates and a given time period (optional). The service returns a list of constraint-free -observability time intervals formatted as VOTable. Thus, an implementation of +visibility time intervals formatted as VOTable. Thus, an implementation of the service may support additional search parameters (some of which may be custom to that particular service) to more finely control the selection of -the observability periods. The specification also describes how the search on +the visibility periods. The specification also describes how the search on extra parameters has to be done. +# Name changed + +This protocol was previously named ObjVisSAP: Object Visibility Simple Access +Protocol. It has been renamed since the +[IVOA Interoperability Meeting in Nov. 2023 in Tucson](https://wiki.ivoa.net/twiki/bin/view/IVOA/InterOpNov2023) +(see [presentation](https://wiki.ivoa.net/internal/IVOA/InterOpNov2023DAL/ObjObsSAP_IVOA2023.pdf)). # Status @@ -26,9 +32,11 @@ Under development. Remember to checkout the repository with its submodules. +```bash git clone --recurse-submodules https://github.com/ivoa-std/ObjObsSAP.git +``` -Then: run "make" and hope you have all the necessary tools installed. +Then: run `make` and hope you have all the necessary tools installed. # License diff --git a/role_diagram.svg b/role_diagram.svg index c4d77fe..874816f 100644 --- a/role_diagram.svg +++ b/role_diagram.svg @@ -48,7 +48,7 @@ DALI - ObjVisSAP + ObjObsSAP DataLink From 80df246e216f3714f01f91ffa1da10be4315c0b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Mantelet?= Date: Wed, 20 Nov 2024 15:20:56 +0100 Subject: [PATCH 15/17] Update the submodule 'ivoatex'. --- ivoatex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ivoatex b/ivoatex index cb58ec8..8f1c8d6 160000 --- a/ivoatex +++ b/ivoatex @@ -1 +1 @@ -Subproject commit cb58ec881b17a89dfc180d0bd2edcbba09638e0d +Subproject commit 8f1c8d6797c8514e705fd82b106fe8c5f2a55f63 From db4a05b0c183eb1bdeab2859997ec07af2121ec6 Mon Sep 17 00:00:00 2001 From: aibaiba <48510942+aibaiba@users.noreply.github.com> Date: Mon, 16 Dec 2024 11:20:47 +0100 Subject: [PATCH 16/17] Update ObjObsSAP.tex max_obs description added to the optional output parameters. --- ObjObsSAP.tex | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ObjObsSAP.tex b/ObjObsSAP.tex index f2722b8..17565d5 100644 --- a/ObjObsSAP.tex +++ b/ObjObsSAP.tex @@ -606,13 +606,15 @@ \subsubsection{Standard output fields} \item {Exactly one field \textbf{MAY }have a name="\textbf{em\_max}" with\\ utype="\textbf{Char.Spectral.Axis.Energy.Max}"\\ -datatype="float", ucd="em.energy" and unit="m" , containing the high energy bound for this particular sky position and -observability time interval.} +datatype="float", ucd="em.energy" and unit="m" , containing the high energy bound for this particular sky position and observability time interval.} + +\item {Exactly one field \textbf{MAY }have a name="\textbf{max\_obs}" with\\ +utype="\textbf{Char.TimeAxis.Coverage.Support.Extent}"\\ with +datatype="float", ucd="time.duration" and unit="s" , containing the maximum observavility period for the given sky position at the given time.} \item {Exactly one field \textbf{MAY }have a name="\textbf{elevation\_min}" with\\ utype="\textbf{Char.Position.Axis.Min}"\\ with -datatype="float", ucd="angle.validity" and unit="deg" , containing the minimum elevation for this particular sky position and observability -time interval.} +datatype="float", ucd="angle.validity" and unit="deg" , containing the minimum elevation for this particular sky position and observability time interval.} \item {Exactly one field \textbf{MAY }have a name="\textbf{elevation\_max}" with\\ utype="\textbf{Char.Position.Axis.Max}"\\ From 066764d2e33cd2ff59042d70d9cf069c79d3e5ad Mon Sep 17 00:00:00 2001 From: aibaiba <48510942+aibaiba@users.noreply.github.com> Date: Mon, 16 Dec 2024 13:20:33 +0100 Subject: [PATCH 17/17] Update ObjObsSAP.tex Change log section added --- ObjObsSAP.tex | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/ObjObsSAP.tex b/ObjObsSAP.tex index 17565d5..eea2263 100644 --- a/ObjObsSAP.tex +++ b/ObjObsSAP.tex @@ -13,7 +13,8 @@ \usepackage{adjustbox} \usepackage{lscape} \usepackage[title]{appendix} - +\usepackage{tabularx} +\newcolumntype{L}{>{\raggedright\arraybackslash}X} \usepackage[english]{babel} %Import the natbib package and sets a bibliography and citation styles @@ -844,5 +845,25 @@ \section{ObjObsSAP data model summary} \end{adjustbox} \end{table} \FloatBarrier + +\section{Changes from Previous Versions} + +\begin{table}[h] + +\begin{tabularx}{\linewidth}{|L|c|l|} +\hline +\textbf{Change} & \textbf{Section} & \textbf{Version} \\ +\hline +Visibility concept has been replaced by observability & all & WD-20241027 \\ +\hline +min\_vis and max\_vis parameters have been replaced by +min\_obs and max\_obs, respectively & all & WD-20241027 \\ +\hline +t\_visibility column changed by t\_observability & all & WD-20241027 \\ +\hline +\end{tabularx} +\end{table} + + \end{appendices} \end{document}