94 |
95 | {%- if theme_warning %}
96 |
97 |
{{ theme_warning }}
98 |
99 | {%- endif %}
100 | {% block body %}{% endblock %}
101 |
102 |
103 | {%- block footer %}
104 | {%- include "footer.html" %}
105 | {%- endblock %}
106 |
107 |
108 |
109 |
110 |
--------------------------------------------------------------------------------
/src/css/yue.css:
--------------------------------------------------------------------------------
1 | .yue {
2 | line-height: 1.62;
3 | }
4 | .yue h1,
5 | .yue h2,
6 | .yue h3,
7 | .yue h4,
8 | .yue h5,
9 | .yue h6 {
10 | -webkit-font-smoothing: antialiased;
11 | -moz-osx-font-smoothing: grayscale;
12 | font-family: var(--font-text);
13 | color: var(--color-heading);
14 | }
15 |
16 | .yue h1 {
17 | font-weight: 700;
18 | font-size: 1.8em;
19 | margin: 0.8em 0;
20 | }
21 |
22 | .yue h2 {
23 | font-weight: 700;
24 | font-size: 1.42em;
25 | margin: 1.42em 0 0.4em;
26 | }
27 |
28 | .yue h3 {
29 | font-size: 1.17em;
30 | margin: 1.62em 0 0.4em;
31 | }
32 |
33 | .yue h4,
34 | .yue h5,
35 | .yue h6 {
36 | font-size: 1em;
37 | margin: 1.6em 0 0.6em;
38 | }
39 |
40 | .yue h6 {
41 | font-weight: 500;
42 | }
43 |
44 | .yue p {
45 | margin-top: 0;
46 | margin-bottom: 1.02em;
47 | hyphens: auto;
48 | }
49 |
50 | .yue a {
51 | color: var(--color-heading);
52 | word-wrap: break-word;
53 | text-decoration: none;
54 | border-bottom: 1px solid rgba(0, 0, 0, 0.26);
55 | }
56 |
57 | .yue a:hover {
58 | color: var(--color-primary);
59 | border-color: var(--color-primary);
60 | text-decoration: none;
61 | }
62 |
63 | .yue h1 a, .yue h2 a, .yue h3 a {
64 | text-decoration: none;
65 | }
66 |
67 | .yue strong,
68 | .yue b {
69 | -webkit-font-smoothing: antialiased;
70 | font-weight: 700;
71 | color: rgba(0, 0, 0, 0.9);
72 | }
73 |
74 | .yue em,
75 | .yue i {
76 | font-style: italic;
77 | color: rgba(0, 0, 0, 0.9);
78 | }
79 |
80 | .yue img,
81 | .yue video {
82 | max-width: 100%;
83 | height: auto;
84 | margin: 0.2em 0;
85 | }
86 |
87 | .yue a img {
88 | border: none;
89 | vertical-align: middle;
90 | }
91 |
92 | .yue figure {
93 | position: relative;
94 | clear: both;
95 | outline: 0;
96 | margin: 10px 0 30px;
97 | padding: 0;
98 | min-height: 100px;
99 | }
100 |
101 | .yue figure img {
102 | display: block;
103 | max-width: 100%;
104 | margin: 0 auto;
105 | box-sizing: border-box;
106 | }
107 |
108 | .yue figcaption {
109 | width: 100%;
110 | text-align: center;
111 | left: 0;
112 | margin-top: 10px;
113 | font-weight: 400;
114 | font-size: 14px;
115 | color: rgba(0, 0, 0, 0.42);
116 | }
117 |
118 | .yue figcaption a {
119 | text-decoration: none;
120 | color: rgba(0, 0, 0, 0.42);
121 | }
122 |
123 | .yue hr {
124 | display: block;
125 | width: 90%;
126 | max-width: 100px;
127 | border: 0;
128 | border-top: 1px solid rgba(0, 0, 0, 0.04);
129 | margin: 1.42em auto 1.84em;
130 | }
131 |
132 | .yue blockquote {
133 | position: relative;
134 | padding: 0 1em 0 2em;
135 | margin: 1.2em 0;
136 | color: rgba(0, 0, 0, 0.68);
137 | border-left: 6px solid rgba(0, 0, 0, 0.1);
138 | }
139 |
140 | .yue blockquote a {
141 | color: rgba(0, 0, 0, 0.68);
142 | }
143 |
144 | .yue ul,
145 | .yue ol {
146 | margin: 0 0 24px 6px;
147 | padding-left: 16px;
148 | }
149 |
150 | .yue ul {
151 | list-style-type: square;
152 | }
153 |
154 | .yue ol {
155 | list-style-type: decimal;
156 | }
157 |
158 | .yue li {
159 | margin-bottom: 0.2em;
160 | }
161 |
162 | .yue li ul,
163 | .yue li ol {
164 | margin-top: 0;
165 | margin-bottom: 0;
166 | }
167 |
168 | .yue li ul {
169 | list-style-type: disc;
170 | }
171 |
172 | .yue li ul ul {
173 | list-style-type: circle;
174 | }
175 |
176 | .yue li p {
177 | margin: 0.4em 0 0.6em;
178 | }
179 |
180 | .yue code,
181 | .yue tt {
182 | background-color: rgba(220, 220, 220, 0.2);
183 | color: var(--color-code);
184 | font-size: 0.96em;
185 | padding: 1px 4px;
186 | border-radius: 2px;
187 | font-family: var(--font-code);
188 | word-wrap: break-word;
189 | hyphens: none;
190 | }
191 |
192 | .yue pre {
193 | margin: 1.4em 0;
194 | padding: 1.2em;
195 | border: none;
196 | overflow: auto;
197 | line-height: 1.5;
198 | font-size: 0.98em;
199 | font-family: var(--font-code);
200 | color: var(--color-text);
201 | }
202 |
203 | .yue pre code,
204 | .yue pre tt {
205 | color: rgba(0, 0, 0, 0.68);
206 | border: none;
207 | background: none;
208 | padding: 0;
209 | }
210 |
211 | .yue table {
212 | width: 100%;
213 | max-width: 100%;
214 | border-collapse: collapse;
215 | border-spacing: 0;
216 | margin-bottom: 1.5em;
217 | font-size: 0.96em;
218 | box-sizing: border-box;
219 | }
220 |
221 | .yue iframe {
222 | display: block;
223 | max-width: 100%;
224 | margin-bottom: 30px;
225 | }
226 |
227 | .yue figure iframe {
228 | margin: auto;
229 | }
230 |
231 | .yue table pre {
232 | margin: 0;
233 | padding: 0;
234 | border: none;
235 | background: none;
236 | }
237 |
238 | [lang^="en"] .yue h1 {
239 | font-weight: 900;
240 | }
241 |
242 | .yue table[border] th,
243 | .yue table[border] td {
244 | text-align: left;
245 | padding: 6px 8px 6px 10px;
246 | border: 1px solid #ddd;
247 | }
248 |
249 | .yue table[border] td {
250 | vertical-align: top;
251 | }
252 |
253 | .yue table[border] tr:nth-child(even) {
254 | background-color: rgba(0, 0, 0, 0.01);
255 | }
256 |
--------------------------------------------------------------------------------
/docs/markup.rst:
--------------------------------------------------------------------------------
1 | Markup Styles
2 | =============
3 |
4 | This page is showing markup styles, they have no meanings.
5 |
6 | .. contents:: Table of Contents
7 |
8 | Admonition
9 | ----------
10 |
11 | .. admonition:: Debug Note
12 |
13 | The default admonition has no colors. It is gray.
14 |
15 | .. attention:: Attention please!
16 |
17 | .. caution:: Attention please!
18 |
19 | .. danger:: This is a danger area.
20 |
21 | .. error:: This is an error message.
22 |
23 | .. hint:: This is hint message.
24 |
25 | .. important:: This is an impoartant message.
26 |
27 | .. note::
28 | This page is showing markup styles, they have no meanings.
29 |
30 | Oh. Except this message.
31 |
32 | .. tip:: A small tip please.
33 |
34 | .. warning:: Please don't do anything harmful to me.
35 |
36 |
37 | Sphinx Admonition
38 | -----------------
39 |
40 | .. versionadded:: 2.5
41 | The *spam* parameter.
42 |
43 | .. versionchanged:: 2.5
44 | The *spam* parameter.
45 |
46 | .. deprecated:: 3.1
47 | Use :func:`spam` instead.
48 |
49 | .. seealso::
50 | It is also available at https://typlog.com/
51 |
52 | .. centered:: LICENSE AGREEMENT
53 |
54 | .. hlist::
55 | :columns: 3
56 |
57 | * A list of
58 | * short items
59 | * that should be
60 | * displayed
61 | * horizontally
62 |
63 | Block Level
64 | -----------
65 |
66 | Code
67 | ~~~~
68 |
69 | Here is an example on code highlight::
70 |
71 | @app.route('/', methods=['GET')
72 | def hello(name='world'):
73 | return 'Hello {}'.format(name)
74 |
75 | class API(object):
76 | """API docstring style"""
77 |
78 | def __init__(self, request):
79 | # comment
80 | self.request = request
81 |
82 |
83 | Using ``code-block`` with other options.
84 |
85 | .. code-block:: js
86 | :caption: test.js
87 | :emphasize-lines: 2
88 |
89 | function test() {
90 | console.log('hi');
91 | }
92 |
93 | .. code-block:: rust
94 | :linenos:
95 |
96 | fn main() {
97 | println!("Hello World!");
98 | }
99 |
100 | Quote
101 | ~~~~~
102 |
103 | Here is an example on block quote:
104 |
105 | | Beautiful is better than ugly.
106 | | Explicit is better than implicit.
107 | | Simple is better than complex.
108 | | Complex is better than complicated.
109 | | Flat is better than nested.
110 | | Sparse is better than dense.
111 | | Readability counts.
112 | | Special cases aren't special enough to break the rules.
113 | | Although practicality beats purity.
114 | | Errors should never pass silently.
115 | | Unless explicitly silenced.
116 | | In the face of ambiguity, refuse the temptation to guess.
117 | | There should be one-- and preferably only one --obvious way to do it.
118 | | Although that way may not be obvious at first unless you're Dutch.
119 | | Now is better than never.
120 | | Although never is often better than *right* now.
121 | | If the implementation is hard to explain, it's a bad idea.
122 | | If the implementation is easy to explain, it may be a good idea.
123 | | Namespaces are one honking great idea -- let's do more of those!
124 |
125 | List
126 | ~~~~
127 |
128 | * Make a list, and its items
129 |
130 | 1. Ordered item: foo
131 |
132 | a. A third level item
133 |
134 | 2. Ordered item: bar
135 |
136 | * The second item has no items
137 | * The third item has unordered items
138 |
139 | * A foo is a foo
140 | * A bar is a bar
141 |
142 |
143 | Options Lists
144 | ~~~~~~~~~~~~~
145 |
146 | -a command-line option "a"
147 | -b file options can have arguments
148 | and long descriptions
149 | --long options can be long also
150 | --input=file long options can also have
151 | arguments
152 | /V DOS/VMS-style options too
153 |
154 | Inline Style
155 | ------------
156 |
157 | A plain text mixed with **bold** and *italic*. And we have ``code`` too.
158 |
159 | Let's try a link https://lepture.com.
160 |
161 | Footnotes
162 | ~~~~~~~~~
163 |
164 | Plain text Typical result
165 | Footnote references, like [5]_.
166 | Note that footnotes may get
167 | rearranged, e.g., to the bottom of
168 | the "page".
169 |
170 | Autonumbered footnotes are
171 | possible, like using [#]_ and [#]_.
172 |
173 | They may be assigned 'autonumber
174 | labels' - for instance,
175 | [#fourth]_ and [#third]_.
176 |
177 | .. [5] A numerical footnote. Note
178 | there's no colon after the ``]``.
179 | .. [#] This is the first one.
180 | .. [#] This is the second one.
181 | .. [#third] a.k.a. third_
182 | .. [#fourth] a.k.a. fourth_
183 |
184 | Citations
185 | ~~~~~~~~~
186 |
187 | Citation references, like [CIT2002]_.
188 | Note that citations may get
189 | rearranged, e.g., to the bottom of
190 | the "page".
191 |
192 | .. [CIT2002] A citation
193 | (as often used in journals).
194 |
195 |
196 | Badges
197 | ------
198 |
199 | Let's have a preview of what badges look like:
200 |
201 | * :badge:`done` Add badge role
202 | * :badge:`todo` Add more badge features
203 | * :badge:`doing` Things that in plan
204 | * :badge-red:`remove` Some feature has been removed
205 | * :badge-green:`√`
206 |
207 |
208 | GitHub
209 | ------
210 |
211 | * Feature request at :gh:`issue#1`.
212 |
213 | API References
214 | --------------
215 |
216 | .. module:: sphinx_typlog_theme
217 |
218 | .. autofunction:: get_path
219 | .. autofunction:: add_github_roles
220 | .. autofunction:: add_badge_roles
221 |
--------------------------------------------------------------------------------
/src/css/normalize.css:
--------------------------------------------------------------------------------
1 | html {
2 | font-family: sans-serif; /* 1 */
3 | line-height: 1.15; /* 2 */
4 | -ms-text-size-adjust: 100%; /* 3 */
5 | -webkit-text-size-adjust: 100%; /* 3 */
6 | }
7 |
8 | /* Sections
9 | ========================================================================== */
10 |
11 | /**
12 | * Remove the margin in all browsers (opinionated).
13 | */
14 |
15 | body {
16 | margin: 0;
17 | }
18 |
19 | /**
20 | * Add the correct display in IE 9-.
21 | */
22 |
23 | article,
24 | aside,
25 | footer,
26 | header,
27 | nav,
28 | section {
29 | display: block;
30 | }
31 |
32 | /**
33 | * Correct the font size and margin on `h1` elements within `section` and
34 | * `article` contexts in Chrome, Firefox, and Safari.
35 | */
36 |
37 | h1 {
38 | font-size: 2em;
39 | margin: 0.67em 0;
40 | }
41 |
42 | /* Grouping content
43 | ========================================================================== */
44 |
45 | /**
46 | * Add the correct display in IE 9-.
47 | * 1. Add the correct display in IE.
48 | */
49 |
50 | figcaption,
51 | figure,
52 | main { /* 1 */
53 | display: block;
54 | }
55 |
56 | /**
57 | * Add the correct margin in IE 8.
58 | */
59 |
60 | figure {
61 | margin: 1em 40px;
62 | }
63 |
64 | /**
65 | * 1. Add the correct box sizing in Firefox.
66 | * 2. Show the overflow in Edge and IE.
67 | */
68 |
69 | hr {
70 | box-sizing: content-box; /* 1 */
71 | height: 0; /* 1 */
72 | overflow: visible; /* 2 */
73 | }
74 |
75 | /**
76 | * 1. Correct the inheritance and scaling of font size in all browsers.
77 | * 2. Correct the odd `em` font sizing in all browsers.
78 | */
79 |
80 | pre {
81 | font-family: monospace, monospace; /* 1 */
82 | font-size: 1em; /* 2 */
83 | }
84 |
85 | /* Text-level semantics
86 | ========================================================================== */
87 |
88 | /**
89 | * 1. Remove the gray background on active links in IE 10.
90 | * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
91 | */
92 |
93 | a {
94 | background-color: transparent; /* 1 */
95 | -webkit-text-decoration-skip: objects; /* 2 */
96 | }
97 |
98 | /**
99 | * Remove the outline on focused links when they are also active or hovered
100 | * in all browsers (opinionated).
101 | */
102 |
103 | a:active,
104 | a:hover {
105 | outline-width: 0;
106 | }
107 |
108 | /**
109 | * 1. Remove the bottom border in Firefox 39-.
110 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
111 | */
112 |
113 | abbr[title] {
114 | border-bottom: none; /* 1 */
115 | text-decoration: underline; /* 2 */
116 | text-decoration: underline dotted; /* 2 */
117 | }
118 |
119 | /**
120 | * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
121 | */
122 |
123 | b,
124 | strong {
125 | font-weight: inherit;
126 | }
127 |
128 | /**
129 | * Add the correct font weight in Chrome, Edge, and Safari.
130 | */
131 |
132 | b,
133 | strong {
134 | font-weight: bolder;
135 | }
136 |
137 | /**
138 | * 1. Correct the inheritance and scaling of font size in all browsers.
139 | * 2. Correct the odd `em` font sizing in all browsers.
140 | */
141 |
142 | code,
143 | kbd,
144 | samp {
145 | font-family: monospace, monospace; /* 1 */
146 | font-size: 1em; /* 2 */
147 | }
148 |
149 | /**
150 | * Add the correct font style in Android 4.3-.
151 | */
152 |
153 | dfn {
154 | font-style: italic;
155 | }
156 |
157 | /**
158 | * Add the correct background and color in IE 9-.
159 | */
160 |
161 | mark {
162 | background-color: #ff0;
163 | color: #000;
164 | }
165 |
166 | /**
167 | * Add the correct font size in all browsers.
168 | */
169 |
170 | small {
171 | font-size: 80%;
172 | }
173 |
174 | /**
175 | * Prevent `sub` and `sup` elements from affecting the line height in
176 | * all browsers.
177 | */
178 |
179 | sub,
180 | sup {
181 | font-size: 75%;
182 | line-height: 0;
183 | position: relative;
184 | vertical-align: baseline;
185 | }
186 |
187 | sub {
188 | bottom: -0.25em;
189 | }
190 |
191 | sup {
192 | top: -0.5em;
193 | }
194 |
195 | /* Embedded content
196 | ========================================================================== */
197 |
198 | /**
199 | * Add the correct display in IE 9-.
200 | */
201 |
202 | audio,
203 | video {
204 | display: inline-block;
205 | }
206 |
207 | /**
208 | * Add the correct display in iOS 4-7.
209 | */
210 |
211 | audio:not([controls]) {
212 | display: none;
213 | height: 0;
214 | }
215 |
216 | /**
217 | * Remove the border on images inside links in IE 10-.
218 | */
219 |
220 | img {
221 | border-style: none;
222 | }
223 |
224 | /**
225 | * Hide the overflow in IE.
226 | */
227 |
228 | svg:not(:root) {
229 | overflow: hidden;
230 | }
231 |
232 | /* Forms
233 | ========================================================================== */
234 |
235 | /**
236 | * 1. Change the font styles in all browsers (opinionated).
237 | * 2. Remove the margin in Firefox and Safari.
238 | */
239 |
240 | button,
241 | input,
242 | optgroup,
243 | select,
244 | textarea {
245 | font-family: sans-serif; /* 1 */
246 | font-size: 100%; /* 1 */
247 | line-height: 1.15; /* 1 */
248 | margin: 0; /* 2 */
249 | }
250 |
251 | /**
252 | * Show the overflow in IE.
253 | * 1. Show the overflow in Edge.
254 | */
255 |
256 | button,
257 | input { /* 1 */
258 | overflow: visible;
259 | }
260 |
261 | /**
262 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
263 | * 1. Remove the inheritance of text transform in Firefox.
264 | */
265 |
266 | button,
267 | select { /* 1 */
268 | text-transform: none;
269 | }
270 |
271 | /**
272 | * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
273 | * controls in Android 4.
274 | * 2. Correct the inability to style clickable types in iOS and Safari.
275 | */
276 |
277 | button,
278 | html [type="button"], /* 1 */
279 | [type="reset"],
280 | [type="submit"] {
281 | -webkit-appearance: button; /* 2 */
282 | }
283 |
284 | /**
285 | * Remove the inner border and padding in Firefox.
286 | */
287 |
288 | button::-moz-focus-inner,
289 | [type="button"]::-moz-focus-inner,
290 | [type="reset"]::-moz-focus-inner,
291 | [type="submit"]::-moz-focus-inner {
292 | border-style: none;
293 | padding: 0;
294 | }
295 |
296 | /**
297 | * Restore the focus styles unset by the previous rule.
298 | */
299 |
300 | button:-moz-focusring,
301 | [type="button"]:-moz-focusring,
302 | [type="reset"]:-moz-focusring,
303 | [type="submit"]:-moz-focusring {
304 | outline: 1px dotted ButtonText;
305 | }
306 |
307 | /**
308 | * Change the border, margin, and padding in all browsers (opinionated).
309 | */
310 |
311 | fieldset {
312 | border: 1px solid #c0c0c0;
313 | margin: 0 2px;
314 | padding: 0.35em 0.625em 0.75em;
315 | }
316 |
317 | /**
318 | * 1. Correct the text wrapping in Edge and IE.
319 | * 2. Correct the color inheritance from `fieldset` elements in IE.
320 | * 3. Remove the padding so developers are not caught out when they zero out
321 | * `fieldset` elements in all browsers.
322 | */
323 |
324 | legend {
325 | box-sizing: border-box; /* 1 */
326 | color: inherit; /* 2 */
327 | display: table; /* 1 */
328 | max-width: 100%; /* 1 */
329 | padding: 0; /* 3 */
330 | white-space: normal; /* 1 */
331 | }
332 |
333 | /**
334 | * 1. Add the correct display in IE 9-.
335 | * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
336 | */
337 |
338 | progress {
339 | display: inline-block; /* 1 */
340 | vertical-align: baseline; /* 2 */
341 | }
342 |
343 | /**
344 | * Remove the default vertical scrollbar in IE.
345 | */
346 |
347 | textarea {
348 | overflow: auto;
349 | }
350 |
351 | /**
352 | * 1. Add the correct box sizing in IE 10-.
353 | * 2. Remove the padding in IE 10-.
354 | */
355 |
356 | [type="checkbox"],
357 | [type="radio"] {
358 | box-sizing: border-box; /* 1 */
359 | padding: 0; /* 2 */
360 | }
361 |
362 | /**
363 | * Correct the cursor style of increment and decrement buttons in Chrome.
364 | */
365 |
366 | [type="number"]::-webkit-inner-spin-button,
367 | [type="number"]::-webkit-outer-spin-button {
368 | height: auto;
369 | }
370 |
371 | /**
372 | * 1. Correct the odd appearance in Chrome and Safari.
373 | * 2. Correct the outline style in Safari.
374 | */
375 |
376 | [type="search"] {
377 | -webkit-appearance: textfield; /* 1 */
378 | outline-offset: -2px; /* 2 */
379 | }
380 |
381 | /**
382 | * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
383 | */
384 |
385 | [type="search"]::-webkit-search-cancel-button,
386 | [type="search"]::-webkit-search-decoration {
387 | -webkit-appearance: none;
388 | }
389 |
390 | /**
391 | * 1. Correct the inability to style clickable types in iOS and Safari.
392 | * 2. Change font properties to `inherit` in Safari.
393 | */
394 |
395 | ::-webkit-file-upload-button {
396 | -webkit-appearance: button; /* 1 */
397 | font: inherit; /* 2 */
398 | }
399 |
400 | /* Interactive
401 | ========================================================================== */
402 |
403 | /*
404 | * Add the correct display in IE 9-.
405 | * 1. Add the correct display in Edge, IE, and Firefox.
406 | */
407 |
408 | details, /* 1 */
409 | menu {
410 | display: block;
411 | }
412 |
413 | /*
414 | * Add the correct display in all browsers.
415 | */
416 |
417 | summary {
418 | display: list-item;
419 | }
420 |
421 | /* Scripting
422 | ========================================================================== */
423 |
424 | /**
425 | * Add the correct display in IE 9-.
426 | */
427 |
428 | canvas {
429 | display: inline-block;
430 | }
431 |
432 | /**
433 | * Add the correct display in IE.
434 | */
435 |
436 | template {
437 | display: none;
438 | }
439 |
440 | /* Hidden
441 | ========================================================================== */
442 |
443 | /**
444 | * Add the correct display in IE 10-.
445 | */
446 |
447 | [hidden] {
448 | display: none;
449 | }
450 |
--------------------------------------------------------------------------------
/sphinx_typlog_theme/static/typlog.css:
--------------------------------------------------------------------------------
1 | :root{--color-blue:#03A9F4;--color-blue-alpha:rgba(3, 172, 244, 0.08);--color-green:#49C784;--color-yellow:#F7BA2A;--color-purple:#b37feb;--color-cyan:#36cfc9;--color-magenta:#f759ab;--color-red:#FF612F;--color-primary:#E8371A;--color-text:rgba(0, 0, 0, 0.68);--color-heading:rgba(0, 0, 0, 0.98);--color-code:#F55826;--color-autodoc-background:rgba(245,88,38,.05);--color-autodoc-border:rgba(245,88,38,.4);--font-english:"Roboto","Helvetica Neue","Helvetica";--font-cjk:"Hiragino Sans GB","Droid Sans Fallback","Microsoft YaHei";--font-text:var(--font-english),var(--font-cjk),sans-serif;--font-code:"Roboto Mono",Menlo,monospace;--code-background:rgba(0, 0, 0, .02);--code-alt-background:rgba(0, 0, 0, .03)}html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}.yue{line-height:1.62}.yue h1,.yue h2,.yue h3,.yue h4,.yue h5,.yue h6{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-text);color:var(--color-heading)}.yue h1{font-weight:700;font-size:1.8em;margin:.8em 0}.yue h2{font-weight:700;font-size:1.42em;margin:1.42em 0 .4em}.yue h3{font-size:1.17em;margin:1.62em 0 .4em}.yue h4,.yue h5,.yue h6{font-size:1em;margin:1.6em 0 .6em}.yue h6{font-weight:500}.yue p{margin-top:0;margin-bottom:1.02em;hyphens:auto}.yue a{color:var(--color-heading);word-wrap:break-word;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.26)}.yue a:hover{color:var(--color-primary);border-color:var(--color-primary);text-decoration:none}.yue h1 a,.yue h2 a,.yue h3 a{text-decoration:none}.yue b,.yue strong{-webkit-font-smoothing:antialiased;font-weight:700;color:rgba(0,0,0,.9)}.yue em,.yue i{font-style:italic;color:rgba(0,0,0,.9)}.yue img,.yue video{max-width:100%;height:auto;margin:.2em 0}.yue a img{border:none;vertical-align:middle}.yue figure{position:relative;clear:both;outline:0;margin:10px 0 30px;padding:0;min-height:100px}.yue figure img{display:block;max-width:100%;margin:0 auto;box-sizing:border-box}.yue figcaption{width:100%;text-align:center;left:0;margin-top:10px;font-weight:400;font-size:14px;color:rgba(0,0,0,.42)}.yue figcaption a{text-decoration:none;color:rgba(0,0,0,.42)}.yue hr{display:block;width:90%;max-width:100px;border:0;border-top:1px solid rgba(0,0,0,.04);margin:1.42em auto 1.84em}.yue blockquote{position:relative;padding:0 1em 0 2em;margin:1.2em 0;color:rgba(0,0,0,.68);border-left:6px solid rgba(0,0,0,.1)}.yue blockquote a{color:rgba(0,0,0,.68)}.yue ol,.yue ul{margin:0 0 24px 6px;padding-left:16px}.yue ul{list-style-type:square}.yue ol{list-style-type:decimal}.yue li{margin-bottom:.2em}.yue li ol,.yue li ul{margin-top:0;margin-bottom:0}.yue li ul{list-style-type:disc}.yue li ul ul{list-style-type:circle}.yue li p{margin:.4em 0 .6em}.yue code,.yue tt{background-color:rgba(220,220,220,.2);color:var(--color-code);font-size:.96em;padding:1px 4px;border-radius:2px;font-family:var(--font-code);word-wrap:break-word;hyphens:none}.yue pre{margin:1.4em 0;padding:1.2em;border:none;overflow:auto;line-height:1.5;font-size:.98em;font-family:var(--font-code);color:var(--color-text)}.yue pre code,.yue pre tt{color:rgba(0,0,0,.68);border:none;background:0 0;padding:0}.yue table{width:100%;max-width:100%;border-collapse:collapse;border-spacing:0;margin-bottom:1.5em;font-size:.96em;box-sizing:border-box}.yue iframe{display:block;max-width:100%;margin-bottom:30px}.yue figure iframe{margin:auto}.yue table pre{margin:0;padding:0;border:none;background:0 0}[lang^=en] .yue h1{font-weight:900}.yue table[border] td,.yue table[border] th{text-align:left;padding:6px 8px 6px 10px;border:1px solid #ddd}.yue table[border] td{vertical-align:top}.yue table[border] tr:nth-child(even){background-color:rgba(0,0,0,.01)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:400 16px/1.42 var(--font-text);color:var(--color-text)}img{max-width:100%;vertical-align:middle}h1,h2,h3,strong{color:var(--color-heading)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.clearfix:after,.inner:after,.section:after{display:table;content:'';clear:both}a>.std-ref{font-weight:700}.yue dd>p{margin-bottom:.86em}.yue table.citation{margin-bottom:10px}table.docutils td.label{width:1px;padding-right:.6em}.globaltoc{margin:20px 0}.globaltoc>p.caption{display:none}.rst-other-versions input[name="q"],body[data-page=search] input[name="q"]{border:2px solid rgba(0,0,0,.86);padding:0 10px;line-height:38px;outline:0;box-sizing:border-box}body[data-page=search] input[type=submit]{line-height:42px}#searchbox .input-group{display:flex;border:2px solid rgba(0,0,0,.86)}#searchbox .input-group>input[type=text]{flex-grow:1;outline:0;border:0;padding:.6em 10px}#searchbox .input-group>button,body[data-page=search] input[type=submit]{display:inline-block;padding:0 .8em;font-weight:700;text-transform:uppercase;text-decoration:none;color:#fff;background-color:rgba(0,0,0,.86);border:0;transition:background-color .1s;cursor:pointer;border-radius:0;outline:0}a.headerlink{margin-left:1px;color:rgba(0,0,0,.24);text-decoration:none;visibility:hidden;border-width:0;font-family:Georgia,serif}a.headerlink:hover{background-color:rgba(0,0,0,.02)}caption:hover>a.headerlink,div.code-block-caption:hover>a.headerlink,dt:hover>a.headerlink,h1:hover>a.headerlink,h2:hover>a.headerlink,h3:hover>a.headerlink,h4:hover>a.headerlink,h5:hover>a.headerlink,h6:hover>a.headerlink,p.caption:hover>a.headerlink{visibility:visible}a.toc-backref{border:0}.contents{display:inline-block;padding:16px 40px 16px 0;background:#f9f9f9;min-width:240px;font-size:13px;font-weight:500;border-radius:5px}.contents .topic-title{color:rgba(0,0,0,.4);padding-left:16px;margin-bottom:10px;text-transform:uppercase}.contents li>ul,.contents li>ul ul,.contents ul{list-style-type:none}.contents ul{margin:0}.contents li{margin-top:4px}.contents a{border-bottom:0;color:rgba(0,0,0,.5)}code.descclassname{padding:0;background-color:transparent}code.descname{font-weight:700;padding:0;background-color:transparent}dd{margin:4px 0 10px 2em}dd>table.field-list .field-name{display:block;font-size:.86em;color:var(--color-code);padding:0;text-align:left;text-transform:uppercase}dd>table.field-list .field-body{display:block;padding:0 0 0 1em}dl.class dt,dl.data dt,dl.exception dt,dl.function dt,dl.method dt{padding:5px;color:rgba(0,0,0,.4);border-top:2px solid var(--color-autodoc-border);background:var(--color-autodoc-background)}dl.class dt code,dl.data dt code,dl.exception dt code,dl.function dt code,dl.method dt code{color:var(--color-code)}dl.class dt>em,dl.data dt>em,dl.exception dt>em,dl.function dt>em,dl.method dt>em{font-size:.98em;color:rgba(0,0,0,.68)}.hlist td{vertical-align:top}p.centered{text-align:center}.admonition{position:relative;padding:40px 24px 18px 24px;margin:2em 0;border-left:4px solid #ddd;background-color:#f8f8f8}.admonition:before{position:absolute;content:'#';top:14px;left:-12px;color:#fff;width:20px;height:20px;border-radius:100%;background-color:#ddd;text-align:center;font:normal bold 14px/20px "Helvetica Neue",Arial,sans-serif}.admonition.tip:before{content:'T';font-size:12px}.admonition>.admonition-title{position:absolute;margin:0;top:12px;left:24px;font-size:.8em;color:rgba(0,0,0,.4);text-transform:uppercase}.admonition>.last{margin-bottom:0}.admonition.attention,.admonition.note{border-color:var(--color-blue);background-color:var(--color-blue-alpha)}.admonition.attention:before,.admonition.note:before{background-color:var(--color-blue)}.admonition.attention:before{content:'!'}.admonition.attention>.admonition-title,.admonition.note>.admonition-title{font-weight:700;color:var(--color-blue)}.admonition.caution,.admonition.warning{border-color:var(--color-yellow);background-color:rgba(247,186,42,.1)}.admonition.caution:before,.admonition.warning:before{content:'!';background-color:var(--color-yellow)}.admonition.caution>.admonition-title,.admonition.warning>.admonition-title{font-weight:700;color:var(--color-yellow)}.admonition.danger,.admonition.error{border-color:var(--color-red);background-color:rgba(255,92,47,.08)}.admonition.danger:before,.admonition.error:before{content:'!';background-color:var(--color-red)}.admonition.danger>.admonition-title,.admonition.error>.admonition-title{font-weight:700;color:var(--color-red)}.admonition.important{border-color:var(--color-purple);background-color:rgba(179,127,235,.1)}.admonition.important:before{background-color:var(--color-purple)}.admonition.important>.admonition-title{font-weight:700;color:var(--color-purple)}.admonition.hint{border-color:var(--color-cyan);background-color:rgba(8,151,156,.1)}.admonition.hint:before{background-color:var(--color-cyan)}.admonition.hint>.admonition-title{font-weight:700;color:var(--color-cyan)}.admonition.tip{border-color:var(--color-magenta);background-color:rgba(247,89,171,.1)}.admonition.tip:before{background-color:var(--color-magenta)}.admonition.tip>.admonition-title{font-weight:700;color:var(--color-magenta)}.versionmodified{color:rgba(0,0,0,.86);font-weight:700}.deprecated,.versionadded,.versionchanged{position:relative;padding:8px 24px;margin:1em 0;border-left:4px solid transparent}.deprecated:before,.versionadded:before,.versionchanged:before{position:absolute;content:'!';top:8px;left:-12px;color:#fff;width:20px;height:20px;border-radius:100%;text-align:center;font:normal bold 14px/20px "Helvetica Neue",Arial,sans-serif}.versionadded{border-color:var(--color-green);background-color:rgba(73,199,132,.08)}.versionadded:before{content:'#';background-color:var(--color-green)}.versionchanged{border-color:var(--color-yellow);background-color:rgba(247,186,42,.08)}.versionchanged:before{background-color:var(--color-yellow)}.deprecated{border-color:var(--color-red);background-color:rgba(255,92,47,.08)}.deprecated:before{background-color:var(--color-red)}.deprecated>p,.versionadded>p,.versionchanged>p{margin:0}.highlighted{padding:1px 4px;opacity:.6;color:#fff}.highlight,.highlighted,.highlighttable,.literal-block-wrapper{background-color:var(--code-background);margin:1.4em 0}.highlighted .highlight,.highlighttable .highlight,.literal-block-wrapper .highlight{background-color:transparent;margin:0}.highlight pre,.highlighttable .highlight,.literal-block-wrapper .highlight{margin:0}.literal-block-wrapper{position:relative}.literal-block-wrapper .code-block-caption{position:absolute;top:0;right:0;padding:2px 10px;border-radius:0 4px;color:rgba(0,0,0,.3);background-color:var(--code-alt-background)}.highlighttable .linenos{width:1px}.highlighttable .linenodiv{padding:10px 6px;text-align:right;background-color:var(--code-alt-background)}.highlighttable .linenodiv pre{color:rgba(0,0,0,.3)}.highlighttable .highlight{padding-left:10px}.injected .rst-versions.rst-badge{left:0;bottom:0;width:340px;max-width:100%;color:rgba(0,0,0,.68);background-color:#f7f7f7}.injected .rst-versions.rst-badge .rst-current-version{text-align:right;background-color:#eee}.injected .rst-versions.rst-badge .fa-book{float:left}.injected .rst-versions .rst-current-version .fa,.injected .rst-versions .rst-other-versions dd a{color:rgba(0,0,0,.68)}.injected .rst-versions .rst-other-versions hr{border-color:#ddd}@media (max-width:960px){.injected .rst-versions{transform:translate3d(-340px,0,0);transition:transform .2s ease}._expand .injected .rst-versions{transform:translate3d(0,0,0)}}.t-sidebar{position:fixed;z-index:10;top:0;left:0;bottom:0;background:#f9f9f9;border-right:1px solid #efefef;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:none}.t-sidebar .inner{width:260px;padding:20px 40px 40px}.t-sidebar a{text-decoration:none;color:#343;border-bottom:1px solid transparent}.t-sidebar a:hover{border-color:rgba(0,0,0,.1)}.t-sidebar h3{margin:1em 0 .2em;letter-spacing:-.06em;color:#252b31;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Hiragino Sans GB","Droid Sans Fallback","Microsoft YaHei",sans-serif}.t-sidebar h1>a,.t-sidebar h2>a,.t-sidebar h3>a{border-bottom-width:0}.t-sidebar ul{list-style-type:none;margin:0;padding:0}.t-sidebar li{margin-top:4px}.t-sidebar li>ul{padding-left:1em}.t-sidebar li>a{text-decoration:none;border-bottom-width:2px}.t-sidebar_close{display:none;position:absolute;right:10px;top:10px}.t-content{margin-left:340px;padding:20px 80px 0;overflow:hidden}.t-content>footer{font-size:.86em;color:#999;padding:20px 0}.t-content>footer:before{display:block;margin-bottom:1em;content:'';width:100px;border-top:4px solid rgba(0,0,0,.1)}.t-content>footer a{color:#666;text-decoration:underline}.t-head{display:none}.t-pagination{margin-top:1em;font-family:"Source Sans Pro","Helvetica Neue",Arial,sans-serif}.t-pagination a{border:0;font-weight:500}@media (max-width:960px){.t-sidebar{transform:translate3d(-341px,0,0);transition:transform .2s ease}._expand .t-sidebar{transform:translate3d(0,0,0);max-width:100%}._expand .t-sidebar_close{display:block}.t-content{padding:64px 20px 0;max-width:840px;margin:0 auto;box-sizing:border-box}.t-head{display:block;position:fixed;width:100%;padding:1em 20px;box-sizing:border-box;text-align:center;border-bottom:1px solid #efefef;background:#fff;z-index:9}.t-head_menu{position:absolute;top:1em;left:2em}.t-head_menu svg,.t-sidebar_close svg{width:30px;fill:#ccc}.t-head_logo{font-weight:600;color:var(--color-heading)}.t-head_logo:hover{text-decoration:none}.t-head_logo img{vertical-align:middle;margin-right:6px;width:30px;height:30px}.t-content :target::before{content:"";display:block;height:60px;margin:-60px 0 0}}a.logo{display:block;font-size:1.2em;font-weight:900;letter-spacing:1px;text-decoration:none;margin-bottom:1em;border:0}.logo img{vertical-align:middle;margin-right:6px;width:40px;height:40px}.logo_desc{margin:1em 0;color:rgba(0,0,0,.6)}.github_wrap{margin:1em 0}.github_wrap .github{display:inline-block;border:1px solid #d5d5d5;background-image:linear-gradient(to bottom,#fcfcfc 0,#eee 100%);padding:6px 14px;border-radius:5px}.github>span{display:inline-block;text-align:center;vertical-align:middle;line-height:1;font-size:14px;color:rgba(0,0,0,.5)}.github_icon{width:30px;height:30px;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjQwcHgiIGhlaWdodD0iNDBweCIgdmlld0JveD0iMTIgMTIgNDAgNDAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMTIgMTIgNDAgNDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIGZpbGw9IiMzMzMzMzMiIGQ9Ik0zMiAxMy40Yy0xMC41IDAtMTkgOC41LTE5IDE5YzAgOC40IDUuNSAxNS41IDEzIDE4YzEgMC4yIDEuMy0wLjQgMS4zLTAuOWMwLTAuNSAwLTEuNyAwLTMuMiBjLTUuMyAxLjEtNi40LTIuNi02LjQtMi42QzIwIDQxLjYgMTguOCA0MSAxOC44IDQxYy0xLjctMS4yIDAuMS0xLjEgMC4xLTEuMWMxLjkgMC4xIDIuOSAyIDIuOSAyYzEuNyAyLjkgNC41IDIuMSA1LjUgMS42IGMwLjItMS4yIDAuNy0yLjEgMS4yLTIuNmMtNC4yLTAuNS04LjctMi4xLTguNy05LjRjMC0yLjEgMC43LTMuNyAyLTUuMWMtMC4yLTAuNS0wLjgtMi40IDAuMi01YzAgMCAxLjYtMC41IDUuMiAyIGMxLjUtMC40IDMuMS0wLjcgNC44LTAuN2MxLjYgMCAzLjMgMC4yIDQuNyAwLjdjMy42LTIuNCA1LjItMiA1LjItMmMxIDIuNiAwLjQgNC42IDAuMiA1YzEuMiAxLjMgMiAzIDIgNS4xYzAgNy4zLTQuNSA4LjktOC43IDkuNCBjMC43IDAuNiAxLjMgMS43IDEuMyAzLjVjMCAyLjYgMCA0LjYgMCA1LjJjMCAwLjUgMC40IDEuMSAxLjMgMC45YzcuNS0yLjYgMTMtOS43IDEzLTE4LjFDNTEgMjEuOSA0Mi41IDEzLjQgMzIgMTMuNHoiLz48L3N2Zz4=);background-size:100% 100%;background-repeat:no-repeat}.github span>strong{display:block;font-size:16px}.github_stars{position:relative;margin:0 20px 0 10px}.github_stars:after{content:'';display:block;border-right:1px solid rgba(0,0,0,.2);height:12px;position:absolute;right:-14px;top:10px}.sponsors{margin:15px 0}.sponsor{background:rgba(0,0,0,.05);padding:15px;margin:5px 0;border-radius:4px}.sponsor:after{content:'';display:table;clear:both}.sponsor img{width:48px;vertical-align:middle}.sponsor>a.image{float:left;border-bottom:none}.sponsor>.text{overflow:hidden;padding-left:10px;vertical-align:middle;max-width:calc(100% - 60px)}.sponsor>.text>a{color:var(--color-heading);border-bottom:1px solid rgba(0,0,0,.26)}.sponsor>.text>a:hover{color:var(--color-primary)}.t-content .sponsor,.t-content .sponsor>.text{display:inline-block}.t-content .sponsor img{width:auto;height:40px}.t-content .sponsor>a.image{display:inline-block;float:none}.badge{display:inline-block;padding:3px 6px;min-width:3em;text-align:center;vertical-align:middle;background-color:#999;color:#fff;line-height:1;border-radius:2px;font-size:13px;opacity:.98;margin-right:4px;font-family:var(--font-code);user-select:none}.badge-one{font-size:12px;min-width:0;padding:4px 6px}.badge-todo,.badge-yellow{background-color:#f7ba2a}.badge-done,.badge-green{background-color:#49c784}.badge-blue,.badge-doing,.badge-plan{background-color:#03a9f4}.badge-red{background-color:#ff612f}.yue table.footnote{display:none}a.footnote-reference{display:inline-block;padding:0 4px;text-align:center;font-weight:700;font-size:8px;line-height:14px;border-bottom:0;background-color:rgba(0,0,0,.18);color:#fff;border-radius:3px;vertical-align:top;transition:all .1s ease}.t-body a.footnote-reference:hover{color:#fff;background-color:rgba(0,0,0,.8)}#typlog-footnote-mask{display:none;-webkit-tap-highlight-color:transparent}#typlog-footnote-mask._active{display:block;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9}#typlog-footnote-content,#typlog-footnote-content a[href^="#fnref"]{display:none}#typlog-footnote-content._active{display:block;font-size:.86em;color:rgba(0,0,0,.68);position:absolute;z-index:10;width:100%;max-width:560px;margin-top:20px;background:#fff;padding:20px;box-sizing:border-box;box-shadow:0 0 10px 1px rgba(0,0,0,.16)}@media (min-width:560px){#typlog-footnote-content._active{border-radius:3px}}.highlight{color:#586e75}.highlight .hll{font-weight:700}.highlight .c{color:#93a1a1}.highlight .err{color:#586e75}.highlight .g{color:#586e75}.highlight .k{color:#859900}.highlight .l{color:#586e75}.highlight .n{color:#586e75}.highlight .o{color:#859900}.highlight .x{color:#cb4b16}.highlight .p{color:#586e75}.highlight .cm{color:#93a1a1}.highlight .cp{color:#859900}.highlight .c1{color:#93a1a1}.highlight .cs{color:#859900}.highlight .gd{color:#2aa198}.highlight .ge{color:#586e75;font-style:italic}.highlight .gr{color:#dc322f}.highlight .gh{color:#cb4b16}.highlight .gi{color:#859900}.highlight .go{color:#586e75}.highlight .gp{color:#586e75}.highlight .gs{color:#586e75;font-weight:700}.highlight .gu{color:#cb4b16}.highlight .gt{color:#586e75}.highlight .kc{color:#cb4b16}.highlight .kd{color:#268bd2}.highlight .kn{color:#859900}.highlight .kp{color:#859900}.highlight .kr{color:#268bd2}.highlight .kt{color:#dc322f}.highlight .ld{color:#586e75}.highlight .m{color:#2aa198}.highlight .s{color:#2aa198}.highlight .na{color:#586e75}.highlight .nb{color:#b58900}.highlight .nc{color:#268bd2}.highlight .no{color:#cb4b16}.highlight .nd{color:#268bd2}.highlight .ni{color:#cb4b16}.highlight .ne{color:#cb4b16}.highlight .nf{color:#268bd2}.highlight .nl{color:#586e75}.highlight .nn{color:#586e75}.highlight .nx{color:#586e75}.highlight .py{color:#586e75}.highlight .nt{color:#268bd2}.highlight .nv{color:#268bd2}.highlight .ow{color:#859900}.highlight .w{color:#586e75}.highlight .mf{color:#2aa198}.highlight .mh{color:#2aa198}.highlight .mi{color:#2aa198}.highlight .mo{color:#2aa198}.highlight .sb{color:#93a1a1}.highlight .sc{color:#2aa198}.highlight .sd{color:#586e75}.highlight .s2{color:#2aa198}.highlight .se{color:#cb4b16}.highlight .sh{color:#586e75}.highlight .si{color:#2aa198}.highlight .sx{color:#2aa198}.highlight .sr{color:#dc322f}.highlight .s1{color:#2aa198}.highlight .ss{color:#2aa198}.highlight .bp{color:#268bd2}.highlight .vc{color:#268bd2}.highlight .vg{color:#268bd2}.highlight .vi{color:#268bd2}.highlight .il{color:#2aa198}
--------------------------------------------------------------------------------