Creación de contenidos sin barreras

¿Cómo generar contenidos sin barreras en nuestras aulas virtuales?

El 9 y 10 de octubre participé del FIEP, en la Universidad Nacional de Villa María donde di junto a la Lic. Mailén Turletto un taller llamado “Creación de contenidos sin barreras de acceso en nuestras aulas virtuales”.

Los temas que tratamos fueron:

  • El principio del acceso universal (personas con diversidad funcional, con dispositivos antiguos, con mala conectividad, etc.). 
  • Problemas de acceso temporales y permanentes. 
  • Los cuatro principios: perceptible, operable, comprensible, robusto.
  • Aplicación de los principios en el taller: 
    • Evaluación del contraste de colores
    • Configuración del texto alternativo en imágenes
    • Publicar texto marcado semánticamente (títulos, encabezados, nunca subirlos como imágenes)
    • Navegación a través del teclado
    • Creación de PDFs accesibles
    • Subtitulado de videos (a cargo de la Lic. Mailén Turletto)

Aquí comparto un video que grabé posteriormente para compartir los conceptos trabajados en el taller, y debajo la presentación por diapositivas en formato LibreOffice.

Primeros pasos en el uso de una hoja de cálculo

Hice algunos videos para mis estudiantes que comparto también por este lado, para quienes tengan ganas de empezar a aprender a usar una hoja de cálculo.

Los videos están realizados utilizando LibreOffice Calc, que es parte de la suite ofimática libre que se descarga desde este enlace y se puede compartir libremente: https://es.libreoffice.org/

Video 1: Primeros conceptos

Video 2: Trabajar con distintas hojas

Video 3: Referencias absolutas (signo pesos)

Video 4: Manejo de fechas y horas

Video 5: Condicionales y condiciones anidadas

Códigos para maquetado

Estoy trabajando en la carga de contenidos en una plataforma Moodle, y muchos/as docentes me envían algunos cuadros en imágenes que podrían estar en texto. Por una cuestión de accesibilidad, siempre que el tiempo me alcanza, paso esos cuadros a código.

Voy a ir guardando en este posteo esos códigos, para volver a usarlos yo misma, y para compartir con quienes se encuentren en una situación similar.

Recuadrito a la derecha de un texto

<div style="float: right; width: 40%;background-color: #d5dfee; padding: 1.5em; margin: 2em; border: 1px #123872 solid; text-align: center;"><em>"He pasado una noche estupenda, pero no ha sido esta"</em></div>
“He pasado una noche estupenda, pero no ha sido esta”

Recuadrito con bordes redondeados

<div style="float: right; width: 40%;background-color: #d5dfee; padding: 1.5em; margin: 2em; border: 1px #123872 solid; text-align: center; border-radius: 25px;"><em>"He pasado una noche estupenda, pero no ha sido esta"</em></div>
“He pasado una noche estupenda, pero no ha sido esta”

Recuadro título de pestaña

<div style="width: 80%; border: 2px solid #012760; text-align: center; padding: 1em; margin-left: auto; margin-right: auto; background-color: #C6D2DD;">
    <h4 style="color: rgb(1, 39, 96); text-align: center;">Clase 1</h4>
</div>

Clase 1

Imagen con pie de imagen a la derecha del texto

<div style="clear: both;"><div style="float: right; width: 20%;"><img src="https://irisfernandez.com.ar/betaweblog/wp-content/uploads/2023/04/405px-Tux.png" alt="tux"><p style="font-size: 70%; font-style: italic; text-align: center;" >Fuente: Wikipedia</p></div><p>Tux es el nombre de la mascota oficial de Linux. Creado por Larry Ewing en 1996, es un pequeño pingüino de aspecto risueño y cómico basado en una imagen que Linus Torvalds encontró en un servidor FTP. </p></div>
tux

Fuente: Wikipedia

Tux es el nombre de la mascota oficial de Linux. Creado por Larry Ewing en 1996, es un pequeño pingüino de aspecto risueño y cómico basado en una imagen que Linus Torvalds encontró en un servidor FTP.

Lista de ítems

<br>
<div style="clear: both;">
    <div style="float: left; border: 1px solid #000077; padding: 0.5%; margin: 0.9%; width: 5%; text-align: center; font-size: 300%; color: #000077;">1</div>
    <div style="float: left; border: 1px solid #000077; padding: 1em; margin: 1em; width: 60%; text-align: center; ">

        <p>Primer paso</p>
    </div>
</div>

<div style="clear: both;">
    <div style="float: left; border: 1px solid #000077; padding: 0.5%; margin: 0.9%; width: 5%; text-align: center; font-size: 300%; color: #000077;">2</div>
    <div style="float: left; border: 1px solid #000077; padding: 1em; margin: 1em; width: 60%; text-align: center; ">

        <p>Segundo paso</p>
    </div>
</div>

<div style="clear: both;">
    <div style="float: left; border: 1px solid #000077; padding: 0.5%; margin: 0.9%; width: 5%; text-align: center; font-size: 300%; color: #000077;">3</div>
    <div style="float: left; border: 1px solid #000077; padding: 1em; margin: 1em; width: 60%; text-align: center; ">

        <p>Tercer paso</p>
    </div>
</div>

<div style="clear: both;">
    <div style="float: left; border: 1px solid #000077; padding: 0.5%; margin: 0.9%; width: 5%; text-align: center; font-size: 300%; color: #000077;">4</div>
    <div style="float: left; border: 1px solid #000077; padding: 1em; margin: 1em; width: 60%; text-align: center; ">

        <p>Cuarto paso</p>
    </div>
</div>

1

Paso 1

2

Paso 2

3

Paso 3

4

Paso 4

Inteligencia artificial y educación

En estos meses, desde la difusión del ChatGPT, se pusieron en discusión varias estrategias con respecto al vínculo entre educación e Inteligencia Artificial, desde la prohibición hasta la apropiación.

Por mi parte, creé un grupo en Facebook y otro grupo en Linkedin con el objetivo de recopilar información, y elaboré este video en el que hablo del tema y propongo no perder el eje: atender a la diversidad, cuidar la accesibilidad, evitar los sesgos, prestar atención a las licencias y a la soberanía tecnológica.

Enlaces mencionados en el video:

Gonzalo Zabala en CONFERENCIA “INNOVACIÓN, TECNOLOGÍA Y NEUROCIENCIA EN LA ENSEÑANZA”. A partir del minuto 29. https://www.youtube.com/watch?v=1QP_SgAz8dA

¿Tienen política los artefactos? Langdon Winner
Publicación original: “Do Artifacts Have Politics?” (1983), en: D. MacKenzie et al. (eds.), The Social Shaping of Technology, Philadelphia: Open University Press, 1985. Versión castellana de Mario Francisco Villa. http://www.ub.edu/prometheus21/articulos/tienen.pdf

Ernesto Mislej – Cientifico de Datos | No Dejes Para Mañana https://youtu.be/g0LNEBwrOps

Chat-GPT y la automatización del trabajo. Patrick Stasny https://ctxt.es/es/20221201/Culturas/41634/Patrick-Stasny-inteligencia-artificial-chat-gpt-ludismo-trabajo-consciencia.htm

Xataca
https://www.xataka.com/aplicaciones/lensa-genera-avatares-hipersexualizados-para-mujeres-gran-reto-ia-desprenderse-nuestros-sesgos

Trampa en la facultad https://www.rfi.fr/es/francia/20230112-trampa-en-la-facultad-el-50-de-los-trabajos-entregados-realizados-con-inteligencia-artificial

Predecir éxito académico
https://www.universia.net/ar/actualidad/orientacion-academica/puede-inteligencia-artificial-predecir-fracaso-escolar-1161371.html

Publicidad errores de tipeo
https://www.adsoftheworld.com/campaigns/with-ai-you-can-create-images-from-words-better-make-sure-they-are-the-right-ones

Campaña errores de tipeo https://www.adsoftheworld.com/campaigns/with-ai-you-can-create-images-from-words-better-make-sure-they-are-the-right-ones

Noticia Discapacidad y reconocimiento facial https://www.perfil.com/noticias/actualidad/insolito-un-hombre-tuerto-se-pego-un-ojo-de-caricatura-para-que-lo-reconozca-la-app-mi-argentina.phtml

Sesgos https://www.xataka.com/aplicaciones/lensa-genera-avatares-hipersexualizados-para-mujeres-gran-reto-ia-desprenderse-nuestros-sesgos

Generar video con vocabulario
https://twitter.com/jesusisflipping/status/1616188264540688384?s=20&t=ZIB6FOM2ktM790nJgh1K_w

ChatGPT https://openai.com/blog/chatgpt/
Dall-e https://labs.openai.com/
Cookup https://cookup.ai/
Futurepedia https://www.futurepedia.io/

Gracias Marisa Conde, Ricardo Leithner, Gonzalo Zabala, Aldo Ferrari y Carlos Rodríguez por los enlaces compartidos en las redes.

Un pedido para una sociedad mejor

¿Trabajás en sistemas? Está en tus manos hacer un mundo mejor. Estudiá UX y accesibilidad. No dejes afuera a las personas mayores y a las personas con discapacidad.

¿Dirigís una institución educativa donde se trabajan temas de tecnología? Que en cada carrera haya materias de accesibilidad, para formar profesionales que naturalmente hagan productos que no dejen afuera a las personas con discapacidad y a las personas mayores.

¿Tenés una empresa y contratás gente de sistemas? Exigí que cumplan las pautas de accesibilidad. Todo lo que se hace, desde un sitio web, un sistema para turnos, un cajero automático o una promoción, debe estar hecha sin barreras para personas con discapacidad y personas mayores

¿Trabajás en el Estado? ¿Está en tus manos la producción de contenido? Creá PDFs accesibles, creá contenido accesible para la web, asesorate acerca de cuáles son las herramientas que te permiten que tus producciones no dejen afuera a personas con discapacidad y personas mayores.

¿Construís puertas, muebles, edificios, pupitres? No crees objetos que dejen afuera a personas mayores, o personas con algún grado de diversidad funcional.

¿Manejás un auto? No tapes rampas al estacionar, no estaciones en paradas de colectivo, ya que las personas mayores necesitan que frene junto al cordón para poder subir y bajar. No asumas que todas las personas oyen, la bocina no es una opción para que la gente se mueva.

Viví tu vida sabiendo que existe gente diversa. Gente flaca, gorda, que oye y que no oye, gente que ve más, menos, en blanco y negro, o no ve nada. Gente con un brazo solo o que se desplaza en silla de ruedas. Gente mayor, gente lenta, gente con dolores crónicos. Gracias.

Crear un mapa en forma colaborativa

En el mundo del software libre y el código abierto existen herramientas increíbles, aunque poco conocidas. Es el caso de uMap, una herramienta para crear mapas personalizados de manera colaborativa, con base en OpenStreetMap.

Pantalla de uMap donde se dan las opciones para crear un nuevo mapa

Hacemos clic en “Crea un mapa” y obtenemos un mapa donde debemos configurar primero el título (1) la región que se va a ver en el mapa: buscamos por ejemplo el país o ciudad donde vamos a agregar nuestros marcadores, y luego hacemos clic en el icono de “Guardar este centrado y acercamiento” (2).

Ya podemos comenzar a agregar hitos (3) en cada lugar en que queremos poner información.

Tres primeros pasos: poner título al mapa, elegir la ubicación inicial, comenzar a agregar los marcadores.

En cada marcador tenemos una gran cantidad de opciones: la capa (podemos tener distintas capas con diferente información), el título, la descripción (que puede contener texto, imágenes y videos), la forma del marcador, etc.

Al agregar un marcador es posible utilizar negritas, cursiva, insertar imágenes o incrustar un sitio.

Arriba a la derecha tenemos la opción de guardar, y luego podemos desactivar la edición para ver el mapa tal como lo verán quienes lo visiten.

Para que más personas puedan modificar el mapa debemos hacer clic en el icono de la llave y decidir si se necesita el enlace secreto de edición o si cualquier persona que acceda al mapa podrá modificarlo:

Se puede compartir con un enlace secreto a través del último ícono de la barra de edición, con forma de llave.

El mapa podrá compartirse a través de un enlace, o embeberlo dentro de un sitio.

Enlace al mapa: http://u.osmfr.org/m/814953/

Ver pantalla completa

Modificar el vocabulario de Moodle

Moodle es una plataforma LMS (Learning Management System) ampliamente utilizada. Se usa tanto en universidades como en institutos, empresas y todo tipo de proyecto. En cada contexto existen distintos términos para cada cosa, por eso es muy importante aprender a personalizar el paquete de idioma español.

En estos días instalé un Moodle 4.0.1, y lo primero que me chocó fue su mensaje de bienvenida en masculino: “Bienvenido a …”

Ya estoy muy acostumbrada a utilizar un lenguaje neutro, o por lo menos incluir femenino y masculino cada vez que me dirijo a un grupo, así que me puse a editar el lenguaje de mi plataforma para que sea más inclusiva en cuanto a género.

Cómo personalizar el idioma de la plataforma

Para personalizar el idioma de la plataforma hay que tener un usuario administrador.

Lo primero va a ser ir al menú “Administración del sitio”, “Idioma”, “Personalización del idioma”.

Administración del sitio / idioma / personalización del idioma

Lo primero que nos pregunta Moodle es cuál de los idiomas instalados vamos a personalizar. Allí en el desplegable elegimos nuestro paquete de idiomas (previamente instalado en la sección correspondiente).

A continuación vamos a elegir “Abrir el paquete de idioma para editar”.

Hacer clic en la opción "Abrir el paquete de idioma para editar"

Allí se nos mostrarán los diferentes archivos PHP que contienen cadenas de texto. Podemos seleccionar todos o algunos de ellos. Si no tenemos idea de dónde están las frases que queremos cambiar, seleccionamos todos.

Archivos seleccionadas y no seleccionadas para la búsqueda de cadenas. Debajo está la opción "Cadenas que contienen".

En la misma pantalla, debajo, encontramos la opción “Cadenas que contienen”, y allí escribimos la palabra o frase textual que queremos encontrar para personalizar. Por ejemplo, yo escribí “Bienvenido”.

El sistema me muestra todas las veces que encuentra la cadena “Bienvenido”, aunque esté incluida en otra cadena, por ejemplo “Bienvenidos” o “Bienvenido/a”. En cambio, si escribo “Bienvenidos”, no me va a mostrar las cadenas donde esta palabra esté en singular. Hay que pensar cuál es la unidad mínima de nuestra búsqueda.

A la derecha tenemos la columna “Traducción local personalizada”, donde escribiremos nuestra frase. Si hay contenido entre llaves tenemos que escribirla exactamente igual, porque gracias a estas cadenas con variables se mostrará por ejemplo el nombre de usuario, el nombre del curso, etc.

Pantalla que muestra las cadenas encontradas y la traducción local personalizada. Por ejemplo: "¡Bienvenido de nuevo, {$a->firstname}!" la modifico por "¡Nuevamente te damos la bienvenida, {$a->firstname}!"

Una vez que modificamos las cadenas que queríamos modificar, elegimos debajo la opción “Guardar los cambios en el paquete de idioma”. Si hicimos las cosas bien no es riesgoso guardar los cambios porque cuando volvamos a esta pantalla la vamos a ver con la cadena original y la reemplazada, es decir que fácilmente podemos volver atrás los cambios eliminando lo que escribimos allí.

Se nos pide confirmación, elegimos “Continuar”.

¡Listo! Ya podemos ver los cambios aplicados en la plataforma:

Pantalla donde se lee: "¡Nuevamente te damos la bienvenida, Iris!"

¿Cuál es el riesgo de esta operación?

Hay que tener mucho cuidado en no reemplazar una frase que vemos en un contexto, pensando que solamente se utiliza allí. Por ejemplo, si yo reemplazo “Bienvenido de nuevo” por “¡Hola, qué bueno que estás de nuevo en el curso de música!”, esa cadena se va a mostrar a estudiantes de los cursos que no son de música también. Por eso es muy importante reemplazar las cadenas por una equivalente, salvo que ya conozcamos mucho la plataforma y sepamos dónde aparece cada frase.

Recursos Educativos Abiertos – H5P

En el marco del tercer ciclo de charlas organizado por el Grupo Clementina voy a mostrar algunos ejemplos de actividades realizadas con H5P que favorezcan la construcción de conocimientos.

Como en toda herramienta de autor, que permita crear los contenidos para nuestros y nuestras estudiantes, es fundamental que el tipo de actividad, el tipo de pregunta y fundamentalmente la respuesta que brindamos ante el error, favorezcan la construcción del aprendizaje.

Para ello, a través de distintas estrategias que requieran elaborar hipótesis, confirmarlas o descartarlas, los y las estudiantes vuelven a revisar el contenido aprendiendo de sus respuestas anteriores.

Video Interactivo

Escenario ramificado

Transmitir en vivo desde Jitsi

Cuando damos charlas para un grupo de personas en una videoconferencia de Jitsi y queremos que más personas puedan verla a través de Fediverse.tv o de Youtube, necesitamos seguir unos pasos bastante simples.

Recomiendo practicar estos pasos varias veces antes de ser anfitrión/a de una charla, ya que hay varias cosas que pueden salir mal, poniendo en riesgo el evento.

Fediverse.tv (Peertube)

Gracias al grupo Clementina y a RikyLinux en particular, hace un par de años que utilizo Fediverse.tv para subir algunos de los videos que voy creando. Se trata de una instancia de Peertube (esto significa que el software “Peertube” está instalado en el servidor de Fediverse.tv, pero que el mismo software puede encontrarse en otros lugares).

Primer paso: crear la cuenta en la instancia de Peertube a través de la cual vamos a transmitir, por ejemplo fediverse.tv

Segundo paso: hacer clic en el botón Publicar. Elegir la opción Ir a en vivo y cliquear en vida normal (una sola transmisión común que al terminar queda grabada en el servidor con el mismo enlace).

Hacer clic en el botón "publicar"
Clic en la pestaña "Ir a en vivo", elegir opción "Vida normal" y por último aceptar todo con el botón "Ir a en vivo".

Tercer paso: completar la información sobre el video (nombre, comentarios, imagen de portada). Buscar la clave de transmisión y pegarla en algún lugar seguro. Vamos a necesitar esta clave para conectar Jitsi con Peertube.

La clave está formada por dos datos: el primero es el enlace correspondiente a Fediverse.tv y el segundo una clave que se genera por única vez por cada transmisión y no se repite.

Copiar las dos claves: URL de RMTP en vivo y Clave de transmisión en vivo. Pegarlas en un lugar seguro.

Tenemos que combinar ambas claves de la siguiente manera:

URL de RTMP en vivo + una barra + Clave de transmisión en vivo

Por ejemplo:

rtmp://fediverse.tv:1935/live/asdfadsfdsafadfasdfasdfasdf

Cuarto paso: entrar a la videoconferencia de Jitsi y elegir en el menú desplegable la opción “Iniciar transmisión en vivo”. Pegar la clave combinada como se explicó anteriormente.

Opción "Iniciar transmisión en vivo", menú de opciones de Jitsi.
Pegar la clave combinada tal como se explicó anterioremente y hacer clic en "Iniciar transmisión en vivo".

¿Cómo sabemos que se está transmitiendo correctamente?

Primero: se oye un mensaje que avisa “Livestreaming is on” (transmisión en vivo activada).

Segundo: accediendo al enlace del video creado en Fediverse.tv desde otro dispositivo, se puede ver y escuchar la transmisión. Cuidado: el sonido de este segundo dispositivo se va a escuchar como eco en Jitsi. Hay que hacer algo para que esto no ocurra (por ejemplo, silenciar el video que se está mirando).

Enlace al video explicando estos mismos pasos.

Cómo hacer la transmisión por Youtube

Los pasos para realizar la transmisión vía Youtube son muy similares. Sólo se agrega un paso que es el de loguearse en una cuenta de Youtube.

Botón "Subir video", opción "Transmitir en vivo"

Primer paso, hacer clic en el botón de subir video, y elegir “Transmitir en vivo”.

Se puede programar o directamente acceder a la transmisión en vivo. Una vez en el panel de transmisión, aparecerá la clave (igual que en el caso anterior) que debemos copiar para pegar en Jitsi.

En el panel de transmisión está la clave de transmisión que debemos copiar para luego usar en Jitsi.

Una vez copiada la clave, ir a Jitsi y pegarla en la opción “Iniciar transmisión en vivo”. La diferencia será que en este caso se nos pide loguearnos en la cuenta de Google. Para ello, tenemos que aceptar los términos del servicio.

Jitsi Meet pide permisos para acceder a ciertos datos personales: ver la cuenta de Youtube, ver editar y borrar permanentemente todos los calendarios a los que puedes acceder mediante el calendario de Google.
Transmisión en curso a través de Youtube

Al finalizar la transmisión, otro paso que se agrega en este caso es que debemos elegir si descartar la edición (conservar el video tal como se grabó) o editarlo en Studio.

Creando un tren con juguetes y un arduino – Parte 2

Ayer compré un tren de juguete y le puse motor, pilas e interruptor. Hoy estuve trabajando en una “pista” (no logré hacer vías, se resbalaba el plástico de las ruedas). Y luego, en una barrera automática.

Para trabajar sobre una superficie que pueda cambiar de lugar (para liberar la mesa), usé unas baldosas grandes que tengo en casa. En ellas fui pegando distintas cosas para guiar el tren, empezando por un tapacanto de melamina que tenía guardado:

Después de varias pruebas llegué a la solución pegando precintos mediante cinta de papel, pero podrían usarse muchas otras soluciones.

Una vez que el trencito ya funcionaba correctamente armé la barrera con el Arduino:

¿Qué se necesita?

  • Placa Arduino
  • Protoboard (placa de prueba / placa sin soldaduras)
  • Cables
  • Servo motor
  • Sensor ultrasónico (distancia)
  • Optativo: un buzzer, batería de 9v y conector Plug Jack para conectarlo al Arduino y usar la barrera sin la computadora

Conexiones

Lo ideal para hacer este montaje es ya haber utilizado por separado cada uno de los tres elementos: el servo motor, el buzzer y el sensor de distancia / ultrasónico.

  • El servo: va conectado al pin 9, a tierra y a VCC (aquí explicación sobre cómo conectar un servo)
    • cable anaranjado: va a un pin de tipo PWD (los de la tilde de la eñe), en este caso al 9
    • cable color marrón: GND (tierra)
    • cable color rojo: +5v
  • El sensor ultrasónico:
    • VCC – a 5v
    • TRIG – al pin 12
    • ECHO – al pin 13
    • GND – a gnd
  • El buzzer
    • Pin 10 (el positivo)
    • GND (el negativo)
Esquema de conexiones armado en Tinkercad (simulador de circuitos)
Esquema de conexiones armado en Tinkercad (simulador de circuitos)

Programa

Aquí comparto el código utilizado para que la barrera se levante cuando el sensor ultrasónico detecta algo cerca:

#include <Servo.h>
#define PIN_TRIG 12
#define PIN_ECO 13
int buzzer = 10;

int tones[ ] = {261, 277, 294, 311, 330, 349, 370, 392, 415, 440,466, 494};
                //DO, DO#, RE, RE#, MI, FA, FA#, SOL, SOL#, A, A#, B
                //Estas son las frecuencias que corresponden a cada nota, para usar en el buzzer
Servo myservo;
int pos = 0;
void setup() {
  Serial.begin (9600);
  pinMode(PIN_TRIG, OUTPUT);
  pinMode(PIN_ECO, INPUT);
  pinMode(buzzer, OUTPUT);
  myservo.attach(9);
}

void loop() {
//Este fragmento de código es para tomar la información del sensor ultrasónico HC-SR04
long duracion, distancia;
digitalWrite(PIN_TRIG, LOW);
delayMicroseconds(2);
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_TRIG, LOW);

duracion=pulseIn(PIN_ECO, HIGH);
distancia=(duracion/2)/29;
//Aquí hacemos que la distancia se muestre en el "Monitor Serial"
Serial.println(distancia);
//Acá ponemos una condición: si la distancia es menor a doce cm, que suene el buzzer y se baje la barrera
if (distancia < 12) {
  //suena el buzzer en la frecuencia indicada por la matriz que está en 
        tone(buzzer, tones[8]);
        delay(50);
        noTone(buzzer);    
        delay(50);
        tone(buzzer, tones[8]);
        delay(50);
        noTone(buzzer);    
        delay(50);
  for (pos = 130; pos >= 0; pos -= 1) { // Lleva la variable pos desde 130 grados hasta 0, de uno en uno
    myservo.write(pos);              // pone el servo en la posición indicada por la variable pos
    delay(15);                       // espera 15ms 
  }      
  delay(1000);
  for (pos = 0; pos <= 130; pos += 1) { // lleva la variable pos desde 0 hasta 130
    myservo.write(pos);              // pone el servo en la posición indicada por la variable pos
    delay(15);                       // espera 15ms
  }
  
        
}
}