{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"DECAY_NUMERATOR","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FEE_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FILL_SIGNAL_MAX","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FILL_SIGNAL_MIN","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"HALF","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"ONE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SIGNAL_NUMERATOR","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"USDC_TO_1E18","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"authorized","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getReputation","inputs":[{"name":"agent","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStats","inputs":[{"name":"agent","type":"address","internalType":"address"}],"outputs":[{"name":"totalBids","type":"uint256","internalType":"uint256"},{"name":"totalWins","type":"uint256","internalType":"uint256"},{"name":"totalQualityPasses","type":"uint256","internalType":"uint256"},{"name":"cumulativeFeesEarned","type":"uint256","internalType":"uint256"},{"name":"score","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"reps","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"totalBids","type":"uint256","internalType":"uint256"},{"name":"totalWins","type":"uint256","internalType":"uint256"},{"name":"totalQualityPasses","type":"uint256","internalType":"uint256"},{"name":"cumulativeFeesEarned","type":"uint256","internalType":"uint256"},{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setAuthorized","inputs":[{"name":"who","type":"address","internalType":"address"},{"name":"allowed","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"slashReputation","inputs":[{"name":"agent","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"reason","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateOnAuction","inputs":[{"name":"agent","type":"address","internalType":"address"},{"name":"won","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateOnFee","inputs":[{"name":"agent","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateOnQuality","inputs":[{"name":"agent","type":"address","internalType":"address"},{"name":"passed","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AuctionUpdated","inputs":[{"name":"agent","type":"address","indexed":true,"internalType":"address"},{"name":"won","type":"bool","indexed":false,"internalType":"bool"},{"name":"newScore","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"AuthorizedSet","inputs":[{"name":"who","type":"address","indexed":true,"internalType":"address"},{"name":"allowed","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeUpdated","inputs":[{"name":"agent","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newScore","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"QualityUpdated","inputs":[{"name":"agent","type":"address","indexed":true,"internalType":"address"},{"name":"passed","type":"bool","indexed":false,"internalType":"bool"},{"name":"newScore","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ReputationSlashed","inputs":[{"name":"agent","type":"address","indexed":true,"internalType":"address"},{"name":"by","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newScore","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"reason","type":"string","indexed":false,"internalType":"string"}],"anonymous":false}],"bytecode":{"object":"0x6080604052348015600e575f5ffd5b503360015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611965806100b15f395ff3fe608060405234801561000f575f5ffd5b5060043610610114575f3560e01c80638da5cb5b116100a0578063c23f85d61161006f578063c23f85d6146102d1578063c2ee3a0814610305578063c53214b314610323578063c88991b51461033f578063fd24f8341461035d57610114565b80638da5cb5b146102355780639c89a0e214610253578063a973e96114610283578063b9181611146102a157610114565b8063711bf9b2116100e7578063711bf9b2146101a557806376d8bb55146101c1578063805e6078146101dd5780638a5fddd8146101f95780638b2d631a1461021757610114565b806332c991b51461011857806339790e8d1461013657806369b69ea7146101525780636ad0a96814610187575b5f5ffd5b61012061037b565b60405161012d919061128d565b60405180910390f35b610150600480360381019061014b919061133d565b610387565b005b61016c6004803603810190610167919061137b565b610572565b60405161017e969594939291906113a6565b60405180910390f35b61018f6105a9565b60405161019c919061128d565b60405180910390f35b6101bf60048036038101906101ba919061133d565b6105b2565b005b6101db60048036038101906101d6919061133d565b6106e7565b005b6101f760048036038101906101f29190611490565b6108b8565b005b610201610ae7565b60405161020e919061128d565b60405180910390f35b61021f610aec565b60405161022c919061128d565b60405180910390f35b61023d610af8565b60405161024a9190611510565b60405180910390f35b61026d6004803603810190610268919061137b565b610b1d565b60405161027a919061128d565b60405180910390f35b61028b610b87565b604051610298919061128d565b60405180910390f35b6102bb60048036038101906102b6919061137b565b610b93565b6040516102c89190611538565b60405180910390f35b6102eb60048036038101906102e6919061137b565b610bb0565b6040516102fc959493929190611551565b60405180910390f35b61030d610c3a565b60405161031a919061128d565b60405180910390f35b61033d600480360381019061033891906115a2565b610c46565b005b610347610e0f565b604051610354919061128d565b60405180910390f35b610365610e1b565b604051610372919061128d565b60405180910390f35b6706f05b59d3b2000081565b60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610428575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610467576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045e9061163a565b60405180910390fd5b5f5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f8160050154036104c3576706f05b59d3b2000081600401819055505b6001815f015f8282546104d69190611685565b9250508190555081156104ff576001816001015f8282546104f79190611685565b925050819055505b61050881610e27565b81600401819055504281600501819055508273ffffffffffffffffffffffffffffffffffffffff167f126ad4512836572207feee098e5584200661b026b46bea4eee0e7e3b617194f28383600401546040516105659291906116b8565b60405180910390a2505050565b5f602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154908060050154905086565b64e8d4a5100081565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063890611729565b60405180910390fd5b8060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f19fef6046150baa445c8f44d75e29317c0fa4c6341a6c8444b3ec4cc48d1e1ce826040516106db9190611538565b60405180910390a25050565b60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610788575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6107c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107be9061163a565b60405180910390fd5b5f5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f816005015403610823576706f05b59d3b2000081600401819055505b8115610845576001816002015f82825461083d9190611685565b925050819055505b61084e81610e27565b81600401819055504281600501819055508273ffffffffffffffffffffffffffffffffffffffff167f813caba6be2a0d04160606ca0427f8985a69ea4d35f428d8c6fee852195c52e68383600401546040516108ab9291906116b8565b60405180910390a2505050565b60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610959575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098f9061163a565b60405180910390fd5b5f83116109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d190611791565b60405180910390fd5b5f5f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f816005015403610a36576706f05b59d3b2000081600401819055505b80600401548410610a4f575f8160040181905550610a68565b838160040154610a5f91906117af565b81600401819055505b4281600501819055503373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fb796f42b76c3801e26cac65ef60d18b0a62d1f218b83c0bfb594dadbee12d4e08684600401548787604051610ad8949392919061182c565b60405180910390a35050505050565b606481565b6706f05b59d3b2000081565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f816005015403610b7957670de0b6b3a7640000915050610b82565b80600401549150505b919050565b670214e8348c4f000081565b6002602052805f5260405f205f915054906101000a900460ff1681565b5f5f5f5f5f5f5f5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f209050805f01548160010154826002015483600301545f856005015414610c1c578460040154610c26565b670de0b6b3a76400005b955095509550955095505091939590929450565b670de0b6b3a764000081565b60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610ce7575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610d26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1d9061163a565b60405180910390fd5b5f5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f816005015403610d82576706f05b59d3b2000081600401819055505b81816003015f828254610d959190611685565b92505081905550610da581610e27565b81600401819055504281600501819055508273ffffffffffffffffffffffffffffffffffffffff167fcf5b6c438b64611d8ee0722509d7ad5149d4f779f0b29bc845152f0d89e42e19838360040154604051610e0292919061186a565b60405180910390a2505050565b671bc16d674ec8000081565b670bcbce7f1b15000081565b5f5f5f835f015414610e5257610e4d8360010154670de0b6b3a7640000855f0154610f2c565b610e5c565b670de0b6b3a76400005b90505f5f846001015414610e8a57610e858460020154670de0b6b3a76400008660010154610f2c565b610e94565b670de0b6b3a76400005b90505f610ea4856003015461100b565b90505f610eba8484670de0b6b3a7640000610f2c565b90505f610ed08284670de0b6b3a7640000610f2c565b90505f610ef28860040154670bcbce7f1b150000670de0b6b3a7640000610f2c565b90505f610f1083670214e8348c4f0000670de0b6b3a7640000610f2c565b90508082610f1e9190611685565b975050505050505050919050565b5f5f5f610f3986866111f7565b915091505f8203610f5e57838181610f5457610f53611891565b5b0492505050611004565b818411610f7d57610f7c610f775f861460126011611214565b61122d565b5b5f8486880990508181118303925080820391505f855f038616905080860495508083049250600181825f0304019050808402831792505f600287600302189050808702600203810290508087026002038102905080870260020381029050808702600203810290508087026002038102905080870260020381029050808402955050505050505b9392505050565b5f5f8203611023576706f05b59d3b2000090506111f2565b5f6110358364e8d4a510006064610f2c565b90506758aa7cabdacded27811061105757671bc16d674ec800009150506111f2565b670de0b6b3a764000081111561112c575f67099e8db03256ce5d90505f670de0b6b3a7640000600261108991906118be565b90505f670de0b6b3a7640000846110a091906117af565b90505f670de0b6b3a76400006758aa7cabdacded276110bf91906117af565b90505f6110d583670de0b6b3a764000084610f2c565b90505f6110f686866110e791906117af565b83670de0b6b3a7640000610f2c565b866111019190611685565b905061111e816706f05b59d3b20000671bc16d674ec8000061123e565b9750505050505050506111f2565b5f6111408283670de0b6b3a7640000610f2c565b90505f6111568284670de0b6b3a7640000610f2c565b90505f61116c8285670de0b6b3a7640000610f2c565b90505f60038361117c91906118ff565b856111879190611685565b90505f60048361119791906118ff565b6002866111a491906118ff565b6111ae9190611685565b90505f8183116111be575f6111cb565b81836111ca91906117af565b5b90506111e8816706f05b59d3b20000671bc16d674ec8000061123e565b9750505050505050505b919050565b5f5f5f198385098385029150818110828203039250509250929050565b5f61121e8461126a565b82841802821890509392505050565b634e487b715f52806020526024601cfd5b5f8284101561124f57829050611263565b8184111561125f57819050611263565b8390505b9392505050565b5f8115159050919050565b5f819050919050565b61128781611275565b82525050565b5f6020820190506112a05f83018461127e565b92915050565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112d7826112ae565b9050919050565b6112e7816112cd565b81146112f1575f5ffd5b50565b5f81359050611302816112de565b92915050565b5f8115159050919050565b61131c81611308565b8114611326575f5ffd5b50565b5f8135905061133781611313565b92915050565b5f5f60408385031215611353576113526112a6565b5b5f611360858286016112f4565b925050602061137185828601611329565b9150509250929050565b5f602082840312156113905761138f6112a6565b5b5f61139d848285016112f4565b91505092915050565b5f60c0820190506113b95f83018961127e565b6113c6602083018861127e565b6113d3604083018761127e565b6113e0606083018661127e565b6113ed608083018561127e565b6113fa60a083018461127e565b979650505050505050565b61140e81611275565b8114611418575f5ffd5b50565b5f8135905061142981611405565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126114505761144f61142f565b5b8235905067ffffffffffffffff81111561146d5761146c611433565b5b60208301915083600182028301111561148957611488611437565b5b9250929050565b5f5f5f5f606085870312156114a8576114a76112a6565b5b5f6114b5878288016112f4565b94505060206114c68782880161141b565b935050604085013567ffffffffffffffff8111156114e7576114e66112aa565b5b6114f38782880161143b565b925092505092959194509250565b61150a816112cd565b82525050565b5f6020820190506115235f830184611501565b92915050565b61153281611308565b82525050565b5f60208201905061154b5f830184611529565b92915050565b5f60a0820190506115645f83018861127e565b611571602083018761127e565b61157e604083018661127e565b61158b606083018561127e565b611598608083018461127e565b9695505050505050565b5f5f604083850312156115b8576115b76112a6565b5b5f6115c5858286016112f4565b92505060206115d68582860161141b565b9150509250929050565b5f82825260208201905092915050565b7f6e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f611624600e836115e0565b915061162f826115f0565b602082019050919050565b5f6020820190508181035f83015261165181611618565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61168f82611275565b915061169a83611275565b92508282019050808211156116b2576116b1611658565b5b92915050565b5f6040820190506116cb5f830185611529565b6116d8602083018461127e565b9392505050565b7f6e6f74206f776e657200000000000000000000000000000000000000000000005f82015250565b5f6117136009836115e0565b915061171e826116df565b602082019050919050565b5f6020820190508181035f83015261174081611707565b9050919050565b7f7a65726f20736c617368000000000000000000000000000000000000000000005f82015250565b5f61177b600a836115e0565b915061178682611747565b602082019050919050565b5f6020820190508181035f8301526117a88161176f565b9050919050565b5f6117b982611275565b91506117c483611275565b92508282039050818111156117dc576117db611658565b5b92915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f61180b83856115e0565b93506118188385846117e2565b611821836117f0565b840190509392505050565b5f60608201905061183f5f83018761127e565b61184c602083018661127e565b818103604083015261185f818486611800565b905095945050505050565b5f60408201905061187d5f83018561127e565b61188a602083018461127e565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6118c882611275565b91506118d383611275565b92508282026118e181611275565b915082820484148315176118f8576118f7611658565b5b5092915050565b5f61190982611275565b915061191483611275565b92508261192457611923611891565b5b82820490509291505056fea2646970667358221220a645aa68c5868caf6e97ecb1f2180fa500fbc922251894c3a787e4116aa8a58a64736f6c63430008230033","sourceMap":"612:14392:27:-:0;;;5122:88;;;;;;;;;;5154:10;5146:5;;:18;;;;;;;;;;;;;;;;;;5199:4;5174:10;:22;5185:10;5174:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;612:14392;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b5060043610610114575f3560e01c80638da5cb5b116100a0578063c23f85d61161006f578063c23f85d6146102d1578063c2ee3a0814610305578063c53214b314610323578063c88991b51461033f578063fd24f8341461035d57610114565b80638da5cb5b146102355780639c89a0e214610253578063a973e96114610283578063b9181611146102a157610114565b8063711bf9b2116100e7578063711bf9b2146101a557806376d8bb55146101c1578063805e6078146101dd5780638a5fddd8146101f95780638b2d631a1461021757610114565b806332c991b51461011857806339790e8d1461013657806369b69ea7146101525780636ad0a96814610187575b5f5ffd5b61012061037b565b60405161012d919061128d565b60405180910390f35b610150600480360381019061014b919061133d565b610387565b005b61016c6004803603810190610167919061137b565b610572565b60405161017e969594939291906113a6565b60405180910390f35b61018f6105a9565b60405161019c919061128d565b60405180910390f35b6101bf60048036038101906101ba919061133d565b6105b2565b005b6101db60048036038101906101d6919061133d565b6106e7565b005b6101f760048036038101906101f29190611490565b6108b8565b005b610201610ae7565b60405161020e919061128d565b60405180910390f35b61021f610aec565b60405161022c919061128d565b60405180910390f35b61023d610af8565b60405161024a9190611510565b60405180910390f35b61026d6004803603810190610268919061137b565b610b1d565b60405161027a919061128d565b60405180910390f35b61028b610b87565b604051610298919061128d565b60405180910390f35b6102bb60048036038101906102b6919061137b565b610b93565b6040516102c89190611538565b60405180910390f35b6102eb60048036038101906102e6919061137b565b610bb0565b6040516102fc959493929190611551565b60405180910390f35b61030d610c3a565b60405161031a919061128d565b60405180910390f35b61033d600480360381019061033891906115a2565b610c46565b005b610347610e0f565b604051610354919061128d565b60405180910390f35b610365610e1b565b604051610372919061128d565b60405180910390f35b6706f05b59d3b2000081565b60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610428575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610467576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045e9061163a565b60405180910390fd5b5f5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f8160050154036104c3576706f05b59d3b2000081600401819055505b6001815f015f8282546104d69190611685565b9250508190555081156104ff576001816001015f8282546104f79190611685565b925050819055505b61050881610e27565b81600401819055504281600501819055508273ffffffffffffffffffffffffffffffffffffffff167f126ad4512836572207feee098e5584200661b026b46bea4eee0e7e3b617194f28383600401546040516105659291906116b8565b60405180910390a2505050565b5f602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154908060050154905086565b64e8d4a5100081565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063890611729565b60405180910390fd5b8060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f19fef6046150baa445c8f44d75e29317c0fa4c6341a6c8444b3ec4cc48d1e1ce826040516106db9190611538565b60405180910390a25050565b60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610788575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6107c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107be9061163a565b60405180910390fd5b5f5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f816005015403610823576706f05b59d3b2000081600401819055505b8115610845576001816002015f82825461083d9190611685565b925050819055505b61084e81610e27565b81600401819055504281600501819055508273ffffffffffffffffffffffffffffffffffffffff167f813caba6be2a0d04160606ca0427f8985a69ea4d35f428d8c6fee852195c52e68383600401546040516108ab9291906116b8565b60405180910390a2505050565b60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610959575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098f9061163a565b60405180910390fd5b5f83116109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d190611791565b60405180910390fd5b5f5f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f816005015403610a36576706f05b59d3b2000081600401819055505b80600401548410610a4f575f8160040181905550610a68565b838160040154610a5f91906117af565b81600401819055505b4281600501819055503373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fb796f42b76c3801e26cac65ef60d18b0a62d1f218b83c0bfb594dadbee12d4e08684600401548787604051610ad8949392919061182c565b60405180910390a35050505050565b606481565b6706f05b59d3b2000081565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f816005015403610b7957670de0b6b3a7640000915050610b82565b80600401549150505b919050565b670214e8348c4f000081565b6002602052805f5260405f205f915054906101000a900460ff1681565b5f5f5f5f5f5f5f5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f209050805f01548160010154826002015483600301545f856005015414610c1c578460040154610c26565b670de0b6b3a76400005b955095509550955095505091939590929450565b670de0b6b3a764000081565b60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610ce7575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610d26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1d9061163a565b60405180910390fd5b5f5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f816005015403610d82576706f05b59d3b2000081600401819055505b81816003015f828254610d959190611685565b92505081905550610da581610e27565b81600401819055504281600501819055508273ffffffffffffffffffffffffffffffffffffffff167fcf5b6c438b64611d8ee0722509d7ad5149d4f779f0b29bc845152f0d89e42e19838360040154604051610e0292919061186a565b60405180910390a2505050565b671bc16d674ec8000081565b670bcbce7f1b15000081565b5f5f5f835f015414610e5257610e4d8360010154670de0b6b3a7640000855f0154610f2c565b610e5c565b670de0b6b3a76400005b90505f5f846001015414610e8a57610e858460020154670de0b6b3a76400008660010154610f2c565b610e94565b670de0b6b3a76400005b90505f610ea4856003015461100b565b90505f610eba8484670de0b6b3a7640000610f2c565b90505f610ed08284670de0b6b3a7640000610f2c565b90505f610ef28860040154670bcbce7f1b150000670de0b6b3a7640000610f2c565b90505f610f1083670214e8348c4f0000670de0b6b3a7640000610f2c565b90508082610f1e9190611685565b975050505050505050919050565b5f5f5f610f3986866111f7565b915091505f8203610f5e57838181610f5457610f53611891565b5b0492505050611004565b818411610f7d57610f7c610f775f861460126011611214565b61122d565b5b5f8486880990508181118303925080820391505f855f038616905080860495508083049250600181825f0304019050808402831792505f600287600302189050808702600203810290508087026002038102905080870260020381029050808702600203810290508087026002038102905080870260020381029050808402955050505050505b9392505050565b5f5f8203611023576706f05b59d3b2000090506111f2565b5f6110358364e8d4a510006064610f2c565b90506758aa7cabdacded27811061105757671bc16d674ec800009150506111f2565b670de0b6b3a764000081111561112c575f67099e8db03256ce5d90505f670de0b6b3a7640000600261108991906118be565b90505f670de0b6b3a7640000846110a091906117af565b90505f670de0b6b3a76400006758aa7cabdacded276110bf91906117af565b90505f6110d583670de0b6b3a764000084610f2c565b90505f6110f686866110e791906117af565b83670de0b6b3a7640000610f2c565b866111019190611685565b905061111e816706f05b59d3b20000671bc16d674ec8000061123e565b9750505050505050506111f2565b5f6111408283670de0b6b3a7640000610f2c565b90505f6111568284670de0b6b3a7640000610f2c565b90505f61116c8285670de0b6b3a7640000610f2c565b90505f60038361117c91906118ff565b856111879190611685565b90505f60048361119791906118ff565b6002866111a491906118ff565b6111ae9190611685565b90505f8183116111be575f6111cb565b81836111ca91906117af565b5b90506111e8816706f05b59d3b20000671bc16d674ec8000061123e565b9750505050505050505b919050565b5f5f5f198385098385029150818110828203039250509250929050565b5f61121e8461126a565b82841802821890509392505050565b634e487b715f52806020526024601cfd5b5f8284101561124f57829050611263565b8184111561125f57819050611263565b8390505b9392505050565b5f8115159050919050565b5f819050919050565b61128781611275565b82525050565b5f6020820190506112a05f83018461127e565b92915050565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112d7826112ae565b9050919050565b6112e7816112cd565b81146112f1575f5ffd5b50565b5f81359050611302816112de565b92915050565b5f8115159050919050565b61131c81611308565b8114611326575f5ffd5b50565b5f8135905061133781611313565b92915050565b5f5f60408385031215611353576113526112a6565b5b5f611360858286016112f4565b925050602061137185828601611329565b9150509250929050565b5f602082840312156113905761138f6112a6565b5b5f61139d848285016112f4565b91505092915050565b5f60c0820190506113b95f83018961127e565b6113c6602083018861127e565b6113d3604083018761127e565b6113e0606083018661127e565b6113ed608083018561127e565b6113fa60a083018461127e565b979650505050505050565b61140e81611275565b8114611418575f5ffd5b50565b5f8135905061142981611405565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126114505761144f61142f565b5b8235905067ffffffffffffffff81111561146d5761146c611433565b5b60208301915083600182028301111561148957611488611437565b5b9250929050565b5f5f5f5f606085870312156114a8576114a76112a6565b5b5f6114b5878288016112f4565b94505060206114c68782880161141b565b935050604085013567ffffffffffffffff8111156114e7576114e66112aa565b5b6114f38782880161143b565b925092505092959194509250565b61150a816112cd565b82525050565b5f6020820190506115235f830184611501565b92915050565b61153281611308565b82525050565b5f60208201905061154b5f830184611529565b92915050565b5f60a0820190506115645f83018861127e565b611571602083018761127e565b61157e604083018661127e565b61158b606083018561127e565b611598608083018461127e565b9695505050505050565b5f5f604083850312156115b8576115b76112a6565b5b5f6115c5858286016112f4565b92505060206115d68582860161141b565b9150509250929050565b5f82825260208201905092915050565b7f6e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f611624600e836115e0565b915061162f826115f0565b602082019050919050565b5f6020820190508181035f83015261165181611618565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61168f82611275565b915061169a83611275565b92508282019050808211156116b2576116b1611658565b5b92915050565b5f6040820190506116cb5f830185611529565b6116d8602083018461127e565b9392505050565b7f6e6f74206f776e657200000000000000000000000000000000000000000000005f82015250565b5f6117136009836115e0565b915061171e826116df565b602082019050919050565b5f6020820190508181035f83015261174081611707565b9050919050565b7f7a65726f20736c617368000000000000000000000000000000000000000000005f82015250565b5f61177b600a836115e0565b915061178682611747565b602082019050919050565b5f6020820190508181035f8301526117a88161176f565b9050919050565b5f6117b982611275565b91506117c483611275565b92508282039050818111156117dc576117db611658565b5b92915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f61180b83856115e0565b93506118188385846117e2565b611821836117f0565b840190509392505050565b5f60608201905061183f5f83018761127e565b61184c602083018661127e565b818103604083015261185f818486611800565b905095945050505050565b5f60408201905061187d5f83018561127e565b61188a602083018461127e565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6118c882611275565b91506118d383611275565b92508282026118e181611275565b915082820484148315176118f8576118f7611658565b5b5092915050565b5f61190982611275565b915061191483611275565b92508261192457611923611891565b5b82820490509291505056fea2646970667358221220a645aa68c5868caf6e97ecb1f2180fa500fbc922251894c3a787e4116aa8a58a64736f6c63430008230033","sourceMap":"612:14392:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1578:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5746:455;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3589:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;2162:43;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5216:153;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6406:447;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8405:581;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3098:39;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2754:46;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3807:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9361:213;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2623:48;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3902:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9580:511;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;902:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7038:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2883:46;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2493:47;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1578:35;1609:4;1578:35;:::o;5746:455::-;4872:10;:22;4883:10;4872:22;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;4912:5;;;;;;;;;;;4898:19;;:10;:19;;;4872:45;4864:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;5830:20:::1;5853:4;:11;5858:5;5853:11;;;;;;;;;;;;;;;5830:34;;5895:1;5878;:13;;;:18:::0;5874:112:::1;;1609:4;5912:1;:7;;:14;;;;5874:112;6010:1;5995;:11;;;:16;;;;;;;:::i;:::-;;;;;;;;6025:3;6021:50;;;6059:1;6044;:11;;;:16;;;;;;;:::i;:::-;;;;;;;;6021:50;6090:13;6101:1;6090:10;:13::i;:::-;6080:1;:7;;:23;;;;6129:15;6113:1;:13;;:31;;;;6174:5;6159:35;;;6181:3;6186:1;:7;;;6159:35;;;;;;;:::i;:::-;;;;;;;;5820:381;5746:455:::0;;:::o;3589:42::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2162:43::-;2201:4;2162:43;:::o;5216:153::-;4785:5;;;;;;;;;;;4771:19;;:10;:19;;;4763:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;5313:7:::1;5295:10;:15;5306:3;5295:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;5349:3;5335:27;;;5354:7;5335:27;;;;;;:::i;:::-;;;;;;;;5216:153:::0;;:::o;6406:447::-;4872:10;:22;4883:10;4872:22;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;4912:5;;;;;;;;;;;4898:19;;:10;:19;;;4872:45;4864:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;6493:20:::1;6516:4;:11;6521:5;6516:11;;;;;;;;;;;;;;;6493:34;;6558:1;6541;:13;;;:18:::0;6537:112:::1;;1609:4;6575:1;:7;;:14;;;;6537:112;6662:6;6658:62;;;6708:1;6684;:20;;;:25;;;;;;;:::i;:::-;;;;;;;;6658:62;6739:13;6750:1;6739:10;:13::i;:::-;6729:1;:7;;:23;;;;6778:15;6762:1;:13;;:31;;;;6823:5;6808:38;;;6830:6;6838:1;:7;;;6808:38;;;;;;;:::i;:::-;;;;;;;;6483:370;6406:447:::0;;:::o;8405:581::-;4872:10;:22;4883:10;4872:22;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;4912:5;;;;;;;;;;;4898:19;;:10;:19;;;4872:45;4864:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;8556:1:::1;8547:6;:10;8539:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;8582:20;8605:4;:11;8610:5;8605:11;;;;;;;;;;;;;;;8582:34;;8647:1;8630;:13;;;:18:::0;8626:112:::1;;1609:4;8664:1;:7;;:14;;;;8626:112;8761:1;:7;;;8751:6;:17;8747:116;;8794:1;8784;:7;;:11;;;;8747:116;;;8846:6;8836:1;:7;;;:16;;;;:::i;:::-;8826:1;:7;;:26;;;;8747:116;8888:15;8872:1;:13;;:31;;;;8943:10;8918:61;;8936:5;8918:61;;;8955:6;8963:1;:7;;;8972:6;;8918:61;;;;;;;;;:::i;:::-;;;;;;;;8529:457;8405:581:::0;;;;:::o;3098:39::-;3134:3;3098:39;:::o;2754:46::-;2796:4;2754:46;:::o;3807:20::-;;;;;;;;;;;;;:::o;9361:213::-;9422:7;9441:20;9464:4;:11;9469:5;9464:11;;;;;;;;;;;;;;;9441:34;;9506:1;9489;:13;;;:18;9485:59;;932:4;9523:10;;;;;9485:59;9560:1;:7;;;9553:14;;;9361:213;;;;:::o;2623:48::-;2666:5;2623:48;:::o;3902:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;9580:511::-;9673:17;9704;9735:26;9775:28;9817:13;9855:20;9878:4;:11;9883:5;9878:11;;;;;;;;;;;;;;;9855:34;;9920:1;:11;;;9945:1;:11;;;9970:1;:20;;;10004:1;:22;;;10057:1;10040;:13;;;:18;:34;;10067:1;:7;;;10040:34;;;932:4;10040:34;9899:185;;;;;;;;;;;9580:511;;;;;;;:::o;902:34::-;932:4;902:34;:::o;7038:413::-;4872:10;:22;4883:10;4872:22;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;4912:5;;;;;;;;;;;4898:19;;:10;:19;;;4872:45;4864:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7124:20:::1;7147:4;:11;7152:5;7147:11;;;;;;;;;;;;;;;7124:34;;7189:1;7172;:13;;;:18:::0;7168:112:::1;;1609:4;7206:1;:7;;:14;;;;7168:112;7315:6;7289:1;:22;;;:32;;;;;;;:::i;:::-;;;;;;;;7341:13;7352:1;7341:10;:13::i;:::-;7331:1;:7;;:23;;;;7380:15;7364:1;:13;;:31;;;;7421:5;7410:34;;;7428:6;7436:1;:7;;;7410:34;;;;;;;:::i;:::-;;;;;;;;7114:337;7038:413:::0;;:::o;2883:46::-;2925:4;2883:46;:::o;2493:47::-;2535:5;2493:47;:::o;10867:930::-;10932:7;10951:15;10984:1;10969;:11;;;:16;:91;;11018:42;11030:1;:11;;;932:4;11048:1;:11;;;11018;:42::i;:::-;10969:91;;;932:4;10969:91;10951:109;;11070:19;11107:1;11092;:11;;;:16;:100;;11141:51;11153:1;:20;;;932:4;11180:1;:11;;;11141;:51::i;:::-;11092:100;;;932:4;11092:100;11070:122;;11202:18;11223:35;11235:1;:22;;;11223:11;:35::i;:::-;11202:56;;11421:10;11434:38;11446:7;11455:11;932:4;11434:11;:38::i;:::-;11421:51;;11482:14;11499:32;11511:2;11515:10;932:4;11499:11;:32::i;:::-;11482:49;;11624:15;11642:42;11654:1;:7;;;2535:5;932:4;11642:11;:42::i;:::-;11624:60;;11694:16;11713:42;11725:6;2666:5;932:4;11713:11;:42::i;:::-;11694:61;;11782:8;11772:7;:18;;;;:::i;:::-;11765:25;;;;;;;;;10867:930;;;:::o;7296:3683:22:-;7378:14;7429:12;7443:11;7458:12;7465:1;7468;7458:6;:12::i;:::-;7428:42;;;;7560:1;7552:4;:9;7548:365;;7887:11;7881:3;:17;;;;;:::i;:::-;;;7874:24;;;;;;7548:365;8038:4;8023:11;:19;8019:142;;8062:84;8074:71;8097:1;8082:11;:16;1035:4:19;940;8074:7:22;:71::i;:::-;8062:11;:84::i;:::-;8019:142;8413:17;8564:11;8561:1;8558;8551:25;8538:38;;8690:3;8679:9;8676:18;8670:4;8666:29;8658:37;;8728:9;8723:3;8719:19;8712:26;;8956:12;8990:11;8986:1;:15;8971:11;:31;8956:46;;9138:4;9125:11;9121:22;9106:37;;9223:4;9218:3;9214:14;9207:21;;9384:1;9377:4;9370;9367:1;9363:12;9359:23;9355:31;9347:39;;9477:4;9470;:11;9463:18;;;;9816:15;9854:1;9839:11;9835:1;:15;9834:21;9816:39;;10101:7;10087:11;:21;10083:1;:25;10072:36;;;;10171:7;10157:11;:21;10153:1;:25;10142:36;;;;10243:7;10229:11;:21;10225:1;:25;10214:36;;;;10314:7;10300:11;:21;10296:1;:25;10285:36;;;;10387:7;10373:11;:21;10369:1;:25;10358:36;;;;10461:7;10447:11;:21;10443:1;:25;10432:36;;;;10928:7;10922:3;:13;10913:22;;10949:13;;;;;7296:3683;;;;;;:::o;12668:2158:27:-;12736:7;12939:1;12921:14;:19;12917:72;;2796:4;12956:22;;;;12917:72;13260:9;13272:52;13284:14;2201:4;3134:3;13272:11;:52::i;:::-;13260:64;;13413:25;13408:1;:30;13404:83;;2925:4;13454:22;;;;;13404:83;932:4;13646:1;:7;13642:673;;;13881:11;13895:23;13881:37;;13932:11;932:4;13946:1;:7;;;;:::i;:::-;13932:21;;14036:11;932:4;14050:1;:7;;;;:::i;:::-;14036:21;;14071:11;932:4;14085:25;:31;;;;:::i;:::-;14071:45;;14130:9;14142:26;14154:3;932:4;14164:3;14142:11;:26::i;:::-;14130:38;;14182:14;14205:30;14223:3;14217;:9;;;;:::i;:::-;14228:1;932:4;14205:11;:30::i;:::-;14199:3;:36;;;;:::i;:::-;14182:53;;14256:48;14263:6;2796:4;2925;14256:6;:48::i;:::-;14249:55;;;;;;;;;;;13642:673;14456:10;14469:22;14481:1;14484;932:4;14469:11;:22::i;:::-;14456:35;;14501:10;14514:23;14526:2;14530:1;932:4;14514:11;:23::i;:::-;14501:36;;14547:10;14560:23;14572:2;14576:1;932:4;14560:11;:23::i;:::-;14547:36;;14647:11;14670:1;14665:2;:6;;;;:::i;:::-;14661:1;:10;;;;:::i;:::-;14647:24;;14681:11;14709:1;14704:2;:6;;;;:::i;:::-;14700:1;14695:2;:6;;;;:::i;:::-;:15;;;;:::i;:::-;14681:29;;14720:10;14739:3;14733;:9;:25;;14757:1;14733:25;;;14751:3;14745;:9;;;;:::i;:::-;14733:25;14720:38;;14775:44;14782:2;2796:4;2925;14775:6;:44::i;:::-;14768:51;;;;;;;;;12668:2158;;;;:::o;1027:550:22:-;1088:12;1102:11;1478:1;1474:6;1471:1;1468;1461:20;1508:1;1505;1501:9;1494:16;;1556:3;1552:2;1549:11;1543:3;1539:2;1535:12;1531:30;1523:38;;1437:134;1027:550;;;;;:::o;5087:294::-;5165:7;5337:26;5353:9;5337:15;:26::i;:::-;5332:1;5328;:5;5327:36;5322:1;:42;5315:49;;5087:294;;;;;:::o;1776:194:19:-;1881:10;1875:4;1868:24;1918:4;1912;1905:18;1949:4;1943;1936:18;14832:170:27;14906:7;14933:2;14929:1;:6;14925:21;;;14944:2;14937:9;;;;14925:21;14964:2;14960:1;:6;14956:21;;;14975:2;14968:9;;;;14956:21;14994:1;14987:8;;14832:170;;;;;;:::o;34792:145:23:-;34839:9;34918:1;34911:9;34904:17;34899:22;;34792:145;;;:::o;7:77:33:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;646:117;755:1;752;745:12;769:126;806:7;846:42;839:5;835:54;824:65;;769:126;;;:::o;901:96::-;938:7;967:24;985:5;967:24;:::i;:::-;956:35;;901:96;;;:::o;1003:122::-;1076:24;1094:5;1076:24;:::i;:::-;1069:5;1066:35;1056:63;;1115:1;1112;1105:12;1056:63;1003:122;:::o;1131:139::-;1177:5;1215:6;1202:20;1193:29;;1231:33;1258:5;1231:33;:::i;:::-;1131:139;;;;:::o;1276:90::-;1310:7;1353:5;1346:13;1339:21;1328:32;;1276:90;;;:::o;1372:116::-;1442:21;1457:5;1442:21;:::i;:::-;1435:5;1432:32;1422:60;;1478:1;1475;1468:12;1422:60;1372:116;:::o;1494:133::-;1537:5;1575:6;1562:20;1553:29;;1591:30;1615:5;1591:30;:::i;:::-;1494:133;;;;:::o;1633:468::-;1698:6;1706;1755:2;1743:9;1734:7;1730:23;1726:32;1723:119;;;1761:79;;:::i;:::-;1723:119;1881:1;1906:53;1951:7;1942:6;1931:9;1927:22;1906:53;:::i;:::-;1896:63;;1852:117;2008:2;2034:50;2076:7;2067:6;2056:9;2052:22;2034:50;:::i;:::-;2024:60;;1979:115;1633:468;;;;;:::o;2107:329::-;2166:6;2215:2;2203:9;2194:7;2190:23;2186:32;2183:119;;;2221:79;;:::i;:::-;2183:119;2341:1;2366:53;2411:7;2402:6;2391:9;2387:22;2366:53;:::i;:::-;2356:63;;2312:117;2107:329;;;;:::o;2442:775::-;2675:4;2713:3;2702:9;2698:19;2690:27;;2727:71;2795:1;2784:9;2780:17;2771:6;2727:71;:::i;:::-;2808:72;2876:2;2865:9;2861:18;2852:6;2808:72;:::i;:::-;2890;2958:2;2947:9;2943:18;2934:6;2890:72;:::i;:::-;2972;3040:2;3029:9;3025:18;3016:6;2972:72;:::i;:::-;3054:73;3122:3;3111:9;3107:19;3098:6;3054:73;:::i;:::-;3137;3205:3;3194:9;3190:19;3181:6;3137:73;:::i;:::-;2442:775;;;;;;;;;:::o;3223:122::-;3296:24;3314:5;3296:24;:::i;:::-;3289:5;3286:35;3276:63;;3335:1;3332;3325:12;3276:63;3223:122;:::o;3351:139::-;3397:5;3435:6;3422:20;3413:29;;3451:33;3478:5;3451:33;:::i;:::-;3351:139;;;;:::o;3496:117::-;3605:1;3602;3595:12;3619:117;3728:1;3725;3718:12;3742:117;3851:1;3848;3841:12;3879:553;3937:8;3947:6;3997:3;3990:4;3982:6;3978:17;3974:27;3964:122;;4005:79;;:::i;:::-;3964:122;4118:6;4105:20;4095:30;;4148:18;4140:6;4137:30;4134:117;;;4170:79;;:::i;:::-;4134:117;4284:4;4276:6;4272:17;4260:29;;4338:3;4330:4;4322:6;4318:17;4308:8;4304:32;4301:41;4298:128;;;4345:79;;:::i;:::-;4298:128;3879:553;;;;;:::o;4438:819::-;4527:6;4535;4543;4551;4600:2;4588:9;4579:7;4575:23;4571:32;4568:119;;;4606:79;;:::i;:::-;4568:119;4726:1;4751:53;4796:7;4787:6;4776:9;4772:22;4751:53;:::i;:::-;4741:63;;4697:117;4853:2;4879:53;4924:7;4915:6;4904:9;4900:22;4879:53;:::i;:::-;4869:63;;4824:118;5009:2;4998:9;4994:18;4981:32;5040:18;5032:6;5029:30;5026:117;;;5062:79;;:::i;:::-;5026:117;5175:65;5232:7;5223:6;5212:9;5208:22;5175:65;:::i;:::-;5157:83;;;;4952:298;4438:819;;;;;;;:::o;5263:118::-;5350:24;5368:5;5350:24;:::i;:::-;5345:3;5338:37;5263:118;;:::o;5387:222::-;5480:4;5518:2;5507:9;5503:18;5495:26;;5531:71;5599:1;5588:9;5584:17;5575:6;5531:71;:::i;:::-;5387:222;;;;:::o;5615:109::-;5696:21;5711:5;5696:21;:::i;:::-;5691:3;5684:34;5615:109;;:::o;5730:210::-;5817:4;5855:2;5844:9;5840:18;5832:26;;5868:65;5930:1;5919:9;5915:17;5906:6;5868:65;:::i;:::-;5730:210;;;;:::o;5946:664::-;6151:4;6189:3;6178:9;6174:19;6166:27;;6203:71;6271:1;6260:9;6256:17;6247:6;6203:71;:::i;:::-;6284:72;6352:2;6341:9;6337:18;6328:6;6284:72;:::i;:::-;6366;6434:2;6423:9;6419:18;6410:6;6366:72;:::i;:::-;6448;6516:2;6505:9;6501:18;6492:6;6448:72;:::i;:::-;6530:73;6598:3;6587:9;6583:19;6574:6;6530:73;:::i;:::-;5946:664;;;;;;;;:::o;6616:474::-;6684:6;6692;6741:2;6729:9;6720:7;6716:23;6712:32;6709:119;;;6747:79;;:::i;:::-;6709:119;6867:1;6892:53;6937:7;6928:6;6917:9;6913:22;6892:53;:::i;:::-;6882:63;;6838:117;6994:2;7020:53;7065:7;7056:6;7045:9;7041:22;7020:53;:::i;:::-;7010:63;;6965:118;6616:474;;;;;:::o;7096:169::-;7180:11;7214:6;7209:3;7202:19;7254:4;7249:3;7245:14;7230:29;;7096:169;;;;:::o;7271:164::-;7411:16;7407:1;7399:6;7395:14;7388:40;7271:164;:::o;7441:366::-;7583:3;7604:67;7668:2;7663:3;7604:67;:::i;:::-;7597:74;;7680:93;7769:3;7680:93;:::i;:::-;7798:2;7793:3;7789:12;7782:19;;7441:366;;;:::o;7813:419::-;7979:4;8017:2;8006:9;8002:18;7994:26;;8066:9;8060:4;8056:20;8052:1;8041:9;8037:17;8030:47;8094:131;8220:4;8094:131;:::i;:::-;8086:139;;7813:419;;;:::o;8238:180::-;8286:77;8283:1;8276:88;8383:4;8380:1;8373:15;8407:4;8404:1;8397:15;8424:191;8464:3;8483:20;8501:1;8483:20;:::i;:::-;8478:25;;8517:20;8535:1;8517:20;:::i;:::-;8512:25;;8560:1;8557;8553:9;8546:16;;8581:3;8578:1;8575:10;8572:36;;;8588:18;;:::i;:::-;8572:36;8424:191;;;;:::o;8621:320::-;8736:4;8774:2;8763:9;8759:18;8751:26;;8787:65;8849:1;8838:9;8834:17;8825:6;8787:65;:::i;:::-;8862:72;8930:2;8919:9;8915:18;8906:6;8862:72;:::i;:::-;8621:320;;;;;:::o;8947:159::-;9087:11;9083:1;9075:6;9071:14;9064:35;8947:159;:::o;9112:365::-;9254:3;9275:66;9339:1;9334:3;9275:66;:::i;:::-;9268:73;;9350:93;9439:3;9350:93;:::i;:::-;9468:2;9463:3;9459:12;9452:19;;9112:365;;;:::o;9483:419::-;9649:4;9687:2;9676:9;9672:18;9664:26;;9736:9;9730:4;9726:20;9722:1;9711:9;9707:17;9700:47;9764:131;9890:4;9764:131;:::i;:::-;9756:139;;9483:419;;;:::o;9908:160::-;10048:12;10044:1;10036:6;10032:14;10025:36;9908:160;:::o;10074:366::-;10216:3;10237:67;10301:2;10296:3;10237:67;:::i;:::-;10230:74;;10313:93;10402:3;10313:93;:::i;:::-;10431:2;10426:3;10422:12;10415:19;;10074:366;;;:::o;10446:419::-;10612:4;10650:2;10639:9;10635:18;10627:26;;10699:9;10693:4;10689:20;10685:1;10674:9;10670:17;10663:47;10727:131;10853:4;10727:131;:::i;:::-;10719:139;;10446:419;;;:::o;10871:194::-;10911:4;10931:20;10949:1;10931:20;:::i;:::-;10926:25;;10965:20;10983:1;10965:20;:::i;:::-;10960:25;;11009:1;11006;11002:9;10994:17;;11033:1;11027:4;11024:11;11021:37;;;11038:18;;:::i;:::-;11021:37;10871:194;;;;:::o;11071:148::-;11169:6;11164:3;11159;11146:30;11210:1;11201:6;11196:3;11192:16;11185:27;11071:148;;;:::o;11225:102::-;11266:6;11317:2;11313:7;11308:2;11301:5;11297:14;11293:28;11283:38;;11225:102;;;:::o;11357:317::-;11455:3;11476:71;11540:6;11535:3;11476:71;:::i;:::-;11469:78;;11557:56;11606:6;11601:3;11594:5;11557:56;:::i;:::-;11638:29;11660:6;11638:29;:::i;:::-;11633:3;11629:39;11622:46;;11357:317;;;;;:::o;11680:553::-;11859:4;11897:2;11886:9;11882:18;11874:26;;11910:71;11978:1;11967:9;11963:17;11954:6;11910:71;:::i;:::-;11991:72;12059:2;12048:9;12044:18;12035:6;11991:72;:::i;:::-;12110:9;12104:4;12100:20;12095:2;12084:9;12080:18;12073:48;12138:88;12221:4;12212:6;12204;12138:88;:::i;:::-;12130:96;;11680:553;;;;;;;:::o;12239:332::-;12360:4;12398:2;12387:9;12383:18;12375:26;;12411:71;12479:1;12468:9;12464:17;12455:6;12411:71;:::i;:::-;12492:72;12560:2;12549:9;12545:18;12536:6;12492:72;:::i;:::-;12239:332;;;;;:::o;12577:180::-;12625:77;12622:1;12615:88;12722:4;12719:1;12712:15;12746:4;12743:1;12736:15;12763:410;12803:7;12826:20;12844:1;12826:20;:::i;:::-;12821:25;;12860:20;12878:1;12860:20;:::i;:::-;12855:25;;12915:1;12912;12908:9;12937:30;12955:11;12937:30;:::i;:::-;12926:41;;13116:1;13107:7;13103:15;13100:1;13097:22;13077:1;13070:9;13050:83;13027:139;;13146:18;;:::i;:::-;13027:139;12811:362;12763:410;;;;:::o;13179:185::-;13219:1;13236:20;13254:1;13236:20;:::i;:::-;13231:25;;13270:20;13288:1;13270:20;:::i;:::-;13265:25;;13309:1;13299:35;;13314:18;;:::i;:::-;13299:35;13356:1;13353;13349:9;13344:14;;13179:185;;;;:::o","linkReferences":{}},"methodIdentifiers":{"DECAY_NUMERATOR()":"fd24f834","FEE_SCALE()":"8a5fddd8","FILL_SIGNAL_MAX()":"c88991b5","FILL_SIGNAL_MIN()":"8b2d631a","HALF()":"32c991b5","ONE()":"c2ee3a08","SIGNAL_NUMERATOR()":"a973e961","USDC_TO_1E18()":"6ad0a968","authorized(address)":"b9181611","getReputation(address)":"9c89a0e2","getStats(address)":"c23f85d6","owner()":"8da5cb5b","reps(address)":"69b69ea7","setAuthorized(address,bool)":"711bf9b2","slashReputation(address,uint256,string)":"805e6078","updateOnAuction(address,bool)":"39790e8d","updateOnFee(address,uint256)":"c53214b3","updateOnQuality(address,bool)":"76d8bb55"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.35+commit.47b9dedd\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"won\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newScore\",\"type\":\"uint256\"}],\"name\":\"AuctionUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"}],\"name\":\"AuthorizedSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newScore\",\"type\":\"uint256\"}],\"name\":\"FeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"passed\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newScore\",\"type\":\"uint256\"}],\"name\":\"QualityUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newScore\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"ReputationSlashed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DECAY_NUMERATOR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FEE_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FILL_SIGNAL_MAX\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FILL_SIGNAL_MIN\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HALF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ONE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SIGNAL_NUMERATOR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"USDC_TO_1E18\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"authorized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"getReputation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"getStats\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBids\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalWins\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalQualityPasses\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cumulativeFeesEarned\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"reps\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBids\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalWins\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalQualityPasses\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cumulativeFeesEarned\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"}],\"name\":\"setAuthorized\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"slashReputation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"won\",\"type\":\"bool\"}],\"name\":\"updateOnAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"updateOnFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"passed\",\"type\":\"bool\"}],\"name\":\"updateOnQuality\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"All scores are scaled by 1e18 (i.e. 1.0 == 1e18). Unknown agents return the default neutral score (1e18) so the auction can divide bids by a non-zero denominator without a special case at the call site.\",\"kind\":\"dev\",\"methods\":{\"getReputation(address)\":{\"details\":\"Returns ONE (1e18) for any agent that has never been touched so that the auction's `bid / reputation` divisor is safe.\"},\"slashReputation(address,uint256,string)\":{\"params\":{\"agent\":\"Agent whose score is being reduced.\",\"amount\":\"Amount (in 1e18 units) to subtract from the score.\",\"reason\":\"Human-readable reason, emitted in the event for audit.\"}}},\"title\":\"ReputationRegistry\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DECAY_NUMERATOR()\":{\"notice\":\"EMA decay applied to the previous score on each update (85% old + 15% new). Stored scaled by 1e18: 0.85e18. Per README \\u00a75.6 final mechanism design (\\u03b1 = 0.85): slow decay so one bad event drops reputation by ~0.045.\"},\"FEE_SCALE()\":{\"notice\":\"Scale on cumulative fees (USDC, 18 decimals) used inside the ln() of the fill-signal computation. Matches spec: ln(1 + fees/100).\"},\"FILL_SIGNAL_MAX()\":{\"notice\":\"Upper clamp for the fill-signal multiplier (2.0e18 == 2.0).\"},\"FILL_SIGNAL_MIN()\":{\"notice\":\"Lower clamp for the fill-signal multiplier (0.5e18 == 0.5).\"},\"HALF()\":{\"notice\":\"Fixed-point HALF (0.5e18). Used as the **initial reputation** for a fresh agent so the first `_recompute` does not subtract from a maxed-out prior. Rationale (W14-C, \\u03b1 correction): the formula caps the per-event signal at `winRate * qualityRate * fillSignal` which is bounded above by ~`1.0 * 1.0 * 2.0 = 2.0` but in the realistic mid-range sits around 0.5 \\u2014 so seeding the prior at 1.0 meant every first update strictly decreased the score. Seeding at 0.5 matches the achievable steady-state mid-range.\"},\"ONE()\":{\"notice\":\"Fixed-point ONE; score units are 1e18 == 1.0.\"},\"SIGNAL_NUMERATOR()\":{\"notice\":\"Weight on the freshly computed signal in the EMA (0.15e18).\"},\"USDC_TO_1E18()\":{\"notice\":\"USDC has 6 decimals; the registry's fixed-point math uses 1e18. `_fillSignal` is called from `BuilderFeeRouter.updateOnFee` which passes `fillAmount` in 6-decimal USDC base units. We rescale by 1e12 (1e18 / 1e6) so the ln() input is in the right magnitude (W14-C \\u03b2-fix). Without this rescale the ln() argument was off by 12 orders of magnitude and `fillSignal` was permanently clamped to `FILL_SIGNAL_MIN` for any realistic fee.\"},\"authorized(address)\":{\"notice\":\"Authorized callers permitted to push state updates.\"},\"getReputation(address)\":{\"notice\":\"Returns the agent's reputation score in 1e18 units.\"},\"owner()\":{\"notice\":\"Owner deploys the contract and is the only address that can set authorized callers (BuilderFeeRouter, TranslationAuction, operator EOA).\"},\"slashReputation(address,uint256,string)\":{\"notice\":\"Hard-subtract reputation. Floors at zero. Any address in the `authorized` map (set by the owner) may slash \\u2014 typically that is JudgePanel (quality verdict), TranslationAuction (malformed submission inside the 72h window), and BuilderFeeRouter (post- fill review). Owner can also slash directly.\"},\"updateOnAuction(address,bool)\":{\"notice\":\"Called by the auction contract after every settle (for the winner and for each losing bidder). Bumps bid/win counts then recomputes the EMA score.\"}},\"notice\":\"Tracks per-agent reputation across the PolyglotAlpha translation auction lifecycle. Reputation is an EMA-style score that incorporates win rate, post-auction quality outcomes, and realized fill revenue.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/ReputationRegistry.sol\":\"ReputationRegistry\"},\"evmVersion\":\"osaka\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[\":@openzeppelin/=lib/openzeppelin-contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x59973a93b1f983f94e10529f46ca46544a9fec2b5f56fb1390bbe9e0dc79f857\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c55ef8f0b9719790c2ae6f81d80a59ffb89f2f0abe6bc065585bd79edce058c5\",\"dweb:/ipfs/QmNNmCbX9NjPXKqHJN8R1WC2rNeZSQrPZLd6FF6AKLyH5Y\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xc8cae21c9ae4a46e5162ff9bf5b351d6fa6a6eba72d515f3bc1bdfeda7fdf083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce830ebcf28e31643caba318996db3763c36d52cd0f23798ba83c135355d45e9\",\"dweb:/ipfs/QmdGPcvptHN7UBCbUYBbRX3hiRVRFLRwno8b4uga6uFNif\"]},\"src/ReputationRegistry.sol\":{\"keccak256\":\"0x9c21f0fdd068e9b83d7253190225010d2af5eed6e63593cd26ee2039531e30aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8806724d523879ca1894d68ac6ef35691944009b55fefbbebc0219b2d9c942f8\",\"dweb:/ipfs/QmSSbDyxpqHh5YGxZTobQLNLdNpBZaF6jx7ExCVbmZv92L\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.35+commit.47b9dedd"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"agent","type":"address","indexed":true},{"internalType":"bool","name":"won","type":"bool","indexed":false},{"internalType":"uint256","name":"newScore","type":"uint256","indexed":false}],"type":"event","name":"AuctionUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"who","type":"address","indexed":true},{"internalType":"bool","name":"allowed","type":"bool","indexed":false}],"type":"event","name":"AuthorizedSet","anonymous":false},{"inputs":[{"internalType":"address","name":"agent","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"newScore","type":"uint256","indexed":false}],"type":"event","name":"FeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"agent","type":"address","indexed":true},{"internalType":"bool","name":"passed","type":"bool","indexed":false},{"internalType":"uint256","name":"newScore","type":"uint256","indexed":false}],"type":"event","name":"QualityUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"agent","type":"address","indexed":true},{"internalType":"address","name":"by","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"newScore","type":"uint256","indexed":false},{"internalType":"string","name":"reason","type":"string","indexed":false}],"type":"event","name":"ReputationSlashed","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DECAY_NUMERATOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FEE_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FILL_SIGNAL_MAX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FILL_SIGNAL_MIN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"HALF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ONE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SIGNAL_NUMERATOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"USDC_TO_1E18","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"authorized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"agent","type":"address"}],"stateMutability":"view","type":"function","name":"getReputation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"agent","type":"address"}],"stateMutability":"view","type":"function","name":"getStats","outputs":[{"internalType":"uint256","name":"totalBids","type":"uint256"},{"internalType":"uint256","name":"totalWins","type":"uint256"},{"internalType":"uint256","name":"totalQualityPasses","type":"uint256"},{"internalType":"uint256","name":"cumulativeFeesEarned","type":"uint256"},{"internalType":"uint256","name":"score","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"reps","outputs":[{"internalType":"uint256","name":"totalBids","type":"uint256"},{"internalType":"uint256","name":"totalWins","type":"uint256"},{"internalType":"uint256","name":"totalQualityPasses","type":"uint256"},{"internalType":"uint256","name":"cumulativeFeesEarned","type":"uint256"},{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"who","type":"address"},{"internalType":"bool","name":"allowed","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setAuthorized"},{"inputs":[{"internalType":"address","name":"agent","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"string","name":"reason","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"slashReputation"},{"inputs":[{"internalType":"address","name":"agent","type":"address"},{"internalType":"bool","name":"won","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"updateOnAuction"},{"inputs":[{"internalType":"address","name":"agent","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateOnFee"},{"inputs":[{"internalType":"address","name":"agent","type":"address"},{"internalType":"bool","name":"passed","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"updateOnQuality"}],"devdoc":{"kind":"dev","methods":{"getReputation(address)":{"details":"Returns ONE (1e18) for any agent that has never been touched so that the auction's `bid / reputation` divisor is safe."},"slashReputation(address,uint256,string)":{"params":{"agent":"Agent whose score is being reduced.","amount":"Amount (in 1e18 units) to subtract from the score.","reason":"Human-readable reason, emitted in the event for audit."}}},"version":1},"userdoc":{"kind":"user","methods":{"DECAY_NUMERATOR()":{"notice":"EMA decay applied to the previous score on each update (85% old + 15% new). Stored scaled by 1e18: 0.85e18. Per README §5.6 final mechanism design (α = 0.85): slow decay so one bad event drops reputation by ~0.045."},"FEE_SCALE()":{"notice":"Scale on cumulative fees (USDC, 18 decimals) used inside the ln() of the fill-signal computation. Matches spec: ln(1 + fees/100)."},"FILL_SIGNAL_MAX()":{"notice":"Upper clamp for the fill-signal multiplier (2.0e18 == 2.0)."},"FILL_SIGNAL_MIN()":{"notice":"Lower clamp for the fill-signal multiplier (0.5e18 == 0.5)."},"HALF()":{"notice":"Fixed-point HALF (0.5e18). Used as the **initial reputation** for a fresh agent so the first `_recompute` does not subtract from a maxed-out prior. Rationale (W14-C, α correction): the formula caps the per-event signal at `winRate * qualityRate * fillSignal` which is bounded above by ~`1.0 * 1.0 * 2.0 = 2.0` but in the realistic mid-range sits around 0.5 — so seeding the prior at 1.0 meant every first update strictly decreased the score. Seeding at 0.5 matches the achievable steady-state mid-range."},"ONE()":{"notice":"Fixed-point ONE; score units are 1e18 == 1.0."},"SIGNAL_NUMERATOR()":{"notice":"Weight on the freshly computed signal in the EMA (0.15e18)."},"USDC_TO_1E18()":{"notice":"USDC has 6 decimals; the registry's fixed-point math uses 1e18. `_fillSignal` is called from `BuilderFeeRouter.updateOnFee` which passes `fillAmount` in 6-decimal USDC base units. We rescale by 1e12 (1e18 / 1e6) so the ln() input is in the right magnitude (W14-C β-fix). Without this rescale the ln() argument was off by 12 orders of magnitude and `fillSignal` was permanently clamped to `FILL_SIGNAL_MIN` for any realistic fee."},"authorized(address)":{"notice":"Authorized callers permitted to push state updates."},"getReputation(address)":{"notice":"Returns the agent's reputation score in 1e18 units."},"owner()":{"notice":"Owner deploys the contract and is the only address that can set authorized callers (BuilderFeeRouter, TranslationAuction, operator EOA)."},"slashReputation(address,uint256,string)":{"notice":"Hard-subtract reputation. Floors at zero. Any address in the `authorized` map (set by the owner) may slash — typically that is JudgePanel (quality verdict), TranslationAuction (malformed submission inside the 72h window), and BuilderFeeRouter (post- fill review). Owner can also slash directly."},"updateOnAuction(address,bool)":{"notice":"Called by the auction contract after every settle (for the winner and for each losing bidder). Bumps bid/win counts then recomputes the EMA score."}},"version":1}},"settings":{"remappings":["@openzeppelin/=lib/openzeppelin-contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":false,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/ReputationRegistry.sol":"ReputationRegistry"},"evmVersion":"osaka","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0x59973a93b1f983f94e10529f46ca46544a9fec2b5f56fb1390bbe9e0dc79f857","urls":["bzz-raw://c55ef8f0b9719790c2ae6f81d80a59ffb89f2f0abe6bc065585bd79edce058c5","dweb:/ipfs/QmNNmCbX9NjPXKqHJN8R1WC2rNeZSQrPZLd6FF6AKLyH5Y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0xc8cae21c9ae4a46e5162ff9bf5b351d6fa6a6eba72d515f3bc1bdfeda7fdf083","urls":["bzz-raw://ce830ebcf28e31643caba318996db3763c36d52cd0f23798ba83c135355d45e9","dweb:/ipfs/QmdGPcvptHN7UBCbUYBbRX3hiRVRFLRwno8b4uga6uFNif"],"license":"MIT"},"src/ReputationRegistry.sol":{"keccak256":"0x9c21f0fdd068e9b83d7253190225010d2af5eed6e63593cd26ee2039531e30aa","urls":["bzz-raw://8806724d523879ca1894d68ac6ef35691944009b55fefbbebc0219b2d9c942f8","dweb:/ipfs/QmSSbDyxpqHh5YGxZTobQLNLdNpBZaF6jx7ExCVbmZv92L"],"license":"MIT"}},"version":1},"id":27}