HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/sphinx/util/__pycache__/jsdump.cpython-310.pyc
o

�$�a��@sdZddlZddlmZmZmZmZmZmZe�	d�Z
e�	d�Ze�	d�Ze�	d�Z
e�	d�Zd	d
ddd
ddd�Ze�	d�Zdedefdd�Zdedefdd�Zed���Zd&dededefdd�Zdededdfdd �Zd!edefd"d#�Zdedefd$d%�ZdS)'a&
    sphinx.util.jsdump
    ~~~~~~~~~~~~~~~~~~

    This module implements a simple JavaScript serializer.
    Uses the basestring encode function from simplejson by Bob Ippolito.

    :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�IO�Any�Dict�List�Match�Unionz"(\\\\|\\"|[^"])*"z\d+z[a-zA-Z_]\w*z[a-zA-Z_][a-zA-Z0-9_]*$z([\\"]|[^\ -~])z\\z\"z\bz\fz\nz\rz\t)�\�"���
�
�	z\\u.{4}|\\.�s�returncCs*dtdtfdd�}dtt�||��dS)N�matchrcSsv|�d�}zt|WSty:t|�}|dkr d|fYS|d8}d|d?d@B}d|d@B}d||fYSw)	Nriz\u%04xi��
i�i�z\u%04x\u%04x)�group�ESCAPE_DICT�KeyError�ord)rr�n�s1�s2�r�4/usr/lib/python3/dist-packages/sphinx/util/jsdump.py�replace$s

�zencode_string.<locals>.replacer	)r�str�ESCAPE_ASCII�sub)rrrrr�
encode_string#sr cCst�dd�|�S)NcSstd|��d�S)Nr	)�evalr)�mrrr�<lambda>6szdecode_string.<locals>.<lambda>)�ESCAPEDr)rrrr�
decode_string5sr%a�abstract   else   instanceof   switch
boolean   enum   int   synchronized
break   export   interface   this
byte   extends   long   throw
case   false   native   throws
catch   final   new   transient
char   finally   null   true
class   float   package   try
const   for   private   typeof
continue   function   protected   var
debugger   goto   public   void
default   if   return   volatile
delete   implements   short   while
do   import   static   with
double   in   superF�obj�keycCs|rt|t�st|�}t�|�r|tvr|St|�S|dur dS|dus(|dur.|r,dSdSt|ttf�r9t|�St|t�rNdd�	t
dd	�|��D���St|t�rad
d�	t
dd	�|D���St|t
tf�rtd
d�	dd	�|D��St|t�r}t|�Stt|���)
N�nullTF�true�falsez{%s}�,css*�|]\}}dt|d�t|�fVqdS)z%s:%sTN��dumps)�.0r'�valuerrr�	<genexpr>Zs���zdumps.<locals>.<genexpr>z[%s]cs��|]}t|�VqdS�Nr,�r.�xrrrr0_��csr1r2r,r3rrrr0ar5)�
isinstancer�_nameonly_rer�reswordsr �int�float�dict�join�sorted�items�set�tuple�list�	TypeError�type)r&r'rrrr-Ks.

�

r-�fcCs|�t|��dSr2)�writer-)r&rDrrr�dumpgsrFr4cCs~t�}d}t|�}g}|}d}g}||k�r4||}|dkr1i}|�|�d}|�|�|d7}n�|dkrHg}|�|�d}|�|�|d7}n�|dvr�|rZ|d|urXtd	��d}|��}	|��|r�|d}t|t�r|d|urxtd
|	��|	||d<n|�|	�nn�|d7}n�|dkr�|r�td��t|t�r�d}|d7}n�|d
kr�t|t�s�td��|d7}|s�td��d}nud}
t�||�}|r�t	|�
�dd��}
n@t�||�}|r�t|�
��}
n1t
�||�}|�r
|�
�}
|
dkr�d}
n|
dkr�d}
n|
dk�rd}
n|�s	td��ntd|��|��}t|t��r+|�r"|
|d<n|
||d<d}n|�|
�||ks||u�r=td��|S)z8Loader that can read the JS subset the indexer produces.rF�{T��[z}]���zunfinished dictzinvalid key objectr+z
multiple keys�:z
colon in listzmultiple valuesNr)r*r(zbareword as valuezread error at pos %dznothing loaded from string)�object�len�append�
ValueError�popr6r;�_str_rerr%r�_int_rer9�_name_re�end)r4�nothing�ir�stackr&r'�keys�c�oldobj�yr"rrr�loadsks�













�

�
Nr\cCst|���Sr2)r\�read)rDrrr�load�sr^)F)�__doc__�re�typingrrrrrr�compilerQrRrSr7rrr$rr r%r?�splitr8�boolr-rFr\r^rrrr�<module>s4 




�

�\