
    Og"             #       z   d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlZd dl	Z	d dl
mZ d dlZd dlmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZmZmZmZmZ  ej:                  d      dz  Zd	Z e	j@                  d
      d        Z! e	j@                  d
      d        Z" e	j@                  d
      d        Z#e	jH                  jK                  dg d d fegddfdgd d fedgddfeeegd d feeeegddfg      d        Z&d Z'd Z(d Z)d Z*e	jH                  jW                  ejX                  j[                  d      d      d        Z.e	jH                  jK                  dddg ed d       dgg ddgg      e	jH                  j_                  d      d               Z0d  Z1e	jH                  jK                  d!g eg fg egg g gfg dg fg dgg g gfdgeg fdgegg g gfdgdg fdgdgg g gfegdg fegdgg g gfegeg fegegg g gfegeg fegegg g gfeegeg feegegg g gfdeg ed d d"d"      dgfdeg ed d d"d"      gd gdggfdeeg ed d d"d"      dgfedeg ed d d"d"      d dgfedeg ed d d"d"      gd d gd dggfeegeegdgdggfeeeegeeeegd#gd#ggfg      d$        Z2e	jH                  jK                  d% ed&d&      g f ed&d&      gg g gf edd      dgf edd      gd gdggf edd       ed'd'       edd      gd dgddggf ed d dd      d dgf ed d dd      gd d gd dggf ed(d(d)d)      g d*f ed(d(d)d)      gg d+g d*gf ed d dd       ed,d,d-d-       ed(d(d)d)      gg d.g d/gf ejf                   ed#d#      d      g d0f ejf                   ed#d#      d      gg d1g d0gf ed(d2gd2d(gg      g d3f ed(d2gd2d(gg      gg d1g d3gfg      d4        Z4e	jH                  jK                  d% ed d       d gf ed d       gd gd ggf ed&d&      d gf ed&d&      gd gd ggf ed d&      d gf ed d&      gd gd ggf edd      d dgf edd      gd d gd dggf ed d dd      d dgf ed d dd      gd d gd dggf ejf                   ed#d#      d&      dd#gf ejf                   ed#d#      d&      gd d gdd#ggf ed(d2gd2d(gg      g d5f ed(d2gd2d(gg      gg d6g d5gfg      d7        Z5e	jH                  jK                  d% ed&d&      d dgf ed&d&      gd d gd dggf edd      dgf edd      gd gdggf ed d dd      d dgf ed d dd      gd d gd dggf ed d d8d8      g d9f ed d d8d8      gg d1g d9gf ed d dd       ed,d,d-d-       eddd#d#      gg d:g d;gf ejf                   ed#d#      e      g d0f ejf                   ed#d#      e      gg d1g d0gf ejf                   ed#d#      d#ez        g d<f ejf                   ed#d#      d#ez        gg d+g d<gf ed(d2gd2d(gg      g d3f ed(d2gd2d(gg      gg d1g d3gfg      d=        Z6e	jH                  jK                  d>d?d@g      dA        Z7e	jH                  jK                  dBdCg d9fdDg fdEdgfdFg fdGg fdHg d9fdIg fdJdgfg      dK        Z8dL Z9e	jH                  jK                  dB e	jt                  dCdge	jH                  jw                  edMk  dN      O       e	jt                  dDg e	jH                  jw                  edPk  dQ      O       e	jt                  dEg e	jH                  jw                  edPk  dQ      O      dFg fdGdgfdRg f e	jt                  dHg e	jH                  jw                  edPk  dQ      O       e	jt                  dIg e	jH                  jw                  edPk  dQ      O       e	jt                  dJg e	jH                  jw                  edPk  dQ      O      g	      dS        Z<e	jH                  jK                  d% ed&d&      g f ed&d&      gg g gf edd      dgf edd      gd gdggf ed#d#dTdT      g dUf ed#d#dTdT      gg d6g dUgf ed d dd       ed,d,d-d-       ed#d#dTdT      gg dVg dWgf ejf                   ed#d#      d      d#gf ejf                   ed#d#      d      gd gd#ggf ejf                   ed#d#      d#ez        g d0f ejf                   ed#d#      d#ez        gg d1g d0gf ed(d(gd2d2gg      d(d2gf ed(d(gd2d2gg      gd d gd(d2ggf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gg      d2gf ed(d2gd2d2gg      gd gd2ggfg      dX        Z=e	jH                  jK                  d% ed d       d gf ed d       gd gd ggf ed&d&      d gf ed&d&      gd gd ggf ed d&      g f ed d&      gg g gf edd      d dgf edd      gd d gd dggf ed d dd      d dgf ed d dd      gd d gd dggf ed d dd       ed,d,d-d-       eddd#d#      gg dYg dZgf ejf                   ed#d#      d&      dd#gf ejf                   ed#d#      d&      gd d gdd#ggf ejf                   edd      e      dgf ejf                   edd      e      gd gdggf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gg      dTd2gf ed(d2gd2d2gg      gd d gdTd2ggfg      d[        Z>e	jH                  jK                  d% ed d&      d gf ed d&      gd gd ggf ed&d       d gf ed&d       gd gd ggf ed&d&      d dgf ed&d&      gd d gd dggf edd      dgf edd      gd gdggf ed d dd      d dgf ed d dd      gd d gd dggf ed d d8d8      g d9f ed d d8d8      gg d1g d9gf ed d dd       ed,d,d-d-       eddd#d#      gg d:g d;gf ejf                   ed#d#      e      g d0f ejf                   ed#d#      e      gg d1g d0gf ejf                   ed#d#      d#ez        g d<f ejf                   ed#d#      d#ez        gg d+g d<gf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gg      d2gf ed(d2gd2d2gg      gd gd2ggfg      d\        Z?e	jH                  jK                  d% ed&d&      g f ed&d&      gg g gf edd      dgf edd      gd gdggf ed#d#dTdT      g f ed#d#dTdT      gg g gf ejf                   ed#d#      d      g f ejf                   ed#d#      d      gg g gf ed(d(gd2d2gg      g f ed(d(gd2d2gg      gg g gf ed(d2gd2d2gg      g f ed(d2gd2d2gg      gg g gf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gfg      d]        Z@e	jH                  jK                  d% ed d       g f ed d       gg g gf ed&d&      d gf ed&d&      gd gd ggf ed d&      g f ed d&      gg g gf edd      g f edd      gg g gf ed d dd      g f ed d dd      gg g gf ejf                   ed#d#      d&      g f ejf                   ed#d#      d&      gg g gf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gg      g f ed(d2gd2d2gg      gg g gf ed^d^gd2d2gg      dTgf ed^d^gd2d2gg      gd gdTggfg      d_        ZAe	jH                  jK                  d% ed d&      d gf ed d&      gd gd ggf ed&d       d gf ed&d       gd gd ggf ed&d&      d dgf ed&d&      gd d gd dggf edd      dgf edd      gd gdggf ed d dd      g f ed d dd      gg g gf ed d d&d&      d gf ed d d&d&      gd gd ggf ed d d8d8      g f ed d d8d8      gg g gf ejf                   ed#d#      e      d#gf ejf                   ed#d#      e      gd gd#ggf ejf                   ed#d#      d#ez        g f ejf                   ed#d#      d#ez        gg g gf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gg      g f ed(d2gd2d2gg      gg g gf ed`dagd`dbgg      d(gf ed`dagd`dbgg      gd gd(ggfg      dc        ZBe	jH                  jK                  d% ed&d&      g f ed&d&      gg g gf edd      dgf edd      gd gdggf ed#d#dTdT      ddd(gf ed#d#dTdT      gd d gddd(ggf ejf                   ed#d#      d      d#gf ejf                   ed#d#      d      gd gd#ggf ejf                   ed#d#      d#ez        g d0f ejf                   ed#d#      d#ez        gg d1g d0gf ed(d(gd2d2gg      d(d2gf ed(d(gd2d2gg      gd d gd(d2ggf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gg      d2gf ed(d2gd2d2gg      gd gd2ggfg      de        ZCe	jH                  jK                  d% ed d       g f ed d       gg g gf ed d dd      d gf ed d dd      gd gd ggf ejf                   ed#d#      d&      g f ejf                   ed#d#      d&      gg g gf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gg      g f ed(d2gd2d2gg      gg g gf ed(d(gdTdTgg      g f ed(d(gdTdTgg      gg g gfg      df        ZDe	jH                  jK                  d% ed d       g f ed d       gg g gf ed d dd      g f ed d dd      gg g gf ed d dd      dgf ed d dd      gd gdggf ejf                   ed#d#      e      g f ejf                   ed#d#      e      gg g gf ejf                   ed#d#      d#ez        d#gf ejf                   ed#d#      d#ez        gd gd#ggf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gfg      dg        ZEe	jH                  jK                  d% ed&d&      g f ed&d&      gg g gf edd      g f edd      gg g gf ed#d#dTdT      g f ed#d#dTdT      gg g gf ejf                   ed#d#      d      g f ejf                   ed#d#      d      gg g gf ed(d(gd2d2gg      g f ed(d(gd2d2gg      gg g gf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gg      g f ed(d2gd2d2gg      gg g gfg      dh        ZFe	jH                  jK                  d% ed d       g f ed d       gg g gf ed d d8d8      g f ed d d8d8      gg g gf ejf                   ed#d#      d&      g f ejf                   ed#d#      d&      gg g gf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gg      g f ed(d2gd2d2gg      gg g gf ed(d(gdTdTgg      g f ed(d(gdTdTgg      gg g gfg      di        ZGe	jH                  jK                  d% ed d       g f ed d       gg g gf ed d dd      d dgf ed d dd      gd d gd dggf ed d dd      d dgf ed d dd      gd d gd dggf ejf                   ed#d#      e      dddgf ejf                   ed#d#      e      gd d gdddggf ejf                   ed#d#      d#ez        g djf ejf                   ed#d#      d#ez        gg d6g djgf ed(d2gd2d2gg      g f ed(d2gd2d2gg      gg g gfg      dk        ZHe	jH                  jK                  d% edd      g f ed#d#dTdT      g f ejf                   ed#d#      d      g f ed(d2gd2d2gg      g fg      dl        ZIe	jH                  jK                  d% ed d       g f ed d       gg g gf ed d d8d8      dgf ed d d8d8      gd gdggf ejf                   ed#d#      d&      dd#gf ejf                   ed#d#      d&      gd d gdd#ggf ej                  dmdng      d gf ej                  dmdng      gd gd ggf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gd2dogg      g f ed(d2gd2d2gd2dogg      gg g gfg      dp        ZKe	jH                  jK                  d% ed d&      g f ed d&      gg g gf ed d d8d8      g f ed d d8d8      gg g gf ejf                   ed#d#      e      g f ejf                   ed#d#      e      gg g gf ed(d2gd2d2gd2dogg      d2gf ed(d2gd2d2gd2dogg      gd gd2ggfg      dq        ZLe	jH                  jK                  d% ed&d&      g f ed&d&      gg g gf edd      g f edd      gg g gf ed#d#dTdT      d#dTgf ed#d#dTdT      gd d gd#dTggf ejf                   ed#d#      d      g f ejf                   ed#d#      d      gg g gf edrdsg      dgf edrdsg      gd gdggf ed(d(gd2d2gg      g f ed(d(gd2d2gg      gg g gfg      dt        ZMe	jH                  jK                  d% ed d       d gf ed d       gd gd ggf ed&d&      g f ed&d&      gg g gf edd      d dgf edd      gd d gd dggf ed d dd      dgf ed d dd      gd gdggf ejf                   ed#d#      d&      g f ejf                   ed#d#      d&      gg g gf ejf                   edd      eduz         g f ejf                   edd      eduz         gg g gf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gd2dogg      dTd2gf ed(d2gd2d2gd2dogg      gd d gdTd2ggfg      dv        ZNe	jH                  jK                  d% ed d&      g f ed d&      gg g gf eeez   d       d gf eeez   d       gd gd ggf ed d dd      g f ed d dd      gg g gf eeez   d dd      d gf eeez   d dd      gd gd ggf ejf                   ed#d#      eez         g f ejf                   ed#d#      eez         gg g gf ed d gd2d2gd2dogg      g f ed d gd2d2gd2dogg      gg g gfg      dw        ZOe	jH                  jK                  d% ed&d&      g f ed&d&      gg g gf edd      dgf edd      gd gdggf ed#d#dTdT      g dUf ed#d#dTdT      gg d6g dUgf ejf                   ed#d#      d      d#gf ejf                   ed#d#      d      gd gd#ggf ejf                   ed#d#      d#ez        g d0f ejf                   ed#d#      d#ez        gg d1g d0gf ed(d(gd2d2gg      d(d2gf ed(d(gd2d2gg      gd d gd(d2ggf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gg      d2gf ed(d2gd2d2gg      gd gd2ggfg      dx        ZPe	jH                  jK                  d% ed d       g f ed d       gg g gf ed d d8d8      d gf ed d d8d8      gd gd ggf eddd#d#      ddgf eddd#d#      gd d gddggf ejf                   ed#d#      d&      g f ejf                   ed#d#      d&      gg g gf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gg      g f ed(d2gd2d2gg      gg g gf ed(d(gdTdTgg      g f ed(d(gdTdTgg      gg g gfg      dy        ZQe	jH                  jK                  d% ed d       g f ed d       gg g gf ed d dd      g f ed d dd      gg g gf ed d dd      dgf ed d dd      gd gdggf ejf                   ed#d#      e      g f ejf                   ed#d#      e      gg g gf ejf                   ed#d#      d#ez        d#gf ejf                   ed#d#      d#ez        gd gd#ggf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gfg      dz        ZRe	jH                  jK                  d% ed&d&      g f ed&d&      gg g gf edd      dgf edd      gd gdggf ed#d#dTdT      g f ed#d#dTdT      gg g gf ejf                   ed#d#      d      g f ejf                   ed#d#      d      gg g gf ed(d(gd2d2gg      g f ed(d(gd2d2gg      gg g gf ed(d2gd2d2gg      g f ed(d2gd2d2gg      gg g gf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gfg      d{        ZSe	jH                  jK                  d% ed d       d gf ed d       gd gd ggf ed&d&      d gf ed&d&      gd gd ggf ed d&      g f ed d&      gg g gf edd      d dgf edd      gd d gd dggf ej                  ddgddgg      dgf ej                  ddgddgg      gd gdggf ej                  d8d8gd|d|gg      g f ej                  d8d8gd|d|gg      gg g gf ed d dd      g f ed d dd      gg g gf ejf                   ed#d#      d&      g f ejf                   ed#d#      d&      gg g gf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gg      g f ed(d2gd2d2gg      gg g gf ed^d^gd2d2gg      dTgf ed^d^gd2d2gg      gd gdTggfg      d}        ZTe	jH                  jK                  d% ed d&      d gf ed d&      gd gd ggf ed&d       d gf ed&d       gd gd ggf edd      dgf edd      gd gdggf ed&d&      d dgf ed&d&      gd d gd dggf ej                  d d gddgg      g f ej                  d d gddgg      gg g gf ej                  d8d8gd|d|gg      dgf ej                  d8d8gd|d|gg      gd gdggf ed d dd      g f ed d dd      gg g gf ed d d&d&      d gf ed d d&d&      gd gd ggf ed d d8d8      g f ed d d8d8      gg g gf ejf                   ed#d#      e      d#gf ejf                   ed#d#      e      gd gd#ggf ejf                   ed#d#      d#ez        g f ejf                   ed#d#      d#ez        gg g gf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gg      g f ed(d2gd2d2gg      gg g gf ed`dagd`dbgg      d(gf ed`dagd`dbgg      gd gd(ggfg      d~        ZUe	jH                  jK                  d% ed&d&      g f ed&d&      gg g gf edd      dgf edd      gd gdggf ej                  d d gddgg      dgf ej                  d d gddgg      gd gdggf ej                  d&d&gd|d|gg      ddgf ej                  d&d&gd|d|gg      gd d gddggf ej                  d dgdd gg      dgf ej                  d dgdd gg      gd gdggf ed#d#dTdT      ddd(gf ed#d#dTdT      gd d gddd(ggf ejf                   ed#d#      d      d#gf ejf                   ed#d#      d      gd gd#ggf ejf                   ed#d#      d#ez        g d0f ejf                   ed#d#      d#ez        gg d1g d0gf ed(d(gd2d2gg      d(d2gf ed(d(gd2d2gg      gd d gd(d2ggf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gg      d2gf ed(d2gd2d2gg      gd gd2ggfg      d        ZVe	jH                  jK                  d% ed d       g f ed d       gg g gf ej                  d d gddgg      g f ej                  d d gddgg      gg g gf ej                  d d gddgg      g f ej                  d d gddgg      gg g gf ej                  d dgdd gg      g f ej                  d dgdd gg      gg g gf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gf ed(d2gd2d2gg      g f ed(d2gd2d2gg      gg g gf ed(d(gdTdTgg      g f ed(d(gdTdTgg      gg g gf ed d dd      g f ed d dd      gg g gf ed d dd      g f ed d dd      gg g gf ejf                   ed#d#      d&      g f ejf                   ed#d#      d&      gg g gfg      d        ZWe	jH                  jK                  d% ed d       g f ed d       gg g gf ej                  d d gddgg      g f ej                  d d gddgg      gg g gf ed d dd      g f ed d dd      gg g gf ed d dd      dgf ed d dd      gd gdggf ejf                   ed#d#      e      g f ejf                   ed#d#      e      gg g gf ejf                   ed#d#      d#ez        d#gf ejf                   ed#d#      d#ez        gd gd#ggf ed(d2gd2d(gg      g f ed(d2gd2d(gg      gg g gfg      d        ZXe	jH                  jW                  edk\  d      e	jH                  jK                  d ed d        ed d       gddgeegg      d               ZYe	jH                  jW                  edk  d      e	jH                  jK                  d ed d       ddf ed d       gddf ed d       ddf ed d       gddf ed d       gdgdf ed d       d dgdf ed d       gd dgdf ed d       dggdf ed d       gdggdfg	      d               ZZe	jH                  jW                  edk  d      e	jH                  jK                  dg ddg fdgdg g gf edd      d g f edd      gd g g gf edd      d'g f edd      gd'g g gf edd      ej                  g f edd      gej                  g g gf e       dg f e       gdg g gf edd      d&d gf edd      gd&d gd ggf edd      d|g d9f edd      gd|g d1g d9gf ed#d#      d8g d0f ed#d#      gd8g d1g d0gf ed&d&      dd dgf ed&d&      gdd d gd dggfd ed&d&      gdddgd dggf ed&d&       edd      gdg dg dgf ed d       edd      gddgg dg d;gf ed d d#d#      d g d;f ed d d#d#      gd g d6g d;gf ed d d#d#      dg d;f ed d d#d#      gdg d6g d;gf edddd      d8g d;f edddd      gd8g d6g d;gf eddgd8d8gg      dg d9f eddgd8d8gg      gdg d1g d9gf ed&d&gddgg      dg df ed&d&gddgg      gdg d6g dgf      d               Z\e	jH                  jW                  edk  d      e	jH                  jK                  dddg fdgdg g gf ed&d&      d d gf ed&d&      gd d gd ggf ed&d&      dd dgf ed&d&      gdd d gd dggf edd      d&ddgf edd      gd&d d gddggf ed d dd      d&d dgf ed d dd      gd&d d gd dggf ed&d&d8d8      d&d dgf ed&d&d8d8      gd&d d gd dggf ed(d(gd2d2gg      d&g d5f ed(d(gd2d2gg      gd&g d6g d5gf ed(d2gd2d(gg      d8d(dTgf ed(d2gd2d(gg      gd8d d gd(dTggfg      d               Z]e	jH                  jW                  edk  d      e	jH                  jK                  d ed d       d d gf ed d       gd d gd ggf ed d       d&d gf ed d       gd&d gd ggf ed d       d8d dgf ed d       gd8d d gd dggf ed&d&      dd dgf ed&d&      gdd d gd dggf ed&d&      d&d dgf ed&d&      gd&d d gd dggf ed d dd      d d dgf ed d dd      gd d d gd dggf ed d dd      dg d9f ed d dd      gdg d1g d9gf ed(d(gd2d2gg      d&d(d2gf ed(d(gd2d2gg      gd&d d gd(d2ggf ed(d(gd2d2gg      d|g df ed(d(gd2d2gg      gd|g dg dgfg      d               Z^d Z_e	jH                  jK                  ddg      d        Z`e	jH                  jK                  dddg edd      dgg      d        Zae	jH                  jK                  deeg edd      egg      d        Zbe	jH                  jK                  d% edd      d f edd      df edd      df edd       ed d       gdd gf edd       edd      gddgf edd       ed,d,      gd dgf ed&d&dd      df ejf                   ed|d|      e      df ejf                   ed#d#      e      d#f edad(gd2d2gg      d2f ed(d2gd2d(gg      dTfg      d        Zce	jH                  jK                  d% ed&d&      d dgf ed d d#d#      g d;f ed(d(gd2d2gg      d(d2gfg      d        Zde	jH                  jK                  d% ed&d&      d f ed8d&      d f ej                  d&d8dd      df ej                  d d&gdd|gg      d fg      d        Zee	jH                  jK                  d% edd      ddgf ed d dd      d dgf ed&d&d8d8      d dgf ed#d#d(d(      g df ejf                   ed|d|      e      ddgf ejf                   ed#d#      e      dd#gf ed(d(gd2d2gg      g d5f edad(gd2d2gg      dTd2gf ed(d2gd2d(gg      d(dTgfg	      d        Zfe	jH                  jK                  d% ed d       d f edd      df ej                  d d(ddT      d#f ed(d2gd2d(gg      dTfg      d        Zge	jH                  jK                  d% ed&d&      d dgf ed d dd      d dgf ed&d&d8d8      g d9f ed#d#d(d(      g df ejf                   ed|d|      e      dd#gf ejf                   ed#d#      e      g d0f ed(d(gd2d2gg      d(d2gf edad(gd2d2gg      d(d2gfg      d        Zhd Zie	jH                  jK                  dddgg      d        Zje	jH                  jK                  dddg fdgdg g gfddg g ffdgdg g gg ffg      d        Zke	jH                  jK                  d%eg fegg g gfeegddgdd#ggfg      d        Zle	jH                  jK                  d% edd      d gf edd      gd gd ggf edd      dgf edd      gd gdggf edd      dgf edd      gd gdggf ed&d&      d dgf ed&d&      gd d gd dggf edd       ed d       gd dgdd ggf edd       edd      gd dgddggf edd       ed,d,      gd dgd dggf ed&d&dd      dgf ed&d&dd      gd gdggf ed d d#d#      g d;f ed d d#d#      gg d6g d;gf ejf                   ed|d|      d      dd#gf ejf                   ed|d|      d      gd d gdd#ggf ejf                   ed#d#      d&      d#gf ejf                   ed#d#      d&      gd gd#ggf edad(gd2d2gg      d2gf edad(gd2d2gg      gd gd2ggf ed(d2gd2d(gg      dTgf ed(d2gd2d(gg      gd gdTggf ed(d(gd2d2gg      d(d2gf ed(d(gd2d2gg      gd d gd(d2ggf ed&d&gddgg      g df ed&d&gddgg      gg d6g dgfg      d        Zme	jH                  jK                  d% ed&d&      d gf ed&d&      gd gd ggf edd      ddgf edd      gd d gddggf ed d dd      d dgf ed d dd      gd d gd dggf ed&d&d8d8      d dgf ed&d&d8d8      gd d gd dggf ed d d&d&       ed#d#d(d(      gg dg dgf ejf                   ed|d|      d      g df ejf                   ed|d|      d      gg d1g dgf ejf                   ed#d#      d&      dd#gf ejf                   ed#d#      d&      gd d gdd#ggf ed(d(gd2d2gg      g d5f ed(d(gd2d2gg      gg d6g d5gf edad(gd2d2gg      dTd2gf edad(gd2d2gg      gd d gdTd2ggf ed(d2gd2d(gg      d(dTgf ed(d2gd2d(gg      gd d gd(dTggfg      d        Zne	jH                  jK                  d% ed d       d gf ed d       gd gd ggf edd      dgf edd      gd gdggf ed&d&      d dgf ed&d&      gd d gd dggf ed d dd      d dgf ed d dd      gd d gd dggf ed&d&d8d8      g d9f ed&d&d8d8      gg d1g d9gf ed d dd       ed#d#d(d(      gg dg dgf ejf                   ed|d|      e      dd#gf ejf                   ed|d|      e      gd d gdd#ggf ejf                   ed#d#      e      g d0f ejf                   ed#d#      e      gg d1g d0gf ed(d(gd2d2gg      d(d2gf ed(d(gd2d2gg      gd d gd(d2ggf edad(gd2d2gg      d(d2gf edad(gd2d2gg      gd d gd(d2ggf ed(d2gd2d(gg      dTgf ed(d2gd2d(gg      gd gdTggfg      d        Zoe	jH                  jK                  d ed&d&      dd dgf ed&d&      gdd d gd dggf ed&d&      d"d dgf ed&d&      gd"d d gd dggf ed&d&      dg f ed&d&      gdg g gf ed&d&       ed d       gddgd ggfg      d        Zpe	jH                  jK                  d ed&d&      d f ed&d&      gd f ed&d&      d'f ed&d&      gd'fg      d        Zqd Zre	jH                  jK                  d% ed d       d gdgff ed d       gd gd ggdgff ed&d&      d dgddgff ed&d&      gd d gd dggddgff ed d dd      d dgddgff ed d dd      gd d gd dggddgffg      d        Zse	jH                  jK                  d edd      ddgf edd      gdd gdggf edd      dd dgf edd      gdd d gd dggf edd       edd      gdg dĢg dŢgfg      dƄ        Zte	jH                  jK                  d% edd      g f edd      gg g gfg      dǄ        Zue	jH                  jK                  d edd      df edd      dgf edd      gg f edd      gdgfg      d˄        Zve	jH                  jK                  d edd      df edd      dgf edd      gg f edd      gdgfg      d̈́        Zwd΄ Zxdτ Zyy)    N)ThreadPoolExecutor)assert_array_equal)boxgeos_version
LineString
MultiPointPointSTRtree)UnsupportedGEOSVersionError)assert_geometries_equal)emptyempty_line_stringempty_pointignore_invalidpoint   g&.>session)scopec               #      K   t        j                  t        j                  d      t        j                  d            } t	        |        y w)N
   )shapelypointsnparanger
   geomss    _/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/shapely/tests/test_strtree.pytreer      s0     NN299R="))B-8E
%.s   AAc               #      K   t        j                  d      } t        j                  d      }d}t        j                  t        j                  | | |z   g|||z   gg      j
                        }t        |       y w)Nr      )r   r   r   linestringsarrayTr
   )xyoffsetr   s       r   	line_treer'   #   sc     
		"A
		"AF1a&j/Aq6z?)K L N NOE
%.s   A9A;c               #      K   t        j                  t        j                  t        j                  d      t        j                  d            t
        t        z   d      } t        |        y w)Nr       )	quad_segs)r   bufferr   r   r   HALF_UNIT_DIAGEPSr
   r   s    r   	poly_treer.   ,   sJ      NNryy}biim4ns6JVXE %.s   A,A.zgeometry,count, hitsr    c                     t        |       }t        |      |k(  sJ |j                  t        dddd            j                  |k(  sJ y )Nr   d   )r
   lenqueryr   size)geometrycounthitsr   s       r   	test_initr7   6   sH      8Dt9::c!QS)*//4777    c                  x    t        j                  t              5  t        dg       d d d        y # 1 sw Y   y xY w)NzNot a geometry)pytestraises	TypeErrorr
    r8   r   test_init_with_invalid_geometryr>   K   s/    	y	! $!"#$ $ $s   09c                      t               } t        dd      }| |g}t        |      }d } d }dd l}|j                          |j	                  t        dddd            j                         dgk(  sJ y )Nr   r    )r	   r
   gccollectr2   r   tolist)point1point2r   r   r@   s        r   test_referencesrE   P   sk    WF1a[FVE5>DFFJJL ::c!Q1o&--/A3666r8   c                      t        j                  t        j                  d      t        j                  d            } t	        |       }d | d d  dd l}|j                          |j                  t               y )Nr   r   )	r   r   r   r   r
   r@   rA   r2   r   )arrr   r@   s      r   test_flush_geometriesrH   b   sN    
..2		"
6C3<D CFJJLJJur8   c                      t        j                  t        g      } t        |       }t	        | |j
                         t        j                  dd      | d<   t	        t        |j
                  d          y )Nr   )r   r"   r   r
   r   
geometriesr   r	   )rG   r   s     r   test_geometries_propertyrK   o   sR    
((E7
C3<DC1 ]]1a CFE4??1#56r8   win32zdoes not run on Appveyor)reasonc           	         t        t        d      D cg c]  }t        ||      j                  d       c}      }t	        j
                  |      }d}| dz  }t        |d      5 }|j                  |       d d d        t        j                  t        j                  t        |      gt        j                        }|j                  |       |j                          |j                   dk(  sJ y c c}w # 1 sw Y   xY w)	N   皙?a0  
import pickle
import sys

from shapely import Point, geos_version

pickled_strtree = sys.stdin.buffer.read()
print("received pickled strtree:", repr(pickled_strtree))
tree = pickle.loads(pickled_strtree)

tree.query(Point(0, 0))
if geos_version >= (3, 6, 0):
    tree.nearest(Point(0, 0))
print("done")
zunpickle-strtree.pyw)stdin)inputr   )r
   ranger	   r+   pickledumpsopenwrite
subprocessPopensys
executablestrPIPEcommunicatewait
returncode)tmp_pathir   pickled_strtreeunpickle_scriptfilenameoutprocs           r   test_pickle_persistenceri   {   s     U1X>E!QK&&s+>?Dll4(OO  //H	h	 #		/"# 	X'ooD 	?+IIK??a; ?(# #s   "C0$C55C>r4   zI am not a geometryzstill not a geometryzin a mixed arrayz8ignore:Creating an ndarray from ragged nested sequences:c                     t        j                  t        t        f      5  | j	                  |       d d d        y # 1 sw Y   y xY wN)r:   r;   r<   
ValueErrorr2   r   r4   s     r   test_query_invalid_geometryrn      s6     
	:.	/ 

8  s	   ;Ac                     t        j                  t        d      5  | j                  t	        dd      gg       d d d        y # 1 sw Y   y xY w)NzArray should be one dimensionalmatch      ?)r:   r;   r<   r2   r	   r   s    r   test_query_invalid_dimensionrt      s>    	y(I	J (

U3_%&'( ( (   AAz tree_geometry, geometry,expectedr   rO   c                 P    t        |       }t        |j                  |      |       y rk   )r
   r   r2   )tree_geometryr4   expectedr   s       r   test_query_with_none_and_emptyry      s"    P =!Dtzz(+X6r8   zgeometry,expectedrr         )r{            	   )r   r   r   r   r   r0   n   )r   r   r   r   r   r   r   )r   r    r{   r}   r~   r   r   )r   rO      )r   r   r   r~   )r{   r}   r~   c                 :    t        | j                  |      |       y rk   r   r2   r   r4   rx   s      r   test_query_pointsr      s    D tzz(+X6r8   )r   r{   r}   r~   )r   r   r   r   c                 :    t        | j                  |      |       y rk   r   r'   r4   rx   s      r   test_query_linesr     s    4 yx0(;r8   g      ?)r   r    r   )r   r   r   r   )r   r    r   rO   )r    r   rO   r   r{   c                 :    t        | j                  |      |       y rk   r   r.   r4   rx   s      r   test_query_polygonsr      s    L yx0(;r8   	predicatebad_predicatedisjointc                     t        j                  t        d      5  | j                  t	        dd      |       d d d        y # 1 sw Y   y xY w)Nzis not a valid optionrp   r    r   )r:   r;   rl   r2   r	   )r   r   s     r   test_query_invalid_predicater   I  s>     
z)@	A 5

5A;)
45 5 5ru   zpredicate,expected
intersectswithincontainsoverlapscrossescovers
covered_bycontains_properlyc                     t        dddd      }t        j                  |       t        | j	                  ||      |       y )Nr   r   r   )r   r   preparer   r2   )r   r   rx   geoms       r   test_query_prepared_inputsr   V  s6     q!Q?DOODtzz$)z<hGr8   c           	          t        j                  t        dddd      t        dddd      g      }| j                  |d      }t	        j
                  |d          t        || j                  |d             y )Nr   r    rO   r{   r   r   )r   r"   r   r2   r   r   r   )r   r   rx   s      r   )test_query_with_partially_prepared_inputsr   i  sd    88SAq!_c!Q1o67Dzz$,z7H OODGxDL!IJr8   rO      r   zGEOS < 3.13)marks)rO   r   r   z
GEOS < 3.8touchesc                 l   t               5  t        j                  ddgdt        d      g      }d d d        t        dk  r@t        j                  t        j                        5  | j                  |       d d d        y t        | j                  |      |       y # 1 sw Y   pxY w# 1 sw Y   y xY w)Nr    nanr   r   )
r   r   r!   floatr   r:   r;   GEOSExceptionr2   r   )r   r   rx   line_nans       r   test_query_predicate_errorsr   r  s    N 
	 B&&1v5</@ABj ]]7001 	6JJx9J5	6 	6 	4::h):DhOB B	6 	6s   $B#B*B'*B3r}   )rO   r   r{   r}   )r   r   r   r   r   r   )r   r    rO   r   r{   r}   c                 >    t        | j                  |d      |       y Nr   r   r   r   s      r   test_query_intersects_pointsr     s    h tzz(lzCXNr8   )r   r   r   r   r   )r   r    r    r   rO   c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_intersects_linesr     s    J yx<H(Sr8   c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_intersects_polygonsr         \ yx<H(Sr8   c                 >    t        | j                  |d      |       y Nr   r   r   r   s      r   test_query_within_pointsr   6  s    8 tzz(hz?Jr8   g      @c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_within_linesr   U  s    @ yx8DhOr8   g      @g      @g      @c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_within_polygonsr   x  s    R yx8DhOr8   r   c                 >    t        | j                  |d      |       y Nr   r   r   r   s      r   test_query_contains_pointsr     s    @ tzz(jzA8Lr8   c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_contains_linesr     s    0 yx:FQr8   c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_contains_polygonsr         2 yx:FQr8   c                 >    t        | j                  |d      |       y Nr   r   r   r   s      r   test_query_overlaps_pointsr     s    : tzz(jzA8Lr8   c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_overlaps_linesr   #  r   r8   )r    r   r   r{   c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_overlaps_polygonsr   ?  s    6 yx:FQr8   c                 >    t        | j                  |d      |       y Nr   r   r   r   s      r   test_query_crosses_pointsr   `  s     tzz(iz@(Kr8   )r    r   )r   r    r   c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_crosses_linesr   q      0 yx9ExPr8   c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_crosses_polygonsr     s    $ yx9ExPr8   )rz   rz   )r    r    c                 >    t        | j                  |d      |       y Nr   r   r   r   s      r   test_query_touches_pointsr     s    0 tzz(iz@(Kr8   gHz>c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_touches_linesr     s    > yx9ExPr8   c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_touches_polygonsr     r   r8   c                 >    t        | j                  |d      |       y Nr   r   r   r   s      r   test_query_covers_pointsr     s    @ tzz(hz?Jr8   c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_covers_linesr     s    6 yx8DhOr8   c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_covers_polygonsr   =  s    2 yx8DhOr8   c                 >    t        | j                  |d      |       y Nr   r   r   r   s      r   test_query_covered_by_pointsr   Z  s    8 tzz(lzCXNr8   g      @c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_covered_by_linesr   y  s    N yx<H(Sr8   c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_covered_by_polygonsr     r   r8   c                 >    t        | j                  |d      |       y Nr   r   r   r   s      r   #test_query_contains_properly_pointsr     s    T tzz(6IzJHUr8   c                 >    t        | j                  |d      |       y r   r   r   s      r   "test_query_contains_properly_linesr     s    < ,?@(r8   c                 >    t        | j                  |d      |       y r   r   r   s      r   %test_query_contains_properly_polygonsr   %  s    8 ,?@(r8   )rO   r   r   zGEOS >= 3.10c                     t        j                  t        d      5  | j                  |dd       d d d        y # 1 sw Y   y xY w)Nzrequires GEOS >= 3.10rp   dwithinr    r   distance)r:   r;   r   r2   rm   s     r   test_query_dwithin_geos_versionr   I  s;    
 
2:Q	R >

8y1
=> > >	   :AzGEOS < 3.10zgeometry,distance,matchz#distance parameter must be providedfooz!could not convert string to floatz.Could not broadcast distance to match geometryg      ?zshould be one dimensionalc                     t        j                  t        |      5  | j                  |d|       d d d        y # 1 sw Y   y xY w)Nrp   r   r   )r:   r;   rl   r2   )r   r4   r   rq   s       r   #test_query_dwithin_invalid_distancer   R  s=      
z	/ E

8y8
DE E Er   zgeometry,distance,expectedg      ?g      ?)r   r   r    )r   r    r   g?g      ?)r   r    r    r    g      @)r   r    rO   r   c                 @    t        | j                  |d|      |       y Nr   r   r   )r   r4   r   rx   s       r   test_query_dwithin_pointsr   f  s!    J 

8y8
Dhr8   c                 @    t        | j                  |d|      |       y r   r   )r'   r4   r   rx   s       r   test_query_dwithin_linesr     s!    2 IIr8   )rO   r   r{   r}   r~   r   r   )r   r   r   r   r   r   r   c                 @    t        | j                  |d|      |       y r   r   )r.   r4   r   rx   s       r   test_query_dwithin_polygonsr     s"    B IIr8   c                  H    t        g       } | j                  t              J y rk   )r
   nearestr   rs   s    r   test_nearest_empty_treer     s     2;D<<&&&r8   c                     t        j                  t              5  | j                  |       d d d        y # 1 sw Y   y xY wrk   )r:   r;   r<   r   rm   s     r   test_nearest_invalid_geomr    s/    	y	! X     5>c                     t        j                  t              5  | j                  |       d d d        y # 1 sw Y   y xY wrk   r:   r;   rl   r   rm   s     r   test_nearest_noner    s/    	z	" X  r  c                     t        j                  t              5  | j                  |       d d d        y # 1 sw Y   y xY wrk   r  rm   s     r   test_nearest_emptyr  
  s1     
z	" X  r  ir   c                 :    t        | j                  |      |       y rk   r   r   r   s      r   test_nearest_pointsr
    s    " t||H-x8r8   c                 2    | j                  |      }||v sJ y rk   r   )r   r4   rx   results       r   test_nearest_points_equidistantr  &  s      \\(#FXr8   c                 :    t        | j                  |      |       y rk   r	  r   s      r   test_nearest_linesr  9       y((2H=r8   )r   rO   r   r{   c                 2    | j                  |      }||v sJ y rk   r  )r'   r4   rx   r  s       r   test_nearest_lines_equidistantr  F  s"    2 x(FXr8   c                 :    t        | j                  |      |       y rk   r	  r   s      r   test_nearest_polygonsr  c  r  r8   )rO   r   r{   c                 2    | j                  |      }||v sJ y rk   r  )r.   r4   rx   r  s       r   !test_nearest_polygons_equidistantr  p  s"    * x(FXr8   c                      t        g       } t        | j                  t              g        t        | j                  t        g      g g g       y rk   )r
   r   query_nearestr   rs   s    r   test_query_nearest_empty_treer    s;    2;Dt))%0"5t))5'2RH=r8   c                     t        j                  t              5  | j                  |       d d d        y # 1 sw Y   y xY wrk   )r:   r;   r<   r  rm   s     r   test_query_nearest_invalid_geomr    s1    	y	! %8$% % %r  z!geometry,return_distance,expectedFTc                     |r5| j                  |d      \  }}t        ||d          t        ||d          y t        | j                  |      |       y )NTreturn_distancer   r    )r  r   )r   r4   r  rx   indexr   s         r   test_query_nearest_noner!    sS     ,,Xt,Lx5(1+.8Xa[1 	4--h7Br8   c                 :    t        | j                  |      |       y rk   r   r  r   s      r   test_query_nearest_empty_geomr$    s    
 t))(3X>r8   c                 :    t        | j                  |      |       y rk   r#  r   s      r   test_query_nearest_pointsr&    s    J t))(3X>r8   )r   r    r    r    r    )r   r   rO   r   r{   )r    r   rO   c                 :    t        | j                  |      |       y rk   r#  r   s      r   test_query_nearest_linesr(    s    @ y..x8(Cr8   )r   r   r    r    r    )r   r    rO   r   r{   c                 :    t        | j                  |      |       y rk   r#  r   s      r   test_query_nearest_polygonsr*    s    > y..x8(Cr8   zgeometry,max_distance,expectedrP   c                 >    t        | j                  ||      |       y )Nmax_distancer#  )r   r4   r-  rx   s       r   test_query_nearest_max_distancer.    s!    " 8,?r8   zgeometry,max_distancec                     t        j                  t        d      5  | j                  ||       d d d        y # 1 sw Y   y xY w)Nz#max_distance must be greater than 0rp   r,  r:   r;   rl   r  )r   r4   r-  s      r   'test_query_nearest_invalid_max_distancer1  3  s?     
z)N	O @8,?@ @ @s	   9Ac                     t        j                  t        d      5  | j                  t	        dd      dg       d d d        y # 1 sw Y   y xY w)Nz$parameter only accepts scalar valuesrp   rr   r    r,  )r:   r;   rl   r  r	   rs   s    r   )test_query_nearest_nonscalar_max_distancer3  A  sA    	z)O	P >5c?!=> > >s   AAg        g-?c                     |\  }}| j                  |d      \  }}t        ||       t        t        j                  |d      |       y )NTr  r   )r  r   r   round)r   r4   rx   expected_indicesexpected_distactual_indicesactual_dists          r   "test_query_nearest_return_distancer:  F  sI     '/#m"&"4"4Xt"4"TNK~'78rxxQ/?r8   zgeometry,exclusive,expected)r   r   r    r    )r   r   r    rO   c                 >    t        | j                  ||      |       y N	exclusiver#  )r   r4   r>  rx   s       r   test_query_nearest_exclusiver?  Z  s     t))(i)H(Sr8   c                 j    t        t        dd      g      } t        | j                  |d      |       y )Nr    Tr=  )r
   r	   r   r  r   s      r   'test_query_nearest_exclusive_no_resultsrA  h  s0     E!QK=!Dt))(d)CXNr8   zgeometry,exclusiveinvalidzalso invalidc                     t        j                  t              5  | j                  ||       d d d        y # 1 sw Y   y xY wr<  r0  )r   r4   r>  s      r   $test_query_nearest_invalid_exclusiverD  t  s8     
z	" :8y9: : :	   7A zgeometry,all_matchesc                     t        j                  t              5  | j                  ||       d d d        y # 1 sw Y   y xY w)Nall_matchesr0  )r   r4   rH  s      r   &test_query_nearest_invalid_all_matchesrI    s8     
z	" >8=> > >rE  c                     t        dd      }t        | j                  |d      ddg       | j                  |d      }t        j                  |dg      st        j                  |dg      sJ y y )Nrr   TrG  r   r    F)r	   r   r  r   array_equal)r   r   indicess      r   test_query_nearest_all_matchesrM    sk    #sOEt))%T)BQFK  E :G>>'A3'2>>'A3+GGG+G'r8   c                  2  
 t        j                  t        j                  j	                  ddd            } d}t        j
                  dt        j                  j                  |      z  dz
  dt        j                  j                  |      z  dz
        }t        t        |       dz        }| d | | |d|z   | d|z  d|z   | d|z  d  g
t        t        |      dz        }|d | ||d|z   |d|z  d|z   |d|z  d  g}g t        d      D ]#  }||   }t        |      }j                  |       % 
fd}t               5 }	t        |	j                  |t        j                  t        d      t        d                         d d d        y # 1 sw Y   y xY w)Ni  rO   r   i r   c                 H    | \  }}|   }|   }|j                  |d      S r   )r2   )idxsrc   jr   rightpolygons_partstreess        r   thread_funcz0test_strtree_threaded_query.<locals>.thread_func  s2    1Qxq!zz%:z66r8   )r   polygonsr   randomrandnr   intr1   rT   r
   appendr   listmap	itertoolsproduct)rV  Nr   npoints_partsrc   leftr   rU  poolrS  rT  s             @@r   test_strtree_threaded_queryrd    s   		a ;<HA^^A		 0 0 33a7RYY=M=Ma=P9PST9TUF 	CMAA!QUQQQ	N 	CK!OAr
q1q5q1uq1uq1uw	L E1X At}T7 
	 KTXXk9#4#4U1XuQx#HIJK K Ks   AFF)zr]  mathrU   rY   r[   concurrent.futuresr   numpyr   r:   numpy.testingr   r   r   r   r   r   r	   r
   shapely.errorsr   shapely.testingr   shapely.tests.commonr   r   r   r   r   sqrtr,   r-   fixturer   r'   r.   markparametrizer7   r>   rE   rH   rK   skipifplatform
startswithri   filterwarningsrn   rt   ry   r+   r   r   r   r   r   r   paramxfailr   r   r   r   r   r   r   r   r   r   r   r   r   r   r!   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r
  r  r  r  r  r  r  r  r!  r$  r&  r(  r*  r.  r1  r3  r:  r?  rA  rD  rI  rM  rd  r=   r8   r   <module>rv     s<Z       
 1   ,  M M 6 3  1!
 i  !
 i  ! i  !  
Q

!Q
A
1
/	0!Q7
%6	7A>88$
7$
7 CLL++G4=WX  Y D 		q!,-	#	 VW X
(
 & 
UB	eWr2h	T2	dVb"X

%2r(#
r
$"b"
$
4&2r(#
%
5'B8$
%
5'B8$
#
%2r(+ Aq"b)A3/
Q2r*+qcA3Z8
u	s1aR01#6
u	s1aR01a&9
u	Aq"b 12aVaV4DE
%1#s4K!2E:K!2E:S1#J	
=#&N7O&N7
  
sC"
S/	RH%	q!qc
1+!qc
# 1a[%B-q!5VaV	

 
Q1a1a&!
aAq/	aVaV,-	Q2r	O,
aB
	@A Aq!_c#sC5s1aR7HI"$9:	

 
aQ	'3
'..q!a
(	)Iy+AB	aVaV$	%y1
q!fq!f%
&	')Y)?@9 B7C B7  
q!qc
1+!qc
#	sC1#
S/	aS1#J'	q#
3-A3*%	q!q!f
1+!Q!Q()	Q1a1a&!
aAq/	aVaV,-	aS	)Aq62
'..q!c
*	+q!fq!f-=>	aVaV$	%|4
q!fq!f%
&	',)EF)2<32<  
sC1a&!
S/	aVaV,-	q!qc
1+!qc
#	Q1a1a&!
aAq/	aVaV,-	Q3	i(
aC
	I 67 Aq!_c#sC5s1aAG<(	

 
a^	4i@W^^E!QK89	"	

 
aQ%7	8/JW^^E!QK^);<=o.	

 
aVaV$	%y1
q!fq!f%
&	')Y)?@A!$J<K$J< 55
 	y!	2	aS	R	B	9	r	qc"	HHK C++##L:$=m#T	

 	++##L9$<\#R	

 	++##L9$<\#R	

 
R	QC	B++##L9$<\#R	

 	++##L9$<\#R	

 	++##L9$<\#R	
;"%LPM%LP  
sC"
S/	RH%	q!qc
1+!qc
#	Q1a,'
aAq/	\<89 Aq!_c#sC5s1aAG!34	
 
aQ	'!-
'..q!a
(	)QC!:6 
aQ%7	8)DW^^E!QK^);<=	"	
 AA'(F	

 !Q!Q()*VaV	

 
aVaV$	%r*
q!fq!f%
&	'"b2 AA'(C	

 !Q!Q()*S1#J	
W/2fOg2fO  
q!qc
1+!qc
#	sC1#
S/	aS1#J'	q#
3-2r(#	q!q!f
1+!Q!Q()	Q1a1a&!
aAq/	aVaV,- Aq!_c#sC5s1aAGo.	

 
aS	)Aq62
'..q!c
*	+q!fq!f-=>	a^	4qc:
'..q!n
5	6!qc
C	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%1v.
q!fq!f%
&	'1a&1a&)9:? #HTI#HT  
q#
3-A3*%	sA
Q-A3*%	sC1a&!
S/	aVaV,-	q!qc
1+!qc
#	Q1a1a&!
aAq/	aVaV,-	Q3	i(
aC
	I 67 Aq!_c#sC5s1aAG<(	

 
a^	4i@W^^E!QK89	"	

 
aQ%7	8/JW^^E!QK^);<=o.	

 
aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%s+
q!fq!f%
&	'1#s4Q),ZT[,ZT
  
sC"
S/	RH%	q!qc
1+!qc
#	Q1a"
aAq/	RH%	aQ	',
'..q!a
(	)B84	aVaV$	%r*
q!fq!f%
&	'"b2 
aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%r*
q!fq!f%
&	'"b2-6K76K  
q!b
1+R!	sC1#
S/	aS1#J'	q#
3-2r(#	q!b
1+R!	Q1a"
aAq/	RH%	aS	)2.
'..q!c
*	+b"X6	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%r*
q!fq!f%
&	'"b2	c3Z!Q(	)A3/
sCj1a&)
*	+qcA3Z85>P?>P  
q#
3-A3*%	sA
Q-A3*%	sC1a&!
S/	aVaV,-	q!qc
1+!qc
#	Q1a"
aAq/	RH%	Q3	qc"
aC
	!qc
+	Q3	b!
aC
	R)	a^	4qc:
'..q!n
5	6!qc
C	aQ%7	8"=
'..q!a.&8
9	:RHE	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%r*
q!fq!f%
&	'"b2	dC[4+.	/!5
tSkD#;/
0	1QC!:>G$'PPQ'PP
  
sC"
S/	RH%	q!qc
1+!qc
#	Q1a1a&!
aAq/	aVaV,- 
aQ	'!-
'..q!a
(	)QC!:6 
aQ%7	8)D
'..q!a.&8
9	:Y	<RS	aVaV$	%1v.
q!fq!f%
&	'1a&1a&)9:	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%s+
q!fq!f%
&	'1#s45>M?>M  
q!b
1+R!	Q1a1#
aAq/	aS1#J'	aS	)2.
'..q!c
*	+b"X6	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%r*
q!fq!f%
&	'"b2%.R/.R  
q!b
1+R!	Q1a"
aAq/	RH%	Q1a1#
aAq/	aS1#J'	a^	4b9
'..q!n
5	6RA	aQ%7	81#>
'..q!a.&8
9	:aS1#JG 
aVaV$	%r*
q!fq!f%
&	'"b2'0R10R  
sC"
S/	RH%	q!b
1+R! 
Q1a"
aAq/	RH%	aQ	',
'..q!a
(	)B84	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%r*
q!fq!f%
&	'"b2 
aVaV$	%r*
q!fq!f%
&	'"b2/8M98M  
q!b
1+R! 
Q3	b!
aC
	R)	aS	)2.
'..q!c
*	+b"X6	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%r*
q!fq!f%
&	'"b2'0R10R  
q!b
1+R!	Q1a1a&!
aAq/	aVaV,-	Q1a1a&!
aAq/	aVaV,-	a^	4q!f=
'..q!n
5	6!Q!Q8HI	aQ%7	8,GW^^E!QK^);<=<(	

 
aVaV$	%r*
q!fq!f%
&	'"b2+4R54R  
q!b	Q1a"	aQ	',	aVaV$	%r*	LL  
q!b
1+R!	Q3	qc"
aC
	!qc
+	aS	)Aq62
'..q!c
*	+q!fq!f-=>			ff-	.4
'

vv.
/	0A3*=	aVaV$	%r*
q!fq!f%
&	'"b2	aVaVaV,	-r2
q!fq!fq!f-
.	/"b:%.Q/.Q  
q#
3-2r(#	Q3	b!
aC
	R)	a^	4b9
'..q!n
5	6RA	aVaVaV,	-s3
q!fq!fq!f-
.	/1#s<"Q#"Q  
sC"
S/	RH%	q!b
1+R!	Q1a1a&!
aAq/	aVaV,-	aQ	',
'..q!a
(	)B84	Xv&	'!-
h'
(	)QC!:6	aVaV$	%r*
q!fq!f%
&	'"b2%.L/.L  
q!qc
1+!qc
#	sC"
S/	RH%	q!q!f
1+!Q!Q()	Q1a1#
aAq/	aS1#J'	aS	)2.
'..q!c
*	+b"X6 
a^d%:	;R@
'..q!nt&;
<	=BxH	aVaV$	%r*
q!fq!f%
&	'"b2	aVaVaV,	-1v6
q!fq!fq!f-
.	/1a&1a&1AB3<Q=<Q  
q#
3-2r(#	~#Q	'!-
$a
(	)QC!:6	Q1a"
aAq/	RH%	^c!1a	+aS1
ns"Aq!
,	-aSz:	a^c%9	:B?
'..q!ns&:
;	<r2hG	aVaVaV,	-r2
q!fq!fq!f-
.	/"b:%.Q/.Q
  
sC"
S/	RH%	q!qc
1+!qc
#	Q1a,'
aAq/	\<89 
aQ	'!-
'..q!a
(	)QC!:6 
aQ%7	8)D
'..q!a.&8
9	:Y	<RS	aVaV$	%1v.
q!fq!f%
&	'1a&1a&)9:	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%s+
q!fq!f%
&	'1#s45>K?>K  
q!b
1+R!	Q3	qc"
aC
	!qc
+	Q1a1a&!
aAq/	aVaV,-	aS	)2.
'..q!c
*	+b"X6	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%r*
q!fq!f%
&	'"b2+4P54P  
q!b
1+R!	Q1a"
aAq/	RH%	Q1a1#
aAq/	aS1#J'	a^	4b9
'..q!n
5	6RA	aQ%7	81#>
'..q!a.&8
9	:aS1#JG 
aVaV$	%r*
q!fq!f%
&	'"b2'0P10P
  
sC"
S/	RH%	q!qc
1+!qc
#	Q1a"
aAq/	RH%	aQ	',
'..q!a
(	)B84	aVaV$	%r*
q!fq!f%
&	'"b2 
aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%r*
q!fq!f%
&	'"b2-6O76O  
q!qc
1+!qc
#	sC1#
S/	aS1#J'	q#
3-2r(#	q!q!f
1+!Q!Q()			q!fq!f-	.4
'

1v1v.
/	0A3*=			sCj3*5	6;
'

SzC:6
7	82r(C	Q1a"
aAq/	RH%	aS	)2.
'..q!c
*	+b"X6	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%r*
q!fq!f%
&	'"b2	c3Z!Q(	)A3/
sCj1a&)
*	+qcA3Z8C"%LTM%LT  
q#
3-A3*%	sA
Q-A3*%	q!qc
1+!qc
#	sC1a&!
S/	aVaV,-			q!fq!f-	.3
'

1v1v.
/	02r(;			sCj3*5	6<
'

SzC:6
7	8A3*E	Q1a"
aAq/	RH%	Q3	qc"
aC
	!qc
+	Q3	b!
aC
	R)	a^	4qc:
'..q!n
5	6!qc
C	aQ%7	8"=
'..q!a.&8
9	:RHE	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%r*
q!fq!f%
&	'"b2	dC[4+.	/!5
tSkD#;/
0	1QC!:>Q),ZT[,ZT
  
sC"
S/	RH%	q!qc
1+!qc
# 
		q!fq!f-	.4
'

1v1v.
/	0A3*=			sCj3*5	6A?
'

SzC:6
7	8Aq6Aq6:JK			q!fq!f-	.4
'

1v1v.
/	0A3*=	Q1a1a&!
aAq/	aVaV,- 
aQ	'!-
'..q!a
(	)QC!:6 
aQ%7	8)D
'..q!a.&8
9	:Y	<RS	aVaV$	%1v.
q!fq!f%
&	'1a&1a&)9:	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%s+
q!fq!f%
&	'1#s4I%(RVS(RV  
q!b
1+R!			q!fq!f-	.3
'

1v1v.
/	02r(;			q!fq!f-	.3
'

1v1v.
/	02r(;			q!fq!f-	.3
'

1v1v.
/	02r(;	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%r*
q!fq!f%
&	'"b2	aVaV$	%r*
q!fq!f%
&	'"b2	Q1a"
aAq/	RH%	Q1a"
aAq/	RH%	aS	)2.
'..q!c
*	+b"X61:;:  
q!b
1+R!			q!fq!f-	.3
'

1v1v.
/	02r(;	Q1a"
aAq/	RH%	Q1a1#
aAq/	aS1#J'	a^	4b9
'..q!n
5	6RA	aQ%7	81#>
'..q!a.&8
9	:aS1#JG 
aVaV$	%r*
q!fq!f%
&	'"b2-676 LJ.~Fq!uQ{mTD655'J> G>
 L:-mD	q!dAB
1+CD	q!e@A
1+BC
1+!DE	q!q!fNO
1+A PQ	q!ug:;
1+#!<=
E EE
 L:-mD ?	sB?
r2h? 
tT	Ar"? d
	a"b*	?
 
tT	B#? d
	b2r(+? 
tT	BFFB'? d
	bffr2h/? 
!R? 'ABx ? 
tT	C!%? d
	cQC!:.? 
tT	C+? d
	cIy#9:? 
q!c9%?  1+i34!?$ 
sC$A'%?& S/	DAq6Aq6"23'?* 5c?#  A
	
)?@ 3_eD$/0	"	
??J 1c]E$-.1I<(	
I?T 
Q1a!\*U?V aAq/	Al;<W?X 
Q1a$-Y?Z aAq/	D<">?[?^ 
Q1a#|,_?` aAq/	C,!=>a?d 
dD\C:.	/yAe?f tTlS#J/
0	14)Y9OPg?l c
S#J/0	
k?v #sc3Z012<(	
u?BFGB EH L:-mD 	sB
r2h	sC!aS!
S/	AaSz*	sC#1v&
S/	C1a&1a&!12	q!cAq6"
1+q!fq!f-.	Q1a#1v&
aAq/	C1a&1a&!12	S#sC	 #1v.
c3S
!	"C1a&1a&)9:	aVaV$	%sL9
q!fq!f%
&	'|\.JK	aVaV$	%sQF3
q!fq!f%
&	'1v1v.>?%./ E0 L:-mD 	q!a!
1+QC!:&	q!cA3
1+qcA3Z(	q!cAq6"
1+q!fq!f-.	sC!aV$
S/	AAA/0	sC#1v&
S/	C1a&1a&!12	Q1a!aV$
aAq/	AAA/0	Q1a!Y'
aAq/	A	956	aVaV$	%sQF3
q!fq!f%
&	'1v1v.>?AA'(!	
 !Q!Q()*"$9:	
->? E@'
 &;%<= >
 dTFU1a[$4G%HI J
 {meAqk;-GH
 	tT	A	tT	A	q!a
1+uQ{	#aV,
1+uT1~	&A/
S/5c?	+aV4	S#tT	"A&	c3	8!<	a^	4a8	c1X1v&	'+	aVaV$	%q) 9! 9  
sC1a&!	Q1a,'	aVaV$	%1v.

 	sC!	sC!	S#q!	$a(			q#hC1	2A6	>>  
q!q!f	Q1a1a&!	S#sC	 1a&)	Q1a,'	c3	81a&A	a^	4q!f=	aVaV$	%|4	c1X1v&	'!Q0	aVaV$	%1v.!*+* 	q!a	q!a	Q1a	 !$	aVaV$	%q)	>>  
sC1a&!	Q1a1a&!	S#sC	 ),	Q1a)$	c3	81a&A	a^	4i@	aVaV$	%1v.	c1X1v&	'!Q0"#"> &;>T=U%VW% X%
 '	ub
R!	tb"X
R"~&	CC R[E7RH%!Q!Q8H'IJ?	? 	tT	QC 
d
	sQCj)	tT	QC 
d
	sQCj)	q!qc
1+!qc
#	sC1a&!
S/	aVaV,-
1+uQ{	#q!fq!f%56
1+uT1~	&!Q!Q(89
S/5c?	+q!fq!f-=>	S#tT	"QC(
c3d
#	$sQCj1	Q1a,'
aAq/	\<89	c3	+aV4
'..sC!
,	-AA/?@	aS	)A3/
'..q!c
*	+qcA3Z8	c1X1v&	'!-
sAhA'
(	)QC!:6	aVaV$	%s+
q!fq!f%
&	'1#s4	aVaV$	%1v.
q!fq!f%
&	'1a&1a&)9:	c3Z#s,	-|<
sCj3*-
.	/,1MN? #H?I#H? 	sC1#
S/	aS1#J'	q!q!f
1+!Q!Q()	Q1a1a&!
aAq/	aVaV,-	S#sC	 1a&)
c3S
!	"aVaV$45
aC
s1aA	//?1ST	c3	+Y7
'..sC!
,	-	9/EF	aS	)Aq62
'..q!c
*	+q!fq!f-=>	aVaV$	%|4
q!fq!f%
&	',)EF	c1X1v&	'!Q0
sAhA'
(	)QFQF+;<	aVaV$	%1v.
q!fq!f%
&	'1a&1a&)9:5>D?>D 	q!qc
1+!qc
#	q!qc
1+!qc
#	sC1a&!
S/	aVaV,-	Q1a1a&!
aAq/	aVaV,-	S#sC	 ),
c3S
!	"Y	$:;
aAq/3q!Q?	+o-OP	c3	81a&A
'..sC.
9	:aVaV<LM	a^	4i@
'..q!n
5	6I8NO	aVaV$	%1v.
q!fq!f%
&	'1a&1a&)9:	c1X1v&	'!Q0
sAhA'
(	)QFQF+;<	aVaV$	%s+
q!fq!f%
&	'1#s43<D=<D $ 
sC$A'
S/	DAq6Aq6"23	sC"q!f%
S/	B!Q!Q 01	sC#r"
S/	C"b*
S/5A;	'sQCj9 !  	sC!
S/	A	sC"
S/	B	@@
>
 	q!sSEl#
1+1#scU+,	sCAq6FF#345
S/	q!fq!f-/?@A	Q1aAq6C:./
aAq/	q!fq!f-Sz:;
@
@ !	q!eaS!
1+aSz*	q!dQF#
1+1v1v./
1+uQ{	#TL,+GH	T	T 	q!b
1+R!OO
 	q!i 	q!~&'
1+
1+ 	:	:
 	q!i 	q!~&'
1+
1+ 	>	>
H'Kr8   