hlE d Z g dZddlmZ ddlmZ ddlm Z edd Z d Z G d d Zd+d Z d Z G d d ZddlZ ej d j fdZd,dZd Z d-dZd Z d-dZd Z d.dZdefd Zddefd!Zd"Zd#Zd$Zd%Z G d&