Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_calendar.cpython-312.opt-2.pyc

�

&Μg����P�ddlZddlZddlmZddlmZmZddlZddlZddl	Z	ddl
Z
ddlZddlZdZ
dZdZdZedd	d
��ZdZgd
�gd�gd�gd�gd�ggd�gd�gd�gd�gd�ggd�gd�gd�gd�gd�gggd
�gd�gd�gd�gd�ggd�gd�gd�gd �gd!�gd"�ggd#�gd$�gd%�gd&�gd'�gggd
�gd�gd�gd�gd�ggd�gd�gd�gd�gd�gd(�ggd)�gd*�gd+�gd,�gd-�gggd.�gd/�gd0�gd1�gd2�ggd�gd�gd�gd�gd3�ggd)�gd*�gd+�gd,�gd4�gggZgd5�gd6�gd7�ggd8�gd9�gd:�ggd;�gd<�gd=�ggd>�gd?�gd@�ggZGdA�dBej,�ZGdC�dDej,�ZGdE�dFej,�ZGdG�dHe�ZGdI�dJe�ZGdK�dLej,�ZGdM�dNej,�ZGdO�dPej,�ZdQ�ZGdR�dSej,�Z GdT�dUej,�Z!GdV�dWej,�Z"e#dXk(rejH�yy)Y�N)�support)�assert_python_ok�assert_python_failurez     February 0
Mo Tu We Th Fr Sa Su
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29
a                                   0

      January                   February                   March
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                1  2          1  2  3  4  5  6             1  2  3  4  5
 3  4  5  6  7  8  9       7  8  9 10 11 12 13       6  7  8  9 10 11 12
10 11 12 13 14 15 16      14 15 16 17 18 19 20      13 14 15 16 17 18 19
17 18 19 20 21 22 23      21 22 23 24 25 26 27      20 21 22 23 24 25 26
24 25 26 27 28 29 30      28 29                     27 28 29 30 31
31

       April                      May                       June
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                1  2       1  2  3  4  5  6  7                1  2  3  4
 3  4  5  6  7  8  9       8  9 10 11 12 13 14       5  6  7  8  9 10 11
10 11 12 13 14 15 16      15 16 17 18 19 20 21      12 13 14 15 16 17 18
17 18 19 20 21 22 23      22 23 24 25 26 27 28      19 20 21 22 23 24 25
24 25 26 27 28 29 30      29 30 31                  26 27 28 29 30

        July                     August                  September
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                1  2          1  2  3  4  5  6                   1  2  3
 3  4  5  6  7  8  9       7  8  9 10 11 12 13       4  5  6  7  8  9 10
10 11 12 13 14 15 16      14 15 16 17 18 19 20      11 12 13 14 15 16 17
17 18 19 20 21 22 23      21 22 23 24 25 26 27      18 19 20 21 22 23 24
24 25 26 27 28 29 30      28 29 30 31               25 26 27 28 29 30
31

      October                   November                  December
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                   1             1  2  3  4  5                   1  2  3
 2  3  4  5  6  7  8       6  7  8  9 10 11 12       4  5  6  7  8  9 10
 9 10 11 12 13 14 15      13 14 15 16 17 18 19      11 12 13 14 15 16 17
16 17 18 19 20 21 22      20 21 22 23 24 25 26      18 19 20 21 22 23 24
23 24 25 26 27 28 29      27 28 29 30               25 26 27 28 29 30 31
30 31
z�    January 2004
Mo Tu We Th Fr Sa Su
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
a!                                  2004

      January                   February                   March
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
          1  2  3  4                         1       1  2  3  4  5  6  7
 5  6  7  8  9 10 11       2  3  4  5  6  7  8       8  9 10 11 12 13 14
12 13 14 15 16 17 18       9 10 11 12 13 14 15      15 16 17 18 19 20 21
19 20 21 22 23 24 25      16 17 18 19 20 21 22      22 23 24 25 26 27 28
26 27 28 29 30 31         23 24 25 26 27 28 29      29 30 31

       April                      May                       June
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
          1  2  3  4                      1  2          1  2  3  4  5  6
 5  6  7  8  9 10 11       3  4  5  6  7  8  9       7  8  9 10 11 12 13
12 13 14 15 16 17 18      10 11 12 13 14 15 16      14 15 16 17 18 19 20
19 20 21 22 23 24 25      17 18 19 20 21 22 23      21 22 23 24 25 26 27
26 27 28 29 30            24 25 26 27 28 29 30      28 29 30
                          31

        July                     August                  September
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
          1  2  3  4                         1             1  2  3  4  5
 5  6  7  8  9 10 11       2  3  4  5  6  7  8       6  7  8  9 10 11 12
12 13 14 15 16 17 18       9 10 11 12 13 14 15      13 14 15 16 17 18 19
19 20 21 22 23 24 25      16 17 18 19 20 21 22      20 21 22 23 24 25 26
26 27 28 29 30 31         23 24 25 26 27 28 29      27 28 29 30
                          30 31

      October                   November                  December
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
             1  2  3       1  2  3  4  5  6  7             1  2  3  4  5
 4  5  6  7  8  9 10       8  9 10 11 12 13 14       6  7  8  9 10 11 12
11 12 13 14 15 16 17      15 16 17 18 19 20 21      13 14 15 16 17 18 19
18 19 20 21 22 23 24      22 23 24 25 26 27 28      20 21 22 23 24 25 26
25 26 27 28 29 30 31      29 30                     27 28 29 30 31
�year�month�ascii)rr�encodingax;<?xml version="1.0" encoding="{encoding}"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset={encoding}" />
<link rel="stylesheet" type="text/css" href="calendar.css" />
<title>Calendar for 2004</title>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" class="{year}">
<tr><th colspan="3" class="{year}">2004</th></tr><tr><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">January</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="thu">1</td><td class="fri">2</td><td class="sat">3</td><td class="sun">4</td></tr>
<tr><td class="mon">5</td><td class="tue">6</td><td class="wed">7</td><td class="thu">8</td><td class="fri">9</td><td class="sat">10</td><td class="sun">11</td></tr>
<tr><td class="mon">12</td><td class="tue">13</td><td class="wed">14</td><td class="thu">15</td><td class="fri">16</td><td class="sat">17</td><td class="sun">18</td></tr>
<tr><td class="mon">19</td><td class="tue">20</td><td class="wed">21</td><td class="thu">22</td><td class="fri">23</td><td class="sat">24</td><td class="sun">25</td></tr>
<tr><td class="mon">26</td><td class="tue">27</td><td class="wed">28</td><td class="thu">29</td><td class="fri">30</td><td class="sat">31</td><td class="noday">&nbsp;</td></tr>
</table>
</td><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">February</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="sun">1</td></tr>
<tr><td class="mon">2</td><td class="tue">3</td><td class="wed">4</td><td class="thu">5</td><td class="fri">6</td><td class="sat">7</td><td class="sun">8</td></tr>
<tr><td class="mon">9</td><td class="tue">10</td><td class="wed">11</td><td class="thu">12</td><td class="fri">13</td><td class="sat">14</td><td class="sun">15</td></tr>
<tr><td class="mon">16</td><td class="tue">17</td><td class="wed">18</td><td class="thu">19</td><td class="fri">20</td><td class="sat">21</td><td class="sun">22</td></tr>
<tr><td class="mon">23</td><td class="tue">24</td><td class="wed">25</td><td class="thu">26</td><td class="fri">27</td><td class="sat">28</td><td class="sun">29</td></tr>
</table>
</td><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">March</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="mon">1</td><td class="tue">2</td><td class="wed">3</td><td class="thu">4</td><td class="fri">5</td><td class="sat">6</td><td class="sun">7</td></tr>
<tr><td class="mon">8</td><td class="tue">9</td><td class="wed">10</td><td class="thu">11</td><td class="fri">12</td><td class="sat">13</td><td class="sun">14</td></tr>
<tr><td class="mon">15</td><td class="tue">16</td><td class="wed">17</td><td class="thu">18</td><td class="fri">19</td><td class="sat">20</td><td class="sun">21</td></tr>
<tr><td class="mon">22</td><td class="tue">23</td><td class="wed">24</td><td class="thu">25</td><td class="fri">26</td><td class="sat">27</td><td class="sun">28</td></tr>
<tr><td class="mon">29</td><td class="tue">30</td><td class="wed">31</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
</td></tr><tr><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">April</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="thu">1</td><td class="fri">2</td><td class="sat">3</td><td class="sun">4</td></tr>
<tr><td class="mon">5</td><td class="tue">6</td><td class="wed">7</td><td class="thu">8</td><td class="fri">9</td><td class="sat">10</td><td class="sun">11</td></tr>
<tr><td class="mon">12</td><td class="tue">13</td><td class="wed">14</td><td class="thu">15</td><td class="fri">16</td><td class="sat">17</td><td class="sun">18</td></tr>
<tr><td class="mon">19</td><td class="tue">20</td><td class="wed">21</td><td class="thu">22</td><td class="fri">23</td><td class="sat">24</td><td class="sun">25</td></tr>
<tr><td class="mon">26</td><td class="tue">27</td><td class="wed">28</td><td class="thu">29</td><td class="fri">30</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
</td><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">May</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="sat">1</td><td class="sun">2</td></tr>
<tr><td class="mon">3</td><td class="tue">4</td><td class="wed">5</td><td class="thu">6</td><td class="fri">7</td><td class="sat">8</td><td class="sun">9</td></tr>
<tr><td class="mon">10</td><td class="tue">11</td><td class="wed">12</td><td class="thu">13</td><td class="fri">14</td><td class="sat">15</td><td class="sun">16</td></tr>
<tr><td class="mon">17</td><td class="tue">18</td><td class="wed">19</td><td class="thu">20</td><td class="fri">21</td><td class="sat">22</td><td class="sun">23</td></tr>
<tr><td class="mon">24</td><td class="tue">25</td><td class="wed">26</td><td class="thu">27</td><td class="fri">28</td><td class="sat">29</td><td class="sun">30</td></tr>
<tr><td class="mon">31</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
</td><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">June</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="tue">1</td><td class="wed">2</td><td class="thu">3</td><td class="fri">4</td><td class="sat">5</td><td class="sun">6</td></tr>
<tr><td class="mon">7</td><td class="tue">8</td><td class="wed">9</td><td class="thu">10</td><td class="fri">11</td><td class="sat">12</td><td class="sun">13</td></tr>
<tr><td class="mon">14</td><td class="tue">15</td><td class="wed">16</td><td class="thu">17</td><td class="fri">18</td><td class="sat">19</td><td class="sun">20</td></tr>
<tr><td class="mon">21</td><td class="tue">22</td><td class="wed">23</td><td class="thu">24</td><td class="fri">25</td><td class="sat">26</td><td class="sun">27</td></tr>
<tr><td class="mon">28</td><td class="tue">29</td><td class="wed">30</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
</td></tr><tr><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">July</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="thu">1</td><td class="fri">2</td><td class="sat">3</td><td class="sun">4</td></tr>
<tr><td class="mon">5</td><td class="tue">6</td><td class="wed">7</td><td class="thu">8</td><td class="fri">9</td><td class="sat">10</td><td class="sun">11</td></tr>
<tr><td class="mon">12</td><td class="tue">13</td><td class="wed">14</td><td class="thu">15</td><td class="fri">16</td><td class="sat">17</td><td class="sun">18</td></tr>
<tr><td class="mon">19</td><td class="tue">20</td><td class="wed">21</td><td class="thu">22</td><td class="fri">23</td><td class="sat">24</td><td class="sun">25</td></tr>
<tr><td class="mon">26</td><td class="tue">27</td><td class="wed">28</td><td class="thu">29</td><td class="fri">30</td><td class="sat">31</td><td class="noday">&nbsp;</td></tr>
</table>
</td><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">August</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="sun">1</td></tr>
<tr><td class="mon">2</td><td class="tue">3</td><td class="wed">4</td><td class="thu">5</td><td class="fri">6</td><td class="sat">7</td><td class="sun">8</td></tr>
<tr><td class="mon">9</td><td class="tue">10</td><td class="wed">11</td><td class="thu">12</td><td class="fri">13</td><td class="sat">14</td><td class="sun">15</td></tr>
<tr><td class="mon">16</td><td class="tue">17</td><td class="wed">18</td><td class="thu">19</td><td class="fri">20</td><td class="sat">21</td><td class="sun">22</td></tr>
<tr><td class="mon">23</td><td class="tue">24</td><td class="wed">25</td><td class="thu">26</td><td class="fri">27</td><td class="sat">28</td><td class="sun">29</td></tr>
<tr><td class="mon">30</td><td class="tue">31</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
</td><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">September</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="wed">1</td><td class="thu">2</td><td class="fri">3</td><td class="sat">4</td><td class="sun">5</td></tr>
<tr><td class="mon">6</td><td class="tue">7</td><td class="wed">8</td><td class="thu">9</td><td class="fri">10</td><td class="sat">11</td><td class="sun">12</td></tr>
<tr><td class="mon">13</td><td class="tue">14</td><td class="wed">15</td><td class="thu">16</td><td class="fri">17</td><td class="sat">18</td><td class="sun">19</td></tr>
<tr><td class="mon">20</td><td class="tue">21</td><td class="wed">22</td><td class="thu">23</td><td class="fri">24</td><td class="sat">25</td><td class="sun">26</td></tr>
<tr><td class="mon">27</td><td class="tue">28</td><td class="wed">29</td><td class="thu">30</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
</td></tr><tr><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">October</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="fri">1</td><td class="sat">2</td><td class="sun">3</td></tr>
<tr><td class="mon">4</td><td class="tue">5</td><td class="wed">6</td><td class="thu">7</td><td class="fri">8</td><td class="sat">9</td><td class="sun">10</td></tr>
<tr><td class="mon">11</td><td class="tue">12</td><td class="wed">13</td><td class="thu">14</td><td class="fri">15</td><td class="sat">16</td><td class="sun">17</td></tr>
<tr><td class="mon">18</td><td class="tue">19</td><td class="wed">20</td><td class="thu">21</td><td class="fri">22</td><td class="sat">23</td><td class="sun">24</td></tr>
<tr><td class="mon">25</td><td class="tue">26</td><td class="wed">27</td><td class="thu">28</td><td class="fri">29</td><td class="sat">30</td><td class="sun">31</td></tr>
</table>
</td><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">November</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="mon">1</td><td class="tue">2</td><td class="wed">3</td><td class="thu">4</td><td class="fri">5</td><td class="sat">6</td><td class="sun">7</td></tr>
<tr><td class="mon">8</td><td class="tue">9</td><td class="wed">10</td><td class="thu">11</td><td class="fri">12</td><td class="sat">13</td><td class="sun">14</td></tr>
<tr><td class="mon">15</td><td class="tue">16</td><td class="wed">17</td><td class="thu">18</td><td class="fri">19</td><td class="sat">20</td><td class="sun">21</td></tr>
<tr><td class="mon">22</td><td class="tue">23</td><td class="wed">24</td><td class="thu">25</td><td class="fri">26</td><td class="sat">27</td><td class="sun">28</td></tr>
<tr><td class="mon">29</td><td class="tue">30</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
</td><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">December</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="wed">1</td><td class="thu">2</td><td class="fri">3</td><td class="sat">4</td><td class="sun">5</td></tr>
<tr><td class="mon">6</td><td class="tue">7</td><td class="wed">8</td><td class="thu">9</td><td class="fri">10</td><td class="sat">11</td><td class="sun">12</td></tr>
<tr><td class="mon">13</td><td class="tue">14</td><td class="wed">15</td><td class="thu">16</td><td class="fri">17</td><td class="sat">18</td><td class="sun">19</td></tr>
<tr><td class="mon">20</td><td class="tue">21</td><td class="wed">22</td><td class="thu">23</td><td class="fri">24</td><td class="sat">25</td><td class="sun">26</td></tr>
<tr><td class="mon">27</td><td class="tue">28</td><td class="wed">29</td><td class="thu">30</td><td class="fri">31</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
</td></tr></table></body>
</html>
)rrr����)�����	�
�)��
�����)�������)������r)rrrrrrr
)rrr
rrrr)rrrrrrr)rrrrrrr)r r!r"r#r$r%r&)r
rrr
rrr)rrrrrrr)rrrrrrr)rr r!r"r#r$r%)r&r'r(rrrr)r#r$r%r&r'rr)rrrrrr
r)rr
rrrrr)rrrrrrr)rrrrrrr )r!r"r#r$r%r&r')r(rrrrrr)rr
rrr
rr)rrrrrrr)rrrrrrr)rrr r!r"r#r$)r%r&r'rrrr)r'r(rrrrr)rrr
rrr
r)rrrrrrr)rrrrrrr)rrrr r!r"r#)r$r%r&r'rrr)rrrrr
rr)r
rrrrrr)rrrrrrr)rrrrrr r!)r"r#r$r%r&r'r()r&r'rrrrr)r$r%r&r'r(rr)z>12/29/03 12/30/03 12/31/03 01/01/04 01/02/04 01/03/04 01/04/04z>01/05/04 01/06/04 01/07/04 01/08/04 01/09/04 01/10/04 01/11/04z>01/12/04 01/13/04 01/14/04 01/15/04 01/16/04 01/17/04 01/18/04z>01/19/04 01/20/04 01/21/04 01/22/04 01/23/04 01/24/04 01/25/04�>01/26/04 01/27/04 01/28/04 01/29/04 01/30/04 01/31/04 02/01/04)r)z>02/02/04 02/03/04 02/04/04 02/05/04 02/06/04 02/07/04 02/08/04z>02/09/04 02/10/04 02/11/04 02/12/04 02/13/04 02/14/04 02/15/04z>02/16/04 02/17/04 02/18/04 02/19/04 02/20/04 02/21/04 02/22/04z>02/23/04 02/24/04 02/25/04 02/26/04 02/27/04 02/28/04 02/29/04)z>03/01/04 03/02/04 03/03/04 03/04/04 03/05/04 03/06/04 03/07/04z>03/08/04 03/09/04 03/10/04 03/11/04 03/12/04 03/13/04 03/14/04z>03/15/04 03/16/04 03/17/04 03/18/04 03/19/04 03/20/04 03/21/04z>03/22/04 03/23/04 03/24/04 03/25/04 03/26/04 03/27/04 03/28/04�>03/29/04 03/30/04 03/31/04 04/01/04 04/02/04 04/03/04 04/04/04)r*z>04/05/04 04/06/04 04/07/04 04/08/04 04/09/04 04/10/04 04/11/04z>04/12/04 04/13/04 04/14/04 04/15/04 04/16/04 04/17/04 04/18/04z>04/19/04 04/20/04 04/21/04 04/22/04 04/23/04 04/24/04 04/25/04�>04/26/04 04/27/04 04/28/04 04/29/04 04/30/04 05/01/04 05/02/04)r+z>05/03/04 05/04/04 05/05/04 05/06/04 05/07/04 05/08/04 05/09/04z>05/10/04 05/11/04 05/12/04 05/13/04 05/14/04 05/15/04 05/16/04z>05/17/04 05/18/04 05/19/04 05/20/04 05/21/04 05/22/04 05/23/04z>05/24/04 05/25/04 05/26/04 05/27/04 05/28/04 05/29/04 05/30/04�>05/31/04 06/01/04 06/02/04 06/03/04 06/04/04 06/05/04 06/06/04)r,z>06/07/04 06/08/04 06/09/04 06/10/04 06/11/04 06/12/04 06/13/04z>06/14/04 06/15/04 06/16/04 06/17/04 06/18/04 06/19/04 06/20/04z>06/21/04 06/22/04 06/23/04 06/24/04 06/25/04 06/26/04 06/27/04�>06/28/04 06/29/04 06/30/04 07/01/04 07/02/04 07/03/04 07/04/04)r-z>07/05/04 07/06/04 07/07/04 07/08/04 07/09/04 07/10/04 07/11/04z>07/12/04 07/13/04 07/14/04 07/15/04 07/16/04 07/17/04 07/18/04z>07/19/04 07/20/04 07/21/04 07/22/04 07/23/04 07/24/04 07/25/04�>07/26/04 07/27/04 07/28/04 07/29/04 07/30/04 07/31/04 08/01/04)r.z>08/02/04 08/03/04 08/04/04 08/05/04 08/06/04 08/07/04 08/08/04z>08/09/04 08/10/04 08/11/04 08/12/04 08/13/04 08/14/04 08/15/04z>08/16/04 08/17/04 08/18/04 08/19/04 08/20/04 08/21/04 08/22/04z>08/23/04 08/24/04 08/25/04 08/26/04 08/27/04 08/28/04 08/29/04�>08/30/04 08/31/04 09/01/04 09/02/04 09/03/04 09/04/04 09/05/04)r/z>09/06/04 09/07/04 09/08/04 09/09/04 09/10/04 09/11/04 09/12/04z>09/13/04 09/14/04 09/15/04 09/16/04 09/17/04 09/18/04 09/19/04z>09/20/04 09/21/04 09/22/04 09/23/04 09/24/04 09/25/04 09/26/04�>09/27/04 09/28/04 09/29/04 09/30/04 10/01/04 10/02/04 10/03/04)r0z>10/04/04 10/05/04 10/06/04 10/07/04 10/08/04 10/09/04 10/10/04z>10/11/04 10/12/04 10/13/04 10/14/04 10/15/04 10/16/04 10/17/04z>10/18/04 10/19/04 10/20/04 10/21/04 10/22/04 10/23/04 10/24/04z>10/25/04 10/26/04 10/27/04 10/28/04 10/29/04 10/30/04 10/31/04)z>11/01/04 11/02/04 11/03/04 11/04/04 11/05/04 11/06/04 11/07/04z>11/08/04 11/09/04 11/10/04 11/11/04 11/12/04 11/13/04 11/14/04z>11/15/04 11/16/04 11/17/04 11/18/04 11/19/04 11/20/04 11/21/04z>11/22/04 11/23/04 11/24/04 11/25/04 11/26/04 11/27/04 11/28/04�>11/29/04 11/30/04 12/01/04 12/02/04 12/03/04 12/04/04 12/05/04)r1z>12/06/04 12/07/04 12/08/04 12/09/04 12/10/04 12/11/04 12/12/04z>12/13/04 12/14/04 12/15/04 12/16/04 12/17/04 12/18/04 12/19/04z>12/20/04 12/21/04 12/22/04 12/23/04 12/24/04 12/25/04 12/26/04z>12/27/04 12/28/04 12/29/04 12/30/04 12/31/04 01/01/05 01/02/05c�x�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zy)�OutputTestCasec��d�}g}|jd��D]#}|s�t||�r�|j|��%|S)Nc�J�|j�xr|j�S�N)�isspace�isdigit)�cs �//usr/local/lib/python3.12/test/test_calendar.py�neitherspacenordigitz?OutputTestCase.normalize_calendar.<locals>.neitherspacenordigitts���y�y�{�?�6�1�9�9�;��6�F)�keepends)�
splitlines�filter�append)�self�sr;�lines�lines     r:�normalize_calendarz!OutputTestCase.normalize_calendarrsC��	7����L�L�%�L�0�D��F�#7��>����T�"�1��r<c���tj�}tj�}|xsd|d<|j	d|��}|j|t
jdi|��j|��y)N�utf-8r	��)r	�)	�calendar�HTMLCalendar�default_format�copy�formatyearpage�assertEqual�result_2004_html�format�encode)rA�req�res�cal�format_�outputs      r:�check_htmlcalendar_encodingz*OutputTestCase.check_htmlcalendar_encoding~sn���#�#�%�� �%�%�'��!�n�W��
���#�#�D�3�#�7�������#�#�.�g�.�5�5�c�:�	
r<c� �|j|jtjd��|jt��|j|jtjd��|jt��y�NrHr)rOrErJ�result_2004_text�
result_0_text�rAs r:�test_outputzOutputTestCase.test_output�so������#�#�H�$5�$5�d�$;�<��#�#�$4�5�	
�	
����#�#�H�$5�$5�a�$8�9��#�#�M�2�	
r<c���|jtj�jd�t�|jtj�jd�t
�yrZ)rOrJ�TextCalendar�
formatyearr[r\r]s r:�test_output_textcalendarz'OutputTestCase.test_output_textcalendar�sT������!�!�#�.�.�t�4��	
�	
����!�!�#�.�.�q�1��	
r<c�(�|jdd�y)Nr�rXr]s r:�'test_output_htmlcalendar_encoding_asciiz6OutputTestCase.test_output_htmlcalendar_encoding_ascii�����(�(��'�:r<c�(�|jdd�y)NrGrdr]s r:�&test_output_htmlcalendar_encoding_utf8z5OutputTestCase.test_output_htmlcalendar_encoding_utf8�rfr<c�L�|jdtj��yr6)rX�sys�getdefaultencodingr]s r:�)test_output_htmlcalendar_encoding_defaultz8OutputTestCase.test_output_htmlcalendar_encoding_default�s���(�(��s�/E�/E�/G�Hr<c��d�}|j|tj�jd��t�y)Nc��|D���cgc]8}|D��cgc](}|D�cgc]}djd�|D����c}��*c}}��:c}}}Scc}wcc}}wcc}}}w)N� c3�K�|]A}dj|j|jt|j�dd����Cy�w)z{:02d}/{:02d}/{}���N)rQr�day�strr)�.0�ds  r:�	<genexpr>zHOutputTestCase.test_yeardatescalendar.<locals>.shrink.<locals>.<genexpr>�sC����N�KL�a� 2�8�8� !�������A�F�F��B�C�0@� B�KL�s�AA	)�join)rU�x�y�zs    r:�shrinkz5OutputTestCase.test_yeardatescalendar.<locals>.shrink�s{��>A�B�=@���4�12�A�Q�(�%&���h�h�N�KL�N�N�%&�(�12�4�=@�B�
B��(��4��Bs%�
A�	A�A	�A�A�	A�ArH)rOrJ�Calendar�yeardatescalendar�result_2004_dates)rAr{s  r:�test_yeardatescalendarz%OutputTestCase.test_yeardatescalendar�s7��	B�	
����8�$�$�&�8�8��>�?��	
r<c�r�|jtj�jd�t�y�NrH)rOrJr|�yeardayscalendar�result_2004_daysr]s r:�test_yeardayscalendarz$OutputTestCase.test_yeardayscalendar�s*���������0�0��6��	
r<c�j�|jtj�jd�d�y)NrzMo Tu We Th Fr Sa Su�rOrJr`�formatweekheaderr]s r:�test_formatweekheader_shortz*OutputTestCase.test_formatweekheader_short�s*������!�!�#�4�4�Q�7�"�	
r<c�j�|jtj�jd�d�y)NrzE  Monday   Tuesday  Wednesday  Thursday   Friday   Saturday   Sunday r�r]s r:�test_formatweekheader_longz)OutputTestCase.test_formatweekheader_long�s,������!�!�#�4�4�Q�7�
,�	
r<c���|jtj�jdd�t�|jtj�jdd�t
�y)NrHr
rr)rOrJr`�formatmonth�result_2004_01_text�result_0_02_textr]s r:�test_formatmonthzOutputTestCase.test_formatmonth�sX������!�!�#�/�/��a�8��	
�	
����!�!�#�/�/��1�5��	
r<c�p�|jtj�jddd��d�y)NrHr
T��withyearz8<tr><th colspan="7" class="month">January 2004</th></tr>�rOrJrK�formatmonthnamer]s r:�test_formatmonthname_with_yearz-OutputTestCase.test_formatmonthname_with_year�s1������!�!�#�3�3�D�!�d�3�K�F�	
r<c�p�|jtj�jddd��d�y)NrHr
Fr�z3<tr><th colspan="7" class="month">January</th></tr>r�r]s r:�!test_formatmonthname_without_yearz0OutputTestCase.test_formatmonthname_without_year�s1������!�!�#�3�3�D�!�e�3�L�A�	
r<c���tj�5}gd�}tj�j	|d�|j|j
�d�ddd�y#1swYyxYw)N))r
r)rr
)rr)r
r)rr
)rr)rrr
z 1  2  3  4  5  6  7)r�captured_stdoutrJr`�prweekrO�getvalue)rA�out�weeks   r:�test_prweekzOutputTestCase.test_prweek�sQ��
�
$�
$�
&�#�D�D��!�!�#�*�*�4��3����S�\�\�^�-C�D�'�
&�
&���A	A'�'A0c���tj�5}tj�j	dd�|j|j
�t�ddd�y#1swYyxYw)NrHr
)rr�rJr`�prmonthrOr�r��rAr�s  r:�test_prmonthzOutputTestCase.test_prmonth�sL��
�
$�
$�
&�#��!�!�#�+�+�D�!�4����S�\�\�^�-@�A�'�
&�
&�r�c���tj�5}tj�j	d�|j|j
�t�ddd�y#1swYyxYwr�)rr�rJr`�pryearrOr�r[r�s  r:�test_pryearzOutputTestCase.test_pryear�sJ��
�
$�
$�
&�#��!�!�#�*�*�4�0����S�\�\�^�-=�>�'�
&�
&�s�AA&�&A/c���tj�5}tjgd�dd��|j	|j�j
�d�ddd�y#1swYyxYw)N)�1�2�3rr
)�colwidth�spacingz	1   2   3)rr�rJrQrOr��stripr�s  r:�test_formatzOutputTestCase.test_format�sK��
�
$�
$�
&�#��O�O�O�a��C����S�\�\�^�1�1�3�[�A�'�
&�
&�r�N)�__name__�
__module__�__qualname__rErXr^rbrerhrlrr�r�r�r�r�r�r�r�r�r�rIr<r:r3r3qs`��
�
�
�
�;�;�I�
�
�
�
�
�
�
�E�B�
?�
Br<r3c�l�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zy)�CalendarTestCasec�z�|jtd�5tjddd�y#1swYyxYw)Nz<The 'January' attribute is deprecated, use 'JANUARY' instead)�assertWarnsRegex�DeprecationWarningrJ�Januaryr]s r:�test_deprecation_warningz)CalendarTestCase.test_deprecation_warning�s1��
�
"�
"��J�
�
���	
�
�
�s�1�:c�,�|jtjd�d�|jtjd�d�|jtjd�d�|jtjd�d�y)Ni�r
��ri�i�)rOrJ�isleapr]s r:�test_isleapzCalendarTestCase.test_isleap�sh��
	
�������.��2��������.��2��������.��2��������.��2r<c��|jttjd�|jttjd�|jttjd�tj
�}tjtj�|jtj
�tj�tjtj�|jtj
�tj�tj|�y)N�flabber�����)	�assertRaises�	TypeErrorrJ�setfirstweekday�
ValueError�firstweekday�SUNDAYrO�MONDAY)rA�origs  r:�test_setfirstweekdayz%CalendarTestCase.test_setfirstweekdays������)�X�%=�%=�y�I����*�h�&>�&>��C����*�h�&>�&>��D��$�$�&��� � ����1�����.�.�0�(�/�/�B�� � ����1�����.�.�0�(�/�/�B�� � ��&r<c��|jtjd�5tjd�ddd�y#1swYyxYw)N�123�{)�assertRaisesRegexrJ�IllegalWeekdayErrorr�r]s r:�test_illegal_weekday_reportedz.CalendarTestCase.test_illegal_weekday_reporteds3��
�
#�
#�H�$@�$@�%�
H��$�$�S�)�I�
H�
H�s�A�A	c�8�|jttjjd�|jttj
jd�|j
ttjD�cgc]}|��c}�d�ycc}w)Ni����rr)r��
IndexErrorrJ�day_abbr�__getitem__�day_namerO�len)rArus  r:�test_enumerate_weekdaysz(CalendarTestCase.test_enumerate_weekdayssm�����*�h�&7�&7�&C�&C�S�I����*�h�&7�&7�&C�&C�R�H������):�):�;�):�A�a�):�;�<�a�@��;s�	Bc	�@�dD]�}tt|�}|jt|�d�|jt|dd�d�|jtt	|��d�|j|ddd�tt
|�����y)N)r�r�rr���getattrrJrOr��set�list�reversed�rA�attr�values   r:�	test_dayszCalendarTestCase.test_dayss}��*�D��H�d�+�E����S��Z��+����S��q��]�A�.����S��U��_�a�0����U�4�R�4�[�$�x���*?�@�+r<c	�j�dD]�}tt|�}|jt|�d�|jt|dd�d�|j|dd�|jtt	|��d�|j|ddd�tt
|�����y)N)�
month_name�
month_abbrrr�r�r�r�s   r:�test_monthszCalendarTestCase.test_monthss���.�D��H�d�+�E����S��Z��,����S��q��]�B�/����U�1�X�r�*����S��U��_�b�1����U�4�R�4�[�$�x���*?�@�/r<c��tj�jddd�}	tjd��}|j	dd�}|jddd�}|j|t�|j|t�|jt|�d�|jt|�d�tjd��}|j	d�}|jdd�}|j|t�|j|t�tj�jddd�}|j||�y#t
j$rtjd��wxYw)N��rr���localer
�$cannot set the system default locale)rJr`r��LocaleTextCalendar�
formatweekdayr��Error�unittest�SkipTest�assertIsInstancersrOr��assertGreaterEqual�LocaleHTMLCalendar)rA�old_octoberrU�
local_weekday�local_month�new_octobers      r:�test_locale_calendarsz&CalendarTestCase.test_locale_calendars)sQ���+�+�-�=�=�d�B��K��	L��-�-�R�8�C��-�-�a��4�M��-�-�d�B��;�K�	
���m�S�1����k�3�/�����]�+�R�0�����K� 0�"�5��)�)��4���)�)�!�,�
��)�)�$��3�����m�S�1����k�3�/��+�+�-�=�=�d�B��K������k�2���|�|�	L��#�#�$J�K�K�	L�s�;E!�!)F
c�f�	tjd��}|j|jdd�d�|j|jdd�d�|j|jdd�d	�|j|jdd
�d�|j|jdd�d
�|j|jdd�d�|j|jdd�d�y#tj
$rt
jd��wxYw)N�en_USr�rr
�Mr�Mor�Monrz Mon rz  Mon   rz	  Monday rz
  Monday  zcannot set the en_US locale)rJr�rOr�r�r�r�r�)rArUs  r:�"test_locale_calendar_formatweekdayz3CalendarTestCase.test_locale_calendar_formatweekday@s
��	C��-�-�W�=�C����S�.�.�q�!�4�c�:����S�.�.�q�!�4�d�;����S�.�.�q�!�4�e�<����S�.�.�q�!�4�g�>����S�.�.�q�!�4�j�A����S�.�.�q�!�4�k�B����S�.�.�q�"�5�|�D���|�|�	C��#�#�$A�B�B�	C�s�DD�)D0c�,�	tjd��}|jddd�}|jd|�d|_|jddd�}|jd|�y#tj$rtjd��wxYw)	Nr�r�r�rr�z
class="month"�text-center month�class="text-center month")	rJr�r�r�r�r�r��assertIn�cssclass_month_head)rArUr�s   r:�5test_locale_html_calendar_custom_css_class_month_namezFCalendarTestCase.test_locale_html_calendar_custom_css_class_month_nameQs���	L��-�-�R�8�C��-�-�d�B��;�K�	
�
�
�o�{�3�"5����)�)�$��B�7���
�
�1�;�?��
�|�|�	L��#�#�$J�K�K�	L�s�)A*�*)Bc�(�	tjd��}|jd�}|jd|�gd�|_|jd�}|jd|�y#tj$rtjd��wxYw)Nr�r�rr�zclass="sun")�mon2�tue2�wed2�thu2�fri2�sat2�sun2zclass="sun2")	rJr�r�r�r�r�r�r�cssclasses_weekday_head)rArUr�s   r:�2test_locale_html_calendar_custom_css_class_weekdayzCCalendarTestCase.test_locale_html_calendar_custom_css_class_weekday]s���	L��-�-�R�8�C��-�-�a�0�M�	
�
�
�m�]�3�&^��#��)�)�!�,�
��
�
�n�m�4��
�|�|�	L��#�#�$J�K�K�	L�s�'A(�()Bc�z�ttj�jtj
d��y)Nr)r�rJr|�itermonthdays3�datetime�MAXYEARr]s r:�test_itermonthdays3z$CalendarTestCase.test_itermonthdays3is&���X�
�
�
 �
/�
/��0@�0@�"�
E�Fr<c��tjd��}t|jdd��}|j	|dd�|j	|dd�y)	Nr�r�r�rr)r�rr
rr�)r�rr%r)rJr|r��itermonthdays4rO)rArU�dayss   r:�test_itermonthdays4z$CalendarTestCase.test_itermonthdays4msR�����Q�/���C�&�&�t�Q�/�0������a��/�2�����b��#3�4r<c	�z�td�D]W}tj|�}dD];\}}t|j	||��}|jt
|�d��=�Ytjd��}t|j	dd��}|j|ttdd	���y)
Nr�)r
r
)i'r)�#�*rrr�rr
r&)�rangerJr|r��
itermonthdaysrr�rO�rAr�rUry�mrs      r:�test_itermonthdaysz#CalendarTestCase.test_itermonthdaysss���!�!�H�L��#�#�L�1�C�,���1��C�-�-�a��3�4���
�
�c�$�i��2�-�%����Q�/���C�%�%�d�A�.�/������t�E�!�R�L�1�2r<c��td�D]r}tj|�}dD]V\}}t|j	||��}|j|dd|�|j|dd|dz
dz��X�ty)Nrrrr
r�)rrJr|r��itermonthdays2rOrs      r:�test_itermonthdays2z$CalendarTestCase.test_itermonthdays2s��!�!�H�L��#�#�L�1�C�,���1��C�.�.�q�!�4�5��� � ��a����\�:�� � ��b��!��|�a�/?�1�.D�E�-�%r<c���ttd��}td�D]M}tj|�}t|j	��}||d|d|z}|j||��Oy)Nr)r�rrJr|�iterweekdaysrO)rA�week0r�rUr��expecteds      r:�test_iterweekdaysz"CalendarTestCase.test_iterweekdays�sh���U�1�X���!�!�H�L��#�#�L�1�C���(�(�*�+�D��\�]�+�e�M�\�.B�B�H����T�8�,�	%r<N)r�r�r�r�r�r�r�r�r�r�r�r�rr
rrr r#r(rIr<r:r�r��sY���3�	'�*�A�
A�	A�3�.C�"
@�
5�G�5�
3�F�-r<r�c��eZdZd�Zd�Zd�Zy)�MonthCalendarTestCasec�t�tj�|_tj|j�yr6)rJr��oldfirstweekdayr�r]s r:�setUpzMonthCalendarTestCase.setUp�s'��'�4�4�6���� � ��!2�!2�3r<c�B�tj|j�yr6)rJr�r,r]s r:�tearDownzMonthCalendarTestCase.tearDown�s��� � ��!5�!5�6r<c	��tj||�}|jt|�t|��t	t|��D]*}|j||td�||D����,y)Nc3�&K�|]	}|dk7���y�w)rNrI)rtrrs  r:rvz4MonthCalendarTestCase.check_weeks.<locals>.<genexpr>�s����*F�v��3�!�8�v�s�)rJ�
monthcalendarrOr�r�sum)rArr�weeksrU�is      r:�check_weeksz!MonthCalendarTestCase.check_weeks�sb���$�$�T�5�1������S��3�u�:�.��s�5�z�"�A����U�1�X�s�*F�s�1�v�*F�'F�G�#r<N)r�r�r�r-r/r6rIr<r:r*r*�s��4�7�Hr<r*c�6�eZdZejZd�Zd�Zd�Zy)�MondayTestCasec���|jddd�|jddd�|jddd�|jddd	�|jd
dd�|jddd
�y)N��r�rrrri��rrrrr
���r
rrrr���rrrrr
i��rrrrrrH�r
rrrr�r6r]s r:�
test_februaryzMondayTestCase.test_february��x������q�,�/�	
����q�/�2�	
����q�/�2�	
����q�/�2�	
����q�/�2�	
����q�/�2r<c���|jddd�|jddd�|jddd�|jddd	�|jd
dd�y)Ni�r
�rrrrri��rrrrri��r
rrrrr
���rrrrri��rrrrrrCr]s r:�
test_aprilzMondayTestCase.test_april��e������q�/�2�	
����q�/�2�	
����q�"4�5�	
����q�/�2�	
����q�/�2r<c���|jddd�|jddd�|jddd�|jddd	�|jd
dd�|jddd
�y)Ni�r�rrrrrr=�rrrrr
i��r
rrrrrr?�r
rrrr���rrrrri�rrrrrr
rCr]s r:�
test_decemberzMondayTestCase.test_december��z������r�?�3�	
����r�?�3�	
����r�#5�6�	
����r�?�3�	
����r�?�3�	
����r�#5�6r<N)	r�r�r�rJr�r�rDrMrWrIr<r:r8r8�����?�?�L�3�&3� 7r<r8c�6�eZdZejZd�Zd�Zd�Zy)�SundayTestCasec���|jddd�|jddd�|jddd�|jddd	�|jd
dd�|jddd
�y)Ni�rr;r:r<��r>rHr@�rAi�rBrCr]s r:rDzSundayTestCase.test_february�rEr<c���|jddd�|jddd�|jddd�|jddd	�|jd
dd�y)N�r
rGi~rHi�rIr^rKiurLrCr]s r:rMzSundayTestCase.test_april�rNr<c���|jddd�|jddd�|jddd�|jddd	�|jd
dd�|jddd
�y)Ni rrPi�rQr`rRi�rSi�rUrJrVrCr]s r:rWzSundayTestCase.test_decemberrXr<N)	r�r�r�rJr�r�rDrMrWrIr<r:r[r[�rYr<r[c��eZdZgd�Zd�Zy)�TimegmTestCase)
rr�di�i'i��i@Bi��Ii;=Ki��
Lc��|jD]<}tj|�}|j|t	j
|���>yr6)�
TIMESTAMPS�time�gmtimerOrJ�timegm)rA�secs�tuples   r:�test_timegmzTimegmTestCase.test_timegms7���O�O�D��K�K��%�E����T�8�?�?�5�#9�:�$r<N)r�r�r�rfrlrIr<r:rcrcs��7�J�;r<rcc�6�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	y)	�MonthRangeTestCasec�P�|jtjdd�d�y)NrHr
)rr(�rOrJ�
monthranger]s r:�test_januaryzMonthRangeTestCase.test_january�������,�,�T�!�4�f�=r<c�P�|jtjdd�d�y)NrHr)rr&rpr]s r:�test_february_leapz%MonthRangeTestCase.test_february_leap rsr<c�P�|jtjdd�d�y)Nr�r)rr%rpr]s r:�test_february_nonleapz(MonthRangeTestCase.test_february_nonleap$rsr<c�P�|jtjdd�d�y)NrHr)rr(rpr]s r:rWz MonthRangeTestCase.test_december(s������,�,�T�"�5�v�>r<c��|jtj�5tjdd�ddd�y#1swYyxYwrZ�r�rJ�IllegalMonthErrorrqr]s r:�test_zeroth_monthz$MonthRangeTestCase.test_zeroth_month,s2��
�
�
�x�9�9�
:�����a�(�;�
:�
:���A�A	c��|jtj�5tjdd�ddd�y#1swYyxYw)NrHrrzr]s r:�test_thirteenth_monthz(MonthRangeTestCase.test_thirteenth_month1s2��
�
�
�x�9�9�
:�����b�)�;�
:�
:�r}c��|jtjd�5tjdd�ddd�y#1swYyxYw)N�65rH�A)r�rJr{rqr]s r:�test_illegal_month_reportedz.MonthRangeTestCase.test_illegal_month_reported6s5��
�
#�
#�H�$>�$>��
E�����b�)�F�
E�
E�s�A�A
N)
r�r�r�rrrurwrWr|rr�rIr<r:rnrns%��>�>�>�?�)�
*�
*r<rnc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�LeapdaysTestCasec�P�|jtjdd�d�y)Nr�r�rOrJ�leapdaysr]s r:�
test_no_rangezLeapdaysTestCase.test_no_range;�������*�*�4��5�q�9r<c�P�|jtjdd�d�y)Nr�i�rr�r]s r:�test_no_leapdaysz!LeapdaysTestCase.test_no_leapdays?r�r<c�P�|jtjdd�d�y)Nr���rr�r]s r:�test_no_leapdays_upper_boundaryz0LeapdaysTestCase.test_no_leapdays_upper_boundaryCr�r<c�P�|jtjdd�d�y)Nr�i�r
r�r]s r:�test_one_leapday_lower_boundaryz0LeapdaysTestCase.test_one_leapday_lower_boundaryGr�r<c�P�|jtjdd�d�y)Nr]i�rr�r]s r:�test_several_leapyears_in_rangez0LeapdaysTestCase.test_several_leapyears_in_rangeKs������*�*�4��5�q�9r<N)r�r�r�r�r�r�r�r�rIr<r:r�r�:s��:�:�:�:�:r<r�c�^�|jdtj�j�S)N�
)�replace�os�lineseprR)rBs r:�convr�Os ���9�9�T�2�:�:�&�-�-�/�/r<c�r�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zy)�CommandLineTestCasec�"�tddg|���dS)N�-mrJr
)r)rA�argss  r:�run_okzCommandLineTestCase.run_okSs����j�8�4�8��;�;r<c�n�tddg|���\}}}|jd|�|j|d�y)Nr�rJ�usage:r)rrrO)rAr��rc�stdout�stderrs     r:�
assertFailurez!CommandLineTestCase.assertFailureVs8��2�4��K�d�K���F�F��
�
�i��(�����Q�r<c��|jd�}|jd|�|jd|�|jd|�y)Nz-hr�scalendar.pys--help)r�r�rAr�s  r:�	test_helpzCommandLineTestCase.test_help[s:�����T�"���
�
�i��(��
�
�n�f�-��
�
�i��(r<c��|jd�|jd�|jdd�|jdddd�y)Nz-z�spam�2004�-t�htmlr�)r�r]s r:�test_illegal_argumentsz*CommandLineTestCase.test_illegal_argumentsasB�����4� ����6�"����6�6�*����4����5r<c��|j�}tjj�j}|j	d|zj�|�|j	d|�|j	d|�y)Nz %ssJanuarysMo Tu We Th Fr Sa Su�r�r�nowrrrR�rAr�rs   r:�test_output_current_yearz,CommandLineTestCase.test_output_current_yeargs_�������� � �$�$�&�+�+���
�
�u�t�|�+�+�-�v�6��
�
�j�&�)��
�
�-�v�6r<c�d�|jd�}|j|tt��y)Nr�)r�rOr�r[r�s  r:�test_output_yearz$CommandLineTestCase.test_output_yearns&�����V�$�������&6�!7�8r<c�f�|jdd�}|j|tt��y)Nr�r�)r�rOr�r�r�s  r:�test_output_monthz%CommandLineTestCase.test_output_monthrs(�����V�S�)�������&9�!:�;r<c��|jd�|jd�|jddd�}|j|tj	d��y)Nz-e�
--encodingz	utf-16-ler�)r�r�rOr[rRr�s  r:�test_option_encodingz(CommandLineTestCase.test_option_encodingvsL�����4� ����<�(����\�;��?������!1�!8�!8��!E�Fr<c��|jd�|jd�|jdd�tj�\}}|xsd}|xsd}	tjtj�}	tjtj||f�tjtj|�	|jd|d|d�}|jdj|�|�y#tjtj|�wxYw#tj
tf$r|jd�Y��wxYw)	Nz-Lz--locale�en�CzUTF-8r�r�r�)r�r��	getlocale�LC_TIME�	setlocaler�r��skipTestr�rrR)rA�lang�enc�	oldlocaler�s     r:�test_option_localez&CommandLineTestCase.test_option_locale|s
�����4� ����:�&����4��&��$�$�&�	��c��{�s���n�W��	B��(�(����8�I�
<�� � ����$���=�� � �����;����Z��|�S�&�I���
�
�f�m�m�C�(�&�1��	� � �����;�����j�)�	B��M�M�@�A�	B�s*�#D(�=&C?�#$D(�?&D%�%D(�(*E�Ec��|jd�|jd�|jdd�|jddd�}|jd|�y)Nz-wz--widthr�r�r�sMon Tue Wed Thu Fri Sat Sun�r�r�rr�s  r:�test_option_widthz%CommandLineTestCase.test_option_width�sO�����4� ����9�%����4��(����Y��V�4���
�
�4�f�=r<c���|jd�|jd�|jdd�|jddd�}|jtd�|�y)Nz-lz--linesr�r�r�zDecember

Mo Tu We�r�r�rr�r�s  r:�test_option_linesz%CommandLineTestCase.test_option_lines�sT�����4� ����9�%����4��(����Y��V�4���
�
�d�1�2�F�;r<c��|jd�|jd�|jdd�|jddd�}|jd|�y)Nz-sz	--spacingr��8r�sSu        Mor�r�s  r:�test_option_spacingz'CommandLineTestCase.test_option_spacing�sN�����4� ����;�'����4��(����[�#�v�6���
�
�o�v�.r<c���|jd�|jd�|jdd�|jddd�}|jtd�|�y)Nr�z--monthr�z--monthsr�r�z
Mo Tu We Th Fr Sa Su
r�r�s  r:�test_option_monthsz&CommandLineTestCase.test_option_months�sT�����4� ����9�%����4��(����Z��f�5���
�
�d�5�6��?r<c�D�|jd�|jd�|jdd�|jddd�}|j|tt��|jddd�}|j|ddd�|jd	|�y)
Nr��--typer��textr�r�rs<?xml s <title>Calendar for 2004</title>)r�r�rOr�r[rr�s  r:�test_option_typez$CommandLineTestCase.test_option_type�s������4� ����8�$����4��(����X�v�v�6�������&6�!7�8����X�v�v�6���������Y�/��
�
�9�6�Br<c���|jdd�}tjj�j}|j	d|zj�|�|j	d|�y)Nr�r�z<title>Calendar for %s</title>s3<tr><th colspan="7" class="month">January</th></tr>r�r�s   r:�test_html_output_current_yearz1CommandLineTestCase.test_html_output_current_year�s^�����X�v�.��� � �$�$�&�+�+���
�
�7�$�>�F�F�H��	��
�
�L��	r<c��|jddddd�}|j|tjdit��jd��y)Nr�r�r�rr�rI)r�rOrPrQrLrRr�s  r:�test_html_output_year_encodingz2CommandLineTestCase.test_html_output_year_encoding�sE�����T�6�<��&�I������)�0�0�B�>�B�I�I�'�R�	Tr<c��|jddd�|jddd�|jddddd�}|jd|�y)Nr�r�z-cz--cssz
custom.cssr�s;<link rel="stylesheet" type="text/css" href="custom.css" />r�r�s  r:�test_html_output_year_cssz-CommandLineTestCase.test_html_output_year_css�sP�����4���.����4���1����T�6�7�L�&�I���
�
�.�/5�	7r<N)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rIr<r:r�r�Rs[��<� �
)�6�7�9�<�G�2�&>�<�/�@�C��T�
7r<r�c��eZdZd�Zy)�MiscTestCasec�D�hd�}tj|t|��y)N>r9�mainr��EPOCH�mdaysrQr�r��February�monthlen�	nextmonth�	prevmonth�formatstring�different_locale)�not_exported)r�check__all__rJ)rAr�s  r:�test__all__zMiscTestCase.test__all__�s��J��	���T�8�,�Gr<N)r�r�r�r�rIr<r:r�r��s��Hr<r�c�6�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	y)	�TestSubClassingCasec�N�Gd�dtj�}|�|_y)Nc��eZdZejj
D��cgc]}|dz��	c}}Zgd�ZdZdZdZ	dZ
ycc}}w)�0TestSubClassingCase.setUp.<locals>.CustomHTMLCalz text-nowrap)�red�blue�green�lilac�yellow�orange�pinkztext-center month-headr�ztext-italic zlead N)r�r�r�rJrK�
cssclassesrr�cssclass_month�
cssclass_year�cssclass_year_head)rt�styles00r:�
CustomHTMLCalr��sT��"�/�/�:�:�<�:�6;�%�.�0�:�<�J�'C�#�":��0�N�*�M�!(���<s�;r�)rJrKrU)rAr�s  r:r-zTestSubClassingCase.setUp�s��	)�H�1�1�	)�!�?��r<c�\�|jd|jjdd��y)Nzclass="text-center month-head"rTr)rrUr�r]s r:�test_formatmonthnamez(TestSubClassingCase.test_formatmonthname�s%���
�
�6��h�h�.�.�t�Q�7�	9r<c�\�|jd|jjdd��y)NrrTr)rrUr�r]s r:r�z$TestSubClassingCase.test_formatmonth�s%���
�
�1��h�h�*�*�4��3�	5r<c��|jjdd�}|jd|jj|d��y)NrTrzclass="wed text-nowrap"r)rU�monthdays2calendarr�
formatweek)rAr4s  r:�test_formatweekz#TestSubClassingCase.test_formatweek�s:�����+�+�D�!�4���
�
�/����1D�1D�U�1�X�1N�Or<c��|jj�}|jjD]}|jd|z|��y)Nz<th class="%s">)rUr�rr)rA�header�colors   r:�test_formatweek_headz(TestSubClassingCase.test_formatweek_head�s<�����*�*�,���X�X�5�5�E��M�M�+�e�3�V�<�6r<c��|jd|jjz|jjd��y)Nz=<table border="0" cellpadding="0" cellspacing="0" class="%s">rT)rrUr�rar]s r:�test_format_yearz$TestSubClassingCase.test_format_year�s6���
�
�
L�
�X�X�
#�
#�$�&*�h�h�&9�&9�$�&?�	Ar<c��|jdd|jjdfz|jjd��y)Nz,<tr><th colspan="%d" class="%s">%s</th></tr>rrT)rrUr�rar]s r:�test_format_year_headz)TestSubClassingCase.test_format_year_head�s@���
�
�D�
�t�x�x�*�*�D�H2�2�37�8�8�3F�3F�t�3L�	Nr<N)
r�r�r�r-r�r�rrrr
rIr<r:r�r��s(��#�9�5�P�=�
A�
Nr<r��__main__)%rJr��testr�test.support.script_helperrrrgr�rjrr��warningsr�r\r�r[�dictrLrPr�r~�TestCaser3r�r*r8r[rcrnr�r�r�r�r�r�r�rIr<r:�<module>rs������N��
�
��	����%�
�N��$��N�6��7�C��{��|��"�"�!�	#�
��!�"�"�	$�
� �"�"��	 �!���"�"� �	"�
��"�"�"�����"�"��	 �!� ��"�"�!�	#�
��!�"�"�����"�"��	!�"� ��"�"�"�	$�
� �"�"��	�
��"�"� �	"�#�a?��DI�
I�
I�J�I�
I�I�J� I�
I�I�J� I�
I�
I�J�_=K��BzB�X�&�&�zB�xa-�x�(�(�a-�HH�H�-�-�H�77�*�77�t77�*�77�r;�X�&�&�;�*��*�*�*�>:�x�(�(�:�*0�u7�(�+�+�u7�pH�8�$�$�H�(N�(�+�+�(N�T�z���H�M�M�O�r<

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists