{
  "contractName": "EndOfMonthConventions",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "enum EndOfMonthConvention",
          "name": "eomc",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "startTime",
          "type": "uint256"
        },
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "i",
              "type": "uint256"
            },
            {
              "internalType": "enum P",
              "name": "p",
              "type": "uint8"
            },
            {
              "internalType": "enum S",
              "name": "s",
              "type": "uint8"
            },
            {
              "internalType": "bool",
              "name": "isSet",
              "type": "bool"
            }
          ],
          "internalType": "struct IPS",
          "name": "cycle",
          "type": "tuple"
        }
      ],
      "name": "adjustEndOfMonthConvention",
      "outputs": [
        {
          "internalType": "enum EndOfMonthConvention",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610424806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063179331f314610030575b600080fd5b61004361003e3660046102b5565b610059565b604051610050919061035f565b60405180910390f35b6000600184600181111561006957fe5b14156100e55761007883610129565b61008184610153565b1480156100d0575060028260200151600581111561009b57fe5b14806100b657506003826020015160058111156100b457fe5b145b806100d057506004826020015160058111156100ce57fe5b145b156100dd57506001610122565b506000610122565b60008460018111156100f357fe5b141561010157506000610122565b60405162461bcd60e51b815260040161011990610373565b60405180910390fd5b9392505050565b6000808061013c62015180855b04610162565b509150915061014b82826101f8565b949350505050565b600061014b6201518083610136565b60008080836226496581018262023ab1600483020590506004600362023ab18302010590910390600062164b09610fa0600185010205905060046105b58202058303601f019250600061098f84605002816101b957fe5b0590506000605061098f83020585039050600b820560301994909401606402929092018301996002600c90940290910392909201975095509350505050565b600081600114806102095750816003145b806102145750816005145b8061021f5750816007145b8061022a5750816008145b80610235575081600a145b80610240575081600c145b1561024d5750601f61027a565b8160021461025d5750601e61027a565b61026683610280565b61027157601c610274565b601d5b60ff1690505b92915050565b60006004820615801561029557506064820615155b8061027a57505061019090061590565b8035801515811461027a57600080fd5b600080600083850360c08112156102ca578384fd5b84356102d5816103de565b9350602085013592506080603f19820112156102ef578182fd5b506040516080810181811067ffffffffffffffff8211171561030f578283fd5b6040908152850135815260608501356006811061032a578283fd5b6020820152608085013561033d816103de565b604082015261034f8660a087016102a5565b6060820152809150509250925092565b602081016002831061036d57fe5b91905290565b60208082526045908201527f456e644f664d6f6e7468436f6e76656e74696f6e2e61646a757374456e644f6660408201527f4d6f6e7468436f6e76656e74696f6e3a204154545249425554455f4e4f545f4660608201526427aaa7221760d91b608082015260a00190565b600281106103eb57600080fd5b5056fea264697066735822122007ca68be66a5acb7dde4c13466993afd1fb43f0fe02503f12fc1fcd4fbbafac164736f6c634300060b0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063179331f314610030575b600080fd5b61004361003e3660046102b5565b610059565b604051610050919061035f565b60405180910390f35b6000600184600181111561006957fe5b14156100e55761007883610129565b61008184610153565b1480156100d0575060028260200151600581111561009b57fe5b14806100b657506003826020015160058111156100b457fe5b145b806100d057506004826020015160058111156100ce57fe5b145b156100dd57506001610122565b506000610122565b60008460018111156100f357fe5b141561010157506000610122565b60405162461bcd60e51b815260040161011990610373565b60405180910390fd5b9392505050565b6000808061013c62015180855b04610162565b509150915061014b82826101f8565b949350505050565b600061014b6201518083610136565b60008080836226496581018262023ab1600483020590506004600362023ab18302010590910390600062164b09610fa0600185010205905060046105b58202058303601f019250600061098f84605002816101b957fe5b0590506000605061098f83020585039050600b820560301994909401606402929092018301996002600c90940290910392909201975095509350505050565b600081600114806102095750816003145b806102145750816005145b8061021f5750816007145b8061022a5750816008145b80610235575081600a145b80610240575081600c145b1561024d5750601f61027a565b8160021461025d5750601e61027a565b61026683610280565b61027157601c610274565b601d5b60ff1690505b92915050565b60006004820615801561029557506064820615155b8061027a57505061019090061590565b8035801515811461027a57600080fd5b600080600083850360c08112156102ca578384fd5b84356102d5816103de565b9350602085013592506080603f19820112156102ef578182fd5b506040516080810181811067ffffffffffffffff8211171561030f578283fd5b6040908152850135815260608501356006811061032a578283fd5b6020820152608085013561033d816103de565b604082015261034f8660a087016102a5565b6060820152809150509250925092565b602081016002831061036d57fe5b91905290565b60208082526045908201527f456e644f664d6f6e7468436f6e76656e74696f6e2e61646a757374456e644f6660408201527f4d6f6e7468436f6e76656e74696f6e3a204154545249425554455f4e4f545f4660608201526427aaa7221760d91b608082015260a00190565b600281106103eb57600080fd5b5056fea264697066735822122007ca68be66a5acb7dde4c13466993afd1fb43f0fe02503f12fc1fcd4fbbafac164736f6c634300060b0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
