Practica

Por pura diversión y como una práctica personal, me he embarcado en una serie de ejercicios básicos de probabilidad. Te invito a acompañarme en este viaje para comprender los conceptos y resolver estos ejercicios juntos. ¡Vamos a sumergirnos en el fascinante

El cálculo de probabilidades permite analizar qué posibilidad tiene de ocurrir un fenómeno que depende de muchas causas, en los que es difícil conocer y predecir los resultados. El origen de la probabilidad se asocia a los juegos de azar y se considera a Blaise Pascal, matemático, filósofo y físico francés del siglo XVII, el fundador de la teoría de probabilidades. Recién en el siglo XX, dicha teoría adquiere una sólida base matemática, y en la actualidad posee variadas aplicaciones, como lo son: calcular el tamaño de una muestra en un control de calidad, averiguar el error de estimación de una encuesta, probar si un tratamiento médico se puede aplicar a enfermos que poseen una enfermedad, etc.

Experimentos aleatorios Tanto en la vida cotidiana como en diversas áreas de conocimiento, se realizan experimentos en los cuales se puede o no conocer su resultado final. Son experimentos aleatorios, por ejemplo, plantar una semilla y medir la altura de la planta luego de 30 días, tirar una piedra al aire y observar a qué distancia cayó, lanzar una moneda y ver si se obtiene cara o cruz, etc.

Si bien no se puede predecir el resultado de un experimento aleatorio, si se pueden describir todos los resultados posibles, o por lo menos, todos aquellos sobre los que se desea investigar.

Por ejemplo, el espacio muestral de lanzar una moneda y anotar que cara sale es {cara, cruz}. Si el experimento consiste en entrevistar a una persona adulta y preguntar su ocupación, el espacio muestral será {ama de casa, estudiante, mozo, electricista, ….}. En cambio, si el experimento consiste en conocer el nivel educativo finalizado por una persona y su edad, el espacio muestral será {(primario , 54) ; (secundario , 25) ; (primario , 23), …..} , por lo que dicho espacio muestral estará formado por todos los pares (nivel educativo finalizado , edad) posibles.

Un experimento es aleatorio cuando no se puede predecir exactamente el resultado por más que se lo repita bajo las mismas condiciones.

Se llama espacio muestral de un experimento aleatorio al conjunto formado por todos los resultados posibles de dicho experimento.

a. Arrojar un dado y anotar el número que sale: Espacio muestral: {1, 2, 3, 4, 5, 6}

  1. Arrojar un dado y una moneda: Espacio muestral: {(1, cara), (1, cruz), (2, cara), (2, cruz), (3, cara), (3, cruz), (4, cara), (4, cruz), (5, cara), (5, cruz), (6, cara), (6, cruz)}

  2. Girar una ruleta en el casino y ver qué número salió: Espacio muestral: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36}

  3. Anotar el último número de la patente del próximo auto que pase: Espacio muestral: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

  4. Elegir una carta al azar de un mazo de naipes españoles (sin los comodines) y reconocer de qué palo es: Espacio muestral: {Oros, Copas, Espadas, Bastos}

  5. Girar una ruleta en el casino y ver qué color salió: Espacio muestral: {Rojo, Negro}

`

Repuestas:

  1. Para el conjunto {(cara, cruz), (cara, cara), (cruz, cara), (cruz, cruz)} se propone un experimento en el que se lanzan dos monedas al mismo tiempo y registran los resultados. Por ejemplo, “cara, cruz” significa que la primera moneda mostró cara y la segunda moneda mostró cruz. De esta manera, el espacio muestral sería todas las posibles combinaciones de resultados de las dos monedas.

  2. . Para el conjunto {lunes, martes, miércoles, jueves, viernes}, propongo un experimento en el que seleccionamos aleatoriamente un día de la semana de un sombrero que contiene los nombres de los días. El espacio muestral sería todos los días posibles que podrías seleccionar.

  3. Para el conjunto {2, 4, 6}, propongo un experimento en el que lanzas un dado justo y registras el número que sale. El espacio muestral sería {1, 2, 3, 4, 5, 6}, pero solo te interesarían los resultados que coinciden con el conjunto dado.{2, 4, 6}

El espacio muestral del experimento “sacar una bola de cada caja y anotar el resultado (color, número)” estará compuesto por todas las posibles combinaciones de colores y números de las bolas de ambas cajas. Dado que en la primera caja hay tres bolas de diferentes colores (roja, amarilla y verde) y en la segunda caja hay cinco bolas enumeradas (números del 1 al 5), el espacio muestral será:

Espacio muestral = {(Roja, 1), (Roja, 2), (Roja, 3), (Roja, 4), (Roja, 5), (Amarilla, 1), (Amarilla, 2), (Amarilla, 3), (Amarilla, 4), (Amarilla, 5), (Verde, 1), (Verde, 2), (Verde, 3), (Verde, 4), (Verde, 5)}

Este espacio muestral contiene todas las posibles combinaciones de una bola

Técnicas de conteo

Muchas veces nos encontramos frente a la necesidad de contar las distintas formas en que se pueden disponer o agrupar los elementos de un conjunto. Este recuento, en algunos casos es sencillo y en otros no. La combinatoria provee las herramientas necesarias para lograr este propósito. Comenzaremos con las siguientes actividades:de color (roja, amarilla o verde) y una bola numerada (del 1 al 5) que podrían obtenerse al sacar una bola de cada caja.

En argentina, la chapa patente de los automóviles estaba formada por tres letras y tres números. En la siguiente imagen, se han borrado los dos últimos números. ¿A cuántos autos podría pertenecer esta chapa patente?

\(26 * 26 * 26 = 17,576\) combinaciones posibles.

\(10 * 10 = 100\) combinaciones posibles.

\(17,576\) (combinaciones de letras) \(x 100\) (combinaciones de números) \(= 1,757,600\)

Por lo tanto, podría haber 1,757,600 automóviles diferentes con la misma combinación de letras de la imagen, pero con números diferentes en los dos últimos lugares de la chapa patente.

Hay 3 opciones para el plato principal, 2 opciones para el postre y 3 opciones para la bebida. Para calcular el número total de combinaciones posibles, simplemente multiplicamos el número de opciones para cada categoría:

Número de opciones para el plato principal: 3 Número de opciones para el postre: 2 Número de opciones para la bebida: 3

Entonces, el número total de formas distintas de armar el almuerzo es:

\(3 * 3 * 2 =18\)

Por lo tanto, una persona puede armar su almuerzo de 18 maneras distintas, eligiendo una de las tres opciones de plato principal, una de las dos opciones de postre y una de las tres opciones de bebida.

Para encontrar todos los anagramas posibles de la palabra “paz”, podemos usar el principio fundamental del conteo. La palabra “paz” tiene 3 letras diferentes, por lo que podemos calcular el número de anagramas como:

\(n!\)

Donde \(n!\) representa el factorial de \(n\), que es el producto de todos los enteros positivos desde 1 hasta \(n\).

\(3! = 3 \times 2 \times 1 = 6\)

Por lo tanto, hay 6 anagramas posibles de la palabra “paz”. Estos anagramas son:

  1. paz
  2. pza
  3. azp
  4. apz
  5. zpa
  6. zap

Así que hay 6 anagramas diferentes que se pueden formar con las letras de la palabra “paz”.

Podemos pensar y resolver las actividades anteriores de varias maneras. A continuación, propondremos dos de ellas: el diagrama de árbol y el diagrama de casillas. Para la segunda actividad, si consideramos que se eligió milanesas con puré como plato principal, podemos armar el siguiente diagrama:

Vemos que tenemos seis opciones posibles, y lo mismo ocurre para los otros dos platos principales, por lo que todas las maneras posibles de armar el almuerzo son 18.

Esta estrategia de conteo, llamada diagrama de árbol, ya la estudiamos y ejercitamos en el módulo 1, y es útil cuando la cantidad de ramas no es muy grande como en este caso. Otra estrategia posible es realizar un diagrama de casillas, en el cual contamos mentalmente todas las posibilidades para cada rama del diagrama de árbol y luego multiplicamos para obtener todas las combinaciones posibles. Para el ejemplo anterior, deberíamos proceder así:

Esta estrategia de conteo es mucho más ágil que realizar el diagrama de árbol.

Si la situación cuyas posibilidades se desea calcular posee varias etapas se puede utilizar el diagrama de casillas. Para ello, si en la primera etapa hay m opciones, en la segunda hay n opciones, en la tercera hay p opciones, y así sucesivamente, el número total de posibilidades es m . n . p . …

Actividad 4. Para formar números de 3 cifras distintas con los dígitos 4, 5 y 6, sin repetir ninguna cifra, podemos usar el principio fundamental del conteo. Hay 3 opciones para la primera cifra, 2 opciones para la segunda cifra (ya que no podemos repetir la cifra seleccionada en el primer lugar) y 1 opción para la tercera cifra. Por lo tanto, el número total de números de 3 cifras distintas que se pueden formar es:

\(3 \times 2 \times 1 = 6\) números.

Los números son: 456, 465, 546, 564, 645, 654.

Actividad 5. Para encontrar todos los anagramas de la palabra “roca”, podemos usar el principio fundamental del conteo. La palabra “roca” tiene 4 letras, por lo que hay \(4!\) formas de organizar esas letras:

\(4! = 4 \times 3 \times 2 \times 1 = 24\) anagramas.

Actividad 6. a. Para calcular la cantidad de números de 4 cifras distintas que se pueden formar con 2, 3, 4 y 5, podemos usar el principio fundamental del conteo. Hay 4 opciones para la primera cifra, 3 opciones para la segunda cifra (ya que no podemos repetir la cifra seleccionada en el primer lugar), 2 opciones para la tercera cifra y 1 opción para la cuarta cifra. Por lo tanto, el número total de números de 4 cifras distintas es:

\(4 \times 3 \times 2 \times 1 = 24\) números.

  1. Cuando formas números con un conjunto de cifras que contiene la misma cantidad de cifras pares e impares, como en el caso de los números 2, 3, 4 y 5 (dos pares y dos impares), es probable que las combinaciones resultantes también mantengan un equilibrio entre números pares e impares. En este ejemplo específico, con 12 combinaciones posibles de números pares (2 y 4) y 12 combinaciones posibles de números impares (3 y 5) de las 24 combinaciones totales, se observa este equilibrio. Este principio es relevante en situaciones donde la paridad de los números juega un papel importante en el problema o en el cálculo de probabilidades.

c.d. Dado que se pueden formar un total de 24 números diferentes con 4 dígitos, podríamos asumir que estos números se distribuyen de manera equitativa entre los dígitos 2, 3, 4 y 5. Esto significa que habría 6 combinaciones distintas para cada uno de estos dígitos al principio de los números. Con esta información, podemos deducir las respuestas a las preguntas c y d, es decir, que habrá 6 números menores a 3.000 y 12 números mayores a 4.000.

Actividad 7: Para calcular de cuántas maneras diferentes se pueden sentar 7 personas en una hilera, puedes usar el concepto de permutaciones. La fórmula para calcular el número de permutaciones de n elementos es n!. En este caso, tienes 7 personas, por lo que el número de maneras diferentes de sentarlas en una hilera sería 7! (7 factorial).

\(7! = 7 \times 6 \times 5 \times 4 \times 3 \times 2 \times 1 = 5,040\)

Por lo tanto, se pueden sentar 7 personas de 5,040 maneras diferentes en una hilera.

Actividad 8:

La fórmula general para calcular el número de combinaciones de n elementos tomados de r en r se expresa como:

\[C(n, r) = \frac{n!}{r!(n - r)!}\]

Donde: - \(n\) es el número total de elementos (en este caso, 4 personas). - \(r\) es el número de elementos que estamos seleccionando a la vez para formar una pareja (en este caso, 2 personas). - \(n!\) significa el factorial de \(n\), que es el producto de todos los enteros positivos desde 1 hasta \(n\).

Entonces, aplicando esta fórmula a tu situación:

Luego, calculamos \(C(4, 2)\) de la siguiente manera:

\[C(4, 2) = \frac{4!}{2!(4 - 2)!} = \frac{4!}{2! \cdot 2!} = \frac{4 \cdot 3 \cdot 2 \cdot 1}{(2 \cdot 1) \cdot (2 \cdot 1)} = \frac{24}{4} = 6\]

Por lo tanto, hay 6 parejas distintas que se pueden formar con Ana, Paula, Marcos y Luz para el torneo de truco.

Existen más técnicas de conteo necesarias para otras situaciones que no desarrollaremos aquí, pero que pueden ser halladas en cualquier libro de texto bajo el título combinatoria

Sucesos Dado un experimento aleatorio, es decir, un experimento del cual no se puede predecir su resultado ya que éste depende del azar, definimos anteriormente su espacio muestral como el conjunto formado por todos los resultados posibles. De dicho conjunto, es posible considerar otros que estén incluidos en él, a los que se llamarán sucesos. Por ejemplo, si el experimento consiste en tirar un dado y anotar los resultados posibles, su espacio muestral será {1 , 2 , 3 , 4 , 5 , 6}. Un suceso que se puede definir es “ser un número par”, el cual sería el conjunto {2 , 4 , 6} o “ser un número menor a 5”, el cual es {1 , 2 , 3 , 4 }. El suceso “ser mayor a 7” es posible considerarlo, se lo llama suceso imposible y se lo representa { }. En el ejemplo anterior, un suceso seguro sería “ser menor a 7”, al cual le corresponde el conjunto {1 , 2 , 3 , 4 , 5 , 6}, que previamente definimos como el espacio muestral.

Un suceso es un conjunto formado por uno, ninguno o varios resultados posibles.

Cuando el suceso coincide con el espacio muestral se lo llama suceso seguro.

  1. Obtener el comodín: Este suceso ocurre cuando extraes la carta que representa el comodín.

  2. Sacar el 1 de Oro: Este suceso ocurre cuando extraes la carta que representa el 1 de Oro de la baraja española.

  3. Sacar el 7 de Espada: Este suceso ocurre cuando extraes la carta que representa el 7 de Espada de la baraja española.

Estos tres sucesos representan la posibilidad de extraer estas cartas específicas de la baraja española en el experimento de “extraer una carta y observar qué carta es”.

Para el experimento de “hacer girar una ruleta de casino y observar el número en el que cayó la bola,” el espacio muestral consiste en todos los números del 0 al 36. A continuación, se presentan los conjuntos correspondientes a cada suceso:

  1. “Ser un número impar menor a 10”:
    • Conjunto correspondiente: {1, 3, 5, 7, 9}
    • Explicación: Este conjunto incluye todos los números impares que son menores a 10 y que pueden aparecer en la ruleta.
  2. “Ser un número múltiplo de 5”:
    • Conjunto correspondiente: {0, 5, 10, 15, 20, 25, 30, 35}
    • Explicación: Este conjunto incluye todos los números que son múltiplos de 5 y que pueden aparecer en la ruleta.
  3. “Ser mayor a 36”:
    • Conjunto correspondiente: {}
    • Explicación: Ningún número en el espacio muestral es mayor a 36, ya que el espacio muestral original incluye números del 0 al 36. Por lo tanto, el conjunto correspondiente está vacío, ya que no hay números que satisfagan esta condición dentro del espacio muestral dado.

A continuación, repetiremos el mismo experimento, pero en lugar de hacer 50 tiros, debemos hacer 100 y anotar los números obtenidos en la siguiente grilla:

# Generar un vector con 100 lanzamientos de un dado de 6 caras
set.seed(123)  # Esto asegura que los resultados sean reproducibles
dado <- sample(1:6, 100, replace = TRUE)
print(dado)
  [1] 3 6 3 2 2 6 3 5 4 6 6 1 2 3 5 3 3 1 4 1 1 5 3 2 2 1 6 3 4 6 1 3 5 4 2 5 1 1 2 3 4 5 5 3 6 1 2 5 5 4 5 2 1 1 3
 [56] 1 6 5 1 2 4 4 6 6 3 6 6 1 6 2 1 2 4 5 5 6 3 1 4 6 1 6 1 3 6 4 1 6 6 3 6 5 3 6 2 5 5 3 2 2

Con los datos obtenidos en el nuevo experimento, completar la siguiente tabla de frecuencias:

Actividad 11:

  1. Arrojar una moneda:

    • El espacio muestral consta de 2 elementos: cara (C) o cruz (X).
  2. Arrojar un dado y una moneda:

    • El espacio muestral del dado tiene 6 elementos (1, 2, 3, 4, 5, 6).
    • El espacio muestral de la moneda tiene 2 elementos (Cara, Cruz).
    • El espacio muestral combinado tendrá 6 (del dado) * 2 (de la moneda) = 12 elementos.
  3. Anotar el último número de la patente del próximo auto que pase: -123 ABC

  4. Extraer una carta al azar de un mazo de naipes españoles:

    • Un mazo de naipes españoles consta de 50 cartas.
    • El espacio muestral tendrá 50 elementos, uno para cada carta en el mazo.

Actividad 12:

  1. Probabilidad de sacar un as:
    • En un mazo de naipes españoles, hay 4 ases (uno por cada palo).
    • La probabilidad de sacar un as es 4/50.(0,08% de probabilidad)
  2. Probabilidad de sacar una carta menor que 10:
    • Cada palo tiene cartas numeradas del 1 al 12.
    • Hay 4 palos en total.
    • El número total de cartas menores que 10 es 4 (por palo) * 9 (cartas numeradas) = 36.
    • La probabilidad de sacar una carta menor que 10 es 36/50 (0,72% de Probabilidad).
  3. Probabilidad de sacar un comodín:
    • En un mazo de naipes españoles, hay 2 comodines.
    • La probabilidad de sacar un comodín es 2/50, es decir, 0,04% de probabilidades.
  4. Probabilidad de sacar una carta de copas:
    • Cada palo tiene 12 cartas.
    • El número de cartas de copas es 12.
    • La probabilidad de sacar una carta de copas es 12/50, es decir, 0,24% de Probabilidades.
  5. Probabilidad de sacar una figura de oro o basto:
    • Cada palo tiene 3 figuras: sota, caballo y rey.
    • Hay 4 palos en total.
    • El número total de figuras de oro o basto es 2 (por palo) * 3 (figuras) = 6.
    • La probabilidad de sacar una figura de oro o basto es 6/50, es decir, 12% de probabilidades.
  6. Probabilidad de sacar un dos o un cinco que no sea de espadas:
    • Hay un 2 y un 5 en cada palo.
    • Excluyendo el palo de espadas, que tiene sus propios 2 y 5, hay 3 palos.
    • El número total de doses y cincos que no son de espadas es 3 (palos) * 2 (cartas) = 6.
    • La probabilidad de sacar un dos o un cinco que no sea de espadas es 6/50,es decir, 12% de probabilidades.

Actividad 13

  1. Primero, calculamos cuántos números corresponden a cada una de las 25 personas dividiendo el número total de números (100) entre el número de personas (25). Esto nos da el número de números por persona:

    \[ \text{Números por Persona} = \frac{\text{Números Totales}}{\text{Número de Personas}} = \frac{100}{25} = 4 \]

  2. Luego, para calcular la probabilidad de ganar para cada persona, utilizamos la siguiente fórmula:

    \[ \text{Probabilidad de Ganar} = \frac{\text{Casos Favorables}}{\text{Casos Totales}} \]

    Donde:

    • Casos Favorables son los números asignados a cada persona (en este caso, 4).
    • Casos Totales son el número total de números posibles (en este caso, 100).
  3. Sustituyendo los valores en la fórmula:

    \[ \text{Probabilidad de Ganar} = \frac{4}{100} \]

  4. Finalmente, calculamos la probabilidad de ganar:

    \[ \text{Probabilidad de Ganar} = 0.04 = 4\% \]

Así que, en este sorteo, cada persona tiene una probabilidad del 4% de ganar el desayuno sorpresa, ya que cada una de las 25 personas tiene asignados 4 números de los 100 números posibles.

Actividad 14

Para calcular las probabilidades en esta situación, primero debemos determinar el número total de bombones en la caja y luego contar cuántos de cada tipo hay.

Datos: - Bombones totales en la caja: 12 - Chocolate blanco: 3 - Trufas: 4 - Rellenos: 5

Ahora, procedemos a calcular las probabilidades:

  1. Probabilidad de sacar un bombón de chocolate blanco o uno relleno:

La probabilidad de sacar un bombón de chocolate blanco se calcula dividiendo el número de bombones de chocolate blanco entre el número total de bombones:

\[ \text{Probabilidad de chocolate blanco} = \frac{\text{Bombones de chocolate blanco}}{\text{Total de bombones}} = \frac{3}{12} = \frac{1}{4} \]

La probabilidad de sacar un bombón relleno se calcula de manera similar:

\[ \text{Probabilidad de relleno} = \frac{\text{Bombones rellenos}}{\text{Total de bombones}} = \frac{5}{12} \]

  1. Probabilidad de que no sea una trufa:

La probabilidad de que no sea una trufa se calcula restando la probabilidad de sacar una trufa del total de 1.

La probabilidad de sacar una trufa es:

\[ \text{Probabilidad de trufa} = \frac{\text{Trufas}}{\text{Total de bombones}} = \frac{4}{12} = \frac{1}{3} \]

Por lo tanto, la probabilidad de que no sea una trufa es:

\[ \text{Probabilidad de no ser trufa} = 1 - \text{Probabilidad de trufa} = 1 - \frac{1}{3} = \frac{2}{3} \]

Entonces, resumiendo:

  1. La probabilidad de sacar un bombón de chocolate blanco es 1/4, y la probabilidad de sacar un bombón relleno es 5/12.

  2. La probabilidad de que no sea una trufa es 2/3.

Actividad 15:

Para calcular las probabilidades en esta actividad, primero necesitamos conocer el espacio muestral, que es el conjunto de todos los números enteros entre -3 y 3 (ambos inclusive). Luego, podemos calcular las probabilidades de cada evento.

Espacio Muestral: {-3, -2, -1, 0, 1, 2, 3}

  1. Probabilidad de ser cero:

La probabilidad de elegir cero es 1/7, ya que hay un solo cero en el espacio muestral y 7 números en total.

  1. Probabilidad de ser impar:

Los números impares en el espacio muestral son: -3, -1, 1, 3. Hay 4 números impares.

\[ \text{Probabilidad de ser impar} = \frac{\text{Número de impares}}{\text{Total de números en el espacio muestral}} = \frac{4}{7} \]

  1. Probabilidad de ser positivo:

Los números positivos en el espacio muestral son: 0, 1, 2, 3. Hay 4 números positivos.

\[ \text{Probabilidad de ser positivo} = \frac{\text{Número de positivos}}{\text{Total de números en el espacio muestral}} = \frac{4}{7} \]

  1. Probabilidad de ser menor que 1:

Los números menores que 1 en el espacio muestral son: -3, -2, -1, 0. Hay 4 números que son menores que 1.

\[ \text{Probabilidad de ser menor que 1} = \frac{\text{Número de números menores que 1}}{\text{Total de números en el espacio muestral}} = \frac{4}{7} \]

Actividad 16:

  1. Probabilidad de que sea negra:

La probabilidad de extraer una tarjeta negra es el cociente entre el número de tarjetas negras y el número total de tarjetas en la caja.

\[ \text{Probabilidad de ser negra} = \frac{\text{Número de tarjetas negras}}{\text{Total de tarjetas en la caja}} = \frac{5}{40} = \frac{1}{8} \]

  1. Probabilidad de que no sea roja (es decir, sea negra):

La probabilidad de que no sea roja es igual a la probabilidad de que sea negra.

\[ \text{Probabilidad de no ser roja (ser negra)} = \frac{1}{8} \]

Actividad 17

Espacio Muestral: {sin premio, tv, sin premio, tv, sin premio, Europa, sin premio, tv, sin premio, auto, sin premio, Europa}

  1. Probabilidad de no ganar un premio:

Para calcular la probabilidad de no ganar un premio, debemos contar cuántas veces aparece “sin premio” en el espacio muestral y luego dividir por el número total de posibilidades.

Número de veces que “sin premio” aparece en el espacio muestral: 6 Número total de posibilidades en el espacio muestral: 12

\[ \text{Probabilidad de no ganar un premio} = \frac{\text{Número de "sin premio"}}{\text{Número total de posibilidades}} = \frac{6}{12} = \frac{1}{2} \]

  1. Probabilidad de ganar las vacaciones en Europa:

Para calcular la probabilidad de ganar las vacaciones en Europa, contamos cuántas veces aparece “Europa” en el espacio muestral y dividimos por el número total de posibilidades.

Número de veces que “Europa” aparece en el espacio muestral: 2

\[ \text{Probabilidad de ganar las vacaciones en Europa} = \frac{\text{Número de "Europa"}}{\text{Número total de posibilidades}} = \frac{2}{12} = \frac{1}{6} \]

  1. Probabilidad de ganar una TV:

Para calcular la probabilidad de ganar una TV, contamos cuántas veces aparece “tv” en el espacio muestral y dividimos por el número total de posibilidades.

Número de veces que “tv” aparece en el espacio muestral: 3

\[ \text{Probabilidad de ganar una TV} = \frac{\text{Número de "tv"}}{\text{Número total de posibilidades}} = \frac{3}{12} = \frac{1}{4} \]

  1. Probabilidad de no ganar el auto:

Para calcular la probabilidad de no ganar el auto, contamos cuántas veces aparece “auto” en el espacio muestral y luego restamos esta probabilidad de 1 (ya que no ganar el auto es el complemento de ganar el auto).

Número de veces que “auto” aparece en el espacio muestral: 1

\[ \text{Probabilidad de no ganar el auto} = 1 - \text{Probabilidad de ganar el auto} = 1 - \frac{1}{12} = \frac{11}{12} \]

Entonces, las probabilidades son: a. Probabilidad de no ganar un premio = 1/2 b. Probabilidad de ganar las vacaciones en Europa = 1/6 c. Probabilidad de ganar una TV = 1/4 d. Probabilidad de no ganar el auto = 11/12

La suma de las probabilidades de a, b y c es:

\(P(a) + P(b) + P(c) = 1\% + 25\% + 12\% = 38\%\)

Entonces, la suma de las probabilidades de d y e será igual al complemento de esta suma a 100%:

\(P(d) + P(e) = 100\% - 38\% = 62\%\)

Como tanto d como e tienen iguales probabilidades, podemos dividir esta suma entre dos:

\(P(d) = P(e) = \frac{62\%}{2} = 31\%\)

Por lo tanto, la probabilidad tanto para d como para e es del 31%.

a. Cálculo de la cantidad de números de 5 cifras utilizando los dígitos 1, 2 y 3:

En primer lugar, consideremos cuántos números de 5 cifras se pueden construir utilizando los dígitos 1, 2 y 3. Para ello, aplicamos el principio de la multiplicación, dado que cada una de las 5 cifras en el número tiene 3 posibles opciones: 1, 2 o 3.

\(3 \times 3 \times 3 \times 3 \times 3 = 3^5 = 243\)

Por lo tanto, existen un total de 243 números de 5 cifras que pueden ser formados utilizando únicamente los dígitos 1, 2 y 3.

b. Determinación de la cantidad de números pares de 5 cifras:

Ahora, para determinar cuántos de estos números de 5 cifras son pares, debemos observar la última cifra de cada número, ya que esto define si el número en su totalidad es par o no. Entre los dígitos 1, 2 y 3, solo el número 2 es par. Por lo tanto, un número de 5 cifras será par si y solo si termina en 2.

Para calcular cuántos números terminan en 2, debemos considerar las posiciones restantes y determinar cuántas combinaciones son posibles utilizando los dígitos 1 y 3 en esas posiciones. El número de opciones para cada posición es 3 (1, 2 o 3), excepto para la última posición, que debe ser 2 para que el número sea par.

Para la quinta posición, que debe ser 2 para que el número sea par, tenemos 1 opción.

Entonces, el número de números de 5 cifras que son pares y se pueden formar utilizando los dígitos 1, 2 y 3 es:

\(3 \times 3 \times 3 \times 3 \times 1 = 3^4 = 81\)

En consecuencia, existen 81 números de 5 cifras en este conjunto que son pares.

b2. Cantidad de números impares de 5 cifras:

Para calcular la cantidad de números impares de 5 cifras en este conjunto, simplemente restamos la cantidad de números pares de 5 cifras del total de números posibles:

\(243 - 81 = 162\)

Por lo tanto, hay 162 números impares de 5 cifras.

b3. Probabilidad de elegir un número impar al azar:

La probabilidad de seleccionar un número impar al azar se obtiene dividiendo la cantidad de números impares entre el total de números posibles:

\(\frac{162}{243} = \frac{2}{3}\)

La probabilidad de seleccionar un número impar al azar es de \(\frac{2}{3}\) o aproximadamente 66.67%.

LS0tDQp0aXRsZTogIlByb2JhYmlsaWRhZCINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQojIyBQcmFjdGljYQ0KDQo8c3BhbiBzdHlsZT0iY29sb3I6I0M5MkM2RCI+KlBvciBwdXJhIGRpdmVyc2nDs24geSBjb21vIHVuYSBwcsOhY3RpY2EgcGVyc29uYWwsIG1lIGhlIGVtYmFyY2FkbyBlbiB1bmEgc2VyaWUgZGUgZWplcmNpY2lvcyBiw6FzaWNvcyBkZSBwcm9iYWJpbGlkYWQuIFRlIGludml0byBhIGFjb21wYcOxYXJtZSBlbiBlc3RlIHZpYWplIHBhcmEgY29tcHJlbmRlciBsb3MgY29uY2VwdG9zIHkgcmVzb2x2ZXIgZXN0b3MgZWplcmNpY2lvcyBqdW50b3MuIMKhVmFtb3MgYSBzdW1lcmdpcm5vcyBlbiBlbCBmYXNjaW5hbnRlKg0KDQoNCg0KRWwgY8OhbGN1bG8gZGUgcHJvYmFiaWxpZGFkZXMgcGVybWl0ZSBhbmFsaXphciBxdcOpIA0KcG9zaWJpbGlkYWQgdGllbmUgZGUgb2N1cnJpciB1biBmZW7Ds21lbm8gcXVlIGRlcGVuZGUgDQpkZSBtdWNoYXMgY2F1c2FzLCBlbiBsb3MgcXVlIGVzIGRpZsOtY2lsIGNvbm9jZXIgeSANCnByZWRlY2lyIGxvcyByZXN1bHRhZG9zLg0KRWwgb3JpZ2VuIGRlIGxhIHByb2JhYmlsaWRhZCBzZSBhc29jaWEgYSBsb3MganVlZ29zIA0KZGUgYXphciB5IHNlIGNvbnNpZGVyYSBhIEJsYWlzZSBQYXNjYWwsIG1hdGVtw6F0aWNvLCANCmZpbMOzc29mbyB5IGbDrXNpY28gZnJhbmPDqXMgZGVsIHNpZ2xvIFhWSUksIGVsIGZ1bmRhZG9yIGRlIGxhIA0KdGVvcsOtYSBkZSBwcm9iYWJpbGlkYWRlcy4gUmVjacOpbiBlbiBlbCBzaWdsbyBYWCwgZGljaGEgDQp0ZW9yw61hIGFkcXVpZXJlIHVuYSBzw7NsaWRhIGJhc2UgbWF0ZW3DoXRpY2EsIHkgZW4gbGEgDQphY3R1YWxpZGFkIHBvc2VlIHZhcmlhZGFzIGFwbGljYWNpb25lcywgY29tbyBsbyBzb246IA0KY2FsY3VsYXIgZWwgdGFtYcOxbyBkZSB1bmEgbXVlc3RyYSBlbiB1biBjb250cm9sIGRlIA0KY2FsaWRhZCwgYXZlcmlndWFyIGVsIGVycm9yIGRlIGVzdGltYWNpw7NuIGRlIHVuYSANCmVuY3Vlc3RhLCBwcm9iYXIgc2kgdW4gdHJhdGFtaWVudG8gbcOpZGljbyBzZSBwdWVkZSBhcGxpY2FyIGEgZW5mZXJtb3MgcXVlIHBvc2VlbiB1bmEgZW5mZXJtZWRhZCwgDQpldGMuDQoNCkV4cGVyaW1lbnRvcyBhbGVhdG9yaW9zDQpUYW50byBlbiBsYSB2aWRhIGNvdGlkaWFuYSBjb21vIGVuIA0KZGl2ZXJzYXMgw6FyZWFzIGRlIGNvbm9jaW1pZW50bywgc2UgDQpyZWFsaXphbiBleHBlcmltZW50b3MgZW4gbG9zIGN1YWxlcyBzZSANCnB1ZWRlIG8gbm8gY29ub2NlciBzdSByZXN1bHRhZG8gZmluYWwuDQpTb24gZXhwZXJpbWVudG9zIGFsZWF0b3Jpb3MsIHBvciBlamVtcGxvLCBwbGFudGFyIHVuYSBzZW1pbGxhIHkgbWVkaXIgbGEgYWx0dXJhIGRlIGxhIHBsYW50YSANCmx1ZWdvIGRlIDMwIGTDrWFzLCB0aXJhciB1bmEgcGllZHJhIGFsIGFpcmUgeSBvYnNlcnZhciBhIHF1w6kgZGlzdGFuY2lhIGNhecOzLCBsYW56YXIgdW5hIG1vbmVkYSB5IHZlciBzaSBzZSANCm9idGllbmUgY2FyYSBvIGNydXosIGV0Yy4NCg0KU2kgYmllbiBubyBzZSBwdWVkZSBwcmVkZWNpciBlbCByZXN1bHRhZG8gZGUgdW4gDQpleHBlcmltZW50byBhbGVhdG9yaW8sIHNpIHNlIHB1ZWRlbiBkZXNjcmliaXIgdG9kb3MgDQpsb3MgcmVzdWx0YWRvcyBwb3NpYmxlcywgbyBwb3IgbG8gbWVub3MsIHRvZG9zIA0KYXF1ZWxsb3Mgc29icmUgbG9zIHF1ZSBzZSBkZXNlYSBpbnZlc3RpZ2FyLg0KDQpQb3IgZWplbXBsbywgZWwgZXNwYWNpbyBtdWVzdHJhbCBkZSBsYW56YXIgdW5hIG1vbmVkYSB5IGFub3RhciBxdWUgY2FyYSBzYWxlIGVzIHtjYXJhLCBjcnV6fS4gU2kgDQplbCBleHBlcmltZW50byBjb25zaXN0ZSBlbiBlbnRyZXZpc3RhciBhIHVuYSBwZXJzb25hIGFkdWx0YSB5IHByZWd1bnRhciBzdSBvY3VwYWNpw7NuLCBlbCBlc3BhY2lvIA0KbXVlc3RyYWwgc2Vyw6Ege2FtYSBkZSBjYXNhLCBlc3R1ZGlhbnRlLCBtb3pvLCBlbGVjdHJpY2lzdGEsIOKApi59LiBFbiBjYW1iaW8sIHNpIGVsIGV4cGVyaW1lbnRvIGNvbnNpc3RlIA0KZW4gY29ub2NlciBlbCBuaXZlbCBlZHVjYXRpdm8gZmluYWxpemFkbyBwb3IgdW5hIHBlcnNvbmEgeSBzdSBlZGFkLCBlbCBlc3BhY2lvIG11ZXN0cmFsIHNlcsOhIA0KeyhwcmltYXJpbyAsIDU0KSA7IChzZWN1bmRhcmlvICwgMjUpIDsgKHByaW1hcmlvICwgMjMpLCDigKYuLn0gLCBwb3IgbG8gcXVlIGRpY2hvIGVzcGFjaW8gbXVlc3RyYWwgZXN0YXLDoSANCmZvcm1hZG8gcG9yIHRvZG9zIGxvcyBwYXJlcyAobml2ZWwgZWR1Y2F0aXZvIGZpbmFsaXphZG8gLCBlZGFkKSBwb3NpYmxlcy4gDQoNCg0KVW4gZXhwZXJpbWVudG8gZXMgYWxlYXRvcmlvIGN1YW5kbyBubyBzZSBwdWVkZSANCnByZWRlY2lyIGV4YWN0YW1lbnRlIGVsIHJlc3VsdGFkbyBwb3IgbcOhcyBxdWUgc2UgDQpsbyByZXBpdGEgYmFqbyBsYXMgbWlzbWFzIGNvbmRpY2lvbmVzLg0KDQpTZSBsbGFtYSBlc3BhY2lvIG11ZXN0cmFsIGRlIHVuIA0KZXhwZXJpbWVudG8gYWxlYXRvcmlvIGFsIGNvbmp1bnRvIA0KZm9ybWFkbyBwb3IgdG9kb3MgbG9zIHJlc3VsdGFkb3MgDQpwb3NpYmxlcyBkZSBkaWNobyBleHBlcmltZW50by4NCg0KIVtdKEFjdDEuanBnKQ0KYS4gQXJyb2phciB1biBkYWRvIHkgYW5vdGFyIGVsIG7Dum1lcm8gcXVlIHNhbGU6DQpFc3BhY2lvIG11ZXN0cmFsOiB7MSwgMiwgMywgNCwgNSwgNn0NCg0KYi4gQXJyb2phciB1biBkYWRvIHkgdW5hIG1vbmVkYToNCkVzcGFjaW8gbXVlc3RyYWw6IHsoMSwgY2FyYSksICgxLCBjcnV6KSwgKDIsIGNhcmEpLCAoMiwgY3J1eiksICgzLCBjYXJhKSwgKDMsIGNydXopLCAoNCwgY2FyYSksICg0LCBjcnV6KSwgKDUsIGNhcmEpLCAoNSwgY3J1eiksICg2LCBjYXJhKSwgKDYsIGNydXopfQ0KDQpjLiBHaXJhciB1bmEgcnVsZXRhIGVuIGVsIGNhc2lubyB5IHZlciBxdcOpIG7Dum1lcm8gc2FsacOzOg0KRXNwYWNpbyBtdWVzdHJhbDogezEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNywgMTgsIDE5LCAyMCwgMjEsIDIyLCAyMywgMjQsIDI1LCAyNiwgMjcsIDI4LCAyOSwgMzAsIDMxLCAzMiwgMzMsIDM0LCAzNSwgMzZ9DQoNCmQuIEFub3RhciBlbCDDumx0aW1vIG7Dum1lcm8gZGUgbGEgcGF0ZW50ZSBkZWwgcHLDs3hpbW8gYXV0byBxdWUgcGFzZToNCkVzcGFjaW8gbXVlc3RyYWw6IHswLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5fQ0KDQplLiBFbGVnaXIgdW5hIGNhcnRhIGFsIGF6YXIgZGUgdW4gbWF6byBkZSBuYWlwZXMgZXNwYcOxb2xlcyAoc2luIGxvcyBjb21vZGluZXMpIHkgcmVjb25vY2VyIGRlIHF1w6kgcGFsbyBlczoNCkVzcGFjaW8gbXVlc3RyYWw6IHtPcm9zLCBDb3BhcywgRXNwYWRhcywgQmFzdG9zfQ0KDQpmLiBHaXJhciB1bmEgcnVsZXRhIGVuIGVsIGNhc2lubyB5IHZlciBxdcOpIGNvbG9yIHNhbGnDszoNCkVzcGFjaW8gbXVlc3RyYWw6IHtSb2pvLCBOZWdyb30NCg0KDQpgDQogIA0KIVtdKEFjdDIuanBnKQ0KUmVwdWVzdGFzOg0KDQphLiBQYXJhIGVsIGNvbmp1bnRvICB7KGNhcmEsIGNydXopLCAoY2FyYSwgY2FyYSksIChjcnV6LCBjYXJhKSwgKGNydXosIGNydXopfSBzZSBwcm9wb25lIHVuIGV4cGVyaW1lbnRvDQplbiBlbCBxdWUgc2UgbGFuemFuIGRvcyBtb25lZGFzIGFsIG1pc21vIHRpZW1wbyB5IHJlZ2lzdHJhbiBsb3MgcmVzdWx0YWRvcy4gUG9yIGVqZW1wbG8sICJjYXJhLCBjcnV6IiBzaWduaWZpY2EgcXVlIGxhIHByaW1lcmEgbW9uZWRhIG1vc3Ryw7MgY2FyYSB5IGxhIHNlZ3VuZGEgbW9uZWRhIG1vc3Ryw7MgY3J1ei4gRGUgZXN0YSBtYW5lcmEsIGVsIGVzcGFjaW8gbXVlc3RyYWwgc2Vyw61hIHRvZGFzIGxhcyBwb3NpYmxlcyBjb21iaW5hY2lvbmVzIGRlIHJlc3VsdGFkb3MgZGUgbGFzIGRvcyBtb25lZGFzLg0KDQoNCmIuIC4gUGFyYSBlbCBjb25qdW50byB7bHVuZXMsIG1hcnRlcywgbWnDqXJjb2xlcywganVldmVzLCB2aWVybmVzfSwgcHJvcG9uZ28gIHVuIGV4cGVyaW1lbnRvIGVuIGVsIHF1ZSBzZWxlY2Npb25hbW9zIGFsZWF0b3JpYW1lbnRlIHVuIGTDrWEgZGUgbGEgc2VtYW5hIGRlIHVuIHNvbWJyZXJvIHF1ZSBjb250aWVuZSBsb3Mgbm9tYnJlcyBkZSBsb3MgZMOtYXMuIEVsIGVzcGFjaW8gbXVlc3RyYWwgc2Vyw61hIHRvZG9zIGxvcyBkw61hcyBwb3NpYmxlcyBxdWUgcG9kcsOtYXMgc2VsZWNjaW9uYXIuDQoNCg0KYy4gUGFyYSBlbCBjb25qdW50byB7MiwgNCwgNn0sIHByb3BvbmdvIHVuIGV4cGVyaW1lbnRvIGVuIGVsIHF1ZSBsYW56YXMgdW4gZGFkbyBqdXN0byB5IHJlZ2lzdHJhcyBlbCBuw7ptZXJvIHF1ZSBzYWxlLiBFbCBlc3BhY2lvIG11ZXN0cmFsIHNlcsOtYSB7MSwgMiwgMywgNCwgNSwgNn0sIHBlcm8gc29sbyB0ZSBpbnRlcmVzYXLDrWFuIGxvcyByZXN1bHRhZG9zIHF1ZSBjb2luY2lkZW4gY29uIGVsIGNvbmp1bnRvIGRhZG8uezIsIDQsIDZ9DQoNCg0KIVtdKEFjdDMucG5nKQ0KDQoNCkVsIGVzcGFjaW8gbXVlc3RyYWwgZGVsIGV4cGVyaW1lbnRvICJzYWNhciB1bmEgYm9sYSBkZSBjYWRhIGNhamEgeSBhbm90YXIgZWwgcmVzdWx0YWRvIChjb2xvciwgbsO6bWVybykiIGVzdGFyw6EgY29tcHVlc3RvIHBvciB0b2RhcyBsYXMgcG9zaWJsZXMgY29tYmluYWNpb25lcyBkZSBjb2xvcmVzIHkgbsO6bWVyb3MgZGUgbGFzIGJvbGFzIGRlIGFtYmFzIGNhamFzLiBEYWRvIHF1ZSBlbiBsYSBwcmltZXJhIGNhamEgaGF5IHRyZXMgYm9sYXMgZGUgZGlmZXJlbnRlcyBjb2xvcmVzIChyb2phLCBhbWFyaWxsYSB5IHZlcmRlKSB5IGVuIGxhIHNlZ3VuZGEgY2FqYSBoYXkgY2luY28gYm9sYXMgZW51bWVyYWRhcyAobsO6bWVyb3MgZGVsIDEgYWwgNSksIGVsIGVzcGFjaW8gbXVlc3RyYWwgc2Vyw6E6DQoNCkVzcGFjaW8gbXVlc3RyYWwgPSB7KFJvamEsIDEpLCAoUm9qYSwgMiksIChSb2phLCAzKSwgKFJvamEsIDQpLCAoUm9qYSwgNSksDQooQW1hcmlsbGEsIDEpLCAoQW1hcmlsbGEsIDIpLCAoQW1hcmlsbGEsIDMpLCAoQW1hcmlsbGEsIDQpLCAoQW1hcmlsbGEsIDUpLA0KKFZlcmRlLCAxKSwgKFZlcmRlLCAyKSwgKFZlcmRlLCAzKSwgKFZlcmRlLCA0KSwgKFZlcmRlLCA1KX0NCg0KRXN0ZSBlc3BhY2lvIG11ZXN0cmFsIGNvbnRpZW5lIHRvZGFzIGxhcyBwb3NpYmxlcyBjb21iaW5hY2lvbmVzIGRlIHVuYSBib2xhDQoNCg0KIyMgVMOpY25pY2FzIGRlIGNvbnRlbw0KDQpNdWNoYXMgdmVjZXMgbm9zIGVuY29udHJhbW9zIGZyZW50ZSBhIGxhIG5lY2VzaWRhZCBkZSBjb250YXIgDQpsYXMgZGlzdGludGFzIGZvcm1hcyBlbiBxdWUgc2UgcHVlZGVuIGRpc3BvbmVyIG8gYWdydXBhciBsb3MgZWxlbWVudG9zIA0KZGUgdW4gY29uanVudG8uIEVzdGUgcmVjdWVudG8sIGVuIGFsZ3Vub3MgY2Fzb3MgZXMgc2VuY2lsbG8geSBlbiBvdHJvcyANCm5vLiBMYSBjb21iaW5hdG9yaWEgcHJvdmVlIGxhcyBoZXJyYW1pZW50YXMgbmVjZXNhcmlhcyBwYXJhIGxvZ3JhciBlc3RlIA0KcHJvcMOzc2l0by4NCkNvbWVuemFyZW1vcyBjb24gbGFzIHNpZ3VpZW50ZXMgYWN0aXZpZGFkZXM6ZGUgY29sb3IgKHJvamEsIGFtYXJpbGxhIG8gdmVyZGUpIHkgdW5hIGJvbGEgbnVtZXJhZGEgKGRlbCAxIGFsIDUpIHF1ZSBwb2Ryw61hbiBvYnRlbmVyc2UgYWwgc2FjYXIgdW5hIGJvbGEgZGUgY2FkYSBjYWphLg0KDQoNCkVuIGFyZ2VudGluYSwgbGEgY2hhcGEgcGF0ZW50ZSBkZSBsb3MgYXV0b23Ds3ZpbGVzIA0KZXN0YWJhIGZvcm1hZGEgcG9yIHRyZXMgbGV0cmFzIHkgdHJlcyBuw7ptZXJvcy4gRW4gbGEgDQpzaWd1aWVudGUgaW1hZ2VuLCBzZSBoYW4gYm9ycmFkbyBsb3MgZG9zIMO6bHRpbW9zIG7Dum1lcm9zLiANCsK/QSBjdcOhbnRvcyBhdXRvcyBwb2Ryw61hIHBlcnRlbmVjZXIgZXN0YSBjaGFwYSBwYXRlbnRlPw0KDQoNCisgUGFyYSBsYXMgbGV0cmFzLCBoYXkgMjYgcG9zaWJpbGlkYWRlcyBwYXJhIGNhZGEgdW5hIChBLVopLCB5YSBxdWUgZWwgYWxmYWJldG8gdGllbmUgMjYgbGV0cmFzLiBFbnRvbmNlcywgZWwgbsO6bWVybyB0b3RhbCBkZSBjb21iaW5hY2lvbmVzIHNlcsOtYToNCg0KJDI2ICogMjYgKiAyNiA9IDE3LDU3NiQgY29tYmluYWNpb25lcyBwb3NpYmxlcy4NCg0KKyBQYXJhIGxvcyBuw7ptZXJvcywgaGF5IDEwIHBvc2liaWxpZGFkZXMgKDAtOSkuIEVudG9uY2VzLCBlbCBuw7ptZXJvIHRvdGFsIGRlIGNvbWJpbmFjaW9uZXMgcG9zaWJsZXMgc2Vyw61hOg0KDQokMTAgKiAxMCA9IDEwMCQgIGNvbWJpbmFjaW9uZXMgcG9zaWJsZXMuDQoNCisgUGFyYSBlbmNvbnRyYXIgY3XDoW50YXMgcGF0ZW50ZXMgcG9zaWJsZXMgcG9kcsOtYW4gZXhpc3Rpciwgc2ltcGxlbWVudGUgbXVsdGlwbGljYW1vcyBlbCBuw7ptZXJvIGRlIGNvbWJpbmFjaW9uZXMgZGUgbGV0cmFzIHBvciBlbCBuw7ptZXJvIGRlIGNvbWJpbmFjaW9uZXMgbnVtw6lyaWNhczoNCg0KJDE3LDU3NiQgKGNvbWJpbmFjaW9uZXMgZGUgbGV0cmFzKSAkeCAxMDAkIChjb21iaW5hY2lvbmVzIGRlIG7Dum1lcm9zKSAkPSAxLDc1Nyw2MDAkDQoNClBvciBsbyB0YW50bywgcG9kcsOtYSBoYWJlciAqKjEsNzU3LDYwMCoqIGF1dG9tw7N2aWxlcyBkaWZlcmVudGVzIGNvbiBsYSBtaXNtYSBjb21iaW5hY2nDs24gZGUgbGV0cmFzIGRlIGxhIGltYWdlbiwgcGVybyBjb24gbsO6bWVyb3MgZGlmZXJlbnRlcyBlbiBsb3MgZG9zIMO6bHRpbW9zIGx1Z2FyZXMgZGUgbGEgY2hhcGEgcGF0ZW50ZS4NCg0KDQohW10oQWN0NS5qcGcpDQoNCkhheSAzIG9wY2lvbmVzIHBhcmEgZWwgcGxhdG8gcHJpbmNpcGFsLCAyIG9wY2lvbmVzIHBhcmEgZWwgcG9zdHJlIHkgMyBvcGNpb25lcyBwYXJhIGxhIGJlYmlkYS4gUGFyYSBjYWxjdWxhciBlbCBuw7ptZXJvIHRvdGFsIGRlIGNvbWJpbmFjaW9uZXMgcG9zaWJsZXMsIHNpbXBsZW1lbnRlIG11bHRpcGxpY2Ftb3MgZWwgbsO6bWVybyBkZSBvcGNpb25lcyBwYXJhIGNhZGEgY2F0ZWdvcsOtYToNCg0KTsO6bWVybyBkZSBvcGNpb25lcyBwYXJhIGVsIHBsYXRvIHByaW5jaXBhbDogMw0KTsO6bWVybyBkZSBvcGNpb25lcyBwYXJhIGVsIHBvc3RyZTogMg0KTsO6bWVybyBkZSBvcGNpb25lcyBwYXJhIGxhIGJlYmlkYTogMw0KDQpFbnRvbmNlcywgZWwgbsO6bWVybyB0b3RhbCBkZSBmb3JtYXMgZGlzdGludGFzIGRlIGFybWFyIGVsIGFsbXVlcnpvIGVzOg0KDQokMyAqIDMgKiAyID0xOCQNCg0KUG9yIGxvIHRhbnRvLCB1bmEgcGVyc29uYSBwdWVkZSBhcm1hciBzdSBhbG11ZXJ6byBkZSAxOCBtYW5lcmFzIGRpc3RpbnRhcywgZWxpZ2llbmRvIHVuYSBkZSBsYXMgdHJlcyBvcGNpb25lcyBkZSBwbGF0byBwcmluY2lwYWwsIHVuYSBkZSBsYXMgZG9zIG9wY2lvbmVzIGRlIHBvc3RyZSB5IHVuYSBkZSBsYXMgdHJlcyBvcGNpb25lcyBkZSBiZWJpZGEuDQoNCiFbXShBY3Q2LmpwZykNCg0KUGFyYSBlbmNvbnRyYXIgdG9kb3MgbG9zIGFuYWdyYW1hcyBwb3NpYmxlcyBkZSBsYSBwYWxhYnJhICJwYXoiLCBwb2RlbW9zIHVzYXIgZWwgcHJpbmNpcGlvIGZ1bmRhbWVudGFsIGRlbCBjb250ZW8uIExhIHBhbGFicmEgInBheiIgdGllbmUgMyBsZXRyYXMgZGlmZXJlbnRlcywgcG9yIGxvIHF1ZSBwb2RlbW9zIGNhbGN1bGFyIGVsIG7Dum1lcm8gZGUgYW5hZ3JhbWFzIGNvbW86DQoNClwobiFcKQ0KDQpEb25kZSBcKG4hXCkgcmVwcmVzZW50YSBlbCBmYWN0b3JpYWwgZGUgXChuXCksIHF1ZSBlcyBlbCBwcm9kdWN0byBkZSB0b2RvcyBsb3MgZW50ZXJvcyBwb3NpdGl2b3MgZGVzZGUgMSBoYXN0YSBcKG5cKS4NCg0KXCgzISA9IDMgXHRpbWVzIDIgXHRpbWVzIDEgPSA2XCkNCg0KUG9yIGxvIHRhbnRvLCBoYXkgNiBhbmFncmFtYXMgcG9zaWJsZXMgZGUgbGEgcGFsYWJyYSAicGF6Ii4gRXN0b3MgYW5hZ3JhbWFzIHNvbjoNCg0KMS4gcGF6DQoyLiBwemENCjMuIGF6cA0KNC4gYXB6DQo1LiB6cGENCjYuIHphcA0KDQpBc8OtIHF1ZSBoYXkgNiBhbmFncmFtYXMgZGlmZXJlbnRlcyBxdWUgc2UgcHVlZGVuIGZvcm1hciBjb24gbGFzIGxldHJhcyBkZSBsYSBwYWxhYnJhICJwYXoiLg0KDQoNClBvZGVtb3MgcGVuc2FyIHkgcmVzb2x2ZXIgbGFzIGFjdGl2aWRhZGVzIGFudGVyaW9yZXMgZGUgdmFyaWFzIG1hbmVyYXMuIEEgY29udGludWFjacOzbiwgDQpwcm9wb25kcmVtb3MgZG9zIGRlIGVsbGFzOiBlbCBkaWFncmFtYSBkZSDDoXJib2wgeSBlbCBkaWFncmFtYSBkZSBjYXNpbGxhcy4gDQpQYXJhIGxhIHNlZ3VuZGEgYWN0aXZpZGFkLCBzaSBjb25zaWRlcmFtb3MgcXVlIHNlIGVsaWdpw7MgbWlsYW5lc2FzIGNvbiBwdXLDqSBjb21vIHBsYXRvIA0KcHJpbmNpcGFsLCBwb2RlbW9zIGFybWFyIGVsIHNpZ3VpZW50ZSBkaWFncmFtYToNCg0KDQohW10oQWN0Ny5qcGcpDQoNCg0KVmVtb3MgcXVlIHRlbmVtb3Mgc2VpcyBvcGNpb25lcyBwb3NpYmxlcywgeSBsbyBtaXNtbyBvY3VycmUgcGFyYSBsb3Mgb3Ryb3MgZG9zIHBsYXRvcyANCnByaW5jaXBhbGVzLCBwb3IgbG8gcXVlIHRvZGFzIGxhcyBtYW5lcmFzIHBvc2libGVzIGRlIGFybWFyIGVsIGFsbXVlcnpvIHNvbiAxOC4NCg0KDQpFc3RhIGVzdHJhdGVnaWEgZGUgY29udGVvLCBsbGFtYWRhIGRpYWdyYW1hIGRlIMOhcmJvbCwgeWEgbGEgZXN0dWRpYW1vcyB5IGVqZXJjaXRhbW9zIGVuIGVsIA0KbcOzZHVsbyAxLCB5IGVzIMO6dGlsIGN1YW5kbyBsYSBjYW50aWRhZCBkZSByYW1hcyBubyBlcyBtdXkgZ3JhbmRlIGNvbW8gZW4gZXN0ZSBjYXNvLg0KT3RyYSBlc3RyYXRlZ2lhIHBvc2libGUgZXMgcmVhbGl6YXIgdW4gZGlhZ3JhbWEgZGUgY2FzaWxsYXMsIGVuIGVsIGN1YWwgY29udGFtb3MgbWVudGFsbWVudGUgDQp0b2RhcyBsYXMgcG9zaWJpbGlkYWRlcyBwYXJhIGNhZGEgcmFtYSBkZWwgZGlhZ3JhbWEgZGUgw6FyYm9sIHkgbHVlZ28gbXVsdGlwbGljYW1vcyBwYXJhIG9idGVuZXIgDQp0b2RhcyBsYXMgY29tYmluYWNpb25lcyBwb3NpYmxlcy4gDQpQYXJhIGVsIGVqZW1wbG8gYW50ZXJpb3IsIGRlYmVyw61hbW9zIHByb2NlZGVyIGFzw606ICAgIA0KDQohW10oQWN0OC5qcGcpDQoNCkVzdGEgZXN0cmF0ZWdpYSBkZSBjb250ZW8gZXMgbXVjaG8gbcOhcyDDoWdpbCBxdWUgcmVhbGl6YXIgZWwgZGlhZ3JhbWEgZGUgw6FyYm9sLg0KDQoNClNpIGxhIHNpdHVhY2nDs24gY3V5YXMgcG9zaWJpbGlkYWRlcyBzZSBkZXNlYSBjYWxjdWxhciBwb3NlZSB2YXJpYXMgZXRhcGFzIHNlIA0KcHVlZGUgdXRpbGl6YXIgZWwgZGlhZ3JhbWEgZGUgY2FzaWxsYXMuIFBhcmEgZWxsbywgc2kgZW4gbGEgcHJpbWVyYSBldGFwYSBoYXkgbQ0Kb3BjaW9uZXMsIGVuIGxhIHNlZ3VuZGEgaGF5IG4gb3BjaW9uZXMsIGVuIGxhIHRlcmNlcmEgaGF5IHAgb3BjaW9uZXMsIHkgYXPDrSANCnN1Y2VzaXZhbWVudGUsIGVsIG7Dum1lcm8gdG90YWwgZGUgcG9zaWJpbGlkYWRlcyBlcyBtIC4gbiAuIHAgLiDigKYNCg0KIVtdKEFjdDkuanBnKQ0KDQpBY3RpdmlkYWQgNC4gUGFyYSBmb3JtYXIgbsO6bWVyb3MgZGUgMyBjaWZyYXMgZGlzdGludGFzIGNvbiBsb3MgZMOtZ2l0b3MgNCwgNSB5IDYsIHNpbiByZXBldGlyIG5pbmd1bmEgY2lmcmEsIHBvZGVtb3MgdXNhciBlbCBwcmluY2lwaW8gZnVuZGFtZW50YWwgZGVsIGNvbnRlby4gSGF5IDMgb3BjaW9uZXMgcGFyYSBsYSBwcmltZXJhIGNpZnJhLCAyIG9wY2lvbmVzIHBhcmEgbGEgc2VndW5kYSBjaWZyYSAoeWEgcXVlIG5vIHBvZGVtb3MgcmVwZXRpciBsYSBjaWZyYSBzZWxlY2Npb25hZGEgZW4gZWwgcHJpbWVyIGx1Z2FyKSB5IDEgb3BjacOzbiBwYXJhIGxhIHRlcmNlcmEgY2lmcmEuIFBvciBsbyB0YW50bywgZWwgbsO6bWVybyB0b3RhbCBkZSBuw7ptZXJvcyBkZSAzIGNpZnJhcyBkaXN0aW50YXMgcXVlIHNlIHB1ZWRlbiBmb3JtYXIgZXM6DQoNClwoMyBcdGltZXMgMiBcdGltZXMgMSA9IDZcKSBuw7ptZXJvcy4NCg0KTG9zIG7Dum1lcm9zIHNvbjogNDU2LCA0NjUsIDU0NiwgNTY0LCA2NDUsIDY1NC4NCg0KQWN0aXZpZGFkIDUuIFBhcmEgZW5jb250cmFyIHRvZG9zIGxvcyBhbmFncmFtYXMgZGUgbGEgcGFsYWJyYSAicm9jYSIsIHBvZGVtb3MgdXNhciBlbCBwcmluY2lwaW8gZnVuZGFtZW50YWwgZGVsIGNvbnRlby4gTGEgcGFsYWJyYSAicm9jYSIgdGllbmUgNCBsZXRyYXMsIHBvciBsbyBxdWUgaGF5IFwoNCFcKSBmb3JtYXMgZGUgb3JnYW5pemFyIGVzYXMgbGV0cmFzOg0KDQpcKDQhID0gNCBcdGltZXMgMyBcdGltZXMgMiBcdGltZXMgMSA9IDI0XCkgYW5hZ3JhbWFzLg0KDQoNCkFjdGl2aWRhZCA2Lg0KYS4gUGFyYSBjYWxjdWxhciBsYSBjYW50aWRhZCBkZSBuw7ptZXJvcyBkZSA0IGNpZnJhcyBkaXN0aW50YXMgcXVlIHNlIHB1ZWRlbiBmb3JtYXIgY29uIDIsIDMsIDQgeSA1LCBwb2RlbW9zIHVzYXIgZWwgcHJpbmNpcGlvIGZ1bmRhbWVudGFsIGRlbCBjb250ZW8uIEhheSA0IG9wY2lvbmVzIHBhcmEgbGEgcHJpbWVyYSBjaWZyYSwgMyBvcGNpb25lcyBwYXJhIGxhIHNlZ3VuZGEgY2lmcmEgKHlhIHF1ZSBubyBwb2RlbW9zIHJlcGV0aXIgbGEgY2lmcmEgc2VsZWNjaW9uYWRhIGVuIGVsIHByaW1lciBsdWdhciksIDIgb3BjaW9uZXMgcGFyYSBsYSB0ZXJjZXJhIGNpZnJhIHkgMSBvcGNpw7NuIHBhcmEgbGEgY3VhcnRhIGNpZnJhLiBQb3IgbG8gdGFudG8sIGVsIG7Dum1lcm8gdG90YWwgZGUgbsO6bWVyb3MgZGUgNCBjaWZyYXMgZGlzdGludGFzIGVzOg0KDQpcKDQgXHRpbWVzIDMgXHRpbWVzIDIgXHRpbWVzIDEgPSAyNFwpIG7Dum1lcm9zLg0KDQoNCg0KYi4gQ3VhbmRvIGZvcm1hcyBuw7ptZXJvcyBjb24gdW4gY29uanVudG8gZGUgY2lmcmFzIHF1ZSBjb250aWVuZSBsYSBtaXNtYSBjYW50aWRhZCBkZSBjaWZyYXMgcGFyZXMgZSBpbXBhcmVzLCBjb21vIGVuIGVsIGNhc28gZGUgbG9zIG7Dum1lcm9zIDIsIDMsIDQgeSA1IChkb3MgcGFyZXMgeSBkb3MgaW1wYXJlcyksIGVzIHByb2JhYmxlIHF1ZSBsYXMgY29tYmluYWNpb25lcyByZXN1bHRhbnRlcyB0YW1iacOpbiBtYW50ZW5nYW4gdW4gZXF1aWxpYnJpbyBlbnRyZSBuw7ptZXJvcyBwYXJlcyBlIGltcGFyZXMuIEVuIGVzdGUgZWplbXBsbyBlc3BlY8OtZmljbywgY29uIDEyIGNvbWJpbmFjaW9uZXMgcG9zaWJsZXMgZGUgbsO6bWVyb3MgcGFyZXMgKDIgeSA0KSB5IDEyIGNvbWJpbmFjaW9uZXMgcG9zaWJsZXMgZGUgbsO6bWVyb3MgaW1wYXJlcyAoMyB5IDUpIGRlIGxhcyAyNCBjb21iaW5hY2lvbmVzIHRvdGFsZXMsIHNlIG9ic2VydmEgZXN0ZSBlcXVpbGlicmlvLiBFc3RlIHByaW5jaXBpbyBlcyByZWxldmFudGUgZW4gc2l0dWFjaW9uZXMgZG9uZGUgbGEgcGFyaWRhZCBkZSBsb3MgbsO6bWVyb3MganVlZ2EgdW4gcGFwZWwgaW1wb3J0YW50ZSBlbiBlbCBwcm9ibGVtYSBvIGVuIGVsIGPDoWxjdWxvIGRlIHByb2JhYmlsaWRhZGVzLg0KDQpjLmQuIERhZG8gcXVlIHNlIHB1ZWRlbiBmb3JtYXIgdW4gdG90YWwgZGUgMjQgbsO6bWVyb3MgZGlmZXJlbnRlcyBjb24gNCBkw61naXRvcywgcG9kcsOtYW1vcyBhc3VtaXIgcXVlIGVzdG9zIG7Dum1lcm9zIHNlIGRpc3RyaWJ1eWVuIGRlIG1hbmVyYSBlcXVpdGF0aXZhIGVudHJlIGxvcyBkw61naXRvcyAyLCAzLCA0IHkgNS4gRXN0byBzaWduaWZpY2EgcXVlIGhhYnLDrWEgNiBjb21iaW5hY2lvbmVzIGRpc3RpbnRhcyBwYXJhIGNhZGEgdW5vIGRlIGVzdG9zIGTDrWdpdG9zIGFsIHByaW5jaXBpbyBkZSBsb3MgbsO6bWVyb3MuIENvbiBlc3RhIGluZm9ybWFjacOzbiwgcG9kZW1vcyBkZWR1Y2lyIGxhcyByZXNwdWVzdGFzIGEgbGFzIHByZWd1bnRhcyBjIHkgZCwgZXMgZGVjaXIsIHF1ZSBoYWJyw6EgNiBuw7ptZXJvcyBtZW5vcmVzIGEgMy4wMDAgeSAxMiBuw7ptZXJvcyBtYXlvcmVzIGEgNC4wMDAuDQoNCkFjdGl2aWRhZCA3OiBQYXJhIGNhbGN1bGFyIGRlIGN1w6FudGFzIG1hbmVyYXMgZGlmZXJlbnRlcyBzZSBwdWVkZW4gc2VudGFyIDcgcGVyc29uYXMgZW4gdW5hIGhpbGVyYSwgcHVlZGVzIHVzYXIgZWwgY29uY2VwdG8gZGUgcGVybXV0YWNpb25lcy4gTGEgZsOzcm11bGEgcGFyYSBjYWxjdWxhciBlbCBuw7ptZXJvIGRlIHBlcm11dGFjaW9uZXMgZGUgbiBlbGVtZW50b3MgZXMgbiEuIEVuIGVzdGUgY2FzbywgdGllbmVzIDcgcGVyc29uYXMsIHBvciBsbyBxdWUgZWwgbsO6bWVybyBkZSBtYW5lcmFzIGRpZmVyZW50ZXMgZGUgc2VudGFybGFzIGVuIHVuYSBoaWxlcmEgc2Vyw61hIDchICg3IGZhY3RvcmlhbCkuDQoNClwoNyEgPSA3IFx0aW1lcyA2IFx0aW1lcyA1IFx0aW1lcyA0IFx0aW1lcyAzIFx0aW1lcyAyIFx0aW1lcyAxID0gNSwwNDBcKQ0KDQpQb3IgbG8gdGFudG8sIHNlIHB1ZWRlbiBzZW50YXIgNyBwZXJzb25hcyBkZSA1LDA0MCBtYW5lcmFzIGRpZmVyZW50ZXMgZW4gdW5hIGhpbGVyYS4NCg0KQWN0aXZpZGFkIDg6DQoNCg0KTGEgZsOzcm11bGEgZ2VuZXJhbCBwYXJhIGNhbGN1bGFyIGVsIG7Dum1lcm8gZGUgY29tYmluYWNpb25lcyBkZSBuIGVsZW1lbnRvcyB0b21hZG9zIGRlIHIgZW4gciBzZSBleHByZXNhIGNvbW86DQoNClxbQyhuLCByKSA9IFxmcmFje24hfXtyIShuIC0gcikhfVxdDQoNCkRvbmRlOg0KLSBcKG5cKSBlcyBlbCBuw7ptZXJvIHRvdGFsIGRlIGVsZW1lbnRvcyAoZW4gZXN0ZSBjYXNvLCA0IHBlcnNvbmFzKS4NCi0gXChyXCkgZXMgZWwgbsO6bWVybyBkZSBlbGVtZW50b3MgcXVlIGVzdGFtb3Mgc2VsZWNjaW9uYW5kbyBhIGxhIHZleiBwYXJhIGZvcm1hciB1bmEgcGFyZWphIChlbiBlc3RlIGNhc28sIDIgcGVyc29uYXMpLg0KLSBcKG4hXCkgc2lnbmlmaWNhIGVsIGZhY3RvcmlhbCBkZSBcKG5cKSwgcXVlIGVzIGVsIHByb2R1Y3RvIGRlIHRvZG9zIGxvcyBlbnRlcm9zIHBvc2l0aXZvcyBkZXNkZSAxIGhhc3RhIFwoblwpLg0KDQpFbnRvbmNlcywgYXBsaWNhbmRvIGVzdGEgZsOzcm11bGEgYSB0dSBzaXR1YWNpw7NuOg0KDQotIFwobiA9IDRcKSAocG9ycXVlIHRpZW5lcyA0IHBlcnNvbmFzKS4NCi0gXChyID0gMlwpIChwb3JxdWUgZXN0w6FzIGZvcm1hbmRvIHBhcmVqYXMgZGUgMiBwZXJzb25hcykuDQoNCkx1ZWdvLCBjYWxjdWxhbW9zIFwoQyg0LCAyKVwpIGRlIGxhIHNpZ3VpZW50ZSBtYW5lcmE6DQoNClxbQyg0LCAyKSA9IFxmcmFjezQhfXsyISg0IC0gMikhfSA9IFxmcmFjezQhfXsyISBcY2RvdCAyIX0gPSBcZnJhY3s0IFxjZG90IDMgXGNkb3QgMiBcY2RvdCAxfXsoMiBcY2RvdCAxKSBcY2RvdCAoMiBcY2RvdCAxKX0gPSBcZnJhY3syNH17NH0gPSA2XF0NCg0KUG9yIGxvIHRhbnRvLCBoYXkgNiBwYXJlamFzIGRpc3RpbnRhcyBxdWUgc2UgcHVlZGVuIGZvcm1hciBjb24gQW5hLCBQYXVsYSwgTWFyY29zIHkgTHV6IHBhcmEgZWwgdG9ybmVvIGRlIHRydWNvLg0KDQpFeGlzdGVuIG3DoXMgdMOpY25pY2FzIGRlIGNvbnRlbyBuZWNlc2FyaWFzIHBhcmEgb3RyYXMgc2l0dWFjaW9uZXMgcXVlIG5vIGRlc2Fycm9sbGFyZW1vcyANCmFxdcOtLCBwZXJvIHF1ZSBwdWVkZW4gc2VyIGhhbGxhZGFzIGVuIGN1YWxxdWllciBsaWJybyBkZSB0ZXh0byBiYWpvIGVsIHTDrXR1bG8gY29tYmluYXRvcmlhDQoNCg0KU3VjZXNvcw0KRGFkbyB1biBleHBlcmltZW50byBhbGVhdG9yaW8sIGVzIGRlY2lyLCB1biBleHBlcmltZW50byBkZWwgY3VhbCBubyBzZSBwdWVkZSBwcmVkZWNpciBzdSANCnJlc3VsdGFkbyB5YSBxdWUgw6lzdGUgZGVwZW5kZSBkZWwgYXphciwgZGVmaW5pbW9zIA0KYW50ZXJpb3JtZW50ZSBzdSBlc3BhY2lvIG11ZXN0cmFsIGNvbW8gZWwgY29uanVudG8gZm9ybWFkbyANCnBvciB0b2RvcyBsb3MgcmVzdWx0YWRvcyBwb3NpYmxlcy4gRGUgZGljaG8gY29uanVudG8sIGVzIA0KcG9zaWJsZSBjb25zaWRlcmFyIG90cm9zIHF1ZSBlc3TDqW4gaW5jbHVpZG9zIGVuIMOpbCwgYSBsb3MgcXVlIHNlIA0KbGxhbWFyw6FuIHN1Y2Vzb3MuIA0KUG9yIGVqZW1wbG8sIHNpIGVsIGV4cGVyaW1lbnRvIGNvbnNpc3RlIGVuIHRpcmFyIHVuIGRhZG8geSBhbm90YXIgbG9zIHJlc3VsdGFkb3MgcG9zaWJsZXMsIHN1IA0KZXNwYWNpbyBtdWVzdHJhbCBzZXLDoSB7MSAsIDIgLCAzICwgNCAsIDUgLCA2fS4gVW4gc3VjZXNvIHF1ZSBzZSBwdWVkZSBkZWZpbmlyIGVzIOKAnHNlciB1biBuw7ptZXJvIHBhcuKAnSwgZWwgDQpjdWFsIHNlcsOtYSBlbCBjb25qdW50byB7MiAsIDQgLCA2fSBvIOKAnHNlciB1biBuw7ptZXJvIG1lbm9yIGEgNeKAnSwgZWwgY3VhbCBlcyB7MSAsIDIgLCAzICwgNCB9LiBFbCBzdWNlc28g4oCcc2VyIA0KbWF5b3IgYSA34oCdIGVzIHBvc2libGUgY29uc2lkZXJhcmxvLCBzZSBsbyBsbGFtYSBzdWNlc28gaW1wb3NpYmxlIHkgc2UgbG8gcmVwcmVzZW50YSB7IH0uIA0KRW4gZWwgZWplbXBsbyBhbnRlcmlvciwgdW4gc3VjZXNvIHNlZ3VybyBzZXLDrWEg4oCcc2VyIG1lbm9yIA0KYSA34oCdLCBhbCBjdWFsIGxlIGNvcnJlc3BvbmRlIGVsIGNvbmp1bnRvIHsxICwgMiAsIDMgLCA0ICwgNSAsIDZ9LCBxdWUgDQpwcmV2aWFtZW50ZSBkZWZpbmltb3MgY29tbyBlbCBlc3BhY2lvIG11ZXN0cmFsLg0KDQpVbiBzdWNlc28gZXMgdW4gY29uanVudG8gDQpmb3JtYWRvIHBvciB1bm8sIG5pbmd1bm8gbyANCnZhcmlvcyByZXN1bHRhZG9zIHBvc2libGVzLg0KDQpDdWFuZG8gZWwgc3VjZXNvIGNvaW5jaWRlIGNvbiANCmVsIGVzcGFjaW8gbXVlc3RyYWwgc2UgbG8gbGxhbWEgDQpzdWNlc28gc2VndXJvLg0KDQoNCiFbXShBY3QxMC5qcGcpDQoNCg0KDQoNCg0KMS4gKipPYnRlbmVyIGVsIGNvbW9kw61uOioqIEVzdGUgc3VjZXNvIG9jdXJyZSBjdWFuZG8gZXh0cmFlcyBsYSBjYXJ0YSBxdWUgcmVwcmVzZW50YSBlbCBjb21vZMOtbi4NCg0KMi4gKipTYWNhciBlbCAxIGRlIE9ybzoqKiBFc3RlIHN1Y2VzbyBvY3VycmUgY3VhbmRvIGV4dHJhZXMgbGEgY2FydGEgcXVlIHJlcHJlc2VudGEgZWwgMSBkZSBPcm8gZGUgbGEgYmFyYWphIGVzcGHDsW9sYS4NCg0KMy4gKipTYWNhciBlbCA3IGRlIEVzcGFkYToqKiBFc3RlIHN1Y2VzbyBvY3VycmUgY3VhbmRvIGV4dHJhZXMgbGEgY2FydGEgcXVlIHJlcHJlc2VudGEgZWwgNyBkZSBFc3BhZGEgZGUgbGEgYmFyYWphIGVzcGHDsW9sYS4NCg0KRXN0b3MgdHJlcyBzdWNlc29zIHJlcHJlc2VudGFuIGxhIHBvc2liaWxpZGFkIGRlIGV4dHJhZXIgZXN0YXMgY2FydGFzIGVzcGVjw61maWNhcyBkZSBsYSBiYXJhamEgZXNwYcOxb2xhIGVuIGVsIGV4cGVyaW1lbnRvIGRlICJleHRyYWVyIHVuYSBjYXJ0YSB5IG9ic2VydmFyIHF1w6kgY2FydGEgZXMiLg0KDQohW10oQWN0MTEuanBnKQ0KDQpQYXJhIGVsIGV4cGVyaW1lbnRvIGRlICJoYWNlciBnaXJhciB1bmEgcnVsZXRhIGRlIGNhc2lubyB5IG9ic2VydmFyIGVsIG7Dum1lcm8gZW4gZWwgcXVlIGNhecOzIGxhIGJvbGEsIiBlbCBlc3BhY2lvIG11ZXN0cmFsIGNvbnNpc3RlIGVuIHRvZG9zIGxvcyBuw7ptZXJvcyBkZWwgMCBhbCAzNi4gQSBjb250aW51YWNpw7NuLCBzZSBwcmVzZW50YW4gbG9zIGNvbmp1bnRvcyBjb3JyZXNwb25kaWVudGVzIGEgY2FkYSBzdWNlc286DQoNCmEuICJTZXIgdW4gbsO6bWVybyBpbXBhciBtZW5vciBhIDEwIjoNCiAgIC0gQ29uanVudG8gY29ycmVzcG9uZGllbnRlOiB7MSwgMywgNSwgNywgOX0NCiAgIC0gRXhwbGljYWNpw7NuOiBFc3RlIGNvbmp1bnRvIGluY2x1eWUgdG9kb3MgbG9zIG7Dum1lcm9zIGltcGFyZXMgcXVlIHNvbiBtZW5vcmVzIGEgMTAgeSBxdWUgcHVlZGVuIGFwYXJlY2VyIGVuIGxhIHJ1bGV0YS4NCg0KYi4gIlNlciB1biBuw7ptZXJvIG3Dumx0aXBsbyBkZSA1IjoNCiAgIC0gQ29uanVudG8gY29ycmVzcG9uZGllbnRlOiB7MCwgNSwgMTAsIDE1LCAyMCwgMjUsIDMwLCAzNX0NCiAgIC0gRXhwbGljYWNpw7NuOiBFc3RlIGNvbmp1bnRvIGluY2x1eWUgdG9kb3MgbG9zIG7Dum1lcm9zIHF1ZSBzb24gbcO6bHRpcGxvcyBkZSA1IHkgcXVlIHB1ZWRlbiBhcGFyZWNlciBlbiBsYSBydWxldGEuDQoNCmMuICJTZXIgbWF5b3IgYSAzNiI6DQogICAtIENvbmp1bnRvIGNvcnJlc3BvbmRpZW50ZToge30NCiAgIC0gRXhwbGljYWNpw7NuOiBOaW5nw7puIG7Dum1lcm8gZW4gZWwgZXNwYWNpbyBtdWVzdHJhbCBlcyBtYXlvciBhIDM2LCB5YSBxdWUgZWwgZXNwYWNpbyBtdWVzdHJhbCBvcmlnaW5hbCBpbmNsdXllIG7Dum1lcm9zIGRlbCAwIGFsIDM2LiBQb3IgbG8gdGFudG8sIGVsIGNvbmp1bnRvIGNvcnJlc3BvbmRpZW50ZSBlc3TDoSB2YWPDrW8sIHlhIHF1ZSBubyBoYXkgbsO6bWVyb3MgcXVlIHNhdGlzZmFnYW4gZXN0YSBjb25kaWNpw7NuIGRlbnRybyBkZWwgZXNwYWNpbyBtdWVzdHJhbCBkYWRvLg0KDQoNCiFbXShBY3QxMi5qcGcpDQpgYGB7cixlY2hvPUZBTFNFLHdhcm5pbmc9RkFMU0V9DQojIENyZWFyIHVuIHZlY3RvciBjb24gbG9zIG7Dum1lcm9zIHByb3BvcmNpb25hZG9zDQpyZXN1bHRhZG9zIDwtIGMoDQogIDMsIDIsIDYsIDQsIDUsIDEsIDMsIDYsIDIsIDQsDQogIDUsIDYsIDEsIDMsIDIsIDQsIDUsIDYsIDEsIDMsDQogIDIsIDQsIDUsIDYsIDEsIDMsIDIsIDQsIDUsIDYsDQogIDEsIDMsIDIsIDQsIDUsIDYsIDEsIDMsIDIsIDQsDQogIDUsIDYsIDEsIDMsIDIsIDQsIDUsIDYsIDEsIDMNCikNCg0KIyBDYWxjdWxhciBsYXMgcHJvYmFiaWxpZGFkZXMgZGUgY2FkYSBuw7ptZXJvDQpwcm9iYWJpbGlkYWRlcyA8LSBwcm9wLnRhYmxlKHRhYmxlKHJlc3VsdGFkb3MpKQ0KDQojIENyZWFyIHVuYSB0YWJsYSBjb24gbGFzIHByb2JhYmlsaWRhZGVzDQp0YWJsYV9wcm9iYWJpbGlkYWRlcyA8LSBkYXRhLmZyYW1lKA0KICBOdW1lcm8gPSBhcy5udW1lcmljKG5hbWVzKHByb2JhYmlsaWRhZGVzKSksDQogIFByb2JhYmlsaWRhZCA9IHJvdW5kKHByb2JhYmlsaWRhZGVzLCAyKQ0KKQ0KDQojIEltcHJpbWlyIGxhIHRhYmxhIGRlIHByb2JhYmlsaWRhZGVzDQpwcmludCh0YWJsYV9wcm9iYWJpbGlkYWRlcykNCg0KDQojIENyZWEgZWwgZ3LDoWZpY28gZGUgYmFycmFzDQpiYXJwbG90KHRhYmxlKHJlc3VsdGFkb3MpLCB4bGFiID0gIk7Dum1lcm8iLCB5bGFiID0gIkZyZWN1ZW5jaWEiLCBjb2wgPSAiI0M5MkM2RCIpDQoNCiMgQWdyZWdhIHVuIHTDrXR1bG8gYWwgZ3LDoWZpY28NCnRpdGxlKG1haW4gPSAiRGlzdHJpYnVjacOzbiBkZSBGcmVjdWVuY2lhIikNCg0KYGBgDQoNCiFbXShBY3QxMy5qcGcpDQoNCg0KQSBjb250aW51YWNpw7NuLCByZXBldGlyZW1vcyBlbCBtaXNtbyBleHBlcmltZW50bywgcGVybyBlbiBsdWdhciBkZSBoYWNlciA1MCB0aXJvcywgZGViZW1vcyANCmhhY2VyIDEwMCB5IGFub3RhciBsb3MgbsO6bWVyb3Mgb2J0ZW5pZG9zIGVuIGxhIHNpZ3VpZW50ZSBncmlsbGE6DQoNCi0gUHJpbWVybyBjb24gQXl1ZGEgZGVsIGxlbmd1YWplIFJzdHVkaW8gcmVhbGl6YXJlIDEwMCB0aXJvcyBhbGVhdG9yaW9zIHJlcHJlc2VudGFuZG8gZWwgbGFuemFtaWVudG8gZGUgbG9zIGRhZG9zDQoNCmBgYHtyfQ0KIyBHZW5lcmFyIHVuIHZlY3RvciBjb24gMTAwIGxhbnphbWllbnRvcyBkZSB1biBkYWRvIGRlIDYgY2FyYXMNCnNldC5zZWVkKDEyMykgICMgRXN0byBhc2VndXJhIHF1ZSBsb3MgcmVzdWx0YWRvcyBzZWFuIHJlcHJvZHVjaWJsZXMNCmRhZG8gPC0gc2FtcGxlKDE6NiwgMTAwLCByZXBsYWNlID0gVFJVRSkNCnByaW50KGRhZG8pDQpgYGANCiFbXShBY3QxNC5qcGcpDQoNCg0KQ29uIGxvcyBkYXRvcyBvYnRlbmlkb3MgZW4gZWwgbnVldm8gZXhwZXJpbWVudG8sIGNvbXBsZXRhciBsYSBzaWd1aWVudGUgdGFibGEgZGUgZnJlY3VlbmNpYXM6DQoNCiFbXShBY3QxNS5qcGcpDQohW10oQWN0MTYuanBnKQ0KQWN0aXZpZGFkIDExOg0KDQphLiBBcnJvamFyIHVuYSBtb25lZGE6DQogICAtIEVsIGVzcGFjaW8gbXVlc3RyYWwgY29uc3RhIGRlIDIgZWxlbWVudG9zOiBjYXJhIChDKSBvIGNydXogKFgpLg0KDQpiLiBBcnJvamFyIHVuIGRhZG8geSB1bmEgbW9uZWRhOg0KICAgLSBFbCBlc3BhY2lvIG11ZXN0cmFsIGRlbCBkYWRvIHRpZW5lIDYgZWxlbWVudG9zICgxLCAyLCAzLCA0LCA1LCA2KS4NCiAgIC0gRWwgZXNwYWNpbyBtdWVzdHJhbCBkZSBsYSBtb25lZGEgdGllbmUgMiBlbGVtZW50b3MgKENhcmEsIENydXopLg0KICAgLSBFbCBlc3BhY2lvIG11ZXN0cmFsIGNvbWJpbmFkbyB0ZW5kcsOhIDYgKGRlbCBkYWRvKSAqIDIgKGRlIGxhIG1vbmVkYSkgPSAxMiBlbGVtZW50b3MuDQoNCmMuIEFub3RhciBlbCDDumx0aW1vIG7Dum1lcm8gZGUgbGEgcGF0ZW50ZSBkZWwgcHLDs3hpbW8gYXV0byBxdWUgcGFzZToNCiAgIC0xMjMgQUJDDQoNCmQuIEV4dHJhZXIgdW5hIGNhcnRhIGFsIGF6YXIgZGUgdW4gbWF6byBkZSBuYWlwZXMgZXNwYcOxb2xlczoNCiAgIC0gVW4gbWF6byBkZSBuYWlwZXMgZXNwYcOxb2xlcyBjb25zdGEgZGUgNTAgY2FydGFzLg0KICAgLSBFbCBlc3BhY2lvIG11ZXN0cmFsIHRlbmRyw6EgNTAgZWxlbWVudG9zLCB1bm8gcGFyYSBjYWRhIGNhcnRhIGVuIGVsIG1hem8uDQoNCkFjdGl2aWRhZCAxMjoNCg0KYS4gUHJvYmFiaWxpZGFkIGRlIHNhY2FyIHVuIGFzOg0KICAgLSBFbiB1biBtYXpvIGRlIG5haXBlcyBlc3Bhw7FvbGVzLCBoYXkgNCBhc2VzICh1bm8gcG9yIGNhZGEgcGFsbykuDQogICAtIExhIHByb2JhYmlsaWRhZCBkZSBzYWNhciB1biBhcyBlcyA0LzUwLigwLDA4JSBkZSBwcm9iYWJpbGlkYWQpDQoNCmIuIFByb2JhYmlsaWRhZCBkZSBzYWNhciB1bmEgY2FydGEgbWVub3IgcXVlIDEwOg0KICAgLSBDYWRhIHBhbG8gdGllbmUgY2FydGFzIG51bWVyYWRhcyBkZWwgMSBhbCAxMi4NCiAgIC0gSGF5IDQgcGFsb3MgZW4gdG90YWwuDQogICAtIEVsIG7Dum1lcm8gdG90YWwgZGUgY2FydGFzIG1lbm9yZXMgcXVlIDEwIGVzIDQgKHBvciBwYWxvKSAqIDkgKGNhcnRhcyBudW1lcmFkYXMpID0gMzYuDQogICAtIExhIHByb2JhYmlsaWRhZCBkZSBzYWNhciB1bmEgY2FydGEgbWVub3IgcXVlIDEwIGVzIDM2LzUwICgwLDcyJSBkZSBQcm9iYWJpbGlkYWQpLg0KDQpjLiBQcm9iYWJpbGlkYWQgZGUgc2FjYXIgdW4gY29tb2TDrW46DQogICAtIEVuIHVuIG1hem8gZGUgbmFpcGVzIGVzcGHDsW9sZXMsIGhheSAyIGNvbW9kaW5lcy4NCiAgIC0gTGEgcHJvYmFiaWxpZGFkIGRlIHNhY2FyIHVuIGNvbW9kw61uIGVzIDIvNTAsIGVzIGRlY2lyLCAwLDA0JSBkZSBwcm9iYWJpbGlkYWRlcy4NCg0KZC4gUHJvYmFiaWxpZGFkIGRlIHNhY2FyIHVuYSBjYXJ0YSBkZSBjb3BhczoNCiAgIC0gQ2FkYSBwYWxvIHRpZW5lIDEyIGNhcnRhcy4NCiAgIC0gRWwgbsO6bWVybyBkZSBjYXJ0YXMgZGUgY29wYXMgZXMgMTIuDQogICAtIExhIHByb2JhYmlsaWRhZCBkZSBzYWNhciB1bmEgY2FydGEgZGUgY29wYXMgZXMgMTIvNTAsIGVzIGRlY2lyLCAwLDI0JSBkZSBQcm9iYWJpbGlkYWRlcy4NCg0KZS4gUHJvYmFiaWxpZGFkIGRlIHNhY2FyIHVuYSBmaWd1cmEgZGUgb3JvIG8gYmFzdG86DQogICAtIENhZGEgcGFsbyB0aWVuZSAzIGZpZ3VyYXM6IHNvdGEsIGNhYmFsbG8geSByZXkuDQogICAtIEhheSA0IHBhbG9zIGVuIHRvdGFsLg0KICAgLSBFbCBuw7ptZXJvIHRvdGFsIGRlIGZpZ3VyYXMgZGUgb3JvIG8gYmFzdG8gZXMgMiAocG9yIHBhbG8pICogMyAoZmlndXJhcykgPSA2Lg0KICAgLSBMYSBwcm9iYWJpbGlkYWQgZGUgc2FjYXIgdW5hIGZpZ3VyYSBkZSBvcm8gbyBiYXN0byBlcyA2LzUwLCBlcyBkZWNpciwgMTIlIGRlIHByb2JhYmlsaWRhZGVzLg0KDQpmLiBQcm9iYWJpbGlkYWQgZGUgc2FjYXIgdW4gZG9zIG8gdW4gY2luY28gcXVlIG5vIHNlYSBkZSBlc3BhZGFzOg0KICAgLSBIYXkgdW4gMiB5IHVuIDUgZW4gY2FkYSBwYWxvLg0KICAgLSBFeGNsdXllbmRvIGVsIHBhbG8gZGUgZXNwYWRhcywgcXVlIHRpZW5lIHN1cyBwcm9waW9zIDIgeSA1LCBoYXkgMyBwYWxvcy4NCiAgIC0gRWwgbsO6bWVybyB0b3RhbCBkZSBkb3NlcyB5IGNpbmNvcyBxdWUgbm8gc29uIGRlIGVzcGFkYXMgZXMgMyAocGFsb3MpICogMiAoY2FydGFzKSA9IDYuDQogICAtIExhIHByb2JhYmlsaWRhZCBkZSBzYWNhciB1biBkb3MgbyB1biBjaW5jbyBxdWUgbm8gc2VhIGRlIGVzcGFkYXMgZXMgNi81MCxlcyBkZWNpciwgMTIlIGRlIHByb2JhYmlsaWRhZGVzLg0KICAgDQoNCiFbXShBY3QxNy5qcGcpDQoNCioqQWN0aXZpZGFkIDEzKioNCg0KDQoxLiBQcmltZXJvLCBjYWxjdWxhbW9zIGN1w6FudG9zIG7Dum1lcm9zIGNvcnJlc3BvbmRlbiBhIGNhZGEgdW5hIGRlIGxhcyAyNSBwZXJzb25hcyBkaXZpZGllbmRvIGVsIG7Dum1lcm8gdG90YWwgZGUgbsO6bWVyb3MgKDEwMCkgZW50cmUgZWwgbsO6bWVybyBkZSBwZXJzb25hcyAoMjUpLiBFc3RvIG5vcyBkYSBlbCBuw7ptZXJvIGRlIG7Dum1lcm9zIHBvciBwZXJzb25hOg0KDQogICBcWw0KICAgXHRleHR7TsO6bWVyb3MgcG9yIFBlcnNvbmF9ID0gXGZyYWN7XHRleHR7TsO6bWVyb3MgVG90YWxlc319e1x0ZXh0e07Dum1lcm8gZGUgUGVyc29uYXN9fSA9IFxmcmFjezEwMH17MjV9ID0gNA0KICAgXF0NCg0KMi4gTHVlZ28sIHBhcmEgY2FsY3VsYXIgbGEgcHJvYmFiaWxpZGFkIGRlIGdhbmFyIHBhcmEgY2FkYSBwZXJzb25hLCB1dGlsaXphbW9zIGxhIHNpZ3VpZW50ZSBmw7NybXVsYToNCg0KICAgXFsNCiAgIFx0ZXh0e1Byb2JhYmlsaWRhZCBkZSBHYW5hcn0gPSBcZnJhY3tcdGV4dHtDYXNvcyBGYXZvcmFibGVzfX17XHRleHR7Q2Fzb3MgVG90YWxlc319DQogICBcXQ0KDQogICBEb25kZToNCiAgIC0gQ2Fzb3MgRmF2b3JhYmxlcyBzb24gbG9zIG7Dum1lcm9zIGFzaWduYWRvcyBhIGNhZGEgcGVyc29uYSAoZW4gZXN0ZSBjYXNvLCA0KS4NCiAgIC0gQ2Fzb3MgVG90YWxlcyBzb24gZWwgbsO6bWVybyB0b3RhbCBkZSBuw7ptZXJvcyBwb3NpYmxlcyAoZW4gZXN0ZSBjYXNvLCAxMDApLg0KDQozLiBTdXN0aXR1eWVuZG8gbG9zIHZhbG9yZXMgZW4gbGEgZsOzcm11bGE6DQoNCiAgIFxbDQogICBcdGV4dHtQcm9iYWJpbGlkYWQgZGUgR2FuYXJ9ID0gXGZyYWN7NH17MTAwfQ0KICAgXF0NCg0KNC4gRmluYWxtZW50ZSwgY2FsY3VsYW1vcyBsYSBwcm9iYWJpbGlkYWQgZGUgZ2FuYXI6DQoNCiAgIFxbDQogICBcdGV4dHtQcm9iYWJpbGlkYWQgZGUgR2FuYXJ9ID0gMC4wNCA9IDRcJQ0KICAgXF0NCg0KQXPDrSBxdWUsIGVuIGVzdGUgc29ydGVvLCBjYWRhIHBlcnNvbmEgdGllbmUgdW5hIHByb2JhYmlsaWRhZCBkZWwgNCUgZGUgZ2FuYXIgZWwgZGVzYXl1bm8gc29ycHJlc2EsIHlhIHF1ZSBjYWRhIHVuYSBkZSBsYXMgMjUgcGVyc29uYXMgdGllbmUgYXNpZ25hZG9zIDQgbsO6bWVyb3MgZGUgbG9zIDEwMCBuw7ptZXJvcyBwb3NpYmxlcy4NCg0KKipBY3RpdmlkYWQgMTQqKg0KDQpQYXJhIGNhbGN1bGFyIGxhcyBwcm9iYWJpbGlkYWRlcyBlbiBlc3RhIHNpdHVhY2nDs24sIHByaW1lcm8gZGViZW1vcyBkZXRlcm1pbmFyIGVsIG7Dum1lcm8gdG90YWwgZGUgYm9tYm9uZXMgZW4gbGEgY2FqYSB5IGx1ZWdvIGNvbnRhciBjdcOhbnRvcyBkZSBjYWRhIHRpcG8gaGF5Lg0KDQoqKkRhdG9zOioqDQotIEJvbWJvbmVzIHRvdGFsZXMgZW4gbGEgY2FqYTogMTINCi0gQ2hvY29sYXRlIGJsYW5jbzogMw0KLSBUcnVmYXM6IDQNCi0gUmVsbGVub3M6IDUNCg0KQWhvcmEsIHByb2NlZGVtb3MgYSBjYWxjdWxhciBsYXMgcHJvYmFiaWxpZGFkZXM6DQoNCmEuICoqUHJvYmFiaWxpZGFkIGRlIHNhY2FyIHVuIGJvbWLDs24gZGUgY2hvY29sYXRlIGJsYW5jbyBvIHVubyByZWxsZW5vOioqDQoNCkxhIHByb2JhYmlsaWRhZCBkZSBzYWNhciB1biBib21iw7NuIGRlIGNob2NvbGF0ZSBibGFuY28gc2UgY2FsY3VsYSBkaXZpZGllbmRvIGVsIG7Dum1lcm8gZGUgYm9tYm9uZXMgZGUgY2hvY29sYXRlIGJsYW5jbyBlbnRyZSBlbCBuw7ptZXJvIHRvdGFsIGRlIGJvbWJvbmVzOg0KDQpcWw0KXHRleHR7UHJvYmFiaWxpZGFkIGRlIGNob2NvbGF0ZSBibGFuY299ID0gXGZyYWN7XHRleHR7Qm9tYm9uZXMgZGUgY2hvY29sYXRlIGJsYW5jb319e1x0ZXh0e1RvdGFsIGRlIGJvbWJvbmVzfX0gPSBcZnJhY3szfXsxMn0gPSBcZnJhY3sxfXs0fQ0KXF0NCg0KTGEgcHJvYmFiaWxpZGFkIGRlIHNhY2FyIHVuIGJvbWLDs24gcmVsbGVubyBzZSBjYWxjdWxhIGRlIG1hbmVyYSBzaW1pbGFyOg0KDQpcWw0KXHRleHR7UHJvYmFiaWxpZGFkIGRlIHJlbGxlbm99ID0gXGZyYWN7XHRleHR7Qm9tYm9uZXMgcmVsbGVub3N9fXtcdGV4dHtUb3RhbCBkZSBib21ib25lc319ID0gXGZyYWN7NX17MTJ9DQpcXQ0KDQpiLiAqKlByb2JhYmlsaWRhZCBkZSBxdWUgbm8gc2VhIHVuYSB0cnVmYToqKg0KDQpMYSBwcm9iYWJpbGlkYWQgZGUgcXVlIG5vIHNlYSB1bmEgdHJ1ZmEgc2UgY2FsY3VsYSByZXN0YW5kbyBsYSBwcm9iYWJpbGlkYWQgZGUgc2FjYXIgdW5hIHRydWZhIGRlbCB0b3RhbCBkZSAxLiANCg0KTGEgcHJvYmFiaWxpZGFkIGRlIHNhY2FyIHVuYSB0cnVmYSBlczoNCg0KXFsNClx0ZXh0e1Byb2JhYmlsaWRhZCBkZSB0cnVmYX0gPSBcZnJhY3tcdGV4dHtUcnVmYXN9fXtcdGV4dHtUb3RhbCBkZSBib21ib25lc319ID0gXGZyYWN7NH17MTJ9ID0gXGZyYWN7MX17M30NClxdDQoNClBvciBsbyB0YW50bywgbGEgcHJvYmFiaWxpZGFkIGRlIHF1ZSBubyBzZWEgdW5hIHRydWZhIGVzOg0KDQpcWw0KXHRleHR7UHJvYmFiaWxpZGFkIGRlIG5vIHNlciB0cnVmYX0gPSAxIC0gXHRleHR7UHJvYmFiaWxpZGFkIGRlIHRydWZhfSA9IDEgLSBcZnJhY3sxfXszfSA9IFxmcmFjezJ9ezN9DQpcXQ0KDQpFbnRvbmNlcywgcmVzdW1pZW5kbzoNCg0KYS4gTGEgcHJvYmFiaWxpZGFkIGRlIHNhY2FyIHVuIGJvbWLDs24gZGUgY2hvY29sYXRlIGJsYW5jbyBlcyAxLzQsIHkgbGEgcHJvYmFiaWxpZGFkIGRlIHNhY2FyIHVuIGJvbWLDs24gcmVsbGVubyBlcyA1LzEyLg0KDQpiLiBMYSBwcm9iYWJpbGlkYWQgZGUgcXVlIG5vIHNlYSB1bmEgdHJ1ZmEgZXMgMi8zLg0KDQoNCiFbXShBY3QxMjAuanBnKQ0KDQoqKkFjdGl2aWRhZCAxNToqKg0KDQpQYXJhIGNhbGN1bGFyIGxhcyBwcm9iYWJpbGlkYWRlcyBlbiBlc3RhIGFjdGl2aWRhZCwgcHJpbWVybyBuZWNlc2l0YW1vcyBjb25vY2VyIGVsIGVzcGFjaW8gbXVlc3RyYWwsIHF1ZSBlcyBlbCBjb25qdW50byBkZSB0b2RvcyBsb3MgbsO6bWVyb3MgZW50ZXJvcyBlbnRyZSAtMyB5IDMgKGFtYm9zIGluY2x1c2l2ZSkuIEx1ZWdvLCBwb2RlbW9zIGNhbGN1bGFyIGxhcyBwcm9iYWJpbGlkYWRlcyBkZSBjYWRhIGV2ZW50by4NCg0KKipFc3BhY2lvIE11ZXN0cmFsOioqIHstMywgLTIsIC0xLCAwLCAxLCAyLCAzfQ0KDQphLiAqKlByb2JhYmlsaWRhZCBkZSBzZXIgY2VybzoqKg0KDQpMYSBwcm9iYWJpbGlkYWQgZGUgZWxlZ2lyIGNlcm8gZXMgMS83LCB5YSBxdWUgaGF5IHVuIHNvbG8gY2VybyBlbiBlbCBlc3BhY2lvIG11ZXN0cmFsIHkgNyBuw7ptZXJvcyBlbiB0b3RhbC4NCg0KYi4gKipQcm9iYWJpbGlkYWQgZGUgc2VyIGltcGFyOioqDQoNCkxvcyBuw7ptZXJvcyBpbXBhcmVzIGVuIGVsIGVzcGFjaW8gbXVlc3RyYWwgc29uOiAtMywgLTEsIDEsIDMuIEhheSA0IG7Dum1lcm9zIGltcGFyZXMuDQoNClxbDQpcdGV4dHtQcm9iYWJpbGlkYWQgZGUgc2VyIGltcGFyfSA9IFxmcmFje1x0ZXh0e07Dum1lcm8gZGUgaW1wYXJlc319e1x0ZXh0e1RvdGFsIGRlIG7Dum1lcm9zIGVuIGVsIGVzcGFjaW8gbXVlc3RyYWx9fSA9IFxmcmFjezR9ezd9DQpcXQ0KDQpjLiAqKlByb2JhYmlsaWRhZCBkZSBzZXIgcG9zaXRpdm86KioNCg0KTG9zIG7Dum1lcm9zIHBvc2l0aXZvcyBlbiBlbCBlc3BhY2lvIG11ZXN0cmFsIHNvbjogMCwgMSwgMiwgMy4gSGF5IDQgbsO6bWVyb3MgcG9zaXRpdm9zLg0KDQpcWw0KXHRleHR7UHJvYmFiaWxpZGFkIGRlIHNlciBwb3NpdGl2b30gPSBcZnJhY3tcdGV4dHtOw7ptZXJvIGRlIHBvc2l0aXZvc319e1x0ZXh0e1RvdGFsIGRlIG7Dum1lcm9zIGVuIGVsIGVzcGFjaW8gbXVlc3RyYWx9fSA9IFxmcmFjezR9ezd9DQpcXQ0KDQpkLiAqKlByb2JhYmlsaWRhZCBkZSBzZXIgbWVub3IgcXVlIDE6KioNCg0KTG9zIG7Dum1lcm9zIG1lbm9yZXMgcXVlIDEgZW4gZWwgZXNwYWNpbyBtdWVzdHJhbCBzb246IC0zLCAtMiwgLTEsIDAuIEhheSA0IG7Dum1lcm9zIHF1ZSBzb24gbWVub3JlcyBxdWUgMS4NCg0KXFsNClx0ZXh0e1Byb2JhYmlsaWRhZCBkZSBzZXIgbWVub3IgcXVlIDF9ID0gXGZyYWN7XHRleHR7TsO6bWVybyBkZSBuw7ptZXJvcyBtZW5vcmVzIHF1ZSAxfX17XHRleHR7VG90YWwgZGUgbsO6bWVyb3MgZW4gZWwgZXNwYWNpbyBtdWVzdHJhbH19ID0gXGZyYWN7NH17N30NClxdDQoNCioqQWN0aXZpZGFkIDE2OioqDQoNCmEuICoqUHJvYmFiaWxpZGFkIGRlIHF1ZSBzZWEgbmVncmE6KioNCg0KTGEgcHJvYmFiaWxpZGFkIGRlIGV4dHJhZXIgdW5hIHRhcmpldGEgbmVncmEgZXMgZWwgY29jaWVudGUgZW50cmUgZWwgbsO6bWVybyBkZSB0YXJqZXRhcyBuZWdyYXMgeSBlbCBuw7ptZXJvIHRvdGFsIGRlIHRhcmpldGFzIGVuIGxhIGNhamEuDQoNClxbDQpcdGV4dHtQcm9iYWJpbGlkYWQgZGUgc2VyIG5lZ3JhfSA9IFxmcmFje1x0ZXh0e07Dum1lcm8gZGUgdGFyamV0YXMgbmVncmFzfX17XHRleHR7VG90YWwgZGUgdGFyamV0YXMgZW4gbGEgY2FqYX19ID0gXGZyYWN7NX17NDB9ID0gXGZyYWN7MX17OH0NClxdDQoNCmIuICoqUHJvYmFiaWxpZGFkIGRlIHF1ZSBubyBzZWEgcm9qYSAoZXMgZGVjaXIsIHNlYSBuZWdyYSk6KioNCg0KTGEgcHJvYmFiaWxpZGFkIGRlIHF1ZSBubyBzZWEgcm9qYSBlcyBpZ3VhbCBhIGxhIHByb2JhYmlsaWRhZCBkZSBxdWUgc2VhIG5lZ3JhLg0KDQpcWw0KXHRleHR7UHJvYmFiaWxpZGFkIGRlIG5vIHNlciByb2phIChzZXIgbmVncmEpfSA9IFxmcmFjezF9ezh9DQpcXQ0KDQoNCg0KDQoqKkFjdGl2aWRhZCAxNyoqDQoNCioqRXNwYWNpbyBNdWVzdHJhbDoqKiB7c2luIHByZW1pbywgdHYsIHNpbiBwcmVtaW8sIHR2LCBzaW4gcHJlbWlvLCBFdXJvcGEsIHNpbiBwcmVtaW8sIHR2LCBzaW4gcHJlbWlvLCBhdXRvLCBzaW4gcHJlbWlvLCBFdXJvcGF9DQoNCmEuICoqUHJvYmFiaWxpZGFkIGRlIG5vIGdhbmFyIHVuIHByZW1pbzoqKg0KDQpQYXJhIGNhbGN1bGFyIGxhIHByb2JhYmlsaWRhZCBkZSBubyBnYW5hciB1biBwcmVtaW8sIGRlYmVtb3MgY29udGFyIGN1w6FudGFzIHZlY2VzIGFwYXJlY2UgInNpbiBwcmVtaW8iIGVuIGVsIGVzcGFjaW8gbXVlc3RyYWwgeSBsdWVnbyBkaXZpZGlyIHBvciBlbCBuw7ptZXJvIHRvdGFsIGRlIHBvc2liaWxpZGFkZXMuDQoNCk7Dum1lcm8gZGUgdmVjZXMgcXVlICJzaW4gcHJlbWlvIiBhcGFyZWNlIGVuIGVsIGVzcGFjaW8gbXVlc3RyYWw6IDYNCk7Dum1lcm8gdG90YWwgZGUgcG9zaWJpbGlkYWRlcyBlbiBlbCBlc3BhY2lvIG11ZXN0cmFsOiAxMg0KDQpcWw0KXHRleHR7UHJvYmFiaWxpZGFkIGRlIG5vIGdhbmFyIHVuIHByZW1pb30gPSBcZnJhY3tcdGV4dHtOw7ptZXJvIGRlICJzaW4gcHJlbWlvIn19e1x0ZXh0e07Dum1lcm8gdG90YWwgZGUgcG9zaWJpbGlkYWRlc319ID0gXGZyYWN7Nn17MTJ9ID0gXGZyYWN7MX17Mn0NClxdDQoNCmIuICoqUHJvYmFiaWxpZGFkIGRlIGdhbmFyIGxhcyB2YWNhY2lvbmVzIGVuIEV1cm9wYToqKg0KDQpQYXJhIGNhbGN1bGFyIGxhIHByb2JhYmlsaWRhZCBkZSBnYW5hciBsYXMgdmFjYWNpb25lcyBlbiBFdXJvcGEsIGNvbnRhbW9zIGN1w6FudGFzIHZlY2VzIGFwYXJlY2UgIkV1cm9wYSIgZW4gZWwgZXNwYWNpbyBtdWVzdHJhbCB5IGRpdmlkaW1vcyBwb3IgZWwgbsO6bWVybyB0b3RhbCBkZSBwb3NpYmlsaWRhZGVzLg0KDQpOw7ptZXJvIGRlIHZlY2VzIHF1ZSAiRXVyb3BhIiBhcGFyZWNlIGVuIGVsIGVzcGFjaW8gbXVlc3RyYWw6IDINCg0KXFsNClx0ZXh0e1Byb2JhYmlsaWRhZCBkZSBnYW5hciBsYXMgdmFjYWNpb25lcyBlbiBFdXJvcGF9ID0gXGZyYWN7XHRleHR7TsO6bWVybyBkZSAiRXVyb3BhIn19e1x0ZXh0e07Dum1lcm8gdG90YWwgZGUgcG9zaWJpbGlkYWRlc319ID0gXGZyYWN7Mn17MTJ9ID0gXGZyYWN7MX17Nn0NClxdDQoNCmMuICoqUHJvYmFiaWxpZGFkIGRlIGdhbmFyIHVuYSBUVjoqKg0KDQpQYXJhIGNhbGN1bGFyIGxhIHByb2JhYmlsaWRhZCBkZSBnYW5hciB1bmEgVFYsIGNvbnRhbW9zIGN1w6FudGFzIHZlY2VzIGFwYXJlY2UgInR2IiBlbiBlbCBlc3BhY2lvIG11ZXN0cmFsIHkgZGl2aWRpbW9zIHBvciBlbCBuw7ptZXJvIHRvdGFsIGRlIHBvc2liaWxpZGFkZXMuDQoNCk7Dum1lcm8gZGUgdmVjZXMgcXVlICJ0diIgYXBhcmVjZSBlbiBlbCBlc3BhY2lvIG11ZXN0cmFsOiAzDQoNClxbDQpcdGV4dHtQcm9iYWJpbGlkYWQgZGUgZ2FuYXIgdW5hIFRWfSA9IFxmcmFje1x0ZXh0e07Dum1lcm8gZGUgInR2In19e1x0ZXh0e07Dum1lcm8gdG90YWwgZGUgcG9zaWJpbGlkYWRlc319ID0gXGZyYWN7M317MTJ9ID0gXGZyYWN7MX17NH0NClxdDQoNCmQuICoqUHJvYmFiaWxpZGFkIGRlIG5vIGdhbmFyIGVsIGF1dG86KioNCg0KUGFyYSBjYWxjdWxhciBsYSBwcm9iYWJpbGlkYWQgZGUgbm8gZ2FuYXIgZWwgYXV0bywgY29udGFtb3MgY3XDoW50YXMgdmVjZXMgYXBhcmVjZSAiYXV0byIgZW4gZWwgZXNwYWNpbyBtdWVzdHJhbCB5IGx1ZWdvIHJlc3RhbW9zIGVzdGEgcHJvYmFiaWxpZGFkIGRlIDEgKHlhIHF1ZSBubyBnYW5hciBlbCBhdXRvIGVzIGVsIGNvbXBsZW1lbnRvIGRlIGdhbmFyIGVsIGF1dG8pLg0KDQpOw7ptZXJvIGRlIHZlY2VzIHF1ZSAiYXV0byIgYXBhcmVjZSBlbiBlbCBlc3BhY2lvIG11ZXN0cmFsOiAxDQoNClxbDQpcdGV4dHtQcm9iYWJpbGlkYWQgZGUgbm8gZ2FuYXIgZWwgYXV0b30gPSAxIC0gXHRleHR7UHJvYmFiaWxpZGFkIGRlIGdhbmFyIGVsIGF1dG99ID0gMSAtIFxmcmFjezF9ezEyfSA9IFxmcmFjezExfXsxMn0NClxdDQoNCkVudG9uY2VzLCBsYXMgcHJvYmFiaWxpZGFkZXMgc29uOg0KYS4gUHJvYmFiaWxpZGFkIGRlIG5vIGdhbmFyIHVuIHByZW1pbyA9IDEvMg0KYi4gUHJvYmFiaWxpZGFkIGRlIGdhbmFyIGxhcyB2YWNhY2lvbmVzIGVuIEV1cm9wYSA9IDEvNg0KYy4gUHJvYmFiaWxpZGFkIGRlIGdhbmFyIHVuYSBUViA9IDEvNA0KZC4gUHJvYmFiaWxpZGFkIGRlIG5vIGdhbmFyIGVsIGF1dG8gPSAxMS8xMg0KDQoNCiFbXShBY3QxOS5qcGcpDQoNCg0KDQpMYSBzdW1hIGRlIGxhcyBwcm9iYWJpbGlkYWRlcyBkZSBhLCBiIHkgYyBlczoNCg0KXChQKGEpICsgUChiKSArIFAoYykgPSAxXCUgKyAyNVwlICsgMTJcJSA9IDM4XCVcKQ0KDQpFbnRvbmNlcywgbGEgc3VtYSBkZSBsYXMgcHJvYmFiaWxpZGFkZXMgZGUgZCB5IGUgc2Vyw6EgaWd1YWwgYWwgY29tcGxlbWVudG8gZGUgZXN0YSBzdW1hIGEgMTAwJToNCg0KXChQKGQpICsgUChlKSA9IDEwMFwlIC0gMzhcJSA9IDYyXCVcKQ0KDQpDb21vIHRhbnRvIGQgY29tbyBlIHRpZW5lbiBpZ3VhbGVzIHByb2JhYmlsaWRhZGVzLCBwb2RlbW9zIGRpdmlkaXIgZXN0YSBzdW1hIGVudHJlIGRvczoNCg0KXChQKGQpID0gUChlKSA9IFxmcmFjezYyXCV9ezJ9ID0gMzFcJVwpDQoNClBvciBsbyB0YW50bywgbGEgcHJvYmFiaWxpZGFkIHRhbnRvIHBhcmEgZCBjb21vIHBhcmEgZSBlcyBkZWwgMzElLg0KDQoNCiFbXShBY3QxMjQuanBnKQ0KDQoNCg0KKiphLiBDw6FsY3VsbyBkZSBsYSBjYW50aWRhZCBkZSBuw7ptZXJvcyBkZSA1IGNpZnJhcyB1dGlsaXphbmRvIGxvcyBkw61naXRvcyAxLCAyIHkgMzoqKg0KDQpFbiBwcmltZXIgbHVnYXIsIGNvbnNpZGVyZW1vcyBjdcOhbnRvcyBuw7ptZXJvcyBkZSA1IGNpZnJhcyBzZSBwdWVkZW4gY29uc3RydWlyIHV0aWxpemFuZG8gbG9zIGTDrWdpdG9zIDEsIDIgeSAzLiBQYXJhIGVsbG8sIGFwbGljYW1vcyBlbCBwcmluY2lwaW8gZGUgbGEgbXVsdGlwbGljYWNpw7NuLCBkYWRvIHF1ZSBjYWRhIHVuYSBkZSBsYXMgNSBjaWZyYXMgZW4gZWwgbsO6bWVybyB0aWVuZSAzIHBvc2libGVzIG9wY2lvbmVzOiAxLCAyIG8gMy4NCg0KXCgzIFx0aW1lcyAzIFx0aW1lcyAzIFx0aW1lcyAzIFx0aW1lcyAzID0gM141ID0gMjQzXCkNCg0KUG9yIGxvIHRhbnRvLCBleGlzdGVuIHVuIHRvdGFsIGRlIDI0MyBuw7ptZXJvcyBkZSA1IGNpZnJhcyBxdWUgcHVlZGVuIHNlciBmb3JtYWRvcyB1dGlsaXphbmRvIMO6bmljYW1lbnRlIGxvcyBkw61naXRvcyAxLCAyIHkgMy4NCg0KKipiLiBEZXRlcm1pbmFjacOzbiBkZSBsYSBjYW50aWRhZCBkZSBuw7ptZXJvcyBwYXJlcyBkZSA1IGNpZnJhczoqKg0KDQpBaG9yYSwgcGFyYSBkZXRlcm1pbmFyIGN1w6FudG9zIGRlIGVzdG9zIG7Dum1lcm9zIGRlIDUgY2lmcmFzIHNvbiBwYXJlcywgZGViZW1vcyBvYnNlcnZhciBsYSDDumx0aW1hIGNpZnJhIGRlIGNhZGEgbsO6bWVybywgeWEgcXVlIGVzdG8gZGVmaW5lIHNpIGVsIG7Dum1lcm8gZW4gc3UgdG90YWxpZGFkIGVzIHBhciBvIG5vLiBFbnRyZSBsb3MgZMOtZ2l0b3MgMSwgMiB5IDMsIHNvbG8gZWwgbsO6bWVybyAyIGVzIHBhci4gUG9yIGxvIHRhbnRvLCB1biBuw7ptZXJvIGRlIDUgY2lmcmFzIHNlcsOhIHBhciBzaSB5IHNvbG8gc2kgdGVybWluYSBlbiAyLg0KDQpQYXJhIGNhbGN1bGFyIGN1w6FudG9zIG7Dum1lcm9zIHRlcm1pbmFuIGVuIDIsIGRlYmVtb3MgY29uc2lkZXJhciBsYXMgcG9zaWNpb25lcyByZXN0YW50ZXMgeSBkZXRlcm1pbmFyIGN1w6FudGFzIGNvbWJpbmFjaW9uZXMgc29uIHBvc2libGVzIHV0aWxpemFuZG8gbG9zIGTDrWdpdG9zIDEgeSAzIGVuIGVzYXMgcG9zaWNpb25lcy4gRWwgbsO6bWVybyBkZSBvcGNpb25lcyBwYXJhIGNhZGEgcG9zaWNpw7NuIGVzIDMgKDEsIDIgbyAzKSwgZXhjZXB0byBwYXJhIGxhIMO6bHRpbWEgcG9zaWNpw7NuLCBxdWUgZGViZSBzZXIgMiBwYXJhIHF1ZSBlbCBuw7ptZXJvIHNlYSBwYXIuDQoNCi0gRW4gbGEgcHJpbWVyYSBwb3NpY2nDs24sIHBvZGVtb3MgdGVuZXIgMyBvcGNpb25lcyAoMSwgMiBvIDMpLg0KLSBFbiBsYSBzZWd1bmRhIHBvc2ljacOzbiwgbnVldmFtZW50ZSB0ZW5lbW9zIDMgb3BjaW9uZXMuDQotIEVuIGxhIHRlcmNlcmEgcG9zaWNpw7NuLCAzIG9wY2lvbmVzLg0KLSBFbiBsYSBjdWFydGEgcG9zaWNpw7NuLCAzIG9wY2lvbmVzLg0KDQpQYXJhIGxhIHF1aW50YSBwb3NpY2nDs24sIHF1ZSBkZWJlIHNlciAyIHBhcmEgcXVlIGVsIG7Dum1lcm8gc2VhIHBhciwgdGVuZW1vcyAxIG9wY2nDs24uDQoNCkVudG9uY2VzLCBlbCBuw7ptZXJvIGRlIG7Dum1lcm9zIGRlIDUgY2lmcmFzIHF1ZSBzb24gcGFyZXMgeSBzZSBwdWVkZW4gZm9ybWFyIHV0aWxpemFuZG8gbG9zIGTDrWdpdG9zIDEsIDIgeSAzIGVzOg0KDQpcKDMgXHRpbWVzIDMgXHRpbWVzIDMgXHRpbWVzIDMgXHRpbWVzIDEgPSAzXjQgPSA4MVwpDQoNCkVuIGNvbnNlY3VlbmNpYSwgZXhpc3RlbiA4MSBuw7ptZXJvcyBkZSA1IGNpZnJhcyBlbiBlc3RlIGNvbmp1bnRvIHF1ZSBzb24gcGFyZXMuDQoNCioqYjIuIENhbnRpZGFkIGRlIG7Dum1lcm9zIGltcGFyZXMgZGUgNSBjaWZyYXM6KioNCg0KUGFyYSBjYWxjdWxhciBsYSBjYW50aWRhZCBkZSBuw7ptZXJvcyBpbXBhcmVzIGRlIDUgY2lmcmFzIGVuIGVzdGUgY29uanVudG8sIHNpbXBsZW1lbnRlIHJlc3RhbW9zIGxhIGNhbnRpZGFkIGRlIG7Dum1lcm9zIHBhcmVzIGRlIDUgY2lmcmFzIGRlbCB0b3RhbCBkZSBuw7ptZXJvcyBwb3NpYmxlczoNCg0KXCgyNDMgLSA4MSA9IDE2MlwpDQoNClBvciBsbyB0YW50bywgaGF5IDE2MiBuw7ptZXJvcyBpbXBhcmVzIGRlIDUgY2lmcmFzLg0KDQoqKmIzLiBQcm9iYWJpbGlkYWQgZGUgZWxlZ2lyIHVuIG7Dum1lcm8gaW1wYXIgYWwgYXphcjoqKg0KDQpMYSBwcm9iYWJpbGlkYWQgZGUgc2VsZWNjaW9uYXIgdW4gbsO6bWVybyBpbXBhciBhbCBhemFyIHNlIG9idGllbmUgZGl2aWRpZW5kbyBsYSBjYW50aWRhZCBkZSBuw7ptZXJvcyBpbXBhcmVzIGVudHJlIGVsIHRvdGFsIGRlIG7Dum1lcm9zIHBvc2libGVzOg0KDQpcKFxmcmFjezE2Mn17MjQzfSA9IFxmcmFjezJ9ezN9XCkNCg0KTGEgcHJvYmFiaWxpZGFkIGRlIHNlbGVjY2lvbmFyIHVuIG7Dum1lcm8gaW1wYXIgYWwgYXphciBlcyBkZSBcKCBcZnJhY3syfXszfSBcKSBvIGFwcm94aW1hZGFtZW50ZSA2Ni42NyUuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCiAgIA==