Package: zibanu-django-auth
Paquete de autenticación y autorización de Zibanu para Django - zibanu.django.auth packageEste paquete contiene los servicios y librerias necesarias para la autenticación y autorización de usuarios a través de
la API de Django. Estos componentes proporcionan la funcionalidad necesaria para gestionar la autenticación de usuarios
y permitir el acceso a recursos protegidos.El repositorio ofrece doce (12) servicios API REST para el login, logout, refresh, cambio de contraseña, solicitud de contraseña, agregar usuario, eliminar usuario, listar usuarios, actualización de usuarios, lista de permisos, actualización de perfil y listado de los grupos.APIsLogin (Iniciar sesión)Logout (Cerrar sesión)Refresh (Actualizar)Change Password (Cambio de contraseña)Request Password (Solicitud de contraseña)User Add (Agregar usuario)User Delete (Eliminar usuario)User List (Lista de usuarios)User Update (Actualización de usuarios)Permission List (Listado de permisos)Profile Update (Actualización de perfil)Group List (Lista de grupo)Login (Iniciar sesion)Este servicio permite realizar el proceso de autenticación de un usuario con django. La autenticación se realiza utilizando el conjunto email y password.El servicio toma un conjunto de credenciales de usuario y devuelve un token web JSON para probar la autenticación de esas credenciales.url:https://myserver.com/auth/loginParámetros:email: Correo electrónico con el que se realiza la autenticación.password: Clave del usuario.close (opcional): Indica al sistema que debe cerrar las otras sesiones que se encuentran activas. Este parámetro se evalúa únicamente si el usuario tiene la bandera "multiple_login" habilitada en su perfil.Retorna:HTTP Status200, si la autenticación es exitosa y un objeto JSON.401, si la autenticación NO es exitosa, por error de usuario/clave. (Usuario Inactivo, usuario inexistente,
clave/password errado).412, si la autenticación NO es exitosa debido a que el usuario posee varias sesiones abiertas. (multiple_login).500, cualquier otra excepción no manejada.JSON{
  "token": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoic2xpZGluZyIsImV4cCI6MTY5Njg4ODMwMCwiaWF0IjoxNjk2ODg0NzAwLCJqdGkiOiI4YjBhMjhlMjg5ODA0NzNkODcwZWUxMTkxMDMyMmJmOSIsInJlZnJlc2hfZXhwIjoxNjk2ODg4MzAwLCJ1c2VyX2lkIjoxMiwidXNlciI6eyJlbWFpbCI6Im1hY2VyY2hhQGdtYWlsLmNvbSIsImlzX3N0YWZmIjpmYWxzZSwiaXNfc3VwZXJ1c2VyIjpmYWxzZSwidXNlcm5hbWUiOiJtYWNlcmNoYTIiLCJwcm9maWxlIjp7InRpbWV6b25lIjoiQW1lcmljYS9Cb2dvdGEiLCJ0aGVtZSI6ImNvcnBvcmF0ZSIsImxhbmciOiJlcyIsImF2YXRhciI6Ii85ai80QUFRU2taSlJnQUJBUUFBQVFBQkFBRC80U2NMUlhocFpnQUFUVTBBS2dBQUFBZ0FCUUVhQUFVQUFBQUJBQUFBU2dFYkFBVUFBQUFCQUFBQVVnRW9BQU1BQUFBQkFBSUFBQUlUQUFNQUFBQUJBQUVBQUlkcEFBUUFBQUFCQUFBQVdnQUFBTFFBQUFCSUFBQUFBUUFBQUVnQUFBQUJBQWVRQUFBSEFBQUFCREF5TWpHUkFRQUhBQUFBQkFFQ0F3Q2dBQUFIQUFBQUJEQXhNRENnQVFBREFBQUFBUUFCQUFDZ0FnQUVBQUFBQVFBQUFQbWdBd0FFQUFBQUFRQUFBTXFrQmdBREFBQUFBUUFBQUFBQUFBQUFBQVlCQXdBREFBQUFBUUFHQUFBQkdnQUZBQUFBQVFBQUFRSUJHd0FGQUFBQUFRQUFBUW9CS0FBREFBQUFBUUFDQUFBQ0FRQUVBQUFBQVFBQUFSSUNBZ0FFQUFBQUFRQUFKZThBQUFBQUFBQUFTQUFBQUFFQUFBQklBQUFBQWYvWS85c0FoQUFCQVFFQkFRRUNBUUVDQXdJQ0FnTUVBd01EQXdRRkJBUUVCQVFGQmdVRkJRVUZCUVlHQmdZR0JnWUdCd2NIQndjSENBZ0lDQWdKQ1FrSkNRa0pDUWtKQVFFQkFRSUNBZ1FDQWdRSkJnVUdDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FuLzNRQUVBQXIvd0FBUkNBQ0NBS0FEQVNJQUFoRUJBeEVCLzhRQm9nQUFBUVVCQVFFQkFRRUFBQUFBQUFBQUFBRUNBd1FGQmdjSUNRb0xFQUFDQVFNREFnUURCUVVFQkFBQUFYMEJBZ01BQkJFRkVpRXhRUVlUVVdFSEluRVVNb0dSb1FnalFySEJGVkxSOENRelluS0NDUW9XRnhnWkdpVW1KeWdwS2pRMU5qYzRPVHBEUkVWR1IwaEpTbE5VVlZaWFdGbGFZMlJsWm1kb2FXcHpkSFYyZDNoNWVvT0VoWWFIaUltS2twT1VsWmFYbUptYW9xT2twYWFucUttcXNyTzB0YmEzdUxtNndzUEV4Y2JIeU1uSzB0UFUxZGJYMk5uYTRlTGo1T1htNStqcDZ2SHk4L1QxOXZmNCtmb0JBQU1CQVFFQkFRRUJBUUVBQUFBQUFBQUJBZ01FQlFZSENBa0tDeEVBQWdFQ0JBUURCQWNGQkFRQUFRSjNBQUVDQXhFRUJTRXhCaEpCVVFkaGNSTWlNb0VJRkVLUm9iSEJDU016VXZBVlluTFJDaFlrTk9FbDhSY1lHUm9tSnlncEtqVTJOemc1T2tORVJVWkhTRWxLVTFSVlZsZFlXVnBqWkdWbVoyaHBhbk4wZFhaM2VIbDZnb09FaFlhSGlJbUtrcE9VbFphWG1KbWFvcU9rcGFhbnFLbXFzck8wdGJhM3VMbTZ3c1BFeGNiSHlNbkswdFBVMWRiWDJObmE0dVBrNWVibjZPbnE4dlAwOWZiMytQbjYvOW9BREFNQkFBSVJBeEVBUHdEK05XQUNRYlQ2MXQyMGlXMG1HemlzcTJZTkdEMzRyWWpqVjhocS9mNlZKdG40eFZsZEcxSGMyYm9CSzIwZHMvUTFGUGI3TEdLT01nZ1JyeVBkYzFuQ0JQSytmbkZiVW9DMlVXQmo5MG4vQUtDSzdLY2RIRTVPWFc1ejBpa3FvOU0xMU9nRmVGYXVia01lU0IxRmF1alBod3lIdlUwSEdMME9tck5PTHNhZmlhd0RMejFVWXJ6aUpUQkx0NzU0cjJQVlltbnMvUDZzZXRlUzNFSk11QWRoem5PTS9wV2VNZytkTXZMNnE1ZVZuWDZaY00yMk04RnVtZTlmYWZ3UC9aQytKdng1anRidlNoYjZmYTNqbU9PNXZXS3hFcjE1VUVBZWhKQUo0cjRxOEM2TnJYajN4dHB2Z1h3eEQ1NzNVOFlmK0hlUTMrcXllQUNPV1BZWjlxL2FYd1hONE0rSHVxQzIxTHhyNG8xQy93Qk9aWWpCNGNhS0d4dE5wNVZoSXlvcW8zRzFnekgrTUxtdHN2Zk9tMGNlYlV2WmF4M01qeDMvQU1FSmYyc3Jud1hONHUrR2NtaytMSklGVjdqVExXU1MxdlYvdWxVbVZVWUhzZCtENjErTTN4YytDdnhNK0JYajI1K0hYeFQwUzYwRFhiTFo5b3M3eE5raUs2aDBidUNyQThNQ1FlY0hnMS9xVy84QUJPM1I3YngzOE5kTTFYWEkwbG5odFVTU1pVOHA1OGhXekxGdVpZMmRQbTNSTXlNZDJEeHg4a2Y4RjF2K0NSSGgzOXNUNEZ0OFgvaGZwVU1IeEI4S1dNZ3RMaUloR3U3WlNaUHNzdzREODh4a25jckhBeUd4WGo0N0hZZDRuNnJKV2srcHRsZUx4WHN2YXVQdXJjL3pYZEx1bzFZckoxYml1bUdqMjl5dSt6QlppTXQrRlpuaXZ3YnIvaFRYN3ZRdFl0cHJHOHNwbmd1TGU0UXh5eFNSbmE2T2pZS3NDT1FlbFFhVmNheGFTNzdiY2NlbVAxelhSRlNocEk5S2JqSjNneU41anByRmJwV1Vja0RIT0J6L0FDckU4TzZqWURUVkZ3SEdYYzV4eGdzU0s3SzhMWE1NZ2xUTXFvenVvNHlNRWtmV3VZMERSemM2VkRNMXRJeDhvUDhBS2ZsSmJrY0gycTVLVGxlSnJDVVBadE5XTHpmMlBLTm9sVVo5YXF6V0ZvV3pFNnNNZGpVZHhwTm1BUVk1VTlUdDZWbnphY0Y1Z2xaUU94V3VmRUtTMWtPbHkyOTBkSnBqSWQyUWZ4cG45bktlVzYwd1BlUWZOSk5HNDZZd1JVWjFtR0Z2TG0rWWpydC9wWExHckZzNkpVMmovOUQrTkxUakg1V0ZCem11aWljSTNOY3pha1JOZ2NMWFJLVllncFg5QjBJU1V2ZVorUFl4NldSUGNScWlIYjJCL2xYUnVDYkNKbC91TC9LdWFuY0ZUdUk2Z2ZoM3JyUGsvc3lCb3puNUIwK2xkZExXYlBPcXV5dWppaTdwZWt5ZHdRS3Y2SHVqdTNoYitIbXMrOFltOUNqclZ5eWUzMHVXUysxYWRiZFNNN1pEaHlBZjRWQTZIc1RpdVJPTWFscE95TzMyS2RLNjNQWFlMU2E1dFFzU2I5cTdpY2dZSEE3L0FGcnhYWGRmMFdMV0YwV3daYmk0WWdFb3dLSVNjL01RZW85UFdzWFUvalA0MWd2SjQvQkZ4OWdnWWJWWGd1UjNMRThEa2NWbWZCWHc4MnVlSXJqVU5SK2Viek1CaUFUNWttY24rWjcxdzQzT29WR3FWTGZZOW5MY2k1RTZsV1doK24zd2crRXZpbjRXNk5lYTVwMW0wbXZhL2FQRGEzQlZ2M0tTZ2x4RG5oWlg0WHpGVXNGSndleC9RdjhBWlcrQkErRHVqMmFTeVJwSlBNMzJwNVNyM1VNajRkRUN1clpYR2QyUG15ZWVtSzhyOFFUM1BoQ0dDMnRaSkFsbmIyL21UeGgvUGliQTJJRHlGd3VNaGVSMUo1cjZuL1owOE4vRkR4UHFPbmVKTGpUWmJtTzdZM01FOGpaK1Jjb3hJWWtrOWVmeHI2emxvMGVXbFRWNWZsL21aNVprOVRFeWRhcTdSdjhBZi9rZjBqZnNaL0ZQeFI4T05Mc3ZCZHlKTHkyVnRsbk1xaU1wYk15c0ZjS0FHTUxFNFBIeU1jODErbzN4bDhWTDRoL1pMOFk2dHFFSXVJNE5GbkNvNDRaMUdBY0hnc0d3VnlDTTQraC9QYjluWmJNZUU3R082RVFrMktzYnNRVlhqTEJuL256eldOL3dVQi9hcTE3NGErQXZEbndROFB4cEpMNHhFcVhFNllDdzJ0dUF4SzdDVHZkeW93ZXFpdkJ6bkwzaWNSVGpHRnBwcHQraHBqc2poZzZkVEUwNm51Nis2ZnhKZjhGVlBBZWo2TjhlTFB4aHBwam1tMS9UNHByeDBCVU5jUkR5aSswODduakNGc2NaOXEvS202dEkxT2RoL01pdjJNLzRLVVdGNXFIeFh0OWF1VVUyVi9hazI0QTJ2Rk5ic3R0Y3hOR2VVdzhRY2RBeXR1SFVnZmxicU9sQU9RZUFPbGZTNTdsNmRhVTBmRVpMam5Ha3FiNkhsT3N4eHg2UmNUd05zZEkyeDM3WXJhME83c3JUVElMVnA1STlpS29EREJ3QjZkcXBlTWRJanR0R251b1pHYmZ0WFl2QURGZ08vSno3ZmhVeHNWYUl5bEM3NXdXNTUvUG44NitkalRuRjNSOVFwUXF3OTdRNlNTNmdaU04yZnBXSmRzcjVTUHAxckdEem8yQWpBL1NwM21jZFZOS3JWNXpMMmNZNlJZU0pGSXUxa0RmV3NTNnRiUVBrd3BrVnZENWVXRlpjL3dBODdjWndvd1BmUCtGZWU0MjZIU3BOYkgvLzBmNDBMZERKSGtkNjFZQTRQWEdCV1BZT1F3R2VLNkdJb0hKYnBYOUFINDVPTjFZam1CWmRvOUNmeUZkYlpzdjlrMisvZ0JBQ2ZweFdCUERzUVNJY2dnamo2Vm96WGNWcG9rQlFGN2hvMlZVUDNjOC9NY2RoM05iMFpxS2N1eHkxY08ybEZHTmFUVzkxcmR4Q3lrckZGODdZeUFXNkFBNUJQSFNwTmIwSnpKSGYrSXBYa3R0d1ZTN0ZncFBDRTV6aENlT3Z5OGV0ZFhwR21RNlpvaGp1U1d1TGVFNmhNT09Ya0JqaEdlcEhWc2ZTdHp4UFlRMjN3Mmd0dFFPNjR1WVdka1AzdG0wTTMwQUpIMHo2MTg5aSthYWxVZlEraXc5RlJpcWFSOHUrSTlKK3czN1hOcnRNY3Z5QUE5RDByOVF2MkFmZ1hvVjNMSjQxOFJoWk5wUW1CR0EzTWVZNHhuSUxuRzl1eUo5N2xnSy9MdlF4cW5qZjdOcGtpaWE0ZGxoaExrNTNCZ29QKzl5Qlg5Sy83Qi93UTBYd3Arei9BRzJzYW8wVjFmNmhleTNDc0ZiQ3h4QVFoVG5JSkxoaXB5Zmw5NjZlRXNGQ3RpT2VTMks0anhMdytDNUw2dlFoOGVhcnFrdmloNzNWQjludDdsWGxrUkFYQWRNZ0RLREF3TWM4ZWxmczcreTlxM2gzd2oremkveFcxUFE1NExMVE5QM3EwRXhTV1NkemdDM2l5SFlNN0Rld1lCVkJPUml2alh3cjhPTFhYdkY2YU40blEzTVZ4RzF5TFdJaE45ckNRR0FHRGtNVGxnTUVqb2ErdHZoLzhSOUU4YStMYmY0S2FuOFBKcmZUYkNWb0xLYTB5amlSZVdLcUZ3cWdFcmpub2NtdnVNWGg0S3Q3V1V0UytFcytwUmdxRlZYWFZuMmgrejVjZUxmSC93QUFiNzRqWGR6ZjJvZTh1YnhKcFVFY3JRS2lmZEh6QUFZd0FjbGp4NzErWkhpYjRrZU5maUQ0ODhVZUpkYmJOeHBVRUthYmJzKzFFdHpNRHRqK1VCWkdLamV3R0N4T0RnOGZ0bDhIN0RVNS9oWHFud3VqMEY5TnRyT1ZvclNmZnVrT3c3OTBvd29BZm93d1QwUFVWK1hmeEg4TVIyZjdRTnZwV3VoTEhUNzFtdDd5VjBBZUZWQWFOMkhCY0dUNVZPUWZtWG10Y21iZFM4K2g1L0huRUZMRlZuUndhdEJINHZmOEZPYk8xOFRhOTRPK0lkcEpDK28zbWs1MWVHSGg0SlM3bUI1QjEvZlJBWlBxdlBVVitRK3NXeWhDN0lKUHIycjlqLzhBZ3F6NGVnMDd3bjREK0lWb2hzWlpudWROMUswUU1GU2FINXJaMnlTUTMyZjVTdjhBQ1FmVTErTzMyeExpMFdUSWRYenoxeml2Unh5VGs0M3NmQjVkSGxqb2VUZUtvcDB0TGFDQ2RsUzR1SWdZOEE0d2QyQWUxYnYyUzRuUU9vWTd1ZWUxVi9GbW5SU2FocFR4U1kzM1M1UWRncWtrK25wWG91bXJadzJ3akRDUThkY0hIQTQ2Q3ZuS09ENTV5UGRyWXJrcHhaNWxjYVk1VWxGd2F6MjA2VlJzWmVhOWZuc29KSlBPQ2hNY2JRT3RaRjdwbTZUTWZISGFveEdYS09wRlBIT1N1ZWFOWk5HTnpjL3BWVk5QZWE0TzBZelhlVGFZRlg1eWV0SkZaMjhhbmRqa2RUWE45VWlkZjE5dlpILy8wdjR6N2FXTnVCeFcvR3k3T09hNGVHVWh4bmdWMU1OeUZHMGVsZnZjSm41SE9ucDJORzh1VlRUbW1ZZ0xFTnpFK2xlbytDZkJOL2NhREY0bjFFZk5jQUczVHVJaWNnRUh2MzlNNHowcjVrOFM2akxkM05wNGFzenZrbGZFckE0Kzl6ajZldGZwQjRuZ2g4Ti9DalIvR1JVR0cwc3BZWlFNWUpRWkhJOWVsR0ZuR3BVbXZzeFd2ci93eDFLZzZNVnpieTJQbVR4VGMydDc0SDF6eEphTHRqMURXSWJPTWorR0swUVJnYnUzelpKeFZqNG4zOEJ1OVdrRW1FMG5TNExUTGRDMDZDWmlQKytnQ2Zhc0hXYmxMRDlrUFJKZHUyVzV2cFpXNUJMTTBqSGNQd3htdkh2alY0cVpOZDFEU1lUL0FNZmtGaXdIWWo3TWc1N2RhOHJNNnFvMCtYK1pSL1gvQUlCOURnNktsVjkxYk5yN3JXL1U5cS9aSitFWGlMeDFORnExaEhpS3dsYTh1cEQxaHQ0Q0haajZCMkFVRWRjKzFmMURmc2NRNnhyL0FNRDlKdW1oampTeEtXeUtJdHFTQ0o4c3lEcTJRN2M0NzgxK0pQN0RjMmxlR2ZoeDRvc2ZFVWtGdEg0bTBkTE5wWkgydkczbkJnSTJCNGRncENqbkpKRmYxSWZCKzAwVHd4NGZzRzBpM1dHMHM5UFI3ZDBBVVI3WWl6RVk0TDV4dTZrOVJtdnRPRTh2Y0tQT3V1cCtmOFg0dVU2empMVkZqd1Y4Tm9vdmoxWmFwWXhlWUlyWXhrRW5BalJRenJnOGpCK1VpdjBkK0ZmZ1h3em92aUVlTWJhQ0tTOWpNVVlaVTVFaWd0SzJDTys1UWZiRmZIL3dBZ2UyMWE4MXkvY1NTaU9aSVdaajh4bC9lelNzeC91NUl5ZjdvOXErenZnMXJKbENYRWNubVJPaGtWTnBKTFNESlA4QTQ3bjhSWHFaaGU3U1BCdzAxRkp4ZXA5WVRRV1FOeHF1bFJ0QUpUdVpGT0FXT1dKL1BQNTE4WWZ0Ui9CM1RQaUxZVzNpeTNnam0xU3hMUnR1SHpOYnlIZHRPT0dNYktDcFBTdnJIV05RaXM5RUZzR0pMRGNldWVja2dlM1hyK0ZlUmVMN3JWTGZTcDd1d0JrL2NibzlweUdPRHV3dmZqSng3ZHE0OHJjb1NTSXg3WExkbjgxSC9CVkx3cGIrTHYyZmRXMTIyUDJodEExQzF2NVNvK1ZvUzdXbTQ0d2Qvd0M4M01UMndEa1YvTWxCSi9ZOG01dDMyV1ZzYnV1MG5wK0ZmMTBmdFE2WlllSlBDWGl2NFI2bEhKYlgydDZaZnJFcFg1WlVpdGtrREhqRFlkMEtIa3FUMTRyK1J2N1RORE1OTTFFQXd5Si9kNkVEMHIwYzlvcU5SVFR2Y01qbmRTZ2lEWEk0aDRnMHFLVmhMSDVrcjlzSENlcDdkNjlLUzhzMWlqM3NDTnVGS25JSTZjVjR2ZFE3TmVzTEtkZlBoaWpsa1RPT0JrS09EMXhXcFBCNUxHNjA4U01HK1dSQ1NjajJKNkg2VjVGUEVTcDNsVFZ6NkRFNFNNa28zUFQzdTdaVC9yVi9Pc3ErMWFCRzNCZ2ZvZUs4OGppU1ViMFhhQjNMZzQ5dXRPTU1aNnZuNmRLd3E1aTUvRWpLbmdFbGE1MU54cWtHRGs5S3dibldrS0haNkhGWk10dkU3YlZWa1B1YzlLekd0b2k0K1k3ZURYTFd4RXJlNmR0SERLTHVmLy9UL2kwbWlWRkJHZW9yVXRwd2liMi9oQlA1VnpVTTkzSW9VUlIvbWY4QUNxMnBOZXhhZmNTdnNWUkdRUUNlK0I2VisxdXZ5cHV4K2FRb3FVbEY5Uzc4STdlMTFmeHRMcVdyc0JCRWpQdWJvclBrRDllbGZwUm9JMHI0aGZDWFdQaEpIT3EzTFdqdmFtUTRVUzRKVVp4eGtpdnpLOEYyZmlhR1dXYlFXdG5XZVB5NVk3Z2Jra1FrZktWd2UvVHA5YStuL2hGck45NHM4VzIzdzhuOFB4YUxxelJzYmJWYk5ualdBUkQvQUZra1pKRHhjYldBNVBRRVlyYkk4WXFjK1ZyU1YwZGVlWUpWTFNUczFhM3lQRlBpSGV0WS9DWHdUb2NwZERDSjBsamJqRGlZOVIySXpnZlN2TnJEVHJ2NGxmRU9IVFFoQ3hLaVRQMUFqajV6K1FyMlg5b0xVRjhUNlFtdFgxckpaNnBwZDNKRGNReFJuN05JNWJtWkd3TWhndTdJNCtoelh6MzhPOVZ2OVA4QUZhM0ZpclNUU1pEN1JuNVcvd0QxMTVXYXpVc1lxZlRUOEQyc0RGL1ZaVmRtZnI5b0dqN1BCRUdrNkJheHJQRk9Rck9Ca3hxQmpMc1FJeU1aYm5JengxcituWDRQYWpDUGd0YmFkTUI1Y05qYjJ6T3d3KzJPRUVER1QwSkl6MUk2azEvTDE0UDhWaUx3bFlhRmZ0T0wxcmlLWWZaemhXSzR5clBuMFBUQnIrZ2Y0S2ZFaTAvNFY4MnJSVFkweUhWN3VKMmtQbWJVdGhqZ0RuRzRZK2hyOWN5TENSdjhqOG56MjdpbSs1OXhmQ1BVbjBmVHJlM3YzSUdvL3dDakdJNFpWWm95NjRPT2NqYm4wTEhPZHRmVm43UCtvUzZmQkFzellObkVzTW4rNldrVXQ5UUFQeXI4OGZndjhUYkhYSnJtSjIrU081SlVxQmhGVVlHM0JKNFVEY09DUnhYMTU4TXRhbXRTSVltQmVhUUFEMURLeCtVREFBNDZZcjBLOUdMYlZqd2JjcnVmZWQvcTF1Yi9BSExKdlNSUVFqY3VXalAzQmpqTEQxOUs0VDRrNnJKNGI4SXZxa01mblF0S0JGRmpMS3pjRlNlNENra2cxbkNSZFR2Rmt0WkZSaXF0dUI1L2RnNS9yaXVBK1BQeEIwTFFmaHJkVytybGlMWmxrZVZHMjhyODZqZDE1SXgyenlLOHJDWUp5clc2Sms0N0VXamMvRlg0dHcrTHRVL2IxazEzWExacmJ3em9maDJLQzFrTXU2Sm11cGk4NHc3bkRvUVVZWUdBZzlSWDg1LzdSdnc3UHcrK01QaVR3WEpCTkI5a3ZwamFDYU14dEpiTzVhRjFCNEtGU01FZi9XSDlSOGZ3MjF2NGxlSmRRMTZFalM3Q2ZaOWdYZXZuWENxQTRrazVsSFhoVDk0OThIaXZ6YS80S20rRFpyTDRZNlQ0OTErd01Xc2FQcWEyUXU0WkJOdnNiZ1NOaG5IekJkNFVxckFGU1Q2MTYrWllCZXcwV3o5VGp5N01uOWFWbDBzZno3UXgrYjRyanQ3cksrVGFzcFhrTUNYeUNlQ01ZOWNWNk5QWjJMeHBHVlBUMXhYRzJVbHBxZmlxZTdiWklua3hsMjM0Sk85dS9RSDYxNjFEYTZjRzh5TGJHcmM4eUtUK3ByNWpDNGYzV2ZYNDdFcExRODBuME8xVnkwUzdGL3VqcCtOWmN0dkRhL3V4eDNyMVdTSzFtVTRqWEE1eXJJZjFIQS9Pc1diVElKc2xGUDZWaFd3aWhyb1lZZkd5U09CdVhDbko3Wi93ck4yTjVZYVB0d0FlcDkvd3JzN3pTN0tPTXRjdEpLbzdLUU1lL0pyaHIzVXRDdDVERkZjdkV5L2RSaGxxODJ2c2UvVG56SzUvLzlUK0pRM0VrTW0wSDVhemRkdXYrSlBPRy9pQUIrbExlTzNsNEI2SE5jaDRtMUkrVEZiTDBmNzN2aXYyREZWSXhwdHlQaXN1d2puSlhSN2o4SUwvQUV5eXM3dTVuVUZ2SStVTTJNa01wd000NmozcjY4K0VrR3A2VGR0NDlrZlplVFJiRVFBTnRqMjVDWVBHRFg1Y1crdFhGc29peGxGN1p4WDBKSiswejR0bDhPdzZCcDFta0loUUtYakJ5UUIvRWFuS3N4cFUyblBwdFlyT2NqcTFHNVU5bWZvcnF1aVhmanJ3dGR4YXpjUW8wa0VrVVVMdWk3ZzZsUXdVdHRCK25Tdm5uOWtqOW1uVGZpMTRhOFEzbGxZdU5aOE1TWkV6dXhTNTViOTNHVU9BeUtNNHdRMmVLK1pQaDc0cDFmNGgrUGROOEthdmVUMnRycU53c1V6eGttU09EckpzSDk0cmtjOThkNi9lUDRHZkFuV2ZEdWt0WmZCdlY5TTAyd1dZT3NFdm5DNGtqVW5mNWtSRzd6R0FPZlJ1T0srbHlyQzBzeHJLcTQyNVR3TTF4TTh0b09qS1h4YmJuNTFmRWl6OGRlRHJPemUxU0JMVy9sV0I3bVloR2d5eFVNeWpzbkJKeGtWK2p2d0grTlhnRHhSNGF1dmdXMnZpMjFYVHIxTlN0THRNcEZmU1N4Z1NSTVNmbExOOHlidUNTUlhiZUl2MmVmQ01rMC9pcnhzMGVzWEVBTGJMaENpaFc0QVdNNEFJOU9wNjE2TDhFZjJHL2dkOFFkUmc4UStNZEEzenp1RXRyVFNuZTBta0orNkdrUTV5ZTJPbk5mVTBzUFV3dFp5aHF2UHQ1SHkxYk1xR0pvY2owYS9GbnFmN0YrcXRvL3hpMVB3ZGZ0SjVzVEY1UE00Yjk0MHUwZkxnWnpqSzlOcEdLKys3YjRyRDRlNnhMZGVLZzhOdnBWdEc4MGlMblpsdjliZ2M3R0w0R2VtSzdlTC9BSUpqWC9neXhoK0tQN09rcVBybWxyQlAvWmh2WnJ3enh4UnFra1Viekk4Wm1DTGdva3VTVjZIT2EvTTc5dlA5b0h3LzRROE9hejRLMDFMaUh4TGZRZllib1NSN1BzMzNmUGhsRDRJa1ZQbDI0R053UFZhOUpaelFjSlRUVHNjR2E1VFdwT1BORnBNOXEwci9BSUxoZkNYd0xjeVJ6L0QvQUZEV3JpeS8wZUtaZFRTM2lkSXl5bzVRVzdzTjRPZnZIdG12TVBpYi93QUZ1ZmgxOFNkRmswSFd2ZzFGZTJjamJ0dHpyZHgxd1J6NVVjWklJSkJIb2Evbm1hWHpITHRrbGozcGNFa0FWOEZQUDZxYmF1cmluaFUvY1IrM09uZjhGbXBQQ3NYaytCZmhGNGR0VWlBQVc1dTlSdUZVS01EaDdoUng3Q3ZIL2lmL0FNRmFmR0h4WjBxWFFmRi93dDhCM2RoSzZTUEJjNmZOY0s3UloyRmc5d2QyM0p4dTlhL0xPMHNMaTVrTU1RM0ZzREF5ZVNPQWVPTTlCM1BhckhpbndoNG04R2F0UG9IaTNUcm5TciszSUV0dGR4TkRNaFpRd0RJNERLU3JBNElCd1FlaEZiVnMxcVRYTEw4VG1oaHVWcVVkR2ZYZy9idnVOT2thYncvOExmaHZZOFlKWHdycDBoSHBqemtrSi9FazFXbi9BT0NrbjdRdGdDdmgreThLYVNwNkN5OE1hTENSOUNMUW45YStFN2hUNlZubFdZbk9BQUNlVC9kR1RTbmpKYWNxUytRcXJsTFJ5YitaOW4rTGYrQ2puN1l2aW5STHJ3dGVlS1Zpc3I2SjRKNGJXenM3ZFhqZFNyS1ZpZ1FjZzRyOC9wOU90REtXbHVHVmpqZ2s4WTRBSFBUaXZxandkK3czKzNSOFVXZzFUNGUvQ1B4WnFsbmNSck5CY3hhWGNDR1dLUVpTUkpIUlZLTU9Rd0pCSFExK2lYd2Yvd0NDQXY4QXdVaytLeVEzUGlUd3BZZUQ3U1FaYWZYYjJKSlZYL3IydC9QbXo3TXExMHdmTXYzbHJucDA2MEtNVkZ5UHhGaWdpaWZmSk0wbnN4T0tra2JSeWRwdFlta3lBRHNYT2UzYXYxOStPdjhBd1F2L0FHNi9nMXJMNlhwbW5hWjRwdDl3RWR6cDEvR2daVDNNZDM1REtmYm12Zzc0aWZzTy90aGZDYlN0VjhSZVAvaHpydW02Wm9rZm5YZDg5cXoyc2NXNEtKRE5IdlR5eVNQbUJLNDVKQTVxY1JUbWtuWTY2T01wUzBqTS85WCtHMjVuVmdVNzlxODgxZVY1Ym9vNXlFNkQwcmV1Ymg5Ky9PTnZOY2RkTTdYRE9Xems1cjlTemVxbkRrUjRtWFVIRlhadVdka0xpMSsxbmtFNHg2R3ZidmhKNHIwdndxYnV5dUxaSnJtNmpLd3UyQ0VMZktEajF6MEZlQjZiZHl3bG9BTnlzYzQ5Sytpdmd4NE5mWDcyK3ZGVVNUV3NIbVFwakxNNXlBQU8vd0RTdk13VWZlVW83bzN6Q0VYUmJuc1pId3p1TkIwVDRzVzB1dlhhQ0tXWmthNEFHd0VuQk9TQ09lY1k2SDA2MSs3bmh6NFUrTTAwSzE4UStDL0VVRjVaN2ZOdG1oQUVpYmlTc2I0SmJnSDVpUmpBSGZtdndMMWI0YzYvb21wUzJ1cHRpZDJPOVZ5VkdPZXZyejI2Vjc3OEh2Qy9qQzN2Wkk5U3VIazBxNXR6SExGSzhqRHlsS3NER3l1cFJzcU9weGpnam12b01semY2czNSbkhkbmdaNWxzY1ZGVll6dG9mc2Q0NDhTZkgveGo4TnJ6VnZCR2hSNnZmYVU2d2hSTWdDQWhoTkpFak92bk9vd1FoT08rZTFYL3dCbHo5cHZ4RGJlR2sxTStNRjhPZUk3RzkreWFSTmNNam90MUNGZVJabGJMSU5yYk9Cbm5QSUJyaC8yUi9pcDhaZkNueFcwV3grRGxqYTZURmZzZFBzRjE5Vm0wM1VtaFNTUXEwQWpMUmx3TWViRXlsVDFZak5mdmY4QUFMOXBYL2duSCswLzRsdWZnSisxaDhOL0R2Z0w0aTJjNGluMHJXck8zUzJ1Wmd3QWUwdldSY3JJZVUzc0NRUnRaK3RmYjA2YXJMMnNxbG50WnI5VDgzL3RKNENwR0xvYzZUdmRQb3U2UHAzOWlYOXFLdzhUdzJtbGVHcktEd3A0K204eVJ0TGtaSTlKOFFaK1p4QWVZbzUyQTh6ZEh0UnY0dHZVZnp2ZjhGblBqLzRIK1BYN2J2aVBYZkJPaVNhRUxCSU5QMU9LVEFhZlZMZU1SM3NyZ0VqY0hWWUN3KzhJUTNPYzErNVgvQlJ2NEVmOE1XZnN2Nm40My9aOTB6VGRBOE5pOGlrTEplWEl2TEc5bGtVV3JXUWxtZU1zR0M4cGhpb1lsTnVTZjQyTmYxdTkxclZwOVgxV1UzRnpjeVBMTks1TE83eU1XWm1Zbmtra2srNXI1ak9NUENqTlNnNzM3SDArWjhVMHN4cEwyTWJkN2xjT0NSMnExRStIR0RXSjlvU2dYQUJ5akEvVTRyenFsZUxTYlBBOWhMZTF6OStmK0NOWDdhSDdBLzdGMC9qRHg5KzFsNE51dkZIaWVjVzBlZ3lSV1VGNUhCRXU5cDhDZGdJNVdmWmh3Q2R2QXh6bjh3LzIxZjJocm45cXY5cG54biswSnFFTFc3K0tOUm11MGhiWm1LRXNSREdTaW9yRklnaWx0b0pJeWNrNVB5dEJxQmpqRE9lUFk1cUc4MUt5QURTU2hSemtraitXZjU0clduU3B1YnJYMWZkblZVbGlLdEZVZVhSRk9abEs0SEZmb1Ivd1NzL1lrdnYyNy8yelBEWHdkdjRKSmZERmszOXMrSTVJd1J0MHl6S3M4WllIZzNNalJ3RGpPSkNSOTAxK2ZtbTIwK3VhaGE2Vm8wVXQ3YzMwb2hndDdkRExMS3pmZFdPTk1zN1B6dFZBVDdWL1psL3dTby80SjFYM3dJL1pXMVQ0b2ZFTFhJZEU4YytNN1ZycTgwdVM5ZlQ1clMwUldXMnQ3c2tJSTVGQmVWeTVQbHUvSlhZVFhSVnhUaEJTNVpOTjI5MkxrMTV0SzJubWVCSExYT282VG1vdis4N1g4bDVuOUpQaVA0VVcxekZCcVhoa2p3L2Y2WWl3MmR6Q1VFY0Z1aXF2a1RSc2Rzc1B5cjhqRUVkVklOZUt2KzB2OEovQU90UDRiK0xtdWFQbzkrWW5sYTcvQUxUdFBzVWl4NFZuU1Jwa2FQQnhsSkZEQWR6WDh1WHhXL1pQOEFmdEZqVE5XL1pSK1BlcWVKdE9DUmpWOUNmVWY3YWJUaXdkM2NtZTZnVkkxMk41ak51UUhKM0FIRmZucisweDhKL2dsOEg5VnRMYldkWDByV251SXZOaDFTME1jYXlCUU9VamFaektoeVBuZ1YwUE8zSTVQMWVGNFpxMUtibkNzbkh6dXZ6MVBIakxEMDZ5cGNzdWR1MWxxeit4SHhEL0FNRk5QK0NXSDl1LzhJYjRqK0xYaHA3dWVRV3ZrcUxpNldSM1lLSTFlS0Y0MkxNUUJ0ZHNrNHI0ODhmL0FMZjMvQkgvQUVueENQQ2RuOGZmQzl0ZFg3U3hDeWNYaldjZTFoRzhOektJOWxzYzVVcEtWQkFPUVJYOFhPb2VQZmhicXZpS2J3SkZxTndscHExbkorODNrUnlOOHl2QUcycHRrSTVUS2ducDFySytKWDdNL3dBQXZHK2lwcVduNjNwdGxjM2NheStZRmEwZG5JQTVPM3lYR2NndDZnanJYeXVXenpHcmlaMGFOUk54N3ZmelIraTVqd3JsRU1OVHhWYU1yUzY5bjJaLy85YitDdTV1VElwQU5Zei9BSHFuYVFnZEtyRTVOZmVZdW9tN0hQQldqWVZKSGlPNlByWHZud284WFhYaGxqcWFzUktFWlJnbkpWMngyOVJrVjREWGRlSFlydG9vaGJydkliSlhrWlhQUFQwcml2Sk84UlNpbXVWbjZhYWZhNkY0bzhPemVLNzZTT0czZ2haeklEZ2dLTWtEL0N1THRmRU9uNkY4S0x6eFZjVFBOZGFoUDVWaXJyd0lFN2tZNExjNTcvZHpYeVRlK0tCcVZ0YTZCWnpQSEJjU1lsZ1U0VlJHY0FONzg1UHJYWmZFRHhCSmRReDZiYk1Qc3RvaXhJcTlOeEh6SDZzZXY1VjZqekJwcXBINGp5UDdJZzA0U2VoOU0vQmo5b3J4SlpmR3Z3WDRqMUdkNUlkRTFOSmh0WitGSytYZ1lJd3FvV0JHT3BQclg3cmZGYnhUK3pSKzFsb0owUHg1YU0xNEl3dGxxVVNnWFZtNXlENVVxbmRnTUI4ci9MMnIrV1B3dnJGL3BUSFU3UnRoVnd1Znd6WDA5NEcrS21yYWZNQmEzVEtycVVZS2R1ZDNVNTlhK3M0ZjRuOWk1WWZFcm1qTDhENWJpRGhUMnpqV3c3NVpSMDlUN1ErS1h4YS9iRGorSEZ0K3lmZitPVzhhZUJ0QXZ2dGVuVzk3TzIyMW1DTkdNRStZZHFvN1lRSGFwYjVRTVYrYlh4TjhSZkZyNGZzcjZucGtFTnM3YlZ1RkxTb3g3QTU1VSsxZm9aNE14ZHdLN3hoako4eGJLakpPT2VLNUw0ODZObzJvZkQ1cmZXZ1ZFY2lSWEkyZ0FMS1FnZGNjNVY5cEI3VjA1amtrSjBIV2d6Z3dHT3BScnhvMUthbDVuNVkzZnhuOGN6ZjZ1ZUpNOWtRZjF6L09zci9oTy9IMnBFajdmS1BaTURIYjJybU5jMEc4MFBYcnJ3OWVEYk5hU0dJOFl5UjBQUFk5UlhyM3c2MGpTbmRpNmlhN3R6eEczZjFJeHprVitkVkZPUHV0bjZYRERVSVJjNHdSMXZ3eThIZUl2RkdxQk5mdjdxVlpHWDkySkdHUWV4S25BcjlKL0Evd3Q4RHl3cnAxNWFRZVdxQU16cXJjOGo1bWJrbmcxOHQvQlV3NjU0cXY5VVVNSXJDTGxWT0NXQXp6MklHTVpyMm40T2VLMzFmeFdZWGo4MEZIbFVIRE1xbHlPZlExOWR3NDZLbkQyNnZkdEw1SHlPZlFxdU1uVGR1Vkp2NW5vL2pEd3I0eitIdXBlSHZIM3d1MGpUZGNQaG04aXVyZUM2SXRuaE1FZ2xTV0M5aWxnbGk4dVFBa2VadDlCMXo5Yi90SGY4RnFQMjR2MmpmQTJxL0N6eHY4UGZBTnRwV3RSZVJleHBkT3J5b3JCaXBtVFVGZkRsUm5CRzRjRTROZVYrSU5QYlh2QWZpVFNRTXBMNGUxU1JBZXU1YldSbC9XdjV4WmJ1ZkM1WmdjYy9NYStpNG94cndNNHZENktlNTRlUlpGaGN5aHo0eUNsS205Tno5ZHZDUDdWWDdUM3d3ZTdnK0YraWVCL0R5YXBBdGxkTEdMVzVTV0ZYVjFpa0YzZFRoMDNLcEljRUhBem5GWXY3WEg3V0g3Ylg3YUhoelJ2REg3UjNqUFRkZHR0Q2xZMmRyYng2VGFKYUZVMkw1Y2x1RWJZVkpBUUhZQ09tYS9KMWJtUlRrODA3N1hMMk9QcFh5V0k0anFWWThsYjNsNjJQc3FIRG1GcFZmYjBvcU11L0tuK0xkejNqVC9BSWNhOWI2cmJwYzNhaUxlTXkrYkE1US8zc2VaazQ2bkhQcHpYMEo0SjhVZkV2d1ZxSDJ2VnZEMmxlS3RQZ2RnMEdvVHFiZVhuQkpVU2dwNWc1NElQcUsrQURjU2tqY3g0OXpVNDFIVVBKTm9zMGdqYjd5Qmp0WSs0emcxODdUNUlTOXJCZThqNk9WVjhuc2w4Si8vMS80RUgrL2lrcFgrL1NWOXBXK0k1eUpTZHdIdlhzbmdnQVdrakRxSStQOEF2bzE0MG4zeDlhOW04RWY4ZWN2L0FGekg4eldZSElhR3pmOEFDUUkyZVNDVDduUFd2UmRXSi9zUmpubk5lY2FIL3dBaDZQOEEzVC9PdlJ0Vy93Q1FHMzFvVzZBNkhTVVQvaEN3eEF5WjQ4bi9BSUM5YUdrZjZ0UHFLbzZUL3dBaVNQOEFydkgvQU9ndlY3U1A5V24xV3V1bi9IajZISlcrQ1hxZnBCOExYY1N1Z0p3QkZnZHVTTTFoZkZuNS9EWGlBUHppMDcvOWRCVzM4TGY5Zko5SWY1aXNUNHIvQVBJdCtJUCt2VC8yb0svVlpmN2l6OHVoL3ZQelB6Vy9hSUFUeG1KazRkN1czWm1IVW5iMUo3bXNUVHBKTGZ4UHA4bHV4UmpNY2xUZ241UjZWdWZ0RmY4QUkzcC8xNlcvL29OWUZuL3lNbW5mOWR6L0FPZ2l2eVRGZnhQbWo5Ync2L2RmTDlENy93REJjTU5wNHA4VVJXcUNKZnM2Y0lObzV0UVR3UGZtc2o5bTVtVHhIZk9od2ZzU2Nqci9BSzJ0dnduL0FNalo0by82OTAvOUpSV0gremovQU1qRGZmOEFYakgvQU9qYStneXI0cUgrS1I4cm12dzEvd0RERS9UYnc2cXQ0SjFKMkdUL0FHUmVqUGZCZ2s0citZV2JwK0EvbFg5UGZoei9BSkVmVXY4QXNFWHYvb2lTdjVoSnZ1L2dQNVY3dkh2L0FDNU9MZ1QrSFc5VVJVVVVWK2VuM0JJNEFIRlJIZ1ZNL1NvVDBOTmJNRC8vMlFBQS85c0FoQUFKQmdjVUVoSVVGQk1VRlJVVUZ4Z1lGeGNYRnhnWEZoY2NGaHdYRnhjY0hCd1hHQndvSUJ3ZEpSd2NGeUl4SVNVcEt5NHVMaGNmTXpnekxEY29MUzRzQVFvS0NnNE5EaG9RRUJvc0pCOGtMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN6L3dBQVJDQURLQVBrREFTSUFBaEVCQXhFQi84UUFIQUFBQVFVQkFRRUFBQUFBQUFBQUFBQUFBd0VDQkFVR0FBY0kvOFFBUkJBQUFRTUNBd1VGQkFnRUJBVUZBQUFBQVFBQ0VRTWhCQkl4QlVGUllYRUdFeUtCa1RLaHNjRUhGVUpTMGVIdzhSUWpZbklrZ3BMQ0ZrTlRvcklYTXpSRVZQL0VBQmdCQUFNQkFRQUFBQUFBQUFBQUFBQUFBQUFCQWdNRS84UUFJaEVBQWdJQ0F3QUNBd0VBQUFBQUFBQUFBQUVDRVNFeEF4SkJFekpSWVhFaS85b0FEQU1CQUFJUkF4RUFQd0R5VUpRRWdDY0YySEtPYW5oQ2hLQ21JZTV1blZjNUl4eGtkVTRwaUJoSW5KRXFLQ01SU0VGaFI5eW9sa1dvMURDa1ZBZ0ZReTBQYVVVRkJhaUF4SFBRSmlhREFTcE5MWmRWL3MwbnU2TkpWcnNzMGFJL21IeG5jMEVrZWkyM1p6RjA2ME1ZY3hHZ2d0cWY5MWo2cWpOdWp5akc0QjlPMVJqMmYzTkxmaW9ibUw2VXA3T2JXWVdWV3RlT1k5eEJXSzdlZlJ5MXRBMXNMVHl1cHlYTUUrSnUrQnhHcWxwRnFaNCswb3JFajZjV1RBVk9pOWgrN2xOTFZ6WG93QUlWRWdHbE1mN1RVU296eVVkemZFa3lsUkp5cE1pQ09TWE9VV0toK1JOeXJoVks3dkVoalNGMEltWklnQm1WZGxUMXlBRmFuQk1ZRThLaWFIQmNBdUM2RXhDalVkVTV5WTNVSWprSUFaS1FsYzhydHlRRG1vN0ZHcGxTV0pvVEdWUW81VXh3UUhNUTBOQWdRRWZaV0dkVnFDTlp0TzRjVDBDRUc1ckM5MW9NQTBVS0pkclZjRERpSURHMkZoekpBbjhGS1ZzcHVrV1RXNGVpWUxCVmR2Qm5NU2Q1dUEwZGI4bGM5bjhXMnBWRVVHMG5OdURUYzdPT29kWnc5RmxkaTRRZ3VmVUpJbVptNUpQRmJUWndMU0h0WTBsdmlFRXlSdnVkVm9zbWJpZXFiR2JtYUNTSFNCbGRjVzRFY3ZkTUt6ZlJ6QTgxbjlrYlFCQUlNQjBPQTN6bzRmQlhlR3hFam5LNStTTFRzcURqcG5pUDBwOWpYVVgvQU1SVFlTd3pueWl3T3VZamNGNW0rbXZwSHQzRFgwemNrZ2gzOXVtbWgxdUY0THQzQUNqV2V3ZXlETGY3VGNlNkZzbGNWSVYwK3BUWlU4TlBCRUxVMk9ha3NYa2czem5rRVV0UTZKSmM0K1YwdzBFZ3hvbWs4bElrcms2SnNpMjRKcGFGS0lUSEtXaXJJK1FjVjNtandtbGdVME93UGVKZSs1SnhwaGRrQ2VRd2MxRUNHaU5LZENZcWNVMUtWUkp3MUNLNUNicjVvejBJVEF2Q2ExT2VtQkpsSWRUMVVtbW85Sm0rd0hOTnhHSmdaVzY4ZEVXa2dxMldKb2pMTXQzNzRWSld4SmVkSUhKTWVYSGVTbllLbkxsRXAyYVJna2FQczNRQm5OYUFEeDZxM0dFYVRjdzA3M0tOMmZvZ2g1Nkcra0NUZjlibElxVmQ3aklrd2RGdEdsSEpEVGNzRnZobnNaNFJEbXg2bmp5VjFzUUV4dUIwSG1zdGdROCtJQWthTFc3QnB1QkVpUGtpM0kxakJSTkhoTUVRZVZqNWhhYlp6RGNuUlZPRU5nTjZtVnNSM1ZONzNTUXdGeDAzQ2RGRTIzZ1h4eDJWSGJlcE5hbkdyVzNHK0NicnhydGUvUFd6YW1JSjV0TUgzcmMvV3o2cE5Xb2JnbjBCbFlidEhRTEt6Z2J0SXpzUEZqdkVEMXVaNXJXTWFoUnl0LzZzejVhbUVLUzlxR1dxR2kwd0ljZzBqcVozNktTK21OZFZIdzJubm9wb3RNSUtoVHM2UnlaS05CZ0pLUk5CWFNnUXE1Y3VKU0dNS1NFdkZMS1FEUWxDUnFkQ29Rb0tWSUVxQkNEVWRVZHlCR2lPNU5DWUtvdVlJQVA1anpDWlhKTmhxVVpvaTNEVlJKbHhRQ3NTNDZBSGw4a0dyUmdLZlVvMnRycUR6L05Sdy9NSmpyMVVNb2hqUlR0azRZdWZhNDM5RkRjQm1oYW5zMEc4SkRSbUkrODZEcWZ1aU5FNHh0bFNkSXZjSGdoVG9rRVhkSERTT2ZWQWM0T3RBdFBSVHpUelFiays3OWxDZFJjM01RQkh2OXk2SkxGSXk0M25KcHRnWUthWUFJTFNaNlFyckhPN2xvbHJTWU9XQ2MzWGtQVlZIWmpEanV3Nm9YWlJ1QU04VW0wYXI2dGJ3UElwR0d0RVJEWUZvMW1aVXJDT3VNVkptb0dJY0dNSUVrdEJoVk8zZHRPRE82Yk9aNHVDZlpCTUN3NDM5eTBMYUliU0FKbUdqcVNzSHRmRE9EdzhpK1lHZVBudzVKckpqek5Sd1NjSTVsTXdRTXVVVFBQWDNySGRyNkJwMThra2hyV2hzL2R2QzFXS3BCejJrRDdvNmdpUFBTRlFkczY0cTFNeEdVc1BkZzY1Z0FEZmVESlBIVUxWbkg2Wlp5RTV2TkhLRFVhczJhSURVcVFESTNGTXc0OElzaVlsM2hLU2kydzZmcUZIcFhncFRTMUc3dE55b29MQWxjUWk1RW1WS2dzR3VoRWhOaEZEc0dBbFQydFRySW9MSW9SQW1BSndRQTRKMEpzSnpVQU00STlRZ1hRQ1VSb3pHZDI3OFVYZ0tzVEN0dVhPdEYwK3FJYU9Mako4L3dBazdFVTRZMW8rMjZQTGVuWWsvd0EwTjFBK1FVRmhxaklaK3VpcGFqNGVZMzYvaXJmR3UvbU5idUFMajEwK2FwcXgvbWVhVTlsUlFWbE11Z0FMZjlrZG41YVQzT2c1aUEzVFVHOWp1MTlGajlsMDRlT01PUFMwTDBMWWROb28wMmd6NFovekczd1duRXZUUGxlS0NWNlppQjBSY0RobXlNd2tOZ2FtSjVoU3FkSzJZWHNmVzY3WU5JbHp3ZnRINFgrUzJaaW1FcWRvUXgyVEpPOG5rZUFWa3lyU0xlOGF3eUx3RUNwc2tPY0NBUEdlSG42TFI0SFp6UlN5Z0NSeTUvTlEyL1RhTTZXQjFQRmQ3U3l1R1VtNDRnK1N6ZTJhWjBGanZIUGN0WlJHVVJHbndWZnRqQUNvMDViUEFrYytTSW1VbmJ0bVV3ci9BUERpcmJNSWFHblVuTS9UMTl5emYwaVlVTmZTcUNJYzNLUU5BOER4ZXZ5V3J3VklnZ08wTFFDM2c0U1o2L2lWbnUyMUdjT04rVjdZSnRZeUw4TDI4bG85RTNreExTdUpVZk1XbEZsUjJMb0ZqYWZoSjZmRkVvVTdEWFFJT0xkNGZNS1JUWng1Y2tsc2ZnV1Uxd2xjQXVsVVFKQ0dXb29UWlVzb0hsU1pVUWxOU0E0QmRDUWxNem9IUkZCVHdVS1U5cWdzSXVCU0FwcGRBSktZcU9jSmNHamY4RmI5d0dqS1BUOWVTcDlsR2FnSzBPT1pEZ2R4Q1VjMnluakJXTU9hdXh1dVVFcGpqL2lMOGZtbjdJY0hZaW9lVnZnZ1loLytJSFZEMWY3SzlyOUJYUG1wVkozRWdkTlZWMG01cWs3cHVwR0xxdytyL2NoN0xibWRITlp0MnlsbzFPRTJjRzBUVk53OFpXaittZm1SK3BXcjdNMGlLY3VzSnR4VlRSQXFZYkRzSWpLWkovekd4OGlQUmJDaTBBZ1JZRFFXdHU5NjZZeE9XVEhVcU9WaGtRRFlIbWVDTHNuRCtKeDRENGo5MExHdXUwNmhvRHVXbjdLdzJZM0t3azZ1L0NWVEVpZmg0blQyUitTbjBDUXFyRGs3dDhlcXRtWGdkRm14aFhDM3FoWnZOT3JPdDgxR3FHMzYwUWdaVmJRd3dZWE9Bc1pFZGYzOUZtdHQwdTl3OVpvdUJUbHZVUzcxbGFuYWxTMGJwbjNUWlVEbkF4ZTVKSDl3dnJ4V3lWb3paNU5xbXNkbE1IUkd4bEkwM3ZiOTF4SG9VUDJnc1RZSGpOQjFSMlZCeDg5eWlWajdJUEZITFFmeXNqK0RhUWJ2RWhxQlJ0TEhSZFpIWmk2a2cxQW1PZWh3dXlwV0ZJZVhwcm5wcEFTWlVXT2hTNU1sZGxUc2lrWkhTdEs1SUVpZ2dVYkV2dkhCU0FWQmRjK2FVaW9MSmFiTllXZ0hpdERqUm1wU05RRlRVWGdBRGVQSld1ejhVRExUcHB1V25IV2pPZDdLVHMrNkhWRHdFL0ZSSDFjMVhOelZoaGFQZFZLemQwR0R4RVdWTzEzaUtpV0VrYXJMc1hhQm1vNDhiKzVXT3c2UjFWVXhwZTZGcHNHekxsQXRCOVR3VXdWdXdtNlZGZ0t6MkZyWkVEN0lpNUUzUHFWNkpoRzVnMDhwbmdZMCtLODQ3bk04R3d1Sm5VbWRGNkRnSFNEdXNQaCt2VmRNYk9lWTZzL3htZFBrQkh3VnBoWCtFa0c4UndqU2ZPL3ZWVTh5K2R3QkpFYTIwVTZqVWh3YnhhZlV4ZFUwUVNNQlU4TFR6OTRKS3U2UUFBNktod05pQi9VZmVGYzBLa0NQMUZnRkxRMEVjNmI4MDFvK3lmS1V3dUVubnB3bVB5UkFNMnVxa0dRY2FKdkVrRTlZL0Q4VmhzZGlnTWEyazBFQnJTNHlkN3pNYTdoOFZzTVRWT2MvZEh3QXY4MWhxT3ozdHhsWjdpQ05HbTVrYnI3b0MwU2VDY1pNNTJvdzJYRVAvcWh3OHgrTXFraUZzdTJ0RXVGT3Exc3RBTFhPSGxIbHJkWko0blJSSlpMZzhFZXNmRXo5MFZyWlFUN2JkWkhCUzJsU2kyQ2Mza21TUnFwRXBwQ0dpYkFrbGNpRUpoS1ZGV2NRbW5jbkZOSlFNU0YwSlNQVkpsU0FpaDRYWnd1Q2RLZ3NZNTlqMFFFZXM3d2xNb3ZVc3FPaVEzR3RKQmV3a2plQzRmTldHSGZSZjdEaXgrNlNTSjRlYUVhTTJQN1dsSnNuQ043NEg3TGRKNHExZGt0b21kOW5scmhscXRCQm41L0VIbXM3VnBsamlEcXRSdExBNTZtY3Z5a1d0ZVFOSlZEdFhDWmZITWdtRWNsajQ2SWVIZEJCV2gyZlhrKzlaNmxUSk13U09RVi9nbVEyMzVwY1krUXZHejN6UEZBSkFpZndXdDJkaUlaVU15QVQ2WFdDd3J3eDdYSFFPQjZYMy9yZ3RYc0t0RkNxWGJuR1Q1bGRNV3JPZWF3WGxlckFGcm1SNUg5MVB3NzVqakE4N0czd1dSeE8wSmc2Z213TzYzNWFxODJUVnpORVdzWTMzSFByQ3BrbHRoWFgrUVZwaHFrK2gvWDY0cW1wVklnOHlQMTVLZmhhbG1qZVpIelNFUytuR2ZsODFKb3U0cU5RcXk3eklYVlRwY1dVcEF5dTJoQmVmRnJGZ1kwdjcvbXMxUmFhaGRrRURReU13bnArdFZNMmk5eHFodVdXZ2tFRW5UUzlwTThGWVlLZ1lBWXdnRFFaU3RNRVpLdHJoSGR2TXkwZ3RJeXlPbTVlZWJWdy9jMXFsTUd6VGJvUUNQY1Y2L2l0bDFIQzFGem8wOEprZENzRjJtN0hZeCtJYzZsaDZyZ1EyVGxnVEViMUUydnlWeHBtSmRHZnkvRlNtMHhHcXU2WFlQYUdhVGh5TFJkMUp2eGNwVE93K01IdE1vdDYxNlEvM0tFMGF1ek9ocVFnY2xwejJOckQycXVEYjF4RGY5b0tUL2hHUGF4ZUNiMHFQZDhLYWVDRExsaVlXS2J0bkN0b1B5aXBUcWlKelU4eEhRNW1neXEvK0lIQXFXMFZURnlGSWFQTmNhNFRIQ2RCOGtpa2NXbE5rcGhZL3dBdXE3dW5mb3BESXpsMHJwVFdsUVdqcXhza3c3a3l1N2Ntc2ZDbDdORXNGelhlU1FCdmo1N2xOd3RJTkFWRmc2NERnU2JLMnJiU1lCNFZjV3RzeWxGNkpsSnBKNERmZEQyemhKcG1JTVgxQ3FhbTBUdU9xSmhhYjhRU3hwOElFdVBMZ24yVHdIVnJKWTlrNlhmQnpIQ0EwV2NQdmNDcE5iQUVPTFRxSnZvaTdMY0tEU0dTWTVYS25WcXhxZ0ZvMUh0SGNGcEdDb2lVc21YTkYzZWh0UjBOMW5wdTZyUjdNMnl5blVkVGRKcHVBQjQ4amRDR3hHbVM4a256VGFmWnh0UjM4c3VCNDdvODBsY2REYlVpMXhtSGFBQzJDMmJPOGpQbXJqc3JYek5CNGcyNW5oK3Q2aDRQc3BWYXh3T0liQmFiWlNRQ1l1YmhTTUJSZGhudHpaWE5OcGFmRElIRGNkNjFzenJCWVZuRnVVY0lJUEVxUHRmdEQzTGZDUEdIQVFkTjgrbjRLZGphZWFEdzA5Ylg0ckNkcDhYbnJPajdNTm5pUUlKOWJlU1U1VWlVclpldCtrZkVOSGhaUkhNVTI2K2FFLzZSc1lkSE1IUmpCOGxqbHl3N0ZHcXFmU0Jqai96aU9nQStDaTFPMm1OZC93RFlxZjZpRm4xd1RVaFVXdFh0TGluYTE2aC96dS9GUm43WHJIV3E4LzVqK0toRUpDanN3b083SFBQMmo2b2JzUzQ3ejZvUlNKdVRGU0ZOVThVMXp6eFhJVlI2VnNhUTRqaWtnTGc5S1dCVVdOZ0paU1pDbUZJWVExRjBsRGxMbjZwSmhSQ0pUQ1VwS1k1UWJJRlZOMGhTSnpCS3k5TkJFZWhoSFAwUXlGUDJmaXNsb3VtdDVGSnVzRUd0U0xEQjE1Szc3TlZ5d0U1aTJUcUJJdHVqZXFyRnN2Sk90MWI5bnNyckV4dTE0OHVDdUgySm45VFhZVEh0YUJtWTNkZUJZcXhGUU85azIzQ3dBNmNGUS9VN21nZUlsc2E3b2trQk5ZNTlQdzZnNkxwN05iT1J4WGhaWXpFQTIzalVxd3dGVnJXMkk4dFZrdHUxSzdjdmdjS1JBSmNCSkovcWpRS1gyZXhJTWw4NUd4b1lra3hFcU8rYUwrUEI2WmdhaktERzFITUw4K3JnTXdaMTRIbXI2cGhLZUxwa1BoL0I0QUR3Zm5FL2t2Tk5qN1FxWVIrWnJpK2s0NnpvT0RoODF1Y0ZpUlZIZllXei90VXBpZWJScFBKUTcyZFNna3FNYjIzcDFjSzgwaTQ1UTFybVBGczBrajFCMUhOWUNxNlN0NzlLUGFKdUlkUnBCc0dtQzU4aTRlNjJYaUlBa2ppZVM4L2xKeWIyYzBra3prcVJLa3lhRkFWaHNqWTliRXZ5VWFibnUxaG8zY1Nkd1ZlRjZUOUdYYS9DNEdsVkZacnU4YzRFRnJRWmJFUnJhREo4MFhTMFVrbThtZjdTOWlxdUN3OUt0V01PcU9JTEFQWXRJa3pkeDRBUnpXVWN0cjlJM2F4bVBxdE5OcGJUWTB0Ykp1Wk15Um9GaTNGQ3VzaWtrbmdZUW1rSjVLYVFxSUZwMHk0aHJSTG5FQm9HcEpNQWVxOUVIMFRzWUd1cllsNG1NMlNtTXJTUnZjVHBOcFEvb2Y3UDk5aUhZbDRsbEN6SkZqV0kvd0JyYjlTRjdJV3pNaVFSRUhUMFJkQ3QrSG5tRCtpZkJzdTU5YW9PR1pyUWY5RFo5NjBlenV5R0NvM3A0ZW1EOTV3em4xZkpWaC9CUHBYcGd1WnZwRTNIOWg0Y2tiQ1k1cjVBRGdSWWd0Z2dwMytCZjBvOXQ5bWNQaUx2b1UzTys5bEFkNmlENzFsY1o5SDJGRWcwNmpKKzB4N2lCNU9uM3IwWEViVG9NTVZLMUZoNFBxTUI5SlRQckhEUEVERTBEUDhBV3cvN2tmSWl1a3ZEeWZFZlJ2U3lQN3V1L1BIZ3podVNlRG9FaWVPN21zdi9BTUVZMy9vai9XejhWN2Jpc1RnMnY3ditMb05xd0RrTDJEVzQ4TGlpL3dBSi9YUzl5ZHhZcm5IWjh0dUtZNTFrcFRIRlpObmFrTWxPWTZDbXJsbVVHS0xoYU9ZL0ZBWUZiYklBa2plZEZTRkxSWFlzK0l4MFNVM2xwbHRpclhFWUlDNHVkNVVWdUdQQkpxaEoyaWZnZTBOVU9oejhyYjNndUV4YVFMbTZ0c0hVcXVKYzkrWWpUUnJlT2hpL1ZVK0d3Z0JIelUwWVkxYlpzckd5U1RvQnZXa1cyWno2bXoySHRIRFZRS2VKTHFUM0FYTHgzWm0xbk4wOC9WWFAvcHpoaTF3WStxMFBnbUg1Z2Q0TUZZN3MxZ2FWUjlhaTlvY0docHpXekF4RWdqeVVuRGJYeG15bjVUL053ODJtUzJQaXc5TGNsdmVNbzVuRjNVV2FHbjJDcTBCbXA0a0VURVZHa201MDhFbVBKUDJqaVdZTWlyVExPOUVaMk5jNW9jdy8wT2FMOHh6V2k3TDlyc05qSURYWktwLzViaUFUL2FkSGZIa3N6OUsyR28wZTdERzVhdFNYT0RiTnlEZVdpMGwyL2tWTGNTNDhzMWhtQTJ2ajNWNnRTcTgrSjdpNCtlN3lFRHlVSmM0cHNyQW9jdWxObGRtVHNLSGdwNGNnWmdsNzBjVUpoMVlZbE1LR01RT1Bva2RXamNmUS9nbmFIMFk5T3AweTRoclFTNXhBYUJxU1RBSHFoMTM1QU0xcGdpNGt6eVhwUDBjZG1RMDA4YlY3dXF3dG1rMXBKZ243VHRJSXVJM0U4azBtOWJNNVZITXRHbDJDTVJnOEcyalNER2xvMUxYSE5VY1pjNXhNYjl3MHRkVW0ydTJlMDhNQjNyR01CKzJHbHduV0p6WldrY3d0WjJqMjNoYVZBdXJOY3h1Z0RKejVyd0d4cWJiN2NWa3RuZHZhZUpES0Q2Slk1emNvZG1FRjVFRFVHeFBMMVZjYWxxY1ZmNkNUalZ3ZUNsYjJ2eGRlYzJKcU40UVExdnF3QlFNVy9FRWt1eEZWMmJYK2E1cFBtWUpXOG9qTTUxQ2lING1vQWM3c3JSU3BuZ1RiTTczRDNMejd0Smp6aHF6bVZHVmFiamZLOWpjaG5XQkF0UEN5MmNJSlpKak9VcFZFaFY4TVo4VFhHZnZQcUdmUE5kUnErRHpCekFDMms4QXVBOFJMMmtscGw0SkVBblFxRmpOclptdzBocEJCQkdZQzM5Tng3MU93TzNBY3JvRWl6aHU0VDBYSExxcGZvN29kcFJyMHBjWHNaelI0U0hlVUg4MVgvd0FJL3dDNmZSYmJFN1ZaOXBqVEkxYUlrY1I0MUQrdGFIM0hlNWIvQUJSOFppdVdYcU1rU21GS2tLd1p1aEZ5NWNwQTZWWVlTcEYrU3IxSWE3M3BBWDJIcTVnRS9FMEFHeWJLdHd0VXN2N2t1S3hacXVEZnNnKzlYZG9qcmtzY0FBS2JudU56Ylc4YnJlcWdqR0hmcE4wVEdWb2FHY05md1ZaS08zZ2RmVFRka3NmbHhEbk9pWEF6Nnl0ejlZVTNXSkJCR2gwbnJvdkxzRlZEVE85V3VIMmtSRW1mMSt5MjR1U2xUTWVYanQyaXcyN3NFTmQzbUhjR3pmTHVCM0VLb3htME1SVkk3d09lNEFOQkxpZkNOMHV2eFZqaWNjWERLREErUG9tdFluS0tid0VXMHNtZHhPS2V6VmtjMUZPMEg4bHFxMUFGcHROdElXVHgySHlPdDdKdUR5L0pZempSckJ4Zmdqc1kvajhFenYzSGVVTlBZMlZCb2tqcEozbjNxVmhNSk9xTGg4UHZQdTNLWGhXK0tJbENFMldHRHc0YUxDRllVOE9DRkJmVmd4eVU3RHZKRXo2V1hUQkk1NVdSZG9pcXhoN3N5QnJUYzBQYVJ2OEFDNEVTcHV4UHBKcjRXaUtWTEQwV3RrbjJYUkoxZ0Y4RG9FVmgwQ3pHMXRyVm1WcWpBOHcxeEF1ZEpUNVA4NUNFVlBEUmNiWDdlNG5GQUNyUXc3dzB5QTZrSEFIU1lKS3JCMm14TFlMR1VhWkdtV2hSRWVlUlZuMTFXKys3MUtiOWNWditvNzFLeStSbWk0b3BWUmREdGh0R0lHSWUwY0d3MGVqWVZWdGF2V3JQbXRWZlZjQkFMaVRiVzBvSjJ0V2lPOGRIQ1NrK3RLdjMzZXBTY2s5bEtGYW9DYU1iMGFtMGh1WU9CaUpCTjc4QnZISGdrK3NxbjNqNnJtN1RxRDdSV2RJMHVpYmdkcXZwR1F3SGZCa2dxMi80emQvK1dqLzNLZ08xbnhHL2pKUS9yT3A5NU5TNjRRbm5aRVNMaXVTWUhMbHlSQUNxUTFrMlVjS2JRM29BUVZjcGc4TEoyQ2RlU28xZlVvbERSQUVpczZaS2psR09pRlIxUWdET3NVZW5WUXNTYitRK0NSaFI2THd0c0pVbmVyS2wxVk5nTkQrdHdWcmhYR0JjNnJvZ3pDYXlIelpiV2haN0hVY3dxTmk3Q1NPbjdmQlhOWTNIVWZKUVgvOEF2TzZOL3dERUk1QWhnellVaWs3S1FoWWtYUFZFYm9PaTUyZEpQbTJZYWZxeWxiR0VrbmVvZXcvYkEzZnNwK3lmYkkzWmo4MDQ3UkVzSmpjVlY4YnBPa3dyVEFFNUFlUVZGaXZhZXJ2Qyt3M29QaVZwRDdNem45VVdEQjRtOVFzajJyWkdMcmMzVDZnSDVyWjBCcCt1S3gvYkQvNVZUb3ovQU1RdE9iNms4UDJLVmN1SzVjeDBITGx5NUFITGtxUkFISllTSkVtQi85az0iLCJtZXNzYWdlc190aW1lb3V0IjoxMCwia2VlcF9sb2dnZWRfaW4iOnRydWUsImFwcF9wcm9maWxlIjp7ImRlY2ltYWxzIjozLCJtZXNzYWdlVGltZU91dCI6MTAsInZpZXdBbm9uRGV2aWNlcyI6dHJ1ZX0sIm11bHRpcGxlX2xvZ2luIjp0cnVlLCJzZWN1cmVfcGFzc3dvcmQiOnRydWV9LCJyb2xlcyI6WyJDdXN0b21lckFkbWluIl0sInBlcm1pc3Npb25zIjpbXX19.l_4tZ0R_EpfYVN5wionUOe6dLHKeKSBVRWDEhE5RAlmazRnsAOWJYFDXTvB8UObRRlDytT5u18cd3zO97_X5wg"
}Ejemplo de usoimportrequestsapi_url="https://www.myserver.com/auth/login/"headers={"Content-Type":"application/json","Accept":"application/json"}payload={"email":"jhon.doe@jdoe.com","password":"tuMvERweRley","close":True}response=requests.post(api_url,data=payload,headers=headers)Logout (Cerrar sesion)Este servicio permite cerrar la sesión de un usuario.url:https://myserver.com/auth/logoutRetorna:HTTP Status200, si la sesión del usuario ha sido cerrada con éxito.500, cualquier otra excepción no manejada.Refresh (Actualizar)Refresca un Java Web Token y actualiza su tiempo de vida de acuerdo a lo configurado en los settings.url:https://myserver.com/auth/refresh/Parámetros:token: String con el JWT actual para la autenticación y actualización del mismo.Retorna:HTTP Status200, si el proceso es exitoso.401, si la actualización falla.500, cualquier otra excepción no manejada.JSON{
    "token": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoic2xpZGluZyIsImV4cCI6MTY5Njg4ODMwMCwiaWF0IjoxNjk2ODg0NzAwLCJqdGkiOiI4YjBhMjhlMjg5ODA0NzNkODcwZWUxMTkxMDMyMmJmOSIsInJlZnJlc2hfZXhwIjoxNjk2ODg4MzAwLCJ1c2VyX2lkIjoxMiwidXNlciI6eyJlbWFpbCI6Im1hY2VyY2hhQGdtYWlsLmNvbSIsImlzX3N0YWZmIjpmYWxzZSwiaXNfc3VwZXJ1c2VyIjpmYWxzZSwidXNlcm5hbWUiOiJtYWNlcmNoYTIiLCJwcm9maWxlIjp7InRpbWV6b25lIjoiQW1lcmljYS9Cb2dvdGEiLCJ0aGVtZSI6ImNvcnBvcmF0ZSIsImxhbmciOiJlcyIsImF2YXRhciI6Ii85ai80QUFRU2taSlJnQUJBUUFBQVFBQkFBRC80U2NMUlhocFpnQUFUVTBBS2dBQUFBZ0FCUUVhQUFVQUFBQUJBQUFBU2dFYkFBVUFBQUFCQUFBQVVnRW9BQU1BQUFBQkFBSUFBQUlUQUFNQUFBQUJBQUVBQUlkcEFBUUFBQUFCQUFBQVdnQUFBTFFBQUFCSUFBQUFBUUFBQUVnQUFBQUJBQWVRQUFBSEFBQUFCREF5TWpHUkFRQUhBQUFBQkFFQ0F3Q2dBQUFIQUFBQUJEQXhNRENnQVFBREFBQUFBUUFCQUFDZ0FnQUVBQUFBQVFBQUFQbWdBd0FFQUFBQUFRQUFBTXFrQmdBREFBQUFBUUFBQUFBQUFBQUFBQVlCQXdBREFBQUFBUUFHQUFBQkdnQUZBQUFBQVFBQUFRSUJHd0FGQUFBQUFRQUFBUW9CS0FBREFBQUFBUUFDQUFBQ0FRQUVBQUFBQVFBQUFSSUNBZ0FFQUFBQUFRQUFKZThBQUFBQUFBQUFTQUFBQUFFQUFBQklBQUFBQWYvWS85c0FoQUFCQVFFQkFRRUNBUUVDQXdJQ0FnTUVBd01EQXdRRkJBUUVCQVFGQmdVRkJRVUZCUVlHQmdZR0JnWUdCd2NIQndjSENBZ0lDQWdKQ1FrSkNRa0pDUWtKQVFFQkFRSUNBZ1FDQWdRSkJnVUdDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FuLzNRQUVBQXIvd0FBUkNBQ0NBS0FEQVNJQUFoRUJBeEVCLzhRQm9nQUFBUVVCQVFFQkFRRUFBQUFBQUFBQUFBRUNBd1FGQmdjSUNRb0xFQUFDQVFNREFnUURCUVVFQkFBQUFYMEJBZ01BQkJFRkVpRXhRUVlUVVdFSEluRVVNb0dSb1FnalFySEJGVkxSOENRelluS0NDUW9XRnhnWkdpVW1KeWdwS2pRMU5qYzRPVHBEUkVWR1IwaEpTbE5VVlZaWFdGbGFZMlJsWm1kb2FXcHpkSFYyZDNoNWVvT0VoWWFIaUltS2twT1VsWmFYbUptYW9xT2twYWFucUttcXNyTzB0YmEzdUxtNndzUEV4Y2JIeU1uSzB0UFUxZGJYMk5uYTRlTGo1T1htNStqcDZ2SHk4L1QxOXZmNCtmb0JBQU1CQVFFQkFRRUJBUUVBQUFBQUFBQUJBZ01FQlFZSENBa0tDeEVBQWdFQ0JBUURCQWNGQkFRQUFRSjNBQUVDQXhFRUJTRXhCaEpCVVFkaGNSTWlNb0VJRkVLUm9iSEJDU016VXZBVlluTFJDaFlrTk9FbDhSY1lHUm9tSnlncEtqVTJOemc1T2tORVJVWkhTRWxLVTFSVlZsZFlXVnBqWkdWbVoyaHBhbk4wZFhaM2VIbDZnb09FaFlhSGlJbUtrcE9VbFphWG1KbWFvcU9rcGFhbnFLbXFzck8wdGJhM3VMbTZ3c1BFeGNiSHlNbkswdFBVMWRiWDJObmE0dVBrNWVibjZPbnE4dlAwOWZiMytQbjYvOW9BREFNQkFBSVJBeEVBUHdEK05XQUNRYlQ2MXQyMGlXMG1HemlzcTJZTkdEMzRyWWpqVjhocS9mNlZKdG40eFZsZEcxSGMyYm9CSzIwZHMvUTFGUGI3TEdLT01nZ1JyeVBkYzFuQ0JQSytmbkZiVW9DMlVXQmo5MG4vQUtDSzdLY2RIRTVPWFc1ejBpa3FvOU0xMU9nRmVGYXVia01lU0IxRmF1alBod3lIdlUwSEdMME9tck5PTHNhZmlhd0RMejFVWXJ6aUpUQkx0NzU0cjJQVlltbnMvUDZzZXRlUzNFSk11QWRoem5PTS9wV2VNZytkTXZMNnE1ZVZuWDZaY00yMk04RnVtZTlmYWZ3UC9aQytKdng1anRidlNoYjZmYTNqbU9PNXZXS3hFcjE1VUVBZWhKQUo0cjRxOEM2TnJYajN4dHB2Z1h3eEQ1NzNVOFlmK0hlUTMrcXllQUNPV1BZWjlxL2FYd1hONE0rSHVxQzIxTHhyNG8xQy93Qk9aWWpCNGNhS0d4dE5wNVZoSXlvcW8zRzFnekgrTUxtdHN2Zk9tMGNlYlV2WmF4M01qeDMvQU1FSmYyc3Jud1hONHUrR2NtaytMSklGVjdqVExXU1MxdlYvdWxVbVZVWUhzZCtENjErTTN4YytDdnhNK0JYajI1K0hYeFQwUzYwRFhiTFo5b3M3eE5raUs2aDBidUNyQThNQ1FlY0hnMS9xVy84QUJPM1I3YngzOE5kTTFYWEkwbG5odFVTU1pVOHA1OGhXekxGdVpZMmRQbTNSTXlNZDJEeHg4a2Y4RjF2K0NSSGgzOXNUNEZ0OFgvaGZwVU1IeEI4S1dNZ3RMaUloR3U3WlNaUHNzdzREODh4a25jckhBeUd4WGo0N0hZZDRuNnJKV2srcHRsZUx4WHN2YXVQdXJjL3pYZEx1bzFZckoxYml1bUdqMjl5dSt6QlppTXQrRlpuaXZ3YnIvaFRYN3ZRdFl0cHJHOHNwbmd1TGU0UXh5eFNSbmE2T2pZS3NDT1FlbFFhVmNheGFTNzdiY2NlbVAxelhSRlNocEk5S2JqSjNneU41anByRmJwV1Vja0RIT0J6L0FDckU4TzZqWURUVkZ3SEdYYzV4eGdzU0s3SzhMWE1NZ2xUTXFvenVvNHlNRWtmV3VZMERSemM2VkRNMXRJeDhvUDhBS2ZsSmJrY0gycTVLVGxlSnJDVVBadE5XTHpmMlBLTm9sVVo5YXF6V0ZvV3pFNnNNZGpVZHhwTm1BUVk1VTlUdDZWbnphY0Y1Z2xaUU94V3VmRUtTMWtPbHkyOTBkSnBqSWQyUWZ4cG45bktlVzYwd1BlUWZOSk5HNDZZd1JVWjFtR0Z2TG0rWWpydC9wWExHckZzNkpVMmovOUQrTkxUakg1V0ZCem11aWljSTNOY3pha1JOZ2NMWFJLVllncFg5QjBJU1V2ZVorUFl4NldSUGNScWlIYjJCL2xYUnVDYkNKbC91TC9LdWFuY0ZUdUk2Z2ZoM3JyUGsvc3lCb3puNUIwK2xkZExXYlBPcXV5dWppaTdwZWt5ZHdRS3Y2SHVqdTNoYitIbXMrOFltOUNqclZ5eWUzMHVXUysxYWRiZFNNN1pEaHlBZjRWQTZIc1RpdVJPTWFscE95TzMyS2RLNjNQWFlMU2E1dFFzU2I5cTdpY2dZSEE3L0FGcnhYWGRmMFdMV0YwV3daYmk0WWdFb3dLSVNjL01RZW85UFdzWFUvalA0MWd2SjQvQkZ4OWdnWWJWWGd1UjNMRThEa2NWbWZCWHc4MnVlSXJqVU5SK2Viek1CaUFUNWttY24rWjcxdzQzT29WR3FWTGZZOW5MY2k1RTZsV1doK24zd2crRXZpbjRXNk5lYTVwMW0wbXZhL2FQRGEzQlZ2M0tTZ2x4RG5oWlg0WHpGVXNGSndleC9RdjhBWlcrQkErRHVqMmFTeVJwSlBNMzJwNVNyM1VNajRkRUN1clpYR2QyUG15ZWVtSzhyOFFUM1BoQ0dDMnRaSkFsbmIyL21UeGgvUGliQTJJRHlGd3VNaGVSMUo1cjZuL1owOE4vRkR4UHFPbmVKTGpUWmJtTzdZM01FOGpaK1Jjb3hJWWtrOWVmeHI2emxvMGVXbFRWNWZsL21aNVprOVRFeWRhcTdSdjhBZi9rZjBqZnNaL0ZQeFI4T05Mc3ZCZHlKTHkyVnRsbk1xaU1wYk15c0ZjS0FHTUxFNFBIeU1jODErbzN4bDhWTDRoL1pMOFk2dHFFSXVJNE5GbkNvNDRaMUdBY0hnc0d3VnlDTTQraC9QYjluWmJNZUU3R082RVFrMktzYnNRVlhqTEJuL256eldOL3dVQi9hcTE3NGErQXZEbndROFB4cEpMNHhFcVhFNllDdzJ0dUF4SzdDVHZkeW93ZXFpdkJ6bkwzaWNSVGpHRnBwcHQraHBqc2poZzZkVEUwNm51Nis2ZnhKZjhGVlBBZWo2TjhlTFB4aHBwam1tMS9UNHByeDBCVU5jUkR5aSswODduakNGc2NaOXEvS202dEkxT2RoL01pdjJNLzRLVVdGNXFIeFh0OWF1VVUyVi9hazI0QTJ2Rk5ic3R0Y3hOR2VVdzhRY2RBeXR1SFVnZmxicU9sQU9RZUFPbGZTNTdsNmRhVTBmRVpMam5Ha3FiNkhsT3N4eHg2UmNUd05zZEkyeDM3WXJhME83c3JUVElMVnA1STlpS29EREJ3QjZkcXBlTWRJanR0R251b1pHYmZ0WFl2QURGZ08vSno3ZmhVeHNWYUl5bEM3NXdXNTUvUG44NitkalRuRjNSOVFwUXF3OTdRNlNTNmdaU04yZnBXSmRzcjVTUHAxckdEem8yQWpBL1NwM21jZFZOS3JWNXpMMmNZNlJZU0pGSXUxa0RmV3NTNnRiUVBrd3BrVnZENWVXRlpjL3dBODdjWndvd1BmUCtGZWU0MjZIU3BOYkgvLzBmNDBMZERKSGtkNjFZQTRQWEdCV1BZT1F3R2VLNkdJb0hKYnBYOUFINDVPTjFZam1CWmRvOUNmeUZkYlpzdjlrMisvZ0JBQ2ZweFdCUERzUVNJY2dnamo2Vm96WGNWcG9rQlFGN2hvMlZVUDNjOC9NY2RoM05iMFpxS2N1eHkxY08ybEZHTmFUVzkxcmR4Q3lrckZGODdZeUFXNkFBNUJQSFNwTmIwSnpKSGYrSXBYa3R0d1ZTN0ZncFBDRTV6aENlT3Z5OGV0ZFhwR21RNlpvaGp1U1d1TGVFNmhNT09Ya0JqaEdlcEhWc2ZTdHp4UFlRMjN3Mmd0dFFPNjR1WVdka1AzdG0wTTMwQUpIMHo2MTg5aSthYWxVZlEraXc5RlJpcWFSOHUrSTlKK3czN1hOcnRNY3Z5QUE5RDByOVF2MkFmZ1hvVjNMSjQxOFJoWk5wUW1CR0EzTWVZNHhuSUxuRzl1eUo5N2xnSy9MdlF4cW5qZjdOcGtpaWE0ZGxoaExrNTNCZ29QKzl5Qlg5Sy83Qi93UTBYd3Arei9BRzJzYW8wVjFmNmhleTNDc0ZiQ3h4QVFoVG5JSkxoaXB5Zmw5NjZlRXNGQ3RpT2VTMks0anhMdytDNUw2dlFoOGVhcnFrdmloNzNWQjludDdsWGxrUkFYQWRNZ0RLREF3TWM4ZWxmczcreTlxM2gzd2oremkveFcxUFE1NExMVE5QM3EwRXhTV1NkemdDM2l5SFlNN0Rld1lCVkJPUml2alh3cjhPTFhYdkY2YU40blEzTVZ4RzF5TFdJaE45ckNRR0FHRGtNVGxnTUVqb2ErdHZoLzhSOUU4YStMYmY0S2FuOFBKcmZUYkNWb0xLYTB5amlSZVdLcUZ3cWdFcmpub2NtdnVNWGg0S3Q3V1V0UytFcytwUmdxRlZYWFZuMmgrejVjZUxmSC93QUFiNzRqWGR6ZjJvZTh1YnhKcFVFY3JRS2lmZEh6QUFZd0FjbGp4NzErWkhpYjRrZU5maUQ0ODhVZUpkYmJOeHBVRUthYmJzKzFFdHpNRHRqK1VCWkdLamV3R0N4T0RnOGZ0bDhIN0RVNS9oWHFud3VqMEY5TnRyT1ZvclNmZnVrT3c3OTBvd29BZm93d1QwUFVWK1hmeEg4TVIyZjdRTnZwV3VoTEhUNzFtdDd5VjBBZUZWQWFOMkhCY0dUNVZPUWZtWG10Y21iZFM4K2g1L0huRUZMRlZuUndhdEJINHZmOEZPYk8xOFRhOTRPK0lkcEpDK28zbWs1MWVHSGg0SlM3bUI1QjEvZlJBWlBxdlBVVitRK3NXeWhDN0lKUHIycjlqLzhBZ3F6NGVnMDd3bjREK0lWb2hzWlpudWROMUswUU1GU2FINXJaMnlTUTMyZjVTdjhBQ1FmVTErTzMyeExpMFdUSWRYenoxeml2Unh5VGs0M3NmQjVkSGxqb2VUZUtvcDB0TGFDQ2RsUzR1SWdZOEE0d2QyQWUxYnYyUzRuUU9vWTd1ZWUxVi9GbW5SU2FocFR4U1kzM1M1UWRncWtrK25wWG91bXJadzJ3akRDUThkY0hIQTQ2Q3ZuS09ENTV5UGRyWXJrcHhaNWxjYVk1VWxGd2F6MjA2VlJzWmVhOWZuc29KSlBPQ2hNY2JRT3RaRjdwbTZUTWZISGFveEdYS09wRlBIT1N1ZWFOWk5HTnpjL3BWVk5QZWE0TzBZelhlVGFZRlg1eWV0SkZaMjhhbmRqa2RUWE45VWlkZjE5dlpILy8wdjR6N2FXTnVCeFcvR3k3T09hNGVHVWh4bmdWMU1OeUZHMGVsZnZjSm41SE9ucDJORzh1VlRUbW1ZZ0xFTnpFK2xlbytDZkJOL2NhREY0bjFFZk5jQUczVHVJaWNnRUh2MzlNNHowcjVrOFM2akxkM05wNGFzenZrbGZFckE0Kzl6ajZldGZwQjRuZ2g4Ti9DalIvR1JVR0cwc3BZWlFNWUpRWkhJOWVsR0ZuR3BVbXZzeFd2ci93eDFLZzZNVnpieTJQbVR4VGMydDc0SDF6eEphTHRqMURXSWJPTWorR0swUVJnYnUzelpKeFZqNG4zOEJ1OVdrRW1FMG5TNExUTGRDMDZDWmlQKytnQ2Zhc0hXYmxMRDlrUFJKZHUyVzV2cFpXNUJMTTBqSGNQd3htdkh2alY0cVpOZDFEU1lUL0FNZmtGaXdIWWo3TWc1N2RhOHJNNnFvMCtYK1pSL1gvQUlCOURnNktsVjkxYk5yN3JXL1U5cS9aSitFWGlMeDFORnExaEhpS3dsYTh1cEQxaHQ0Q0haajZCMkFVRWRjKzFmMURmc2NRNnhyL0FNRDlKdW1oampTeEtXeUtJdHFTQ0o4c3lEcTJRN2M0NzgxK0pQN0RjMmxlR2ZoeDRvc2ZFVWtGdEg0bTBkTE5wWkgydkczbkJnSTJCNGRncENqbkpKRmYxSWZCKzAwVHd4NGZzRzBpM1dHMHM5UFI3ZDBBVVI3WWl6RVk0TDV4dTZrOVJtdnRPRTh2Y0tQT3V1cCtmOFg0dVU2empMVkZqd1Y4Tm9vdmoxWmFwWXhlWUlyWXhrRW5BalJRenJnOGpCK1VpdjBkK0ZmZ1h3em92aUVlTWJhQ0tTOWpNVVlaVTVFaWd0SzJDTys1UWZiRmZIL3dBZ2UyMWE4MXkvY1NTaU9aSVdaajh4bC9lelNzeC91NUl5ZjdvOXErenZnMXJKbENYRWNubVJPaGtWTnBKTFNESlA4QTQ3bjhSWHFaaGU3U1BCdzAxRkp4ZXA5WVRRV1FOeHF1bFJ0QUpUdVpGT0FXT1dKL1BQNTE4WWZ0Ui9CM1RQaUxZVzNpeTNnam0xU3hMUnR1SHpOYnlIZHRPT0dNYktDcFBTdnJIV05RaXM5RUZzR0pMRGNldWVja2dlM1hyK0ZlUmVMN3JWTGZTcDd1d0JrL2NibzlweUdPRHV3dmZqSng3ZHE0OHJjb1NTSXg3WExkbjgxSC9CVkx3cGIrTHYyZmRXMTIyUDJodEExQzF2NVNvK1ZvUzdXbTQ0d2Qvd0M4M01UMndEa1YvTWxCSi9ZOG01dDMyV1ZzYnV1MG5wK0ZmMTBmdFE2WlllSlBDWGl2NFI2bEhKYlgydDZaZnJFcFg1WlVpdGtrREhqRFlkMEtIa3FUMTRyK1J2N1RORE1OTTFFQXd5Si9kNkVEMHIwYzlvcU5SVFR2Y01qbmRTZ2lEWEk0aDRnMHFLVmhMSDVrcjlzSENlcDdkNjlLUzhzMWlqM3NDTnVGS25JSTZjVjR2ZFE3TmVzTEtkZlBoaWpsa1RPT0JrS09EMXhXcFBCNUxHNjA4U01HK1dSQ1NjajJKNkg2VjVGUEVTcDNsVFZ6NkRFNFNNa28zUFQzdTdaVC9yVi9Pc3ErMWFCRzNCZ2ZvZUs4OGppU1ViMFhhQjNMZzQ5dXRPTU1aNnZuNmRLd3E1aTUvRWpLbmdFbGE1MU54cWtHRGs5S3dibldrS0haNkhGWk10dkU3YlZWa1B1YzlLekd0b2k0K1k3ZURYTFd4RXJlNmR0SERLTHVmLy9UL2kwbWlWRkJHZW9yVXRwd2liMi9oQlA1VnpVTTkzSW9VUlIvbWY4QUNxMnBOZXhhZmNTdnNWUkdRUUNlK0I2VisxdXZ5cHV4K2FRb3FVbEY5Uzc4STdlMTFmeHRMcVdyc0JCRWpQdWJvclBrRDllbGZwUm9JMHI0aGZDWFdQaEpIT3EzTFdqdmFtUTRVUzRKVVp4eGtpdnpLOEYyZmlhR1dXYlFXdG5XZVB5NVk3Z2Jra1FrZktWd2UvVHA5YStuL2hGck45NHM4VzIzdzhuOFB4YUxxelJzYmJWYk5ualdBUkQvQUZra1pKRHhjYldBNVBRRVlyYkk4WXFjK1ZyU1YwZGVlWUpWTFNUczFhM3lQRlBpSGV0WS9DWHdUb2NwZERDSjBsamJqRGlZOVIySXpnZlN2TnJEVHJ2NGxmRU9IVFFoQ3hLaVRQMUFqajV6K1FyMlg5b0xVRjhUNlFtdFgxckpaNnBwZDNKRGNReFJuN05JNWJtWkd3TWhndTdJNCtoelh6MzhPOVZ2OVA4QUZhM0ZpclNUU1pEN1JuNVcvd0QxMTVXYXpVc1lxZlRUOEQyc0RGL1ZaVmRtZnI5b0dqN1BCRUdrNkJheHJQRk9Rck9Ca3hxQmpMc1FJeU1aYm5JengxcituWDRQYWpDUGd0YmFkTUI1Y05qYjJ6T3d3KzJPRUVER1QwSkl6MUk2azEvTDE0UDhWaUx3bFlhRmZ0T0wxcmlLWWZaemhXSzR5clBuMFBUQnIrZ2Y0S2ZFaTAvNFY4MnJSVFkweUhWN3VKMmtQbWJVdGhqZ0RuRzRZK2hyOWN5TENSdjhqOG56MjdpbSs1OXhmQ1BVbjBmVHJlM3YzSUdvL3dDakdJNFpWWm95NjRPT2NqYm4wTEhPZHRmVm43UCtvUzZmQkFzellObkVzTW4rNldrVXQ5UUFQeXI4OGZndjhUYkhYSnJtSjIrU081SlVxQmhGVVlHM0JKNFVEY09DUnhYMTU4TXRhbXRTSVltQmVhUUFEMURLeCtVREFBNDZZcjBLOUdMYlZqd2JjcnVmZWQvcTF1Yi9BSExKdlNSUVFqY3VXalAzQmpqTEQxOUs0VDRrNnJKNGI4SXZxa01mblF0S0JGRmpMS3pjRlNlNENra2cxbkNSZFR2Rmt0WkZSaXF0dUI1L2RnNS9yaXVBK1BQeEIwTFFmaHJkVytybGlMWmxrZVZHMjhyODZqZDE1SXgyenlLOHJDWUp5clc2Sms0N0VXamMvRlg0dHcrTHRVL2IxazEzWExacmJ3em9maDJLQzFrTXU2Sm11cGk4NHc3bkRvUVVZWUdBZzlSWDg1LzdSdnc3UHcrK01QaVR3WEpCTkI5a3ZwamFDYU14dEpiTzVhRjFCNEtGU01FZi9XSDlSOGZ3MjF2NGxlSmRRMTZFalM3Q2ZaOWdYZXZuWENxQTRrazVsSFhoVDk0OThIaXZ6YS80S20rRFpyTDRZNlQ0OTErd01Xc2FQcWEyUXU0WkJOdnNiZ1NOaG5IekJkNFVxckFGU1Q2MTYrWllCZXcwV3o5VGp5N01uOWFWbDBzZno3UXgrYjRyanQ3cksrVGFzcFhrTUNYeUNlQ01ZOWNWNk5QWjJMeHBHVlBUMXhYRzJVbHBxZmlxZTdiWklua3hsMjM0Sk85dS9RSDYxNjFEYTZjRzh5TGJHcmM4eUtUK3ByNWpDNGYzV2ZYNDdFcExRODBuME8xVnkwUzdGL3VqcCtOWmN0dkRhL3V4eDNyMVdTSzFtVTRqWEE1eXJJZjFIQS9Pc1diVElKc2xGUDZWaFd3aWhyb1lZZkd5U09CdVhDbko3Wi93ck4yTjVZYVB0d0FlcDkvd3JzN3pTN0tPTXRjdEpLbzdLUU1lL0pyaHIzVXRDdDVERkZjdkV5L2RSaGxxODJ2c2UvVG56SzUvLzlUK0pRM0VrTW0wSDVhemRkdXYrSlBPRy9pQUIrbExlTzNsNEI2SE5jaDRtMUkrVEZiTDBmNzN2aXYyREZWSXhwdHlQaXN1d2puSlhSN2o4SUwvQUV5eXM3dTVuVUZ2SStVTTJNa01wd000NmozcjY4K0VrR3A2VGR0NDlrZlplVFJiRVFBTnRqMjVDWVBHRFg1Y1crdFhGc29peGxGN1p4WDBKSiswejR0bDhPdzZCcDFta0loUUtYakJ5UUIvRWFuS3N4cFUyblBwdFlyT2NqcTFHNVU5bWZvcnF1aVhmanJ3dGR4YXpjUW8wa0VrVVVMdWk3ZzZsUXdVdHRCK25Tdm5uOWtqOW1uVGZpMTRhOFEzbGxZdU5aOE1TWkV6dXhTNTViOTNHVU9BeUtNNHdRMmVLK1pQaDc0cDFmNGgrUGROOEthdmVUMnRycU53c1V6eGttU09EckpzSDk0cmtjOThkNi9lUDRHZkFuV2ZEdWt0WmZCdlY5TTAyd1dZT3NFdm5DNGtqVW5mNWtSRzd6R0FPZlJ1T0srbHlyQzBzeHJLcTQyNVR3TTF4TTh0b09qS1h4YmJuNTFmRWl6OGRlRHJPemUxU0JMVy9sV0I3bVloR2d5eFVNeWpzbkJKeGtWK2p2d0grTlhnRHhSNGF1dmdXMnZpMjFYVHIxTlN0THRNcEZmU1N4Z1NSTVNmbExOOHlidUNTUlhiZUl2MmVmQ01rMC9pcnhzMGVzWEVBTGJMaENpaFc0QVdNNEFJOU9wNjE2TDhFZjJHL2dkOFFkUmc4UStNZEEzenp1RXRyVFNuZTBta0orNkdrUTV5ZTJPbk5mVTBzUFV3dFp5aHF2UHQ1SHkxYk1xR0pvY2owYS9GbnFmN0YrcXRvL3hpMVB3ZGZ0SjVzVEY1UE00Yjk0MHUwZkxnWnpqSzlOcEdLKys3YjRyRDRlNnhMZGVLZzhOdnBWdEc4MGlMblpsdjliZ2M3R0w0R2VtSzdlTC9BSUpqWC9neXhoK0tQN09rcVBybWxyQlAvWmh2WnJ3enh4UnFra1Viekk4Wm1DTGdva3VTVjZIT2EvTTc5dlA5b0h3LzRROE9hejRLMDFMaUh4TGZRZllib1NSN1BzMzNmUGhsRDRJa1ZQbDI0R053UFZhOUpaelFjSlRUVHNjR2E1VFdwT1BORnBNOXEwci9BSUxoZkNYd0xjeVJ6L0QvQUZEV3JpeS8wZUtaZFRTM2lkSXl5bzVRVzdzTjRPZnZIdG12TVBpYi93QUZ1ZmgxOFNkRmswSFd2ZzFGZTJjamJ0dHpyZHgxd1J6NVVjWklJSkJIb2Evbm1hWHpITHRrbGozcGNFa0FWOEZQUDZxYmF1cmluaFUvY1IrM09uZjhGbXBQQ3NYaytCZmhGNGR0VWlBQVc1dTlSdUZVS01EaDdoUng3Q3ZIL2lmL0FNRmFmR0h4WjBxWFFmRi93dDhCM2RoSzZTUEJjNmZOY0s3UloyRmc5d2QyM0p4dTlhL0xPMHNMaTVrTU1RM0ZzREF5ZVNPQWVPTTlCM1BhckhpbndoNG04R2F0UG9IaTNUcm5TciszSUV0dGR4TkRNaFpRd0RJNERLU3JBNElCd1FlaEZiVnMxcVRYTEw4VG1oaHVWcVVkR2ZYZy9idnVOT2thYncvOExmaHZZOFlKWHdycDBoSHBqemtrSi9FazFXbi9BT0NrbjdRdGdDdmgreThLYVNwNkN5OE1hTENSOUNMUW45YStFN2hUNlZubFdZbk9BQUNlVC9kR1RTbmpKYWNxUytRcXJsTFJ5YitaOW4rTGYrQ2puN1l2aW5STHJ3dGVlS1Zpc3I2SjRKNGJXenM3ZFhqZFNyS1ZpZ1FjZzRyOC9wOU90REtXbHVHVmpqZ2s4WTRBSFBUaXZxandkK3czKzNSOFVXZzFUNGUvQ1B4WnFsbmNSck5CY3hhWGNDR1dLUVpTUkpIUlZLTU9Rd0pCSFExK2lYd2Yvd0NDQXY4QXdVaytLeVEzUGlUd3BZZUQ3U1FaYWZYYjJKSlZYL3IydC9QbXo3TXExMHdmTXYzbHJucDA2MEtNVkZ5UHhGaWdpaWZmSk0wbnN4T0tra2JSeWRwdFlta3lBRHNYT2UzYXYxOStPdjhBd1F2L0FHNi9nMXJMNlhwbW5hWjRwdDl3RWR6cDEvR2daVDNNZDM1REtmYm12Zzc0aWZzTy90aGZDYlN0VjhSZVAvaHpydW02Wm9rZm5YZDg5cXoyc2NXNEtKRE5IdlR5eVNQbUJLNDVKQTVxY1JUbWtuWTY2T01wUzBqTS85WCtHMjVuVmdVNzlxODgxZVY1Ym9vNXlFNkQwcmV1Ymg5Ky9PTnZOY2RkTTdYRE9Xems1cjlTemVxbkRrUjRtWFVIRlhadVdka0xpMSsxbmtFNHg2R3ZidmhKNHIwdndxYnV5dUxaSnJtNmpLd3UyQ0VMZktEajF6MEZlQjZiZHl3bG9BTnlzYzQ5Sytpdmd4NE5mWDcyK3ZGVVNUV3NIbVFwakxNNXlBQU8vd0RTdk13VWZlVW83bzN6Q0VYUmJuc1pId3p1TkIwVDRzVzB1dlhhQ0tXWmthNEFHd0VuQk9TQ09lY1k2SDA2MSs3bmh6NFUrTTAwSzE4UStDL0VVRjVaN2ZOdG1oQUVpYmlTc2I0SmJnSDVpUmpBSGZtdndMMWI0YzYvb21wUzJ1cHRpZDJPOVZ5VkdPZXZyejI2Vjc3OEh2Qy9qQzN2Wkk5U3VIazBxNXR6SExGSzhqRHlsS3NER3l1cFJzcU9weGpnam12b01semY2czNSbkhkbmdaNWxzY1ZGVll6dG9mc2Q0NDhTZkgveGo4TnJ6VnZCR2hSNnZmYVU2d2hSTWdDQWhoTkpFak92bk9vd1FoT08rZTFYL3dCbHo5cHZ4RGJlR2sxTStNRjhPZUk3RzkreWFSTmNNam90MUNGZVJabGJMSU5yYk9Cbm5QSUJyaC8yUi9pcDhaZkNueFcwV3grRGxqYTZURmZzZFBzRjE5Vm0wM1VtaFNTUXEwQWpMUmx3TWViRXlsVDFZak5mdmY4QUFMOXBYL2duSCswLzRsdWZnSisxaDhOL0R2Z0w0aTJjNGluMHJXck8zUzJ1Wmd3QWUwdldSY3JJZVUzc0NRUnRaK3RmYjA2YXJMMnNxbG50WnI5VDgzL3RKNENwR0xvYzZUdmRQb3U2UHAzOWlYOXFLdzhUdzJtbGVHcktEd3A0K204eVJ0TGtaSTlKOFFaK1p4QWVZbzUyQTh6ZEh0UnY0dHZVZnp2ZjhGblBqLzRIK1BYN2J2aVBYZkJPaVNhRUxCSU5QMU9LVEFhZlZMZU1SM3NyZ0VqY0hWWUN3KzhJUTNPYzErNVgvQlJ2NEVmOE1XZnN2Nm40My9aOTB6VGRBOE5pOGlrTEplWEl2TEc5bGtVV3JXUWxtZU1zR0M4cGhpb1lsTnVTZjQyTmYxdTkxclZwOVgxV1UzRnpjeVBMTks1TE83eU1XWm1Zbmtra2srNXI1ak9NUENqTlNnNzM3SDArWjhVMHN4cEwyTWJkN2xjT0NSMnExRStIR0RXSjlvU2dYQUJ5akEvVTRyenFsZUxTYlBBOWhMZTF6OStmK0NOWDdhSDdBLzdGMC9qRHg5KzFsNE51dkZIaWVjVzBlZ3lSV1VGNUhCRXU5cDhDZGdJNVdmWmh3Q2R2QXh6bjh3LzIxZjJocm45cXY5cG54biswSnFFTFc3K0tOUm11MGhiWm1LRXNSREdTaW9yRklnaWx0b0pJeWNrNVB5dEJxQmpqRE9lUFk1cUc4MUt5QURTU2hSemtraitXZjU0clduU3B1YnJYMWZkblZVbGlLdEZVZVhSRk9abEs0SEZmb1Ivd1NzL1lrdnYyNy8yelBEWHdkdjRKSmZERmszOXMrSTVJd1J0MHl6S3M4WllIZzNNalJ3RGpPSkNSOTAxK2ZtbTIwK3VhaGE2Vm8wVXQ3YzMwb2hndDdkRExMS3pmZFdPTk1zN1B6dFZBVDdWL1psL3dTby80SjFYM3dJL1pXMVQ0b2ZFTFhJZEU4YytNN1ZycTgwdVM5ZlQ1clMwUldXMnQ3c2tJSTVGQmVWeTVQbHUvSlhZVFhSVnhUaEJTNVpOTjI5MkxrMTV0SzJubWVCSExYT282VG1vdis4N1g4bDVuOUpQaVA0VVcxekZCcVhoa2p3L2Y2WWl3MmR6Q1VFY0Z1aXF2a1RSc2Rzc1B5cjhqRUVkVklOZUt2KzB2OEovQU90UDRiK0xtdWFQbzkrWW5sYTcvQUxUdFBzVWl4NFZuU1Jwa2FQQnhsSkZEQWR6WDh1WHhXL1pQOEFmdEZqVE5XL1pSK1BlcWVKdE9DUmpWOUNmVWY3YWJUaXdkM2NtZTZnVkkxMk41ak51UUhKM0FIRmZucisweDhKL2dsOEg5VnRMYldkWDByV251SXZOaDFTME1jYXlCUU9VamFaektoeVBuZ1YwUE8zSTVQMWVGNFpxMUtibkNzbkh6dXZ6MVBIakxEMDZ5cGNzdWR1MWxxeit4SHhEL0FNRk5QK0NXSDl1LzhJYjRqK0xYaHA3dWVRV3ZrcUxpNldSM1lLSTFlS0Y0MkxNUUJ0ZHNrNHI0ODhmL0FMZjMvQkgvQUVueENQQ2RuOGZmQzl0ZFg3U3hDeWNYaldjZTFoRzhOektJOWxzYzVVcEtWQkFPUVJYOFhPb2VQZmhicXZpS2J3SkZxTndscHExbkorODNrUnlOOHl2QUcycHRrSTVUS2ducDFySytKWDdNL3dBQXZHK2lwcVduNjNwdGxjM2NheStZRmEwZG5JQTVPM3lYR2NndDZnanJYeXVXenpHcmlaMGFOUk54N3ZmelIraTVqd3JsRU1OVHhWYU1yUzY5bjJaLy85YitDdTV1VElwQU5Zei9BSHFuYVFnZEtyRTVOZmVZdW9tN0hQQldqWVZKSGlPNlByWHZud284WFhYaGxqcWFzUktFWlJnbkpWMngyOVJrVjREWGRlSFlydG9vaGJydkliSlhrWlhQUFQwcml2Sk84UlNpbXVWbjZhYWZhNkY0bzhPemVLNzZTT0czZ2haeklEZ2dLTWtEL0N1THRmRU9uNkY4S0x6eFZjVFBOZGFoUDVWaXJyd0lFN2tZNExjNTcvZHpYeVRlK0tCcVZ0YTZCWnpQSEJjU1lsZ1U0VlJHY0FONzg1UHJYWmZFRHhCSmRReDZiYk1Qc3RvaXhJcTlOeEh6SDZzZXY1VjZqekJwcXBINGp5UDdJZzA0U2VoOU0vQmo5b3J4SlpmR3Z3WDRqMUdkNUlkRTFOSmh0WitGSytYZ1lJd3FvV0JHT3BQclg3cmZGYnhUK3pSKzFsb0owUHg1YU0xNEl3dGxxVVNnWFZtNXlENVVxbmRnTUI4ci9MMnIrV1B3dnJGL3BUSFU3UnRoVnd1Znd6WDA5NEcrS21yYWZNQmEzVEtycVVZS2R1ZDNVNTlhK3M0ZjRuOWk1WWZFcm1qTDhENWJpRGhUMnpqV3c3NVpSMDlUN1ErS1h4YS9iRGorSEZ0K3lmZitPVzhhZUJ0QXZ2dGVuVzk3TzIyMW1DTkdNRStZZHFvN1lRSGFwYjVRTVYrYlh4TjhSZkZyNGZzcjZucGtFTnM3YlZ1RkxTb3g3QTU1VSsxZm9aNE14ZHdLN3hoako4eGJLakpPT2VLNUw0ODZObzJvZkQ1cmZXZ1ZFY2lSWEkyZ0FMS1FnZGNjNVY5cEI3VjA1amtrSjBIV2d6Z3dHT3BScnhvMUthbDVuNVkzZnhuOGN6ZjZ1ZUpNOWtRZjF6L09zci9oTy9IMnBFajdmS1BaTURIYjJybU5jMEc4MFBYcnJ3OWVEYk5hU0dJOFl5UjBQUFk5UlhyM3c2MGpTbmRpNmlhN3R6eEczZjFJeHprVitkVkZPUHV0bjZYRERVSVJjNHdSMXZ3eThIZUl2RkdxQk5mdjdxVlpHWDkySkdHUWV4S25BcjlKL0Evd3Q4RHl3cnAxNWFRZVdxQU16cXJjOGo1bWJrbmcxOHQvQlV3NjU0cXY5VVVNSXJDTGxWT0NXQXp6MklHTVpyMm40T2VLMzFmeFdZWGo4MEZIbFVIRE1xbHlPZlExOWR3NDZLbkQyNnZkdEw1SHlPZlFxdU1uVGR1Vkp2NW5vL2pEd3I0eitIdXBlSHZIM3d1MGpUZGNQaG04aXVyZUM2SXRuaE1FZ2xTV0M5aWxnbGk4dVFBa2VadDlCMXo5Yi90SGY4RnFQMjR2MmpmQTJxL0N6eHY4UGZBTnRwV3RSZVJleHBkT3J5b3JCaXBtVFVGZkRsUm5CRzRjRTROZVYrSU5QYlh2QWZpVFNRTXBMNGUxU1JBZXU1YldSbC9XdjV4WmJ1ZkM1WmdjYy9NYStpNG94cndNNHZENktlNTRlUlpGaGN5aHo0eUNsS205Tno5ZHZDUDdWWDdUM3d3ZTdnK0YraWVCL0R5YXBBdGxkTEdMVzVTV0ZYVjFpa0YzZFRoMDNLcEljRUhBem5GWXY3WEg3V0g3Ylg3YUhoelJ2REg3UjNqUFRkZHR0Q2xZMmRyYng2VGFKYUZVMkw1Y2x1RWJZVkpBUUhZQ09tYS9KMWJtUlRrODA3N1hMMk9QcFh5V0k0anFWWThsYjNsNjJQc3FIRG1GcFZmYjBvcU11L0tuK0xkejNqVC9BSWNhOWI2cmJwYzNhaUxlTXkrYkE1US8zc2VaazQ2bkhQcHpYMEo0SjhVZkV2d1ZxSDJ2VnZEMmxlS3RQZ2RnMEdvVHFiZVhuQkpVU2dwNWc1NElQcUsrQURjU2tqY3g0OXpVNDFIVVBKTm9zMGdqYjd5Qmp0WSs0emcxODdUNUlTOXJCZThqNk9WVjhuc2w4Si8vMS80RUgrL2lrcFgrL1NWOXBXK0k1eUpTZHdIdlhzbmdnQVdrakRxSStQOEF2bzE0MG4zeDlhOW04RWY4ZWN2L0FGekg4eldZSElhR3pmOEFDUUkyZVNDVDduUFd2UmRXSi9zUmpubk5lY2FIL3dBaDZQOEEzVC9PdlJ0Vy93Q1FHMzFvVzZBNkhTVVQvaEN3eEF5WjQ4bi9BSUM5YUdrZjZ0UHFLbzZUL3dBaVNQOEFydkgvQU9ndlY3U1A5V24xV3V1bi9IajZISlcrQ1hxZnBCOExYY1N1Z0p3QkZnZHVTTTFoZkZuNS9EWGlBUHppMDcvOWRCVzM4TGY5Zko5SWY1aXNUNHIvQVBJdCtJUCt2VC8yb0svVlpmN2l6OHVoL3ZQelB6Vy9hSUFUeG1KazRkN1czWm1IVW5iMUo3bXNUVHBKTGZ4UHA4bHV4UmpNY2xUZ241UjZWdWZ0RmY4QUkzcC8xNlcvL29OWUZuL3lNbW5mOWR6L0FPZ2l2eVRGZnhQbWo5Ync2L2RmTDlENy93REJjTU5wNHA4VVJXcUNKZnM2Y0lObzV0UVR3UGZtc2o5bTVtVHhIZk9od2ZzU2Nqci9BSzJ0dnduL0FNalo0by82OTAvOUpSV0gremovQU1qRGZmOEFYakgvQU9qYStneXI0cUgrS1I4cm12dzEvd0RERS9UYnc2cXQ0SjFKMkdUL0FHUmVqUGZCZ2s0citZV2JwK0EvbFg5UGZoei9BSkVmVXY4QXNFWHYvb2lTdjVoSnZ1L2dQNVY3dkh2L0FDNU9MZ1QrSFc5VVJVVVVWK2VuM0JJNEFIRlJIZ1ZNL1NvVDBOTmJNRC8vMlFBQS85c0FoQUFKQmdjVUVoSVVGQk1VRlJVVUZ4Z1lGeGNYRnhnWEZoY2NGaHdYRnhjY0hCd1hHQndvSUJ3ZEpSd2NGeUl4SVNVcEt5NHVMaGNmTXpnekxEY29MUzRzQVFvS0NnNE5EaG9RRUJvc0pCOGtMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN6L3dBQVJDQURLQVBrREFTSUFBaEVCQXhFQi84UUFIQUFBQVFVQkFRRUFBQUFBQUFBQUFBQUFBd0VDQkFVR0FBY0kvOFFBUkJBQUFRTUNBd1VGQkFnRUJBVUZBQUFBQVFBQ0VRTWhCQkl4QlVGUllYRUdFeUtCa1RLaHNjRUhGVUpTMGVIdzhSUWpZbklrZ3BMQ0ZrTlRvcklYTXpSRVZQL0VBQmdCQUFNQkFRQUFBQUFBQUFBQUFBQUFBQUFCQWdNRS84UUFJaEVBQWdJQ0F3QUNBd0VBQUFBQUFBQUFBQUVDRVNFeEF4SkJFekpSWVhFaS85b0FEQU1CQUFJUkF4RUFQd0R5VUpRRWdDY0YySEtPYW5oQ2hLQ21JZTV1blZjNUl4eGtkVTRwaUJoSW5KRXFLQ01SU0VGaFI5eW9sa1dvMURDa1ZBZ0ZReTBQYVVVRkJhaUF4SFBRSmlhREFTcE5MWmRWL3MwbnU2TkpWcnNzMGFJL21IeG5jMEVrZWkyM1p6RjA2ME1ZY3hHZ2d0cWY5MWo2cWpOdWp5akc0QjlPMVJqMmYzTkxmaW9ibUw2VXA3T2JXWVdWV3RlT1k5eEJXSzdlZlJ5MXRBMXNMVHl1cHlYTUUrSnUrQnhHcWxwRnFaNCswb3JFajZjV1RBVk9pOWgrN2xOTFZ6WG93QUlWRWdHbE1mN1RVU296eVVkemZFa3lsUkp5cE1pQ09TWE9VV0toK1JOeXJoVks3dkVoalNGMEltWklnQm1WZGxUMXlBRmFuQk1ZRThLaWFIQmNBdUM2RXhDalVkVTV5WTNVSWprSUFaS1FsYzhydHlRRG1vN0ZHcGxTV0pvVEdWUW81VXh3UUhNUTBOQWdRRWZaV0dkVnFDTlp0TzRjVDBDRUc1ckM5MW9NQTBVS0pkclZjRERpSURHMkZoekpBbjhGS1ZzcHVrV1RXNGVpWUxCVmR2Qm5NU2Q1dUEwZGI4bGM5bjhXMnBWRVVHMG5OdURUYzdPT29kWnc5RmxkaTRRZ3VmVUpJbVptNUpQRmJUWndMU0h0WTBsdmlFRXlSdnVkVm9zbWJpZXFiR2JtYUNTSFNCbGRjVzRFY3ZkTUt6ZlJ6QTgxbjlrYlFCQUlNQjBPQTN6bzRmQlhlR3hFam5LNStTTFRzcURqcG5pUDBwOWpYVVgvQU1SVFlTd3pueWl3T3VZamNGNW0rbXZwSHQzRFgwemNrZ2gzOXVtbWgxdUY0THQzQUNqV2V3ZXlETGY3VGNlNkZzbGNWSVYwK3BUWlU4TlBCRUxVMk9ha3NYa2czem5rRVV0UTZKSmM0K1YwdzBFZ3hvbWs4bElrcms2SnNpMjRKcGFGS0lUSEtXaXJJK1FjVjNtandtbGdVME93UGVKZSs1SnhwaGRrQ2VRd2MxRUNHaU5LZENZcWNVMUtWUkp3MUNLNUNicjVvejBJVEF2Q2ExT2VtQkpsSWRUMVVtbW85Sm0rd0hOTnhHSmdaVzY4ZEVXa2dxMldKb2pMTXQzNzRWSld4SmVkSUhKTWVYSGVTbllLbkxsRXAyYVJna2FQczNRQm5OYUFEeDZxM0dFYVRjdzA3M0tOMmZvZ2g1Nkcra0NUZjlibElxVmQ3aklrd2RGdEdsSEpEVGNzRnZobnNaNFJEbXg2bmp5VjFzUUV4dUIwSG1zdGdROCtJQWthTFc3QnB1QkVpUGtpM0kxakJSTkhoTUVRZVZqNWhhYlp6RGNuUlZPRU5nTjZtVnNSM1ZONzNTUXdGeDAzQ2RGRTIzZ1h4eDJWSGJlcE5hbkdyVzNHK0NicnhydGUvUFd6YW1JSjV0TUgzcmMvV3o2cE5Xb2JnbjBCbFlidEhRTEt6Z2J0SXpzUEZqdkVEMXVaNXJXTWFoUnl0LzZzejVhbUVLUzlxR1dxR2kwd0ljZzBqcVozNktTK21OZFZIdzJubm9wb3RNSUtoVHM2UnlaS05CZ0pLUk5CWFNnUXE1Y3VKU0dNS1NFdkZMS1FEUWxDUnFkQ29Rb0tWSUVxQkNEVWRVZHlCR2lPNU5DWUtvdVlJQVA1anpDWlhKTmhxVVpvaTNEVlJKbHhRQ3NTNDZBSGw4a0dyUmdLZlVvMnRycUR6L05Sdy9NSmpyMVVNb2hqUlR0azRZdWZhNDM5RkRjQm1oYW5zMEc4SkRSbUkrODZEcWZ1aU5FNHh0bFNkSXZjSGdoVG9rRVhkSERTT2ZWQWM0T3RBdFBSVHpUelFiays3OWxDZFJjM01RQkh2OXk2SkxGSXk0M25KcHRnWUthWUFJTFNaNlFyckhPN2xvbHJTWU9XQ2MzWGtQVlZIWmpEanV3Nm9YWlJ1QU04VW0wYXI2dGJ3UElwR0d0RVJEWUZvMW1aVXJDT3VNVkptb0dJY0dNSUVrdEJoVk8zZHRPRE82Yk9aNHVDZlpCTUN3NDM5eTBMYUliU0FKbUdqcVNzSHRmRE9EdzhpK1lHZVBudzVKckpqek5Sd1NjSTVsTXdRTXVVVFBQWDNySGRyNkJwMThra2hyV2hzL2R2QzFXS3BCejJrRDdvNmdpUFBTRlFkczY0cTFNeEdVc1BkZzY1Z0FEZmVESlBIVUxWbkg2Wlp5RTV2TkhLRFVhczJhSURVcVFESTNGTXc0OElzaVlsM2hLU2kydzZmcUZIcFhncFRTMUc3dE55b29MQWxjUWk1RW1WS2dzR3VoRWhOaEZEc0dBbFQydFRySW9MSW9SQW1BSndRQTRKMEpzSnpVQU00STlRZ1hRQ1VSb3pHZDI3OFVYZ0tzVEN0dVhPdEYwK3FJYU9Mako4L3dBazdFVTRZMW8rMjZQTGVuWWsvd0EwTjFBK1FVRmhxaklaK3VpcGFqNGVZMzYvaXJmR3UvbU5idUFMajEwK2FwcXgvbWVhVTlsUlFWbE11Z0FMZjlrZG41YVQzT2c1aUEzVFVHOWp1MTlGajlsMDRlT01PUFMwTDBMWWROb28wMmd6NFovekczd1duRXZUUGxlS0NWNlppQjBSY0RobXlNd2tOZ2FtSjVoU3FkSzJZWHNmVzY3WU5JbHp3ZnRINFgrUzJaaW1FcWRvUXgyVEpPOG5rZUFWa3lyU0xlOGF3eUx3RUNwc2tPY0NBUEdlSG42TFI0SFp6UlN5Z0NSeTUvTlEyL1RhTTZXQjFQRmQ3U3l1R1VtNDRnK1N6ZTJhWjBGanZIUGN0WlJHVVJHbndWZnRqQUNvMDViUEFrYytTSW1VbmJ0bVV3ci9BUERpcmJNSWFHblVuTS9UMTl5emYwaVlVTmZTcUNJYzNLUU5BOER4ZXZ5V3J3VklnZ08wTFFDM2c0U1o2L2lWbnUyMUdjT04rVjdZSnRZeUw4TDI4bG85RTNreExTdUpVZk1XbEZsUjJMb0ZqYWZoSjZmRkVvVTdEWFFJT0xkNGZNS1JUWng1Y2tsc2ZnV1Uxd2xjQXVsVVFKQ0dXb29UWlVzb0hsU1pVUWxOU0E0QmRDUWxNem9IUkZCVHdVS1U5cWdzSXVCU0FwcGRBSktZcU9jSmNHamY4RmI5d0dqS1BUOWVTcDlsR2FnSzBPT1pEZ2R4Q1VjMnluakJXTU9hdXh1dVVFcGpqL2lMOGZtbjdJY0hZaW9lVnZnZ1loLytJSFZEMWY3SzlyOUJYUG1wVkozRWdkTlZWMG01cWs3cHVwR0xxdytyL2NoN0xibWRITlp0MnlsbzFPRTJjRzBUVk53OFpXaittZm1SK3BXcjdNMGlLY3VzSnR4VlRSQXFZYkRzSWpLWkovekd4OGlQUmJDaTBBZ1JZRFFXdHU5NjZZeE9XVEhVcU9WaGtRRFlIbWVDTHNuRCtKeDRENGo5MExHdXUwNmhvRHVXbjdLdzJZM0t3azZ1L0NWVEVpZmg0blQyUitTbjBDUXFyRGs3dDhlcXRtWGdkRm14aFhDM3FoWnZOT3JPdDgxR3FHMzYwUWdaVmJRd3dZWE9Bc1pFZGYzOUZtdHQwdTl3OVpvdUJUbHZVUzcxbGFuYWxTMGJwbjNUWlVEbkF4ZTVKSDl3dnJ4V3lWb3paNU5xbXNkbE1IUkd4bEkwM3ZiOTF4SG9VUDJnc1RZSGpOQjFSMlZCeDg5eWlWajdJUEZITFFmeXNqK0RhUWJ2RWhxQlJ0TEhSZFpIWmk2a2cxQW1PZWh3dXlwV0ZJZVhwcm5wcEFTWlVXT2hTNU1sZGxUc2lrWkhTdEs1SUVpZ2dVYkV2dkhCU0FWQmRjK2FVaW9MSmFiTllXZ0hpdERqUm1wU05RRlRVWGdBRGVQSld1ejhVRExUcHB1V25IV2pPZDdLVHMrNkhWRHdFL0ZSSDFjMVhOelZoaGFQZFZLemQwR0R4RVdWTzEzaUtpV0VrYXJMc1hhQm1vNDhiKzVXT3c2UjFWVXhwZTZGcHNHekxsQXRCOVR3VXdWdXdtNlZGZ0t6MkZyWkVEN0lpNUUzUHFWNkpoRzVnMDhwbmdZMCtLODQ3bk04R3d1Sm5VbWRGNkRnSFNEdXNQaCt2VmRNYk9lWTZzL3htZFBrQkh3VnBoWCtFa0c4UndqU2ZPL3ZWVTh5K2R3QkpFYTIwVTZqVWh3YnhhZlV4ZFUwUVNNQlU4TFR6OTRKS3U2UUFBNktod05pQi9VZmVGYzBLa0NQMUZnRkxRMEVjNmI4MDFvK3lmS1V3dUVubnB3bVB5UkFNMnVxa0dRY2FKdkVrRTlZL0Q4VmhzZGlnTWEyazBFQnJTNHlkN3pNYTdoOFZzTVRWT2MvZEh3QXY4MWhxT3ozdHhsWjdpQ05HbTVrYnI3b0MwU2VDY1pNNTJvdzJYRVAvcWh3OHgrTXFraUZzdTJ0RXVGT3Exc3RBTFhPSGxIbHJkWko0blJSSlpMZzhFZXNmRXo5MFZyWlFUN2JkWkhCUzJsU2kyQ2Mza21TUnFwRXBwQ0dpYkFrbGNpRUpoS1ZGV2NRbW5jbkZOSlFNU0YwSlNQVkpsU0FpaDRYWnd1Q2RLZ3NZNTlqMFFFZXM3d2xNb3ZVc3FPaVEzR3RKQmV3a2plQzRmTldHSGZSZjdEaXgrNlNTSjRlYUVhTTJQN1dsSnNuQ043NEg3TGRKNHExZGt0b21kOW5scmhscXRCQm41L0VIbXM3VnBsamlEcXRSdExBNTZtY3Z5a1d0ZVFOSlZEdFhDWmZITWdtRWNsajQ2SWVIZEJCV2gyZlhrKzlaNmxUSk13U09RVi9nbVEyMzVwY1krUXZHejN6UEZBSkFpZndXdDJkaUlaVU15QVQ2WFdDd3J3eDdYSFFPQjZYMy9yZ3RYc0t0RkNxWGJuR1Q1bGRNV3JPZWF3WGxlckFGcm1SNUg5MVB3NzVqakE4N0czd1dSeE8wSmc2Z213TzYzNWFxODJUVnpORVdzWTMzSFByQ3BrbHRoWFgrUVZwaHFrK2gvWDY0cW1wVklnOHlQMTVLZmhhbG1qZVpIelNFUytuR2ZsODFKb3U0cU5RcXk3eklYVlRwY1dVcEF5dTJoQmVmRnJGZ1kwdjcvbXMxUmFhaGRrRURReU13bnArdFZNMmk5eHFodVdXZ2tFRW5UUzlwTThGWVlLZ1lBWXdnRFFaU3RNRVpLdHJoSGR2TXkwZ3RJeXlPbTVlZWJWdy9jMXFsTUd6VGJvUUNQY1Y2L2l0bDFIQzFGem8wOEprZENzRjJtN0hZeCtJYzZsaDZyZ1EyVGxnVEViMUUydnlWeHBtSmRHZnkvRlNtMHhHcXU2WFlQYUdhVGh5TFJkMUp2eGNwVE93K01IdE1vdDYxNlEvM0tFMGF1ek9ocVFnY2xwejJOckQycXVEYjF4RGY5b0tUL2hHUGF4ZUNiMHFQZDhLYWVDRExsaVlXS2J0bkN0b1B5aXBUcWlKelU4eEhRNW1neXEvK0lIQXFXMFZURnlGSWFQTmNhNFRIQ2RCOGtpa2NXbE5rcGhZL3dBdXE3dW5mb3BESXpsMHJwVFdsUVdqcXhza3c3a3l1N2Ntc2ZDbDdORXNGelhlU1FCdmo1N2xOd3RJTkFWRmc2NERnU2JLMnJiU1lCNFZjV3RzeWxGNkpsSnBKNERmZEQyemhKcG1JTVgxQ3FhbTBUdU9xSmhhYjhRU3hwOElFdVBMZ24yVHdIVnJKWTlrNlhmQnpIQ0EwV2NQdmNDcE5iQUVPTFRxSnZvaTdMY0tEU0dTWTVYS25WcXhxZ0ZvMUh0SGNGcEdDb2lVc21YTkYzZWh0UjBOMW5wdTZyUjdNMnl5blVkVGRKcHVBQjQ4amRDR3hHbVM4a256VGFmWnh0UjM4c3VCNDdvODBsY2REYlVpMXhtSGFBQzJDMmJPOGpQbXJqc3JYek5CNGcyNW5oK3Q2aDRQc3BWYXh3T0liQmFiWlNRQ1l1YmhTTUJSZGhudHpaWE5OcGFmRElIRGNkNjFzenJCWVZuRnVVY0lJUEVxUHRmdEQzTGZDUEdIQVFkTjgrbjRLZGphZWFEdzA5Ylg0ckNkcDhYbnJPajdNTm5pUUlKOWJlU1U1VWlVclpldCtrZkVOSGhaUkhNVTI2K2FFLzZSc1lkSE1IUmpCOGxqbHl3N0ZHcXFmU0Jqai96aU9nQStDaTFPMm1OZC93RFlxZjZpRm4xd1RVaFVXdFh0TGluYTE2aC96dS9GUm43WHJIV3E4LzVqK0toRUpDanN3b083SFBQMmo2b2JzUzQ3ejZvUlNKdVRGU0ZOVThVMXp6eFhJVlI2VnNhUTRqaWtnTGc5S1dCVVdOZ0paU1pDbUZJWVExRjBsRGxMbjZwSmhSQ0pUQ1VwS1k1UWJJRlZOMGhTSnpCS3k5TkJFZWhoSFAwUXlGUDJmaXNsb3VtdDVGSnVzRUd0U0xEQjE1Szc3TlZ5d0U1aTJUcUJJdHVqZXFyRnN2Sk90MWI5bnNyckV4dTE0OHVDdUgySm45VFhZVEh0YUJtWTNkZUJZcXhGUU85azIzQ3dBNmNGUS9VN21nZUlsc2E3b2trQk5ZNTlQdzZnNkxwN05iT1J4WGhaWXpFQTIzalVxd3dGVnJXMkk4dFZrdHUxSzdjdmdjS1JBSmNCSkovcWpRS1gyZXhJTWw4NUd4b1lra3hFcU8rYUwrUEI2WmdhaktERzFITUw4K3JnTXdaMTRIbXI2cGhLZUxwa1BoL0I0QUR3Zm5FL2t2Tk5qN1FxWVIrWnJpK2s0NnpvT0RoODF1Y0ZpUlZIZllXei90VXBpZWJScFBKUTcyZFNna3FNYjIzcDFjSzgwaTQ1UTFybVBGczBrajFCMUhOWUNxNlN0NzlLUGFKdUlkUnBCc0dtQzU4aTRlNjJYaUlBa2ppZVM4L2xKeWIyYzBra3prcVJLa3lhRkFWaHNqWTliRXZ5VWFibnUxaG8zY1Nkd1ZlRjZUOUdYYS9DNEdsVkZacnU4YzRFRnJRWmJFUnJhREo4MFhTMFVrbThtZjdTOWlxdUN3OUt0V01PcU9JTEFQWXRJa3pkeDRBUnpXVWN0cjlJM2F4bVBxdE5OcGJUWTB0Ykp1Wk15Um9GaTNGQ3VzaWtrbmdZUW1rSjVLYVFxSUZwMHk0aHJSTG5FQm9HcEpNQWVxOUVIMFRzWUd1cllsNG1NMlNtTXJTUnZjVHBOcFEvb2Y3UDk5aUhZbDRsbEN6SkZqV0kvd0JyYjlTRjdJV3pNaVFSRUhUMFJkQ3QrSG5tRCtpZkJzdTU5YW9PR1pyUWY5RFo5NjBlenV5R0NvM3A0ZW1EOTV3em4xZkpWaC9CUHBYcGd1WnZwRTNIOWg0Y2tiQ1k1cjVBRGdSWWd0Z2dwMytCZjBvOXQ5bWNQaUx2b1UzTys5bEFkNmlENzFsY1o5SDJGRWcwNmpKKzB4N2lCNU9uM3IwWEViVG9NTVZLMUZoNFBxTUI5SlRQckhEUEVERTBEUDhBV3cvN2tmSWl1a3ZEeWZFZlJ2U3lQN3V1L1BIZ3podVNlRG9FaWVPN21zdi9BTUVZMy9vai9XejhWN2Jpc1RnMnY3ditMb05xd0RrTDJEVzQ4TGlpL3dBSi9YUzl5ZHhZcm5IWjh0dUtZNTFrcFRIRlpObmFrTWxPWTZDbXJsbVVHS0xoYU9ZL0ZBWUZiYklBa2plZEZTRkxSWFlzK0l4MFNVM2xwbHRpclhFWUlDNHVkNVVWdUdQQkpxaEoyaWZnZTBOVU9oejhyYjNndUV4YVFMbTZ0c0hVcXVKYzkrWWpUUnJlT2hpL1ZVK0d3Z0JIelUwWVkxYlpzckd5U1RvQnZXa1cyWno2bXoySHRIRFZRS2VKTHFUM0FYTHgzWm0xbk4wOC9WWFAvcHpoaTF3WStxMFBnbUg1Z2Q0TUZZN3MxZ2FWUjlhaTlvY0docHpXekF4RWdqeVVuRGJYeG15bjVUL053ODJtUzJQaXc5TGNsdmVNbzVuRjNVV2FHbjJDcTBCbXA0a0VURVZHa201MDhFbVBKUDJqaVdZTWlyVExPOUVaMk5jNW9jdy8wT2FMOHh6V2k3TDlyc05qSURYWktwLzViaUFUL2FkSGZIa3N6OUsyR28wZTdERzVhdFNYT0RiTnlEZVdpMGwyL2tWTGNTNDhzMWhtQTJ2ajNWNnRTcTgrSjdpNCtlN3lFRHlVSmM0cHNyQW9jdWxObGRtVHNLSGdwNGNnWmdsNzBjVUpoMVlZbE1LR01RT1Bva2RXamNmUS9nbmFIMFk5T3AweTRoclFTNXhBYUJxU1RBSHFoMTM1QU0xcGdpNGt6eVhwUDBjZG1RMDA4YlY3dXF3dG1rMXBKZ243VHRJSXVJM0U4azBtOWJNNVZITXRHbDJDTVJnOEcyalNER2xvMUxYSE5VY1pjNXhNYjl3MHRkVW0ydTJlMDhNQjNyR01CKzJHbHduV0p6WldrY3d0WjJqMjNoYVZBdXJOY3h1Z0RKejVyd0d4cWJiN2NWa3RuZHZhZUpES0Q2Slk1emNvZG1FRjVFRFVHeFBMMVZjYWxxY1ZmNkNUalZ3ZUNsYjJ2eGRlYzJKcU40UVExdnF3QlFNVy9FRWt1eEZWMmJYK2E1cFBtWUpXOG9qTTUxQ2lING1vQWM3c3JSU3BuZ1RiTTczRDNMejd0Smp6aHF6bVZHVmFiamZLOWpjaG5XQkF0UEN5MmNJSlpKak9VcFZFaFY4TVo4VFhHZnZQcUdmUE5kUnErRHpCekFDMms4QXVBOFJMMmtscGw0SkVBblFxRmpOclptdzBocEJCQkdZQzM5Tng3MU93TzNBY3JvRWl6aHU0VDBYSExxcGZvN29kcFJyMHBjWHNaelI0U0hlVUg4MVgvd0FJL3dDNmZSYmJFN1ZaOXBqVEkxYUlrY1I0MUQrdGFIM0hlNWIvQUJSOFppdVdYcU1rU21GS2tLd1p1aEZ5NWNwQTZWWVlTcEYrU3IxSWE3M3BBWDJIcTVnRS9FMEFHeWJLdHd0VXN2N2t1S3hacXVEZnNnKzlYZG9qcmtzY0FBS2JudU56Ylc4YnJlcWdqR0hmcE4wVEdWb2FHY05md1ZaS08zZ2RmVFRka3NmbHhEbk9pWEF6Nnl0ejlZVTNXSkJCR2gwbnJvdkxzRlZEVE85V3VIMmtSRW1mMSt5MjR1U2xUTWVYanQyaXcyN3NFTmQzbUhjR3pmTHVCM0VLb3htME1SVkk3d09lNEFOQkxpZkNOMHV2eFZqaWNjWERLREErUG9tdFluS0tid0VXMHNtZHhPS2V6VmtjMUZPMEg4bHFxMUFGcHROdElXVHgySHlPdDdKdUR5L0pZempSckJ4Zmdqc1kvajhFenYzSGVVTlBZMlZCb2tqcEozbjNxVmhNSk9xTGg4UHZQdTNLWGhXK0tJbENFMldHRHc0YUxDRllVOE9DRkJmVmd4eVU3RHZKRXo2V1hUQkk1NVdSZG9pcXhoN3N5QnJUYzBQYVJ2OEFDNEVTcHV4UHBKcjRXaUtWTEQwV3RrbjJYUkoxZ0Y4RG9FVmgwQ3pHMXRyVm1WcWpBOHcxeEF1ZEpUNVA4NUNFVlBEUmNiWDdlNG5GQUNyUXc3dzB5QTZrSEFIU1lKS3JCMm14TFlMR1VhWkdtV2hSRWVlUlZuMTFXKys3MUtiOWNWditvNzFLeStSbWk0b3BWUmREdGh0R0lHSWUwY0d3MGVqWVZWdGF2V3JQbXRWZlZjQkFMaVRiVzBvSjJ0V2lPOGRIQ1NrK3RLdjMzZXBTY2s5bEtGYW9DYU1iMGFtMGh1WU9CaUpCTjc4QnZISGdrK3NxbjNqNnJtN1RxRDdSV2RJMHVpYmdkcXZwR1F3SGZCa2dxMi80emQvK1dqLzNLZ08xbnhHL2pKUS9yT3A5NU5TNjRRbm5aRVNMaXVTWUhMbHlSQUNxUTFrMlVjS2JRM29BUVZjcGc4TEoyQ2RlU28xZlVvbERSQUVpczZaS2psR09pRlIxUWdET3NVZW5WUXNTYitRK0NSaFI2THd0c0pVbmVyS2wxVk5nTkQrdHdWcmhYR0JjNnJvZ3pDYXlIelpiV2haN0hVY3dxTmk3Q1NPbjdmQlhOWTNIVWZKUVgvOEF2TzZOL3dERUk1QWhnellVaWs3S1FoWWtYUFZFYm9PaTUyZEpQbTJZYWZxeWxiR0VrbmVvZXcvYkEzZnNwK3lmYkkzWmo4MDQ3UkVzSmpjVlY4YnBPa3dyVEFFNUFlUVZGaXZhZXJ2Qyt3M29QaVZwRDdNem45VVdEQjRtOVFzajJyWkdMcmMzVDZnSDVyWjBCcCt1S3gvYkQvNVZUb3ovQU1RdE9iNms4UDJLVmN1SzVjeDBITGx5NUFITGtxUkFISllTSkVtQi85az0iLCJtZXNzYWdlc190aW1lb3V0IjoxMCwia2VlcF9sb2dnZWRfaW4iOnRydWUsImFwcF9wcm9maWxlIjp7ImRlY2ltYWxzIjozLCJtZXNzYWdlVGltZU91dCI6MTAsInZpZXdBbm9uRGV2aWNlcyI6dHJ1ZX0sIm11bHRpcGxlX2xvZ2luIjp0cnVlLCJzZWN1cmVfcGFzc3dvcmQiOnRydWV9LCJyb2xlcyI6WyJDdXN0b21lckFkbWluIl0sInBlcm1pc3Npb25zIjpbXX19.l_4tZ0R_EpfYVN5wionUOe6dLHKeKSBVRWDEhE5RAlmazRnsAOWJYFDXTvB8UObRRlDytT5u18cd3zO97_X5wg"Ejemplo de usoimportrequestsapi_url="https://www.myserver.com/auth/refresh/"headers={"Content-Type":"application/json","Accept":"application/json"}payload={"token":"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoic2xpZGluZyIsImV4cCI6MTY5Njg4ODMwMCwiaWF0IjoxNjk2ODg0NzAwLCJqdGkiOiI4YjBhMjhlMjg5ODA0NzNkODcwZWUxMTkxMDMyMmJmOSIsInJlZnJlc2hfZXhwIjoxNjk2ODg4MzAwLCJ1c2VyX2lkIjoxMiwidXNlciI6eyJlbWFpbCI6Im1hY2VyY2hhQGdtYWlsLmNvbSIsImlzX3N0YWZmIjpmYWxzZSwiaXNfc3VwZXJ1c2VyIjpmYWxzZSwidXNlcm5hbWUiOiJtYWNlcmNoYTIiLCJwcm9maWxlIjp7InRpbWV6b25lIjoiQW1lcmljYS9Cb2dvdGEiLCJ0aGVtZSI6ImNvcnBvcmF0ZSIsImxhbmciOiJlcyIsImF2YXRhciI6Ii85ai80QUFRU2taSlJnQUJBUUFBQVFBQkFBRC80U2NMUlhocFpnQUFUVTBBS2dBQUFBZ0FCUUVhQUFVQUFBQUJBQUFBU2dFYkFBVUFBQUFCQUFBQVVnRW9BQU1BQUFBQkFBSUFBQUlUQUFNQUFBQUJBQUVBQUlkcEFBUUFBQUFCQUFBQVdnQUFBTFFBQUFCSUFBQUFBUUFBQUVnQUFBQUJBQWVRQUFBSEFBQUFCREF5TWpHUkFRQUhBQUFBQkFFQ0F3Q2dBQUFIQUFBQUJEQXhNRENnQVFBREFBQUFBUUFCQUFDZ0FnQUVBQUFBQVFBQUFQbWdBd0FFQUFBQUFRQUFBTXFrQmdBREFBQUFBUUFBQUFBQUFBQUFBQVlCQXdBREFBQUFBUUFHQUFBQkdnQUZBQUFBQVFBQUFRSUJHd0FGQUFBQUFRQUFBUW9CS0FBREFBQUFBUUFDQUFBQ0FRQUVBQUFBQVFBQUFSSUNBZ0FFQUFBQUFRQUFKZThBQUFBQUFBQUFTQUFBQUFFQUFBQklBQUFBQWYvWS85c0FoQUFCQVFFQkFRRUNBUUVDQXdJQ0FnTUVBd01EQXdRRkJBUUVCQVFGQmdVRkJRVUZCUVlHQmdZR0JnWUdCd2NIQndjSENBZ0lDQWdKQ1FrSkNRa0pDUWtKQVFFQkFRSUNBZ1FDQWdRSkJnVUdDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FuLzNRQUVBQXIvd0FBUkNBQ0NBS0FEQVNJQUFoRUJBeEVCLzhRQm9nQUFBUVVCQVFFQkFRRUFBQUFBQUFBQUFBRUNBd1FGQmdjSUNRb0xFQUFDQVFNREFnUURCUVVFQkFBQUFYMEJBZ01BQkJFRkVpRXhRUVlUVVdFSEluRVVNb0dSb1FnalFySEJGVkxSOENRelluS0NDUW9XRnhnWkdpVW1KeWdwS2pRMU5qYzRPVHBEUkVWR1IwaEpTbE5VVlZaWFdGbGFZMlJsWm1kb2FXcHpkSFYyZDNoNWVvT0VoWWFIaUltS2twT1VsWmFYbUptYW9xT2twYWFucUttcXNyTzB0YmEzdUxtNndzUEV4Y2JIeU1uSzB0UFUxZGJYMk5uYTRlTGo1T1htNStqcDZ2SHk4L1QxOXZmNCtmb0JBQU1CQVFFQkFRRUJBUUVBQUFBQUFBQUJBZ01FQlFZSENBa0tDeEVBQWdFQ0JBUURCQWNGQkFRQUFRSjNBQUVDQXhFRUJTRXhCaEpCVVFkaGNSTWlNb0VJRkVLUm9iSEJDU016VXZBVlluTFJDaFlrTk9FbDhSY1lHUm9tSnlncEtqVTJOemc1T2tORVJVWkhTRWxLVTFSVlZsZFlXVnBqWkdWbVoyaHBhbk4wZFhaM2VIbDZnb09FaFlhSGlJbUtrcE9VbFphWG1KbWFvcU9rcGFhbnFLbXFzck8wdGJhM3VMbTZ3c1BFeGNiSHlNbkswdFBVMWRiWDJObmE0dVBrNWVibjZPbnE4dlAwOWZiMytQbjYvOW9BREFNQkFBSVJBeEVBUHdEK05XQUNRYlQ2MXQyMGlXMG1HemlzcTJZTkdEMzRyWWpqVjhocS9mNlZKdG40eFZsZEcxSGMyYm9CSzIwZHMvUTFGUGI3TEdLT01nZ1JyeVBkYzFuQ0JQSytmbkZiVW9DMlVXQmo5MG4vQUtDSzdLY2RIRTVPWFc1ejBpa3FvOU0xMU9nRmVGYXVia01lU0IxRmF1alBod3lIdlUwSEdMME9tck5PTHNhZmlhd0RMejFVWXJ6aUpUQkx0NzU0cjJQVlltbnMvUDZzZXRlUzNFSk11QWRoem5PTS9wV2VNZytkTXZMNnE1ZVZuWDZaY00yMk04RnVtZTlmYWZ3UC9aQytKdng1anRidlNoYjZmYTNqbU9PNXZXS3hFcjE1VUVBZWhKQUo0cjRxOEM2TnJYajN4dHB2Z1h3eEQ1NzNVOFlmK0hlUTMrcXllQUNPV1BZWjlxL2FYd1hONE0rSHVxQzIxTHhyNG8xQy93Qk9aWWpCNGNhS0d4dE5wNVZoSXlvcW8zRzFnekgrTUxtdHN2Zk9tMGNlYlV2WmF4M01qeDMvQU1FSmYyc3Jud1hONHUrR2NtaytMSklGVjdqVExXU1MxdlYvdWxVbVZVWUhzZCtENjErTTN4YytDdnhNK0JYajI1K0hYeFQwUzYwRFhiTFo5b3M3eE5raUs2aDBidUNyQThNQ1FlY0hnMS9xVy84QUJPM1I3YngzOE5kTTFYWEkwbG5odFVTU1pVOHA1OGhXekxGdVpZMmRQbTNSTXlNZDJEeHg4a2Y4RjF2K0NSSGgzOXNUNEZ0OFgvaGZwVU1IeEI4S1dNZ3RMaUloR3U3WlNaUHNzdzREODh4a25jckhBeUd4WGo0N0hZZDRuNnJKV2srcHRsZUx4WHN2YXVQdXJjL3pYZEx1bzFZckoxYml1bUdqMjl5dSt6QlppTXQrRlpuaXZ3YnIvaFRYN3ZRdFl0cHJHOHNwbmd1TGU0UXh5eFNSbmE2T2pZS3NDT1FlbFFhVmNheGFTNzdiY2NlbVAxelhSRlNocEk5S2JqSjNneU41anByRmJwV1Vja0RIT0J6L0FDckU4TzZqWURUVkZ3SEdYYzV4eGdzU0s3SzhMWE1NZ2xUTXFvenVvNHlNRWtmV3VZMERSemM2VkRNMXRJeDhvUDhBS2ZsSmJrY0gycTVLVGxlSnJDVVBadE5XTHpmMlBLTm9sVVo5YXF6V0ZvV3pFNnNNZGpVZHhwTm1BUVk1VTlUdDZWbnphY0Y1Z2xaUU94V3VmRUtTMWtPbHkyOTBkSnBqSWQyUWZ4cG45bktlVzYwd1BlUWZOSk5HNDZZd1JVWjFtR0Z2TG0rWWpydC9wWExHckZzNkpVMmovOUQrTkxUakg1V0ZCem11aWljSTNOY3pha1JOZ2NMWFJLVllncFg5QjBJU1V2ZVorUFl4NldSUGNScWlIYjJCL2xYUnVDYkNKbC91TC9LdWFuY0ZUdUk2Z2ZoM3JyUGsvc3lCb3puNUIwK2xkZExXYlBPcXV5dWppaTdwZWt5ZHdRS3Y2SHVqdTNoYitIbXMrOFltOUNqclZ5eWUzMHVXUysxYWRiZFNNN1pEaHlBZjRWQTZIc1RpdVJPTWFscE95TzMyS2RLNjNQWFlMU2E1dFFzU2I5cTdpY2dZSEE3L0FGcnhYWGRmMFdMV0YwV3daYmk0WWdFb3dLSVNjL01RZW85UFdzWFUvalA0MWd2SjQvQkZ4OWdnWWJWWGd1UjNMRThEa2NWbWZCWHc4MnVlSXJqVU5SK2Viek1CaUFUNWttY24rWjcxdzQzT29WR3FWTGZZOW5MY2k1RTZsV1doK24zd2crRXZpbjRXNk5lYTVwMW0wbXZhL2FQRGEzQlZ2M0tTZ2x4RG5oWlg0WHpGVXNGSndleC9RdjhBWlcrQkErRHVqMmFTeVJwSlBNMzJwNVNyM1VNajRkRUN1clpYR2QyUG15ZWVtSzhyOFFUM1BoQ0dDMnRaSkFsbmIyL21UeGgvUGliQTJJRHlGd3VNaGVSMUo1cjZuL1owOE4vRkR4UHFPbmVKTGpUWmJtTzdZM01FOGpaK1Jjb3hJWWtrOWVmeHI2emxvMGVXbFRWNWZsL21aNVprOVRFeWRhcTdSdjhBZi9rZjBqZnNaL0ZQeFI4T05Mc3ZCZHlKTHkyVnRsbk1xaU1wYk15c0ZjS0FHTUxFNFBIeU1jODErbzN4bDhWTDRoL1pMOFk2dHFFSXVJNE5GbkNvNDRaMUdBY0hnc0d3VnlDTTQraC9QYjluWmJNZUU3R082RVFrMktzYnNRVlhqTEJuL256eldOL3dVQi9hcTE3NGErQXZEbndROFB4cEpMNHhFcVhFNllDdzJ0dUF4SzdDVHZkeW93ZXFpdkJ6bkwzaWNSVGpHRnBwcHQraHBqc2poZzZkVEUwNm51Nis2ZnhKZjhGVlBBZWo2TjhlTFB4aHBwam1tMS9UNHByeDBCVU5jUkR5aSswODduakNGc2NaOXEvS202dEkxT2RoL01pdjJNLzRLVVdGNXFIeFh0OWF1VVUyVi9hazI0QTJ2Rk5ic3R0Y3hOR2VVdzhRY2RBeXR1SFVnZmxicU9sQU9RZUFPbGZTNTdsNmRhVTBmRVpMam5Ha3FiNkhsT3N4eHg2UmNUd05zZEkyeDM3WXJhME83c3JUVElMVnA1STlpS29EREJ3QjZkcXBlTWRJanR0R251b1pHYmZ0WFl2QURGZ08vSno3ZmhVeHNWYUl5bEM3NXdXNTUvUG44NitkalRuRjNSOVFwUXF3OTdRNlNTNmdaU04yZnBXSmRzcjVTUHAxckdEem8yQWpBL1NwM21jZFZOS3JWNXpMMmNZNlJZU0pGSXUxa0RmV3NTNnRiUVBrd3BrVnZENWVXRlpjL3dBODdjWndvd1BmUCtGZWU0MjZIU3BOYkgvLzBmNDBMZERKSGtkNjFZQTRQWEdCV1BZT1F3R2VLNkdJb0hKYnBYOUFINDVPTjFZam1CWmRvOUNmeUZkYlpzdjlrMisvZ0JBQ2ZweFdCUERzUVNJY2dnamo2Vm96WGNWcG9rQlFGN2hvMlZVUDNjOC9NY2RoM05iMFpxS2N1eHkxY08ybEZHTmFUVzkxcmR4Q3lrckZGODdZeUFXNkFBNUJQSFNwTmIwSnpKSGYrSXBYa3R0d1ZTN0ZncFBDRTV6aENlT3Z5OGV0ZFhwR21RNlpvaGp1U1d1TGVFNmhNT09Ya0JqaEdlcEhWc2ZTdHp4UFlRMjN3Mmd0dFFPNjR1WVdka1AzdG0wTTMwQUpIMHo2MTg5aSthYWxVZlEraXc5RlJpcWFSOHUrSTlKK3czN1hOcnRNY3Z5QUE5RDByOVF2MkFmZ1hvVjNMSjQxOFJoWk5wUW1CR0EzTWVZNHhuSUxuRzl1eUo5N2xnSy9MdlF4cW5qZjdOcGtpaWE0ZGxoaExrNTNCZ29QKzl5Qlg5Sy83Qi93UTBYd3Arei9BRzJzYW8wVjFmNmhleTNDc0ZiQ3h4QVFoVG5JSkxoaXB5Zmw5NjZlRXNGQ3RpT2VTMks0anhMdytDNUw2dlFoOGVhcnFrdmloNzNWQjludDdsWGxrUkFYQWRNZ0RLREF3TWM4ZWxmczcreTlxM2gzd2oremkveFcxUFE1NExMVE5QM3EwRXhTV1NkemdDM2l5SFlNN0Rld1lCVkJPUml2alh3cjhPTFhYdkY2YU40blEzTVZ4RzF5TFdJaE45ckNRR0FHRGtNVGxnTUVqb2ErdHZoLzhSOUU4YStMYmY0S2FuOFBKcmZUYkNWb0xLYTB5amlSZVdLcUZ3cWdFcmpub2NtdnVNWGg0S3Q3V1V0UytFcytwUmdxRlZYWFZuMmgrejVjZUxmSC93QUFiNzRqWGR6ZjJvZTh1YnhKcFVFY3JRS2lmZEh6QUFZd0FjbGp4NzErWkhpYjRrZU5maUQ0ODhVZUpkYmJOeHBVRUthYmJzKzFFdHpNRHRqK1VCWkdLamV3R0N4T0RnOGZ0bDhIN0RVNS9oWHFud3VqMEY5TnRyT1ZvclNmZnVrT3c3OTBvd29BZm93d1QwUFVWK1hmeEg4TVIyZjdRTnZwV3VoTEhUNzFtdDd5VjBBZUZWQWFOMkhCY0dUNVZPUWZtWG10Y21iZFM4K2g1L0huRUZMRlZuUndhdEJINHZmOEZPYk8xOFRhOTRPK0lkcEpDK28zbWs1MWVHSGg0SlM3bUI1QjEvZlJBWlBxdlBVVitRK3NXeWhDN0lKUHIycjlqLzhBZ3F6NGVnMDd3bjREK0lWb2hzWlpudWROMUswUU1GU2FINXJaMnlTUTMyZjVTdjhBQ1FmVTErTzMyeExpMFdUSWRYenoxeml2Unh5VGs0M3NmQjVkSGxqb2VUZUtvcDB0TGFDQ2RsUzR1SWdZOEE0d2QyQWUxYnYyUzRuUU9vWTd1ZWUxVi9GbW5SU2FocFR4U1kzM1M1UWRncWtrK25wWG91bXJadzJ3akRDUThkY0hIQTQ2Q3ZuS09ENTV5UGRyWXJrcHhaNWxjYVk1VWxGd2F6MjA2VlJzWmVhOWZuc29KSlBPQ2hNY2JRT3RaRjdwbTZUTWZISGFveEdYS09wRlBIT1N1ZWFOWk5HTnpjL3BWVk5QZWE0TzBZelhlVGFZRlg1eWV0SkZaMjhhbmRqa2RUWE45VWlkZjE5dlpILy8wdjR6N2FXTnVCeFcvR3k3T09hNGVHVWh4bmdWMU1OeUZHMGVsZnZjSm41SE9ucDJORzh1VlRUbW1ZZ0xFTnpFK2xlbytDZkJOL2NhREY0bjFFZk5jQUczVHVJaWNnRUh2MzlNNHowcjVrOFM2akxkM05wNGFzenZrbGZFckE0Kzl6ajZldGZwQjRuZ2g4Ti9DalIvR1JVR0cwc3BZWlFNWUpRWkhJOWVsR0ZuR3BVbXZzeFd2ci93eDFLZzZNVnpieTJQbVR4VGMydDc0SDF6eEphTHRqMURXSWJPTWorR0swUVJnYnUzelpKeFZqNG4zOEJ1OVdrRW1FMG5TNExUTGRDMDZDWmlQKytnQ2Zhc0hXYmxMRDlrUFJKZHUyVzV2cFpXNUJMTTBqSGNQd3htdkh2alY0cVpOZDFEU1lUL0FNZmtGaXdIWWo3TWc1N2RhOHJNNnFvMCtYK1pSL1gvQUlCOURnNktsVjkxYk5yN3JXL1U5cS9aSitFWGlMeDFORnExaEhpS3dsYTh1cEQxaHQ0Q0haajZCMkFVRWRjKzFmMURmc2NRNnhyL0FNRDlKdW1oampTeEtXeUtJdHFTQ0o4c3lEcTJRN2M0NzgxK0pQN0RjMmxlR2ZoeDRvc2ZFVWtGdEg0bTBkTE5wWkgydkczbkJnSTJCNGRncENqbkpKRmYxSWZCKzAwVHd4NGZzRzBpM1dHMHM5UFI3ZDBBVVI3WWl6RVk0TDV4dTZrOVJtdnRPRTh2Y0tQT3V1cCtmOFg0dVU2empMVkZqd1Y4Tm9vdmoxWmFwWXhlWUlyWXhrRW5BalJRenJnOGpCK1VpdjBkK0ZmZ1h3em92aUVlTWJhQ0tTOWpNVVlaVTVFaWd0SzJDTys1UWZiRmZIL3dBZ2UyMWE4MXkvY1NTaU9aSVdaajh4bC9lelNzeC91NUl5ZjdvOXErenZnMXJKbENYRWNubVJPaGtWTnBKTFNESlA4QTQ3bjhSWHFaaGU3U1BCdzAxRkp4ZXA5WVRRV1FOeHF1bFJ0QUpUdVpGT0FXT1dKL1BQNTE4WWZ0Ui9CM1RQaUxZVzNpeTNnam0xU3hMUnR1SHpOYnlIZHRPT0dNYktDcFBTdnJIV05RaXM5RUZzR0pMRGNldWVja2dlM1hyK0ZlUmVMN3JWTGZTcDd1d0JrL2NibzlweUdPRHV3dmZqSng3ZHE0OHJjb1NTSXg3WExkbjgxSC9CVkx3cGIrTHYyZmRXMTIyUDJodEExQzF2NVNvK1ZvUzdXbTQ0d2Qvd0M4M01UMndEa1YvTWxCSi9ZOG01dDMyV1ZzYnV1MG5wK0ZmMTBmdFE2WlllSlBDWGl2NFI2bEhKYlgydDZaZnJFcFg1WlVpdGtrREhqRFlkMEtIa3FUMTRyK1J2N1RORE1OTTFFQXd5Si9kNkVEMHIwYzlvcU5SVFR2Y01qbmRTZ2lEWEk0aDRnMHFLVmhMSDVrcjlzSENlcDdkNjlLUzhzMWlqM3NDTnVGS25JSTZjVjR2ZFE3TmVzTEtkZlBoaWpsa1RPT0JrS09EMXhXcFBCNUxHNjA4U01HK1dSQ1NjajJKNkg2VjVGUEVTcDNsVFZ6NkRFNFNNa28zUFQzdTdaVC9yVi9Pc3ErMWFCRzNCZ2ZvZUs4OGppU1ViMFhhQjNMZzQ5dXRPTU1aNnZuNmRLd3E1aTUvRWpLbmdFbGE1MU54cWtHRGs5S3dibldrS0haNkhGWk10dkU3YlZWa1B1YzlLekd0b2k0K1k3ZURYTFd4RXJlNmR0SERLTHVmLy9UL2kwbWlWRkJHZW9yVXRwd2liMi9oQlA1VnpVTTkzSW9VUlIvbWY4QUNxMnBOZXhhZmNTdnNWUkdRUUNlK0I2VisxdXZ5cHV4K2FRb3FVbEY5Uzc4STdlMTFmeHRMcVdyc0JCRWpQdWJvclBrRDllbGZwUm9JMHI0aGZDWFdQaEpIT3EzTFdqdmFtUTRVUzRKVVp4eGtpdnpLOEYyZmlhR1dXYlFXdG5XZVB5NVk3Z2Jra1FrZktWd2UvVHA5YStuL2hGck45NHM4VzIzdzhuOFB4YUxxelJzYmJWYk5ualdBUkQvQUZra1pKRHhjYldBNVBRRVlyYkk4WXFjK1ZyU1YwZGVlWUpWTFNUczFhM3lQRlBpSGV0WS9DWHdUb2NwZERDSjBsamJqRGlZOVIySXpnZlN2TnJEVHJ2NGxmRU9IVFFoQ3hLaVRQMUFqajV6K1FyMlg5b0xVRjhUNlFtdFgxckpaNnBwZDNKRGNReFJuN05JNWJtWkd3TWhndTdJNCtoelh6MzhPOVZ2OVA4QUZhM0ZpclNUU1pEN1JuNVcvd0QxMTVXYXpVc1lxZlRUOEQyc0RGL1ZaVmRtZnI5b0dqN1BCRUdrNkJheHJQRk9Rck9Ca3hxQmpMc1FJeU1aYm5JengxcituWDRQYWpDUGd0YmFkTUI1Y05qYjJ6T3d3KzJPRUVER1QwSkl6MUk2azEvTDE0UDhWaUx3bFlhRmZ0T0wxcmlLWWZaemhXSzR5clBuMFBUQnIrZ2Y0S2ZFaTAvNFY4MnJSVFkweUhWN3VKMmtQbWJVdGhqZ0RuRzRZK2hyOWN5TENSdjhqOG56MjdpbSs1OXhmQ1BVbjBmVHJlM3YzSUdvL3dDakdJNFpWWm95NjRPT2NqYm4wTEhPZHRmVm43UCtvUzZmQkFzellObkVzTW4rNldrVXQ5UUFQeXI4OGZndjhUYkhYSnJtSjIrU081SlVxQmhGVVlHM0JKNFVEY09DUnhYMTU4TXRhbXRTSVltQmVhUUFEMURLeCtVREFBNDZZcjBLOUdMYlZqd2JjcnVmZWQvcTF1Yi9BSExKdlNSUVFqY3VXalAzQmpqTEQxOUs0VDRrNnJKNGI4SXZxa01mblF0S0JGRmpMS3pjRlNlNENra2cxbkNSZFR2Rmt0WkZSaXF0dUI1L2RnNS9yaXVBK1BQeEIwTFFmaHJkVytybGlMWmxrZVZHMjhyODZqZDE1SXgyenlLOHJDWUp5clc2Sms0N0VXamMvRlg0dHcrTHRVL2IxazEzWExacmJ3em9maDJLQzFrTXU2Sm11cGk4NHc3bkRvUVVZWUdBZzlSWDg1LzdSdnc3UHcrK01QaVR3WEpCTkI5a3ZwamFDYU14dEpiTzVhRjFCNEtGU01FZi9XSDlSOGZ3MjF2NGxlSmRRMTZFalM3Q2ZaOWdYZXZuWENxQTRrazVsSFhoVDk0OThIaXZ6YS80S20rRFpyTDRZNlQ0OTErd01Xc2FQcWEyUXU0WkJOdnNiZ1NOaG5IekJkNFVxckFGU1Q2MTYrWllCZXcwV3o5VGp5N01uOWFWbDBzZno3UXgrYjRyanQ3cksrVGFzcFhrTUNYeUNlQ01ZOWNWNk5QWjJMeHBHVlBUMXhYRzJVbHBxZmlxZTdiWklua3hsMjM0Sk85dS9RSDYxNjFEYTZjRzh5TGJHcmM4eUtUK3ByNWpDNGYzV2ZYNDdFcExRODBuME8xVnkwUzdGL3VqcCtOWmN0dkRhL3V4eDNyMVdTSzFtVTRqWEE1eXJJZjFIQS9Pc1diVElKc2xGUDZWaFd3aWhyb1lZZkd5U09CdVhDbko3Wi93ck4yTjVZYVB0d0FlcDkvd3JzN3pTN0tPTXRjdEpLbzdLUU1lL0pyaHIzVXRDdDVERkZjdkV5L2RSaGxxODJ2c2UvVG56SzUvLzlUK0pRM0VrTW0wSDVhemRkdXYrSlBPRy9pQUIrbExlTzNsNEI2SE5jaDRtMUkrVEZiTDBmNzN2aXYyREZWSXhwdHlQaXN1d2puSlhSN2o4SUwvQUV5eXM3dTVuVUZ2SStVTTJNa01wd000NmozcjY4K0VrR3A2VGR0NDlrZlplVFJiRVFBTnRqMjVDWVBHRFg1Y1crdFhGc29peGxGN1p4WDBKSiswejR0bDhPdzZCcDFta0loUUtYakJ5UUIvRWFuS3N4cFUyblBwdFlyT2NqcTFHNVU5bWZvcnF1aVhmanJ3dGR4YXpjUW8wa0VrVVVMdWk3ZzZsUXdVdHRCK25Tdm5uOWtqOW1uVGZpMTRhOFEzbGxZdU5aOE1TWkV6dXhTNTViOTNHVU9BeUtNNHdRMmVLK1pQaDc0cDFmNGgrUGROOEthdmVUMnRycU53c1V6eGttU09EckpzSDk0cmtjOThkNi9lUDRHZkFuV2ZEdWt0WmZCdlY5TTAyd1dZT3NFdm5DNGtqVW5mNWtSRzd6R0FPZlJ1T0srbHlyQzBzeHJLcTQyNVR3TTF4TTh0b09qS1h4YmJuNTFmRWl6OGRlRHJPemUxU0JMVy9sV0I3bVloR2d5eFVNeWpzbkJKeGtWK2p2d0grTlhnRHhSNGF1dmdXMnZpMjFYVHIxTlN0THRNcEZmU1N4Z1NSTVNmbExOOHlidUNTUlhiZUl2MmVmQ01rMC9pcnhzMGVzWEVBTGJMaENpaFc0QVdNNEFJOU9wNjE2TDhFZjJHL2dkOFFkUmc4UStNZEEzenp1RXRyVFNuZTBta0orNkdrUTV5ZTJPbk5mVTBzUFV3dFp5aHF2UHQ1SHkxYk1xR0pvY2owYS9GbnFmN0YrcXRvL3hpMVB3ZGZ0SjVzVEY1UE00Yjk0MHUwZkxnWnpqSzlOcEdLKys3YjRyRDRlNnhMZGVLZzhOdnBWdEc4MGlMblpsdjliZ2M3R0w0R2VtSzdlTC9BSUpqWC9neXhoK0tQN09rcVBybWxyQlAvWmh2WnJ3enh4UnFra1Viekk4Wm1DTGdva3VTVjZIT2EvTTc5dlA5b0h3LzRROE9hejRLMDFMaUh4TGZRZllib1NSN1BzMzNmUGhsRDRJa1ZQbDI0R053UFZhOUpaelFjSlRUVHNjR2E1VFdwT1BORnBNOXEwci9BSUxoZkNYd0xjeVJ6L0QvQUZEV3JpeS8wZUtaZFRTM2lkSXl5bzVRVzdzTjRPZnZIdG12TVBpYi93QUZ1ZmgxOFNkRmswSFd2ZzFGZTJjamJ0dHpyZHgxd1J6NVVjWklJSkJIb2Evbm1hWHpITHRrbGozcGNFa0FWOEZQUDZxYmF1cmluaFUvY1IrM09uZjhGbXBQQ3NYaytCZmhGNGR0VWlBQVc1dTlSdUZVS01EaDdoUng3Q3ZIL2lmL0FNRmFmR0h4WjBxWFFmRi93dDhCM2RoSzZTUEJjNmZOY0s3UloyRmc5d2QyM0p4dTlhL0xPMHNMaTVrTU1RM0ZzREF5ZVNPQWVPTTlCM1BhckhpbndoNG04R2F0UG9IaTNUcm5TciszSUV0dGR4TkRNaFpRd0RJNERLU3JBNElCd1FlaEZiVnMxcVRYTEw4VG1oaHVWcVVkR2ZYZy9idnVOT2thYncvOExmaHZZOFlKWHdycDBoSHBqemtrSi9FazFXbi9BT0NrbjdRdGdDdmgreThLYVNwNkN5OE1hTENSOUNMUW45YStFN2hUNlZubFdZbk9BQUNlVC9kR1RTbmpKYWNxUytRcXJsTFJ5YitaOW4rTGYrQ2puN1l2aW5STHJ3dGVlS1Zpc3I2SjRKNGJXenM3ZFhqZFNyS1ZpZ1FjZzRyOC9wOU90REtXbHVHVmpqZ2s4WTRBSFBUaXZxandkK3czKzNSOFVXZzFUNGUvQ1B4WnFsbmNSck5CY3hhWGNDR1dLUVpTUkpIUlZLTU9Rd0pCSFExK2lYd2Yvd0NDQXY4QXdVaytLeVEzUGlUd3BZZUQ3U1FaYWZYYjJKSlZYL3IydC9QbXo3TXExMHdmTXYzbHJucDA2MEtNVkZ5UHhGaWdpaWZmSk0wbnN4T0tra2JSeWRwdFlta3lBRHNYT2UzYXYxOStPdjhBd1F2L0FHNi9nMXJMNlhwbW5hWjRwdDl3RWR6cDEvR2daVDNNZDM1REtmYm12Zzc0aWZzTy90aGZDYlN0VjhSZVAvaHpydW02Wm9rZm5YZDg5cXoyc2NXNEtKRE5IdlR5eVNQbUJLNDVKQTVxY1JUbWtuWTY2T01wUzBqTS85WCtHMjVuVmdVNzlxODgxZVY1Ym9vNXlFNkQwcmV1Ymg5Ky9PTnZOY2RkTTdYRE9Xems1cjlTemVxbkRrUjRtWFVIRlhadVdka0xpMSsxbmtFNHg2R3ZidmhKNHIwdndxYnV5dUxaSnJtNmpLd3UyQ0VMZktEajF6MEZlQjZiZHl3bG9BTnlzYzQ5Sytpdmd4NE5mWDcyK3ZGVVNUV3NIbVFwakxNNXlBQU8vd0RTdk13VWZlVW83bzN6Q0VYUmJuc1pId3p1TkIwVDRzVzB1dlhhQ0tXWmthNEFHd0VuQk9TQ09lY1k2SDA2MSs3bmh6NFUrTTAwSzE4UStDL0VVRjVaN2ZOdG1oQUVpYmlTc2I0SmJnSDVpUmpBSGZtdndMMWI0YzYvb21wUzJ1cHRpZDJPOVZ5VkdPZXZyejI2Vjc3OEh2Qy9qQzN2Wkk5U3VIazBxNXR6SExGSzhqRHlsS3NER3l1cFJzcU9weGpnam12b01semY2czNSbkhkbmdaNWxzY1ZGVll6dG9mc2Q0NDhTZkgveGo4TnJ6VnZCR2hSNnZmYVU2d2hSTWdDQWhoTkpFak92bk9vd1FoT08rZTFYL3dCbHo5cHZ4RGJlR2sxTStNRjhPZUk3RzkreWFSTmNNam90MUNGZVJabGJMSU5yYk9Cbm5QSUJyaC8yUi9pcDhaZkNueFcwV3grRGxqYTZURmZzZFBzRjE5Vm0wM1VtaFNTUXEwQWpMUmx3TWViRXlsVDFZak5mdmY4QUFMOXBYL2duSCswLzRsdWZnSisxaDhOL0R2Z0w0aTJjNGluMHJXck8zUzJ1Wmd3QWUwdldSY3JJZVUzc0NRUnRaK3RmYjA2YXJMMnNxbG50WnI5VDgzL3RKNENwR0xvYzZUdmRQb3U2UHAzOWlYOXFLdzhUdzJtbGVHcktEd3A0K204eVJ0TGtaSTlKOFFaK1p4QWVZbzUyQTh6ZEh0UnY0dHZVZnp2ZjhGblBqLzRIK1BYN2J2aVBYZkJPaVNhRUxCSU5QMU9LVEFhZlZMZU1SM3NyZ0VqY0hWWUN3KzhJUTNPYzErNVgvQlJ2NEVmOE1XZnN2Nm40My9aOTB6VGRBOE5pOGlrTEplWEl2TEc5bGtVV3JXUWxtZU1zR0M4cGhpb1lsTnVTZjQyTmYxdTkxclZwOVgxV1UzRnpjeVBMTks1TE83eU1XWm1Zbmtra2srNXI1ak9NUENqTlNnNzM3SDArWjhVMHN4cEwyTWJkN2xjT0NSMnExRStIR0RXSjlvU2dYQUJ5akEvVTRyenFsZUxTYlBBOWhMZTF6OStmK0NOWDdhSDdBLzdGMC9qRHg5KzFsNE51dkZIaWVjVzBlZ3lSV1VGNUhCRXU5cDhDZGdJNVdmWmh3Q2R2QXh6bjh3LzIxZjJocm45cXY5cG54biswSnFFTFc3K0tOUm11MGhiWm1LRXNSREdTaW9yRklnaWx0b0pJeWNrNVB5dEJxQmpqRE9lUFk1cUc4MUt5QURTU2hSemtraitXZjU0clduU3B1YnJYMWZkblZVbGlLdEZVZVhSRk9abEs0SEZmb1Ivd1NzL1lrdnYyNy8yelBEWHdkdjRKSmZERmszOXMrSTVJd1J0MHl6S3M4WllIZzNNalJ3RGpPSkNSOTAxK2ZtbTIwK3VhaGE2Vm8wVXQ3YzMwb2hndDdkRExMS3pmZFdPTk1zN1B6dFZBVDdWL1psL3dTby80SjFYM3dJL1pXMVQ0b2ZFTFhJZEU4YytNN1ZycTgwdVM5ZlQ1clMwUldXMnQ3c2tJSTVGQmVWeTVQbHUvSlhZVFhSVnhUaEJTNVpOTjI5MkxrMTV0SzJubWVCSExYT282VG1vdis4N1g4bDVuOUpQaVA0VVcxekZCcVhoa2p3L2Y2WWl3MmR6Q1VFY0Z1aXF2a1RSc2Rzc1B5cjhqRUVkVklOZUt2KzB2OEovQU90UDRiK0xtdWFQbzkrWW5sYTcvQUxUdFBzVWl4NFZuU1Jwa2FQQnhsSkZEQWR6WDh1WHhXL1pQOEFmdEZqVE5XL1pSK1BlcWVKdE9DUmpWOUNmVWY3YWJUaXdkM2NtZTZnVkkxMk41ak51UUhKM0FIRmZucisweDhKL2dsOEg5VnRMYldkWDByV251SXZOaDFTME1jYXlCUU9VamFaektoeVBuZ1YwUE8zSTVQMWVGNFpxMUtibkNzbkh6dXZ6MVBIakxEMDZ5cGNzdWR1MWxxeit4SHhEL0FNRk5QK0NXSDl1LzhJYjRqK0xYaHA3dWVRV3ZrcUxpNldSM1lLSTFlS0Y0MkxNUUJ0ZHNrNHI0ODhmL0FMZjMvQkgvQUVueENQQ2RuOGZmQzl0ZFg3U3hDeWNYaldjZTFoRzhOektJOWxzYzVVcEtWQkFPUVJYOFhPb2VQZmhicXZpS2J3SkZxTndscHExbkorODNrUnlOOHl2QUcycHRrSTVUS2ducDFySytKWDdNL3dBQXZHK2lwcVduNjNwdGxjM2NheStZRmEwZG5JQTVPM3lYR2NndDZnanJYeXVXenpHcmlaMGFOUk54N3ZmelIraTVqd3JsRU1OVHhWYU1yUzY5bjJaLy85YitDdTV1VElwQU5Zei9BSHFuYVFnZEtyRTVOZmVZdW9tN0hQQldqWVZKSGlPNlByWHZud284WFhYaGxqcWFzUktFWlJnbkpWMngyOVJrVjREWGRlSFlydG9vaGJydkliSlhrWlhQUFQwcml2Sk84UlNpbXVWbjZhYWZhNkY0bzhPemVLNzZTT0czZ2haeklEZ2dLTWtEL0N1THRmRU9uNkY4S0x6eFZjVFBOZGFoUDVWaXJyd0lFN2tZNExjNTcvZHpYeVRlK0tCcVZ0YTZCWnpQSEJjU1lsZ1U0VlJHY0FONzg1UHJYWmZFRHhCSmRReDZiYk1Qc3RvaXhJcTlOeEh6SDZzZXY1VjZqekJwcXBINGp5UDdJZzA0U2VoOU0vQmo5b3J4SlpmR3Z3WDRqMUdkNUlkRTFOSmh0WitGSytYZ1lJd3FvV0JHT3BQclg3cmZGYnhUK3pSKzFsb0owUHg1YU0xNEl3dGxxVVNnWFZtNXlENVVxbmRnTUI4ci9MMnIrV1B3dnJGL3BUSFU3UnRoVnd1Znd6WDA5NEcrS21yYWZNQmEzVEtycVVZS2R1ZDNVNTlhK3M0ZjRuOWk1WWZFcm1qTDhENWJpRGhUMnpqV3c3NVpSMDlUN1ErS1h4YS9iRGorSEZ0K3lmZitPVzhhZUJ0QXZ2dGVuVzk3TzIyMW1DTkdNRStZZHFvN1lRSGFwYjVRTVYrYlh4TjhSZkZyNGZzcjZucGtFTnM3YlZ1RkxTb3g3QTU1VSsxZm9aNE14ZHdLN3hoako4eGJLakpPT2VLNUw0ODZObzJvZkQ1cmZXZ1ZFY2lSWEkyZ0FMS1FnZGNjNVY5cEI3VjA1amtrSjBIV2d6Z3dHT3BScnhvMUthbDVuNVkzZnhuOGN6ZjZ1ZUpNOWtRZjF6L09zci9oTy9IMnBFajdmS1BaTURIYjJybU5jMEc4MFBYcnJ3OWVEYk5hU0dJOFl5UjBQUFk5UlhyM3c2MGpTbmRpNmlhN3R6eEczZjFJeHprVitkVkZPUHV0bjZYRERVSVJjNHdSMXZ3eThIZUl2RkdxQk5mdjdxVlpHWDkySkdHUWV4S25BcjlKL0Evd3Q4RHl3cnAxNWFRZVdxQU16cXJjOGo1bWJrbmcxOHQvQlV3NjU0cXY5VVVNSXJDTGxWT0NXQXp6MklHTVpyMm40T2VLMzFmeFdZWGo4MEZIbFVIRE1xbHlPZlExOWR3NDZLbkQyNnZkdEw1SHlPZlFxdU1uVGR1Vkp2NW5vL2pEd3I0eitIdXBlSHZIM3d1MGpUZGNQaG04aXVyZUM2SXRuaE1FZ2xTV0M5aWxnbGk4dVFBa2VadDlCMXo5Yi90SGY4RnFQMjR2MmpmQTJxL0N6eHY4UGZBTnRwV3RSZVJleHBkT3J5b3JCaXBtVFVGZkRsUm5CRzRjRTROZVYrSU5QYlh2QWZpVFNRTXBMNGUxU1JBZXU1YldSbC9XdjV4WmJ1ZkM1WmdjYy9NYStpNG94cndNNHZENktlNTRlUlpGaGN5aHo0eUNsS205Tno5ZHZDUDdWWDdUM3d3ZTdnK0YraWVCL0R5YXBBdGxkTEdMVzVTV0ZYVjFpa0YzZFRoMDNLcEljRUhBem5GWXY3WEg3V0g3Ylg3YUhoelJ2REg3UjNqUFRkZHR0Q2xZMmRyYng2VGFKYUZVMkw1Y2x1RWJZVkpBUUhZQ09tYS9KMWJtUlRrODA3N1hMMk9QcFh5V0k0anFWWThsYjNsNjJQc3FIRG1GcFZmYjBvcU11L0tuK0xkejNqVC9BSWNhOWI2cmJwYzNhaUxlTXkrYkE1US8zc2VaazQ2bkhQcHpYMEo0SjhVZkV2d1ZxSDJ2VnZEMmxlS3RQZ2RnMEdvVHFiZVhuQkpVU2dwNWc1NElQcUsrQURjU2tqY3g0OXpVNDFIVVBKTm9zMGdqYjd5Qmp0WSs0emcxODdUNUlTOXJCZThqNk9WVjhuc2w4Si8vMS80RUgrL2lrcFgrL1NWOXBXK0k1eUpTZHdIdlhzbmdnQVdrakRxSStQOEF2bzE0MG4zeDlhOW04RWY4ZWN2L0FGekg4eldZSElhR3pmOEFDUUkyZVNDVDduUFd2UmRXSi9zUmpubk5lY2FIL3dBaDZQOEEzVC9PdlJ0Vy93Q1FHMzFvVzZBNkhTVVQvaEN3eEF5WjQ4bi9BSUM5YUdrZjZ0UHFLbzZUL3dBaVNQOEFydkgvQU9ndlY3U1A5V24xV3V1bi9IajZISlcrQ1hxZnBCOExYY1N1Z0p3QkZnZHVTTTFoZkZuNS9EWGlBUHppMDcvOWRCVzM4TGY5Zko5SWY1aXNUNHIvQVBJdCtJUCt2VC8yb0svVlpmN2l6OHVoL3ZQelB6Vy9hSUFUeG1KazRkN1czWm1IVW5iMUo3bXNUVHBKTGZ4UHA4bHV4UmpNY2xUZ241UjZWdWZ0RmY4QUkzcC8xNlcvL29OWUZuL3lNbW5mOWR6L0FPZ2l2eVRGZnhQbWo5Ync2L2RmTDlENy93REJjTU5wNHA4VVJXcUNKZnM2Y0lObzV0UVR3UGZtc2o5bTVtVHhIZk9od2ZzU2Nqci9BSzJ0dnduL0FNalo0by82OTAvOUpSV0gremovQU1qRGZmOEFYakgvQU9qYStneXI0cUgrS1I4cm12dzEvd0RERS9UYnc2cXQ0SjFKMkdUL0FHUmVqUGZCZ2s0citZV2JwK0EvbFg5UGZoei9BSkVmVXY4QXNFWHYvb2lTdjVoSnZ1L2dQNVY3dkh2L0FDNU9MZ1QrSFc5VVJVVVVWK2VuM0JJNEFIRlJIZ1ZNL1NvVDBOTmJNRC8vMlFBQS85c0FoQUFKQmdjVUVoSVVGQk1VRlJVVUZ4Z1lGeGNYRnhnWEZoY2NGaHdYRnhjY0hCd1hHQndvSUJ3ZEpSd2NGeUl4SVNVcEt5NHVMaGNmTXpnekxEY29MUzRzQVFvS0NnNE5EaG9RRUJvc0pCOGtMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN6L3dBQVJDQURLQVBrREFTSUFBaEVCQXhFQi84UUFIQUFBQVFVQkFRRUFBQUFBQUFBQUFBQUFBd0VDQkFVR0FBY0kvOFFBUkJBQUFRTUNBd1VGQkFnRUJBVUZBQUFBQVFBQ0VRTWhCQkl4QlVGUllYRUdFeUtCa1RLaHNjRUhGVUpTMGVIdzhSUWpZbklrZ3BMQ0ZrTlRvcklYTXpSRVZQL0VBQmdCQUFNQkFRQUFBQUFBQUFBQUFBQUFBQUFCQWdNRS84UUFJaEVBQWdJQ0F3QUNBd0VBQUFBQUFBQUFBQUVDRVNFeEF4SkJFekpSWVhFaS85b0FEQU1CQUFJUkF4RUFQd0R5VUpRRWdDY0YySEtPYW5oQ2hLQ21JZTV1blZjNUl4eGtkVTRwaUJoSW5KRXFLQ01SU0VGaFI5eW9sa1dvMURDa1ZBZ0ZReTBQYVVVRkJhaUF4SFBRSmlhREFTcE5MWmRWL3MwbnU2TkpWcnNzMGFJL21IeG5jMEVrZWkyM1p6RjA2ME1ZY3hHZ2d0cWY5MWo2cWpOdWp5akc0QjlPMVJqMmYzTkxmaW9ibUw2VXA3T2JXWVdWV3RlT1k5eEJXSzdlZlJ5MXRBMXNMVHl1cHlYTUUrSnUrQnhHcWxwRnFaNCswb3JFajZjV1RBVk9pOWgrN2xOTFZ6WG93QUlWRWdHbE1mN1RVU296eVVkemZFa3lsUkp5cE1pQ09TWE9VV0toK1JOeXJoVks3dkVoalNGMEltWklnQm1WZGxUMXlBRmFuQk1ZRThLaWFIQmNBdUM2RXhDalVkVTV5WTNVSWprSUFaS1FsYzhydHlRRG1vN0ZHcGxTV0pvVEdWUW81VXh3UUhNUTBOQWdRRWZaV0dkVnFDTlp0TzRjVDBDRUc1ckM5MW9NQTBVS0pkclZjRERpSURHMkZoekpBbjhGS1ZzcHVrV1RXNGVpWUxCVmR2Qm5NU2Q1dUEwZGI4bGM5bjhXMnBWRVVHMG5OdURUYzdPT29kWnc5RmxkaTRRZ3VmVUpJbVptNUpQRmJUWndMU0h0WTBsdmlFRXlSdnVkVm9zbWJpZXFiR2JtYUNTSFNCbGRjVzRFY3ZkTUt6ZlJ6QTgxbjlrYlFCQUlNQjBPQTN6bzRmQlhlR3hFam5LNStTTFRzcURqcG5pUDBwOWpYVVgvQU1SVFlTd3pueWl3T3VZamNGNW0rbXZwSHQzRFgwemNrZ2gzOXVtbWgxdUY0THQzQUNqV2V3ZXlETGY3VGNlNkZzbGNWSVYwK3BUWlU4TlBCRUxVMk9ha3NYa2czem5rRVV0UTZKSmM0K1YwdzBFZ3hvbWs4bElrcms2SnNpMjRKcGFGS0lUSEtXaXJJK1FjVjNtandtbGdVME93UGVKZSs1SnhwaGRrQ2VRd2MxRUNHaU5LZENZcWNVMUtWUkp3MUNLNUNicjVvejBJVEF2Q2ExT2VtQkpsSWRUMVVtbW85Sm0rd0hOTnhHSmdaVzY4ZEVXa2dxMldKb2pMTXQzNzRWSld4SmVkSUhKTWVYSGVTbllLbkxsRXAyYVJna2FQczNRQm5OYUFEeDZxM0dFYVRjdzA3M0tOMmZvZ2g1Nkcra0NUZjlibElxVmQ3aklrd2RGdEdsSEpEVGNzRnZobnNaNFJEbXg2bmp5VjFzUUV4dUIwSG1zdGdROCtJQWthTFc3QnB1QkVpUGtpM0kxakJSTkhoTUVRZVZqNWhhYlp6RGNuUlZPRU5nTjZtVnNSM1ZONzNTUXdGeDAzQ2RGRTIzZ1h4eDJWSGJlcE5hbkdyVzNHK0NicnhydGUvUFd6YW1JSjV0TUgzcmMvV3o2cE5Xb2JnbjBCbFlidEhRTEt6Z2J0SXpzUEZqdkVEMXVaNXJXTWFoUnl0LzZzejVhbUVLUzlxR1dxR2kwd0ljZzBqcVozNktTK21OZFZIdzJubm9wb3RNSUtoVHM2UnlaS05CZ0pLUk5CWFNnUXE1Y3VKU0dNS1NFdkZMS1FEUWxDUnFkQ29Rb0tWSUVxQkNEVWRVZHlCR2lPNU5DWUtvdVlJQVA1anpDWlhKTmhxVVpvaTNEVlJKbHhRQ3NTNDZBSGw4a0dyUmdLZlVvMnRycUR6L05Sdy9NSmpyMVVNb2hqUlR0azRZdWZhNDM5RkRjQm1oYW5zMEc4SkRSbUkrODZEcWZ1aU5FNHh0bFNkSXZjSGdoVG9rRVhkSERTT2ZWQWM0T3RBdFBSVHpUelFiays3OWxDZFJjM01RQkh2OXk2SkxGSXk0M25KcHRnWUthWUFJTFNaNlFyckhPN2xvbHJTWU9XQ2MzWGtQVlZIWmpEanV3Nm9YWlJ1QU04VW0wYXI2dGJ3UElwR0d0RVJEWUZvMW1aVXJDT3VNVkptb0dJY0dNSUVrdEJoVk8zZHRPRE82Yk9aNHVDZlpCTUN3NDM5eTBMYUliU0FKbUdqcVNzSHRmRE9EdzhpK1lHZVBudzVKckpqek5Sd1NjSTVsTXdRTXVVVFBQWDNySGRyNkJwMThra2hyV2hzL2R2QzFXS3BCejJrRDdvNmdpUFBTRlFkczY0cTFNeEdVc1BkZzY1Z0FEZmVESlBIVUxWbkg2Wlp5RTV2TkhLRFVhczJhSURVcVFESTNGTXc0OElzaVlsM2hLU2kydzZmcUZIcFhncFRTMUc3dE55b29MQWxjUWk1RW1WS2dzR3VoRWhOaEZEc0dBbFQydFRySW9MSW9SQW1BSndRQTRKMEpzSnpVQU00STlRZ1hRQ1VSb3pHZDI3OFVYZ0tzVEN0dVhPdEYwK3FJYU9Mako4L3dBazdFVTRZMW8rMjZQTGVuWWsvd0EwTjFBK1FVRmhxaklaK3VpcGFqNGVZMzYvaXJmR3UvbU5idUFMajEwK2FwcXgvbWVhVTlsUlFWbE11Z0FMZjlrZG41YVQzT2c1aUEzVFVHOWp1MTlGajlsMDRlT01PUFMwTDBMWWROb28wMmd6NFovekczd1duRXZUUGxlS0NWNlppQjBSY0RobXlNd2tOZ2FtSjVoU3FkSzJZWHNmVzY3WU5JbHp3ZnRINFgrUzJaaW1FcWRvUXgyVEpPOG5rZUFWa3lyU0xlOGF3eUx3RUNwc2tPY0NBUEdlSG42TFI0SFp6UlN5Z0NSeTUvTlEyL1RhTTZXQjFQRmQ3U3l1R1VtNDRnK1N6ZTJhWjBGanZIUGN0WlJHVVJHbndWZnRqQUNvMDViUEFrYytTSW1VbmJ0bVV3ci9BUERpcmJNSWFHblVuTS9UMTl5emYwaVlVTmZTcUNJYzNLUU5BOER4ZXZ5V3J3VklnZ08wTFFDM2c0U1o2L2lWbnUyMUdjT04rVjdZSnRZeUw4TDI4bG85RTNreExTdUpVZk1XbEZsUjJMb0ZqYWZoSjZmRkVvVTdEWFFJT0xkNGZNS1JUWng1Y2tsc2ZnV1Uxd2xjQXVsVVFKQ0dXb29UWlVzb0hsU1pVUWxOU0E0QmRDUWxNem9IUkZCVHdVS1U5cWdzSXVCU0FwcGRBSktZcU9jSmNHamY4RmI5d0dqS1BUOWVTcDlsR2FnSzBPT1pEZ2R4Q1VjMnluakJXTU9hdXh1dVVFcGpqL2lMOGZtbjdJY0hZaW9lVnZnZ1loLytJSFZEMWY3SzlyOUJYUG1wVkozRWdkTlZWMG01cWs3cHVwR0xxdytyL2NoN0xibWRITlp0MnlsbzFPRTJjRzBUVk53OFpXaittZm1SK3BXcjdNMGlLY3VzSnR4VlRSQXFZYkRzSWpLWkovekd4OGlQUmJDaTBBZ1JZRFFXdHU5NjZZeE9XVEhVcU9WaGtRRFlIbWVDTHNuRCtKeDRENGo5MExHdXUwNmhvRHVXbjdLdzJZM0t3azZ1L0NWVEVpZmg0blQyUitTbjBDUXFyRGs3dDhlcXRtWGdkRm14aFhDM3FoWnZOT3JPdDgxR3FHMzYwUWdaVmJRd3dZWE9Bc1pFZGYzOUZtdHQwdTl3OVpvdUJUbHZVUzcxbGFuYWxTMGJwbjNUWlVEbkF4ZTVKSDl3dnJ4V3lWb3paNU5xbXNkbE1IUkd4bEkwM3ZiOTF4SG9VUDJnc1RZSGpOQjFSMlZCeDg5eWlWajdJUEZITFFmeXNqK0RhUWJ2RWhxQlJ0TEhSZFpIWmk2a2cxQW1PZWh3dXlwV0ZJZVhwcm5wcEFTWlVXT2hTNU1sZGxUc2lrWkhTdEs1SUVpZ2dVYkV2dkhCU0FWQmRjK2FVaW9MSmFiTllXZ0hpdERqUm1wU05RRlRVWGdBRGVQSld1ejhVRExUcHB1V25IV2pPZDdLVHMrNkhWRHdFL0ZSSDFjMVhOelZoaGFQZFZLemQwR0R4RVdWTzEzaUtpV0VrYXJMc1hhQm1vNDhiKzVXT3c2UjFWVXhwZTZGcHNHekxsQXRCOVR3VXdWdXdtNlZGZ0t6MkZyWkVEN0lpNUUzUHFWNkpoRzVnMDhwbmdZMCtLODQ3bk04R3d1Sm5VbWRGNkRnSFNEdXNQaCt2VmRNYk9lWTZzL3htZFBrQkh3VnBoWCtFa0c4UndqU2ZPL3ZWVTh5K2R3QkpFYTIwVTZqVWh3YnhhZlV4ZFUwUVNNQlU4TFR6OTRKS3U2UUFBNktod05pQi9VZmVGYzBLa0NQMUZnRkxRMEVjNmI4MDFvK3lmS1V3dUVubnB3bVB5UkFNMnVxa0dRY2FKdkVrRTlZL0Q4VmhzZGlnTWEyazBFQnJTNHlkN3pNYTdoOFZzTVRWT2MvZEh3QXY4MWhxT3ozdHhsWjdpQ05HbTVrYnI3b0MwU2VDY1pNNTJvdzJYRVAvcWh3OHgrTXFraUZzdTJ0RXVGT3Exc3RBTFhPSGxIbHJkWko0blJSSlpMZzhFZXNmRXo5MFZyWlFUN2JkWkhCUzJsU2kyQ2Mza21TUnFwRXBwQ0dpYkFrbGNpRUpoS1ZGV2NRbW5jbkZOSlFNU0YwSlNQVkpsU0FpaDRYWnd1Q2RLZ3NZNTlqMFFFZXM3d2xNb3ZVc3FPaVEzR3RKQmV3a2plQzRmTldHSGZSZjdEaXgrNlNTSjRlYUVhTTJQN1dsSnNuQ043NEg3TGRKNHExZGt0b21kOW5scmhscXRCQm41L0VIbXM3VnBsamlEcXRSdExBNTZtY3Z5a1d0ZVFOSlZEdFhDWmZITWdtRWNsajQ2SWVIZEJCV2gyZlhrKzlaNmxUSk13U09RVi9nbVEyMzVwY1krUXZHejN6UEZBSkFpZndXdDJkaUlaVU15QVQ2WFdDd3J3eDdYSFFPQjZYMy9yZ3RYc0t0RkNxWGJuR1Q1bGRNV3JPZWF3WGxlckFGcm1SNUg5MVB3NzVqakE4N0czd1dSeE8wSmc2Z213TzYzNWFxODJUVnpORVdzWTMzSFByQ3BrbHRoWFgrUVZwaHFrK2gvWDY0cW1wVklnOHlQMTVLZmhhbG1qZVpIelNFUytuR2ZsODFKb3U0cU5RcXk3eklYVlRwY1dVcEF5dTJoQmVmRnJGZ1kwdjcvbXMxUmFhaGRrRURReU13bnArdFZNMmk5eHFodVdXZ2tFRW5UUzlwTThGWVlLZ1lBWXdnRFFaU3RNRVpLdHJoSGR2TXkwZ3RJeXlPbTVlZWJWdy9jMXFsTUd6VGJvUUNQY1Y2L2l0bDFIQzFGem8wOEprZENzRjJtN0hZeCtJYzZsaDZyZ1EyVGxnVEViMUUydnlWeHBtSmRHZnkvRlNtMHhHcXU2WFlQYUdhVGh5TFJkMUp2eGNwVE93K01IdE1vdDYxNlEvM0tFMGF1ek9ocVFnY2xwejJOckQycXVEYjF4RGY5b0tUL2hHUGF4ZUNiMHFQZDhLYWVDRExsaVlXS2J0bkN0b1B5aXBUcWlKelU4eEhRNW1neXEvK0lIQXFXMFZURnlGSWFQTmNhNFRIQ2RCOGtpa2NXbE5rcGhZL3dBdXE3dW5mb3BESXpsMHJwVFdsUVdqcXhza3c3a3l1N2Ntc2ZDbDdORXNGelhlU1FCdmo1N2xOd3RJTkFWRmc2NERnU2JLMnJiU1lCNFZjV3RzeWxGNkpsSnBKNERmZEQyemhKcG1JTVgxQ3FhbTBUdU9xSmhhYjhRU3hwOElFdVBMZ24yVHdIVnJKWTlrNlhmQnpIQ0EwV2NQdmNDcE5iQUVPTFRxSnZvaTdMY0tEU0dTWTVYS25WcXhxZ0ZvMUh0SGNGcEdDb2lVc21YTkYzZWh0UjBOMW5wdTZyUjdNMnl5blVkVGRKcHVBQjQ4amRDR3hHbVM4a256VGFmWnh0UjM4c3VCNDdvODBsY2REYlVpMXhtSGFBQzJDMmJPOGpQbXJqc3JYek5CNGcyNW5oK3Q2aDRQc3BWYXh3T0liQmFiWlNRQ1l1YmhTTUJSZGhudHpaWE5OcGFmRElIRGNkNjFzenJCWVZuRnVVY0lJUEVxUHRmdEQzTGZDUEdIQVFkTjgrbjRLZGphZWFEdzA5Ylg0ckNkcDhYbnJPajdNTm5pUUlKOWJlU1U1VWlVclpldCtrZkVOSGhaUkhNVTI2K2FFLzZSc1lkSE1IUmpCOGxqbHl3N0ZHcXFmU0Jqai96aU9nQStDaTFPMm1OZC93RFlxZjZpRm4xd1RVaFVXdFh0TGluYTE2aC96dS9GUm43WHJIV3E4LzVqK0toRUpDanN3b083SFBQMmo2b2JzUzQ3ejZvUlNKdVRGU0ZOVThVMXp6eFhJVlI2VnNhUTRqaWtnTGc5S1dCVVdOZ0paU1pDbUZJWVExRjBsRGxMbjZwSmhSQ0pUQ1VwS1k1UWJJRlZOMGhTSnpCS3k5TkJFZWhoSFAwUXlGUDJmaXNsb3VtdDVGSnVzRUd0U0xEQjE1Szc3TlZ5d0U1aTJUcUJJdHVqZXFyRnN2Sk90MWI5bnNyckV4dTE0OHVDdUgySm45VFhZVEh0YUJtWTNkZUJZcXhGUU85azIzQ3dBNmNGUS9VN21nZUlsc2E3b2trQk5ZNTlQdzZnNkxwN05iT1J4WGhaWXpFQTIzalVxd3dGVnJXMkk4dFZrdHUxSzdjdmdjS1JBSmNCSkovcWpRS1gyZXhJTWw4NUd4b1lra3hFcU8rYUwrUEI2WmdhaktERzFITUw4K3JnTXdaMTRIbXI2cGhLZUxwa1BoL0I0QUR3Zm5FL2t2Tk5qN1FxWVIrWnJpK2s0NnpvT0RoODF1Y0ZpUlZIZllXei90VXBpZWJScFBKUTcyZFNna3FNYjIzcDFjSzgwaTQ1UTFybVBGczBrajFCMUhOWUNxNlN0NzlLUGFKdUlkUnBCc0dtQzU4aTRlNjJYaUlBa2ppZVM4L2xKeWIyYzBra3prcVJLa3lhRkFWaHNqWTliRXZ5VWFibnUxaG8zY1Nkd1ZlRjZUOUdYYS9DNEdsVkZacnU4YzRFRnJRWmJFUnJhREo4MFhTMFVrbThtZjdTOWlxdUN3OUt0V01PcU9JTEFQWXRJa3pkeDRBUnpXVWN0cjlJM2F4bVBxdE5OcGJUWTB0Ykp1Wk15Um9GaTNGQ3VzaWtrbmdZUW1rSjVLYVFxSUZwMHk0aHJSTG5FQm9HcEpNQWVxOUVIMFRzWUd1cllsNG1NMlNtTXJTUnZjVHBOcFEvb2Y3UDk5aUhZbDRsbEN6SkZqV0kvd0JyYjlTRjdJV3pNaVFSRUhUMFJkQ3QrSG5tRCtpZkJzdTU5YW9PR1pyUWY5RFo5NjBlenV5R0NvM3A0ZW1EOTV3em4xZkpWaC9CUHBYcGd1WnZwRTNIOWg0Y2tiQ1k1cjVBRGdSWWd0Z2dwMytCZjBvOXQ5bWNQaUx2b1UzTys5bEFkNmlENzFsY1o5SDJGRWcwNmpKKzB4N2lCNU9uM3IwWEViVG9NTVZLMUZoNFBxTUI5SlRQckhEUEVERTBEUDhBV3cvN2tmSWl1a3ZEeWZFZlJ2U3lQN3V1L1BIZ3podVNlRG9FaWVPN21zdi9BTUVZMy9vai9XejhWN2Jpc1RnMnY3ditMb05xd0RrTDJEVzQ4TGlpL3dBSi9YUzl5ZHhZcm5IWjh0dUtZNTFrcFRIRlpObmFrTWxPWTZDbXJsbVVHS0xoYU9ZL0ZBWUZiYklBa2plZEZTRkxSWFlzK0l4MFNVM2xwbHRpclhFWUlDNHVkNVVWdUdQQkpxaEoyaWZnZTBOVU9oejhyYjNndUV4YVFMbTZ0c0hVcXVKYzkrWWpUUnJlT2hpL1ZVK0d3Z0JIelUwWVkxYlpzckd5U1RvQnZXa1cyWno2bXoySHRIRFZRS2VKTHFUM0FYTHgzWm0xbk4wOC9WWFAvcHpoaTF3WStxMFBnbUg1Z2Q0TUZZN3MxZ2FWUjlhaTlvY0docHpXekF4RWdqeVVuRGJYeG15bjVUL053ODJtUzJQaXc5TGNsdmVNbzVuRjNVV2FHbjJDcTBCbXA0a0VURVZHa201MDhFbVBKUDJqaVdZTWlyVExPOUVaMk5jNW9jdy8wT2FMOHh6V2k3TDlyc05qSURYWktwLzViaUFUL2FkSGZIa3N6OUsyR28wZTdERzVhdFNYT0RiTnlEZVdpMGwyL2tWTGNTNDhzMWhtQTJ2ajNWNnRTcTgrSjdpNCtlN3lFRHlVSmM0cHNyQW9jdWxObGRtVHNLSGdwNGNnWmdsNzBjVUpoMVlZbE1LR01RT1Bva2RXamNmUS9nbmFIMFk5T3AweTRoclFTNXhBYUJxU1RBSHFoMTM1QU0xcGdpNGt6eVhwUDBjZG1RMDA4YlY3dXF3dG1rMXBKZ243VHRJSXVJM0U4azBtOWJNNVZITXRHbDJDTVJnOEcyalNER2xvMUxYSE5VY1pjNXhNYjl3MHRkVW0ydTJlMDhNQjNyR01CKzJHbHduV0p6WldrY3d0WjJqMjNoYVZBdXJOY3h1Z0RKejVyd0d4cWJiN2NWa3RuZHZhZUpES0Q2Slk1emNvZG1FRjVFRFVHeFBMMVZjYWxxY1ZmNkNUalZ3ZUNsYjJ2eGRlYzJKcU40UVExdnF3QlFNVy9FRWt1eEZWMmJYK2E1cFBtWUpXOG9qTTUxQ2lING1vQWM3c3JSU3BuZ1RiTTczRDNMejd0Smp6aHF6bVZHVmFiamZLOWpjaG5XQkF0UEN5MmNJSlpKak9VcFZFaFY4TVo4VFhHZnZQcUdmUE5kUnErRHpCekFDMms4QXVBOFJMMmtscGw0SkVBblFxRmpOclptdzBocEJCQkdZQzM5Tng3MU93TzNBY3JvRWl6aHU0VDBYSExxcGZvN29kcFJyMHBjWHNaelI0U0hlVUg4MVgvd0FJL3dDNmZSYmJFN1ZaOXBqVEkxYUlrY1I0MUQrdGFIM0hlNWIvQUJSOFppdVdYcU1rU21GS2tLd1p1aEZ5NWNwQTZWWVlTcEYrU3IxSWE3M3BBWDJIcTVnRS9FMEFHeWJLdHd0VXN2N2t1S3hacXVEZnNnKzlYZG9qcmtzY0FBS2JudU56Ylc4YnJlcWdqR0hmcE4wVEdWb2FHY05md1ZaS08zZ2RmVFRka3NmbHhEbk9pWEF6Nnl0ejlZVTNXSkJCR2gwbnJvdkxzRlZEVE85V3VIMmtSRW1mMSt5MjR1U2xUTWVYanQyaXcyN3NFTmQzbUhjR3pmTHVCM0VLb3htME1SVkk3d09lNEFOQkxpZkNOMHV2eFZqaWNjWERLREErUG9tdFluS0tid0VXMHNtZHhPS2V6VmtjMUZPMEg4bHFxMUFGcHROdElXVHgySHlPdDdKdUR5L0pZempSckJ4Zmdqc1kvajhFenYzSGVVTlBZMlZCb2tqcEozbjNxVmhNSk9xTGg4UHZQdTNLWGhXK0tJbENFMldHRHc0YUxDRllVOE9DRkJmVmd4eVU3RHZKRXo2V1hUQkk1NVdSZG9pcXhoN3N5QnJUYzBQYVJ2OEFDNEVTcHV4UHBKcjRXaUtWTEQwV3RrbjJYUkoxZ0Y4RG9FVmgwQ3pHMXRyVm1WcWpBOHcxeEF1ZEpUNVA4NUNFVlBEUmNiWDdlNG5GQUNyUXc3dzB5QTZrSEFIU1lKS3JCMm14TFlMR1VhWkdtV2hSRWVlUlZuMTFXKys3MUtiOWNWditvNzFLeStSbWk0b3BWUmREdGh0R0lHSWUwY0d3MGVqWVZWdGF2V3JQbXRWZlZjQkFMaVRiVzBvSjJ0V2lPOGRIQ1NrK3RLdjMzZXBTY2s5bEtGYW9DYU1iMGFtMGh1WU9CaUpCTjc4QnZISGdrK3NxbjNqNnJtN1RxRDdSV2RJMHVpYmdkcXZwR1F3SGZCa2dxMi80emQvK1dqLzNLZ08xbnhHL2pKUS9yT3A5NU5TNjRRbm5aRVNMaXVTWUhMbHlSQUNxUTFrMlVjS2JRM29BUVZjcGc4TEoyQ2RlU28xZlVvbERSQUVpczZaS2psR09pRlIxUWdET3NVZW5WUXNTYitRK0NSaFI2THd0c0pVbmVyS2wxVk5nTkQrdHdWcmhYR0JjNnJvZ3pDYXlIelpiV2haN0hVY3dxTmk3Q1NPbjdmQlhOWTNIVWZKUVgvOEF2TzZOL3dERUk1QWhnellVaWs3S1FoWWtYUFZFYm9PaTUyZEpQbTJZYWZxeWxiR0VrbmVvZXcvYkEzZnNwK3lmYkkzWmo4MDQ3UkVzSmpjVlY4YnBPa3dyVEFFNUFlUVZGaXZhZXJ2Qyt3M29QaVZwRDdNem45VVdEQjRtOVFzajJyWkdMcmMzVDZnSDVyWjBCcCt1S3gvYkQvNVZUb3ovQU1RdE9iNms4UDJLVmN1SzVjeDBITGx5NUFITGtxUkFISllTSkVtQi85az0iLCJtZXNzYWdlc190aW1lb3V0IjoxMCwia2VlcF9sb2dnZWRfaW4iOnRydWUsImFwcF9wcm9maWxlIjp7ImRlY2ltYWxzIjozLCJtZXNzYWdlVGltZU91dCI6MTAsInZpZXdBbm9uRGV2aWNlcyI6dHJ1ZX0sIm11bHRpcGxlX2xvZ2luIjp0cnVlLCJzZWN1cmVfcGFzc3dvcmQiOnRydWV9LCJyb2xlcyI6WyJDdXN0b21lckFkbWluIl0sInBlcm1pc3Npb25zIjpbXX19.l_4tZ0R_EpfYVN5wionUOe6dLHKeKSBVRWDEhE5RAlmazRnsAOWJYFDXTvB8UObRRlDytT5u18cd3zO97_X5wg"}response=requests.post(api_url,data=payload,headers=headers)Change Password (Cambio de contrasena)Servicio REST para cambiar la contraseña del usuario. Para esto el usuario debe estar autenticado y deberá enviar la contraseña antigua y la nueva, teniendo en cuenta que la contraseña antigua y la nueva deben ser distintas para que el cambio sea válido.url:https://myserver.com/auth/change-password/Parámetrosold_password: Cadena de carácteres con la clave vigente.new_password: Cadena de carácteres con la nueva clave o clave para asignar.RetornaHTTP Status200, si el cambio de contraseña es exitoso.406, si existe error de autenticación del antiguo password.500, cualquier otra excepción no manejada.Ejemplo de uso.importrequestsapi_url="https://www.myserver.com/auth/change-password/"headers={"Content-Type":"application/json","Accept":"application/json","Authorization":"JWT xasfdasxasdasd"}payload={"old_password":"tuMvERweRley","new_password":"tuMvERweRley"}response=requests.post(api_url,data=payload,headers=headers)Request Password (Solicitud de contrasena)Servicio REST para solicitar el envío de una contraseña nueva al correo electrónico.url:https://myserver.com/auth/request-password/Parámetrosemail: Correo electrónico utilizado para el acceso y al cual se enviará la clave correspondiente.RetornaHTTP Status200, si el proceso culmina exitosamente.406, la solicitud contiene datos incorrectos o no válidos, como un correo electrónico no registrado.500, cualquier otra excepción no manejada.Ejemplo de uso.importrequestsapi_url="https://www.myserver.com/auth/refresh/"headers={"Content-Type":"application/json","Accept":"application/json","Authorization":"JWT xasfdasxasdasd"}payload={"old_password":"tuMvERweRley","new_password":"tuMvERweRley"}response=requests.post(api_url,data=payload,headers=headers)Add User (Agregar usuario)Servicio REST para crear un usuario. El servicio ofrece la posibilidad de enviar como parte de los datos el perfil de usuario, el listado de los grupos (roles) asignados y el listado de los permisos individuales asignados también al
usuario.url:https://myserver.com/auth/user/add/Parámetrosfirst_name (opcional): El primer nombre con el que se identifica el usuario.last_name (opcional): El apellido con el que se identifica el usuario.email: Correo electrónico asociado al usuario. Este correo se utilizará como nombre de usuario en el esquema de autenticación basado en"email".username (opcional): Identificador del usuario. Si no se envía el sistema automáticamente genera uno basado en unuuid.password: Clave que utilizará el usuario para el ingreso al sistema.is_staff (opcional): Identifica al usuario como parte del staff del sistema.profile: Diccionario de datos con los campos requeridos para el perfil del usuario.timezone (opcional): Nombre calificado de la zona horaria. Ejemplo "America/Bogota".theme (opcional): Tema que utilizará el usuario para la visibilización del aplicativo. Están disponibles los temas "dark" y "corporate".lang (opcional): Lenguaje que se utilizará principalmente en la interfaz del usuario y en los mensajes que el backend envía.keep_logged_in (opcional): Bandera que indica al sistema si mantiene abierta la sesión del usuario o no.message_timeout (opcional): Tiempo de espera configurado para mantener los mensajes en la interfaz activos.multiple_login (opcional): Indica si permite al usuario mantener varias sesiones abiertas del sistema en el mismo tipo de dispositivo.groups (opcional): Listado de los grupos (roles) que se asignan al usuario en el momento de su creación.permissions (opcional): Listado de los permisos especiales adicionales asignados al usuario en el momento de su creación.RetornaHTTP Status200: Si la solicitud de password es exitosa.JSON{
  "full_name": "Guest",
  "email": "user@example.com",
  "last_login": "2023-11-23T20:28:46.867Z",
  "is_staff": true,
  "is_superuser": true,
  "id": 0,
  "first_name": "string",
  "last_name": "string",
  "level": 5
}Ejemplo de uso{
  "email": "user@example.com",
  "last_login": "2023-11-23T20:28:46.865Z",
  "is_staff": true,
  "is_superuser": true,
  "first_name": "string",
  "last_name": "string"
}Delete User  (Eliminar usuario)Servicio REST para eliminar un usuario por medio su ID.url:https://myserver.com/auth/user/deleteParámetros:id: Identificador del usuario que se desea eliminar.Retorna:HTTP Status200, esto indica que la eliminación del usuario se ha realizado con éxito.404, se produce cuando se intenta acceder a un objeto que no existe en la base de datos.403, cuando se intenta eliminar un objeto que tiene registros secundarios protegidos, lo que significa que existen relaciones de clave externa que impiden la eliminación del objeto principal.406, se utiliza para manejar errores de validación.500, cualquier otra excepción no manejada.JSON{
  "full_name": "Guest",
  "email": "user@example.com",
  "last_login": "2023-11-23T20:29:56.537Z",
  "is_staff": true,
  "is_superuser": true,
  "id": 0,
  "first_name": "string",
  "last_name": "string",
  "level": 5
}Ejemplo de uso{
  "email": "user@example.com",
  "last_login": "2023-11-23T20:29:56.536Z",
  "is_staff": true,
  "is_superuser": true,
  "first_name": "string",
  "last_name": "string"
}User List  (Lista de usuarios)Servicio REST para obtener lista de usuarios. Agregue un filtro para obtener solo usuarios activos.url:https://myserver.com/auth/user/listRetorna:HTTP Status200, si existen datos.204, si los datos están vacíos.JSON[
  {
    "full_name": "Guest",
    "email": "user@example.com",
    "last_login": "2023-11-23T20:26:42.385Z",
    "is_staff": true,
    "is_superuser": true,
    "id": 0,
    "first_name": "string",
    "last_name": "string",
    "level": 5
  }
]Ejemplo de uso{
  "email": "user@example.com",
  "last_login": "2023-11-23T20:26:42.381Z",
  "is_staff": true,
  "is_superuser": true,
  "first_name": "string",
  "last_name": "string"
}User Update (Actualizacion de usuarios)Este servicio REST permite actualizar la información de un usuario. Los datos a actualizar son opcionales, lo que significa que solo se deben incluir los campos que se desean modificar.url:https://myserver.com/auth/user/updateParámetros:email: Correo electrónico asociado al usuario.first_name (opcional): El primer nombre con el que se identifica el usuario.last_name (opcional): El apellido con el que se identifica el usuario.username (opcional): Identificador del usuario. Si no se envía el sistema automáticamente genera uno basado en unuuid.password (opcional): Clave que utilizará el usuario para el ingreso al sistema.is_staff (opcional): Identifica al usuario como parte del staff del sistema.Retorna:HTTP Status200, si la actualización es exitosa.404, si el usuario específicado no existe.406, en caso de que la solicitud no contenga "email" o "id"500, cualquier otra excepción no manejada.JSON{
  "full_name": "Guest",
  "email": "user@example.com",
  "last_login": "2023-11-23T20:30:44.721Z",
  "is_staff": true,
  "is_superuser": true,
  "id": 0,
  "first_name": "string",
  "last_name": "string",
  "level": 5
}Ejemplo de uso{
  "email": "user@example.com",
  "last_login": "2023-11-23T20:30:44.719Z",
  "is_staff": true,
  "is_superuser": true,
  "first_name": "string",
  "last_name": "string"
}zibanu.django.auth.api.services.permission moduleContiene un conjunto de métodos para gestionar los permisos de los servicios relacionados con la autenticación y la
autorización de Zibanu para Django.Permission List (Listado de permisos)Servicio REST listar los permisos que pueden tener los distintos usuarios.url:https://myserver.com/auth/permission/list/Retorna:HTTP Status200, la solicitud fue exitosa, y la respuesta contendría la lista de permisos.500, cualquier otra excepción no manejada.JSON[
  {
    "id": 0,
    "name": "string"
  }
]Ejemplo de uso{
  "name": "string"
}zibanu.django.auth.api.services.profile moduleContiene un conjunto de métodos para la gestión de perfiles de usuario de Zibanu para Django.Update Profile (Actualizacion de perfil)Servicio REST para actualizar el modelo UserProfile.url:https://myserver.com/auth/profile/update/Parámetros:timezone (opcional): Nombre calificado de la zona horaria. Ejemplo "America/Bogota".theme (opcional): Tema que utilizará el usuario para la visibilización del aplicativo. Están disponibles los temas "dark" y "corporate".lang (opcional): Lenguaje que se utilizará principalmente en la interfaz del usuario y en los mensajes que el backend envía.avatar (opcional): Almacena la información o la referencia a la imagen seleccionada por el usuario para su avatar.keep_logged_in (opcional): Bandera que indica al sistema si mantiene abierta la sesión del usuario o no.message_timeout (opcional): Tiempo de espera configurado para mantener los mensajes en la interfaz activos.multiple_login (opcional): Indica si permite al usuario mantener varias sesiones abiertas del sistema en el mismo tipo de dispositivo.Retorna:HTTP Status200, si la actualización del usuario se realiza correctamente.406, si hay algún problema con los datos proporcionados en la solicitud que no cumple con ciertas validaciones definidas.500, cualquier otra excepción no manejada.JSON{
  "timezone": "Africa/Abidjan",
  "theme": "string",
  "lang": "str",
  "avatar": "string",
  "messages_timeout": 0,
  "keep_logged_in": true,
  "app_profile": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "multiple_login": true,
  "secure_password": true
}Ejemplo de uso{
  "timezone": "Africa/Abidjan",
  "theme": "string",
  "lang": "str",
  "avatar": "string",
  "messages_timeout": 0,
  "keep_logged_in": true,
  "app_profile": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "multiple_login": true,
  "secure_password": true
}zibanu.django.auth.api.services.group moduleContiene un conjunto de métodos para la gestión de grupos de usuarios de Zibanu para Django.Group List (Lista de grupo)Servicio REST para listar los grupos (roles).url:https://myserver.com/auth/group/list/Retorna:HTTP Status200, si la solicitud fue exitosa y la respuesta contiene la lista de resultados.403, el usuario no tiene los permisos necesarios para acceder a la lista de resultados.404, la lista de resultados solicitada no pudo ser encontrada.500, cualquier otra excepción no manejada.JSON[
  {
    "id": 0,
    "name": "string",
    "level": "5"
  }
]Ejemplo de uso{
  "name": "string"
}zibanu.django.auth.lib packagePaquete que contiene módulos, clases y utilidades relacionadas con la autenticación y autorización de Zibanu para
Django.zibanu.django.auth.lib.signals moduleEste módulo tiene como objetivo manejar señales personalizadas de Django para capturar eventos relacionados con la
autenticación y la gestión de contraseñas.Se definen dos señales:Se utiliza para gestionar eventos relacionados con el cambio de contraseña.on_change_password = dispatch.Signal()Se utiliza para gestionar eventos relacionados con el restablecimiento de contraseña.on_request_password = dispatch.Signal()Los decoradores@receiverse utilizan para asociar funciones receptoras (event handlers) a las señales definidas. Cada
una de ellas se activará cuando se emita la señal correspondiente.@receiver(on_change_password, dispatch_uid="on_change_password")Asigna la función receptora a la señalon_change_password. Se agrega un identificador único (dispatch_uid) para
garantizar que la conexión de la señal sea única y no se duplique.@receiver(on_request_password, dispatch_uid="on_request_password")Asigna la función receptora a la señalon_request_password. Se agrega un identificador único (dispatch_uid) para
garantizar que la conexión de la señal sea única y no se duplique.@receiver(user_logged_in, dispatch_uid="on_user_logged_in")Asigna la función receptora a la señaluser_logged_in. Se agrega un identificador único (dispatch_uid) para
garantizar que la conexión de la señal sea única y no se duplique.@receiver(user_login_failed, dispatch_uid="on_user_login_failed")Asigna la función receptora a la señaluser_login_failed. Se agrega un identificador único (dispatch_uid) para
garantizar que la conexión de la señal sea única y no se duplique.auth_receiver(sender: Any, user: Any = None, **kwargs)→ None:Esta función actúa como un manejador para eventos capturados por las señales de cambio de contraseña o solicitud de
contraseña.Parámetros:sender: Clase de emisor de la señal.user: Objeto de usuario para obtener datos.**kwargs: Diccionario con campos y parámetros.Retorno:Ninguno.zibanu.django.auth.lib.utils moduleEste modulo contiene la siguiente función:get_user: Obtiene el objeto de usuario de SimpleJWT TokenUser.Parámetros:user: Objeto de usuario de tipo de usuario de token SimpleJWT o tipo de objeto de usuarioRetorna:user: Tipo de objeto de usuario de Django.zibanu.django.auth.api.serializers packageEste directorio contiene serializadores para la API de autenticación de Zibanu para Django.zibanu.django.auth.api.serializers.group moduleGroupListSerializer es un serializador para una lista de grupos. Incluye los siguientes campos:id: El ID del grupo.name: El nombre del grupo.zibanu.django.auth.api.serializers.permission modulePermissionSerializer es un serializador para un permiso. Incluye los siguientes campos:id: El ID del permiso.name: El nombre del permiso.zibanu.django.auth.api.serializers.profile moduleProfileSerializer es un serializador para un perfil de usuario. Incluye los siguientes campos:timezone: La zona horaria del usuario.theme: El tema del usuario.lang: El idioma del usuario.avatar: El avatar del usuario.message_timeout: Tiempo de espera de los mensajes del usuario.keep_logged_in: Si el usuario desea permanecer conectado.app_profile: El perfil de la aplicación del usuario.multiple_login: Si el usuario permite múltiples inicios de sesión.secure_password: Si la contraseña del usuario es segura.zibanu.django.auth.api.serializers.token moduleTokenObtainSerializer es un serializador para obtener un token mediante la autenticación de correo electrónico. Incluye
los siguientes campos:username_field: El campo que se usará para la autenticación del nombre de usuario.email: La dirección de correo electrónico del usuario.password: La contraseña del usuario.TokenObtainSlidingSerializer es una subclase de TokenObtainSerializer que usa un token deslizante. Incluye los
siguientes campos:token.zibanu.django.auth.api.serializers.user moduleLa clase UserSerializer se utiliza para serializar y deserializar un solo objeto de usuario. Incluye los siguientes
campos:UserSerializer es un serializador para un usuario. Incluye los siguientes campos:email.full_name.last_login.is_staff.is_superuser.is_active.profile.roles.first_name.last_name.permissions.username.password.El métodocreatese utiliza para crear un nuevo objeto de usuario. Toma un diccionario de datos validados como entrada
y crea un nuevo objeto de usuario con los datos proporcionados. Si el objeto de usuario se crea correctamente, devuelve
el objeto de usuario. Si el objeto de usuario ya existe, genera una excepciónValidationError.UserListSerializerUserListSerializer es un serializador para una lista de usuarios. Incluye los siguientes campos:full_name.email.last_login.username.is_staff.is_superuser.El métodoget_full_namese utiliza para obtener el nombre completo de un objeto de usuario. Toma un objeto de usuario
como entrada y devuelve el nombre completo del usuario.