+
    Nj%                       ^ RI Ht ^ RIHt ^ RIt^ RIHt ^RI	H
t
 ^RIHt RR/R R llt ! R	 R
]]]P                  ],          3,          4      t ! R R]
]]P                  ],          3,          ]4      t ! R R]4      t^RIHt R# )    )annotationsN)cleandoc)ImmutableDictMixin)CallbackDictdocc          
     ,    V ^8  d   QhRRRRRRRRR	R/# )
   keystremptyt.Anytypetype[t.Any] | Noner   z
str | Nonereturn )formats   "g/data/cameron/venvs/serve_omidlab/lib/python3.14/site-packages/werkzeug/datastructures/cache_control.py__annotate__r      s4     * *	**"4*>H*
*    c                 a aa Vf   RS  R2.pS\         J d   VP                  R4       M`Sf   VP                  R4       MVP                  RSP                   R24       Se   VP                  RS: R24       VP                  R	4       R
P                  V4      p\	        VV V3R lV V3R lV 3R l\        V4      R7      # )a  Return a new property object for a cache header. Useful if you
want to add support for a cache extension in a subclass.

:param key: The attribute name present in the parsed cache-control header dict.
:param empty: The value to use if the key is present without a value.
:param type: The type to convert the string value to instead of a string. If
    conversion raises a ``ValueError``, the returned value is ``None``.
:param doc: The docstring for the property. If not given, it is generated
    based on the other params.

.. versionchanged:: 3.1
    Added the ``doc`` param.

.. versionchanged:: 2.0
    Renamed from ``cache_property``.
zThe ``z`` attribute.z"A ``bool``, either present or not.z
A ``str``,zA ``z``,z``z`` if present with no value,zor ``None`` if not present. c                *   < V P                  SSS4      # N)_get_cache_value)xr   r
   r   s   &r   <lambda>(cache_control_property.<locals>.<lambda>1   s    !$$S%6r   c                *   < V P                  SVS4      # r   )_set_cache_value)r   vr
   r   s   &&r   r   r   2   s    Q''Q5r   c                &   < V P                  S4      # r   )_del_cache_value)r   r
   s   &r   r   r   3   s    !$$S)r   )r   )boolappend__name__joinpropertyr   )r
   r   r   r   partss   fff$ r   cache_control_propertyr)      s    & {#m,-4<LL=>|\*tDMM?#67 r%*FGHLL67hhuo65)SM	 r   c                    a  ] tR t^8t$ Rt]! RR]4      tR]R&   ]! RR]	4      t
R]R&   ]! R	R]4      tR]R
&   ]! RR]	4      tR]R&   RR V 3R llltR R ltR R ltR R ltR R ltR R ltR R lt]! ]4      tRtV ;t# )_CacheControlad  Subclass of a dict that stores values for a Cache-Control header.  It
has accessors for all the cache-control directives specified in RFC 2616.
The class does not differentiate between request and response directives.

Because the cache-control directives in the HTTP header use dashes the
python descriptors use underscores for that.

To get a header of the :class:`CacheControl` object again you can convert
the object into a string or call the :meth:`to_header` method.  If you plan
to subclass it and add your own items have a look at the sourcecode for
that class.

.. versionchanged:: 3.1
    Dict values are always ``str | None``. Setting properties will
    convert the value to a string. Setting a non-bool property to
    ``False`` is equivalent to setting it to ``None``. Getting typed
    properties will return ``None`` if conversion raises
    ``ValueError``, rather than the string.

.. versionchanged:: 2.1
    Setting int properties such as ``max_age`` will convert the
    value to an int.

.. versionchanged:: 0.4
   Setting ``no_cache`` or ``private`` to ``True`` will set the
   implicit value ``"*"``.
zno-storeNr#   no_storezmax-age
int | Nonemax_agezno-transformno_transformzstale-if-errorstale_if_errorc                    V ^8  d   QhRRRR/# )r	   valueszBcabc.Mapping[str, t.Any] | cabc.Iterable[tuple[str, t.Any]] | None	on_updatez+cabc.Callable[[_CacheControl], None] | Noner   )r   s   "r   r   _CacheControl.__annotate__Z   s     + +R+ ?+r   c                	8   < \         SV `  W4       VR JV n        R # r   )super__init__provided)selfr2   r3   	__class__s   &&&r   r7   _CacheControl.__init__Z   s    
 	+d*r   c               (    V ^8  d   QhRRRRRRRR/# )r	   r
   r   r   r   r   r   r   r   )r   s   "r   r   r4   b   s,      $,>	r   c                    V\         J d   W9   # W9  d   R# W,          ;pf   V# Ve    V! V4      pV# V#   \         d     R# i ; i+Used internally by the accessor properties.N)r#   
ValueError)r9   r
   r   r   values   &&&& r   r   _CacheControl._get_cache_valueb   s`     4<;?YE'LU u  s   6 AAc               (    V ^8  d   QhRRRRRRRR/# )	r	   r
   r   rA   r   r   r   r   Noner   )r   s   "r   r   r4   w   s,     # ##$#,>#	#r   c                    V\         J d#   V'       d   RW&   R# V P                  VR4       R# Ve   VRJ d   V P                  VR4       R# VRJ d   RW&   R# Ve	   V! V4      p\        V4      W&   R# )r?   NFT)r#   popr   )r9   r
   rA   r   s   &&&&r   r   _CacheControl._set_cache_valuew   sd     4< 	d#]eunHHS$d]DIUE
DIr   c                    V ^8  d   QhRRRR/# )r	   r
   r   r   rD   r   )r   s   "r   r   r4      s      C D r   c                    W9   d   W R# R# r>   r   )r9   r
   s   &&r   r"   _CacheControl._del_cache_value   s    ;	 r   c                   V ^8  d   QhRR/# r	   r   r   r   )r   s   "r   r   r4      s     & &3 &r   c                .    \         P                  ! V 4      # )z6Convert the stored values into a cache control header.)httpdump_headerr9   s   &r   	to_header_CacheControl.to_header   s    %%r   c                   V ^8  d   QhRR/# rL   r   )r   s   "r   r   r4      s          r   c                	"    V P                  4       # r   )rQ   rP   s   &r   __str___CacheControl.__str__   s    ~~r   c                   V ^8  d   QhRR/# rL   r   )r   s   "r   r   r4      s     3 3# 3r   c                	    R P                  R \        V P                  4       4       4       4      pR\        V 4      P                   R V R2# )r   c              3  6   "   T F  w  rV R V: 2x  K  	  R# 5i)=Nr   ).0kr    s   &  r   	<genexpr>)_CacheControl.__repr__.<locals>.<genexpr>   s     H3G41QCq,3Gs   <>)r&   sorteditemsr   r%   )r9   kv_strs   & r   __repr___CacheControl.__repr__   sA    H6$**,3GHH4:&&'q22r   )r8   )r   N)r%   
__module____qualname____firstlineno____doc__r)   r#   r,   __annotations__intr.   r/   r0   r7   r   r   r"   rQ   rU   rd   staticmethodcache_property__static_attributes____classcell__)r:   s   @r   r+   r+   8   s    8 ,JdCHdC0D#FGZF/dKL$K!78H$PS!TNJT+ +*#&
& 3 ""89Nr   r+   c                      ] tR t^t$ Rt]! RR]4      tR]R&   ]! RR]	4      t
R]R	&   ]! R
R]	4      tR]R&   ]! RR]4      tR]R&   RtR# )RequestCacheControla  A cache control for requests.  This is immutable and gives access
to all the request-relevant cache control headers.

To get a header of the :class:`RequestCacheControl` object again you can
convert the object into a string or call the :meth:`to_header` method.  If
you plan to subclass it and add your own items have a look at the sourcecode
for that class.

.. versionchanged:: 3.1
    Dict values are always ``str | None``. Setting properties will
    convert the value to a string. Setting a non-bool property to
    ``False`` is equivalent to setting it to ``None``. Getting typed
    properties will return ``None`` if conversion raises
    ``ValueError``, rather than the string.

.. versionchanged:: 3.1
   ``max_age`` is ``None`` if present without a value, rather
   than ``-1``.

.. versionchanged:: 3.1
    ``no_cache`` is a boolean, it is ``True`` instead of ``"*"``
    when present.

.. versionchanged:: 3.1
    ``max_stale`` is ``True`` if present without a value, rather
    than ``"*"``.

.. versionchanged:: 3.1
   ``no_transform`` is a boolean. Previously it was mistakenly
   always ``None``.

.. versionchanged:: 3.1
   ``min_fresh`` is ``None`` if present without a value, rather
   than ``"*"``.

.. versionchanged:: 2.1
    Setting int properties such as ``max_age`` will convert the
    value to an int.

.. versionadded:: 0.5
    Response-only properties are not present on this request class.
no-cacheNr#   no_cachez	max-staleTzint | t.Literal[True] | None	max_stalez	min-freshr-   	min_freshzonly-if-cachedonly_if_cachedr   )r%   rf   rg   rh   ri   r)   r#   rs   rj   rk   rt   ru   rv   rn   r   r   r   rq   rq      sa    )V ,JdCHdC.D/I+ 
 3;cJIzJ12BD$ONDOr   rq   c                  *   ] tR t^t$ Rt]! RRR4      tR]R&   ]! RR]4      t	R]R&   ]! R	RR4      t
R]R	&   ]! R
R]4      tR]R&   ]! RR]4      tR]R&   ]! RR]4      tR]R&   ]! RR]4      tR]R&   ]! RR]4      tR]R&   ]! RR]4      tR]R&   RtR# )ResponseCacheControla  A cache control for responses.  Unlike :class:`RequestCacheControl`
this is mutable and gives access to response-relevant cache control
headers.

To get a header of the :class:`ResponseCacheControl` object again you can
convert the object into a string or call the :meth:`to_header` method.  If
you plan to subclass it and add your own items have a look at the sourcecode
for that class.

.. versionchanged:: 3.1
    Dict values are always ``str | None``. Setting properties will
    convert the value to a string. Setting a non-bool property to
    ``False`` is equivalent to setting it to ``None``. Getting typed
    properties will return ``None`` if conversion raises
    ``ValueError``, rather than the string.

.. versionchanged:: 3.1
    ``no_cache`` is ``True`` if present without a value, rather than
    ``"*"``.

.. versionchanged:: 3.1
    ``private`` is ``True`` if present without a value, rather than
    ``"*"``.

.. versionchanged:: 3.1
   ``no_transform`` is a boolean. Previously it was mistakenly
   always ``None``.

.. versionchanged:: 3.1
    Added the ``must_understand``, ``stale_while_revalidate``, and
    ``stale_if_error`` properties.

.. versionchanged:: 2.1.1
    ``s_maxage`` converts the value to an int.

.. versionchanged:: 2.1
    Setting int properties such as ``max_age`` will convert the
    value to an int.

.. versionadded:: 0.5
   Request-only properties are not present on this response class.
rr   TNzstr | t.Literal[True] | Noners   publicr#   privatezmust-revalidatemust_revalidatezproxy-revalidateproxy_revalidatezs-maxager-   s_maxage	immutablezmust-understandmust_understandzstale-while-revalidatestale_while_revalidater   )r%   rf   rg   rh   ri   r)   rs   rj   r#   ry   rz   r{   r|   rk   r}   r~   r   r   rn   r   r   r   rx   rx      s    )V .DD$.H*  *(D$?FD?,B4-G)  33DdDQOTQ34FdSdS1*dCHHjH,[$EItE23DdDQOTQ)? $*J r   rx   )rN   )
__future__r   collections.abcabccabctypingtinspectr   mixinsr   
structuresr   r)   r   Optionalr+   rq   rx    rN   r   r   r   <module>r      s|    "    & $*KO*Zb:Lajjo!56 b:J3P,S!**S/-ABM 3Pl:= :| r   