https://py.cafe/snippet/solara/v1?#c=H4sIAI92WWcEA9VbbXPjthH-K4zyIc70xBP1YknuKdM2M510pu2HpJ1MJ77RQCRk8cy38MW2cvV_77MAFyJgHuVETSe172xj8eyD3QWwAEHo4yjMIzm6Ge3LPPXCvDh6cVrkZe1FUhZUvs1YIGoRJqKqZGVkVZ6IUphi1qQgEJWXFbeZ_v6DhvhhDkgms3r70MirL_y3JEjk09ZU-Kj44svbLJJ772tdSb9U3dVt5uGrjutE3nhVXXob74t_UMkrEhHKQ55EsvzijYZVzc5GftcK-sAirOMHQHd5ngD7Z5FUsq0KRRltmWw7MXRfQ-4ZzgkzKXiYZzV56aC_1mIHbLgDG224AwvO3A6auW2w4Z7aaMM9teDM7aCZ2wYb7pmNNtwzC87cDpq5bbDhnttowz234MztoJn7BE7i8L63l4syvytlVW0fRNJgIMRQ-7e3T3JRAzlxUbtmv5flMNh2ZGGbZhxZGNu6jjhodsQGG-5rG224ry04czto5rbBhntpow330oIzt4NmbhtsuFc22nCvLDhzO2jmtsGGe22jDffagjO3g2ZuBf7yRiv4vm_yWScN-ubv20z98r6rRS1bJSTDrRp1lR4mGB66oi_jvIa8Na2lVz4Z21_mQo3ioBigicZLrB1FJ4EZvUkXzUF0wBxEC2uYnfRlmIMumpkdMDNbWMPsJC_DPO2imdkBM7OFNcxO6jLMsy6amR0wM1tYw-wkLsM876KZ2QEzs4U1zE4mMcyLLpqZHTAzW1jD7OQRw3zdRTOzA2ZmC2uYnSximJddNDM7YGa2sIbZySGGedVFM7MDZmYLa5idDGKY1100MztgZibs-Qzwx6LoZphK_d1uwvxvpU4sPyjIezTRVpRtxZWquPoSeyzSbi16qd_a1MfQVikO-hZFsVVWAMvGXbV18knQJo49B-IH3TB93Y7-4snsQ3707vI4u_P2eeklOf54FMl9hXzpZaJuSunVOZZuKUovPXppnEX-7ajN4vR1O_rHQXqZfPSwNteiKQUaivLHrMZ_74CdqEjFT7qBPPJEFnlYxbFWV7J8iEPpsn0HtqIkZ0NZeUUsstyTD7I8Yvd7JFuw0S3zB-kdJCxqqjgUiVfdx0lSuVRkGLIrZfn7qs7hSp55fxPw7Lu6lLLW1nmPOTa85b5J0B9JItEyYPneKwU0lK5L_L30qkPegDolGopcmGNPAnGeyjpOpfIzFHV48JqCmlUu1AfEwSUjK6smq0AEt0qvJqtDKTJ0BMzbYQA0tUyO3o7CdqjFPQXziGDLEiFx6f6KnsoIIVSnJCK7a8QdelHcI56RjBAw5aGyMM-qGEToMo65y0fmhYc4iUoJiyRCIp_CuJYR9cVdTj_J4p9y-h1XgMh7-XKQfIOQJI_iWMENWFd5hA1FKkt0wAHUdSkeZEKGgzEUhRp6qUzzMsY8dNjIKNHUTZp5GJkPcCyk4MAo4e0kamLVnaIsKKroSqqhkYfhAC5N9f40QTiRVKcpQo3ARDz7ePgldnlTI1wRDDS29EFokA8C1JAdRKghN4jQg20QYkbRIIqmNQ2WQVDbvcMY7r1hlOk2Bet0QIpZudU5m3pA6-IfaVCd3mtBC7x_zHKIMfkd-b_Q18gWL-rcZrizP9ESV_c0Zle9aO9UjSZvzXN3InZ-Lap7_VydHrf7JlNJ5oo3twWmBB6wR506b4zEgdUHZCqZE4zTPJ8LXJnc7-uf6okIcAKfcn4PvK00Clrlc--fqknWtYh85RrossJHjo_y1A8PORLGlRVchbJN8DkuZ5UZ6Ojba_1kiIZRVR9FWxhmaEF9-ky-DYYIGDVowiBDC-rTZ_LtdIiAUYMmDDK0oD59Jt_OhggYNWjCIEML6tNn8u18iIBRgyYMMrSgPn0m3y6GCBg1aMIgQwvq02fy7fUQAaMGTRhkaEF9-ky-XQ4RMGrQhEGGFtSnz-Tb1RABowZNGGRoQX36TL5dDxEwatCEQYYWBH3NYPK1SupapvP76eDD-93GC9pTj6c-8h8mb7zgfWuT1tZPGgBjJ5JcPb1szywkWm6K7TKEreyV-qtlPdWzz4ToekPfvFya02i9Xn6DHbVaKDWXOQRUSxdsPJHrn0puBcD4b3S7B4ivo5gG2kii-cTJOH2pDt6c-Nhfzahq2-0RffGI-KQCAzo6um86GvqnxuvKDtp4rOo3drEP143MCd6VdrTswT_pGGW74eBchhZ8jsDAXH3DHAwTnHAuA1OfITAwV98wT4cJTjiXganPEBiYq2-YZ8MEJ5zLwNRnCAzM1TfM82GCE85lYOozBAbm6hvmxTDBCecyMPUZAgNz9Q3z9TDBCecyMPUZAgNz9Q3zcpjghHMZmPoMgYG5-oZ5NUxwwrkMTH2GwMBcfcO8HiY44VwGpj5DYGBdfVoxNt2XW_SVZ3op2SQi3UXC297Yz4EtVK2FJZ6UuwcR7bL4LYmvCpwAbW5Hb-kJ1CyUG1ojiUM9do7ejEr5YxOXMkVdhRfLmuE2w4pWHFFdHwt636zFKBc4mMozSIojDjgiOX6Y-NOFH6AqEUe0O7r5OMLRVAVbRzdT8Od5_W3-SOKWq0TpzYjPiUY3P5iaGidYskblo4zvDqCaL_zlZLKazufr9TwIJktUxVF9GN0E6_mbEU4Yv9fF2USVvmn1qBhHYNzHifwTGsQBIh2G4sFRlp9onKDjncYCQtGDdPT8_vmNwbwwMFjM_el6HSwXi8lksVqt4XEfORRPnBgoPoJr856qqa9evGr_JLrbf379VNsGvyLW54PYBuVcADl2lgGmmQNHbLl4TZs4sIRYJOcaZRy1St_Pb1RHYigDk-HMEJj-gIIP3CgB8a6WgGDqfkXz6N3DmKpUs0qgRPDO-9BUOC48YlaFUJTl7ch7GMd7lD-Lqy2arTB79c7qdtSqtnwJ5mBSARlMoZVG-GuFP6qURJMOGvgofkBywCsE1NXyqR6b1qr6iD3g7WgP-8ZV_BPeJ0xXxdPvLX3P-_hRby-95-eT-N1b8HZgVjPp0zjwzrc16W2Ls-NAc-_eqiC0ZSohnii15U-F96SvY9hGm0P8M2IKfeThk79iTDrs406E93fIpllEzeTljfe5WEa7cA5vPU8m8kEdhBOvRWuIxxyDrxAPlfFZgCOk52flvgXr46D4GwsLMZ6jLabjBcRiI4UOE8u7Ii0xrOf93u_FZC3_C34HXUtZ2svxGr8ttt-039OupSzt5XiN3xbbb9rvWddSlvZyvMZvi-037fe8aylLezle47fFds5vJVBZ1UiUoJsXDVhV7urM2yV5eK-SveU5Eqb3B731vB0dcPCTyK-pBDHo8hJSvHxIRXm0SBVtDPPxhmhff5VG8ViUyObjkpb0cRiXeCM8xs4Qr3wkGUxYS1-3YgSEgZkG0usknzeMiVWUXON5N2rTrWxtTySUgF_k0deNPqMYv0B2zy66CtxlaU2D6iTXexpUBBg1JzFH6_NZuJrusCKdqtxxSKj1Mgz3iy7qK3KZrWo9tN2HMq-Fn_1fLYaL7vBmaS_HayaLxXZushhqw_o_9Pu6aylLezle47fF9pv2e9m1lKW9HK_x22L7df2-zO1V11CW9nK8xm2L7dd1-0K_111LWdrL8Rq_LbZzfitBzxMG15we6N697TzuoViFZVwQt3zSV-flXjRJ7X0kZXqGvMH1L_0MaQ7y9eVU5OgC90UV0NzxbEso4xH1xsP9Idx1aE9tPFwvUc_r0Q3uQWCVUdLntpYDdgmHXg1eMPwJr2dww8NQtD7eeHt9n5VkTKH6gG2hy6IO18-wxurOy5mMUbhneiEVG3U5kzEKV1QvpGKjLmcyRuF264VUbNTlTMYoXIy9kIqNuoiJt1h6x_eC6e9NupPlz2PqbiEvIVT78BcEv3wW48Kww_Uz4mRF_HImYxTuGl9IxUZdzmSMwjXlC6nYqMuZjFG44XwhFRt1OZMxCpejL6Rio34ZE_3SdLhIe8ij00rceXq9-pKFoMb9PV_NLLwy-exU0vWa7zZ7_j1tEcymAG9Jnt_j7QaemelkmQ6kYTIOjT-nO8EHzL1FsA72wX6-k8vrYBbtZtfr1Xq5XM_30_k6WuPedXaM881m7i99XC8Q5V2eTcfhfh9vNtOZHzjC8Q4Xp-F8hdrAn_oTXKZI0TqBsKXZbAJ_plSqus5xfxY4lJWkrkvSajlpo4cbz8lmg3c0SsDXXau8KeZkUDD1p5AjqYSHzeZa04QoyBqpBlwLtIX7DKEsoUj2TsC-9KfQ0g4EfoDXPygdRImT_nGWl6lIcFpcklkzolcx3mxWsGqJUp6m2iJURXLX3BVHokG1cTSSYV4KXMMmA9CCut7RVDJ6SpU3SxLJJxnCnewOVmmH9wjJBxzBV7A_FSRGAIGkfqP-I4uCayX5McqoUWX6IQiINJgTx6FJRQbzVXQUaxxl4Jr5c_xZHO9lmUkYcU2vveABRPRGTLmnqFvB-E5msI5i2EYfFXjvoCKGbuWyOvAmmQo9ZHjBdSdrqFG8FhBVeYSb8mpLjvC3Rn3A5Wxl9FqV4uyDmCr3iJliUOCiPo7QSaaYu3GBZ0t_BlkDW3EQgg7CkKYWry0xrsFTB6C7T0JcTsebJmrawuLFD976qZ5Ac6Yj7Wrs4fXbGqWPoWUAuPc6Lo536i0W1akB3qkzQSFvAujhGOqePjlAEgwqLo7jGjzGaRI3RSX28IPGiFKsiyTHYdRuHGd0tELNqYGZIsxqdKkYprjr3lAtUaGc7dTDShyqzuq4SBU6fNDEPyXJM7gLEQbqNQ2cbIeL_2hajeeJkuBS_lhUxyyk1BAgmrAXN4QlXemm4bXottHKx9UhbicPUdA7WtKdqjboEwElXskiSkv0GegKur0VYvQjipC2w73AREWTE8w4xKPAQw8-x0CDAkPJtFhgyuJ9Fia1CtCSRmKBD06o_IPYKno8QpFbUUzsc3TaNYT4ZDKysWwqM6xgLkKmq4p6TJnlPoacIjtfQV7RRKHQrP3VyQIsBCWupeMBURlADeKePwagUL00VdYfQ3JHjzy6eHUaROhvNR-LY6pGBh4fkSsxi1BH_YQ-5XfYh7ouNKXC4-W1-pwDiTC_VDNqStOFNm3qFMFTBEpOc2uc5Hd32g5YS1VHQcmKcqpi_Sn9EZXIMZ0o44MIYU3zmtIf2qFlDuNCWT9T87zch7PZbE1nlTGap4wIPupuqlmvrt0atFXGlMyDGcJJOJSoKyj9UTPoyLKIKjVNoLDqmFPhwxhTXM-vSF1bhJTeFO1acE0ZCV5X8RPVI7wwsMpirANqCKuVQt8UoOJcZT1dNvnBETdqBWERpmqM_ELeI0VBgg9U3VPUwdfmG4jKRNa1GpUzpYfBTUklUmMa_kARq8IxrCpkRJArTF5qhJopcJE2MBRnzAgMXIiw66CYvOhnTAofi948mE4wugHDgmONJVrV0WRTxkhv-liBmsXgJmGCRDMjHtWbDT7FBEta26H1SB_7iXIsYfbAUHJattAA2u_mm8dQXYFoxytMf5TINzjHARTDC8sD8cqdxErbbiMo12phBQos0jwzqZNhlqkAFuEgqM632DGwp9pCaq-qEvz4McEHe1AaPf8Hgk5cOZVAAAA