From 46febe05c530580cb42e8ed77c04c6a5133178a9 Mon Sep 17 00:00:00 2001 From: Alexander Fischer Date: Fri, 10 Jan 2025 22:38:23 +0100 Subject: [PATCH] burnin for demean --- benchmarks/gpu_benchmarks.ipynb | 425 +++++++++++++++++++++----------- benchmarks/gpu_results.csv | 48 ++-- 2 files changed, 308 insertions(+), 165 deletions(-) diff --git a/benchmarks/gpu_benchmarks.ipynb b/benchmarks/gpu_benchmarks.ipynb index 30b1a056..eeda48ed 100644 --- a/benchmarks/gpu_benchmarks.ipynb +++ b/benchmarks/gpu_benchmarks.ipynb @@ -29,7 +29,7 @@ "data": { "text/html": [ "\n", - "
\n", + "
\n", " \n", @@ -69,7 +69,7 @@ "data": { "text/html": [ "\n", - "
\n", + "
\n", " \n", @@ -124,7 +124,7 @@ "from pyfixest.estimation.demean_ import demean\n", "from pyfixest.estimation.demean_jax_ import demean_jax\n", "\n", - "rng = np.random.default_rng(98768)" + "rng = np.random.default_rng(239291)" ] }, { @@ -136,7 +136,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Last updated: 2025-01-10T22:08:06.641925+01:00\n", + "Last updated: 2025-01-10T22:33:11.321606+01:00\n", "\n", "Python implementation: CPython\n", "Python version : 3.12.8\n", @@ -167,9 +167,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "INFO:2025-01-10 22:08:06,684:jax._src.xla_bridge:927: Unable to initialize backend 'rocm': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig'\n", + "INFO:2025-01-10 22:33:11,368:jax._src.xla_bridge:927: Unable to initialize backend 'rocm': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig'\n", "INFO:jax._src.xla_bridge:Unable to initialize backend 'rocm': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig'\n", - "INFO:2025-01-10 22:08:06,717:jax._src.xla_bridge:927: Unable to initialize backend 'tpu': UNIMPLEMENTED: LoadPjrtPlugin is not implemented on windows yet.\n", + "INFO:2025-01-10 22:33:11,374:jax._src.xla_bridge:927: Unable to initialize backend 'tpu': UNIMPLEMENTED: LoadPjrtPlugin is not implemented on windows yet.\n", "INFO:jax._src.xla_bridge:Unable to initialize backend 'tpu': UNIMPLEMENTED: LoadPjrtPlugin is not implemented on windows yet.\n" ] }, @@ -378,52 +378,52 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", "\n", @@ -446,8 +446,8 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -472,8 +472,8 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", "\n", " \n", @@ -493,18 +493,18 @@ ], "text/plain": [ "GT(_tbl_data= level_0 level_1 0 \\\n", - "0 coef X1 0.369205***
(0.041655) \n", + "0 coef X1 0.257668***
(0.029134) \n", "1 fe dum_1 x \n", "2 stats Observations 1000 \n", "3 stats S.E. type by: dum_1 \n", - "4 stats R2 0.242376 \n", + "4 stats R2 0.283080 \n", "\n", " 1 \n", - "0 0.369205***
(0.041655) \n", + "0 0.257668***
(0.029134) \n", "1 x \n", "2 1000 \n", "3 by: dum_1 \n", - "4 0.242376 , _body=, _boxhead=Boxhead([ColInfo(var='level_0', type=, column_label='level_0', column_align='center', column_width=None), ColInfo(var='level_1', type=, column_label='level_1', column_align='center', column_width=None), ColInfo(var='0', type=, column_label='(1)', column_align='center', column_width=None), ColInfo(var='1', type=, column_label='(2)', column_align='center', column_width=None)]), _stub=, _spanners=Spanners([SpannerInfo(spanner_id='ln_y', spanner_level=1, spanner_label='ln_y', spanner_units=None, spanner_pattern=None, vars=['0', '1'], built=None)]), _heading=Heading(title=None, subtitle=None, preheader=None), _stubhead=None, _source_notes=['Significance levels: * p < 0.05, ** p < 0.01, *** p < 0.001. Format of coefficient cell:\\nCoefficient \\n (Std. Error)'], _footnotes=[], _styles=[], _locale=, _formats=[], _substitutions=[], _options=Options(table_id=OptionsInfo(scss=False, category='table', type='value', value=None), table_caption=OptionsInfo(scss=False, category='table', type='value', value=None), table_width=OptionsInfo(scss=True, category='table', type='px', value='auto'), table_layout=OptionsInfo(scss=True, category='table', type='value', value='fixed'), table_margin_left=OptionsInfo(scss=True, category='table', type='px', value='auto'), table_margin_right=OptionsInfo(scss=True, category='table', type='px', value='auto'), table_background_color=OptionsInfo(scss=True, category='table', type='value', value='#FFFFFF'), table_additional_css=OptionsInfo(scss=False, category='table', type='values', value=[]), table_font_names=OptionsInfo(scss=False, category='table', type='values', value=['-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Helvetica Neue', 'Fira Sans', 'Droid Sans', 'Arial', 'sans-serif']), table_font_size=OptionsInfo(scss=True, category='table', type='px', value='16px'), table_font_weight=OptionsInfo(scss=True, category='table', type='value', value='normal'), table_font_style=OptionsInfo(scss=True, category='table', type='value', value='normal'), table_font_color=OptionsInfo(scss=True, category='table', type='value', value='#333333'), table_font_color_light=OptionsInfo(scss=True, category='table', type='value', value='#FFFFFF'), table_border_top_include=OptionsInfo(scss=False, category='table', type='boolean', value=True), table_border_top_style=OptionsInfo(scss=True, category='table', type='value', value='solid'), table_border_top_width=OptionsInfo(scss=True, category='table', type='px', value='2px'), table_border_top_color=OptionsInfo(scss=True, category='table', type='value', value='#A8A8A8'), table_border_right_style=OptionsInfo(scss=True, category='table', type='value', value='none'), table_border_right_width=OptionsInfo(scss=True, category='table', type='px', value='2px'), table_border_right_color=OptionsInfo(scss=True, category='table', type='value', value='#D3D3D3'), table_border_bottom_include=OptionsInfo(scss=False, category='table', type='boolean', value=True), table_border_bottom_style=OptionsInfo(scss=True, category='table', type='value', value='hidden'), table_border_bottom_width=OptionsInfo(scss=True, category='table', type='px', value='2px'), table_border_bottom_color=OptionsInfo(scss=True, category='table', type='value', value='#A8A8A8'), table_border_left_style=OptionsInfo(scss=True, category='table', type='value', value='none'), table_border_left_width=OptionsInfo(scss=True, category='table', type='px', value='2px'), table_border_left_color=OptionsInfo(scss=True, category='table', type='value', value='#D3D3D3'), heading_background_color=OptionsInfo(scss=True, category='heading', type='value', value=None), heading_align=OptionsInfo(scss=True, category='heading', type='value', value='center'), heading_title_font_size=OptionsInfo(scss=True, category='heading', type='px', value='125%'), heading_title_font_weight=OptionsInfo(scss=True, category='heading', type='value', value='initial'), heading_subtitle_font_size=OptionsInfo(scss=True, category='heading', type='px', value='85%'), heading_subtitle_font_weight=OptionsInfo(scss=True, category='heading', type='value', value='initial'), heading_padding=OptionsInfo(scss=True, category='heading', type='px', value='4px'), heading_padding_horizontal=OptionsInfo(scss=True, category='heading', type='px', value='5px'), heading_border_bottom_style=OptionsInfo(scss=True, category='heading', type='value', value='solid'), heading_border_bottom_width=OptionsInfo(scss=True, category='heading', type='px', value='2px'), heading_border_bottom_color=OptionsInfo(scss=True, category='heading', type='value', value='#D3D3D3'), heading_border_lr_style=OptionsInfo(scss=True, category='heading', type='value', value='none'), heading_border_lr_width=OptionsInfo(scss=True, category='heading', type='px', value='1px'), heading_border_lr_color=OptionsInfo(scss=True, category='heading', type='value', value='#D3D3D3'), column_labels_background_color=OptionsInfo(scss=True, category='column_labels', type='value', value=None), column_labels_font_size=OptionsInfo(scss=True, category='column_labels', type='px', value='100%'), column_labels_font_weight=OptionsInfo(scss=True, category='column_labels', type='value', value='normal'), column_labels_text_transform=OptionsInfo(scss=True, category='column_labels', type='value', value='inherit'), column_labels_padding=OptionsInfo(scss=True, category='column_labels', type='px', value='4px'), column_labels_padding_horizontal=OptionsInfo(scss=True, category='column_labels', type='px', value='5px'), column_labels_vlines_style=OptionsInfo(scss=True, category='table_body', type='value', value='none'), column_labels_vlines_width=OptionsInfo(scss=True, category='table_body', type='px', value='0px'), column_labels_vlines_color=OptionsInfo(scss=True, category='table_body', type='value', value='white'), column_labels_border_top_style=OptionsInfo(scss=True, category='column_labels', type='value', value='solid'), column_labels_border_top_width=OptionsInfo(scss=True, category='column_labels', type='px', value='2px'), column_labels_border_top_color=OptionsInfo(scss=True, category='column_labels', type='value', value='black'), column_labels_border_bottom_style=OptionsInfo(scss=True, category='column_labels', type='value', value='solid'), column_labels_border_bottom_width=OptionsInfo(scss=True, category='column_labels', type='px', value='0.5px'), column_labels_border_bottom_color=OptionsInfo(scss=True, category='column_labels', type='value', value='black'), column_labels_border_lr_style=OptionsInfo(scss=True, category='column_labels', type='value', value='none'), column_labels_border_lr_width=OptionsInfo(scss=True, category='column_labels', type='px', value='1px'), column_labels_border_lr_color=OptionsInfo(scss=True, category='column_labels', type='value', value='#D3D3D3'), column_labels_hidden=OptionsInfo(scss=False, category='column_labels', type='boolean', value=False), row_group_background_color=OptionsInfo(scss=True, category='row_group', type='value', value=None), row_group_font_size=OptionsInfo(scss=True, category='row_group', type='px', value='0px'), row_group_font_weight=OptionsInfo(scss=True, category='row_group', type='value', value='initial'), row_group_text_transform=OptionsInfo(scss=True, category='row_group', type='value', value='inherit'), row_group_padding=OptionsInfo(scss=True, category='row_group', type='px', value='0px'), row_group_padding_horizontal=OptionsInfo(scss=True, category='row_group', type='px', value='5px'), row_group_border_top_style=OptionsInfo(scss=True, category='row_group', type='value', value='solid'), row_group_border_top_width=OptionsInfo(scss=True, category='row_group', type='px', value='0.5px'), row_group_border_top_color=OptionsInfo(scss=True, category='row_group', type='value', value='black'), row_group_border_right_style=OptionsInfo(scss=True, category='row_group', type='value', value='none'), row_group_border_right_width=OptionsInfo(scss=True, category='row_group', type='px', value='1px'), row_group_border_right_color=OptionsInfo(scss=True, category='row_group', type='value', value='white'), row_group_border_bottom_style=OptionsInfo(scss=True, category='row_group', type='value', value='solid'), row_group_border_bottom_width=OptionsInfo(scss=True, category='row_group', type='px', value='0.5px'), row_group_border_bottom_color=OptionsInfo(scss=True, category='row_group', type='value', value='black'), row_group_border_left_style=OptionsInfo(scss=True, category='row_group', type='value', value='none'), row_group_border_left_width=OptionsInfo(scss=True, category='row_group', type='px', value='1px'), row_group_border_left_color=OptionsInfo(scss=True, category='row_group', type='value', value='white'), row_group_as_column=OptionsInfo(scss=False, category='row_group', type='boolean', value=False), table_body_hlines_style=OptionsInfo(scss=True, category='table_body', type='value', value='none'), table_body_hlines_width=OptionsInfo(scss=True, category='table_body', type='px', value='1px'), table_body_hlines_color=OptionsInfo(scss=True, category='table_body', type='value', value='#D3D3D3'), table_body_vlines_style=OptionsInfo(scss=True, category='table_body', type='value', value='none'), table_body_vlines_width=OptionsInfo(scss=True, category='table_body', type='px', value='0px'), table_body_vlines_color=OptionsInfo(scss=True, category='table_body', type='value', value='white'), table_body_border_top_style=OptionsInfo(scss=True, category='table_body', type='value', value='solid'), table_body_border_top_width=OptionsInfo(scss=True, category='table_body', type='px', value='0.5px'), table_body_border_top_color=OptionsInfo(scss=True, category='table_body', type='value', value='black'), table_body_border_bottom_style=OptionsInfo(scss=True, category='table_body', type='value', value='solid'), table_body_border_bottom_width=OptionsInfo(scss=True, category='table_body', type='px', value='2px'), table_body_border_bottom_color=OptionsInfo(scss=True, category='table_body', type='value', value='black'), data_row_padding=OptionsInfo(scss=True, category='data_row', type='px', value='4px'), data_row_padding_horizontal=OptionsInfo(scss=True, category='data_row', type='px', value='5px'), stub_background_color=OptionsInfo(scss=True, category='stub', type='value', value=None), stub_font_size=OptionsInfo(scss=True, category='stub', type='px', value='100%'), stub_font_weight=OptionsInfo(scss=True, category='stub', type='value', value='initial'), stub_text_transform=OptionsInfo(scss=True, category='stub', type='value', value='inherit'), stub_border_style=OptionsInfo(scss=True, category='stub', type='value', value='hidden'), stub_border_width=OptionsInfo(scss=True, category='stub', type='px', value='2px'), stub_border_color=OptionsInfo(scss=True, category='stub', type='value', value='#D3D3D3'), stub_row_group_background_color=OptionsInfo(scss=True, category='stub', type='value', value=None), stub_row_group_font_size=OptionsInfo(scss=True, category='stub', type='px', value='100%'), stub_row_group_font_weight=OptionsInfo(scss=True, category='stub', type='value', value='initial'), stub_row_group_text_transform=OptionsInfo(scss=True, category='stub', type='value', value='inherit'), stub_row_group_border_style=OptionsInfo(scss=True, category='stub', type='value', value='solid'), stub_row_group_border_width=OptionsInfo(scss=True, category='stub', type='px', value='2px'), stub_row_group_border_color=OptionsInfo(scss=True, category='stub', type='value', value='#D3D3D3'), source_notes_padding=OptionsInfo(scss=True, category='source_notes', type='px', value='4px'), source_notes_padding_horizontal=OptionsInfo(scss=True, category='source_notes', type='px', value='5px'), source_notes_background_color=OptionsInfo(scss=True, category='source_notes', type='value', value=None), source_notes_font_size=OptionsInfo(scss=True, category='source_notes', type='px', value='90%'), source_notes_border_bottom_style=OptionsInfo(scss=True, category='source_notes', type='value', value='none'), source_notes_border_bottom_width=OptionsInfo(scss=True, category='source_notes', type='px', value='2px'), source_notes_border_bottom_color=OptionsInfo(scss=True, category='source_notes', type='value', value='#D3D3D3'), source_notes_border_lr_style=OptionsInfo(scss=True, category='source_notes', type='value', value='none'), source_notes_border_lr_width=OptionsInfo(scss=True, category='source_notes', type='px', value='2px'), source_notes_border_lr_color=OptionsInfo(scss=True, category='source_notes', type='value', value='#D3D3D3'), source_notes_multiline=OptionsInfo(scss=False, category='source_notes', type='boolean', value=True), source_notes_sep=OptionsInfo(scss=False, category='source_notes', type='value', value=' '), row_striping_background_color=OptionsInfo(scss=True, category='row', type='value', value='rgba(128,128,128,0.05)'), row_striping_include_stub=OptionsInfo(scss=False, category='row', type='boolean', value=False), row_striping_include_table_body=OptionsInfo(scss=False, category='row', type='boolean', value=False), container_width=OptionsInfo(scss=False, category='container', type='px', value='auto'), container_height=OptionsInfo(scss=False, category='container', type='px', value='auto'), container_padding_x=OptionsInfo(scss=False, category='container', type='px', value='0px'), container_padding_y=OptionsInfo(scss=False, category='container', type='px', value='10px'), container_overflow_x=OptionsInfo(scss=False, category='container', type='overflow', value='auto'), container_overflow_y=OptionsInfo(scss=False, category='container', type='overflow', value='auto'), quarto_disable_processing=OptionsInfo(scss=False, category='quarto', type='logical', value=False), quarto_use_bootstrap=OptionsInfo(scss=False, category='quarto', type='logical', value=False)), _has_built=False)" + "4 0.283080 , _body=, _boxhead=Boxhead([ColInfo(var='level_0', type=, column_label='level_0', column_align='center', column_width=None), ColInfo(var='level_1', type=, column_label='level_1', column_align='center', column_width=None), ColInfo(var='0', type=, column_label='(1)', column_align='center', column_width=None), ColInfo(var='1', type=, column_label='(2)', column_align='center', column_width=None)]), _stub=, _spanners=Spanners([SpannerInfo(spanner_id='ln_y', spanner_level=1, spanner_label='ln_y', spanner_units=None, spanner_pattern=None, vars=['0', '1'], built=None)]), _heading=Heading(title=None, subtitle=None, preheader=None), _stubhead=None, _source_notes=['Significance levels: * p < 0.05, ** p < 0.01, *** p < 0.001. Format of coefficient cell:\\nCoefficient \\n (Std. Error)'], _footnotes=[], _styles=[], _locale=, _formats=[], _substitutions=[], _options=Options(table_id=OptionsInfo(scss=False, category='table', type='value', value=None), table_caption=OptionsInfo(scss=False, category='table', type='value', value=None), table_width=OptionsInfo(scss=True, category='table', type='px', value='auto'), table_layout=OptionsInfo(scss=True, category='table', type='value', value='fixed'), table_margin_left=OptionsInfo(scss=True, category='table', type='px', value='auto'), table_margin_right=OptionsInfo(scss=True, category='table', type='px', value='auto'), table_background_color=OptionsInfo(scss=True, category='table', type='value', value='#FFFFFF'), table_additional_css=OptionsInfo(scss=False, category='table', type='values', value=[]), table_font_names=OptionsInfo(scss=False, category='table', type='values', value=['-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Helvetica Neue', 'Fira Sans', 'Droid Sans', 'Arial', 'sans-serif']), table_font_size=OptionsInfo(scss=True, category='table', type='px', value='16px'), table_font_weight=OptionsInfo(scss=True, category='table', type='value', value='normal'), table_font_style=OptionsInfo(scss=True, category='table', type='value', value='normal'), table_font_color=OptionsInfo(scss=True, category='table', type='value', value='#333333'), table_font_color_light=OptionsInfo(scss=True, category='table', type='value', value='#FFFFFF'), table_border_top_include=OptionsInfo(scss=False, category='table', type='boolean', value=True), table_border_top_style=OptionsInfo(scss=True, category='table', type='value', value='solid'), table_border_top_width=OptionsInfo(scss=True, category='table', type='px', value='2px'), table_border_top_color=OptionsInfo(scss=True, category='table', type='value', value='#A8A8A8'), table_border_right_style=OptionsInfo(scss=True, category='table', type='value', value='none'), table_border_right_width=OptionsInfo(scss=True, category='table', type='px', value='2px'), table_border_right_color=OptionsInfo(scss=True, category='table', type='value', value='#D3D3D3'), table_border_bottom_include=OptionsInfo(scss=False, category='table', type='boolean', value=True), table_border_bottom_style=OptionsInfo(scss=True, category='table', type='value', value='hidden'), table_border_bottom_width=OptionsInfo(scss=True, category='table', type='px', value='2px'), table_border_bottom_color=OptionsInfo(scss=True, category='table', type='value', value='#A8A8A8'), table_border_left_style=OptionsInfo(scss=True, category='table', type='value', value='none'), table_border_left_width=OptionsInfo(scss=True, category='table', type='px', value='2px'), table_border_left_color=OptionsInfo(scss=True, category='table', type='value', value='#D3D3D3'), heading_background_color=OptionsInfo(scss=True, category='heading', type='value', value=None), heading_align=OptionsInfo(scss=True, category='heading', type='value', value='center'), heading_title_font_size=OptionsInfo(scss=True, category='heading', type='px', value='125%'), heading_title_font_weight=OptionsInfo(scss=True, category='heading', type='value', value='initial'), heading_subtitle_font_size=OptionsInfo(scss=True, category='heading', type='px', value='85%'), heading_subtitle_font_weight=OptionsInfo(scss=True, category='heading', type='value', value='initial'), heading_padding=OptionsInfo(scss=True, category='heading', type='px', value='4px'), heading_padding_horizontal=OptionsInfo(scss=True, category='heading', type='px', value='5px'), heading_border_bottom_style=OptionsInfo(scss=True, category='heading', type='value', value='solid'), heading_border_bottom_width=OptionsInfo(scss=True, category='heading', type='px', value='2px'), heading_border_bottom_color=OptionsInfo(scss=True, category='heading', type='value', value='#D3D3D3'), heading_border_lr_style=OptionsInfo(scss=True, category='heading', type='value', value='none'), heading_border_lr_width=OptionsInfo(scss=True, category='heading', type='px', value='1px'), heading_border_lr_color=OptionsInfo(scss=True, category='heading', type='value', value='#D3D3D3'), column_labels_background_color=OptionsInfo(scss=True, category='column_labels', type='value', value=None), column_labels_font_size=OptionsInfo(scss=True, category='column_labels', type='px', value='100%'), column_labels_font_weight=OptionsInfo(scss=True, category='column_labels', type='value', value='normal'), column_labels_text_transform=OptionsInfo(scss=True, category='column_labels', type='value', value='inherit'), column_labels_padding=OptionsInfo(scss=True, category='column_labels', type='px', value='4px'), column_labels_padding_horizontal=OptionsInfo(scss=True, category='column_labels', type='px', value='5px'), column_labels_vlines_style=OptionsInfo(scss=True, category='table_body', type='value', value='none'), column_labels_vlines_width=OptionsInfo(scss=True, category='table_body', type='px', value='0px'), column_labels_vlines_color=OptionsInfo(scss=True, category='table_body', type='value', value='white'), column_labels_border_top_style=OptionsInfo(scss=True, category='column_labels', type='value', value='solid'), column_labels_border_top_width=OptionsInfo(scss=True, category='column_labels', type='px', value='2px'), column_labels_border_top_color=OptionsInfo(scss=True, category='column_labels', type='value', value='black'), column_labels_border_bottom_style=OptionsInfo(scss=True, category='column_labels', type='value', value='solid'), column_labels_border_bottom_width=OptionsInfo(scss=True, category='column_labels', type='px', value='0.5px'), column_labels_border_bottom_color=OptionsInfo(scss=True, category='column_labels', type='value', value='black'), column_labels_border_lr_style=OptionsInfo(scss=True, category='column_labels', type='value', value='none'), column_labels_border_lr_width=OptionsInfo(scss=True, category='column_labels', type='px', value='1px'), column_labels_border_lr_color=OptionsInfo(scss=True, category='column_labels', type='value', value='#D3D3D3'), column_labels_hidden=OptionsInfo(scss=False, category='column_labels', type='boolean', value=False), row_group_background_color=OptionsInfo(scss=True, category='row_group', type='value', value=None), row_group_font_size=OptionsInfo(scss=True, category='row_group', type='px', value='0px'), row_group_font_weight=OptionsInfo(scss=True, category='row_group', type='value', value='initial'), row_group_text_transform=OptionsInfo(scss=True, category='row_group', type='value', value='inherit'), row_group_padding=OptionsInfo(scss=True, category='row_group', type='px', value='0px'), row_group_padding_horizontal=OptionsInfo(scss=True, category='row_group', type='px', value='5px'), row_group_border_top_style=OptionsInfo(scss=True, category='row_group', type='value', value='solid'), row_group_border_top_width=OptionsInfo(scss=True, category='row_group', type='px', value='0.5px'), row_group_border_top_color=OptionsInfo(scss=True, category='row_group', type='value', value='black'), row_group_border_right_style=OptionsInfo(scss=True, category='row_group', type='value', value='none'), row_group_border_right_width=OptionsInfo(scss=True, category='row_group', type='px', value='1px'), row_group_border_right_color=OptionsInfo(scss=True, category='row_group', type='value', value='white'), row_group_border_bottom_style=OptionsInfo(scss=True, category='row_group', type='value', value='solid'), row_group_border_bottom_width=OptionsInfo(scss=True, category='row_group', type='px', value='0.5px'), row_group_border_bottom_color=OptionsInfo(scss=True, category='row_group', type='value', value='black'), row_group_border_left_style=OptionsInfo(scss=True, category='row_group', type='value', value='none'), row_group_border_left_width=OptionsInfo(scss=True, category='row_group', type='px', value='1px'), row_group_border_left_color=OptionsInfo(scss=True, category='row_group', type='value', value='white'), row_group_as_column=OptionsInfo(scss=False, category='row_group', type='boolean', value=False), table_body_hlines_style=OptionsInfo(scss=True, category='table_body', type='value', value='none'), table_body_hlines_width=OptionsInfo(scss=True, category='table_body', type='px', value='1px'), table_body_hlines_color=OptionsInfo(scss=True, category='table_body', type='value', value='#D3D3D3'), table_body_vlines_style=OptionsInfo(scss=True, category='table_body', type='value', value='none'), table_body_vlines_width=OptionsInfo(scss=True, category='table_body', type='px', value='0px'), table_body_vlines_color=OptionsInfo(scss=True, category='table_body', type='value', value='white'), table_body_border_top_style=OptionsInfo(scss=True, category='table_body', type='value', value='solid'), table_body_border_top_width=OptionsInfo(scss=True, category='table_body', type='px', value='0.5px'), table_body_border_top_color=OptionsInfo(scss=True, category='table_body', type='value', value='black'), table_body_border_bottom_style=OptionsInfo(scss=True, category='table_body', type='value', value='solid'), table_body_border_bottom_width=OptionsInfo(scss=True, category='table_body', type='px', value='2px'), table_body_border_bottom_color=OptionsInfo(scss=True, category='table_body', type='value', value='black'), data_row_padding=OptionsInfo(scss=True, category='data_row', type='px', value='4px'), data_row_padding_horizontal=OptionsInfo(scss=True, category='data_row', type='px', value='5px'), stub_background_color=OptionsInfo(scss=True, category='stub', type='value', value=None), stub_font_size=OptionsInfo(scss=True, category='stub', type='px', value='100%'), stub_font_weight=OptionsInfo(scss=True, category='stub', type='value', value='initial'), stub_text_transform=OptionsInfo(scss=True, category='stub', type='value', value='inherit'), stub_border_style=OptionsInfo(scss=True, category='stub', type='value', value='hidden'), stub_border_width=OptionsInfo(scss=True, category='stub', type='px', value='2px'), stub_border_color=OptionsInfo(scss=True, category='stub', type='value', value='#D3D3D3'), stub_row_group_background_color=OptionsInfo(scss=True, category='stub', type='value', value=None), stub_row_group_font_size=OptionsInfo(scss=True, category='stub', type='px', value='100%'), stub_row_group_font_weight=OptionsInfo(scss=True, category='stub', type='value', value='initial'), stub_row_group_text_transform=OptionsInfo(scss=True, category='stub', type='value', value='inherit'), stub_row_group_border_style=OptionsInfo(scss=True, category='stub', type='value', value='solid'), stub_row_group_border_width=OptionsInfo(scss=True, category='stub', type='px', value='2px'), stub_row_group_border_color=OptionsInfo(scss=True, category='stub', type='value', value='#D3D3D3'), source_notes_padding=OptionsInfo(scss=True, category='source_notes', type='px', value='4px'), source_notes_padding_horizontal=OptionsInfo(scss=True, category='source_notes', type='px', value='5px'), source_notes_background_color=OptionsInfo(scss=True, category='source_notes', type='value', value=None), source_notes_font_size=OptionsInfo(scss=True, category='source_notes', type='px', value='90%'), source_notes_border_bottom_style=OptionsInfo(scss=True, category='source_notes', type='value', value='none'), source_notes_border_bottom_width=OptionsInfo(scss=True, category='source_notes', type='px', value='2px'), source_notes_border_bottom_color=OptionsInfo(scss=True, category='source_notes', type='value', value='#D3D3D3'), source_notes_border_lr_style=OptionsInfo(scss=True, category='source_notes', type='value', value='none'), source_notes_border_lr_width=OptionsInfo(scss=True, category='source_notes', type='px', value='2px'), source_notes_border_lr_color=OptionsInfo(scss=True, category='source_notes', type='value', value='#D3D3D3'), source_notes_multiline=OptionsInfo(scss=False, category='source_notes', type='boolean', value=True), source_notes_sep=OptionsInfo(scss=False, category='source_notes', type='value', value=' '), row_striping_background_color=OptionsInfo(scss=True, category='row', type='value', value='rgba(128,128,128,0.05)'), row_striping_include_stub=OptionsInfo(scss=False, category='row', type='boolean', value=False), row_striping_include_table_body=OptionsInfo(scss=False, category='row', type='boolean', value=False), container_width=OptionsInfo(scss=False, category='container', type='px', value='auto'), container_height=OptionsInfo(scss=False, category='container', type='px', value='auto'), container_padding_x=OptionsInfo(scss=False, category='container', type='px', value='0px'), container_padding_y=OptionsInfo(scss=False, category='container', type='px', value='10px'), container_overflow_x=OptionsInfo(scss=False, category='container', type='overflow', value='auto'), container_overflow_y=OptionsInfo(scss=False, category='container', type='overflow', value='auto'), quarto_disable_processing=OptionsInfo(scss=False, category='quarto', type='logical', value=False), quarto_use_bootstrap=OptionsInfo(scss=False, category='quarto', type='logical', value=False)), _has_built=False)" ] }, "execution_count": 8, @@ -585,6 +585,12 @@ " solver=solver,\n", " )\n", "\n", + " if not skip_demean_benchmark:\n", + " if demeaner_backend == \"jax\":\n", + " _, _ = demean_jax(X, f, weights, tol=1e-10)\n", + " else:\n", + " _, _ = demean(X, f, weights, tol=1e-10)\n", + "\n", " if k > 1:\n", " xfml = \"+\".join([f\"X{i}\" for i in range(2, k + 1, 1)])\n", " fml = f\"{fml_base} + {xfml} | {fixed_effect}\"\n", @@ -706,8 +712,8 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -718,7 +724,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -730,7 +736,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -742,8 +748,8 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -754,8 +760,8 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -766,8 +772,8 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -778,7 +784,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -790,8 +796,8 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -802,8 +808,8 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -814,8 +820,8 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", "
X10.369205***
(0.041655)
0.369205***
(0.041655)
0.257668***
(0.029134)
0.257668***
(0.029134)
fe
R20.2423760.2423760.2830800.283080
1110.1276493.505420.1604290.0
11120.2075090.1312250.0
1130.1933730.1316260.0
1140.1414420.00.1354970.001003
41150.1356380.0010010.1301120.001006
51160.1339580.0009960.1334290.0
61170.1344920.1471660.0
1180.1345430.00.1401050.000984
81190.1347680.00.1586010.001009
911100.134080.00.1561010.000999
\n", @@ -823,28 +829,28 @@ ], "text/plain": [ " method solver demeaner_backend n_obs k G rep full_feols_timing \\\n", - "0 feols np.linalg.lstsq numba 1000 1 1 1 0.127649 \n", - "1 feols np.linalg.lstsq numba 1000 1 1 2 0.207509 \n", - "2 feols np.linalg.lstsq numba 1000 1 1 3 0.193373 \n", - "3 feols np.linalg.lstsq numba 1000 1 1 4 0.141442 \n", - "4 feols np.linalg.lstsq numba 1000 1 1 5 0.135638 \n", - "5 feols np.linalg.lstsq numba 1000 1 1 6 0.133958 \n", - "6 feols np.linalg.lstsq numba 1000 1 1 7 0.134492 \n", - "7 feols np.linalg.lstsq numba 1000 1 1 8 0.134543 \n", - "8 feols np.linalg.lstsq numba 1000 1 1 9 0.134768 \n", - "9 feols np.linalg.lstsq numba 1000 1 1 10 0.13408 \n", + "0 feols np.linalg.lstsq numba 1000 1 1 1 0.160429 \n", + "1 feols np.linalg.lstsq numba 1000 1 1 2 0.131225 \n", + "2 feols np.linalg.lstsq numba 1000 1 1 3 0.131626 \n", + "3 feols np.linalg.lstsq numba 1000 1 1 4 0.135497 \n", + "4 feols np.linalg.lstsq numba 1000 1 1 5 0.130112 \n", + "5 feols np.linalg.lstsq numba 1000 1 1 6 0.133429 \n", + "6 feols np.linalg.lstsq numba 1000 1 1 7 0.147166 \n", + "7 feols np.linalg.lstsq numba 1000 1 1 8 0.140105 \n", + "8 feols np.linalg.lstsq numba 1000 1 1 9 0.158601 \n", + "9 feols np.linalg.lstsq numba 1000 1 1 10 0.156101 \n", "\n", " demean_timing \n", - "0 3.50542 \n", + "0 0.0 \n", "1 0.0 \n", "2 0.0 \n", - "3 0.0 \n", - "4 0.001001 \n", - "5 0.000996 \n", + "3 0.001003 \n", + "4 0.001006 \n", + "5 0.0 \n", "6 0.0 \n", - "7 0.0 \n", - "8 0.0 \n", - "9 0.0 " + "7 0.000984 \n", + "8 0.001009 \n", + "9 0.000999 " ] }, "execution_count": 10, @@ -919,8 +925,8 @@ " 1\n", " 1\n", " 1\n", - " 0.136045\n", - " 0.13469\n", + " 0.146162\n", + " 0.196979\n", " \n", " \n", " 1\n", @@ -931,8 +937,8 @@ " 1\n", " 1\n", " 2\n", - " 0.128686\n", - " 0.011849\n", + " 0.146127\n", + " 0.011776\n", " \n", " \n", " 2\n", @@ -943,8 +949,8 @@ " 1\n", " 1\n", " 3\n", - " 0.136943\n", - " 0.010932\n", + " 0.153895\n", + " 0.012497\n", " \n", " \n", " 3\n", @@ -955,8 +961,8 @@ " 1\n", " 1\n", " 4\n", - " 0.135532\n", - " 0.010759\n", + " 0.164696\n", + " 0.012709\n", " \n", " \n", " 4\n", @@ -967,8 +973,8 @@ " 1\n", " 1\n", " 5\n", - " 0.132929\n", - " 0.010949\n", + " 0.147778\n", + " 0.012649\n", " \n", " \n", " 5\n", @@ -979,8 +985,8 @@ " 1\n", " 1\n", " 6\n", - " 0.137025\n", - " 0.010561\n", + " 0.156842\n", + " 0.012004\n", " \n", " \n", " 6\n", @@ -991,8 +997,8 @@ " 1\n", " 1\n", " 7\n", - " 0.134386\n", - " 0.012075\n", + " 0.144683\n", + " 0.012104\n", " \n", " \n", " 7\n", @@ -1003,8 +1009,8 @@ " 1\n", " 1\n", " 8\n", - " 0.133583\n", - " 0.013626\n", + " 0.144666\n", + " 0.011525\n", " \n", " \n", " 8\n", @@ -1015,8 +1021,8 @@ " 1\n", " 1\n", " 9\n", - " 0.128547\n", - " 0.0109\n", + " 0.138009\n", + " 0.009692\n", " \n", " \n", " 9\n", @@ -1027,8 +1033,8 @@ " 1\n", " 1\n", " 10\n", - " 0.135759\n", - " 0.01371\n", + " 0.13397\n", + " 0.01277\n", " \n", " \n", "\n", @@ -1036,28 +1042,28 @@ ], "text/plain": [ " method solver demeaner_backend n_obs k G rep full_feols_timing \\\n", - "0 feols np.linalg.lstsq jax 1000 1 1 1 0.136045 \n", - "1 feols np.linalg.lstsq jax 1000 1 1 2 0.128686 \n", - "2 feols np.linalg.lstsq jax 1000 1 1 3 0.136943 \n", - "3 feols np.linalg.lstsq jax 1000 1 1 4 0.135532 \n", - "4 feols np.linalg.lstsq jax 1000 1 1 5 0.132929 \n", - "5 feols np.linalg.lstsq jax 1000 1 1 6 0.137025 \n", - "6 feols np.linalg.lstsq jax 1000 1 1 7 0.134386 \n", - "7 feols np.linalg.lstsq jax 1000 1 1 8 0.133583 \n", - "8 feols np.linalg.lstsq jax 1000 1 1 9 0.128547 \n", - "9 feols np.linalg.lstsq jax 1000 1 1 10 0.135759 \n", + "0 feols np.linalg.lstsq jax 1000 1 1 1 0.146162 \n", + "1 feols np.linalg.lstsq jax 1000 1 1 2 0.146127 \n", + "2 feols np.linalg.lstsq jax 1000 1 1 3 0.153895 \n", + "3 feols np.linalg.lstsq jax 1000 1 1 4 0.164696 \n", + "4 feols np.linalg.lstsq jax 1000 1 1 5 0.147778 \n", + "5 feols np.linalg.lstsq jax 1000 1 1 6 0.156842 \n", + "6 feols np.linalg.lstsq jax 1000 1 1 7 0.144683 \n", + "7 feols np.linalg.lstsq jax 1000 1 1 8 0.144666 \n", + "8 feols np.linalg.lstsq jax 1000 1 1 9 0.138009 \n", + "9 feols np.linalg.lstsq jax 1000 1 1 10 0.13397 \n", "\n", " demean_timing \n", - "0 0.13469 \n", - "1 0.011849 \n", - "2 0.010932 \n", - "3 0.010759 \n", - "4 0.010949 \n", - "5 0.010561 \n", - "6 0.012075 \n", - "7 0.013626 \n", - "8 0.0109 \n", - "9 0.01371 " + "0 0.196979 \n", + "1 0.011776 \n", + "2 0.012497 \n", + "3 0.012709 \n", + "4 0.012649 \n", + "5 0.012004 \n", + "6 0.012104 \n", + "7 0.011525 \n", + "8 0.009692 \n", + "9 0.01277 " ] }, "execution_count": 11, @@ -1156,7 +1162,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": { "colab": { "background_save": true, @@ -1177,7 +1183,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "Running Benchmarks: 11%|█▏ | 11/96 [03:56<1:19:58, 56.45s/it]" + "Running Benchmarks: 100%|██████████| 24/24 [02:38<00:00, 6.59s/it]\n" ] } ], @@ -1192,7 +1198,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": { "colab": { "background_save": true, @@ -1208,7 +1214,106 @@ "id": "7zEIHj5nXXvq", "outputId": "238dedce-a9f5-4a1b-b9a2-b84d4a89c091" }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
methoddemeaner_backendkGn_obsfull_feols_timingdemean_timing
0feolsjax11100000.228840.082133
1feolsjax111000000.2783820.659936
2feolsjax12100000.2594130.070082
3feolsjax121000000.5564650.676255
4feolsjax13100000.294520.080892
\n", + "
" + ], + "text/plain": [ + " method demeaner_backend k G n_obs full_feols_timing demean_timing\n", + "0 feols jax 1 1 10000 0.22884 0.082133\n", + "1 feols jax 1 1 100000 0.278382 0.659936\n", + "2 feols jax 1 2 10000 0.259413 0.070082\n", + "3 feols jax 1 2 100000 0.556465 0.676255\n", + "4 feols jax 1 3 10000 0.29452 0.080892" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "df = (\n", " res_all.drop([\"rep\", \"solver\"], axis=1)\n", @@ -1221,7 +1326,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -1242,7 +1347,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -1300,18 +1405,56 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:matplotlib.category:Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.\n", + "INFO:matplotlib.category:Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.\n" + ] + }, + { + "data": { + "image/png": "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7bfNxIkTzbPPPmsk2RwL8fHx5qWXXjLe3t6me/fuZsqUKaZLly7Gzc3NvPrqq/fcTj///LORZL788kub8piYGOPj42M6d+5sjDHmzJkzJnv27KZYsWJm5MiRZtq0aaZfv37mySefvOf8E7fvU089Za5cuWKyZ89u6tatm2Sbjhw5Msn2uFty53HBggVN8eLFTd68ec3AgQPN6NGjTVBQkPH19TXz5s0zTzzxhBk2bJgZNmyY8ff3N0WKFDHx8fHW6SMiIoynp6cpWrSoadmypRk/frz1GP/www9tlv/mm28aNzc30759ezN58mTTu3dv4+PjYypWrGjd94kxFSlSxGTPnt306dPHTJ482axduzbF7ZO4XhUrVjSjR482ffr0MV5eXiY4ONhcunTJGGPMqlWrTIcOHYwkM2jQIDN37lyzadOmFOeZL18+ExwcnOJwY4wJDg42+fPnt35O3O6lS5c2devWNePHjzdvvPGG9dxMtHv3buPu7m4qVKhgxo4dayZPnmzeffdd89xzz1nHceSYlGSefPJJExAQYKKiosyECRPMb7/9Ztq2bWuyZctmYmNjbcafM2eOzbl97tw5kzdvXhMZGWkmTZpkRowYYYoXL26yZMlifvvtN2OMMdeuXTOTJk0ykkyDBg2s5+SuXbts1v1OERERRpJp2LChmTBhgmnVqpWRZOrXr28zXuIxGBgYaN5//30zfvx4U758eWOxWMzu3but473//vvGYrGY9u3bm2nTpplPP/3UNGvWzAwbNuye+ynx+ChdurSpVq2a+eyzz0znzp2Ni4uLee6550xCQoIxxpgff/zRSDJLly61mf7UqVPG1dXVDBo06J7LqV69usmXL58pUKCA6datm5k4caJ54YUXjCSzbNmye057p7lz55pq1aoZDw8P63Y+dOiQdVvdWfccPnzY+Pr6mgYNGljL+vTpYywWi8017qOPPjIWi8U0adLETJw40URFRZlcuXLZnCPffPONadCggfX6fuf+vdu9zqe7r/txcXGmXLlypmDBgiY6OtoYY8yKFSuMJDN48GDreKtXrzbu7u6mSpUq5tNPPzWjR482ZcqUMe7u7mbLli3W8X7//Xfj5eVlnnjiCTN06FAzePBgExgYaMqUKZPsde9u9iwnpXuYe623vfGfPHnS5MuXz3puT5482Xz44YfmySefNJcuXTKHDh0yXbt2NZLM+++/bz0GTp8+/VD1SP369U3jxo3NyJEjzaRJk0yjRo2MJPPuu+/ajGfvcXz9+nVTrFgx4+npad577z0zZswYExYWZt0P97pmG/O/a8a5c+eMMcYcPHjQPPHEEyY0NNRadr9pS5YsaV599VUzceJEM2HCBGOMfce6McZMnDjRSLJeEyIjI02OHDlMSEiIzf3M2rVrrcsKDQ01o0aNMkOHDjUxMTF27/PmzZsbd3d3ExkZaaZPn26GDx9u6tata+bNm2eMMSY2NtYUKlTI5MuXz3z00Udm+vTpJioqylSsWNEcPXrUOh9HrqnJ1aH21D2OGjlypJFkVq1aZerXr2+yZctmTp06Zff0L7/8sqlZs6Yxxphjx44Zi8WS5H7KGGP+85//GH9/f3P8+HFjzL/XAXd3d9OuXTub8e6+P7zftk/J7t27jY+Pj8mbN68ZPHiwGTZsmClUqJDx8PAwv/zyi3W8xPqlXLly5oUXXjDjxo0zPXv2NK6urqZx48b3XMa97nXtvV9OjNWe71UpkWS9V01OQkKCeeGFF4zFYjFvvvmmGT9+vKlbt66RZLp3724zriPfR+42ZMgQI8nMnj37vjGvWrXKuLu7m4IFC5oBAwaYSZMmma5du5patWpZx/nkk09MtWrVzKBBg8zUqVNNt27djJeXl6lUqZK13jcm+Xvjzz//3FgsFvPyyy+bcePGmeHDh5vg4GCTLVs2u78LA8CjhmQFAKdK/GL11Vdf2ZSnZ7LiXnHUrFnTlC5d2ty8edNalpCQYJ555hlTtGhRa1n37t2NJPN///d/1rKrV6+aQoUKmeDgYOsD07uTFZcuXUry8PZBJH4BS26dU0pWhIeH29wAV6lSxVgsFtOxY0dr2e3bt03+/PmT7IuUHsC3bdvWZrwGDRqYnDlzWj9v37492S8MrVu3TpVkxU8//WTOnTtnTpw4YRYtWmQCAgKMh4eHOXHihHVcR5MVOXPmNBcvXrSWL1myJMlDws6dO6f44CmlbdWhQwdrWeJ2tlgsNg8zL126ZLy8vGz239y5c42Li4vNsWaMMZMnTzaSzMaNG1PcTgkJCSYoKMi8/vrrNuVffvmlkWR+/vlnY8y/DwKTS/7YIzFZYYwxUVFRRpLZvn27MSZ1khWSbB7cr1y50kgyXl5e5tixY9byKVOmJHkIlfjw5J133rHZJnXq1DHu7u7Wh07/93//ZySZ+fPn28SU+NDyzvLEmFasWHHfbRMXF2dy585tSpUqZW7cuGEt//77740k079//yTrf799cPnyZSPpvomqevXqGUnWB7CJ271evXo243Xq1MlIsj74HT16tM1DuuQ4ckxKMi4uLubPP/+0GTdxP9798L127dqmcOHC1s+3b99OktC4dOmSCQwMtLn+nDt3LsUHDncfczt37jSSzJtvvmkz3rvvvmskmTVr1ljLEvd34rlijDFnz541Hh4epmfPntaysmXLmjp16iRZ9v0k7vewsDCbBzwjRowwksySJUuMMf8miPLnz2+aNGliM/2oUaOMxWIxhw8fvudyqlevbiSZzz//3FoWGxtr8uTJk+T6cD8RERHGx8cnSfnddY8x/zsv582bZ3755Rfj6upqUx8cPXrUuLq6mo8//thmuj/++MO4ubnZlN/9APleUjqfkrun+OOPP4y7u7t58803zaVLl0xQUJCpUKGCuXXrljHm32tG0aJFk9Sh169fN4UKFTIvvviitax+/frG09PT5tq0Z88e4+rqet9khSPLSekeJrn1dmS+rVq1Mi4uLslehxKn/eqrr5J94P8w9cj169eTlL311lvG29vb5n7M3uN4zJgxSRL1MTExpkiRIg4nK/bu3Wvy5ctnKlasaHNvcL9pmzVrZlNu77EeGxtrcubMaSpWrGg9Bo0xZvbs2UnukRKPg8KFC9tsQ0f2ub+//z0fBv/222/JHmt3epBr6t11qD11j6Nu3bplQkNDTY4cOYwkM2XKFLunPXPmjHFzczPTpk2zlj3zzDPJ1r2nTp0yOXLkMC+++KKJjY015cqVM0888YS5cuWKzXh311H32/YpqV+/vnF3d7cmio0x5p9//jFZs2a1Se4kXg9q1aplcxz06NHDuLq6msuXL99zOSnd6zpyv2zv96qU3C9Z8e233xpJ5qOPPrIpb9iwobFYLObgwYPGGMe/j9zt9OnTJiAgwEgyJUqUMB07djRffPFFkm14+/ZtU6hQIVOwYEGbBKQxJsm5eLf//ve/Se437r43vnr1qsmWLZtp3759kvj8/f2TlANARkEzUACQgosXL2rNmjVq3Lixrl69qvPnz+v8+fO6cOGCwsPDdeDAAWvTLcuWLVOlSpVsXu339fVVhw4ddPToUe3ZsyfZZSS2871u3bok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tmXLlmTvbbZu3aoLFy5Ym+UqX768ChUqpDFjxiTZbonnfXLXPCnp+ZOc8PBw+fn5aciQIcn2DZQa2xQAnIE3KwA8ktq2batRo0YpPDxc7dq109mzZzV58mQ99dRTSTqKS0sTJkxQ1apVVbp0abVv316FCxfWmTNntHnzZv3999/atWuXJKlPnz7673//q1deeUVdu3ZVjhw5NGfOHB05ckRff/11iq9+//XXX6pZs6YaN26skiVLys3NTd98843OnDmjpk2b2h1nWFiYJKlfv35q2rSpsmTJorp161q/WDwqwsLC9Prrr2vMmDG6cOGCnn76aa1fv976Be7uX209+eSTql69ukOdbN+tV69eatSokWbPnq2OHTumybGVuP27du2q8PBwubq6OrT/HNGyZUt9+eWX6tixo9auXatnn31W8fHx2rdvn7788kutXLky2c5Q71S+fHkVKVJE/fr1U2xsbLJ9AkycOFENGjRQSEiIrl69qmnTpsnPzy/JL7vt4e/vr27duiXb0fZLL72kJ554Qu3atVOvXr3k6uqqmTNnKiAgIE0eQHh6emrFihWKiIhQ5cqVtXz5cv3www96//33rc07Va9eXW+99ZaGDh2qnTt36qWXXlKWLFl04MABffXVVxo7dqxNR632ypIli4YPH642bdqoevXqatasmc6cOaOxY8cqODhYPXr0eKB1Klq0qObMmaMWLVqodOnSateunQoVKqSjR49qxowZOn/+vP773/9aE0N3OnLkiOrVq6eXX35Zmzdv1rx589S8eXNr00uDBg3Szz//rDp16qhgwYI6e/asJk6cqPz581vf4kiNYzJRkyZNNG7cOA0YMEClS5e2+VWu9O9bJIsXL1aDBg1Up04dHTlyRJMnT1bJkiVtHsJ5eXmpZMmSWrhwoYoVK6YcOXKoVKlSybYbXbZsWUVERGjq1KnWJmi2bt2qOXPmqH79+ja/ZrZXyZIlVaNGDYWFhSlHjhz69ddftWjRIpvO3e8lLi7OWjfs379fEydOVNWqVVWvXj2b8QICAvTyyy/rq6++UrZs2R444ZUeZs2apR9++EGzZ8+2NhUzbtw4vfHGG5o0aZI6deqkkJAQffTRR+rbt6+OHj2q+vXrK2vWrDpy5Ii++eYbdejQQe+++26axbh37159+OGHat26terWrStJmj17tkJDQ9WpUyd9+eWXcnFx0fTp0/XKK6/oqaeeUps2bRQUFKSTJ09q7dq18vPz09KlSyVJUVFRWrFihapVq6ZOnTrp9u3bGjdunJ566qn7Nt3myHIc4ch8hwwZolWrVql69erq0KGDnnzySZ06dUpfffWVNmzYoGzZsik0NFSurq4aPny4rly5Ig8PD73wwgv64osvHqgeeeaZZ5Q9e3ZFRESoa9euslgsmjt37kM1UdO+fXuNHz9erVq10vbt25U3b17NnTvXmtR0dPvNmzdP9evXV+PGjbVs2bIkb8rZw95j3d3dXQMHDtQ777yjF154QY0bN9bRo0c1e/ZshYSE2PVrd3v3+dWrV5U/f341bNhQZcuWla+vr3766Sdt27ZNn376qSRpzZo16tKlixo1aqRixYrp9u3b1jcOEjufTo1rqj11j5Q694n3smXLFh08eDDFa3dQUJDKly+v+fPnq3fv3jp79qzefvttPf/889Zpxo8fr7Vr16p169basGFDst8J7Nn2Kfnoo4/0448/qmrVqurUqZPc3Nw0ZcoUxcbGasSIEQ+/Ef6/1LjXtfd71b38+uuv+uijj5KU16hRQ3Xr1tXzzz+vfv366ejRoypbtqxWrVqlJUuWqHv37tb7IEe/j9xt7ty5mj9/vho0aKCwsDC5u7tr7969mjlzpjw9PfX+++9L+vfcmzRpkurWravQ0FC1adNGefPm1b59+/Tnn39a+79J7LPw1q1bCgoK0qpVq+x6m8zPz0+TJk1Sy5YtVb58eTVt2tR6//zDDz/o2WefTZK4AYAMwQCAE61du9ZIMl999VWSYfPmzTOFCxc27u7uJjQ01KxcudJERESYggUL2ownyQwYMMD6edasWUaSOXLkSKrEcejQIdOqVSuTJ08ekyVLFhMUFGT+85//mEWLFiUZr2HDhiZbtmzG09PTVKpUyXz//fc24xw5csRIMrNmzTLGGHP+/HnTuXNnU6JECePj42P8/f1N5cqVzZdffml37IkGDx5sgoKCjIuLi836FyxY0ERERFjHS9w+27Zts5l+wIABRpI5d+6cTXlERITx8fGxKbt7m6c0bXL7IiYmxnTu3NnkyJHD+Pr6mvr165v9+/cbSWbYsGFJllO9evX7rntK62SMMfHx8SYkJMSEhISY27dvG2PsO7YS99XIkSOTzPPu9b99+7Z55513TEBAgLFYLObO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EhISoixZsmjLli164oknJEmXLl3SX3/9perVq6tcuXKKj4/X2bNnVa1atVRbrj3z3bhxo1599VW98cYbkv5t0uivv/5SyZIl7V5O+fLldfr0abm5uSk4ODg1QrfasmWLzedffvlFRYsWlaurq/bt26cLFy5o2LBhKlCggCTp119/tRm/TJkymjNnjm7dupXi2xW5cuXS4sWLVaNGDTVu3FhffvmlsmTJkirrdb99/6DoYBsAAAAAAAAA4BBfX1+1a9dOvXr10po1a7R79261bt1aLi7/PnIuVqyYWrRooVatWmnx4sU6cuSItm7dqqFDh+qHH3544OXaM9+iRYvqxx9/1KZNm7R371699dZbOnPmjEPLqVWrlqpUqaL69etr1apVOnr0qDZt2qR+/folSR446vjx44qMjNT+/fv13//+V+PGjVO3bt0kSU888YTc3d01btw4HT58WN99950GDx5sM32XLl0UHR2tpk2b6tdff9WBAwc0d+5c7d+/32a83Llza82aNdq3b5+aNWum27dvp8p63W/fPyiSFQAAAAAAAAAAh40cOVLVqlVT3bp1VatWLVWtWlVhYWHW4bNmzVKrVq3Us2dPFS9eXPXr19e2bdusv8Z/UPeb7wcffKDy5csrPDxcNWrUUJ48eWz6bbCHxWLRsmXL9Nxzz6lNmzYqVqyYmjZtqmPHjikwMPCh4m/VqpVu3LihSpUqqXPnzurWrZu1Y+uAgADNnj1bX331lUqWLKlhw4bpk08+sZk+Z86cWrNmja5du6bq1asrLCxM06ZNS/Ytizx58mjNmjX6448/1KJFCyUkJKTKet1v3z8IizHGPNQcMpjo6Gj5+/vrypUr8vPzS9V5L9t2LVXnB1uVo793dgiZVs6aTZ0dgkM419IO51naetTPNerIjInzNm096uft3TjX0g7nWtrJCOcZdWTGxHmbtjLCuZuI8yxtca6lnYx0ngGpgTcrAAAAAAAAAACAU5GsAAAAAAAAAADgIR0/fly+vr4p/h0/ftzZIT7S3JwdAAAAAAAAAAAAGV2+fPm0c+fOew5HykhWAAAAAAAAAADwkNzc3FSkSBFnh5FhPXbJisT+xKOjo1N93tev0WFTWroac93ZIWRaWdLgfEhLnGtph/MsbaXVuZY1a1ZZLJaHng91ZMbEeZu2qCORiHMt7aTleUYd+XjjvE1b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1vv1ABoLPbJ2jalHJsnxxx+fgQMHZtddd03Pnj0zbty4LFu2LE899VSDXA+2NK9NuXWTvig9YQU0oF/84hc57rjjcsstt2TIkCHrHdemTZv3fZ188skbVce0adNy8MEHp0WLFtXbBg0alDlz5uSNN97YqHMnyXnnnZfvfve7eeyxx9KsWbOMGDHiA48ZPHhw/vCHPyRJpk+fnnnz5qVr1641xlRUVOSWW27JT37yk/z617/O2rVrc8IJJ+Swww6rvsbYsWPz05/+NNddd13++te/5swzz8wJJ5yQhx56KF27ds28efPStm3bjB8/PvPmzVvvTw2dfPLJH/jnAED90SPXr7H3yKVLl6asrKzBfkoVYEunR65fY+6Rq1atyg033JB27dqld+/eG3wcQGPSrNQFQGM1YcKEnHfeefnNb36TQw455H3HftDzDdq2bbtRtcyfPz8f+chHamyrrKys3rfttttu1PkvvfTS6s947rnn5sgjj8w777yTioqK9R7TsmXL6mW6HTt2TKdOnWod16dPn3znO9/JV77ylXzpS1/Kyy+/nN/+9rdJkpUrV+ayyy7LH/7wh/Tv3z/Juz9d8/DDD+f666/PIYcckk6dOqWsrCzt2rVb7zWS5OKLL843v/nND/X5AagbPXLr7ZHvvPNOzjnnnBx33HEb/WcH0BjpkVtfj/ztb3+bL33pS3nrrbfSuXPn/P73v0+HDh026pzApjNgwIDss88+qaioyI033pgWLVrk5JNPzoUXXpiXXnopH/nIR/L4449Xr/5asmRJtt122zzwwAMZMGBAHnzwwXzqU5/K5MmTc+6552b27Nnp379/br311syYMSOjRo3Kq6++mv/3//5fbrzxxrRq1ar62mvWrMmpp56an/3sZ2nevHn+8z//MxdffHHKysqSJD/72c9yzTXXZM6cOWndunU+/elPZ/z48dlhhx1K8Vu1QYQV0ADuuOOOLFy4MFOnTs1+++33geN33333TVBVw9lnn32qf925c+ckycKFC7PzzjvXy/nPOuus/OpXv8q1116b++67r/rL6d/+9re89dZbOeyww2qMX7VqVfbdd986XWOHHXbYrP+yBmgs9Mitt0euXr06xx57bIqiyA9/+MONPh9AY6NHbp098lOf+lSeeOKJLF68OD/60Y9y7LHH5pFHHvHvU9iC/OQnP8moUaPyyCOPZNq0aTnxxBPziU98InvssccGn+PCCy/Mtddem1atWuXYY4/Nsccem/Ly8vziF7/I8uXL8/nPfz7f//73c84559S47kknnZTp06fnsccey1e/+tXsvPPOGTlyZJJ3v39fcskl6dGjRxYuXJhRo0blxBNPzKRJk+r996C+CCugAey7776ZOXNmJk6cmH79+lUnmuvzQUtDTzjhhFx33XUfup5OnTplwYIFNba99/79fkpkQzVv3rz61+991qqqqo0+73sWLlyY5557Lk2bNs3zzz+fz3zmM0mS5cuXJ3n3fq5dunSpcUx5eXmdrnHyySfn5z//+fuOee96AHx4euTW2SPfCypefvnl/PGPf7SqAqAWeuTW2SNbt26d3XffPbvvvns+/vGPZ4899shNN92U0aNH16kWoHT22WefjBkzJkmyxx575Nprr82UKVPqFFZ85zvfySc+8YkkyUknnZTRo0fnhRdeqH6u0Be+8IU88MADNcKKrl275uqrr05ZWVl69OiRp59+OldffXV1WPHvt9fbdddd873vfS/77bdfli9fvtne7lxYAQ1gt912y3e/+90MGDAgTZs2zbXXXvu+4xt6+W7//v1z3nnnZfXq1dVfCH//+9+nR48eG710d1MYMWJEevXqlZNOOikjR47MwIED89GPfjR77bVXysvLM3fu3A9cIv1B3AYKYNPQI+vXltAj3wsqnn/++TzwwAPVP9kKQE16ZP3aEnpkbaqqqrJy5cp6PSfQsP59pVjy7mqxhQsXfuhzVFZWplWrVtVBxXvbpk+fXuOYj3/84zWC7f79++e73/1u1q5dm6ZNm2bGjBm58MIL8+STT+aNN96oDoTnzp2bvfbaq071bSrCCmgg3bt3r77/XLNmzTJ+/Pj1jt3Y5bt/+9vfsnz58syfPz9vv/129ZfWvfbaKy1atMjxxx+fiy66KCeddFLOOeecPPPMM7nmmmty9dVXb9R1N4UJEyZk2rRpeeqpp9K1a9fce++9GTJkSP7yl79km222yTe/+c2ceeaZqaqqykEHHZSlS5dm6tSpadu2bYYNG7bB19nY5buvv/565s6dm3/+859Jkjlz5iR59yeO6uOnjgAaEz2yfmwJPXL16tX5whe+kJkzZ+a3v/1t1q5dm/nz5ydJtttuuxoPbQVAj6wvW0KPXLFiRS699NIcffTR6dy5cxYvXpwJEybk1VdfzRe/+MUPdU6gNP59pVjy7mqxqqqqNGnSJElSFEX1vtWrV3/gOcrKytZ7zg21YsWKDBo0KIMGDcott9ySjh07Zu7cuRk0aFBWrVq1wefZ1IQV0IB69OiRP/7xj9U/GfPd7363Qa7zla98JQ899FD1+/fus/niiy+mW7duadeuXX73u9/llFNOSd++fdOhQ4dccMEF+epXv9og9dSX2bNn5+yzz85NN92Url27Jkl+8IMfZJ999sn555+fK664Ipdcckk6duyYsWPH5u9//3vat2+fj33sY/mv//qvTVrrPffck+HDh1e//9KXvpQkGTNmTC688MJNWgvAlkCP3DhbSo989dVXc8899yRJ9UMF3/Pe/4wDoCY9cuNsKT2yadOmmT17dn7yk59k8eLF2X777bPffvvlf//3f9OzZ89NVgfQcDp27JgkmTdvXvXfsR+0Kq4uHnnkkRrv//KXv2SPPfao/vvltddey+WXX179d+Fjjz1Wb9duKGXFv0c7AP9mwIABOfHEE3PiiSeWuhQA2KzokQBQOz0SqC+vTbl1k15v+0O/VOdjBgwYkD59+tRYCXfMMcekffv2ufnmm9O/f/80b948119/fRYuXJhvfetbmT59evUP7jz44IP51Kc+lTfeeCPt27dPktx8880544wzsmTJkupzXnjhhfnVr35VHXYMGDAgM2bMyMiRI/O1r30tM2fOzMiRI/Pd7343X/va17Jo0aLstNNOOf3003PyySfnmWeeydlnn53nnnsujz/++Do/SLS5aFLqAgAAAAAAoLGZOHFi1qxZk759++aMM87Id77znXo799ChQ/P2229n//33zymnnJLTTz+9evVbx44dc/PNN+f222/PXnvtlcsvvzz//d//XW/XbihWVgDrtbE/EdOzZ8+8/PLLte67/vrrM2TIkI2oDgBKR48EgNrpkQB8WJ5ZAazXiSeeuFHLwiZNmrTeBwdVVlZ+6PMCQKnpkQBQOz0SgA/LygoAAAAAAKCkPLMCAAAAAAAoqa0urCiKIsuWLYsFJQBQkx4JALXTIwEAGt5WF1a8+eabadeuXd58881SlwIAmxU9EgBqp0cCADS8rS6sAAAAAAAANi/CCgAAAAAAoKSEFQAAAAAAQEkJKwAAAAAAgJISVgAAAAAAACUlrAAAAAAAAEpKWAEAAAAAAJSUsAIAAAAAACgpYQUAAAAAAFBSwgoAAAAAAKCkhBUAAAAAAEBJCSsAAAAAAICSElYAAAAAAAAl1azUBQAAAABAQ5n06PJSl9CoHbFfm1KXADQSVlYAAAAAAAAlJawAAAAAAABKSlgBAAAAAACUlLACAAAAAAAoKWEFAAAAAABQUiUPKyZMmJBu3bqloqIiBxxwQKZPn77esatXr87FF1+c3XbbLRUVFendu3cmT568CasFAAAAAADqW0nDittuuy2jRo3KmDFjMnPmzPTu3TuDBg3KwoULax3/7W9/O9dff32+//3v59lnn83JJ5+cz3/+83n88cc3ceUAAAAAAEB9KSuKoijVxQ844IDst99+ufbaa5MkVVVV6dq1a77xjW/k3HPPXWf8jjvumPPOOy+nnHJK9bb/7//7/9KyZcv8/Oc/r/UaK1euzMqVK6vfL1u2LF27ds3SpUvTtm3bev5EALDl0CMBoHZ6JDQukx5dXuoSGrUj9mtT6hKARqJkKytWrVqVGTNmZODAgf8qpkmTDBw4MNOmTav1mJUrV6aioqLGtpYtW+bhhx9e73XGjh2bdu3aVb+6du1aPx8AALZweiQA1E6PBADY9EoWVixevDhr165NZWVlje2VlZWZP39+rccMGjQo48aNy/PPP5+qqqr8/ve/z1133ZV58+at9zqjR4/O0qVLq1+vvPJKvX4OANhS6ZEAUDs9EgBg02tW6gLq4pprrsnIkSOz5557pqysLLvttluGDx+eiRMnrveY8vLylJeXb8IqAWDLoEcCQO30SACATa9kKys6dOiQpk2bZsGCBTW2L1iwIJ06dar1mI4dO+ZXv/pVVqxYkZdffjmzZ89OmzZtsuuuu26KkgEAAAAAgAZQsrCiRYsW6du3b6ZMmVK9raqqKlOmTEn//v3f99iKiop06dIla9asyZ133pnPfe5zDV0uAAAAAADQQEp6G6hRo0Zl2LBh6devX/bff/+MHz8+K1asyPDhw5MkQ4cOTZcuXTJ27NgkySOPPJJXX301ffr0yauvvpoLL7wwVVVV+da3vlXKjwEAAAAAAGyEkoYVgwcPzqJFi3LBBRdk/vz56dOnTyZPnlz90O25c+emSZN/Lf5455138u1vfzt///vf06ZNmxxxxBH52c9+lvbt25foEwAAAAAAABurrCiKotRFbErLli1Lu3btsnTp0rRt27bU5QDAZkOPBIDa6ZGwZZv06PJSl9CoHbFfm1KXADQSJXtmBQAAAAAAQCKsAAAAAAAASkxYAQAAAAAAlJSwAgAAAAAAKClhBQAAAAAAUFLCCgAAAAAAoKSEFQAAAAAAQEkJKwAAAAAAgJISVgAAAAAAACUlrAAAAAAAAEpKWAEAAAAAAJSUsAIAAAAAACipkocVEyZMSLdu3VJRUZEDDjgg06dPf9/x48ePT48ePdKyZct07do1Z555Zt55551NVC0AAAAAAFDfShpW3HbbbRk1alTGjBmTmTNnpnfv3hk0aFAWLlxY6/hf/OIXOffcczNmzJjMmjUrN910U2677bb813/91yauHAAAAAAAqC8lDSvGjRuXkSNHZvjw4dlrr71y3XXXpVWrVpk4cWKt4//85z/nE5/4RI4//vh069Ythx9+eI477rgPXI0BAAAAAABsvkoWVqxatSozZszIwIED/1VMkyYZOHBgpk2bVusxBx54YGbMmFEdTvz973/PpEmTcsQRR6z3OitXrsyyZctqvAAAPRIA1kePBADY9EoWVixevDhr165NZWVlje2VlZWZP39+rcccf/zxufjii3PQQQelefPm2W233TJgwID3vQ3U2LFj065du+pX165d6/VzAMCWSo8EgNrpkQAAm17JH7BdFw8++GAuu+yy/OAHP8jMmTNz11135d57780ll1yy3mNGjx6dpUuXVr9eeeWVTVgxAGy+9EgAqJ0eCQCw6TUr1YU7dOiQpk2bZsGCBTW2L1iwIJ06dar1mPPPPz9f/vKX85WvfCVJ0qtXr6xYsSJf/epXc95556VJk3Wzl/Ly8pSXl9f/BwCALZweCQC10yMBADa9kq2saNGiRfr27ZspU6ZUb6uqqsqUKVPSv3//Wo9566231gkkmjZtmiQpiqLhigUAAAAAABpMyVZWJMmoUaMybNiw9OvXL/vvv3/Gjx+fFStWZPjw4UmSoUOHpkuXLhk7dmyS5Kijjsq4ceOy77775oADDsjf/va3nH/++TnqqKOqQwsAAAAAAGDLUtKwYvDgwVm0aFEuuOCCzJ8/P3369MnkyZOrH7o9d+7cGispvv3tb6esrCzf/va38+qrr6Zjx4456qijcumll5bqIwAAAAAAABuprNjK7p+0bNmytGvXLkuXLk3btm1LXQ4AbDb0SAConR4JW7ZJjy4vdQmN2hH7tSl1CUAjUbJnVgAAAAAAACTCCgAAAAAAoMSEFQAAAAAAQEkJKwAAAAAAgJISVgAAAAAAACUlrAAAAAAAAEpKWAEAAAAAAJSUsAIAAAAAACgpYQUAAAAAAFBSwgoAAAAAAKCkhBUAAAAAAEBJCSsAAAAAAICSElYAAAAAAAAlJawAAAAAAABKqlmpCwAAAOrHpEeXl7qERuuI/dqUugQAAGjUrKwAAAAAAABKarMIKyZMmJBu3bqloqIiBxxwQKZPn77esQMGDEhZWdk6ryOPPHITVgwAAAAAANSXkocVt912W0aNGpUxY8Zk5syZ6d27dwYNGpSFCxfWOv6uu+7KvHnzql/PPPNMmjZtmi9+8YubuHIAAAAAAKA+lPyZFePGjcvIkSMzfPjwJMl1112Xe++9NxMnTsy55567zvjtttuuxvtbb701rVq1Wm9YsXLlyqxcubL6/bJly+qxegDYcumRAFA7PRIAYNMr6cqKVatWZcaMGRk4cGD1tiZNmmTgwIGZNm3aBp3jpptuype+9KW0bt261v1jx45Nu3btql9du3atl9oBYEunRwJA7fRIAIBNr6RhxeLFi7N27dpUVlbW2F5ZWZn58+d/4PHTp0/PM888k6985SvrHTN69OgsXbq0+vXKK69sdN0A0BjokQBQOz0SAGDTK/ltoDbGTTfdlF69emX//fdf75jy8vKUl5dvwqoAYMugRwJA7fRIAIBNr6QrKzp06JCmTZtmwYIFNbYvWLAgnTp1et9jV6xYkVtvvTUnnXRSQ5YIAAAAAAA0sJKGFS1atEjfvn0zZcqU6m1VVVWZMmVK+vfv/77H3n777Vm5cmVOOOGEhi4TAAAAAABoQCW/DdSoUaMybNiw9OvXL/vvv3/Gjx+fFStWZPjw4UmSoUOHpkuXLhk7dmyN42666aYcc8wx2X777UtRNgAAAAAAUE9KHlYMHjw4ixYtygUXXJD58+enT58+mTx5cvVDt+fOnZsmTWouAJkzZ04efvjh/O53vytFyQAAAAAAQD3aqLBi5cqV9fLQsVNPPTWnnnpqrfsefPDBdbb16NEjRVFs9HUBAAAAAIDSq9MzK+67774MGzYsu+66a5o3b55WrVqlbdu2OeSQQ3LppZfmn//8Z0PVCQAAAAAANFIbFFbcfffd6d69e0aMGJFmzZrlnHPOyV133ZX7778/N954Yw455JD84Q9/yK677pqTTz45ixYtaui6AQAAAACARmKDbgN15ZVX5uqrr85nP/vZdZ4fkSTHHntskuTVV1/N97///fz85z/PmWeeWb+VAgAAAAAAjdIGhRXTpk3boJN16dIll19++UYVBAAAAAAAbF3q9MyK2qxduzZPPPFE3njjjfqoBwAAAAAA2MrUOaw444wzctNNNyV5N6g45JBD8rGPfSxdu3bNgw8+WN/1AQAAAAAAjVydw4o77rgjvXv3TpL85je/yYsvvpjZs2fnzDPPzHnnnVfvBQIAAAAAAI1bncOKxYsXp1OnTkmSSZMm5Ytf/GK6d++eESNG5Omnn673AgEAAAAAgMatzmFFZWVlnn322axduzaTJ0/OYYcdliR566230rRp03ovEAAAAAAAaNya1fWA4cOH59hjj03nzp1TVlaWgQMHJkkeeeSR7LnnnvVeIAAAAAAA0LjVOay48MILs/fee+eVV17JF7/4xZSXlydJmjZtmnPPPbfeCwQAAAAAABq3OocVSfKFL3xhnW3Dhg3b6GIAAAAAAICtzwaFFd/73vc2+ISnnXbahy4GAAAAAADY+mxQWHH11VfXeL9o0aK89dZbad++fZJkyZIladWqVXbYYQdhBQAAAAAAUCdNNmTQiy++WP269NJL06dPn8yaNSuvv/56Xn/99cyaNSsf+9jHcskllzR0vQAAAAAAQCOzQWHFvzv//PPz/e9/Pz169Kje1qNHj1x99dX59re/Xa/FAQAAAAAAjV+dw4p58+ZlzZo162xfu3ZtFixYUC9FAQAAAAAAW486hxWHHnpovva1r2XmzJnV22bMmJH//M//zMCBA+u1OAAAAAAAoPGrc1gxceLEdOrUKf369Ut5eXnKy8uz//77p7KyMjfeeGND1AgAAAAAADRidQ4rOnbsmEmTJmX27Nm5/fbbc/vtt2fWrFmZNGlSdthhhzoXMGHChHTr1i0VFRU54IADMn369Pcdv2TJkpxyyinp3LlzysvL071790yaNKnO1wUAAAAAADYPzT7sgd27d0/37t036uK33XZbRo0aleuuuy4HHHBAxo8fn0GDBmXOnDm1Bh+rVq3KYYcdlh122CF33HFHunTpkpdffjnt27ffqDoAAAAAAIDSqXNYsXbt2tx8882ZMmVKFi5cmKqqqhr7//jHP27wucaNG5eRI0dm+PDhSZLrrrsu9957byZOnJhzzz13nfETJ07M66+/nj//+c9p3rx5kqRbt251/QgAAAAAAMBmpM5hxemnn56bb745Rx55ZPbee++UlZV9qAuvWrUqM2bMyOjRo6u3NWnSJAMHDsy0adNqPeaee+5J//79c8opp+TXv/51OnbsmOOPPz7nnHNOmjZtWusxK1euzMqVK6vfL1u27EPVCwCNjR4JALXTIwEANr06hxW33npr/ud//idHHHHERl148eLFWbt2bSorK2tsr6yszOzZs2s95u9//3v++Mc/ZsiQIZk0aVL+9re/5etf/3pWr16dMWPG1HrM2LFjc9FFF21UrQDQGOmRAFA7PRIAYNOr8wO2W7Rokd13370havlAVVVV2WGHHXLDDTekb9++GTx4cM4777xcd9116z1m9OjRWbp0afXrlVde2YQVA8DmS48EgNrpkQAAm16dV1acddZZueaaa3Lttdd+6FtAJUmHDh3StGnTLFiwoMb2BQsWpFOnTrUe07lz5zRv3rzGLZ8++tGPZv78+Vm1alVatGixzjHl5eUpLy//0HUCQGOlRwJA7fRIAIBNr85hxcMPP5wHHngg9913X3r27Fn9oOv33HXXXRt0nhYtWqRv376ZMmVKjjnmmCTvrpyYMmVKTj311FqP+cQnPpFf/OIXqaqqSpMm7y4Kee6559K5c+dagwoAAAAAAGDzV+ewon379vn85z9fLxcfNWpUhg0bln79+mX//ffP+PHjs2LFigwfPjxJMnTo0HTp0iVjx45Nkvznf/5nrr322px++un5xje+keeffz6XXXZZTjvttHqpBwAAAAAA2PTqHFb8+Mc/rreLDx48OIsWLcoFF1yQ+fPnp0+fPpk8eXL1Q7fnzp1bvYIiSbp27Zr7778/Z555ZvbZZ5906dIlp59+es4555x6qwkAAAAAANi0yoqiKD7MgYsWLcqcOXOSJD169EjHjh3rtbCGsmzZsrRr1y5Lly5N27ZtS10OAGw29EjY8k16dHmpS2i0jtivTalLoIT0SNiy6Y8NS48E6kuTDx5S04oVKzJixIh07tw5Bx98cA4++ODsuOOOOemkk/LWW281RI0AAAAAAEAjVuewYtSoUXnooYfym9/8JkuWLMmSJUvy61//Og899FDOOuushqgRAAAAAABoxOr8zIo777wzd9xxRwYMGFC97YgjjkjLli1z7LHH5oc//GF91gcAAAAAADRydV5Z8dZbb1U/APvf7bDDDm4DBQAAAAAA1Fmdw4r+/ftnzJgxeeedd6q3vf3227nooovSv3//ei0OAAAAAABo/Op8G6hrrrkmgwYNyk477ZTevXsnSZ588slUVFTk/vvvr/cCAQAAAACAxq3OYcXee++d559/Prfccktmz56dJDnuuOMyZMiQtGzZst4LBAAAAAAAGrc6hxVJ0qpVq4wcObK+awEAAAAAALZCdX5mxdixYzNx4sR1tk+cODFXXHFFvRQFAAAAAABsPeocVlx//fXZc88919nes2fPXHfddfVSFAAAAAAAsPWoc1gxf/78dO7ceZ3tHTt2zLx58+qlKAAAAAAAYOtR57Cia9eumTp16jrbp06dmh133LFeigIAAAAAALYedX7A9siRI3PGGWdk9erV+fSnP50kmTJlSr71rW/lrLPOqvcCAQAAAACAxq3OYcXZZ5+d1157LV//+tezatWqJElFRUXOOeecjB49ut4LBAAAAAAAGrc6hxVlZWW54oorcv7552fWrFlp2bJl9thjj5SXlzdEfQAAAAAAQCNX52dWvGf+/Pl5/fXXs9tuu6W8vDxFUdRnXQAAAAAAwFaizmHFa6+9lkMPPTTdu3fPEUcckXnz5iVJTjrpJM+sAAAAAAAA6qzOYcWZZ56Z5s2bZ+7cuWnVqlX19sGDB2fy5Mn1WhwAAAAAAND41fmZFb/73e9y//33Z6eddqqxfY899sjLL79cb4UBAAAAAABbhzqvrFixYkWNFRXvef311z1kGwAAAAAAqLM6hxWf/OQn89Of/rT6fVlZWaqqqnLllVfmU5/6VL0WBwAAAAAANH51vg3UlVdemUMPPTSPPfZYVq1alW9961v561//mtdffz1Tp05tiBoBAAAAAIBGrM4rK/bee+8899xzOeigg/K5z30uK1asyH/8x3/k8ccfz2677dYQNQIAAAAAAI1YnVdWJEm7du1y3nnn1XctAAAAAADAVqjOKysmT56chx9+uPr9hAkT0qdPnxx//PF544036rU4AAAAAACg8atzWHH22Wdn2bJlSZKnn346o0aNyhFHHJEXX3wxo0aNqvcCAQAAAACAxq3OYcWLL76YvfbaK0ly55135qijjspll12WCRMm5L777vtQRUyYMCHdunVLRUVFDjjggEyfPn29Y2+++eaUlZXVeFVUVHyo6wIAAAAAAKVX57CiRYsWeeutt5Ikf/jDH3L44YcnSbbbbrvqFRd1cdttt2XUqFEZM2ZMZs6cmd69e2fQoEFZuHDheo9p27Zt5s2bV/16+eWX63xdAAAAAABg81DnsOKggw7KqFGjcskll2T69Ok58sgjkyTPPfdcdtpppzoXMG7cuIwcOTLDhw/PXnvtleuuuy6tWrXKxIkT13tMWVlZOnXqVP2qrKys83UBAAAAAIDNQ53DimuvvTbNmjXLHXfckR/+8Ifp0qVLkuS+++7LZz7zmTqda9WqVZkxY0YGDhz4r4KaNMnAgQMzbdq09R63fPny7LLLLunatWs+97nP5a9//et6x65cuTLLli2r8QIA9EgAWB89EgBg02tW1wN23nnn/Pa3v11n+9VXX13niy9evDhr165dZ2VEZWVlZs+eXesxPXr0yMSJE7PPPvtk6dKl+e///u8ceOCB+etf/1rryo6xY8fmoosuqnNtANDY6ZEAUDs9EgBg06vzyopS69+/f4YOHZo+ffrkkEMOyV133ZWOHTvm+uuvr3X86NGjs3Tp0urXK6+8sokrBoDNkx4JALXTIwEANr06r6yoTx06dEjTpk2zYMGCGtsXLFiQTp06bdA5mjdvnn333Td/+9vfat1fXl6e8vLyja4VABobPRIAaqdHAgBseiVdWdGiRYv07ds3U6ZMqd5WVVWVKVOmpH///ht0jrVr1+bpp59O586dG6pMAAAAAACgAZV0ZUWSjBo1KsOGDUu/fv2y//77Z/z48VmxYkWGDx+eJBk6dGi6dOmSsWPHJkkuvvjifPzjH8/uu++eJUuW5KqrrsrLL7+cr3zlK6X8GAAAAAAAwIdU8rBi8ODBWbRoUS644ILMnz8/ffr0yeTJk6sfuj137tw0afKvBSBvvPFGRo4cmfnz52fbbbdN37598+c//zl77bVXqT4CAAAAAACwEcqKoijqcsDnP//5lJWVrXuisrJUVFRk9913z/HHH58ePXrUW5H1admyZWnXrl2WLl2atm3blrocANhs6JGw5Zv06PJSl9BoHbFfm1KXQAnpkbBl0x8blh4J1Jc6P7OiXbt2+eMf/5iZM2emrKwsZWVlefzxx/PHP/4xa9asyW233ZbevXtn6tSpDVEvAAAAAADQyNT5NlCdOnXK8ccfn2uvvbb69kxVVVU5/fTTs8022+TWW2/NySefnHPOOScPP/xwvRcMAAAAAAA0LnVeWXHTTTfljDPOqPEciSZNmuQb3/hGbrjhhpSVleXUU0/NM888U6+FAgAAAAAAjVOdw4o1a9Zk9uzZ62yfPXt21q5dmySpqKio9bkWAAAAAAAA/1edbwP15S9/OSeddFL+67/+K/vtt1+S5NFHH81ll12WoUOHJkkeeuih9OzZs34rBQAAAAAAGqU6hxVXX311Kisrc+WVV2bBggVJksrKypx55pk555xzkiSHH354PvOZz9RvpQAAAAAAQKNU57CiadOmOe+883Leeedl2bJlSZK2bdvWGLPzzjvXT3UAAAAAAECjV+ew4j2LFi3KnDlzkiR77rlnOnToUG9FAQAAAAAAW486P2B7xYoVGTFiRDp37pyDDz44Bx98cDp37pyTTjopb731VkPUCAAAAAAANGJ1DitGjRqVhx56KL/5zW+yZMmSLFmyJL/+9a/z0EMP5ayzzmqIGgEAAAAAgEaszreBuvPOO3PHHXdkwIAB1duOOOKItGzZMscee2x++MMf1md9AAAAAABAI1fnlRVvvfVWKisr19m+ww47uA0UAAAAAABQZ3UOK/r3758xY8bknXfeqd729ttv56KLLkr//v3rtTgAAAAAAKDxq/NtoK655poMGjQoO+20U3r37p0kefLJJ1NRUZH777+/3gsEAAAAAAAatzqHFXvvvXeef/753HLLLZk9e3aS5LjjjsuQIUPSsmXLei8QAAAAAABo3OocViRJq1atMnLkyPquBQAAAAAA2AptUFhxzz33bPAJjz766A9dDAAAAAAAsPXZoLDimGOO2aCTlZWVZe3atRtTDwAAAAAAsJXZoLCiqqqqoesAAAAAAAC2Uk1KXQAAAAAAALB126Cw4tZbb93gE77yyiuZOnXqhy4IAAAAAADYumxQWPHDH/4wH/3oR3PllVdm1qxZ6+xfunRpJk2alOOPPz4f+9jH8tprr9V7oQAAAAAAQOO0Qc+seOihh3LPPffk+9//fkaPHp3WrVunsrIyFRUVeeONNzJ//vx06NAhJ554Yp555plUVlY2dN0AAAAAAEAjsUFhRZIcffTROfroo7N48eI8/PDDefnll/P222+nQ4cO2XfffbPvvvumSROPwAAA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hhtuqB7z5z//Occdd1xOOumkPP744znmmGNyzDHH5Jlnnmm4Dw8NZEuaVxtSC2yttqS5DFuKLWle6ZGwflvSXIYtxZY0r/RIIAU0sCTF3XffXf2+qqqq6NSpU3HVVVdVb1uyZElRXl5e/PKXvyyKoiieffbZIknx6KOPVo+57777irKysuLVV18tiqIofvCDHxTbbrttsXLlyuox55xzTtGjR4/q98cee2xx5JFH1qjngAMOKL72ta/V62eETW1znlcbUgvwrs15LsOWanOeV3okbLjNeS7Dlmpznld6JFAURWFlBZvciy++mPnz52fgwIHV29q1a5cDDjgg06ZNS5JMmzYt7du3T79+/arHDBw4ME2aNMkjjzxSPebggw9OixYtqscMGjQoc+bMyRtvvFE95t+v896Y964DjcXmNK82pBagdpvTXIbGYnOaV3okfHib01yGxmJzmld6JJC4DRQlMH/+/CRJZWVlje2VlZXV++bPn58ddtihxv5mzZplu+22qzGmtnP8+zXWN+a9/dBYbE7zakNqAWq3Oc1laCw2p3mlR8KHtznNZWgsNqd5pUcCibACAAAAAAAoMWEFm1ynTp2SJAsWLKixfcGCBdX7OnXqlIULF9bYv2bNmrz++us1xtR2jn+/xvrGvLcfGovNaV5tSC1A7TanuQyNxeY0r/RI+PA2p7kMjcXmNK/0SCARVlACH/nIR9KpU6dMmTKletuyZcvyyCOPpH///kmS/v37Z8mSJZkxY0b1mD/+8Y+pqqrKAQccUD3mT3/6U1avXl095ve//3169OiRbbfdtnrMv1/nvTHvXQcai81pXm1ILUDtNqe5DI3F5jSv9Ej48DanuQyNxeY0r/RIIElS6id80zi9+eabxeOPP148/vjjRZJi3LhxxeOPP168/PLLRVEUxeWXX160b9+++PWvf1089dRTxec+97niIx/5SPH2229Xn+Mzn/lMse+++xaPPPJI8fDDDxd77LFHcdxxx1XvX7JkSVFZWVl8+ctfLp555pni1ltvLVq1alVcf/311WOmTp1aNGvWrPjv//7vYtasWcWYMWOK5s2bF08//fSm+82AerIlzasNqQW2VlvSXIYtxZY0r/RIWL8taS7DlmJLmld6JCCsoEE88MADRZJ1XsOGDSuKoiiqqqqK888/v6isrCzKy8uLQw89tJgzZ06Nc7z22mvFcccdV7Rp06Zo27ZtMXz48OLNN9+sMebJJ58sDjrooKK8vLzo0qVLcfnll69Ty//8z/8U3bt3L1q0aFH07NmzuPfeexvsc0ND2pLm1YbUAlurLWkuw5ZiS5pXeiSs35Y0l2FLsSXNKz0SKCuKomjYtRsAAAAAAADr55kVAAAAAABASQkrAAAAAACAkhJWAAAAAAAAJSWsAAAAAAAASkpYAQAAAAAAlJSwAgAAAAAAKClhBQAAAAAAUFLCCgAAAAAAoKSEFbAZeemll1JWVpYnnnii1KVUmz17dj7+8Y+noqIiffr02ejzdevWLePHj9/o82wuHnzwwZSVlWXJkiWlLgWgUdMjtzx6JMCmoUduefRIgNoJK+DfnHjiiSkrK8vll19eY/uvfvWrlJWVlaiq0hozZkxat26dOXPmZMqUKesd98orr2TEiBHZcccd06JFi+yyyy45/fTT89prr23CahvWgAEDcsYZZ9TYduCBB2bevHlp165daYoC2ET0yHXpkf+iRwJbMz1yXXrkv+iRABtOWAH/R0VFRa644oq88cYbpS6l3qxatepDH/vCCy/koIMOyi677JLtt9++1jF///vf069fvzz//PP55S9/mb/97W+57rrrMmXKlPTv3z+vv/76h77+xlq7dm2qqqoa7PwtWrRIp06dttp/hABbFz2yJj3y/emRwNZEj6xJj3x/eiRA7YQV8H8MHDgwnTp1ytixY9c75sILL1xnKev48ePTrVu36vcnnnhijjnmmFx22WWprKxM+/btc/HFF2fNmjU5++yzs91222WnnXbKj3/843XOP3v27Bx44IGpqKjI3nvvnYceeqjG/meeeSaf/exn06ZNm1RWVubLX/5yFi9eXL1/wIABOfXUU3PGGWekQ4cOGTRoUK2fo6qqKhdffHF22mmnlJeXp0+fPpk8eXL1/rKyssyYMSMXX3xxysrKcuGFF9Z6nlNOOSUtWrTI7373uxxyyCHZeeed89nPfjZ/+MMf8uqrr+a8886rMf7NN9/Mcccdl9atW6dLly6ZMGFC9b6iKHLhhRdm5513Tnl5eXbcccecdtpp1ftXrlyZb37zm+nSpUtat26dAw44IA8++GD1/ptvvjnt27fPPffck7322ivl5eW58cYbU1FRsc4S29NPPz2f/vSnkySvvfZajjvuuHTp0iWtWrVKr1698stf/rJ67IknnpiHHnoo11xzTcrKylJWVpaXXnqp1uW7d955Z3r27Jny8vJ069Yt3/3ud2tct1u3brnssssyYsSIbLPNNtl5551zww03VO9ftWpVTj311HTu3DkVFRXZZZdd3ve/R4BNRY/UI/VIgNrpkXqkHglQDwqg2rBhw4rPfe5zxV133VVUVFQUr7zySlEURXH33XcX/z5dxowZU/Tu3bvGsVdffXWxyy671DjXNttsU5xyyinF7Nmzi5tuuqlIUgwaNKi49NJLi+eee6645JJLiubNm1df58UXXyySFDvttFNxxx13FM8++2zxla98pdhmm22KxYsXF0VRFG+88UbRsWPHYvTo0cWsWbOKmTNnFocddljxqU99qvrahxxySNGmTZvi7LPPLmbPnl3Mnj271s87bty4om3btsUvf/nLYvbs2cW3vvWtonnz5sVzzz1XFEVRzJs3r+jZs2dx1llnFfPmzSvefPPNdc7x2muvFWVlZcVll11W6zVGjhxZbLvttkVVVVVRFEWxyy67FNtss00xduzYYs6cOcX3vve9omnTpsXvfve7oiiK4vbbby/atm1bTJo0qXj55ZeLRx55pLjhhhuqz/eVr3ylOPDAA4s//elPxd/+9rfiqquuKsrLy6tr/vGPf1w0b968OPDAA4upU6cWs2fPLpYvX15UVlYWN954Y/V51qxZU2PbP/7xj+Kqq64qHn/88eKFF16oruuRRx4piqIolixZUvTv378YOXJkMW/evGLevHnFmjVrigceeKBIUrzxxhtFURTFY489VjRp0qS4+OKLizlz5hQ//vGPi5YtWxY//vGPq6+9yy67FNttt10xYcKE4vnnny/Gjh1bNGnSpPrP6aqrriq6du1a/OlPfypeeuml4n//93+LX/ziF7X+/gJsKnqkHqlHAtROj9Qj9UiA+iGsgH/z3pfMoiiKj3/848WIESOKovjwXzJ32WWXYu3atdXbevToUXzyk5+sfr9mzZqidevWxS9/+cuiKP71JfPyyy+vHrN69epip512Kq644oqiKIrikksuKQ4//PAa137llVeKJMWcOXOKonj3S+a+++77gZ93xx13LC699NIa2/bbb7/i61//evX73r17F2PGjFnvOf7yl78USYq777671v3jxo0rkhQLFiwoiuLdL1if+cxnaowZPHhw8dnPfrYoiqL47ne/W3Tv3r1YtWrVOud6+eWXi6ZNmxavvvpqje2HHnpoMXr06KIo3v2SmaR44oknaow5/fTTi09/+tPV7++///6ivLy8+sthbY488sjirLPOqn5/yCGHFKeffnqNMf/3S+bxxx9fHHbYYTXGnH322cVee+1V/X6XXXYpTjjhhOr3VVVVxQ477FD88Ic/LIqiKL7xjW8Un/70p6u/mANsDvRIPfLf6ZEA/6JH6pH/To8E+PDcBgrW44orrshPfvKTzJo160Ofo2fPnmnS5F/TrLKyMr169ap+37Rp02y//fZZuHBhjeP69+9f/etmzZqlX79+1XU8+eSTeeCBB9KmTZvq15577pnk3fuCvqdv377vW9uyZcvyz3/+M5/4xCdqbP/EJz7xoT5zURQbPPbfP99779+75he/+MW8/fbb2XXXXTNy5MjcfffdWbNmTZLk6aefztq1a9O9e/can/+hhx6q8dlbtGiRffbZp8Y1hgwZkgcffDD//Oc/kyS33HJLjjzyyLRv3z7Ju/ckveSSS9KrV69st912adOmTe6///7MnTu3Tr8Ps2bNqvX39Pnnn8/atWurt/17fWVlZenUqVP1fwcnnnhinnjiifTo0SOnnXZafve739WpBoCGpkfWjR75Lj0S2BrokXWjR75LjwR4l7AC1uPggw/OoEGDMnr06HX2NWnSZJ0vVatXr15nXPPmzWu8Lysrq3VbXR7ctXz58hx11FF54oknaryef/75HHzwwdXjWrduvcHn3Bi77757ysrK1vvFdNasWdl2223TsWPHDTpf165dM2fOnPzgBz9Iy5Yt8/Wvfz0HH3xwVq9eneXLl6dp06aZMWNGjc8+a9asXHPNNdXnaNmy5ToPKttvv/2y22675dZbb83bb7+du+++O0OGDKnef9VVV+Waa67JOeeckwceeCBPPPFEBg0atFEPlXs/7/ffwcc+9rG8+OKLueSSS/L222/n2GOPzRe+8IUGqQPgw9AjN4we+eHokcCWTI/cMHrkh6NHAo1ds1IXAJuzyy+/PH369EmPHj1qbO/YsWPmz5+foiiqv8w88cQT9Xbdv/zlL9VfGNesWZMZM2bk1FNPTfLuF5A777wz3bp1S7NmH34Kt23bNjvuuGOmTp2aQw45pHr71KlTs//++2/webbffvscdthh+cEPfpAzzzwzLVu2rN43f/783HLLLRk6dGiNL31/+ctfapzjL3/5Sz760Y9Wv2/ZsmWOOuqoHHXUUTnllFOy55575umnn86+++6btWvXZuHChfnkJz9Z5888ZMiQ3HLLLdlpp53SpEmTHHnkkTU+9+c+97mccMIJSd59aNxzzz2Xvfbaq3pMixYtavxUS20++tGPZurUqTW2TZ06Nd27d0/Tpk03uNa2bdtm8ODBGTx4cL7whS/kM5/5TF5//fVst912G3wOgIakR34wPbImPRLYWuiRH0yPrEmPBHiXlRXwPnr16pUhQ4bke9/7Xo3tAwYMyKJFi3LllVfmhRdeyIQJE3LffffV23UnTJiQu+++O7Nnz84pp5ySN954IyNGjEiSnHLKKXn99ddz3HHH5dFHH80LL7yQ+++/P8OHD//AL0D/19lnn50rrrgit912W+bMmZNzzz03TzzxRE4//fQ6nefaa6/NypUrM2jQoPzpT3/KK6+8ksmTJ+ewww5Lly5dcumll9YYP3Xq1Fx55ZV57rnnMmHChNx+++3V17z55ptz00035Zlnnsnf//73/PznP0/Lli2zyy67pHv37hkyZEiGDh2au+66Ky+++GKmT5+esWPH5t577/3AOocMGZKZM2fm0ksvzRe+8IWUl5dX79tjjz3y+9//Pn/+858za9asfO1rX8uCBQtqHN+tW7c88sgjeemll7J48eJaf5LprLPOypQpU3LJJZfkueeey09+8pNce+21+eY3v7nBv5/jxo3LL3/5y8yePTvPPfdcbr/99nTq1Kl6qTHA5kCP3DB65L/okcDWQo/cMHrkv+iRAO8SVsAHuPjii9f5MvHRj340P/jBDzJhwoT07t0706dPr9OXiA9y+eWX5/LLL0/v3r3z8MMP55577kmHDh2SpPqnWNauXZvDDz88vXr1yhlnnJH27dvXuK/phjjttNMyatSonHXWWenVq1cmT56ce+65J3vssUedzrPHHnvksccey6677ppjjz02u+22W7761a/mU5/6VKZNm7bOT3GcddZZeeyxx7LvvvvmO9/5TsaNG5dBgwYlSdq3b58f/ehH+cQnPpF99tknf/jDH/Kb3/wm22+/fZLkxz/+cYYOHZqzzjorPXr0yDHHHJNHH300O++88wfWufvuu2f//ffPU089VWPpbpJ8+9vfzsc+9rEMGjQoAwYMSKdOnXLMMcfUGPPNb34zTZs2zV577ZWOHTvWeh/Sj33sY/mf//mf3Hrrrdl7771zwQUX5OKLL86JJ564wb+f22yzTa688sr069cv++23X1566aVMmjSpzn++AA1Nj/xgeuS/6JHA1kSP/GB65L/okQDvKivq8jQjAAAAAACAeiZeBQAAAAAASkpYAQAAAAAAlJSwAgAAAAAAKClhBQAAAAAAUFLCCgAAAAAAoKSEFQAAAAAAQEkJKwAAAAAAgJISVgAAAAAAACUlrAAAAAAAAEpKWAEAAAAAAJSUsAIAAAAAACip/x+UVQIB/WmVtwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "visualize_results(df, \"full_feols_timing\")" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:matplotlib.category:Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.\n", + "INFO:matplotlib.category:Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.\n" + ] + }, + { + "data": { + "image/png": "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P3funGndurWRZLp162amTJliEhISTKtWrczixYvNyZMnzfTp040kc++999rN25jLzyNjx441zZs3N6+88op5++23Tf/+/Y2Pj49p0qSJ3XHale344YcfNpLMgw8+aKZMmWLuu+8+2/swbNiwi8aTc8z4+OOPbe/rnXfeaUqWLJnrmJXXuLVq1TLh4eFm/PjxJiEhwZw6dcqpbd0YYzZs2GCsVqsJCwszo0ePNq+99popV66cqV+/fq7zGUmmZs2apkyZMmbEiBFm6tSpZuPGjU6/52+//baRZDp37mzeeustM2nSJPPoo4+aZ555xtbnwQcfNF5eXiYuLs7MmjXLjBkzxtx9993m/ffft/Vx5ZjqKIc6m3tc8cMPPxgPDw8zZMgQM3HiRCPJLFu2zOnxR48ebfz8/Gz5sXLlyg7Pp9544w0jyXz22WfGGGNOnjxpKleubGrVqmXOnj1r63fh+aEz696R06dPm5o1a5qiRYuagQMHmsmTJ5vmzZsbSWbixIm2flfyueNS57rOnC8bY8ypU6dMvXr1TOnSpc2QIUPMjBkzTExMjLFYLKZ///4XXc6cdXb+uaojOceFqKgo8+abb5p+/foZT09P07hxY7tldOXzyIXWrFljJJnevXubf/7556J99+3bZ8qVK2d8fX3NgAEDzIwZM8zLL79satasadsXfvzxR1O5cmUzePBg89Zbb5lXXnnF9ll03759tmk5OjfevHmzCQgIMLVq1TJjxowxU6ZMMS1atDAWi8V88sknF40NAK4VFCsAXBU6depkvL29ze7du21tv//+u/H09LT7YLZr1y7j6elpXnvtNbvxf/31V1OkSBG79pwvvj/88ENb29atW40k4+HhYfui0Bhjli9fnutk8NFHHzVly5Y1aWlpdvPq1q2bCQgIsH14OXfunMnIyLDrc/ToURMcHGx69epla8s54SxdurQ5cuSIrf2zzz4zkswXX3zh1Loy5t+T3AvjzZFXsaJMmTLm2LFjtvb4+HgjydSvX9/uxLt79+7Gy8vroh+wcj6M16xZ027ZJ02aZCSZX3/91Rjz7xefpUuXNo0bN7abx9y5c42kKy5WjBgxwhw6dMikpKSY//u//zONGze2+4LBGNeLFZLMd999Z2s7ePCgsVqtdl8Sfvzxx3l+8ZTXuqpTp47dh6bu3bsbi8Vi2rZtazd+RESE3fvnyjbvSPfu3U1QUJA5d+6cre3AgQPGw8PDvPLKK8aYf7dXR8UfZ5xfrFi1apWRZMaPH28bfqXFCklm1KhRtrajR48aHx8fY7FYzPz5823tOfv2+V9C5bzHDRs2tFv3r7/+ut0XCydOnDAlSpQwvXv3tospJSXFBAQE2LXnxDR48GCn1k+nTp2Ml5eXrZhozL9fhhYvXty0aNEi1/I78x6Eh4ebgICAi/YZP368kWQ+//xzY8x/6718+fJ2RdmPPvrISDKTJk0yxhizcePGXPvQhS7nODxjxgy7vunp6bn2K2P+fW8sFotdLji/+JUjOjraVKpUya6tdu3aDr9wuHCby8zMNEFBQaZOnTrmzJkztn5ffvmlkWSGDh1qa8t5v3P2lRw5hdoc/fv3N/7+/nb7mTNy3ncfHx/z999/29rXrl1rJJmBAwfa2rp3727KlStnsrKybG0bNmzIMxecL2c/PT8nGWPMvffea0qXLu1SzDn71Y8//mjXfmHuMebfbcLLy8s89thj5ujRo6Z8+fKmUaNGtnyQnZ1tqlataqKjo+2+lD59+rS5+eabzZ133mlru/AL5IvJa39ydNw/deqUqVKliqldu7Y5e/asad++vfH397fbBp09H8j5QvSjjz7KNX1nihXOzseYf7+k7tu3r1PL7ex0Z8+enesYniPn/Tl06JDDL/yvJI842sf/97//5crHzm7HmzZtMpJyfbGcU+h1pVhx4sQJExkZaQIDA+1+gHKpcStVqmS3XK5s63fffbfx9fW1+9Jy+/btpkiRIg6LFR4eHua3336za3f2Pb/nnnsu+WVwQEBArm3tfJdzTL0whzqTey5Hv379TNGiRY2fn5/p3r27S+PWrVvXPPTQQ7b/hwwZYgIDA3N9WZ2VlWVuv/12ExwcbNLS0mwF0AuPkReeHzqz7h3JOc6cXyzKzMw0ERERxs/Pz5bjr/Rzx8XOdZ09Xx45cqQpVqyY+eOPP+zGHzx4sPH09DR79uy5aAyXKlYcPHjQeHl5mbvuussuN06ZMsVIMrNnzzbGuP555ELZ2dm285ng4GDTvXt3M3XqVLs8kSMmJsZ4eHjkev9zpmOMMWfPnrWL15h/3y+r1Wp3vuHo3Lh169ambt26dp/TsrOzTbNmzUzVqlUvuhwAcK3gNlAA3C4rK0vLly9Xp06ddNNNN9naa9asqejoaLu+n3zyibKzs/XAAw8oLS3N9goJCVHVqlVz3XrJz89P3bp1s/1fvXp1lShRQjVr1rS7fUrO33/99ZckyRijRYsW6e6775Yxxm5e0dHRSk9Pt13+7unpabsPbXZ2to4cOaJz586pUaNGuS6Rl6SuXbuqZMmStv9zbl2UM++C0qVLFwUEBNj+z1nmhx9+WEWKFLFrz8zMvOgtRXLExsba3YP3wmX56aefdPjwYfXu3dtuHg899JDdOsiRlJQkY4zTyzRs2DCVKVNGISEhat68ubZs2aJx48apc+fOTk/jQrVq1bIthySVKVNG1atXv+L3JyYmxu6e7k2bNpUxRr169bLr17RpU+3du1fnzp2T5Po2f6GuXbvq4MGDdpfuL1y4UNnZ2bbnGfj4+MjLy0tJSUkOb4/krBYtWuiOO+7Q66+/rjNnzlz2dC50/sN0S5QooerVq6tYsWJ64IEHbO05+7aj9+nxxx+3W/dPPfWUihQpoiVLlkiSvv76ax07dkzdu3e3W8eenp5q2rSpw3X81FNPXTLurKwsrVixQp06dbK75VHZsmX14IMP6vvvv7fdGsQVJ06cUPHixS/aJ2f4hdOPiYmxG7dz584qW7asbV3kHCOWL1+e5+2BXN0mrVarYmNj7dpybnnw0Ucf2e3zCxYs0K233mqXC85/Bkp6errS0tIUGRmpv/7667JuD/LTTz/p4MGD6tOnj9193du3b68aNWroq6++yjXOk08+afd/8+bN7ba1EiVK6NSpU/r6669djkeSOnXqpPLly9v+b9KkiZo2bWp7X6R/37v9+/fbrd8PPvhAPj4+uv/++52aj6PlOHz48GVth86oU6eORowYoVmzZik6OlppaWl69913bflg06ZN2r59ux588EEdPnzYti2dOnVKrVu31nfffVegD+2WJF9fX82dO1dbtmxRixYt9NVXX2nChAm2bdCV84ElS5aobNmydjnI19dXjz/++CXjcGU+rnBluosWLVJgYKCefvrpXNNxdDvF811JHjl/Hz979qzS0tJ06623SpLDZb7Udpyz3zzzzDN2/QYMGOBSXOnp6brrrru0detWJSUlKTw83Olxe/ToYbdczm7rWVlZ+uabb9SpUyeVK1fONn6VKlXUtm1bh/OKjIxUrVq1bP+78p6XKFFCf//990VvC1SiRAmtXbtW+/fvdzj8co6pF+ZQZ3LP5XjttddUunRpeXh4aMKECU6P98svv+jXX39V9+7dbW055wjLly+36+vh4aG5c+fq5MmTatu2raZNm6b4+Hi72xk64sy6d2TJkiUKCQmxi61o0aJ65plndPLkyVy3/iyozx3OnC9//PHHat68uUqWLGm3HUZFRSkrK0vffffdFcXwzTffKDMzUwMGDLB7Jkzv3r3l7+9v2/Zc/TxyIYvFouXLl+vVV19VyZIl9b///U99+/ZVxYoV1bVrV9stp7Kzs7V48WLdfffdDt//nOOo1Wq1xZuVlaXDhw/Lz89P1atXv+hx/siRI/r222/1wAMP6MSJE7b1efjwYUVHR2v79u1OfX4DgKsdxQoAbnfo0CGdOXNGVatWzTWsevXqdv9v375dxhhVrVpVZcqUsXtt2bLF9gDOHBUqVMj1ATsgIEChoaG52iTZPmAfOnRIx44d09tvv51rPjlfup0/r3fffVf16tWTt7e3SpcurTJlyuirr75y+EXa+V/CSbKdJF/Jl8TOuHC+Oct8qXXhyjQvXJbdu3dL+vdD9vmKFCly0XvyO+vxxx/X119/rS+++EIDBw7UmTNnct1H3lUXLpP073Jd6fvjyvrPzs62bTuubvMXyrk39oIFC2xtCxYsUHh4uKpVqybp3w9NY8aM0dKlSxUcHKwWLVro9ddfV0pKisvLOXz4cKWkpGjGjBkuj+uIt7e37R7pOQICAvLctx29TxceW/z8/FS2bFnbfdS3b98uSWrVqlWudbxixYpc67hIkSKqUKHCJWM/dOiQTp8+nes4Jv1bjM3Ozr7kc0ccKV68uE6cOHHRPjnDLyxqXLguLBaLqlSpYlsXN998s+Li4jRr1iwFBgYqOjpaU6dOtTuWubpNli9f3uGDRbt27aq9e/cqOTlZ0r/3hF6/fn2uh4KvXr1aUVFRKlasmEqUKKEyZcrYHnB5OcWKnOOSo/elRo0atuE5HG2DFx4T+vTpo2rVqqlt27aqUKGCevXqZbtvvDMc5b9q1arZ3ev/zjvvVNmyZfXBBx9I+vdLkf/973+65557Llm8yuGO/DNo0CDVr19f69at07Bhw+y+VM3Z93r06JFrW5o1a5YyMjIu6z121W233aannnpK69atU3R0tF0R2ZXzgd27d6tKlSq5jk2OtrULuXre4SxXpvvnn3+qevXqdl/mOetK8siRI0fUv39/BQcHy8fHR2XKlNHNN98syfE+7sy5h4eHhypXrmzXz5n34XwDBgzQjz/+qG+++Ua1a9d2adyc+HM4u60fPHhQZ86cyXXeJOU+l8prXq685y+88IL8/PzUpEkTVa1aVX379s31DI3XX39dmzdvVmhoqJo0aaLhw4fbfSHt6jHVUQ51JvdcDn9/f1WvXl2hoaEKDg52erz3339fxYoVU6VKlbRjxw7t2LFD3t7eCgsLsx2Dz1e5cmUNHz5cP/74o2rXrq2XX375kvNwZt07snv3blWtWjXXA9tr1qxpG36+gjruO3O+vH37di1btizXdhgVFSXp8o5p58tr2/Py8lKlSpVsw/Pj84jVatWLL76oLVu2aP/+/frf//6nW2+9VR999JH69esn6d997/jx46pTp85Fp5Wdna0JEyaoatWqslqtCgwMVJkyZfTLL79cdJvfsWOHjDF6+eWXc63TnGexXOk6BYCrgetnogDgRtnZ2bJYLFq6dKk8PT1zDffz87P731Gfi7Xn/MI355ecDz/8sO1hoheqV6+epH8/0PTs2VOdOnXSoEGDFBQUJE9PTyUkJNg96NnZeReUy10XlzPNgl6WHFWrVrV94OnQoYM8PT01ePBg3XHHHbZfNOX1a9C8ihoFtUxXsi26ss1fyGq1qlOnTvr00081bdo0paamavXq1Ro1apRdvwEDBujuu+/W4sWLtXz5cr388stKSEjQt99+qwYNGjiziJL+vbqiZcuWev3113P9+lXKv/cjP9+nnP193rx5CgkJyTX8wi/uzv9FnDvUrFlTmzZt0p49exx+WSD9+6tQSXZfDDtr3Lhx6tmzpz777DOtWLFCzzzzjBISEvTDDz+oQoUKLm+T5/+6+Hx33323fH199dFHH6lZs2b66KOP5OHhYXuop/Tvl6etW7dWjRo1NH78eIWGhsrLy0tLlizRhAkTCvxX91Le29r5goKCtGnTJi1fvlxLly7V0qVLNWfOHMXExOR66OmVxPHggw9q5syZmjZtmlavXq39+/fr4YcfdmkajhTkMfuvv/6yfVH766+/2g3Lef/eeOONPH+1fqljXH7IyMiwXX32559/6vTp0/L19bWL0ZnzgStRUPMprPily88jDzzwgNasWaNBgwYpPDxcfn5+ys7OVps2bRzu44W1Hd9zzz2aP3++Ro8erffee8+l4/6Fxz1nt/WzZ8+6HGde83LmPa9Zs6a2bdumL7/8UsuWLdOiRYs0bdo0DR06VCNGjJD07/vTvHlzffrpp1qxYoXeeOMNjRkzRp988kmeV3tcTF459FK5p7AYY/S///1Pp06dcphDDx48qJMnT+Y6Nq1YsUKStH//fh0+fNjh+cT5nFn3+aGwz2vPn252drbuvPNOPf/88w775vxo5lpTtmxZdevWTffff79q166tjz76SHPnznV6/FGjRunll19Wr169NHLkSJUqVUoeHh4aMGDARc9rcoY999xzue4+kCOvoiYAXEsoVgBwuzJlysjHx8f2Zcb5tm3bZvd/5cqVZYzRzTffXKAnuGXKlFHx4sWVlZVl+zI8LwsXLlSlSpX0ySef2H0Rm/MLl4JwqdsxXC0qVqwo6d9fAt1xxx229nPnzmnXrl359gVJjhdffFEzZ87USy+9ZPtVc84vyI4dO6YSJUrY+l74yzNXFOb6z49tvmvXrnr33XeVmJioLVu2yBiT69frOfN69tln9eyzz2r79u0KDw/XuHHj9P7777s0v+HDh6tly5Z66623cg07//0435W8H5eyfft2u+3v5MmTOnDggNq1aydJtl/fBgUFXXJ/d0WZMmXk6+ub6zgmSVu3bpWHh0euK2uc0aFDB/3vf//Te++9p5deeinX8OPHj+uzzz5TjRo1cn1ovfA4a4zRjh07cu2LdevWVd26dfXSSy9pzZo1uu222zRjxgy9+uqr+XYcLlasmDp06KCPP/5Y48eP14IFC9S8eXO7W5988cUXysjI0Oeff25XmHF0ay5n98uc49K2bdvUqlUru2Hbtm2zDXeVl5eX7r77bt19993Kzs5Wnz599NZbb+nll1++5JcHjvLfH3/8kesXnzExMRo3bpy++OILLV26VGXKlMnzC4urQXZ2tnr27Cl/f38NGDBAo0aNUufOnXXfffdJ+m/f8/f3z9d9z1XDhg3Tli1bNHbsWL3wwgsaPHiwJk+eLMm184GKFStq8+bNMsbYbY+OjgEXcmU+rnBlupUrV9batWv1zz//2N0673yX2s9czSNHjx5VYmKiRowYoaFDh9raHe0TzqpYsaKys7NtV4rkcOZ9OF+nTp101113qWfPnipevLimT59+2TE5u60HBQXJ29tbO3bsyDXMUZsjrm5LxYoVU9euXdW1a1dlZmbqvvvu02uvvab4+HjbbZ3Kli2rPn36qE+fPjp48KBuueUWvfbaa2rbtm2+HlMvlnsKy6pVq/T333/rlVdesV2tkOPo0aN6/PHHtXjxYrtC8YwZM/T111/rtddeU0JCgp544gl99tlnl5yXM+v+QhUrVtQvv/yi7Oxsu6LP1q1bbcPzQ36c61auXFknT54ssOP7+dve+bfbzMzM1M6dO23zLajPI0WLFlW9evW0fft2paWlKSgoSP7+/tq8efNFx1u4cKHuuOMOvfPOO3btx44dU2BgYJ7j5Sxj0aJF3ZozAaCgcRsoAG7n6emp6OhoLV68WHv27LG1b9myJdd9Ye+77z55enpqxIgRuX4RZIzR4cOH8y2m+++/X4sWLXJ4wnno0CG7vjnzz7F27VrbrU0KQrFixSTl/sL3atOoUSOVLl1aM2fOtD2DQfr3PuuOLj/fs2eP7cPW5ShRooSeeOIJLV++XJs2bZL03xcE598X99SpU1f0a+fCXP/5sc1HRUWpVKlSWrBggRYsWKAmTZrY3Tbi9OnTuX7NWblyZRUvXlwZGRkuxxwZGamWLVtqzJgxuaZbsWJFeXp65rpP8bRp01yej7Pefvtt/fPPP7b/p0+frnPnztl+ERodHS1/f3+NGjXKrl+O8/d3V3h6euquu+7SZ599Znc7n9TUVH344Ye6/fbb5e/v7/J0O3furFq1amn06NH66aef7IZlZ2frqaee0tGjRx0WTN977z27W0gtXLhQBw4csK2L48eP2+2r0r9fHnl4eNi2hfw8Dnft2lX79+/XrFmz9PPPP+cqojk6vqanp2vOnDm5plWsWDGn9slGjRopKChIM2bMsNu+ly5dqi1btqh9+/ZOx5/jwmX28PCwffnhzD60ePFiu/tMr1u3TmvXrs31q+V69eqpXr16mjVrlhYtWqRu3bpd1i17Csv48eO1Zs0avf322xo5cqSaNWump556SmlpaZKkhg0bqnLlyho7dqxOnjyZa/zL3fdcsXbtWo0dO1YDBgzQs88+q0GDBmnKlCm2+767cj7Qrl077d+/XwsXLrS1nT59Wm+//fYl43BlPq5wZbr333+/0tLSNGXKlFz9cvbBnCtOLtzXLjePONrHJWnixIl5L9Ql5Ow3OQWnK5lmTEyMJk+erBkzZuiFF1647Jic3dY9PT0VFRWlxYsX2z0jYseOHVq6dKlT83LlPb/w2OXl5aVatWrJGKN//vlHWVlZuW5LExQUpHLlytne1/w4pjqTe6QrP090Rs4toAYNGqTOnTvbvXr37q2qVava3Qpq586dGjRokO6//34NGTJEY8eO1eeff6733nvvovO51LrPS7t27ZSSkmJ3e89z587pzTfflJ+fnyIjIy9zye3lx7nuAw88oOTk5Fyf53Kme+F77qqoqCh5eXlp8uTJdseQd955R+np6bZtz9XPIxfavn273WfU85chOTlZJUuWVJkyZeTh4aFOnTrpiy++yHV+Jv13nPP09Mx1zPv4448v+byJoKAg24+BDhw4kGt4YeRMACgMV++nGwA3lBEjRmjZsmVq3ry5+vTpYzvprl27tu12JtK/H3xfffVVxcfHa9euXerUqZOKFy+unTt36tNPP9Xjjz+u5557Ll9iGj16tFauXKmmTZuqd+/eqlWrlo4cOaINGzbom2++0ZEjRyT9+yvnTz75RPfee6/at2+vnTt3asaMGapVq5bDD6T5oXLlyipRooRmzJih4sWLq1ixYmratGmu+xa7m5eXl4YPH66nn35arVq10gMPPKBdu3Zp7ty5qly5cq5fbcXExGjVqlVXdGl6//79NXHiRI0ePVrz58/XXXfdpZtuukmPPvqoBg0aJE9PT82ePVtlypRx+MHDGeHh4fL09NSYMWOUnp4uq9WqVq1aKSgo6LLjzkt+bPNFixbVfffdp/nz5+vUqVMaO3as3fA//vhDrVu31gMPPKBatWqpSJEi+vTTT5Wammr3gHpXDBs2zO7XazkCAgLUpUsXvfnmm7JYLKpcubK+/PLLAr3HbmZmpm35tm3bpmnTpun2229Xx44dJf37S9fp06frkUce0S233KJu3brZto+vvvpKt912m8Mv75zx6quv6uuvv9btt9+uPn36qEiRInrrrbeUkZGh119//bKm6eXlpYULF6p169a6/fbbFRsbq0aNGunYsWP68MMPtWHDBj377LMO37tSpUrZxklNTdXEiRNVpUoV9e7dW5L07bffql+/furSpYuqVaumc+fOad68ebYvv6T8PQ63a9dOxYsX13PPPWc3jxx33XWX7YqFJ554QidPntTMmTMVFBSU64N6w4YNNX36dL366quqUqWKgoKCcv3KV/p3fxgzZoxiY2MVGRmp7t27KzU1VZMmTVJYWJgGDhzoVOzne+yxx3TkyBG1atVKFSpU0O7du/Xmm28qPDw81y9zHalSpYpuv/12PfXUU8rIyNDEiRNVunRph7fOiImJsa1fV24BVdi2bNmil19+WT179tTdd98tSZo7d67Cw8PVp08f222/Zs2apbZt26p27dqKjY1V+fLltW/fPq1cuVL+/v764osvCizGs2fPqkePHqpatapee+01Sf+ej3zxxReKjY3Vr7/+qmLFijl9PtC7d29NmTJFMTExWr9+vcqWLat58+bZvuC/FGfn4ypnpxsTE6P33ntPcXFxWrdunZo3b65Tp07pm2++UZ8+fXTPPffIx8dHtWrV0oIFC1StWjWVKlVKderU0blz5y4rj/j7+9ueb/HPP/+ofPnyWrFihXbu3HlZyyr9m6O7d++uadOmKT09Xc2aNVNiYqLTVyZcqF+/fjp+/LhefPFFBQQE2J6Z4wpXtvXhw4drxYoVtmepZGVlacqUKapTp47thxiX4ux7ftdddykkJES33XabgoODtWXLFk2ZMkXt27dX8eLFdezYMVWoUEGdO3dW/fr15efnp2+++UY//vijxo0bJyl/jqnO5B4pf84TLyYjI0OLFi3SnXfemeeVDR07dtSkSZN08OBBlSlTRr169ZKPj4/typsnnnhCixYtUv/+/RUVFWV3teD5LrXu8/L444/rrbfeUs+ePbV+/XqFhYVp4cKFWr16tSZOnOj0M4wuJT/OdQcNGqTPP/9cHTp0UM+ePdWwYUOdOnVKv/76qxYuXKhdu3Zd9EoC6d8v4B1dWXPzzTfroYceUnx8vEaMGKE2bdqoY8eOtvO8xo0b23Kkq59HLvTzzz/rwQcfVNu2bdW8eXOVKlVK+/bt07vvvqv9+/dr4sSJtsLrqFGjtGLFCkVGRurxxx9XzZo1deDAAX388cf6/vvvVaJECXXo0EGvvPKKYmNj1axZM/3666/64IMP7K4OycvUqVN1++23q27duurdu7cqVaqk1NRUJScn6++//9bPP/98yWkAwFXPAMBVYtWqVaZhw4bGy8vLVKpUycyYMcMMGzbMODpULVq0yNx+++2mWLFiplixYqZGjRqmb9++Ztu2bbY+kZGRpnbt2rnGrVixomnfvn2udkmmb9++dm2pqammb9++JjQ01BQtWtSEhISY1q1bm7ffftvWJzs724waNcpUrFjRWK1W06BBA/Pll1+aHj16mIoVK9r67dy500gyb7zxhsN5Dxs2zJnVZPPZZ5+ZWrVqmSJFihhJZs6cOcYY4/R8V65caSSZjz/+2K59zpw5RpL58ccfbW2RkZEmMjLykuPmzCsnlhyTJ0+2rZ8mTZqY1atXm4YNG5o2bdrY9YuMjHT4fl/oYuvSGGN69uxpPD09zY4dO4wxxqxfv940bdrUeHl5mZtuusmMHz/etpw7d+60jZfXtnHh8htjzMyZM02lSpWMp6enkWRWrlzpsK8r69kYY9vmDx06ZNfuzDZ/MV9//bWRZCwWi9m7d6/dsLS0NNO3b19To0YNU6xYMRMQEGCaNm1qPvroo0tON694jfnv/bxwnR46dMjcf//9xtfX15QsWdI88cQTZvPmzbm2nR49ephixYo5nK4z+3bOOl61apV5/PHHTcmSJY2fn5956KGHzOHDh3ONv3LlShMdHW0CAgKMt7e3qVy5sunZs6f56aefLhnTxWzYsMFER0cbPz8/4+vra+644w6zZs0auz6X2qYdOXjwoImLizNVqlQxVqvVlChRwkRFRZnPP//c4bJJMv/73/9MfHy8CQoKMj4+PqZ9+/Zm9+7dtn5//fWX6dWrl6lcubLx9vY2pUqVMnfccYf55ptvck3zSo7D53vooYeMJBMVFeVw+Oeff27q1atnvL29TVhYmBkzZoyZPXt2rv03JSXFtG/f3hQvXtxIsu2HOcues4/mWLBggWnQoIGxWq2mVKlS5qGHHjJ///23XZ+83u8Lc9PChQvNXXfdZYKCgmzHmSeeeMIcOHDgost+/vs+btw4ExoaaqxWq2nevLn5+eefHY5z4MAB4+npaapVq3bRaTuK98L91NFx8FLyOnadn3vOnTtnGjdubCpUqGCOHTtm12/SpElGklmwYIGtbePGjea+++4zpUuXNlar1VSsWNE88MADJjEx0dYnr2OpI3ntTxcu78CBA42np6dZu3atXb+ffvrJFClSxDz11FO2NmfOB4wxZvfu3aZjx47G19fXBAYGmv79+5tly5Y53AYdcXY+js5ZLnYccXa6p0+fNi+++KK5+eabbf06d+5s/vzzT1ufNWvW2M7Xcs5friSP/P333+bee+81JUqUMAEBAaZLly5m//79uc6NXNmOz5w5Y5555hlTunRpU6xYMXP33XebvXv3OnW+lde29vzz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uMaPH69p06Z5+xw8eFD33nuvXnvtNbndbiUmJmrWrFkaOHCgJGnatGlasWKFMjMz9fDDD2v37t2qq6v7xb+3Y8eOKTMzUy+++KJat26tO+64Qw899JBMJpMk6cUXX9Ts2bO1c+dOtW3bVr/5zW+Ul5fn8/vyTz75RJMnT9Y777wjj8ej+Ph4LVy4UD169Djhfh988IGuuuoq3XvvvZo8eXKDn+uee+7Rgw8+qAMHDujKK6/UggULdMYZZzTo3/5kGL6yIjc3V+PGjVNGRob69eun/Px8RUZGqqCgwG//2bNna/jw4Zo0aZL69u2rGTNmaNCgQZo7d26IIwcAAAAAAACA09ekSZO0fv16vfbaa3r77bdVWFioLVu2eM9nZmaqqKhIS5Ys0UcffaS0tDQNHz5cX3zxhbfP4cOHNWfOHC1ZskSrV69WYWGhrr32Wq1cuVIrV67Uiy++qGeeeUbLly9v8HV/+OEHJSQk6M0339T27dt122236ZZbbjnhjT6LFi1S27ZttXHjRj3++ON66KGHtGbNGu/5tLQ0lZeXa9WqVSouLtagQYN0+eWXa//+/d4+X375pV555RW9+uqr2rZtW4P+3hYtWqRWrVpp06ZNmj17tnJzc/Xss896zx89elQzZszQhx9+qBUrVmjXrl269dZbvef37Nmjyy67TBaLRWvXrlVxcbHGjBmjY8eOnXCvtWvX6re//a0efvhhTZ48ucHP9dVXX2nFihV644039MYbb2j9+vV69NFHved/6d/+ZBi6sqKmpkbFxcXKysrytpnNZiUnJ6uoqMjvmKKiIjkcDp+2lJQUrVixwm9/t9stt9vt/VxVVXXqgQMA0AKQIwEA8I8cCQDALzt06JCee+45vfTSS7r88ssl/feX8GeffbYkqaSkRM8//7xKSkrUtWtXSdK9996r1atX6/nnn9cjjzwi6b+/mH/66ae9KwKuu+46vfjiiyorK1O7du3Ur18//frXv9a6des0cuTIBl23W7duPt/0//Of/6y33npL//jHPzR48GBv+4ABA5SdnS1J6tmzp+bOnSun06nf/va3evfdd7Vp0yaVl5fLYrFIkp588kmtWLFCy5cv12233Sbpv7/jfuGFF9SpU6cG/93FxMRo1qxZMplM6t27tz7++GPNmjVL48aNkySNGTPG27d79+6aM2eOLrroIh06dEjt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UlNTg3ptAEDDkSMDQ44EgNMHOTIw5EgAaJkoVgAtwF133aWEhARZLJZ6f0D76KOPdOmllyoiIkIxMTF6/PHHQxukH1VVVcrMzNTkyZO1Z88e3Xbbbbr33nvldDqDeh+Hw6H4+Hh98803jfZD86uvvqorrrhCHTt2lMlk0rZt2xrlPgCAwJAjf15j58ijR49q8uTJ6t+/v9q2bauuXbsqPT1d3377bdDvBQAIDDny54Xi/yOnTZumPn36qG3btjrzzDOVnJysjRs3Nsq9AKA5oFgBtBBjxozRyJEj/Z6rqqrSFVdcoXPPPVfFxcV64oknNG3aNM2fPz/EUfoqKSnR0aNHNWLECHXp0kWRkZFq166dOnbsGNT7fPXVV/rNb36js88+Wx06dAjqtY+rrq7WJZdcoscee6xRrg8AOHnkyPo1do48fPiwtmzZogcffFBbtmzRq6++qp07d+qaa64J+r0AAIEjR9YvFP8f2atXL82dO1cff/yx3n33XcXGxuqKK67Qvn37GuV+AFqOlrQi76coVgCN7M0331RUVJRefvnlRrvHnDlzdOedd6p79+5+z7/88suqqalRQUGBLrjgAt1www266667lJube0r3LSwslMlkktPpVGJioiIjIzVkyBDt3LnzF8cuXLhQ/fv3lyR1795dJpNJu3bt8lm++8MPP+iCCy7Qbbfd5h331Vdf6YwzzlBBQYEkqa6uTjk5OTrvvPPUpk0bDRw4UMuXL5ck7dq1SyaTSd99953GjBkjk8nUaN+IueWWWzR16lQlJyc3yvUBoCUiR/rXknJkVFSU1qxZo+uvv169e/fWxRdfrLlz56q4uFglJSVBvx8AtBTkSP9aUo6UpBtvvFHJycnq3r27LrjgAuXm5qqqqkofffRRo9wPaG6+cy4J6QHjUawAGtHixYs1atQovfzyy7rpppvq7deuXbufPcaPH39KcRQVFemyyy5TeHi4ty0lJUU7d+7UgQMHTunakvTAAw9o5syZ2rx5s1q1aqUxY8b84piRI0fq3//+tyRp06ZN2rt3r2JiYnz6RERE6OWXX9aiRYv02muvqba2VjfffLN++9vfeu+Rk5OjF154Qfn5+frkk09099136+abb9b69esVExOjvXv3qn379srLy9PevXvr/dbQ+PHjf/HfAQAQPOTI+rX0HFlZWSmTydRo31IFgOaOHFm/lpwja2pqNH/+fEVFRWngwIENHgcALUkrowMAWqp58+bpgQce0Ouvv66hQ4f+bN9f2t+gffv2pxSLy+XSeeed59NmtVq9584888xTuv7DDz/sfcb77rtPI0aM0A8//KCIiIh6x7Rp08a7TLdTp06y2Wx++8XHx+uvf/2r/vjHP+qGG27Q7t279cYbb0iS3G63HnnkEf373/+W3W6X9N9v17z77rt65plnNHToUNlsNplMJkVFRdV7D0l66KGHdO+9957U8wMAAkOOPH1z5A8//KDJkydr1KhRp/xvBwAtETny9MuRb7zxhm644QYdPnxYXbp00Zo1axQdHX1K1wQQOsOGDdOAAQMUERGhZ599VuHh4Ro/frymTZumXbt26bzzztPWrVu9q78OHjyoM888U+vWrdOwYcNUWFioX//611q9erXuu+8+7dixQ3a7XUuWLFFxcbEcDof27Nmj3/3ud3r22WcVGRnpvfexY8eUmZmpF198Ua1bt9Ydd9yhhx56SCaTSZL04osvavbs2dq5c6fatm2r3/zmN8rLy1Pnzp2N+KtqEIoVQCNYvny5ysvL9d577+miiy76xf7nn39+CKJqPAMGDPD+uUuXLpKk8vJynXPOOUG5/j333KMVK1Zo7ty5WrVqlfeH0y+//FKHDx/Wb3/7W5/+NTU1uvDCCwO6R+fOnZv0f6wBoKUgR56+OfLo0aO6/vrr5fF49PTTT5/y9QCgpSFHnp458te//rW2bdumiooKLViwQNdff702btzI/58CzciiRYvkcDi0ceNGFRUV6dZbb9WvfvUr9ezZs8HXmDZtmubOnavIyEhdf/31uv7662WxWLR48WIdOnRI1157rZ566ilNnjzZ575jx47Vpk2btHnzZt12220655xzNG7cOEn//fl7xowZ6t27t8rLy+VwOHTrrbdq5cqVQf87CBaKFUAjuPDCC7VlyxYVFBQoMTHRW9Gszy8tDb355puVn59/0vHYbDaVlZX5tB3//HPfEmmo1q1be/98/Fnr6upO+brHlZeX6/PPP1dYWJi++OILDR8+XJJ06NAhSf99n2u3bt18xlgsloDuMX78eL300ks/2+f4/QAAJ48ceXrmyOOFit27d2vt2rWsqgAAP8iRp2eObNu2rc4//3ydf/75uvjii9WzZ08999xzysrKCigWAMYZMGCAsrOz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dm0AAJozciQAAP6RIwEAAEIv4JUVMTExeu+993Teeef5tL/33nvq2rVrg69TUVGh2tpaWa1Wn3ar1erduDsYsrKy5HA4vJ+rqqoa7QdNvhHTuPhWDAAEVyhzJAAAzQk5EgAAIPQCLlaMGzdOEydO1NGjR/Wb3/xGkuR0OvWXv/xF99xzT8ABLF++XKNGjZLL5dLAgQPVq1evevt+8sknmjp1qoqLi7V7926tX79eEydO/NnrWywWWSyWgOMCAKClI0cCQMN951xidAgtVsfLbzA6hBOQIwEAAEIv4GLFpEmT9N133+lPf/qTampqJEkRERGaPHmysrKyGnyd6Ohomc1mzZkzR/Pnz1dSUpLy8vK0cOFCbxHkfx3fYDstLU033XRToKEDAAAAAAAAAIAmKOBihclk0mOPPaYHH3xQn332mdq0aaOePXsG/K2T8PBwtWnTRt27d/dusP23v/1Nzz33XL1jfrrB9s033xxo6ACAX8C3RhtXU/zmKAAAAAAAQFMQcLHiOJfLpf379+uyyy6TxWKRx+ORyWRq8PiamhodPnxYO3bs0KJFizR48GDl5eWpVatW8ng8kqT09HR169ZNOTk53jGffvqp9xqVlZXatm2b2rVrp/PPP9/vfdxut9xut/dzVVXVyTwuAAAtDjkSAAD/yJEAAAChF3Cx4rvvvtP111+vdevWyWQy6YsvvlD37t01duxYnXnmmZo5c2aDrlNRUSGPx6M///nPmjp1qlwul+Lj45WWlqYvvvhCklRSUiKz2ewd8+233+rCCy/0fl63bp0uvPBCDR06VIWFhX7vk5OTo+nTpwf6mAAAtHihzJErPzgUkvucjq66qJ3RIQBAi8P/RwIAAISe+Ze7+Lr77rvVunVrlZSUKDIy0ts+cuRIrV69OuAArrvuOu3evVtut1sbN25U165dvecKCwu1cOFC7+fY2Fh5PB55PB6de+65mjVrljweT72FCknKyspSZWWl9ygtLQ04RgAAWiJyJAAA/pEjAQAAQi/glRVvv/223nrrLZ199tk+7T179tTu3bsbfJ3o6GiFhYWprKzMp72srEw2my3QsOplsVgC3k8DAIDTATkSAAD/yJEAAAChF/DKiurqap8VFcft378/oB/mwsPDlZCQoFmzZik2NlYREREaPHiwVq1aJbvd7nfMJ598oj/84Q+KjY3V7t27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K2pqarRz504dO3bslAJwOBxasGCBFi1apM8++0x33HGHqqurlZGRIUlKT0/32YB7woQJWr16tWbOnKkdO3Zo2rRp2rx5szIzM08pDgAAAAAAAAAAYIyAixWHDx/W2LFjFRkZqQsuuEAlJSWSpD//+c969NFHAw5g5MiRevLJJzV16lTFx8dr27ZtWr16tXcT7ZKSEu3du9fbf8iQIVq8eLHmz5+vgQMHavny5VqxYoXi4uICvjcAAAAAAAAAADBewMWKrKwsffjhhyosLFRERIS3PTk5WUuXLj2pIDIzM7V792653W5t3LhRSUlJ3nOFhYVauHChT/+0tDTt3LlTbrdb27dv11VXXXVS9wUAAAAAAAAAAMYLeIPtFStWaOnSpbr44otlMpm87RdccIG++uqroAYHAAAAAAAAAABavoBXVuzbt0+dO3c+ob26utqneAEAAAAAAAAAANAQARcrEhMT9eabb3o/Hy9QPPvss7Lb7cGLDAAAAAAAAAAAnBYCfg3UI488oiuvvFKffvqpjh07ptmzZ+vTTz/Vhg0btH79+saIEQAAAAAAAAAAtGABr6y45JJLtG3bNh07dkz9+/fX22+/rc6dO6uoqEgJCQmNESMAAAAAAAAAAGjBAl5ZIUk9evTQggULgh0LAAAAAAAAAAA4DZ1UsUKSysvLVV5errq6Op/2AQMGnHJQAAAAAAAAAADg9BFwsaK4uFijR4/WZ599Jo/H43POZDKptrY2aMEBAAAAAAAAAICWL+A9K8aMGaNevXppw4YN+vrrr/XNN994j6+//vqkgpg3b55iY2MVERGhpKQkbdq06Wf7L1u2TH369FFERIT69++vlStXntR9AQAAAAAAAACA8QJeWfH111/rlVde0fnnnx+UAJYuXSqHw6H8/HwlJSUpLy9PKSkp2rlzpzp37nxC/w0bNmjUqFHKycnR7373Oy1evFipqanasmWL4uLighITAAAAAAAAAAAInYBXVlx++eX68MMPgxZAbm6uxo0bp4yMDPXr10/5+fmKjIxUQUGB3/6zZ8/W8OHDNWnSJPXt21czZszQoEGDNHfu3KDFBAAAAAAAAAAAQifglRXPPvusRo8ere3btysuLk6tW7f2OX/NNdc0+Fo1NTUqLi5WVlaWt81sNis5OVlFRUV+xxQVFcnhcPi0paSkaMWKFX77u91uud1u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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "visualize_results(df, \"demean_timing\")" ] diff --git a/benchmarks/gpu_results.csv b/benchmarks/gpu_results.csv index 2cac72fc..1ab18b30 100644 --- a/benchmarks/gpu_results.csv +++ b/benchmarks/gpu_results.csv @@ -1,25 +1,25 @@ ,method,demeaner_backend,k,G,n_obs,full_feols_timing,demean_timing -0,feols,jax,1,1,10000,0.27587409019470216,0.07204418182373047 -1,feols,jax,1,1,100000,0.3294011354446411,0.6732793092727661 -2,feols,jax,1,2,10000,0.3239504098892212,0.08255081176757813 -3,feols,jax,1,2,100000,0.8856719970703125,1.101165223121643 -4,feols,jax,1,3,10000,0.4663480281829834,0.11542174816131592 -5,feols,jax,1,3,100000,0.9265661239624023,0.9134762048721313 -6,feols,jax,10,1,10000,0.286394739151001,0.0806546688079834 -7,feols,jax,10,1,100000,0.4652519702911377,1.1236234903335571 -8,feols,jax,10,2,10000,0.33887062072753904,0.10658795833587646 -9,feols,jax,10,2,100000,0.9290453195571899,1.1521157503128052 -10,feols,jax,10,3,10000,0.35740249156951903,0.0934922456741333 -11,feols,jax,10,3,100000,1.0702104330062867,1.0646081447601319 -12,feols,numba,1,1,10000,0.28046157360076907,0.002096128463745117 -13,feols,numba,1,1,100000,0.3228717088699341,0.021485161781311036 -14,feols,numba,1,2,10000,0.2938842296600342,0.0024126768112182617 -15,feols,numba,1,2,100000,0.33892054557800294,0.02569558620452881 -16,feols,numba,1,3,10000,0.2918412685394287,0.002186441421508789 -17,feols,numba,1,3,100000,0.3111621141433716,0.01918654441833496 -18,feols,numba,10,1,10000,0.288060736656189,0.00507059097290039 -19,feols,numba,10,1,100000,0.3898226976394653,0.07133381366729737 -20,feols,numba,10,2,10000,0.3217403173446655,0.004642939567565918 -21,feols,numba,10,2,100000,0.3861077308654785,0.05822854042053223 -22,feols,numba,10,3,10000,0.29346532821655275,0.005108952522277832 -23,feols,numba,10,3,100000,0.4223452091217041,0.06810879707336426 +0,feols,jax,1,1,10000,0.22883999347686768,0.08213257789611816 +1,feols,jax,1,1,100000,0.27838222980499266,0.6599355697631836 +2,feols,jax,1,2,10000,0.2594131946563721,0.07008242607116699 +3,feols,jax,1,2,100000,0.5564646482467651,0.6762551069259644 +4,feols,jax,1,3,10000,0.29452004432678225,0.08089225292205811 +5,feols,jax,1,3,100000,0.7971727609634399,0.7361236095428467 +6,feols,jax,10,1,10000,0.23609719276428223,0.08923766613006592 +7,feols,jax,10,1,100000,0.35655946731567384,0.8534042596817016 +8,feols,jax,10,2,10000,0.2677977800369263,0.07926526069641113 +9,feols,jax,10,2,100000,0.7200102090835572,0.880342435836792 +10,feols,jax,10,3,10000,0.30958850383758546,0.0926206350326538 +11,feols,jax,10,3,100000,0.9418511629104614,0.8934823036193847 +12,feols,numba,1,1,10000,0.2558188199996948,0.0025653839111328125 +13,feols,numba,1,1,100000,0.26205954551696775,0.025234317779541014 +14,feols,numba,1,2,10000,0.23201637268066405,0.0021322011947631837 +15,feols,numba,1,2,100000,0.33342432975769043,0.03563899993896484 +16,feols,numba,1,3,10000,0.23092274665832518,0.0023543596267700194 +17,feols,numba,1,3,100000,0.25670347213745115,0.021407365798950195 +18,feols,numba,10,1,10000,0.4105666160583496,0.0046176910400390625 +19,feols,numba,10,1,100000,0.32753868103027345,0.08355832099914551 +20,feols,numba,10,2,10000,0.23588848114013672,0.005055141448974609 +21,feols,numba,10,2,100000,0.3476848602294922,0.0862342357635498 +22,feols,numba,10,3,10000,0.25297954082489016,0.005847930908203125 +23,feols,numba,10,3,100000,0.3176179170608521,0.056423068046569824