
    _ h'             #       >x   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*d Z+e	jH                  jK                  dddg ed d       dgg ddgg      e	jH                  jY                  d      d               Z-d Z.e	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!        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       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j`                   ed d       d      g d-f ej`                   ed d       d      gg d.g d-gf ed%d/gd/d%gg      g d0f ed%d/gd/d%gg      gg d.g d0gfg      d1        Z1e	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j`                   ed d       d#      dd gf ej`                   ed d       d#      gd d gdd ggf ed%d/gd/d%gg      g d2f ed%d/gd/d%gg      gg d3g d2gfg      d4        Z2e	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 d5d5      g d6f ed d d5d5      gg d.g d6gf ed d dd       ed)d)d*d*       eddd d       gg d7g d8gf ej`                   ed d       e      g d-f ej`                   ed d       e      gg d.g d-gf ej`                   ed d       d ez        g d9f ej`                   ed d       d ez        gg d(g d9gf ed%d/gd/d%gg      g d0f ed%d/gd/d%gg      gg d.g d0gfg      d:        Z3e	jH                  jK                  d;d<d=g      d>        Z4e	jH                  jK                  d?d@g d6fdAg fdBdgfdCg fdDg fdEg d6fdFg fdGdgfg      dH        Z5dI Z6e	jH                  jK                  d? e	jn                  d@dge	jH                  jq                  edJk  dKL      M      dAg fdBg fdCg fdDdgfdNg fdEg fdFg fdGg fg	      dO        Z9e	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 dPdP      g dQf ed d dPdP      gg d3g dQgf ed d dd       ed)d)d*d*       ed d dPdP      gg dRg dSgf ej`                   ed d       d      d gf ej`                   ed d       d      gd gd ggf ej`                   ed d       d ez        g d-f ej`                   ed d       d ez        gg d.g d-gf ed%d%gd/d/gg      d%d/gf ed%d%gd/d/gg      gd d gd%d/ggf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gg      d/gf ed%d/gd/d/gg      gd gd/ggfg      dT        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 dUg dVgf ej`                   ed d       d#      dd gf ej`                   ed d       d#      gd d gdd ggf ej`                   edd      e      dgf ej`                   edd      e      gd gdggf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gg      dPd/gf ed%d/gd/d/gg      gd d gdPd/ggfg      dW        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 d5d5      g d6f ed d d5d5      gg d.g d6gf ed d dd       ed)d)d*d*       eddd d       gg d7g d8gf ej`                   ed d       e      g d-f ej`                   ed d       e      gg d.g d-gf ej`                   ed d       d ez        g d9f ej`                   ed d       d ez        gg d(g d9gf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gg      d/gf ed%d/gd/d/gg      gd gd/ggfg      dX        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 dPdP      g f ed d dPdP      gg g gf ej`                   ed d       d      g f ej`                   ed d       d      gg g gf ed%d%gd/d/gg      g f ed%d%gd/d/gg      gg g gf ed%d/gd/d/gg      g f ed%d/gd/d/gg      gg g gf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gfg      dY        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j`                   ed d       d#      g f ej`                   ed d       d#      gg g gf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gg      g f ed%d/gd/d/gg      gg g gf edZdZgd/d/gg      dPgf edZdZgd/d/gg      gd gdPg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      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 d5d5      g f ed d d5d5      gg g gf ej`                   ed d       e      d gf ej`                   ed d       e      gd gd ggf ej`                   ed d       d ez        g f ej`                   ed d       d ez        gg g gf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gg      g f ed%d/gd/d/gg      gg g gf ed\d]gd\d^gg      d%gf ed\d]gd\d^gg      gd gd%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 dPdP      d`d%gf ed d dPdP      gd d gd`d%ggf ej`                   ed d       d      d gf ej`                   ed d       d      gd gd ggf ej`                   ed d       d ez        g d-f ej`                   ed d       d ez        gg d.g d-gf ed%d%gd/d/gg      d%d/gf ed%d%gd/d/gg      gd d gd%d/ggf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gg      d/gf ed%d/gd/d/gg      gd gd/ggfg      da        Z@e	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j`                   ed d       d#      g f ej`                   ed d       d#      gg g gf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gg      g f ed%d/gd/d/gg      gg g gf ed%d%gdPdPgg      g f ed%d%gdPdPgg      gg g gfg      db        ZAe	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j`                   ed d       e      g f ej`                   ed d       e      gg g gf ej`                   ed d       d ez        d gf ej`                   ed d       d ez        gd gd ggf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg 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      g f edd      gg g gf ed d dPdP      g f ed d dPdP      gg g gf ej`                   ed d       d      g f ej`                   ed d       d      gg g gf ed%d%gd/d/gg      g f ed%d%gd/d/gg      gg g gf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gg      g f ed%d/gd/d/gg      gg g gfg      dd        ZCe	jH                  jK                  d" ed d       g f ed d       gg g gf ed d d5d5      g f ed d d5d5      gg g gf ej`                   ed d       d#      g f ej`                   ed d       d#      gg g gf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gg      g f ed%d/gd/d/gg      gg g gf ed%d%gdPdPgg      g f ed%d%gdPdPgg      gg g gfg      de        ZDe	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j`                   ed d       e      dd`gf ej`                   ed d       e      gd d gdd`ggf ej`                   ed d       d ez        g dff ej`                   ed d       d ez        gg d3g dfgf ed%d/gd/d/gg      g f ed%d/gd/d/gg      gg g gfg      dg        ZEe	jH                  jK                  d" edd      g f ed d dPdP      g f ej`                   ed d       d      g f ed%d/gd/d/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 d5d5      dgf ed d d5d5      gd gdggf ej`                   ed d       d#      dd gf ej`                   ed d       d#      gd d gdd ggf ej                  didjg      d gf ej                  didjg      gd gd ggf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gd/dkgg      g f ed%d/gd/d/gd/dkgg      gg g gfg      dl        ZHe	jH                  jK                  d" ed d#      g f ed d#      gg g gf ed d d5d5      g f ed d d5d5      gg g gf ej`                   ed d       e      g f ej`                   ed d       e      gg g gf ed%d/gd/d/gd/dkgg      d/gf ed%d/gd/d/gd/dkgg      gd gd/ggfg      dm        ZIe	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 dPdP      d dPgf ed d dPdP      gd d gd dPggf ej`                   ed d       d      g f ej`                   ed d       d      gg g gf edndog      dgf edndog      gd gdggf ed%d%gd/d/gg      g f ed%d%gd/d/gg      gg g gfg      dp        ZJe	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j`                   ed d       d#      g f ej`                   ed d       d#      gg g gf ej`                   edd      edqz         g f ej`                   edd      edqz         gg g gf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gd/dkgg      dPd/gf ed%d/gd/d/gd/dkgg      gd d gdPd/ggfg      dr        ZKe	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j`                   ed d       eez         g f ej`                   ed d       eez         gg g gf ed d gd/d/gd/dkgg      g f ed d gd/d/gd/dkgg      gg g gfg      ds        ZLe	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 dPdP      g dQf ed d dPdP      gg d3g dQgf ej`                   ed d       d      d gf ej`                   ed d       d      gd gd ggf ej`                   ed d       d ez        g d-f ej`                   ed d       d ez        gg d.g d-gf ed%d%gd/d/gg      d%d/gf ed%d%gd/d/gg      gd d gd%d/ggf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gg      d/gf ed%d/gd/d/gg      gd gd/ggfg      dt        ZMe	jH                  jK                  d" ed d       g f ed d       gg g gf ed d d5d5      d gf ed d d5d5      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j`                   ed d       d#      g f ej`                   ed d       d#      gg g gf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gg      g f ed%d/gd/d/gg      gg g gf ed%d%gdPdPgg      g f ed%d%gdPdPgg      gg g gfg      du        ZNe	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j`                   ed d       e      g f ej`                   ed d       e      gg g gf ej`                   ed d       d ez        d gf ej`                   ed d       d ez        gd gd ggf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gfg      dv        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 dPdP      g f ed d dPdP      gg g gf ej`                   ed d       d      g f ej`                   ed d       d      gg g gf ed%d%gd/d/gg      g f ed%d%gd/d/gg      gg g gf ed%d/gd/d/gg      g f ed%d/gd/d/gg      gg g gf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gfg      dw        ZPe	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                  d5d5gdxdxgg      g f ej                  d5d5gdxdxgg      gg g gf ed d dd      g f ed d dd      gg g gf ej`                   ed d       d#      g f ej`                   ed d       d#      gg g gf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gg      g f ed%d/gd/d/gg      gg g gf edZdZgd/d/gg      dPgf edZdZgd/d/gg      gd gdPggfg      dy        ZQe	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                  d5d5gdxdxgg      dgf ej                  d5d5gdxdxg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 d5d5      g f ed d d5d5      gg g gf ej`                   ed d       e      d gf ej`                   ed d       e      gd gd ggf ej`                   ed d       d ez        g f ej`                   ed d       d ez        gg g gf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gg      g f ed%d/gd/d/gg      gg g gf ed\d]gd\d^gg      d%gf ed\d]gd\d^gg      gd gd%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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dxdxgg      ddgf ej                  d#d#gdxdxg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 dPdP      d`d%gf ed d dPdP      gd d gd`d%ggf ej`                   ed d       d      d gf ej`                   ed d       d      gd gd ggf ej`                   ed d       d ez        g d-f ej`                   ed d       d ez        gg d.g d-gf ed%d%gd/d/gg      d%d/gf ed%d%gd/d/gg      gd d gd%d/ggf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gg      d/gf ed%d/gd/d/gg      gd gd/ggfg      d{        ZSe	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%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gf ed%d/gd/d/gg      g f ed%d/gd/d/gg      gg g gf ed%d%gdPdPgg      g f ed%d%gdPdPg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j`                   ed d       d#      g f ej`                   ed d       d#      gg g gfg      d|        ZTe	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j`                   ed d       e      g f ej`                   ed d       e      gg g gf ej`                   ed d       d ez        d gf ej`                   ed d       d ez        gd gd ggf ed%d/gd/d%gg      g f ed%d/gd/d%gg      gg g gfg      d}        ZUe	jH                  j                  ed~k\  dL      e	jH                  jK                  d ed d        ed d       gddgeegg      d               ZWe	jH                  j                  ed~k  dL      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               ZXe	jH                  j                  ed~k  dL      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      dxg d6f edd      gdxg d.g d6gf ed d       d5g d-f ed d       gd5g d.g d-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 d8gf ed d d d       d g d8f ed d d d       gd g d3g d8gf ed d d d       dg d8f ed d d d       gdg d3g d8gf edddd      d5g d8f edddd      gd5g d3g d8gf eddgd5d5gg      dg d6f eddgd5d5gg      gdg d.g d6gf ed#d#gddgg      dg df ed#d#gddgg      gdg d3g dgf      d               ZZe	jH                  j                  ed~k  dL      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#d5d5      d#d dgf ed#d#d5d5      gd#d d gd dggf ed%d%gd/d/gg      d#g d2f ed%d%gd/d/gg      gd#g d3g d2gf ed%d/gd/d%gg      d5d%dPgf ed%d/gd/d%gg      gd5d d gd%dPggfg      d               Z[e	jH                  j                  ed~k  dL      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       d5d dgf ed d       gd5d 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 d6f ed d dd      gdg d.g d6gf ed%d%gd/d/gg      d#d%d/gf ed%d%gd/d/gg      gd#d d gd%d/ggf ed%d%gd/d/gg      dxg df ed%d%gd/d/gg      gdxg 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        Z_e	jH                  jK                  deeg edd      egg      d        Z`e	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j`                   edxdx      e      df ej`                   ed d       e      d f ed]d%gd/d/gg      d/f ed%d/gd/d%gg      dPfg      d        Zae	jH                  jK                  d" ed#d#      d dgf ed d d d       g d8f ed%d%gd/d/gg      d%d/gfg      d        Zbe	jH                  jK                  d" ed#d#      d f ed5d#      d f ej"                  d#d5dd      df ej                  d d#gddxgg      d fg      d        Zce	jH                  jK                  d" edd      ddgf ed d dd      d dgf ed#d#d5d5      d dgf ed d d%d%      g df ej`                   edxdx      e      ddgf ej`                   ed d       e      dd gf ed%d%gd/d/gg      g d2f ed]d%gd/d/gg      dPd/gf ed%d/gd/d%gg      d%dPgfg	      d        Zde	jH                  jK                  d" ed d       d f edd      df ej"                  d d%ddP      d f ed%d/gd/d%gg      dPf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#d5d5      g d6f ed d d%d%      g df ej`                   edxdx      e      dd gf ej`                   ed d       e      g d-f ed%d%gd/d/gg      d%d/gf ed]d%gd/d/gg      d%d/gfg      d        Zfd Zge	jH                  jK                  dddgg      d        Zhe	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        Zie	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        Zje	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 d8f ed d d d       gg d3g d8gf ej`                   edxdx      d      dd gf ej`                   edxdx      d      gd d gdd ggf ej`                   ed d       d#      d gf ej`                   ed d       d#      gd gd ggf ed]d%gd/d/gg      d/gf ed]d%gd/d/gg      gd gd/ggf ed%d/gd/d%gg      dPgf ed%d/gd/d%gg      gd gdPggf ed%d%gd/d/gg      d%d/gf ed%d%gd/d/gg      gd d gd%d/ggf ed#d#gddgg      g df ed#d#gddgg      gg d3g dgfg      d        Zke	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#d5d5      d dgf ed#d#d5d5      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j`                   edxdx      d      g df ej`                   edxdx      d      gg d.g dgf ej`                   ed d       d#      dd gf ej`                   ed d       d#      gd d gdd ggf ed%d%gd/d/gg      g d2f ed%d%gd/d/gg      gg d3g d2gf ed]d%gd/d/gg      dPd/gf ed]d%gd/d/gg      gd d gdPd/ggf ed%d/gd/d%gg      d%dPgf ed%d/gd/d%gg      gd d gd%dPggfg      d        Zle	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#d5d5      g d6f ed#d#d5d5      gg d.g d6gf ed d dd       ed d d%d%      gg dg dgf ej`                   edxdx      e      dd gf ej`                   edxdx      e      gd d gdd ggf ej`                   ed d       e      g d-f ej`                   ed d       e      gg d.g d-gf ed%d%gd/d/gg      d%d/gf ed%d%gd/d/gg      gd d gd%d/ggf ed]d%gd/d/gg      d%d/gf ed]d%gd/d/gg      gd d gd%d/ggf ed%d/gd/d%gg      dPgf ed%d/gd/d%gg      gd gdPggfg      d        Zme	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        Zne	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        Zod Zpe	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        Zqe	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        Zre	jH                  jK                  d" edd      g f edd      gg g gfg      dÄ        Zse	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Ǆ        Zte	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Ʉ        Zudʄ Zvd˄ Zwy)    N)ThreadPoolExecutor)assert_array_equal)
LineString
MultiPointPointSTRtreeboxgeos_version)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    v/home/developers/rajanand/mypropertyqr-fmb-refixing-v2/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   c           	         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   皙?a   
import pickle
import sys

from shapely import Point

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

tree.query(Point(0, 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_persistencerg   y   s    U1X>E!QK&&s+>?Dll4(OO //H	h	 #		/"# 	X'ooD 	?+IIK??a9 ?&# #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_geometryrl      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_dimensionrr      s>    	y(I	J (

U3_%&'( ( (   AAz tree_geometry, geometry,expectedr   rM   c                 P    t        |       }t        |j                  |      |       y ri   )r   r   r2   )tree_geometryr4   expectedr   s       r   test_query_with_none_and_emptyrw      s"    P =!Dtzz(+X6r8   zgeometry,expectedrp         )ry            	   )r   r   r   r   r   r0   n   )r   r   r   r   r   r   r   )r   r    ry   r{   r|   r}   r~   )r   rM      )r   r   r   r|   )ry   r{   r|   c                 :    t        | j                  |      |       y ri   r   r2   r   r4   rv   s      r   test_query_pointsr      s    D tzz(+X6r8   )r   ry   r{   r|   )r   r   r   r   c                 :    t        | j                  |      |       y ri   r   r'   r4   rv   s      r   test_query_linesr      s    4 yx0(;r8   g      ?)r   r    r   )r   r   r   r   )r   r    r   rM   )r    r   rM   r   ry   c                 :    t        | j                  |      |       y ri   r   r.   r4   rv   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 optionrn   r    r   )r:   r;   rj   r2   r   )r   r   s     r   test_query_invalid_predicater   E  s>     
z)@	A 5

5A;)
45 5 5rs   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   rv   geoms       r   test_query_prepared_inputsr   R  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    rM   ry   r   r   )r   r"   r	   r2   r   r   r   )r   r   rv   s      r   )test_query_with_partially_prepared_inputsr   e  sd    88SAq!_c!Q1o67Dzz$,z7H OODGxDL!IJr8   rM      r   zGEOS < 3.13)reason)marks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   rv   line_nans       r   test_query_predicate_errorsr   n  s    & 
	 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{   )rM   r   ry   r{   )r   r   r   r   r   r   )r   r    rM   r   ry   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   rM   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     s    8 tzz(hz?Jr8   g      @c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_within_linesr   =  s    @ yx8DhOr8   g      @g      @g      @c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_within_polygonsr   `  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   ry   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   H  s     tzz(iz@(Kr8   )r    r   )r   r    r}   c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_crosses_linesr   Y      0 yx9ExPr8   c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_crosses_polygonsr   t  s    $ yx9ExPr8   )rx   rx   )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    8 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   C  s    8 tzz(lzCXNr8   g      @c                 >    t        | j                  |d      |       y r   r   r   s      r   test_query_covered_by_linesr   b  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    : ,?@(r8   )rM   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.10rn   dwithinr    r   distance)r:   r;   r   r2   rk   s     r   test_query_dwithin_geos_versionr   3  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)Nrn   r   r   )r:   r;   rj   r2   )r   r4   r   ro   s       r   #test_query_dwithin_invalid_distancer   <  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    rM   r   c                 @    t        | j                  |d|      |       y Nr   r   r   )r   r4   r   rv   s       r   test_query_dwithin_pointsr   P  s!    J 

8y8
Dhr8   c                 @    t        | j                  |d|      |       y r   r   )r'   r4   r   rv   s       r   test_query_dwithin_linesr     s!    2 IIr8   )rM   r   ry   r{   r|   r}   r~   )r   r   r   r   r   r   r   c                 @    t        | j                  |d|      |       y r   r   )r.   r4   r   rv   s       r   test_query_dwithin_polygonsr     s"    B IIr8   c                  H    t        g       } | j                  t              J y ri   )r   nearestr   rq   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ri   )r:   r;   r<   r   rk   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ri   r:   r;   rj   r   rk   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ri   r  rk   s     r   test_nearest_emptyr    s1     
z	" X  r  ir~   c                 :    t        | j                  |      |       y ri   r   r   r   s      r   test_nearest_pointsr	    s    " t||H-x8r8   c                 2    | j                  |      }||v sJ y ri   r   )r   r4   rv   results       r   test_nearest_points_equidistantr    s      \\(#FXr8   c                 :    t        | j                  |      |       y ri   r  r   s      r   test_nearest_linesr  #       y((2H=r8   )r   rM   r   ry   c                 2    | j                  |      }||v sJ y ri   r  )r'   r4   rv   r  s       r   test_nearest_lines_equidistantr  0  s"    2 x(FXr8   c                 :    t        | j                  |      |       y ri   r  r   s      r   test_nearest_polygonsr  M  r  r8   )rM   r   ry   c                 2    | j                  |      }||v sJ y ri   r  )r.   r4   rv   r  s       r   !test_nearest_polygons_equidistantr  Z  s"    * x(FXr8   c                      t        g       } t        | j                  t              g        t        | j                  t        g      g g g       y ri   )r   r   query_nearestr   rq   s    r   test_query_nearest_empty_treer  s  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ri   )r:   r;   r<   r  rk   s     r   test_query_nearest_invalid_geomr  y  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  rv   indexr   s         r   test_query_nearest_noner     sS     ,,Xt,Lx5(1+.8Xa[1 	4--h7Br8   c                 :    t        | j                  |      |       y ri   r   r  r   s      r   test_query_nearest_empty_geomr#    s    
 t))(3X>r8   c                 :    t        | j                  |      |       y ri   r"  r   s      r   test_query_nearest_pointsr%    s    J t))(3X>r8   )r   r    r    r    r    )r   r   rM   r   ry   )r    r   rM   c                 :    t        | j                  |      |       y ri   r"  r   s      r   test_query_nearest_linesr'    s    @ y..x8(Cr8   )r   r   r    r    r    )r   r    rM   r   ry   c                 :    t        | j                  |      |       y ri   r"  r   s      r   test_query_nearest_polygonsr)    s    > y..x8(Cr8   zgeometry,max_distance,expectedrN   c                 >    t        | j                  ||      |       y )Nmax_distancer"  )r   r4   r,  rv   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 0rn   r+  r:   r;   rj   r  )r   r4   r,  s      r   'test_query_nearest_invalid_max_distancer0    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 valuesrn   rp   r    r+  )r:   r;   rj   r  r   rq   s    r   )test_query_nearest_nonscalar_max_distancer2  +  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   rv   expected_indicesexpected_distactual_indicesactual_dists          r   "test_query_nearest_return_distancer9  0  sI     '/#m"&"4"4Xt"4"TNK~'78rxxQ/?r8   zgeometry,exclusive,expected)r   r   r    r    )r   r   r    rM   c                 >    t        | j                  ||      |       y N	exclusiver"  )r   r4   r=  rv   s       r   test_query_nearest_exclusiver>  D  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_resultsr@  R  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;  r/  )r   r4   r=  s      r   $test_query_nearest_invalid_exclusiverC  ^  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_matchesr/  )r   r4   rG  s      r   &test_query_nearest_invalid_all_matchesrH  m  s8     
z	" >8=> > >rD  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 )Nrp   TrF  r   r    F)r   r   r  r   array_equal)r   r   indicess      r   test_query_nearest_all_matchesrL  |  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  rM   r   i r   c                 H    | \  }}|   }|   }|j                  |d      S r   )r2   )idxsra   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   rR   r   appendr   listmap	itertoolsproduct)rU  Nr   npoints_partsra   leftr   rT  poolrR  rS  s             @@r   test_strtree_threaded_queryrc    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)xr\  mathrS   rW   rY   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   rg   filterwarningsrl   rr   rw   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   skipifr   r   r   r   r   r   r   r   r  r  r	  r  r  r  r  r  r  r  r   r#  r%  r'  r)  r-  r0  r2  r9  r>  r@  rC  rH  rL  rc  r=   r8   r   <module>rs     s7Y       
 1   ,  M M 6 3  1!
 i  !
 i  ! i  !  
Q

!Q
A
1
/	0!Q7
%6	7A>88$
7$
7 B 		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	

 
2	R	R	QC	B	2	r	b!$P%$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-6P76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/898 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   