[投稿ページへ]
なびろぐ用uploader 一覧
[<< older]
[newer >>]
6935
2016/03/20(日) 20:07:04
GORRY
[JPG]
ほるもーん@おさやん
6934
2016/03/20(日) 18:17:32
GORRY
[JPG]
ホルモン@おさやん
6933
2016/03/19(土) 16:30:47
GORRY
[JPG]
今日はこの後運転して帰らないといけないのでノンアル…@実家
6932
2016/03/19(土) 13:35:57
GORRY
[JPG]
新東名、相模川渡るとこまで工事進んだんだな
6931
2016/03/19(土) 13:34:09
GORRY
[JPG]
昼飯
6930
2016/03/18(金) 23:51:06
GORRY
[JPG]
ラーメンチャーハン@谷記
6929
2016/03/18(金) 22:39:46
GORRY
[JPG]
PoD: Potion of Death
6928
2016/03/18(金) 22:33:44
GORRY
[JPG]
PoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoD = Potion of Death
6927
2016/03/18(金) 20:21:52
GORRY
[JPG]
かんぱち刺
6926
2016/03/18(金) 19:55:20
GORRY
[JPG]
枝豆@八四六
6925
2016/03/18(金) 19:54:57
GORRY
[JPG]
あこうだい@八四六
6924
2016/03/18(金) 19:45:43
GORRY
[JPG]
とりあえずビール@八四六
6923
2016/03/18(金) 19:44:12
GORRY
[JPG]
とりあえずビール@八四六
6922
2016/03/18(金) 19:43:54
GORRY
[JPG]
わりと久しぶり@八四六
6921
2016/03/18(金) 15:35:09
GORRY
[JPG]
7Dメンテ完了
6920
2016/03/17(木) 18:48:56
GORRY
[JPG]
純米吟醸初しぼり「蔵」と王紋吟醸無濾過生原酒
6919
2016/03/15(火) 20:56:23
GORRY
[JPG]
スカイマーク遠いわーw@羽田空港
6918
2016/03/15(火) 20:47:37
GORRY
[JPG]
たぶん宇都宮?つくば上空付近から西方向
6917
2016/03/15(火) 19:01:01
GORRY
[JPG]
そいやナポリンまだだった…w
6916
2016/03/15(火) 18:49:26
GORRY
[JPG]
だらり時間で一杯
6915
2016/03/15(火) 18:48:45
GORRY
[JPG]
夕暮れ新千歳空港
6914
2016/03/15(火) 15:53:57
GORRY
[JPG]
ふらの雪どけチーズケーキ@旭川駅
6913
2016/03/15(火) 15:52:33
GORRY
[JPG]
旭岳べんとう@旭川駅
6912
2016/03/15(火) 14:43:35
GORRY
[JPG]
きりん@旭山動物園
6911
2016/03/15(火) 14:42:45
GORRY
[JPG]
にわとり@旭山動物園
6910
2016/03/15(火) 14:42:20
GORRY
[JPG]
あひる@旭山動物園
6909
2016/03/15(火) 14:41:50
GORRY
[JPG]
ひつじ@旭山動物園
6908
2016/03/15(火) 14:40:52
GORRY
[JPG]
ポニー@旭山動物園
6907
2016/03/15(火) 14:39:58
GORRY
[JPG]
やぎ@旭山動物園
6906
2016/03/15(火) 13:58:34
GORRY
[JPG]
ユキフクロウ@旭山動物園
6905
2016/03/15(火) 13:53:53
GORRY
[JPG]
旭山動物園まかべさん
6904
2016/03/15(火) 13:53:20
GORRY
[JPG]
旭山動物園から旭川市街方面
6903
2016/03/15(火) 13:03:18
GORRY
[JPG]
ほっけ@旭山動物園
6902
2016/03/15(火) 12:33:50
GORRY
[JPG]
ライブ@旭山動物園
6901
2016/03/15(火) 12:12:51
GORRY
[JPG]
で、普通にペンギン写真@旭山動物園
6900
2016/03/15(火) 12:09:44
GORRY
[JPG]
ペンギン散歩終了時間に着いたw@旭山動物園
6899
2016/03/15(火) 11:46:02
GORRY
[JPG]
旭山動物園
6898
2016/03/15(火) 10:51:38
GORRY
[JPG]
旭川駅
6897
2016/03/15(火) 08:54:38
GORRY
[JPG]
旭川へ
6896
2016/03/15(火) 08:54:07
GORRY
[JPG]
きょうはこのきっぷ
6895
2016/03/15(火) 08:24:57
GORRY
[JPG]
朝食ビュッフェ@札幌アスペンホテル
6894
2016/03/14(月) 20:43:25
GORRY
[JPG]
オホーツクサントラ買った!@ゲームショップ1983
6893
2016/03/14(月) 20:41:39
GORRY
[JPG]
ゲームショップ1983にきた(撮影許可済)
6892
2016/03/14(月) 20:01:43
GORRY
[JPG]
裏虎野菜3番@タイガーカレー
6891
2016/03/14(月) 18:31:05
GORRY
[JPG]
ジンギスカンまだまだ焼く@札幌ビール園
6890
2016/03/14(月) 18:11:46
GORRY
[JPG]
ジンギスカン焼くまかべさん
6889
2016/03/14(月) 17:55:40
GORRY
[JPG]
しゅみっと3にジンギスカン焼いてもらう夕飯
6888
2016/03/14(月) 17:54:13
GORRY
[JPG]
札幌ビール園にきた
6887
2016/03/14(月) 17:07:33
GORRY
[JPG]
札幌駅北口
6886
2016/03/14(月) 16:10:07
GORRY
[JPG]
札幌へ
6885
2016/03/14(月) 16:09:35
GORRY
[JPG]
小樽駅どんつき
6884
2016/03/14(月) 16:08:53
GORRY
[JPG]
小樽駅へ歩く
6883
2016/03/14(月) 16:08:18
GORRY
[JPG]
小樽運河付近を歩く
6882
2016/03/14(月) 16:05:29
GORRY
[JPG]
運河脇を歩く
6881
2016/03/14(月) 15:15:52
GORRY
[JPG]
転車台は入れず@小樽市総合博物館
6880
2016/03/14(月) 15:14:39
GORRY
[JPG]
ラッセル車@小樽市総合博物館
6879
2016/03/14(月) 15:12:47
GORRY
[JPG]
中谷宇吉郎の展示も面白かった@小樽市総合博物館
6878
2016/03/14(月) 15:09:22
GORRY
[JPG]
時刻表多数@小樽市総合博物館
6877
2016/03/14(月) 15:08:43
GORRY
[JPG]
プレート多数@小樽市総合博物館
6876
2016/03/14(月) 15:07:43
GORRY
[JPG]
ジオラマ@小樽市総合博物館
6875
2016/03/14(月) 14:59:49
GORRY
[JPG]
い1号車内@小樽市総合博物館
6874
2016/03/14(月) 14:59:05
GORRY
[JPG]
しづか号運転台@小樽市総合博物館
6873
2016/03/14(月) 14:58:23
GORRY
[JPG]
しづか号@小樽市総合博物館
6872
2016/03/14(月) 14:00:50
GORRY
[JPG]
小樽市総合博物館にきた
6871
2016/03/14(月) 13:30:40
GORRY
[JPG]
すし2@函太郎
6870
2016/03/14(月) 13:19:46
GORRY
[JPG]
すし@函太郎
6869
2016/03/14(月) 12:43:18
GORRY
[JPG]
とりあえず運河まで歩く
6868
2016/03/14(月) 12:32:46
GORRY
[JPG]
小樽駅
6867
2016/03/14(月) 11:44:26
GORRY
[JPG]
こんなところでお仕事まかべさん
6866
2016/03/14(月) 10:54:31
GORRY
[JPG]
羊蹄山もガスだな…
6865
2016/03/14(月) 10:45:18
GORRY
[JPG]
ニセコアンヌプリもガス
6864
2016/03/14(月) 10:45:15
GORRY
[JPG]
ニセコ駅はさすがに客多いな
6863
2016/03/14(月) 10:39:20
GORRY
[JPG]
尻別川@昆布駅付近
6862
2016/03/14(月) 10:18:09
GORRY
[JPG]
山はガスってるな@蘭越駅付近
6861
2016/03/14(月) 10:10:19
GORRY
[JPG]
目名駅
6860
2016/03/14(月) 10:10:00
GORRY
[JPG]
目名駅にて
6859
2016/03/14(月) 10:02:29
GORRY
[JPG]
スノーシェッド越え@熱郛-目名間
6858
2016/03/14(月) 09:31:40
GORRY
[JPG]
蕨岱駅付近
6857
2016/03/14(月) 09:19:08
GORRY
[JPG]
いい天気@二股駅
6856
2016/03/14(月) 09:07:43
GORRY
[JPG]
day 3
6855
2016/03/14(月) 09:07:20
GORRY
[JPG]
小樽へ
6854
2016/03/14(月) 09:06:46
GORRY
[JPG]
長万部駅ホーム2
6853
2016/03/14(月) 09:06:25
GORRY
[JPG]
長万部駅ホーム
6852
2016/03/14(月) 08:51:51
GORRY
[JPG]
長万部限定あめせんとくま笹茶
6851
2016/03/14(月) 08:34:42
GORRY
[JPG]
かにめし@かなや
6850
2016/03/14(月) 08:34:19
GORRY
[JPG]
かにめし@かなや
6849
2016/03/14(月) 08:33:54
GORRY
[JPG]
長万部駅内
6848
2016/03/14(月) 08:33:38
GORRY
[JPG]
長万部駅
6847
2016/03/14(月) 08:33:09
GORRY
[JPG]
かにめしまかべさん
6846
2016/03/14(月) 08:32:49
GORRY
[JPG]
かにめし本舗かなや
6845
2016/03/14(月) 07:55:45
GORRY
[JPG]
危ないので塞いでおく…
6844
2016/03/14(月) 07:50:13
GORRY
[JPG]
Nexus5xカメラ部割れてた…
6843
2016/03/14(月) 07:30:39
GORRY
[JPG]
ホテル付近散策2@長万部
6842
2016/03/14(月) 07:28:04
GORRY
[JPG]
ホテル付近散策@長万部
6841
2016/03/14(月) 07:24:17
GORRY
[JPG]
長万部温泉ホテル
6840
2016/03/14(月) 07:23:49
GORRY
[JPG]
宿探検@長万部温泉ホテル
6839
2016/03/13(日) 21:16:14
GORRY
[JPG]
充電設備4人分
6838
2016/03/13(日) 21:15:07
GORRY
[JPG]
長万部温泉ホテル着
6837
2016/03/13(日) 20:15:17
GORRY
[JPG]
長万部駅
6836
2016/03/13(日) 18:09:01
GORRY
[JPG]
長万部へ
[<< older]
[newer >>]