020000000134824f89ffa859f783024af6d9e66b650913195fe4784b6a6ced96b96eb29811000000006a473044022022e6ad22ae1c63c8995518fcdfcb624d7fe4e31a2e1d6a956d1c7ffada5752cf022073d0f868479cf30db52e26f22f3a0140be98e408970f8a350f68d056cdfdd7ca0121028b2ec9cca38fe8eee1723d0331b781fcc1dca6192f6aa49960cf8d92e32169befeffffff02b0d4e382000000001976a9140fb915c7cfe793104b1258a0680d9fb71ab2889c88ac0000000000000000fd9226010403a0252601284d86266060604052341561000f57600080fd5b600033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506402376fac009050601260ff16600a0a8102600081905550600054600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000546040518082815260200191505060405180910390a350612574806101126000396000f30060606040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303a1bdc31461016457806306fdde03146101a6578063095ea7b31461023457806318160ddd1461028e57806323b872dd146102b75780632823fbe514610330578063313ce56714610369578063385ec5771461039857806342966c68146103e9578063661884631461040c5780636a59d0a41461046657806370a08231146104a857806374ccd7cc146104f5578063788c40231461054d5780637cf846c9146105a557806385d544be146105e95780638da5cb5b1461063457806395d89b4114610689578063a9059cbb14610717578063af87c36614610771578063d48b38b7146107aa578063d73dd6231461080d578063dd62ed3e14610867578063e374e8d4146108d3578063f1f62f1014610907578063f2fde38b1461095f578063fbcc377514610998575b600080fd5b341561016f57600080fd5b6101a4600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506109cc565b005b34156101b157600080fd5b6101b9610a39565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f95780820151818401526020810190506101de565b50505050905090810190601f1680156102265780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023f57600080fd5b610274600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a99565b604051808215151515815260200191505060405180910390f35b341561029957600080fd5b6102a1610b8b565b6040518082815260200191505060405180910390f35b34156102c257600080fd5b610316600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b91565b604051808215151515815260200191505060405180910390f35b341561033b57600080fd5b610367600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f50565b005b341561037457600080fd5b61037c610fc1565b604051808260ff1660ff16815260200191505060405180910390f35b34156103a357600080fd5b6103cf600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610fc6565b604051808215151515815260200191505060405180910390f35b34156103f457600080fd5b61040a6004808035906020019091905050610fe6565b005b341561041757600080fd5b61044c600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110f8565b604051808215151515815260200191505060405180910390f35b341561047157600080fd5b6104a6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611389565b005b34156104b357600080fd5b6104df600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611407565b6040518082815260200191505060405180910390f35b341561050057600080fd5b61054b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803515159060200190919080351515906020019091905050611450565b005b341561055857600080fd5b610584600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116ad565b60405180831515151581526020018281526020019250505060405180910390f35b34156105b057600080fd5b6105e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803515159060200190919050506117d6565b005b34156105f457600080fd5b610632600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080359060200190919050506118fc565b005b341561063f57600080fd5b61064761197c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561069457600080fd5b61069c6119a2565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106dc5780820151818401526020810190506106c1565b50505050905090810190601f1680156107095780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561072257600080fd5b610757600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506119db565b604051808215151515815260200191505060405180910390f35b341561077c57600080fd5b6107a8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d10565b005b34156107b557600080fd5b6107e1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d7d565b604051808481526020018315151515815260200182151515158152602001935050505060405180910390f35b341561081857600080fd5b61084d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611dc1565b604051808215151515815260200191505060405180910390f35b341561087257600080fd5b6108bd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611fbd565b6040518082815260200191505060405180910390f35b34156108de57600080fd5b6108e6612044565b60405180831515151581526020018281526020019250505060405180910390f35b341561091257600080fd5b61093e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612058565b60405180831515151581526020018281526020019250505060405180910390f35b341561096a57600080fd5b610996600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612181565b005b34156109a357600080fd5b6109ab6122d9565b60405180831515151581526020018281526020019250505060405180910390f35b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a2857600080fd5b610a358282600180611450565b5050565b606060405190810160405280602381526020017f416476616e6365642050726f706572747920496e766573746d656e742053797381526020017f74656d000000000000000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610bce57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610c1c57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610ca757600080fd5b610cf982600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122ed90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d8e82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461230690919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e6082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122ed90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fac57600080fd5b610fbe8164e8d4a50fff600180611450565b50565b601281565b60056020528060005260406000206000915054906101000a900460ff1681565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561103657600080fd5b600054821115151561104757600080fd5b33905081600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508160008082825403925050819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a25050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611209576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061129d565b61121c83826122ed90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113e557600080fd5b6113ef82826119db565b15156113fa57600080fd5b61140382610f50565b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114ac57600080fd5b60008473ffffffffffffffffffffffffffffffffffffffff16141515156114d257600080fd5b600015158215151480156114ea575060001515811515145b156114f457600092505b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff02191690831515021790555080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff0219169083151502179055506000831115611663578373ffffffffffffffffffffffffffffffffffffffff167f9a26d7aa8d0b0885c3a5cce1b95072a26bc415306c652f20e7b507c07a3914d5848484604051808481526020018315151515815260200182151515158152602001935050505060405180910390a26116a7565b8373ffffffffffffffffffffffffffffffffffffffff167f7e6adfec7e3f286831a0200a754127c171a2da564078722cb97704741bbdb0ea60405160405180910390a25b50505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff16141515156116d657600080fd5b42600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015411801561177a575060011515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900460ff161515145b915081156117cc57600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015490506117d1565b600090505b915091565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561183257600080fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f1419fc91a0d31d7042ea1fc0fb24c255e2c68a9eda9e83715ad768761433a89e8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a15050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561195857600080fd5b61196283836119db565b151561196d57600080fd5b61197783826109cc565b505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600481526020017f415049530000000000000000000000000000000000000000000000000000000081525081565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611a1857600080fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611ab95750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611acf57611ac88383612324565b9050611d0a565b42600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154118015611b73575060011515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff161515145b15611be6578273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f77c483e4ff749a73be4f6404c2ecea502a159772ef1cd46e475516a4cdf0eb0d846040518082815260200191505060405180910390a360009050611d0a565b42600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154118015611c8a575060011515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900460ff161515145b15611cfd578273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f9afa4bbee84237d6edfd62a23e6fe062ff3073a421c564307d695b24b5e50d73846040518082815260200191505060405180910390a360009050611d0a565b611d078383612324565b90505b92915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d6c57600080fd5b611d7a816000806000611450565b50565b60046020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900460ff16905083565b6000611e5282600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461230690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080612050336116ad565b915091509091565b60008060008373ffffffffffffffffffffffffffffffffffffffff161415151561208157600080fd5b42600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154118015612125575060011515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff161515145b9150811561217757600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154905061217c565b600090505b915091565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121dd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561221957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806122e533612058565b915091509091565b60008282111515156122fb57fe5b818303905092915050565b600080828401905083811015151561231a57fe5b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561236157600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156123af57600080fd5b61240182600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122ed90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061249682600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461230690919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050929150505600a165627a7a72305820210f535d09d1d135fa23a6d8d61ba704c1df9b02a77b5dbf1125fd2e4f6b674d0029c1d77a0100