instaui 0.1.4__py3-none-any.whl → 0.1.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. instaui/arco/__init__.py +191 -0
  2. instaui/arco/_settings.py +25 -0
  3. instaui/arco/_use_tools/locale.py +50 -0
  4. instaui/arco/component_types.py +1019 -0
  5. instaui/arco/components/_utils.py +22 -0
  6. instaui/arco/components/affix.py +29 -0
  7. instaui/arco/components/alert.py +42 -0
  8. instaui/arco/components/anchor.py +42 -0
  9. instaui/arco/components/auto_complete.py +96 -0
  10. instaui/arco/components/avatar.py +55 -0
  11. instaui/arco/components/back_top.py +14 -0
  12. instaui/arco/components/badge.py +14 -0
  13. instaui/arco/components/breadcrumb.py +14 -0
  14. instaui/arco/components/button.py +43 -0
  15. instaui/arco/components/calendar.py +47 -0
  16. instaui/arco/components/card.py +14 -0
  17. instaui/arco/components/carousel.py +33 -0
  18. instaui/arco/components/cascader.py +111 -0
  19. instaui/arco/components/checkbox.py +32 -0
  20. instaui/arco/components/collapse.py +31 -0
  21. instaui/arco/components/color_picker.py +45 -0
  22. instaui/arco/components/comment.py +14 -0
  23. instaui/arco/components/config_provider.py +13 -0
  24. instaui/arco/components/date_picker.py +111 -0
  25. instaui/arco/components/descriptions.py +14 -0
  26. instaui/arco/components/divider.py +13 -0
  27. instaui/arco/components/drawer.py +98 -0
  28. instaui/arco/components/dropdown.py +45 -0
  29. instaui/arco/components/empty.py +14 -0
  30. instaui/arco/components/form.py +55 -0
  31. instaui/arco/components/icon.py +17 -0
  32. instaui/arco/components/image.py +33 -0
  33. instaui/arco/components/input.py +102 -0
  34. instaui/arco/components/input_number.py +97 -0
  35. instaui/arco/components/input_password.py +38 -0
  36. instaui/arco/components/input_search.py +37 -0
  37. instaui/arco/components/input_tag.py +110 -0
  38. instaui/arco/components/layout.py +13 -0
  39. instaui/arco/components/layout_content.py +6 -0
  40. instaui/arco/components/layout_footer.py +6 -0
  41. instaui/arco/components/layout_header.py +6 -0
  42. instaui/arco/components/layout_sider.py +53 -0
  43. instaui/arco/components/link.py +36 -0
  44. instaui/arco/components/list.py +68 -0
  45. instaui/arco/components/mention.py +97 -0
  46. instaui/arco/components/menu.py +88 -0
  47. instaui/arco/components/modal.py +97 -0
  48. instaui/arco/components/overflow_list.py +29 -0
  49. instaui/arco/components/page_header.py +29 -0
  50. instaui/arco/components/pagination.py +45 -0
  51. instaui/arco/components/pop_confirm.py +58 -0
  52. instaui/arco/components/popover.py +32 -0
  53. instaui/arco/components/progress.py +14 -0
  54. instaui/arco/components/radio.py +40 -0
  55. instaui/arco/components/radio_group.py +42 -0
  56. instaui/arco/components/rate.py +45 -0
  57. instaui/arco/components/resize_box.py +62 -0
  58. instaui/arco/components/result.py +14 -0
  59. instaui/arco/components/select.py +179 -0
  60. instaui/arco/components/skeleton.py +14 -0
  61. instaui/arco/components/slider.py +38 -0
  62. instaui/arco/components/space.py +14 -0
  63. instaui/arco/components/spin.py +14 -0
  64. instaui/arco/components/split.py +76 -0
  65. instaui/arco/components/statistic.py +14 -0
  66. instaui/arco/components/steps.py +32 -0
  67. instaui/arco/components/switch.py +57 -0
  68. instaui/arco/components/tab_pane.py +12 -0
  69. instaui/arco/components/table.py +276 -0
  70. instaui/arco/components/tabs.py +101 -0
  71. instaui/arco/components/tag.py +42 -0
  72. instaui/arco/components/textarea.py +84 -0
  73. instaui/arco/components/time_picker.py +76 -0
  74. instaui/arco/components/timeline.py +14 -0
  75. instaui/arco/components/tooltip.py +29 -0
  76. instaui/arco/components/transfer.py +58 -0
  77. instaui/arco/components/tree.py +120 -0
  78. instaui/arco/components/tree_select.py +86 -0
  79. instaui/arco/components/trigger.py +58 -0
  80. instaui/arco/components/typography.py +142 -0
  81. instaui/arco/components/upload.py +71 -0
  82. instaui/arco/components/verification_code.py +58 -0
  83. instaui/arco/components/watermark.py +14 -0
  84. instaui/arco/locales/__init__.py +4 -0
  85. instaui/arco/locales/_index.py +31 -0
  86. instaui/arco/locales/en_us.py +227 -0
  87. instaui/arco/locales/zh_cn.py +224 -0
  88. instaui/arco/setup.py +36 -0
  89. instaui/arco/static/instaui-arco.css +1 -0
  90. instaui/arco/static/instaui-arco.js +55771 -0
  91. instaui/arco/types.py +24 -0
  92. instaui/components/column.py +10 -2
  93. instaui/components/echarts/echarts.js +128 -0
  94. instaui/components/echarts/echarts.py +194 -0
  95. instaui/components/echarts/static/echarts.esm.min.js +45 -0
  96. instaui/components/element.py +50 -6
  97. instaui/components/grid.py +81 -0
  98. instaui/components/html/__init__.py +30 -19
  99. instaui/components/html/_preset.py +4 -0
  100. instaui/components/html/heading.py +51 -0
  101. instaui/components/html/range.py +3 -0
  102. instaui/components/html/select.py +13 -31
  103. instaui/components/html/table.py +36 -0
  104. instaui/components/markdown/static/github-markdown.css +1 -1
  105. instaui/components/markdown/static/marked.esm.js +0 -1
  106. instaui/components/row.py +8 -7
  107. instaui/components/shiki_code/shiki_code.js +126 -0
  108. instaui/components/shiki_code/shiki_code.py +99 -0
  109. instaui/components/shiki_code/static/langs/css.mjs +5 -0
  110. instaui/components/shiki_code/static/langs/markdown.mjs +5 -0
  111. instaui/components/shiki_code/static/langs/python.mjs +5 -0
  112. instaui/components/shiki_code/static/langs/shell.mjs +2 -0
  113. instaui/components/shiki_code/static/langs/shellscript.mjs +5 -0
  114. instaui/components/shiki_code/static/shiki-core.js +5784 -0
  115. instaui/components/shiki_code/static/shiki-style.css +179 -0
  116. instaui/components/shiki_code/static/shiki-transformers.js +461 -0
  117. instaui/components/shiki_code/static/themes/vitesse-dark.mjs +2 -0
  118. instaui/components/shiki_code/static/themes/vitesse-light.mjs +2 -0
  119. instaui/components/value_element.py +7 -3
  120. instaui/consts.py +2 -1
  121. instaui/event/js_event.py +1 -0
  122. instaui/event/web_event.py +6 -7
  123. instaui/experimental/link_sql/__init__.py +3 -0
  124. instaui/experimental/link_sql/_base.py +23 -0
  125. instaui/experimental/link_sql/_duckdb.py +221 -0
  126. instaui/experimental/link_sql/_types.py +15 -0
  127. instaui/experimental/link_sql/data_source.js +50 -0
  128. instaui/fastapi_server/debug_mode_router.py +1 -1
  129. instaui/fastapi_server/server.py +4 -12
  130. instaui/handlers/event_handler.py +3 -1
  131. instaui/handlers/watch_handler.py +4 -0
  132. instaui/html_tools.py +41 -4
  133. instaui/runtime/_app.py +37 -3
  134. instaui/runtime/_link_manager.py +89 -0
  135. instaui/runtime/resource.py +19 -9
  136. instaui/runtime/scope.py +28 -7
  137. instaui/shadcn_classless/_index.py +42 -0
  138. instaui/shadcn_classless/static/shadcn-classless.css +403 -0
  139. instaui/static/insta-ui.css +1 -1
  140. instaui/static/insta-ui.esm-browser.prod.js +3663 -3658
  141. instaui/static/insta-ui.js.map +1 -1
  142. instaui/static/instaui-tools-browser.js +511 -0
  143. instaui/static/templates/debug/sse.html +1 -1
  144. instaui/static/templates/webview.html +78 -0
  145. instaui/tailwind/__init__.py +6 -0
  146. instaui/tailwind/_index.py +24 -0
  147. instaui/{static/tailwindcss.min.js → tailwind/static/tailwindcss-v3.min.js} +62 -62
  148. instaui/tailwind/static/tailwindcss-v4.min.js +8 -0
  149. instaui/template/_utils.py +23 -0
  150. instaui/template/webview_template.py +50 -0
  151. instaui/ui/__init__.py +8 -2
  152. instaui/ui/__init__.pyi +7 -1
  153. instaui/ui_functions/ui_page.py +1 -1
  154. instaui/vars/data.py +7 -7
  155. instaui/vars/element_ref.py +2 -4
  156. instaui/vars/event_context.py +4 -0
  157. instaui/vars/js_computed.py +6 -8
  158. instaui/vars/ref.py +6 -6
  159. instaui/vars/vue_computed.py +6 -7
  160. instaui/vars/web_computed.py +31 -32
  161. instaui/watch/vue_watch.py +23 -7
  162. instaui/watch/web_watch.py +5 -6
  163. instaui/webview/__init__.py +1 -0
  164. instaui/webview/_utils.py +8 -0
  165. instaui/webview/api.py +72 -0
  166. instaui/webview/func.py +114 -0
  167. instaui/webview/index.py +162 -0
  168. instaui/webview/resource.py +172 -0
  169. instaui/zero/func.py +19 -12
  170. instaui/zero/scope.py +29 -28
  171. {instaui-0.1.4.dist-info → instaui-0.1.6.dist-info}/METADATA +6 -2
  172. instaui-0.1.6.dist-info/RECORD +286 -0
  173. instaui/components/highlight_code/code.js +0 -63
  174. instaui/components/highlight_code/code.py +0 -117
  175. instaui/components/highlight_code/static/core.min.js +0 -307
  176. instaui/components/highlight_code/static/languages/css.min.js +0 -31
  177. instaui/components/highlight_code/static/languages/javascript.min.js +0 -81
  178. instaui/components/highlight_code/static/languages/json.min.js +0 -8
  179. instaui/components/highlight_code/static/languages/python-repl.min.js +0 -5
  180. instaui/components/highlight_code/static/languages/python.min.js +0 -42
  181. instaui/components/highlight_code/static/languages/shell.min.js +0 -5
  182. instaui/components/highlight_code/static/styles/default.min.css +0 -9
  183. instaui/components/highlight_code/static/styles/github-dark-dimmed.min.css +0 -9
  184. instaui/components/highlight_code/static/styles/github-dark.min.css +0 -10
  185. instaui/components/highlight_code/static/styles/github.min.css +0 -10
  186. instaui/daisyui/__init__.py +0 -20
  187. instaui/daisyui/_index.py +0 -15
  188. instaui/daisyui/button.py +0 -38
  189. instaui/daisyui/checkbox.py +0 -17
  190. instaui/daisyui/static/daisyui.css +0 -1
  191. instaui/daisyui/static/themes.css +0 -1
  192. instaui/handlers/computed_handler.py +0 -42
  193. instaui/handlers/config_handler.py +0 -13
  194. instaui/ui/__build_init.py +0 -73
  195. instaui/vars/_utils.py +0 -12
  196. instaui-0.1.4.dist-info/RECORD +0 -179
  197. {instaui-0.1.4.dist-info → instaui-0.1.6.dist-info}/LICENSE +0 -0
  198. {instaui-0.1.4.dist-info → instaui-0.1.6.dist-info}/WHEEL +0 -0
@@ -7,6 +7,7 @@ from pathlib import Path
7
7
  import re
8
8
  from typing import (
9
9
  Any,
10
+ Callable,
10
11
  Dict,
11
12
  Iterable,
12
13
  List,
@@ -358,17 +359,58 @@ class Element(Component):
358
359
  *,
359
360
  css: Optional[Iterable[Path]] = None,
360
361
  externals: Optional[Dict[str, Path]] = None,
362
+ replace: bool = False,
361
363
  ):
362
364
  if not self.dependency:
363
365
  return
364
366
 
367
+ app = get_app_slot()
368
+ dep = self.dependency.copy()
369
+ if replace:
370
+ dep.css.clear()
371
+ dep.externals.clear()
372
+
365
373
  if css:
366
- self.dependency.css.update(css)
374
+ dep.css.update(css)
367
375
 
368
376
  if externals:
369
- self.dependency.externals.update(externals)
377
+ dep.externals.update(externals)
378
+
379
+ app.add_temp_component_dependency(dep)
380
+
381
+ def use(self, *use_fns: Callable[[Self], None]) -> Self:
382
+ """Use functions to the component object.
370
383
 
371
- get_app_slot().use_component_dependency(self.dependency.copy(), replace=True)
384
+ Args:
385
+ use_fns (Callable[[Self], None]): The list of use functions.
386
+
387
+ Examples:
388
+ .. code-block:: python
389
+ def use_red_color(element: html.paragraph):
390
+ element.style('color: red')
391
+
392
+ html.paragraph('Hello').use(use_red_color)
393
+ """
394
+
395
+ for fn in use_fns:
396
+ fn(self)
397
+ return self
398
+
399
+ @classmethod
400
+ def use_init(cls, init_fn: Callable[[type[Self]], Self]) -> Self:
401
+ """Use this method to initialize the component.
402
+
403
+ Args:
404
+ init_fn (Callable[[type[Self]], Self]): The initialization function.
405
+
406
+ Examples:
407
+ .. code-block:: python
408
+ def fack_init(cls: type[html.table]) -> html.table:
409
+ return cls(columns=['name', 'age'],rows = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}])
410
+
411
+ ui.table.use_init(fack_init)
412
+ """
413
+ return init_fn(cls)
372
414
 
373
415
  def _to_json_dict(self):
374
416
  data = super()._to_json_dict()
@@ -420,12 +462,14 @@ class Element(Component):
420
462
  data["dir"] = list(self._directives.keys())
421
463
 
422
464
  if self.dependency:
423
- get_app_slot().use_component_dependency(self.dependency)
465
+ app_slot = get_app_slot()
466
+ tag_name = self.dependency.tag_name
467
+ app_slot.use_component_dependency(
468
+ app_slot.get_temp_component_dependency(tag_name, self.dependency)
469
+ )
424
470
 
425
471
  if self._element_ref:
426
472
  scope = get_current_scope()
427
- id = scope.generate_element_ref_id()
428
- self._element_ref._set_id(id)
429
473
  data["eRef"] = self._element_ref._to_element_config()
430
474
  scope.register_element_ref(self._element_ref)
431
475
 
@@ -16,9 +16,50 @@ _T = TypeVar("_T")
16
16
  class Grid(Element):
17
17
  def __init__(
18
18
  self,
19
+ *,
19
20
  rows: Optional[TMaybeRef[Union[int, str]]] = None,
20
21
  columns: Optional[TMaybeRef[Union[int, str]]] = None,
22
+ template: Optional[TMaybeRef[str]] = None,
21
23
  ):
24
+ '''Grid component
25
+
26
+ Args:
27
+ rows (Optional[TMaybeRef[Union[int, str]]], optional): Number of rows or template for rows. Defaults to None.
28
+ columns (Optional[TMaybeRef[Union[int, str]]], optional): Number of columns or template for columns. Defaults to None.
29
+ template (Optional[TMaybeRef[str]], optional): Template for grid. Defaults to None.
30
+
31
+ # Example:
32
+ columns example:
33
+ .. code-block:: python
34
+ border = "border-2 border-gray-200"
35
+
36
+ with ui.grid(columns=2).classes("h-[200px]").classes(border) as g:
37
+
38
+ # a in the first row and first column
39
+ html.paragraph("a value").classes(border)
40
+ # b in the first row and second column
41
+ html.paragraph("b value").classes(border)
42
+
43
+ # c in the second row and span over 2 columns
44
+ html.paragraph("c value").use(
45
+ g.mark_area_position(column_span=2)
46
+ ).classes(border)
47
+
48
+ template areas example:
49
+ .. code-block:: python
50
+ border = "border-2 border-gray-200"
51
+
52
+ template = r"""
53
+ "a b c" 1fr
54
+ "a b ." 2fr / 1fr 1fr 2fr
55
+ """
56
+
57
+ with ui.grid(template=template).classes("h-[200px]").classes(border) as g:
58
+ html.paragraph("a value").use(g.mark_area("a")).classes(border)
59
+ html.paragraph("b value").use(g.mark_area("b")).classes(border)
60
+ html.paragraph("c value").use(g.mark_area("c")).classes(border)
61
+ '''
62
+
22
63
  super().__init__("div")
23
64
  self.style("display: grid;")
24
65
 
@@ -40,6 +81,46 @@ class Grid(Element):
40
81
 
41
82
  self.style({"grid-template-columns": columns})
42
83
 
84
+ if template is not None:
85
+ self.style({"grid-template": template})
86
+
87
+ def mark_area(self, area: TMaybeRef[str]):
88
+ """Marks an area in the grid
89
+
90
+ Args:
91
+ area (TMaybeRef[str]): Area name
92
+
93
+ """
94
+
95
+ def use_fn(element: Element):
96
+ element.style({"grid-area": area})
97
+
98
+ return use_fn
99
+
100
+ def mark_area_position(
101
+ self,
102
+ *,
103
+ row: Optional[int] = None,
104
+ column: Optional[int] = None,
105
+ row_span: Optional[int] = None,
106
+ column_span: Optional[int] = None,
107
+ ):
108
+ """Marks an area in the grid with position
109
+
110
+ Args:
111
+ row (Optional[int], optional): Start position of row, 1-based. Defaults to None.
112
+ column (Optional[int], optional): Start position of column, 1-based. Defaults to None.
113
+ row_span (Optional[int], optional): The span value at the end of the row. Defaults to None.
114
+ column_span (Optional[int], optional): The span value at the end of the column. Defaults to None.
115
+ """
116
+ real_row = "auto" if row is None else row
117
+ real_column = "auto" if column is None else column
118
+ real_row_span = "auto" if row_span is None else f"span {row_span}"
119
+ real_column_span = "auto" if column_span is None else f"span {column_span}"
120
+
121
+ area = f"{real_row} / {real_column} / {real_row_span} / {real_column_span}"
122
+ return self.mark_area(area)
123
+
43
124
  @classmethod
44
125
  def auto_columns(
45
126
  cls,
@@ -1,22 +1,3 @@
1
- from .span import Span as span
2
- from .label import Label as label
3
- from .paragraph import Paragraph as paragraph
4
- from .input import Input as input
5
- from .number import Number as number
6
- from .button import Button as button
7
- from .checkbox import Checkbox as checkbox
8
- from .form import Form as form
9
- from .select import Select as select
10
- from .ul import Ul as ul
11
- from .li import Li as li
12
- from .div import Div as div
13
- from .range import Range as range
14
- from .date import Date as date
15
- from .link import Link as link
16
- from .textarea import Textarea as textarea
17
-
18
- option = select.Option
19
-
20
1
  __all__ = [
21
2
  "span",
22
3
  "label",
@@ -35,4 +16,34 @@ __all__ = [
35
16
  "date",
36
17
  "link",
37
18
  "textarea",
19
+ "table",
20
+ "h1",
21
+ "h2",
22
+ "h3",
23
+ "h4",
24
+ "h5",
25
+ "h6",
38
26
  ]
27
+
28
+ from .span import Span as span
29
+ from .label import Label as label
30
+ from .paragraph import Paragraph as paragraph
31
+ from .input import Input as input
32
+ from .number import Number as number
33
+ from .button import Button as button
34
+ from .checkbox import Checkbox as checkbox
35
+ from .form import Form as form
36
+ from .select import Select as select
37
+ from .ul import Ul as ul
38
+ from .li import Li as li
39
+ from .div import Div as div
40
+ from .range import Range as range
41
+ from .date import Date as date
42
+ from .link import Link as link
43
+ from .textarea import Textarea as textarea
44
+ from .table import Table as table
45
+ from .heading import H1 as h1, H2 as h2, H3 as h3, H4 as h4, H5 as h5, H6 as h6
46
+
47
+ option = select.Option
48
+
49
+ from . import _preset # noqa: E402, F401
@@ -0,0 +1,4 @@
1
+ from instaui.shadcn_classless._index import use_shadcn_classless
2
+
3
+
4
+ use_shadcn_classless()
@@ -0,0 +1,51 @@
1
+ from __future__ import annotations
2
+ from typing import TYPE_CHECKING, Any, Literal, Union
3
+ from instaui.components.element import Element
4
+
5
+ if TYPE_CHECKING:
6
+ import instaui.vars as ui_vars
7
+
8
+
9
+ class Heading(Element):
10
+ def __init__(
11
+ self,
12
+ text: Union[str, ui_vars.TMaybeRef[Any]],
13
+ *,
14
+ level: Literal[1, 2, 3, 4, 5, 6] = 1,
15
+ ):
16
+ super().__init__(f"h{level}")
17
+ self.props(
18
+ {
19
+ "innerText": text,
20
+ }
21
+ )
22
+
23
+
24
+ class H1(Heading):
25
+ def __init__(self, text: Union[str, ui_vars.TMaybeRef[Any]]):
26
+ super().__init__(text, level=1)
27
+
28
+
29
+ class H2(Heading):
30
+ def __init__(self, text: Union[str, ui_vars.TMaybeRef[Any]]):
31
+ super().__init__(text, level=2)
32
+
33
+
34
+ class H3(Heading):
35
+ def __init__(self, text: Union[str, ui_vars.TMaybeRef[Any]]):
36
+ super().__init__(text, level=3)
37
+
38
+
39
+ class H4(Heading):
40
+ def __init__(self, text: Union[str, ui_vars.TMaybeRef[Any]]):
41
+ super().__init__(text, level=4)
42
+
43
+
44
+ class H5(Heading):
45
+ def __init__(self, text: Union[str, ui_vars.TMaybeRef[Any]]):
46
+ super().__init__(text, level=5)
47
+
48
+
49
+ class H6(Heading):
50
+ def __init__(self, text: Union[str, ui_vars.TMaybeRef[Any]]):
51
+ super().__init__(text, level=6)
@@ -17,6 +17,7 @@ class Range(InputEventMixin, ValueElement[_T_value]):
17
17
  *,
18
18
  min: Union[_T_value, TMaybeRef[_T_value], None] = None,
19
19
  max: Union[_T_value, TMaybeRef[_T_value], None] = None,
20
+ step: Union[_T_value, TMaybeRef[_T_value], None] = None,
20
21
  ):
21
22
  super().__init__("input", value, is_html_component=True)
22
23
  self.props({"type": "range"})
@@ -25,6 +26,8 @@ class Range(InputEventMixin, ValueElement[_T_value]):
25
26
  self.props({"min": min})
26
27
  if max is not None:
27
28
  self.props({"max": max})
29
+ if step is not None:
30
+ self.props({"step": step})
28
31
 
29
32
  def vmodel(
30
33
  self,
@@ -1,71 +1,53 @@
1
1
  from __future__ import annotations
2
2
  from typing import (
3
3
  TYPE_CHECKING,
4
- Any,
5
4
  Callable,
6
5
  Dict,
7
6
  List,
8
- Literal,
9
7
  Optional,
10
8
  Union,
11
9
  overload,
12
10
  )
13
11
  from typing_extensions import Self
14
-
15
- from instaui.vars import Ref
16
12
  from instaui.components.value_element import ValueElement
17
13
  from instaui.components.element import Element
14
+ from instaui.event.event_mixin import EventMixin
18
15
  from instaui.vars.types import TMaybeRef
19
16
  from instaui.components.vfor import VFor
20
17
 
21
- if TYPE_CHECKING:
22
- import instaui.vars as ui_vars
23
-
24
-
25
18
  _T_Select_Value = Union[List[str], str]
26
19
 
27
20
 
28
21
  class Select(ValueElement[Union[List[str], str]]):
29
22
  def __init__(
30
23
  self,
31
- value: Union[_T_Select_Value, ui_vars.TMaybeRef[_T_Select_Value], None] = None,
24
+ value: Union[_T_Select_Value, TMaybeRef[_T_Select_Value], None] = None,
32
25
  *,
33
- model_value: Union[str, ui_vars.TMaybeRef[str], None] = None,
26
+ model_value: Union[str, TMaybeRef[str], None] = None,
34
27
  ):
35
28
  super().__init__("select", value, is_html_component=True)
36
29
 
37
30
  if model_value is not None:
38
31
  self.props({"value": model_value})
39
32
 
40
- @overload
41
- def on_change(self, handler: Callable, *, key: Optional[str] = None) -> Self: ...
42
-
43
- @overload
44
33
  def on_change(
45
34
  self,
46
- handler: str,
35
+ handler: EventMixin,
47
36
  *,
48
- bindings: Optional[Dict] = None,
49
- key: Optional[str] = None,
50
- ) -> Self: ...
51
-
52
- def on_change(
53
- self,
54
- handler: Union[Callable, str],
55
- *,
56
- bindings: Optional[Dict] = None,
57
- key: Optional[str] = None,
37
+ extends: Optional[List] = None,
58
38
  ):
59
- self.on("change", handler, bindings=bindings, key=key) # type: ignore
39
+ self.on("change", handler)
60
40
  return self
61
41
 
62
42
  @classmethod
63
43
  def from_list(
64
44
  cls,
65
45
  options: TMaybeRef[List],
66
- value: Union[_T_Select_Value, ui_vars.TMaybeRef[_T_Select_Value], None] = None,
46
+ value: Union[_T_Select_Value, TMaybeRef[_T_Select_Value], None] = None,
47
+ *,
48
+ model_value: Union[str, TMaybeRef[str], None] = None,
67
49
  ) -> Select:
68
- with cls(value) as select:
50
+ with cls(value, model_value=model_value) as select:
69
51
  with VFor(options) as item:
70
52
  Select.Option(item) # type: ignore
71
53
 
@@ -74,9 +56,9 @@ class Select(ValueElement[Union[List[str], str]]):
74
56
  class Option(Element):
75
57
  def __init__(
76
58
  self,
77
- text: Optional[ui_vars.TMaybeRef[str]] = None,
78
- value: Optional[ui_vars.TMaybeRef[str]] = None,
79
- disabled: Optional[ui_vars.TMaybeRef[bool]] = None,
59
+ text: Optional[TMaybeRef[str]] = None,
60
+ value: Optional[TMaybeRef[str]] = None,
61
+ disabled: Optional[TMaybeRef[bool]] = None,
80
62
  ):
81
63
  props = {
82
64
  key: value
@@ -0,0 +1,36 @@
1
+ from __future__ import annotations
2
+ from typing import TYPE_CHECKING, Any, List, Optional, Union
3
+ from instaui.components.element import Element
4
+ from instaui.components.content import Content
5
+ from instaui.components.vfor import VFor
6
+
7
+ if TYPE_CHECKING:
8
+ import instaui.vars as ui_vars
9
+
10
+
11
+ class Table(Element):
12
+ def __init__(
13
+ self,
14
+ columns: Union[List[str], ui_vars.TMaybeRef[List[str]], None] = None,
15
+ rows: Union[List[List[Any]], ui_vars.TMaybeRef[List[List[Any]]], None] = None,
16
+ ):
17
+ """Create a table element.
18
+
19
+ Args:
20
+ columns (Union[List[str], ui_vars.TMaybeRef[List[str]], None], optional): A list of column headers or a reactive reference to such a list. Defaults to None.
21
+ rows (Union[List[List[Any]], ui_vars.TMaybeRef[List[List[Any]]], None], optional): A list of row data, where each row is a list of cell values, or a reactive reference to such a list. Defaults to None.
22
+ """
23
+ super().__init__("table")
24
+
25
+ with self:
26
+ with Element("thead"), Element("tr"):
27
+ with VFor(columns) as col: # type: ignore
28
+ with Element("th"):
29
+ Content(col)
30
+
31
+ with Element("tbody"):
32
+ with VFor(rows) as row: # type: ignore
33
+ with Element("tr"):
34
+ with VFor(row) as cell: # type: ignore
35
+ with Element("td"):
36
+ Content(cell)
@@ -9,4 +9,4 @@ The above copyright notice and this permission notice shall be included in all c
9
9
 
10
10
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
11
11
  */
12
- .github-md-dark.markdown-body{color-scheme:dark;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:#f0f6fc;background-color:#0d1117;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.github-md-dark.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.github-md-dark.markdown-body h1:hover .anchor .octicon-link:before,.github-md-dark.markdown-body h2:hover .anchor .octicon-link:before,.github-md-dark.markdown-body h3:hover .anchor .octicon-link:before,.github-md-dark.markdown-body h4:hover .anchor .octicon-link:before,.github-md-dark.markdown-body h5:hover .anchor .octicon-link:before,.github-md-dark.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:' ';display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.github-md-dark.markdown-body details,.github-md-dark.markdown-body figcaption,.github-md-dark.markdown-body figure{display:block}.github-md-dark.markdown-body summary{display:list-item}.github-md-dark.markdown-body [hidden]{display:none!important}.github-md-dark.markdown-body a{background-color:transparent;color:#4493f8;text-decoration:none}.github-md-dark.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.github-md-dark.markdown-body b,.github-md-dark.markdown-body strong{font-weight:600}.github-md-dark.markdown-body dfn{font-style:italic}.github-md-dark.markdown-body h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid #3d444db3}.github-md-dark.markdown-body mark{background-color:#bb800926;color:#f0f6fc}.github-md-dark.markdown-body small{font-size:90%}.github-md-dark.markdown-body sub,.github-md-dark.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.github-md-dark.markdown-body sub{bottom:-.25em}.github-md-dark.markdown-body sup{top:-.5em}.github-md-dark.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.github-md-dark.markdown-body code,.github-md-dark.markdown-body kbd,.github-md-dark.markdown-body pre,.github-md-dark.markdown-body samp{font-family:monospace;font-size:1em}.github-md-dark.markdown-body figure{margin:1em 2.5rem}.github-md-dark.markdown-body hr{box-sizing:content-box;overflow:hidden;background:0 0;border-bottom:1px solid #3d444db3;height:.25em;padding:0;margin:1.5rem 0;background-color:#3d444d;border:0}.github-md-dark.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.github-md-dark.markdown-body [type=button],.github-md-dark.markdown-body [type=reset],.github-md-dark.markdown-body [type=submit]{-webkit-appearance:button;appearance:button}.github-md-dark.markdown-body [type=checkbox],.github-md-dark.markdown-body [type=radio]{box-sizing:border-box;padding:0}.github-md-dark.markdown-body [type=number]::-webkit-inner-spin-button,.github-md-dark.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.github-md-dark.markdown-body [type=search]::-webkit-search-cancel-button,.github-md-dark.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.github-md-dark.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.github-md-dark.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.github-md-dark.markdown-body a:hover{text-decoration:underline}.github-md-dark.markdown-body ::placeholder{color:#9198a1;opacity:1}.github-md-dark.markdown-body hr::before{display:table;content:""}.github-md-dark.markdown-body hr::after{display:table;clear:both;content:""}.github-md-dark.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.github-md-dark.markdown-body td,.github-md-dark.markdown-body th{padding:0}.github-md-dark.markdown-body details summary{cursor:pointer}.github-md-dark.markdown-body [role=button]:focus,.github-md-dark.markdown-body a:focus,.github-md-dark.markdown-body input[type=checkbox]:focus,.github-md-dark.markdown-body input[type=radio]:focus{outline:2px solid #1f6feb;outline-offset:-2px;box-shadow:none}.github-md-dark.markdown-body [role=button]:focus:not(:focus-visible),.github-md-dark.markdown-body a:focus:not(:focus-visible),.github-md-dark.markdown-body input[type=checkbox]:focus:not(:focus-visible),.github-md-dark.markdown-body input[type=radio]:focus:not(:focus-visible){outline:solid 1px transparent}.github-md-dark.markdown-body [role=button]:focus-visible,.github-md-dark.markdown-body a:focus-visible,.github-md-dark.markdown-body input[type=checkbox]:focus-visible,.github-md-dark.markdown-body input[type=radio]:focus-visible{outline:2px solid #1f6feb;outline-offset:-2px;box-shadow:none}.github-md-dark.markdown-body a:not([class]):focus,.github-md-dark.markdown-body a:not([class]):focus-visible,.github-md-dark.markdown-body input[type=checkbox]:focus,.github-md-dark.markdown-body input[type=checkbox]:focus-visible,.github-md-dark.markdown-body input[type=radio]:focus,.github-md-dark.markdown-body input[type=radio]:focus-visible{outline-offset:0}.github-md-dark.markdown-body kbd{display:inline-block;padding:.25rem;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:#f0f6fc;vertical-align:middle;background-color:#151b23;border:solid 1px #3d444db3;border-bottom-color:#3d444db3;border-radius:6px;box-shadow:inset 0 -1px 0 #3d444db3}.github-md-dark.markdown-body h1,.github-md-dark.markdown-body h2,.github-md-dark.markdown-body h3,.github-md-dark.markdown-body h4,.github-md-dark.markdown-body h5,.github-md-dark.markdown-body h6{margin-top:1.5rem;margin-bottom:1rem;font-weight:600;line-height:1.25}.github-md-dark.markdown-body h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid #3d444db3}.github-md-dark.markdown-body h3{font-weight:600;font-size:1.25em}.github-md-dark.markdown-body h4{font-weight:600;font-size:1em}.github-md-dark.markdown-body h5{font-weight:600;font-size:.875em}.github-md-dark.markdown-body h6{font-weight:600;font-size:.85em;color:#9198a1}.github-md-dark.markdown-body p{margin-top:0;margin-bottom:10px}.github-md-dark.markdown-body blockquote{margin:0;padding:0 1em;color:#9198a1;border-left:.25em solid #3d444d}.github-md-dark.markdown-body ol,.github-md-dark.markdown-body ul{margin-top:0;margin-bottom:0;padding-left:2em}.github-md-dark.markdown-body ol ol,.github-md-dark.markdown-body ul ol{list-style-type:lower-roman}.github-md-dark.markdown-body ol ol ol,.github-md-dark.markdown-body ol ul ol,.github-md-dark.markdown-body ul ol ol,.github-md-dark.markdown-body ul ul ol{list-style-type:lower-alpha}.github-md-dark.markdown-body dd{margin-left:0}.github-md-dark.markdown-body code,.github-md-dark.markdown-body samp,.github-md-dark.markdown-body tt{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.github-md-dark.markdown-body pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.github-md-dark.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.github-md-dark.markdown-body input::-webkit-inner-spin-button,.github-md-dark.markdown-body input::-webkit-outer-spin-button{margin:0;appearance:none}.github-md-dark.markdown-body .mr-2{margin-right:.5rem!important}.github-md-dark.markdown-body::before{display:table;content:""}.github-md-dark.markdown-body::after{display:table;clear:both;content:""}.github-md-dark.markdown-body>:first-child{margin-top:0!important}.github-md-dark.markdown-body>:last-child{margin-bottom:0!important}.github-md-dark.markdown-body a:not([href]){color:inherit;text-decoration:none}.github-md-dark.markdown-body .absent{color:#f85149}.github-md-dark.markdown-body .anchor{float:left;padding-right:.25rem;margin-left:-20px;line-height:1}.github-md-dark.markdown-body .anchor:focus{outline:0}.github-md-dark.markdown-body blockquote,.github-md-dark.markdown-body details,.github-md-dark.markdown-body dl,.github-md-dark.markdown-body ol,.github-md-dark.markdown-body p,.github-md-dark.markdown-body pre,.github-md-dark.markdown-body table,.github-md-dark.markdown-body ul{margin-top:0;margin-bottom:1rem}.github-md-dark.markdown-body blockquote>:first-child{margin-top:0}.github-md-dark.markdown-body blockquote>:last-child{margin-bottom:0}.github-md-dark.markdown-body h1 .octicon-link,.github-md-dark.markdown-body h2 .octicon-link,.github-md-dark.markdown-body h3 .octicon-link,.github-md-dark.markdown-body h4 .octicon-link,.github-md-dark.markdown-body h5 .octicon-link,.github-md-dark.markdown-body h6 .octicon-link{color:#f0f6fc;vertical-align:middle;visibility:hidden}.github-md-dark.markdown-body h1:hover .anchor,.github-md-dark.markdown-body h2:hover .anchor,.github-md-dark.markdown-body h3:hover .anchor,.github-md-dark.markdown-body h4:hover .anchor,.github-md-dark.markdown-body h5:hover .anchor,.github-md-dark.markdown-body h6:hover .anchor{text-decoration:none}.github-md-dark.markdown-body h1:hover .anchor .octicon-link,.github-md-dark.markdown-body h2:hover .anchor .octicon-link,.github-md-dark.markdown-body h3:hover .anchor .octicon-link,.github-md-dark.markdown-body h4:hover .anchor .octicon-link,.github-md-dark.markdown-body h5:hover .anchor .octicon-link,.github-md-dark.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.github-md-dark.markdown-body h1 code,.github-md-dark.markdown-body h1 tt,.github-md-dark.markdown-body h2 code,.github-md-dark.markdown-body h2 tt,.github-md-dark.markdown-body h3 code,.github-md-dark.markdown-body h3 tt,.github-md-dark.markdown-body h4 code,.github-md-dark.markdown-body h4 tt,.github-md-dark.markdown-body h5 code,.github-md-dark.markdown-body h5 tt,.github-md-dark.markdown-body h6 code,.github-md-dark.markdown-body h6 tt{padding:0 .2em;font-size:inherit}.github-md-dark.markdown-body summary h1,.github-md-dark.markdown-body summary h2,.github-md-dark.markdown-body summary h3,.github-md-dark.markdown-body summary h4,.github-md-dark.markdown-body summary h5,.github-md-dark.markdown-body summary h6{display:inline-block}.github-md-dark.markdown-body summary h1 .anchor,.github-md-dark.markdown-body summary h2 .anchor,.github-md-dark.markdown-body summary h3 .anchor,.github-md-dark.markdown-body summary h4 .anchor,.github-md-dark.markdown-body summary h5 .anchor,.github-md-dark.markdown-body summary h6 .anchor{margin-left:-40px}.github-md-dark.markdown-body summary h1,.github-md-dark.markdown-body summary h2{padding-bottom:0;border-bottom:0}.github-md-dark.markdown-body ol.no-list,.github-md-dark.markdown-body ul.no-list{padding:0;list-style-type:none}.github-md-dark.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.github-md-dark.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.github-md-dark.markdown-body ol[type="i s"]{list-style-type:lower-roman}.github-md-dark.markdown-body ol[type="I s"]{list-style-type:upper-roman}.github-md-dark.markdown-body ol[type="1"]{list-style-type:decimal}.github-md-dark.markdown-body div>ol:not([type]){list-style-type:decimal}.github-md-dark.markdown-body ol ol,.github-md-dark.markdown-body ol ul,.github-md-dark.markdown-body ul ol,.github-md-dark.markdown-body ul ul{margin-top:0;margin-bottom:0}.github-md-dark.markdown-body li>p{margin-top:1rem}.github-md-dark.markdown-body li+li{margin-top:.25em}.github-md-dark.markdown-body dl{padding:0}.github-md-dark.markdown-body dl dt{padding:0;margin-top:1rem;font-size:1em;font-style:italic;font-weight:600}.github-md-dark.markdown-body dl dd{padding:0 1rem;margin-bottom:1rem}.github-md-dark.markdown-body table th{font-weight:600}.github-md-dark.markdown-body table td,.github-md-dark.markdown-body table th{padding:6px 13px;border:1px solid #3d444d}.github-md-dark.markdown-body table td>:last-child{margin-bottom:0}.github-md-dark.markdown-body table tr{background-color:#0d1117;border-top:1px solid #3d444db3}.github-md-dark.markdown-body table tr:nth-child(2n){background-color:#151b23}.github-md-dark.markdown-body table img{background-color:transparent}.github-md-dark.markdown-body img[align=right]{padding-left:20px}.github-md-dark.markdown-body img[align=left]{padding-right:20px}.github-md-dark.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.github-md-dark.markdown-body span.frame{display:block;overflow:hidden}.github-md-dark.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #3d444d}.github-md-dark.markdown-body span.frame span img{display:block;float:left}.github-md-dark.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#f0f6fc}.github-md-dark.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.github-md-dark.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.github-md-dark.markdown-body span.align-center span img{margin:0 auto;text-align:center}.github-md-dark.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.github-md-dark.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.github-md-dark.markdown-body span.align-right span img{margin:0;text-align:right}.github-md-dark.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.github-md-dark.markdown-body span.float-left span{margin:13px 0 0}.github-md-dark.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.github-md-dark.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.github-md-dark.markdown-body code,.github-md-dark.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:#656c7633;border-radius:6px}.github-md-dark.markdown-body code br,.github-md-dark.markdown-body tt br{display:none}.github-md-dark.markdown-body del code{text-decoration:inherit}.github-md-dark.markdown-body samp{font-size:85%}.github-md-dark.markdown-body pre code{font-size:100%}.github-md-dark.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:0 0;border:0}.github-md-dark.markdown-body .highlight{margin-bottom:1rem}.github-md-dark.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.github-md-dark.markdown-body .highlight pre,.github-md-dark.markdown-body pre{padding:1rem;overflow:auto;font-size:85%;line-height:1.45;color:#f0f6fc;background-color:#151b23;border-radius:6px}.github-md-dark.markdown-body pre code,.github-md-dark.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.github-md-dark.markdown-body .csv-data td,.github-md-dark.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.github-md-dark.markdown-body .csv-data .blob-num{padding:10px .5rem 9px;text-align:right;background:#0d1117;border:0}.github-md-dark.markdown-body .csv-data tr{border-top:0}.github-md-dark.markdown-body .csv-data th{font-weight:600;background:#151b23;border-top:0}.github-md-dark.markdown-body [data-footnote-ref]::before{content:"["}.github-md-dark.markdown-body [data-footnote-ref]::after{content:"]"}.github-md-dark.markdown-body .footnotes{font-size:12px;color:#9198a1;border-top:1px solid #3d444d}.github-md-dark.markdown-body .footnotes ol{padding-left:1rem}.github-md-dark.markdown-body .footnotes ol ul{display:inline-block;padding-left:1rem;margin-top:1rem}.github-md-dark.markdown-body .footnotes li{position:relative}.github-md-dark.markdown-body .footnotes li:target::before{position:absolute;top:calc(.5rem*-1);right:calc(.5rem*-1);bottom:calc(.5rem*-1);left:calc(1.5rem*-1);pointer-events:none;content:"";border:2px solid #1f6feb;border-radius:6px}.github-md-dark.markdown-body .footnotes li:target{color:#f0f6fc}.github-md-dark.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.github-md-dark.markdown-body body:has(:modal){padding-right:var(--dialog-scrollgutter)!important}.github-md-dark.markdown-body .pl-c{color:#9198a1}.github-md-dark.markdown-body .pl-c1,.github-md-dark.markdown-body .pl-s .pl-v{color:#79c0ff}.github-md-dark.markdown-body .pl-e,.github-md-dark.markdown-body .pl-en{color:#d2a8ff}.github-md-dark.markdown-body .pl-s .pl-s1,.github-md-dark.markdown-body .pl-smi{color:#f0f6fc}.github-md-dark.markdown-body .pl-ent{color:#7ee787}.github-md-dark.markdown-body .pl-k{color:#ff7b72}.github-md-dark.markdown-body .pl-pds,.github-md-dark.markdown-body .pl-s,.github-md-dark.markdown-body .pl-s .pl-pse .pl-s1,.github-md-dark.markdown-body .pl-sr,.github-md-dark.markdown-body .pl-sr .pl-cce,.github-md-dark.markdown-body .pl-sr .pl-sra,.github-md-dark.markdown-body .pl-sr .pl-sre{color:#a5d6ff}.github-md-dark.markdown-body .pl-smw,.github-md-dark.markdown-body .pl-v{color:#ffa657}.github-md-dark.markdown-body .pl-bu{color:#f85149}.github-md-dark.markdown-body .pl-ii{color:#f0f6fc;background-color:#8e1519}.github-md-dark.markdown-body .pl-c2{color:#f0f6fc;background-color:#b62324}.github-md-dark.markdown-body .pl-sr .pl-cce{font-weight:700;color:#7ee787}.github-md-dark.markdown-body .pl-ml{color:#f2cc60}.github-md-dark.markdown-body .pl-mh,.github-md-dark.markdown-body .pl-mh .pl-en,.github-md-dark.markdown-body .pl-ms{font-weight:700;color:#1f6feb}.github-md-dark.markdown-body .pl-mi{font-style:italic;color:#f0f6fc}.github-md-dark.markdown-body .pl-mb{font-weight:700;color:#f0f6fc}.github-md-dark.markdown-body .pl-md{color:#ffdcd7;background-color:#67060c}.github-md-dark.markdown-body .pl-mi1{color:#aff5b4;background-color:#033a16}.github-md-dark.markdown-body .pl-mc{color:#ffdfb6;background-color:#5a1e02}.github-md-dark.markdown-body .pl-mi2{color:#f0f6fc;background-color:#1158c7}.github-md-dark.markdown-body .pl-mdr{font-weight:700;color:#d2a8ff}.github-md-dark.markdown-body .pl-ba{color:#9198a1}.github-md-dark.markdown-body .pl-sg{color:#3d444d}.github-md-dark.markdown-body .pl-corl{text-decoration:underline;color:#a5d6ff}.github-md-dark.markdown-body [role=button]:focus:not(:focus-visible),.github-md-dark.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.github-md-dark.markdown-body a:focus:not(:focus-visible),.github-md-dark.markdown-body button:focus:not(:focus-visible),.github-md-dark.markdown-body summary:focus:not(:focus-visible){outline:0;box-shadow:none}.github-md-dark.markdown-body [tabindex="0"]:focus:not(:focus-visible),.github-md-dark.markdown-body details-dialog:focus:not(:focus-visible){outline:0}.github-md-dark.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}.github-md-dark.markdown-body g-emoji img{width:1em;height:1em}.github-md-dark.markdown-body .task-list-item{list-style-type:none}.github-md-dark.markdown-body .task-list-item label{font-weight:400}.github-md-dark.markdown-body .task-list-item.enabled label{cursor:pointer}.github-md-dark.markdown-body .task-list-item+.task-list-item{margin-top:.25rem}.github-md-dark.markdown-body .task-list-item .handle{display:none}.github-md-dark.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.github-md-dark.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.github-md-dark.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.github-md-dark.markdown-body .contains-task-list:focus-within .task-list-item-convert-container,.github-md-dark.markdown-body .contains-task-list:hover .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.github-md-dark.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.github-md-dark.markdown-body .markdown-alert{padding:.5rem 1rem;margin-bottom:1rem;color:inherit;border-left:.25em solid #3d444d}.github-md-dark.markdown-body .markdown-alert>:first-child{margin-top:0}.github-md-dark.markdown-body .markdown-alert>:last-child{margin-bottom:0}.github-md-dark.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:500;align-items:center;line-height:1}.github-md-dark.markdown-body .markdown-alert.markdown-alert-note{border-left-color:#1f6feb}.github-md-dark.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:#4493f8}.github-md-dark.markdown-body .markdown-alert.markdown-alert-important{border-left-color:#8957e5}.github-md-dark.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:#ab7df8}.github-md-dark.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:#9e6a03}.github-md-dark.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:#d29922}.github-md-dark.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:#238636}.github-md-dark.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:#3fb950}.github-md-dark.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:#da3633}.github-md-dark.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:#f85149}.github-md-dark.markdown-body>:first-child>.heading-element:first-child{margin-top:0!important}.github-md-dark.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}.markdown-body{color-scheme:light;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:#1f2328;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:' ';display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:transparent;color:#0969da;text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:600}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid #d1d9e0b3}.markdown-body mark{background-color:#fff8c5;color:#1f2328}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em 2.5rem}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:0 0;border-bottom:1px solid #d1d9e0b3;height:.25em;padding:0;margin:1.5rem 0;background-color:#d1d9e0;border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:#59636e;opacity:1}.markdown-body hr::before{display:table;content:""}.markdown-body hr::after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body [role=button]:focus,.markdown-body a:focus,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=radio]:focus{outline:2px solid #0969da;outline-offset:-2px;box-shadow:none}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body [role=button]:focus-visible,.markdown-body a:focus-visible,.markdown-body input[type=checkbox]:focus-visible,.markdown-body input[type=radio]:focus-visible{outline:2px solid #0969da;outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:.25rem;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:#1f2328;vertical-align:middle;background-color:#f6f8fa;border:solid 1px #d1d9e0b3;border-bottom-color:#d1d9e0b3;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d9e0b3}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1.5rem;margin-bottom:1rem;font-weight:600;line-height:1.25}.markdown-body h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid #d1d9e0b3}.markdown-body h3{font-weight:600;font-size:1.25em}.markdown-body h4{font-weight:600;font-size:1em}.markdown-body h5{font-weight:600;font-size:.875em}.markdown-body h6{font-weight:600;font-size:.85em;color:#59636e}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:#59636e;border-left:.25em solid #d1d9e0}.markdown-body ol,.markdown-body ul{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code,.markdown-body samp,.markdown-body tt{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-inner-spin-button,.markdown-body input::-webkit-outer-spin-button{margin:0;appearance:none}.markdown-body .mr-2{margin-right:.5rem!important}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#d1242f}.markdown-body .anchor{float:left;padding-right:.25rem;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:0}.markdown-body blockquote,.markdown-body details,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:1rem}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1f2328;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 code,.markdown-body h1 tt,.markdown-body h2 code,.markdown-body h2 tt,.markdown-body h3 code,.markdown-body h3 tt,.markdown-body h4 code,.markdown-body h4 tt,.markdown-body h5 code,.markdown-body h5 tt,.markdown-body h6 code,.markdown-body h6 tt{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ol.no-list,.markdown-body ul.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:1rem}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:1rem;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 1rem;margin-bottom:1rem}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #d1d9e0}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:#fff;border-top:1px solid #d1d9e0b3}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #d1d9e0}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#1f2328}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:#818b981f;border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:0 0;border:0}.markdown-body .highlight{margin-bottom:1rem}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:1rem;overflow:auto;font-size:85%;line-height:1.45;color:#1f2328;background-color:#f6f8fa;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px .5rem 9px;text-align:right;background:#fff;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#f6f8fa;border-top:0}.markdown-body [data-footnote-ref]::before{content:"["}.markdown-body [data-footnote-ref]::after{content:"]"}.markdown-body .footnotes{font-size:12px;color:#59636e;border-top:1px solid #d1d9e0}.markdown-body .footnotes ol{padding-left:1rem}.markdown-body .footnotes ol ul{display:inline-block;padding-left:1rem;margin-top:1rem}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target::before{position:absolute;top:calc(.5rem*-1);right:calc(.5rem*-1);bottom:calc(.5rem*-1);left:calc(1.5rem*-1);pointer-events:none;content:"";border:2px solid #0969da;border-radius:6px}.markdown-body .footnotes li:target{color:#1f2328}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body body:has(:modal){padding-right:var(--dialog-scrollgutter)!important}.markdown-body .pl-c{color:#59636e}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#0550ae}.markdown-body .pl-e,.markdown-body .pl-en{color:#6639ba}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#1f2328}.markdown-body .pl-ent{color:#0550ae}.markdown-body .pl-k{color:#cf222e}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#0a3069}.markdown-body .pl-smw,.markdown-body .pl-v{color:#953800}.markdown-body .pl-bu{color:#82071e}.markdown-body .pl-ii{color:#f6f8fa;background-color:#82071e}.markdown-body .pl-c2{color:#f6f8fa;background-color:#cf222e}.markdown-body .pl-sr .pl-cce{font-weight:700;color:#116329}.markdown-body .pl-ml{color:#3b2300}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:#0550ae}.markdown-body .pl-mi{font-style:italic;color:#1f2328}.markdown-body .pl-mb{font-weight:700;color:#1f2328}.markdown-body .pl-md{color:#82071e;background-color:#ffebe9}.markdown-body .pl-mi1{color:#116329;background-color:#dafbe1}.markdown-body .pl-mc{color:#953800;background-color:#ffd8b5}.markdown-body .pl-mi2{color:#d1d9e0;background-color:#0550ae}.markdown-body .pl-mdr{font-weight:700;color:#8250df}.markdown-body .pl-ba{color:#59636e}.markdown-body .pl-sg{color:#818b98}.markdown-body .pl-corl{text-decoration:underline;color:#0a3069}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible){outline:0;box-shadow:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:0}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:400}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:.25rem}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:focus-within .task-list-item-convert-container,.markdown-body .contains-task-list:hover .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:.5rem 1rem;margin-bottom:1rem;color:inherit;border-left:.25em solid #d1d9e0}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:500;align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:#0969da}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:#0969da}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:#8250df}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:#8250df}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:#9a6700}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:#9a6700}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:#1a7f37}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:#1a7f37}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:#cf222e}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:#d1242f}.markdown-body>:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}
12
+ .github-md-dark.markdown-body{color-scheme:dark;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:#f0f6fc;background-color:#0d1117;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.github-md-dark.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.github-md-dark.markdown-body h1:hover .anchor .octicon-link:before,.github-md-dark.markdown-body h2:hover .anchor .octicon-link:before,.github-md-dark.markdown-body h3:hover .anchor .octicon-link:before,.github-md-dark.markdown-body h4:hover .anchor .octicon-link:before,.github-md-dark.markdown-body h5:hover .anchor .octicon-link:before,.github-md-dark.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:' ';display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.github-md-dark.markdown-body details,.github-md-dark.markdown-body figcaption,.github-md-dark.markdown-body figure{display:block}.github-md-dark.markdown-body summary{display:list-item}.github-md-dark.markdown-body [hidden]{display:none!important}.github-md-dark.markdown-body a{background-color:transparent;color:#4493f8;text-decoration:none}.github-md-dark.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.github-md-dark.markdown-body b,.github-md-dark.markdown-body strong{font-weight:600}.github-md-dark.markdown-body dfn{font-style:italic}.github-md-dark.markdown-body h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid #3d444db3}.github-md-dark.markdown-body mark{background-color:#bb800926;color:#f0f6fc}.github-md-dark.markdown-body small{font-size:90%}.github-md-dark.markdown-body sub,.github-md-dark.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.github-md-dark.markdown-body sub{bottom:-.25em}.github-md-dark.markdown-body sup{top:-.5em}.github-md-dark.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.github-md-dark.markdown-body code,.github-md-dark.markdown-body kbd,.github-md-dark.markdown-body pre,.github-md-dark.markdown-body samp{font-family:monospace;font-size:1em}.github-md-dark.markdown-body figure{margin:1em 2.5rem}.github-md-dark.markdown-body hr{box-sizing:content-box;overflow:hidden;background:0 0;border-bottom:1px solid #3d444db3;height:.25em;padding:0;margin:1.5rem 0;background-color:#3d444d;border:0}.github-md-dark.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.github-md-dark.markdown-body [type=button],.github-md-dark.markdown-body [type=reset],.github-md-dark.markdown-body [type=submit]{-webkit-appearance:button;appearance:button}.github-md-dark.markdown-body [type=checkbox],.github-md-dark.markdown-body [type=radio]{box-sizing:border-box;padding:0}.github-md-dark.markdown-body [type=number]::-webkit-inner-spin-button,.github-md-dark.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.github-md-dark.markdown-body [type=search]::-webkit-search-cancel-button,.github-md-dark.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.github-md-dark.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.github-md-dark.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.github-md-dark.markdown-body a:hover{text-decoration:underline}.github-md-dark.markdown-body ::placeholder{color:#9198a1;opacity:1}.github-md-dark.markdown-body hr::before{display:table;content:""}.github-md-dark.markdown-body hr::after{display:table;clear:both;content:""}.github-md-dark.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.github-md-dark.markdown-body td,.github-md-dark.markdown-body th{padding:0}.github-md-dark.markdown-body details summary{cursor:pointer}.github-md-dark.markdown-body [role=button]:focus,.github-md-dark.markdown-body a:focus,.github-md-dark.markdown-body input[type=checkbox]:focus,.github-md-dark.markdown-body input[type=radio]:focus{outline:2px solid #1f6feb;outline-offset:-2px;box-shadow:none}.github-md-dark.markdown-body [role=button]:focus:not(:focus-visible),.github-md-dark.markdown-body a:focus:not(:focus-visible),.github-md-dark.markdown-body input[type=checkbox]:focus:not(:focus-visible),.github-md-dark.markdown-body input[type=radio]:focus:not(:focus-visible){outline:solid 1px transparent}.github-md-dark.markdown-body [role=button]:focus-visible,.github-md-dark.markdown-body a:focus-visible,.github-md-dark.markdown-body input[type=checkbox]:focus-visible,.github-md-dark.markdown-body input[type=radio]:focus-visible{outline:2px solid #1f6feb;outline-offset:-2px;box-shadow:none}.github-md-dark.markdown-body a:not([class]):focus,.github-md-dark.markdown-body a:not([class]):focus-visible,.github-md-dark.markdown-body input[type=checkbox]:focus,.github-md-dark.markdown-body input[type=checkbox]:focus-visible,.github-md-dark.markdown-body input[type=radio]:focus,.github-md-dark.markdown-body input[type=radio]:focus-visible{outline-offset:0}.github-md-dark.markdown-body kbd{display:inline-block;padding:.25rem;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:#f0f6fc;vertical-align:middle;background-color:#151b23;border:solid 1px #3d444db3;border-bottom-color:#3d444db3;border-radius:6px;box-shadow:inset 0 -1px 0 #3d444db3}.github-md-dark.markdown-body h1,.github-md-dark.markdown-body h2,.github-md-dark.markdown-body h3,.github-md-dark.markdown-body h4,.github-md-dark.markdown-body h5,.github-md-dark.markdown-body h6{margin-top:1.5rem;margin-bottom:1rem;font-weight:600;line-height:1.25}.github-md-dark.markdown-body h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid #3d444db3}.github-md-dark.markdown-body h3{font-weight:600;font-size:1.25em}.github-md-dark.markdown-body h4{font-weight:600;font-size:1em}.github-md-dark.markdown-body h5{font-weight:600;font-size:.875em}.github-md-dark.markdown-body h6{font-weight:600;font-size:.85em;color:#9198a1}.github-md-dark.markdown-body p{margin-top:0;margin-bottom:10px}.github-md-dark.markdown-body blockquote{margin:0;padding:0 1em;color:#9198a1;border-left:.25em solid #3d444d}.github-md-dark.markdown-body ol,.github-md-dark.markdown-body ul{margin-top:0;margin-bottom:0;padding-left:2em}.github-md-dark.markdown-body ol ol,.github-md-dark.markdown-body ul ol{list-style-type:lower-roman}.github-md-dark.markdown-body ol ol ol,.github-md-dark.markdown-body ol ul ol,.github-md-dark.markdown-body ul ol ol,.github-md-dark.markdown-body ul ul ol{list-style-type:lower-alpha}.github-md-dark.markdown-body dd{margin-left:0}.github-md-dark.markdown-body code,.github-md-dark.markdown-body samp,.github-md-dark.markdown-body tt{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.github-md-dark.markdown-body pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.github-md-dark.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.github-md-dark.markdown-body input::-webkit-inner-spin-button,.github-md-dark.markdown-body input::-webkit-outer-spin-button{margin:0;appearance:none}.github-md-dark.markdown-body .mr-2{margin-right:.5rem!important}.github-md-dark.markdown-body::before{display:table;content:""}.github-md-dark.markdown-body::after{display:table;clear:both;content:""}.github-md-dark.markdown-body>:first-child{margin-top:0!important}.github-md-dark.markdown-body>:last-child{margin-bottom:0!important}.github-md-dark.markdown-body a:not([href]){color:inherit;text-decoration:none}.github-md-dark.markdown-body .absent{color:#f85149}.github-md-dark.markdown-body .anchor{float:left;padding-right:.25rem;margin-left:-20px;line-height:1}.github-md-dark.markdown-body .anchor:focus{outline:0}.github-md-dark.markdown-body blockquote,.github-md-dark.markdown-body details,.github-md-dark.markdown-body dl,.github-md-dark.markdown-body ol,.github-md-dark.markdown-body p,.github-md-dark.markdown-body pre,.github-md-dark.markdown-body table,.github-md-dark.markdown-body ul{margin-top:0;margin-bottom:1rem}.github-md-dark.markdown-body blockquote>:first-child{margin-top:0}.github-md-dark.markdown-body blockquote>:last-child{margin-bottom:0}.github-md-dark.markdown-body h1 .octicon-link,.github-md-dark.markdown-body h2 .octicon-link,.github-md-dark.markdown-body h3 .octicon-link,.github-md-dark.markdown-body h4 .octicon-link,.github-md-dark.markdown-body h5 .octicon-link,.github-md-dark.markdown-body h6 .octicon-link{color:#f0f6fc;vertical-align:middle;visibility:hidden}.github-md-dark.markdown-body h1:hover .anchor,.github-md-dark.markdown-body h2:hover .anchor,.github-md-dark.markdown-body h3:hover .anchor,.github-md-dark.markdown-body h4:hover .anchor,.github-md-dark.markdown-body h5:hover .anchor,.github-md-dark.markdown-body h6:hover .anchor{text-decoration:none}.github-md-dark.markdown-body h1:hover .anchor .octicon-link,.github-md-dark.markdown-body h2:hover .anchor .octicon-link,.github-md-dark.markdown-body h3:hover .anchor .octicon-link,.github-md-dark.markdown-body h4:hover .anchor .octicon-link,.github-md-dark.markdown-body h5:hover .anchor .octicon-link,.github-md-dark.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.github-md-dark.markdown-body h1 code,.github-md-dark.markdown-body h1 tt,.github-md-dark.markdown-body h2 code,.github-md-dark.markdown-body h2 tt,.github-md-dark.markdown-body h3 code,.github-md-dark.markdown-body h3 tt,.github-md-dark.markdown-body h4 code,.github-md-dark.markdown-body h4 tt,.github-md-dark.markdown-body h5 code,.github-md-dark.markdown-body h5 tt,.github-md-dark.markdown-body h6 code,.github-md-dark.markdown-body h6 tt{padding:0 .2em;font-size:inherit}.github-md-dark.markdown-body summary h1,.github-md-dark.markdown-body summary h2,.github-md-dark.markdown-body summary h3,.github-md-dark.markdown-body summary h4,.github-md-dark.markdown-body summary h5,.github-md-dark.markdown-body summary h6{display:inline-block}.github-md-dark.markdown-body summary h1 .anchor,.github-md-dark.markdown-body summary h2 .anchor,.github-md-dark.markdown-body summary h3 .anchor,.github-md-dark.markdown-body summary h4 .anchor,.github-md-dark.markdown-body summary h5 .anchor,.github-md-dark.markdown-body summary h6 .anchor{margin-left:-40px}.github-md-dark.markdown-body summary h1,.github-md-dark.markdown-body summary h2{padding-bottom:0;border-bottom:0}.github-md-dark.markdown-body ol.no-list,.github-md-dark.markdown-body ul.no-list{padding:0;list-style-type:none}.github-md-dark.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.github-md-dark.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.github-md-dark.markdown-body ol[type="i s"]{list-style-type:lower-roman}.github-md-dark.markdown-body ol[type="I s"]{list-style-type:upper-roman}.github-md-dark.markdown-body ol[type="1"]{list-style-type:decimal}.github-md-dark.markdown-body div>ol:not([type]){list-style-type:decimal}.github-md-dark.markdown-body ol ol,.github-md-dark.markdown-body ol ul,.github-md-dark.markdown-body ul ol,.github-md-dark.markdown-body ul ul{margin-top:0;margin-bottom:0}.github-md-dark.markdown-body li>p{margin-top:1rem}.github-md-dark.markdown-body li+li{margin-top:.25em}.github-md-dark.markdown-body dl{padding:0}.github-md-dark.markdown-body dl dt{padding:0;margin-top:1rem;font-size:1em;font-style:italic;font-weight:600}.github-md-dark.markdown-body dl dd{padding:0 1rem;margin-bottom:1rem}.github-md-dark.markdown-body table th{font-weight:600}.github-md-dark.markdown-body table td,.github-md-dark.markdown-body table th{padding:6px 13px;border:1px solid #3d444d}.github-md-dark.markdown-body table td>:last-child{margin-bottom:0}.github-md-dark.markdown-body table tr{background-color:#0d1117;border-top:1px solid #3d444db3}.github-md-dark.markdown-body table tr:nth-child(2n){background-color:#151b23}.github-md-dark.markdown-body table img{background-color:transparent}.github-md-dark.markdown-body img[align=right]{padding-left:20px}.github-md-dark.markdown-body img[align=left]{padding-right:20px}.github-md-dark.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.github-md-dark.markdown-body span.frame{display:block;overflow:hidden}.github-md-dark.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #3d444d}.github-md-dark.markdown-body span.frame span img{display:block;float:left}.github-md-dark.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#f0f6fc}.github-md-dark.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.github-md-dark.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.github-md-dark.markdown-body span.align-center span img{margin:0 auto;text-align:center}.github-md-dark.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.github-md-dark.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.github-md-dark.markdown-body span.align-right span img{margin:0;text-align:right}.github-md-dark.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.github-md-dark.markdown-body span.float-left span{margin:13px 0 0}.github-md-dark.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.github-md-dark.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.github-md-dark.markdown-body code,.github-md-dark.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:#656c7633;border-radius:6px}.github-md-dark.markdown-body code br,.github-md-dark.markdown-body tt br{display:none}.github-md-dark.markdown-body del code{text-decoration:inherit}.github-md-dark.markdown-body samp{font-size:85%}.github-md-dark.markdown-body pre code{font-size:100%}.github-md-dark.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:0 0;border:0}.github-md-dark.markdown-body .highlight{margin-bottom:1rem}.github-md-dark.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.github-md-dark.markdown-body .highlight pre,.github-md-dark.markdown-body pre{padding:1rem;overflow:auto;font-size:85%;line-height:1.45;color:#f0f6fc;background-color:#151b23;border-radius:6px}.github-md-dark.markdown-body pre code,.github-md-dark.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.github-md-dark.markdown-body .csv-data td,.github-md-dark.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.github-md-dark.markdown-body .csv-data .blob-num{padding:10px .5rem 9px;text-align:right;background:#0d1117;border:0}.github-md-dark.markdown-body .csv-data tr{border-top:0}.github-md-dark.markdown-body .csv-data th{font-weight:600;background:#151b23;border-top:0}.github-md-dark.markdown-body [data-footnote-ref]::before{content:"["}.github-md-dark.markdown-body [data-footnote-ref]::after{content:"]"}.github-md-dark.markdown-body .footnotes{font-size:12px;color:#9198a1;border-top:1px solid #3d444d}.github-md-dark.markdown-body .footnotes ol{padding-left:1rem}.github-md-dark.markdown-body .footnotes ol ul{display:inline-block;padding-left:1rem;margin-top:1rem}.github-md-dark.markdown-body .footnotes li{position:relative}.github-md-dark.markdown-body .footnotes li:target::before{position:absolute;top:calc(.5rem*-1);right:calc(.5rem*-1);bottom:calc(.5rem*-1);left:calc(1.5rem*-1);pointer-events:none;content:"";border:2px solid #1f6feb;border-radius:6px}.github-md-dark.markdown-body .footnotes li:target{color:#f0f6fc}.github-md-dark.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.github-md-dark.markdown-body body:has(:modal){padding-right:var(--dialog-scrollgutter)!important}.github-md-dark.markdown-body .pl-c{color:#9198a1}.github-md-dark.markdown-body .pl-c1,.github-md-dark.markdown-body .pl-s .pl-v{color:#79c0ff}.github-md-dark.markdown-body .pl-e,.github-md-dark.markdown-body .pl-en{color:#d2a8ff}.github-md-dark.markdown-body .pl-s .pl-s1,.github-md-dark.markdown-body .pl-smi{color:#f0f6fc}.github-md-dark.markdown-body .pl-ent{color:#7ee787}.github-md-dark.markdown-body .pl-k{color:#ff7b72}.github-md-dark.markdown-body .pl-pds,.github-md-dark.markdown-body .pl-s,.github-md-dark.markdown-body .pl-s .pl-pse .pl-s1,.github-md-dark.markdown-body .pl-sr,.github-md-dark.markdown-body .pl-sr .pl-cce,.github-md-dark.markdown-body .pl-sr .pl-sra,.github-md-dark.markdown-body .pl-sr .pl-sre{color:#a5d6ff}.github-md-dark.markdown-body .pl-smw,.github-md-dark.markdown-body .pl-v{color:#ffa657}.github-md-dark.markdown-body .pl-bu{color:#f85149}.github-md-dark.markdown-body .pl-ii{color:#f0f6fc;background-color:#8e1519}.github-md-dark.markdown-body .pl-c2{color:#f0f6fc;background-color:#b62324}.github-md-dark.markdown-body .pl-sr .pl-cce{font-weight:700;color:#7ee787}.github-md-dark.markdown-body .pl-ml{color:#f2cc60}.github-md-dark.markdown-body .pl-mh,.github-md-dark.markdown-body .pl-mh .pl-en,.github-md-dark.markdown-body .pl-ms{font-weight:700;color:#1f6feb}.github-md-dark.markdown-body .pl-mi{font-style:italic;color:#f0f6fc}.github-md-dark.markdown-body .pl-mb{font-weight:700;color:#f0f6fc}.github-md-dark.markdown-body .pl-md{color:#ffdcd7;background-color:#67060c}.github-md-dark.markdown-body .pl-mi1{color:#aff5b4;background-color:#033a16}.github-md-dark.markdown-body .pl-mc{color:#ffdfb6;background-color:#5a1e02}.github-md-dark.markdown-body .pl-mi2{color:#f0f6fc;background-color:#1158c7}.github-md-dark.markdown-body .pl-mdr{font-weight:700;color:#d2a8ff}.github-md-dark.markdown-body .pl-ba{color:#9198a1}.github-md-dark.markdown-body .pl-sg{color:#3d444d}.github-md-dark.markdown-body .pl-corl{text-decoration:underline;color:#a5d6ff}.github-md-dark.markdown-body [role=button]:focus:not(:focus-visible),.github-md-dark.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.github-md-dark.markdown-body a:focus:not(:focus-visible),.github-md-dark.markdown-body button:focus:not(:focus-visible),.github-md-dark.markdown-body summary:focus:not(:focus-visible){outline:0;box-shadow:none}.github-md-dark.markdown-body [tabindex="0"]:focus:not(:focus-visible),.github-md-dark.markdown-body details-dialog:focus:not(:focus-visible){outline:0}.github-md-dark.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}.github-md-dark.markdown-body g-emoji img{width:1em;height:1em}.github-md-dark.markdown-body .task-list-item{list-style-type:none}.github-md-dark.markdown-body .task-list-item label{font-weight:400}.github-md-dark.markdown-body .task-list-item.enabled label{cursor:pointer}.github-md-dark.markdown-body .task-list-item+.task-list-item{margin-top:.25rem}.github-md-dark.markdown-body .task-list-item .handle{display:none}.github-md-dark.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.github-md-dark.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.github-md-dark.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.github-md-dark.markdown-body .contains-task-list:focus-within .task-list-item-convert-container,.github-md-dark.markdown-body .contains-task-list:hover .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.github-md-dark.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.github-md-dark.markdown-body .markdown-alert{padding:.5rem 1rem;margin-bottom:1rem;color:inherit;border-left:.25em solid #3d444d}.github-md-dark.markdown-body .markdown-alert>:first-child{margin-top:0}.github-md-dark.markdown-body .markdown-alert>:last-child{margin-bottom:0}.github-md-dark.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:500;align-items:center;line-height:1}.github-md-dark.markdown-body .markdown-alert.markdown-alert-note{border-left-color:#1f6feb}.github-md-dark.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:#4493f8}.github-md-dark.markdown-body .markdown-alert.markdown-alert-important{border-left-color:#8957e5}.github-md-dark.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:#ab7df8}.github-md-dark.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:#9e6a03}.github-md-dark.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:#d29922}.github-md-dark.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:#238636}.github-md-dark.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:#3fb950}.github-md-dark.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:#da3633}.github-md-dark.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:#f85149}.github-md-dark.markdown-body>:first-child>.heading-element:first-child{margin-top:0!important}.github-md-dark.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}.markdown-body{color-scheme:light;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:#1f2328;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:' ';display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:transparent;color:#0969da;text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:600}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid #d1d9e0b3}.markdown-body mark{background-color:#fff8c5;color:#1f2328}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em 2.5rem}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:0 0;border-bottom:1px solid #d1d9e0b3;height:.25em;padding:0;margin:1.5rem 0;background-color:#d1d9e0;border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:#59636e;opacity:1}.markdown-body hr::before{display:table;content:""}.markdown-body hr::after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body [role=button]:focus,.markdown-body a:focus,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=radio]:focus{outline:2px solid #0969da;outline-offset:-2px;box-shadow:none}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body [role=button]:focus-visible,.markdown-body a:focus-visible,.markdown-body input[type=checkbox]:focus-visible,.markdown-body input[type=radio]:focus-visible{outline:2px solid #0969da;outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:.25rem;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:#1f2328;vertical-align:middle;background-color:#f6f8fa;border:solid 1px #d1d9e0b3;border-bottom-color:#d1d9e0b3;border-radius:6px;box-shadow:inset 0 -1px 0 #d1d9e0b3}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1.5rem;margin-bottom:1rem;font-weight:600;line-height:1.25}.markdown-body h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid #d1d9e0b3}.markdown-body h3{font-weight:600;font-size:1.25em}.markdown-body h4{font-weight:600;font-size:1em}.markdown-body h5{font-weight:600;font-size:.875em}.markdown-body h6{font-weight:600;font-size:.85em;color:#59636e}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:#59636e;border-left:.25em solid #d1d9e0}.markdown-body ol,.markdown-body ul{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code,.markdown-body samp,.markdown-body tt{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-inner-spin-button,.markdown-body input::-webkit-outer-spin-button{margin:0;appearance:none}.markdown-body .mr-2{margin-right:.5rem!important}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#d1242f}.markdown-body .anchor{float:left;padding-right:.25rem;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:0}.markdown-body blockquote,.markdown-body details,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:1rem}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1f2328;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 code,.markdown-body h1 tt,.markdown-body h2 code,.markdown-body h2 tt,.markdown-body h3 code,.markdown-body h3 tt,.markdown-body h4 code,.markdown-body h4 tt,.markdown-body h5 code,.markdown-body h5 tt,.markdown-body h6 code,.markdown-body h6 tt{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ol.no-list,.markdown-body ul.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:1rem}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:1rem;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 1rem;margin-bottom:1rem}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #d1d9e0}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:#fff;border-top:1px solid #d1d9e0b3}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #d1d9e0}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#1f2328}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:#818b981f;border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:0 0;border:0}.markdown-body .highlight{margin-bottom:1rem}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:1rem;overflow:auto;font-size:85%;line-height:1.45;color:#1f2328;background-color:#f6f8fa;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px .5rem 9px;text-align:right;background:#fff;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#f6f8fa;border-top:0}.markdown-body [data-footnote-ref]::before{content:"["}.markdown-body [data-footnote-ref]::after{content:"]"}.markdown-body .footnotes{font-size:12px;color:#59636e;border-top:1px solid #d1d9e0}.markdown-body .footnotes ol{padding-left:1rem}.markdown-body .footnotes ol ul{display:inline-block;padding-left:1rem;margin-top:1rem}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target::before{position:absolute;top:calc(.5rem*-1);right:calc(.5rem*-1);bottom:calc(.5rem*-1);left:calc(1.5rem*-1);pointer-events:none;content:"";border:2px solid #0969da;border-radius:6px}.markdown-body .footnotes li:target{color:#1f2328}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body body:has(:modal){padding-right:var(--dialog-scrollgutter)!important}.markdown-body .pl-c{color:#59636e}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#0550ae}.markdown-body .pl-e,.markdown-body .pl-en{color:#6639ba}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#1f2328}.markdown-body .pl-ent{color:#0550ae}.markdown-body .pl-k{color:#cf222e}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#0a3069}.markdown-body .pl-smw,.markdown-body .pl-v{color:#953800}.markdown-body .pl-bu{color:#82071e}.markdown-body .pl-ii{color:#f6f8fa;background-color:#82071e}.markdown-body .pl-c2{color:#f6f8fa;background-color:#cf222e}.markdown-body .pl-sr .pl-cce{font-weight:700;color:#116329}.markdown-body .pl-ml{color:#3b2300}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:#0550ae}.markdown-body .pl-mi{font-style:italic;color:#1f2328}.markdown-body .pl-mb{font-weight:700;color:#1f2328}.markdown-body .pl-md{color:#82071e;background-color:#ffebe9}.markdown-body .pl-mi1{color:#116329;background-color:#dafbe1}.markdown-body .pl-mc{color:#953800;background-color:#ffd8b5}.markdown-body .pl-mi2{color:#d1d9e0;background-color:#0550ae}.markdown-body .pl-mdr{font-weight:700;color:#8250df}.markdown-body .pl-ba{color:#59636e}.markdown-body .pl-sg{color:#818b98}.markdown-body .pl-corl{text-decoration:underline;color:#0a3069}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible){outline:0;box-shadow:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:0}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:400}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:.25rem}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:focus-within .task-list-item-convert-container,.markdown-body .contains-task-list:hover .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:.5rem 1rem;margin-bottom:1rem;color:inherit;border-left:.25em solid #d1d9e0}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:500;align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:#0969da}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:#0969da}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:#8250df}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:#8250df}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:#9a6700}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:#9a6700}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:#1a7f37}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:#1a7f37}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:#cf222e}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:#d1242f}.markdown-body>:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}.markdown-body :is(ul,ol,menu){list-style: unset;}
@@ -2577,4 +2577,3 @@ const parser = _Parser.parse;
2577
2577
  const lexer = _Lexer.lex;
2578
2578
 
2579
2579
  export { _Hooks as Hooks, _Lexer as Lexer, Marked, _Parser as Parser, _Renderer as Renderer, _TextRenderer as TextRenderer, _Tokenizer as Tokenizer, _defaults as defaults, _getDefaults as getDefaults, lexer, marked, options, parse, parseInline, parser, setOptions, use, walkTokens };
2580
- //# sourceMappingURL=marked.esm.js.map