nice-data/examples/data/deep-flow.nice

2 lines
49 KiB
Plaintext

[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:[{:}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]