diff --git a/games-fps/quakespasm/additional-files/QuakeSpasm.rdef.in b/games-fps/quakespasm/additional-files/QuakeSpasm.rdef.in new file mode 100644 index 000000000..0812e5867 --- /dev/null +++ b/games-fps/quakespasm/additional-files/QuakeSpasm.rdef.in @@ -0,0 +1,649 @@ +resource app_signature "@APP_SIGNATURE@"; + +resource app_flags B_SINGLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + variety = B_APPV_DEVELOPMENT, + internal = 0, + short_info = "QuakeSpasm", + long_info = "@LONG_INFO@" +}; + +resource vector_icon { + $"6E6369660B0400A70580050003FFB380020006023475423B6C12BB6C12347542" + $"48B4A64A00E500BD4E0EFFFFC5810200060234A9F63A2FD8BA2FD834A9F64952" + $"C34ACD2000BD4E0EFFFFC5810200060234EAEA386941B8694134EAEA49B88C4B" + $"91B900BD4E0EFFFFC58102000602BC9C93BB97E13B97E1BC9C934B432A486ADD" + $"00BD4E0EFFFFC58102000602397A11000000000000397A114910F04A6F6300BD" + $"4E0EFFFFC58102000602384502385133B8513338450246199949E8F200BD4E0E" + $"FFFFC58102000602375AB42B4B47AB4B47375AB449C37A4AD52F00BD4E0EFFFF" + $"C581480204BEEDC9A0BEEDC9A0BEEDC9A1BEEDC9A1BEEDC9A1BED859BEAEC9E1" + $"BEC3C9CBBEC3C9CBBEEDC9A0BED859BEEDC9A00205C46EC880C46EC880C46DC8" + $"80C46CC880C46DC880C449C88BC403C8A2C426C896C407C8A0C40FC89EC40BC8" + $"9FC42FC894C46EC880C44EC88AC46EC8800206C10EC7E0C10EC7E0C12DC7E2C1" + $"6BC7E6C14CC7E4C18CC7E9C1CEC7EDC1ADC7EBC1AFC7EBC170C7E7C190C7E9C1" + $"51C7E5C113C7E1C132C7E3C111C7E1C10EC7E0C10FC7E0C10EC7E00207C107C7" + $"83C107C783C0B9C78FC01DC7A8C06BC79CC01FC7A9C023C7ACC021C7AAC024C7" + $"ADC027C7AF41C7AEC020C7ADC012C7A9C019C7ABC057C79FC0E2C789C09DC794" + $"C0EFC787C107C783C0FBC785C107C7830204C3BDC7A9C3BDC7A9C3A4C7B1C372" + $"C7C1C38BC7B9C372C7C1C372C7C1C372C7C1C38BC7B9C3BDC7A9C3A4C7B1C3BD" + $"C7A90206BEBBC706BEBBC706BEC4C70CBED6C718BECDC712BEE2C720BEFBC730" + $"BEEFC728BEFAC730BEF7C72EBEF9C72FBEECC727BED5C719BEE0C720BECDC713" + $"BEBBC706BEC4C70CBEBBC7060205BE46C6A7BE46C6A7BE51C6B0BE66C6C3BE5C" + $"C6BABE6DC6C9BE7BC6D5BE74C6CFBE71C6CEBE5EC6BFBE67C6C6BE56C6B7BE46" + $"C6A7BE4EC6AFBE46C6A70205BF76C69EBF76C69EBF57C6D5BF19C742BF38C70C" + $"BF19C742BF18C742BF18C742BF19C742BF19C742BF19C742BF38C70BBF76C69E" + $"BF57C6D5BF76C69E0205BDE9C643BDE9C643BDF5C651BE0DC66BBE01C65EBE10" + $"C66EBE16C675BE13C672BE0AC668BDF1C64FBDFDC65CBDEFC64BBDE9C643BDEC" + $"C647BDE9C6430206C178C639C178C639C184C63DC19BC643C18FC640C1A7C646" + $"45C64CC1B2C64945C64C45C64C45C64CC1B2C649C19BC643C1A6C646C18FC640" + $"C178C639C183C63DC178C6390209C298C61CC298C61CC256C625C1D1C637C214" + $"C62EC1CEC63BC1C7C642C1CBC63EC1C5C644C1C1C649C1C3C647C1C3C646C1C6" + $"C641C1C4C644C1C8C63DC1CDC635C1CAC639C1CEC636C1D1C637C1D0C636C209" + $"C62FC27A50C241C628C284C61EC298C61CC28EC61DC298C61C0204BD80C5A5BD" + $"80C5A5BD8BC5B6BDA1C5D7BD96C5C6BD96C5C7BD81C5A7BD8BC5B7BD81C5A6BD" + $"80C5A5BD80C5A6BD80C5A50208BF81C54EBF81C54EBF75C54FBF5DC552BF69C5" + $"51BFC4C578C093C5C3C02BC59DC02EC59EBF65C556BFCAC57ABF64C555BF60C5" + $"55BF62C555BF5FC555BF5CC555BF5DC555BF5C4EBF5DC552BF5DC553BF69C551" + $"BF81C54EBF75C54FBF81C54E0206C69BC186C69BC186C69FC189C6A7C190C6A3" + $"C18CC6B7C1A1C6D7C1C4C6C7C1B3C6E6C1D5C705C1F7C6F6C1E6C6F2C1E2C6CA" + $"C1B8C6DEC1CDC6BBC1A8C69BC186C6ABC197C69BC186020BC2E0C013C2E0C013" + $"C2BEC015C27BC018C29DC016C20AC01DC129C027C19AC022C12AC027C12CC027" + $"C12BC027C12DC027C12F41C12E41C130C022C131C01BC130C01FC131C01EC130" + $"C025C131C021C133C025C138C025C135C025C13AC025C14041C13D41C1B2C021" + $"C296C01646C01CC2AFC015C2E0C013C2C7C014C2E0C01302CFC3FABFE4C3FABF" + $"E4C386BFE9C29EBFF4C312BFEEC22ABFF9C142C004C1B6BFFEC140C004C13AC0" + $"06C13DC005C139C007C135C008C137C007C135C007C136C004C135C005C11EC0" + $"08C0EFC010C107C00CC0D8C014C0A9C01CC0C0C01842C024C053C034C070C02C" + $"C037C03BBFFEC04BC01BC043BFE6C054BFB7C065BFCEC05DBF9FC06EBF6FC080" + $"BF87C0773FC089BF32C09CBF46C093BF1DC0A6BEF5C0B9BF09C0AFBEDDC0C6BE" + $"AFC0E2BEC6C0D4BE97C0EFBE68C10BBE80C0FDBE58C116BE38C12DBE48C1213C" + $"C138BE07C14FBE17C144BDF4C15FBDCFC180BDE2C170BDBCC190BD97C1B1BDA9" + $"C1A1BD86C1C2BD64C1E5BD75C1D4BD53C1F6BD32C219BD42C208BD15C249BCDB" + $"C2A8BCF8C279BCBFC2D8BC85C338BCA2C308BC7FC34DBC73C376BC79C362BC6D" + $"C38BBC61C3B4BC67C3A0BC5DC3C7BC56C3EBBC59C3D9BC52C3FDBC4B4BBC4FC4" + $"10BC4AC43CBC48C472BC49C457BC47C48CBC45C4C1BC46C4A7BC48C4D7BC4EC5" + $"01BC4BC4ECBC51C517BC57C542BC54C52CBC5AC551BC62C56FBC5EC560BC65C5" + $"7EBC6DC59BBC69C58DBC74C5AFBC82C5D5BC7BC5C2BC89C5E8BC98C60EBC91C5" + $"FBBCA1C61FBCB3C641BCAAC630BCBCC652BCCEC674BCC5C663BCDBC68739C6AD" + $"BCE8C69ABD03C6C1BD1EC6E7BD10C6D4BD2DC6F8BD4BC719BD3CC708BD59C72A" + $"BD77C74BBD68C73ABD90C75FBDC1C789BDA8C774BDD9C79DBE0AC7C7BDF1C7B2" + $"BE22C7D6BE53C7F4BE3BC7E5BE6BC804BE9CC822BE84C813BE82C851BE4DC8AE" + $"BE67C87FBE32C8DCBDFDC939BE18C90BBDE5C98CBDB4CA32BDCCC9DFBD9CCA85" + $"BD6BCB2ABD83CAD7BD6DCB29BD70CB26BD6ECB27BD72CB24BD75CB22BD73CB23" + $"BD76CB21BD78CB1FBD77CB20BD77CB20BD76CB22BD76CB21BD74CB25BD72CB29" + $"BD73CB27BDDCCB14BEAFCAEABE46CAFFBF19CAD4BFEDCAAABF83CABFC02FCA6B" + $"C0B3C9EDC071CA2CC0F5C9AEC179C930C137C96FC17FC925C18CC910C186C91B" + $"C193C905C1A0C8EFC199C8FAC186C8EDC153C8E9C16DC8EBC14FC8E9C146C8E8" + $"C14AC8E9C15757C17AC8ECC169C8EBC19EC8EEC1E5C8F3C1C2C8F0C1F9C8F2C2" + $"21C8F1C20DC8F1C235C8F0C25CC8EFC249C8F0C278C8ECC2AFC8E7C29357C2CA" + $"C8E4C301C8DFC2E5C8E1C31EC8D9C358C8CDC33BC8D3C375C8C8C3AFC8BCC392" + $"C8C2C3A8C8BEC39AC8C3C3A1C8C1C3ACC8BFC3D2C8B8C3BFC8BCC3E4C8B5C40A" + $"C8AEC3F7C8B1C465C89DC51AC87CC4BFC88DC575C86BC62BC84AC5D0C85BC642" + $"C844C672C838C65AC83EC68AC832C6B9C826C6A2C82CC6D6C81CC710C808C6F3" + $"C812C72DC7FEC767C7EAC74AC7F4C783C7DDC7BAC7C3C79FC7D0C7D6C7B5C80E" + $"C79BC7F2C7A8C822C78FC84AC778C836C783C85EC76CC886C754C872C760C89D" + $"C743C8CBC721C8B4C732C8E2C710C910C6EEC8F9C6FFC925C6DBC94FC6B4C93A" + $"C6C7C964C6A0C98EC679C979C68CC99DC668C9BBC647C9ACC658C9C9C637C9E7" + $"C616C9D8C626C9FEC5EFCA2BC5A3CA14C5C9CA42C57DCA6FC531CA58C557CA76" + $"C51ACA85C4EDCA7EC504CA8CC4D7CA9BC4AACA94C4C0CA9EC495CAA5C46BCAA1" + $"C480CAA8C456CAAFC42CCAABC441CAAFC416CAB0C3EACAAFC400CAB0C3D4CAB1" + $"C3A7CAB0C3BECAACC38DCAA3C359CAA8C373CA9EC33FCA95C30BCA99C325CA8C" + $"C2F5CA7CC2C8CA84C2DECA73C2B2CA63C285CA6BC29CCA56C270CA3DC244CA4A" + $"C25ACA30C22FCA17C203CA24C219CA08C1F1C9EBC1CDC9FAC1DFC9DCC1BBC9BF" + $"C197C9CDC1A9C9A9C183C97FC15AC994C16EC96AC146C93FC11DC954C132C933" + $"C116C91CC107C928C10FC910C100C8F9C0F1C905C0F9C885C0F9C79EC108C812" + $"C100C72AC10FC643C11EC6B7C117C63DC11FC632C120C638C11FC62CC120C621" + $"C121C627C121C628C127C637C133C630C12DC630C12EC624C124C62AC12950C1" + $"2AC618C137C61CC131C615C13DC60DC14AC611C143C61EC15AC63FC17BC62EC1" + $"6BC650C18CC671C1ADC660C19DC67E45C697C1DFC68AC1CEC6A4C1EFC6BDC210" + $"C6B0C200C6C7C222C6DCC247C6D1C234C6E6C259C6FBC27DC6F1C26BC704C295" + $"C715C2C4C70CC2ACC71DC2DBC72FC30AC726C2F3C732C320C73AC34BC736C335" + $"C73EC360C746C38BC742C375C746C3A0C746C3CAC746C3B5C746C3E0C746C40A" + $"C746C3F5C742C41FC73CC449C73FC434C739C45EC7324CC735C473C72CC49DC7" + $"1EC4C9C725C4B3C718C4DEC70BC50AC711C4F4C6F4C530C6C6C57CC6DDC556C6" + $"B0C5A2C682C5EEC699C5C8C674C5FDC658C61BC666C60CC64BC629C62FC647C6" + $"3DC63850C655C602C670C611C662C5F3C67EC5D5C699C5E4C68CC5C0C6A9C596" + $"C6C7C5ABC6B8C582C6D6C558C6F5C56DC6E6C54AC6FDC52EC70EC53CC705C51F" + $"C716C503C727C511C71EC4E7C734C4B0C74EC4CCC741C494C75BC45DC776C479" + $"C768C456C778C446C77DC44EC77BC424C77AC3DEC773C401C776C3BBC770C375" + $"C769C398C76CC365C766C345C75FC355C763C335C75CC315C756C325C759C305" + $"53C2E7C74BC2F6C74EC2D7C747C2B8C73FC2C8C743C28DC746C237C754C262C7" + $"4DC262C74DC2BAC73FC28EC746C2C5C72DC2DAC709C2CFC71BC2E5C6F7C2FAC6" + $"D448C6E5C310C6B3C33DC671C327C692C353C651C37FC60FC369C630C3A8C60A" + $"C3FBC5FFC3D1C604C424C5F9C477C5EEC44DC5F3C479C5EAC47EC5E3C47BC5E6" + $"C480C5DFC485C5D7C482C5DBC481C5D8C479C5D9C47DC5D8C479C5D8C47AC5D6" + $"C47AC5D7C47BC5D5C47CC5D3C47BC5D4C419C5B2C354C570C3B7C591C2F1C54F" + $"C22CC50DC28FC52EC226C50BC219C507C21FC509C212C505C205C500C20BC503" + $"C194C50EC0B1C529C122C51CC07BC530C00FC53DC045C536C00FC53CC00EC53A" + $"C00FC53BC00EC539C00DC537C00EC538C004C520BFF3C4F3BFFBC509BFEAC4DC" + $"BFD8C4AFBFE1C4C6BFD4C49DBFCBC47ABFD0C48BBFC7C468BFBFC444BFC3C456" + $"BFBEC432BFBAC40CBFBCC41FBFB9C3F9BFB5C3D3BFB7C3E6BFB8C3B9BFBEC385" + $"BFBBC39F40C36BBFC6C336BFC3C350BFCCC322BFD8C2FBBFD2C30FBFDEC2E7BF" + $"EBC2BFBFE5C2D3BFFDC2A0C023C262C010C281C035C243C05BC205C04846C06C" + $"C1F2C08FC1CCC07EC1DFC0A0C1B9C0C3C192C0B2C1A5C0D3C185C0F1C16AC0E2" + $"C178C100C15DC11EC143C10FC150C12FC136C151C11EC140C12AC162C111C184" + $"C0F9C173C105C19AC0ECC1C7C0D2C1B1C0DFC1DDC0C5C20AC0AAC1F4C0B8C21F" + $"C0A1C249C08DC234C097C25EC083C289C06FC273C079C2A9C064C2EBC04DC2CA" + $"C058C30CC042C34EC02BC32DC036C366C025C398C01AC37FC020C3B1C014C3E3" + $"C009C3CAC00FC3E0C009C3DAC008C3DDC009C3D8C008C3D3C008C3D6C008C3DC" + $"C008C3EDC007C3E4C007C3F0C001C3F7BFF6C3F4BFFBC3FBBFF0C402BFE4C3FE" + $"BFEAC400BFE4C3FEBFE4C3FFBFE4C3FCBFE4C3FABFE4C3FBBFE4C3FABFE40204" + $"BC33C856BC33C856BC33C857BC33C857BC33C857BC2BC885BC1AC8E1BC22C8B3" + $"BC22C8B3BC33C856BC2B56BC33C8560205C121C551C121C551C121C551C120C5" + $"52C120C552C103C56DC0C9C5A4C0E6C589C0CCC5A1C0D3C59BC0CFC59EC0EDC5" + $"82C121C551C107C569C121C5510206BD4CC47CBD4CC47CBD6DC47DBDB0C47DBD" + $"8EC47DBDD2C47EBE18C47EBDF5C47EBDF7C47EBDB5C47EBDD6C47EBD94C47EBD" + $"52C47EBD73C47EBD50C47DBD4CC47CBD4EC47DBD4CC47C0207BD0CC3C0BD0CC3" + $"C0BCC4C3E3BC34C429BC7CC406BC36C42CBC3CC431BC39C42EBC3EC432BC42C4" + $"36BC40C434BC3AC433BC29C42EBC31C431BC69C40FBCEAC3D1BCAAC3F0BCF5C3" + $"CBBD0CC3C0BD01C3C6BD0CC3C00204BFE8C3B2BFE8C3B2BFD4C3C5BFAAC3ECBF" + $"BFC3D9BFAAC3EDBFAAC3EDBFAAC3EDBFBFC3D9BFE8C3B2BFD4C3C5BFE8C3B202" + $"06BA67C30EBA67C30EBA73C319BA8DC32EBA80C323BA9EC33DBAC2C35CBAB0C3" + $"4DBAC0C35ABABCC357BABEC359BAACC34BBA8DC332BA9DC33EBA80C326BA67C3" + $"0EBA73C31ABA67C30E0205B9B4C25BB9B4C25BB9C5C26DB9E6C290B9D6C27EB9" + $"F1C29CBA07C2B2B9FCC2A7B9F8C2A5B9DBC289B9EAC297B9CEC27AB9B4C25BB9" + $"C1C26AB9B4C25B0205BAE6C222BAE6C222BAE8C295BAECC37CBAEAC309BAEBC3" + $"7CBAEAC37BBAEBC37CBAEBC37BBAEBC37BBAEBC37BBAEAC308BAE6C222BAE8C2" + $"95BAE6C2220205B919C19DB919C19DB92DC1B6B955C1E8B941C1CFB95AC1EFB9" + $"64C1FBB95FC1F5B950C1E3B928C1B3B93CC1CBB923C1ACB919C19DB91EC1A4B9" + $"19C19D0206BCB4C111BCB4C111BCC3C116BCDFC120BCD1C11BBCECC125BD08C1" + $"2FBCFAC12ABD08C12FBD08C12FBD08C12FBCFAC12ABCDEC120BCECC125BCD0C1" + $"1BBCB4C111BCC2C116BCB4C1110209BDC9C0AEBDC9C0AEBD8BC0CABD0FC101BD" + $"4DC0E5BD0DC109BD0BC118BD0CC110BD0AC11DBD09C127BD0AC122BD09C121BD" + $"09C116BD09C11CBD09C10EBD09C0FEBD09C106BD0BC0FEBD0FC100BD0DC0FFBD" + $"43C0E9BDACC0BBBD78C0D2BDB6C0B7BDC9C0AEBDBFC0B3BDC9C0AE0204B84BC0" + $"67B84BC067B861C088B88BC0C8B876C0A8B877C0A9B84EC06CB862C08AB84DC0" + $"6AB84BC067B84CC069B84BC0670208BA22BF73BA22BF73BA17BF77BA00BF80BA" + $"0BBF7CBA81BFBFBB82C03DBB01BFFEBB05C000BA0BBF86BA88BFC3BA09BF86BA" + $"05BF86BA07BF86BA04BF86BA00BF86BA02BF86BA00BF84BA00BF80BA00BF82BA" + $"0BBF7BBA22BF73BA16BF77BA22BF730206BF11B6CFBF11B6CFBF17B6D5BF23B6" + $"E1BF1DB6DBBF3EB703BF74B746BF59B725BF8EB767BFC3B7A7BFA9B787BFA2B7" + $"7FBF60B730BF81B757BF46B70FBF11B6CFBF2BB6EFBF11B6CF020BBA5DB458BA" + $"5DB458BA3BB45FB9F9B46EBA1AB467B989B488B8A9B4BBB919B4A1B8AAB4BAB8" + $"ABB4B9B8ABB4BAB8ACB4B9B8AEB4B7B8ADB4B8B8ADB4B0B8AAB4A0B8ABB4A8B8" + $"ABB4A7B8AFB4B4B8ADB4ADB8B1B4B4B8B7B4B4B8B4B4B4B8BAB4B4B8BFB4B4B8" + $"BCB4B4B931B49BBA14B468B9A2B48232B463BA5DB458BA44B45DBA5DB45802CF" + $"BB60B3D3BB60B3D3BAEDB3EDBA06B420BA79B406B993B43AB8ADB46EB920B454" + $"B8AAB470B8A6B474B8A8B472B8A5B476B8A2B479B8A3B477B8A1B476B8A0B470" + $"B8A1B473B88BB47CB860B493B875B487B84AB49EB81FB4B5B835B4AAB807B4C9" + $"B7D6B4F0B7EFB4DCB7BEB503B78EB52AB7A6B517B77BB53FB755B569B768B554" + $"B742B57FB71CB5A9B72FB594B70DB5BFB6EFB5EBB6FEB5D5B6E0B601B6C2B62D" + $"B6D1B617B6B2B64CB693B68AB6A3B66BB684B6A9B665B6E6B674B6C7B65BB700" + $"B648B732B652B719B63EB74CB62BB77EB635B765B622B7A2B610B7EAB619B7C6" + $"B607B80DB5F5B855B5FEB831B5EEB87AB5E1B8C5B5E7B8A0B5DAB8EBB5CDB936" + $"B5D4B910B5CDB99BB5CDBA66B5CDBA01B5CEBACBB5CEBB96B5CEBB31B5D4BBC1" + $"B5E1BC17B5DBBBECB5E8BC42B5F5BC98B5EEBC6DB5FCBCBEB60BBD09B604BCE4" + $"B613BD2FB622BD7AB61ABD55B631BDB1B650BE1DB640BDE7B65FBE54B67DBEC0" + $"B66EBE8AB68EBEEBB6AEBF42B69EBF17B6BEBF6DB6DFBFC4B6CEBF98B6EBBFE2" + $"B705C01EB6F8C000B712C03CB72CC078B71FC05AB73FC09EB766C0EAB752C0C4" + $"B779C110B79FC15CB78CC136B7B3C17EB7DAC1C0B7C6C19FB7EDC1E1B81446B8" + $"01C2032DC249B861C294B847C26FB87AC2BAB8ADC3052EC2DFB8C6C325B8F9C3" + $"65B8E0C345B913C385B946C3C4B92CC3A4B96BC3EBB9B7C439B991C412B9DCC4" + $"60BA27C4AEBA02C487BA4AC4C9BA8EC501BA6CC4E5BAB1C51DBAF6C555BAD3C5" + $"39BAF7C5B7BAFAC67C34C61ABAFBC6DFBAFEC7A3BAFDC741BB18C84FBB4CC9A7" + $"BB32C8FBBB66CA53BB9ACBABBB80CAFFBB9BCBA8BB9DCBA2BB9CCBA5BB9ECB9F" + $"BB9FCB99BB9FCB9CBBA0CB97BBA1CB92BBA0CB94BBA1CB95BBA1CB9ABBA1CB97" + $"BBA1CB9FBBA1CBA8BBA1CBA4BC00CB6FBCBECAFDBC5FCB36BD1ECAC4BDDCCA52" + $"BD7DCA8BBDF9C9C9BE32C8B7BE15C940BE4FC82EBE88C71CBE6BC7A5BE88C705" + $"BE88C6D7BE88C6EEBE88C6C0BE88C692BE88C6A9BE6DC692BE36C691BE51C691" + $"BE31C6903CC690BE2DC690BE3AC690BE5FC690BE4DC690BE85C690BED1C690BE" + $"ABC690BEE5C68CBF0DC685BEF9C688BF21C681BF48C679BF35C67DBF63C670BF" + $"97C65EBF7DC667BFB2C655BFE6C642BFCCC64CC000C633C035C613C01BC623C0" + $"4FC604C083C5E5C069C5F5C07DC5EBC072C5F6C077C5F0C082C5ECC0A4C5D9C0" + $"93C5E2C0B5C5CFC0D7C5BCC0C6C5C5C12AC58EC1CFC533C17CC560C221C505C2" + $"C6C4A9C274C4D7C2DBC49AC304C47B48C48BC319C46CC342C44DC32EC45CC35A" + $"C435C389C405C371C41DC3A0C3EDC3CFC3BDC3B8C3D5C3E3C39EC40CC361C3F7" + $"C37FC420C342C448C305C434C324C456C2EAC470C2B5C463C2D0C47DC29BC498" + $"C266C48BC280C4A5C240C4BFC1F5C4B2C21AC4CCC1CFC4E7C183C4DAC1A9C4F0" + $"C159C503C103C4FAC12EC50CC0D9C51FC083C516C0AEC524C05FC52EC018C529" + $"C03CC533BFF5C53DBFADC538BFD1C53CBF5CC53CBEBBC53CBF0CC53CBE6AC53B" + $"BDC9C53CBE1AC535BD9AC528BD3CC52EBD6BC522BD0DC515BCB0C51BBCDEC50B" + $"BC84C4F8BC2EC502BC59C4EFBC03C4DCBBADC4E5BBD8C4CFBB7FC4B4BB25C4C1" + $"BB52C4A734C48DBA9EC49ABACBC478BA6AC44EBA01C463BA35C439B9CCC410B9" + $"63C425B998C3FAB937C3CDB8DEC3E3B90AC3B7B8B2C38BB859C3A1B885C370B8" + $"2FC33CB7DA49B804C322B7AFC2EDB75AC308B784C2D3B737C29FB6F1C2B9B714" + $"C285B6CEC250B688C26AB6ABC22EB662C1EAB615C20CB63BC1C8B5EEC183B5A1" + $"C1A6B5C8C173B594C152B579C162B586C141B56BC121B550C131B55EC0AFB56F" + $"BFCCB5ACC03DB58D3F27BE77B607BEE8B5E8BE71B609BE67B60CBE6CB60ABE61" + $"B60EBE56B612BE5CB610BE61B61DBE77B633BE6CB628BE6EB62ABE5BB617BE64" + $"B621BE5BB624BE5BB63FBE5BB632BE5BB64CBE5BB667BE5BB659BE76B686BEAC" + $"B6C6BE91B6A6BEC8B6E5BEFEB725BEE3B705BF15B745BF43B784BF2CB7653FB7" + $"A4BF88B7E4BF71B7C4BF9EB808BFC9B84FBFB4B82BBFDFB873C00BB8BABFF5B8" + $"96C022B8E9C050B947C039B918C068B976C096B9D4C07FB9A5C0A7B9FFC0CABA" + $"55C0B8BA2AC0DBBA80C0FDBAD7C0ECBAABC10ABB02C124BB58C117BB2DC131BB" + $"83C14BBBDAC13EBBAEC154BC05C168BC5BC15EBC30C171BC86C184BCDDC17BBC" + $"B1C18BBD0AC198BD64C191BD37C19FBD91C1ACBDEBC1A5BDBEC1ACBE3BC1ACBE" + $"DDC1ACBE8CC1ACBF2EC1ADBFCFC1ADBF7EC1A8BFEFC19EC02FC1A3C00FC198C0" + $"4FC18EC08EC193C06EC187C0ACC17AC0E8C180C0CAC173C107C165C143C16CC1" + $"25C159C164C141C1A8C14DC186C135C1CAC11EC20DC129C1EBC114C220C101C2" + $"46C10BC233C0F8C258C0E5C27EC0EFC26BC0D1C29CC0A9C2D9C0BDC2BBC095C2" + $"F8C06DC335C081C316C066C33BC05AC347C060C341C034C344BFE9C340C00EC3" + $"42BFC3C33DBF77C339BF9DC33BBF65C334BF40C32CBF53C330BF2EC328BF09C3" + $"1FBF1CC323BEF7C319BED3C30EBEE5C314BEC1C308BE9DC2FDBEAFC303BE75C3" + $"11BE25C337BE4DC324BE4EC324BE9EC2FCBE76C310BE9EC2D6BE9E47BE9EC2B0" + $"BE9EC264BE9EC218BE9EC23EBEA1C1D3BEA6C148BEA3C18DBEA8C102BEADC077" + $"BEABC0BDBED4C067BF21C045BEFBC056BF48C034BF96C013BF6FC023BF96C00B" + $"BF96BFFBBF96C003BF96BFF3BF96BFE2BF96BFEABF92BFE4BF8BBFE7BF8FBFE6" + $"BF8BBFE5BF8ABFE1BF8BBFE3BF8ABFDFBF8ABFDABF8ABFDCBF11BFA4BE1FBF38" + $"BE98BF6EBDA6BF01BCB4BE95BD2DBECBBCACBE92BC9CBE8BBCA43DBC94BE87BC" + $"84BE80BC8CBE84BC19BEABBB42BF00BBAEBED6BB0FBF15BAA9BF3DBADCBF29BA" + $"A8BF3BBAA6BF38BAA7BF3ABAA5BF36BAA3BF31BAA4BF33BA8CBF04BA5EBEAABA" + $"75BED7BA47BE7DBA19BE23BA30BE50BA0ABDFFB9ECBDB8B9FBBDDCB9DDBD94B9" + $"BFBD4DB9CEBD71B9B1BD27B997BCDAB9A4BD01B989BCB4B96FBC68B97CBC8EB9" + $"62BC32B947BBC6B954BBFCB93ABB91B91FBB25B92DBB5BB919BAFCB90EBAAAB9" + $"13BAD3B908BA80B8FCBA2EB902BA57B8FCB9ECB8FCB969B8FCB9AAB8FCB927B8" + $"FCB8A4B8FCB8E5B902B87AB90EB828B908B851B914B7FEB920B7ACB91AB7D5B9" + $"28B78FB936B755B92FB772B93EB738B94CB6FDB945B71AB956B6E2B969B6AC30" + $"B6C7B973B691B987B65AB97DB675B995B63CB9B3B601B9A4B61FB9C2B5E4B9DF" + $"B5A8B9D1B5C6B9EFB591BA0E26B9FEB57BBA1DB54DBA3CB51FBA2DB536BA57B5" + $"03BA8CB4CCBA71B4E8BAA6B4B1BADCB47ABAC1B495BAF2B46BBB1EB44EBB08B4" + $"5CBB34B43FBB60B421BB4AB430BB5CB421BB56B421BB59B421BB54B421BB4FB4" + $"21BB51B421BB57B420BB68B41CBB60B41EBB68B410BB68B3F7BB68B403BB68B3" + $"EBBB68B3D3BB68B3DFBB67B3D3BB64B3D3BB65B3D3BB63B3D3BB60B3D3BB61B3" + $"D3BB60B3D30204BC33C856BC33C856BC33C857BC33C857BC33C857BC2BC885BC" + $"1AC8E1BC22C8B3BC22C8B3BC33C856BC2B56BC33C8560205C121C551C121C551" + $"C121C551C120C552C120C552C103C56DC0C9C5A4C0E6C589C0CCC5A1C0D3C59B" + $"C0CFC59EC0EDC582C121C551C107C569C121C5510206BD4CC47CBD4CC47CBD6D" + $"C47DBDB0C47DBD8EC47DBDD2C47EBE18C47EBDF5C47EBDF7C47EBDB5C47EBDD6" + $"C47EBD94C47EBD52C47EBD73C47EBD50C47DBD4CC47CBD4EC47DBD4CC47C0207" + $"BD0CC3C0BD0CC3C0BCC4C3E3BC34C429BC7CC406BC36C42CBC3CC431BC39C42E" + $"BC3EC432BC42C436BC40C434BC3AC433BC29C42EBC31C431BC69C40FBCEAC3D1" + $"BCAAC3F0BCF5C3CBBD0CC3C0BD01C3C6BD0CC3C00204BFE8C3B2BFE8C3B2BFD4" + $"C3C5BFAAC3ECBFBFC3D9BFAAC3EDBFAAC3EDBFAAC3EDBFBFC3D9BFE8C3B2BFD4" + $"C3C5BFE8C3B20206BA67C30EBA67C30EBA73C319BA8DC32EBA80C323BA9EC33D" + $"BAC2C35CBAB0C34DBAC0C35ABABCC357BABEC359BAACC34BBA8DC332BA9DC33E" + $"BA80C326BA67C30EBA73C31ABA67C30E0205B9B4C25BB9B4C25BB9C5C26DB9E6" + $"C290B9D6C27EB9F1C29CBA07C2B2B9FCC2A7B9F8C2A5B9DBC289B9EAC297B9CE" + $"C27AB9B4C25BB9C1C26AB9B4C25B0205BAE6C222BAE6C222BAE8C295BAECC37C" + $"BAEAC309BAEBC37CBAEAC37BBAEBC37CBAEBC37BBAEBC37BBAEBC37BBAEAC308" + $"BAE6C222BAE8C295BAE6C2220205B919C19DB919C19DB92DC1B6B955C1E8B941" + $"C1CFB95AC1EFB964C1FBB95FC1F5B950C1E3B928C1B3B93CC1CBB923C1ACB919" + $"C19DB91EC1A4B919C19D0206BCB4C111BCB4C111BCC3C116BCDFC120BCD1C11B" + $"BCECC125BD08C12FBCFAC12ABD08C12FBD08C12FBD08C12FBCFAC12ABCDEC120" + $"BCECC125BCD0C11BBCB4C111BCC2C116BCB4C1110209BDC9C0AEBDC9C0AEBD8B" + $"C0CABD0FC101BD4DC0E5BD0DC109BD0BC118BD0CC110BD0AC11DBD09C127BD0A" + $"C122BD09C121BD09C116BD09C11CBD09C10EBD09C0FEBD09C106BD0BC0FEBD0F" + $"C100BD0DC0FFBD43C0E9BDACC0BBBD78C0D2BDB6C0B7BDC9C0AEBDBFC0B3BDC9" + $"C0AE0204B84BC067B84BC067B861C088B88BC0C8B876C0A8B877C0A9B84EC06C" + $"B862C08AB84DC06AB84BC067B84CC069B84BC0670208BA22BF73BA22BF73BA17" + $"BF77BA00BF80BA0BBF7CBA81BFBFBB82C03DBB01BFFEBB05C000BA0BBF86BA88" + $"BFC3BA09BF86BA05BF86BA07BF86BA04BF86BA00BF86BA02BF86BA00BF84BA00" + $"BF80BA00BF82BA0BBF7BBA22BF73BA16BF77BA22BF730206BF11B6CFBF11B6CF" + $"BF17B6D5BF23B6E1BF1DB6DBBF3EB703BF74B746BF59B725BF8EB767BFC3B7A7" + $"BFA9B787BFA2B77FBF60B730BF81B757BF46B70FBF11B6CFBF2BB6EFBF11B6CF" + $"020BBA5DB458BA5DB458BA3BB45FB9F9B46EBA1AB467B989B488B8A9B4BBB919" + $"B4A1B8AAB4BAB8ABB4B9B8ABB4BAB8ACB4B9B8AEB4B7B8ADB4B8B8ADB4B0B8AA" + $"B4A0B8ABB4A8B8ABB4A7B8AFB4B4B8ADB4ADB8B1B4B4B8B7B4B4B8B4B4B4B8BA" + $"B4B4B8BFB4B4B8BCB4B4B931B49BBA14B468B9A2B48232B463BA5DB458BA44B4" + $"5DBA5DB45802CFBB60B3D3BB60B3D3BAEDB3EDBA06B420BA79B406B993B43AB8" + $"ADB46EB920B454B8AAB470B8A6B474B8A8B472B8A5B476B8A2B479B8A3B477B8" + $"A1B476B8A0B470B8A1B473B88BB47CB860B493B875B487B84AB49EB81FB4B5B8" + $"35B4AAB807B4C9B7D6B4F0B7EFB4DCB7BEB503B78EB52AB7A6B517B77BB53FB7" + $"55B569B768B554B742B57FB71CB5A9B72FB594B70DB5BFB6EFB5EBB6FEB5D5B6" + $"E0B601B6C2B62DB6D1B617B6B2B64CB693B68AB6A3B66BB684B6A9B665B6E6B6" + $"74B6C7B65BB700B648B732B652B719B63EB74CB62BB77EB635B765B622B7A2B6" + $"10B7EAB619B7C6B607B80DB5F5B855B5FEB831B5EEB87AB5E1B8C5B5E7B8A0B5" + $"DAB8EBB5CDB936B5D4B910B5CDB99BB5CDBA66B5CDBA01B5CEBACBB5CEBB96B5" + $"CEBB31B5D4BBC1B5E1BC17B5DBBBECB5E8BC42B5F5BC98B5EEBC6DB5FCBCBEB6" + $"0BBD09B604BCE4B613BD2FB622BD7AB61ABD55B631BDB1B650BE1DB640BDE7B6" + $"5FBE54B67DBEC0B66EBE8AB68EBEEBB6AEBF42B69EBF17B6BEBF6DB6DFBFC4B6" + $"CEBF98B6EBBFE2B705C01EB6F8C000B712C03CB72CC078B71FC05AB73FC09EB7" + $"66C0EAB752C0C4B779C110B79FC15CB78CC136B7B3C17EB7DAC1C0B7C6C19FB7" + $"EDC1E1B81446B801C2032DC249B861C294B847C26FB87AC2BAB8ADC3052EC2DF" + $"B8C6C325B8F9C365B8E0C345B913C385B946C3C4B92CC3A4B96BC3EBB9B7C439" + $"B991C412B9DCC460BA27C4AEBA02C487BA4AC4C9BA8EC501BA6CC4E5BAB1C51D" + $"BAF6C555BAD3C539BAF7C5B7BAFAC67C34C61ABAFBC6DFBAFEC7A3BAFDC741BB" + $"18C84FBB4CC9A7BB32C8FBBB66CA53BB9ACBABBB80CAFFBB9BCBA8BB9DCBA2BB" + $"9CCBA5BB9ECB9FBB9FCB99BB9FCB9CBBA0CB97BBA1CB92BBA0CB94BBA1CB95BB" + $"A1CB9ABBA1CB97BBA1CB9FBBA1CBA8BBA1CBA4BC00CB6FBCBECAFDBC5FCB36BD" + $"1ECAC4BDDCCA52BD7DCA8BBDF9C9C9BE32C8B7BE15C940BE4FC82EBE88C71CBE" + $"6BC7A5BE88C705BE88C6D7BE88C6EEBE88C6C0BE88C692BE88C6A9BE6DC692BE" + $"36C691BE51C691BE31C6903CC690BE2DC690BE3AC690BE5FC690BE4DC690BE85" + $"C690BED1C690BEABC690BEE5C68CBF0DC685BEF9C688BF21C681BF48C679BF35" + $"C67DBF63C670BF97C65EBF7DC667BFB2C655BFE6C642BFCCC64CC000C633C035" + $"C613C01BC623C04FC604C083C5E5C069C5F5C07DC5EBC072C5F6C077C5F0C082" + $"C5ECC0A4C5D9C093C5E2C0B5C5CFC0D7C5BCC0C6C5C5C12AC58EC1CFC533C17C" + $"C560C221C505C2C6C4A9C274C4D7C2DBC49AC304C47B48C48BC319C46CC342C4" + $"4DC32EC45CC35AC435C389C405C371C41DC3A0C3EDC3CFC3BDC3B8C3D5C3E3C3" + $"9EC40CC361C3F7C37FC420C342C448C305C434C324C456C2EAC470C2B5C463C2" + $"D0C47DC29BC498C266C48BC280C4A5C240C4BFC1F5C4B2C21AC4CCC1CFC4E7C1" + $"83C4DAC1A9C4F0C159C503C103C4FAC12EC50CC0D9C51FC083C516C0AEC524C0" + $"5FC52EC018C529C03CC533BFF5C53DBFADC538BFD1C53CBF5CC53CBEBBC53CBF" + $"0CC53CBE6AC53BBDC9C53CBE1AC535BD9AC528BD3CC52EBD6BC522BD0DC515BC" + $"B0C51BBCDEC50BBC84C4F8BC2EC502BC59C4EFBC03C4DCBBADC4E5BBD8C4CFBB" + $"7FC4B4BB25C4C1BB52C4A734C48DBA9EC49ABACBC478BA6AC44EBA01C463BA35" + $"C439B9CCC410B963C425B998C3FAB937C3CDB8DEC3E3B90AC3B7B8B2C38BB859" + $"C3A1B885C370B82FC33CB7DA49B804C322B7AFC2EDB75AC308B784C2D3B737C2" + $"9FB6F1C2B9B714C285B6CEC250B688C26AB6ABC22EB662C1EAB615C20CB63BC1" + $"C8B5EEC183B5A1C1A6B5C8C173B594C152B579C162B586C141B56BC121B550C1" + $"31B55EC0AFB56FBFCCB5ACC03DB58D3F27BE77B607BEE8B5E8BE71B609BE67B6" + $"0CBE6CB60ABE61B60EBE56B612BE5CB610BE61B61DBE77B633BE6CB628BE6EB6" + $"2ABE5BB617BE64B621BE5BB624BE5BB63FBE5BB632BE5BB64CBE5BB667BE5BB6" + $"59BE76B686BEACB6C6BE91B6A6BEC8B6E5BEFEB725BEE3B705BF15B745BF43B7" + $"84BF2CB7653FB7A4BF88B7E4BF71B7C4BF9EB808BFC9B84FBFB4B82BBFDFB873" + $"C00BB8BABFF5B896C022B8E9C050B947C039B918C068B976C096B9D4C07FB9A5" + $"C0A7B9FFC0CABA55C0B8BA2AC0DBBA80C0FDBAD7C0ECBAABC10ABB02C124BB58" + $"C117BB2DC131BB83C14BBBDAC13EBBAEC154BC05C168BC5BC15EBC30C171BC86" + $"C184BCDDC17BBCB1C18BBD0AC198BD64C191BD37C19FBD91C1ACBDEBC1A5BDBE" + $"C1ACBE3BC1ACBEDDC1ACBE8CC1ACBF2EC1ADBFCFC1ADBF7EC1A8BFEFC19EC02F" + $"C1A3C00FC198C04FC18EC08EC193C06EC187C0ACC17AC0E8C180C0CAC173C107" + $"C165C143C16CC125C159C164C141C1A8C14DC186C135C1CAC11EC20DC129C1EB" + $"C114C220C101C246C10BC233C0F8C258C0E5C27EC0EFC26BC0D1C29CC0A9C2D9" + $"C0BDC2BBC095C2F8C06DC335C081C316C066C33BC05AC347C060C341C034C344" + $"BFE9C340C00EC342BFC3C33DBF77C339BF9DC33BBF65C334BF40C32CBF53C330" + $"BF2EC328BF09C31FBF1CC323BEF7C319BED3C30EBEE5C314BEC1C308BE9DC2FD" + $"BEAFC303BE75C311BE25C337BE4DC324BE4EC324BE9EC2FCBE76C310BE9EC2D6" + $"BE9E47BE9EC2B0BE9EC264BE9EC218BE9EC23EBEA1C1D3BEA6C148BEA3C18DBE" + $"A8C102BEADC077BEABC0BDBED4C067BF21C045BEFBC056BF48C034BF96C013BF" + $"6FC023BF96C00BBF96BFFBBF96C003BF96BFF3BF96BFE2BF96BFEABF92BFE4BF" + $"8BBFE7BF8FBFE6BF8BBFE5BF8ABFE1BF8BBFE3BF8ABFDFBF8ABFDABF8ABFDCBF" + $"11BFA4BE1FBF38BE98BF6EBDA6BF01BCB4BE95BD2DBECBBCACBE92BC9CBE8BBC" + $"A43DBC94BE87BC84BE80BC8CBE84BC19BEABBB42BF00BBAEBED6BB0FBF15BAA9" + $"BF3DBADCBF29BAA8BF3BBAA6BF38BAA7BF3ABAA5BF36BAA3BF31BAA4BF33BA8C" + $"BF04BA5EBEAABA75BED7BA47BE7DBA19BE23BA30BE50BA0ABDFFB9ECBDB8B9FB" + $"BDDCB9DDBD94B9BFBD4DB9CEBD71B9B1BD27B997BCDAB9A4BD01B989BCB4B96F" + $"BC68B97CBC8EB962BC32B947BBC6B954BBFCB93ABB91B91FBB25B92DBB5BB919" + $"BAFCB90EBAAAB913BAD3B908BA80B8FCBA2EB902BA57B8FCB9ECB8FCB969B8FC" + $"B9AAB8FCB927B8FCB8A4B8FCB8E5B902B87AB90EB828B908B851B914B7FEB920" + $"B7ACB91AB7D5B928B78FB936B755B92FB772B93EB738B94CB6FDB945B71AB956" + $"B6E2B969B6AC30B6C7B973B691B987B65AB97DB675B995B63CB9B3B601B9A4B6" + $"1FB9C2B5E4B9DFB5A8B9D1B5C6B9EFB591BA0E26B9FEB57BBA1DB54DBA3CB51F" + $"BA2DB536BA57B503BA8CB4CCBA71B4E8BAA6B4B1BADCB47ABAC1B495BAF2B46B" + $"BB1EB44EBB08B45CBB34B43FBB60B421BB4AB430BB5CB421BB56B421BB59B421" + $"BB54B421BB4FB421BB51B421BB57B420BB68B41CBB60B41EBB68B410BB68B3F7" + $"BB68B403BB68B3EBBB68B3D3BB68B3DFBB67B3D3BB64B3D3BB65B3D3BB63B3D3" + $"BB60B3D3BB61B3D3BB60B3D30204BC33C856BC33C856BC33C857BC33C857BC33" + $"C857BC2BC885BC1AC8E1BC22C8B3BC22C8B3BC33C856BC2B56BC33C8560205C1" + $"21C551C121C551C121C551C120C552C120C552C103C56DC0C9C5A4C0E6C589C0" + $"CCC5A1C0D3C59BC0CFC59EC0EDC582C121C551C107C569C121C5510206BD4CC4" + $"7CBD4CC47CBD6DC47DBDB0C47DBD8EC47DBDD2C47EBE18C47EBDF5C47EBDF7C4" + $"7EBDB5C47EBDD6C47EBD94C47EBD52C47EBD73C47EBD50C47DBD4CC47CBD4EC4" + $"7DBD4CC47C0207BD0CC3C0BD0CC3C0BCC4C3E3BC34C429BC7CC406BC36C42CBC" + $"3CC431BC39C42EBC3EC432BC42C436BC40C434BC3AC433BC29C42EBC31C431BC" + $"69C40FBCEAC3D1BCAAC3F0BCF5C3CBBD0CC3C0BD01C3C6BD0CC3C00204BFE8C3" + $"B2BFE8C3B2BFD4C3C5BFAAC3ECBFBFC3D9BFAAC3EDBFAAC3EDBFAAC3EDBFBFC3" + $"D9BFE8C3B2BFD4C3C5BFE8C3B20206BA67C30EBA67C30EBA73C319BA8DC32EBA" + $"80C323BA9EC33DBAC2C35CBAB0C34DBAC0C35ABABCC357BABEC359BAACC34BBA" + $"8DC332BA9DC33EBA80C326BA67C30EBA73C31ABA67C30E0205B9B4C25BB9B4C2" + $"5BB9C5C26DB9E6C290B9D6C27EB9F1C29CBA07C2B2B9FCC2A7B9F8C2A5B9DBC2" + $"89B9EAC297B9CEC27AB9B4C25BB9C1C26AB9B4C25B0205BAE6C222BAE6C222BA" + $"E8C295BAECC37CBAEAC309BAEBC37CBAEAC37BBAEBC37CBAEBC37BBAEBC37BBA" + $"EBC37BBAEAC308BAE6C222BAE8C295BAE6C2220205B919C19DB919C19DB92DC1" + $"B6B955C1E8B941C1CFB95AC1EFB964C1FBB95FC1F5B950C1E3B928C1B3B93CC1" + $"CBB923C1ACB919C19DB91EC1A4B919C19D0206BCB4C111BCB4C111BCC3C116BC" + $"DFC120BCD1C11BBCECC125BD08C12FBCFAC12ABD08C12FBD08C12FBD08C12FBC" + $"FAC12ABCDEC120BCECC125BCD0C11BBCB4C111BCC2C116BCB4C1110209BDC9C0" + $"AEBDC9C0AEBD8BC0CABD0FC101BD4DC0E5BD0DC109BD0BC118BD0CC110BD0AC1" + $"1DBD09C127BD0AC122BD09C121BD09C116BD09C11CBD09C10EBD09C0FEBD09C1" + $"06BD0BC0FEBD0FC100BD0DC0FFBD43C0E9BDACC0BBBD78C0D2BDB6C0B7BDC9C0" + $"AEBDBFC0B3BDC9C0AE0204B84BC067B84BC067B861C088B88BC0C8B876C0A8B8" + $"77C0A9B84EC06CB862C08AB84DC06AB84BC067B84CC069B84BC0670208BA22BF" + $"73BA22BF73BA17BF77BA00BF80BA0BBF7CBA81BFBFBB82C03DBB01BFFEBB05C0" + $"00BA0BBF86BA88BFC3BA09BF86BA05BF86BA07BF86BA04BF86BA00BF86BA02BF" + $"86BA00BF84BA00BF80BA00BF82BA0BBF7BBA22BF73BA16BF77BA22BF730206BF" + $"11B6CFBF11B6CFBF17B6D5BF23B6E1BF1DB6DBBF3EB703BF74B746BF59B725BF" + $"8EB767BFC3B7A7BFA9B787BFA2B77FBF60B730BF81B757BF46B70FBF11B6CFBF" + $"2BB6EFBF11B6CF020BBA5DB458BA5DB458BA3BB45FB9F9B46EBA1AB467B989B4" + $"88B8A9B4BBB919B4A1B8AAB4BAB8ABB4B9B8ABB4BAB8ACB4B9B8AEB4B7B8ADB4" + $"B8B8ADB4B0B8AAB4A0B8ABB4A8B8ABB4A7B8AFB4B4B8ADB4ADB8B1B4B4B8B7B4" + $"B4B8B4B4B4B8BAB4B4B8BFB4B4B8BCB4B4B931B49BBA14B468B9A2B48232B463" + $"BA5DB458BA44B45DBA5DB45802CFBB60B3D3BB60B3D3BAEDB3EDBA06B420BA79" + $"B406B993B43AB8ADB46EB920B454B8AAB470B8A6B474B8A8B472B8A5B476B8A2" + $"B479B8A3B477B8A1B476B8A0B470B8A1B473B88BB47CB860B493B875B487B84A" + $"B49EB81FB4B5B835B4AAB807B4C9B7D6B4F0B7EFB4DCB7BEB503B78EB52AB7A6" + $"B517B77BB53FB755B569B768B554B742B57FB71CB5A9B72FB594B70DB5BFB6EF" + $"B5EBB6FEB5D5B6E0B601B6C2B62DB6D1B617B6B2B64CB693B68AB6A3B66BB684" + $"B6A9B665B6E6B674B6C7B65BB700B648B732B652B719B63EB74CB62BB77EB635" + $"B765B622B7A2B610B7EAB619B7C6B607B80DB5F5B855B5FEB831B5EEB87AB5E1" + $"B8C5B5E7B8A0B5DAB8EBB5CDB936B5D4B910B5CDB99BB5CDBA66B5CDBA01B5CE" + $"BACBB5CEBB96B5CEBB31B5D4BBC1B5E1BC17B5DBBBECB5E8BC42B5F5BC98B5EE" + $"BC6DB5FCBCBEB60BBD09B604BCE4B613BD2FB622BD7AB61ABD55B631BDB1B650" + $"BE1DB640BDE7B65FBE54B67DBEC0B66EBE8AB68EBEEBB6AEBF42B69EBF17B6BE" + $"BF6DB6DFBFC4B6CEBF98B6EBBFE2B705C01EB6F8C000B712C03CB72CC078B71F" + $"C05AB73FC09EB766C0EAB752C0C4B779C110B79FC15CB78CC136B7B3C17EB7DA" + $"C1C0B7C6C19FB7EDC1E1B81446B801C2032DC249B861C294B847C26FB87AC2BA" + $"B8ADC3052EC2DFB8C6C325B8F9C365B8E0C345B913C385B946C3C4B92CC3A4B9" + $"6BC3EBB9B7C439B991C412B9DCC460BA27C4AEBA02C487BA4AC4C9BA8EC501BA" + $"6CC4E5BAB1C51DBAF6C555BAD3C539BAF7C5B7BAFAC67C34C61ABAFBC6DFBAFE" + $"C7A3BAFDC741BB18C84FBB4CC9A7BB32C8FBBB66CA53BB9ACBABBB80CAFFBB9B" + $"CBA8BB9DCBA2BB9CCBA5BB9ECB9FBB9FCB99BB9FCB9CBBA0CB97BBA1CB92BBA0" + $"CB94BBA1CB95BBA1CB9ABBA1CB97BBA1CB9FBBA1CBA8BBA1CBA4BC00CB6FBCBE" + $"CAFDBC5FCB36BD1ECAC4BDDCCA52BD7DCA8BBDF9C9C9BE32C8B7BE15C940BE4F" + $"C82EBE88C71CBE6BC7A5BE88C705BE88C6D7BE88C6EEBE88C6C0BE88C692BE88" + $"C6A9BE6DC692BE36C691BE51C691BE31C6903CC690BE2DC690BE3AC690BE5FC6" + $"90BE4DC690BE85C690BED1C690BEABC690BEE5C68CBF0DC685BEF9C688BF21C6" + $"81BF48C679BF35C67DBF63C670BF97C65EBF7DC667BFB2C655BFE6C642BFCCC6" + $"4CC000C633C035C613C01BC623C04FC604C083C5E5C069C5F5C07DC5EBC072C5" + $"F6C077C5F0C082C5ECC0A4C5D9C093C5E2C0B5C5CFC0D7C5BCC0C6C5C5C12AC5" + $"8EC1CFC533C17CC560C221C505C2C6C4A9C274C4D7C2DBC49AC304C47B48C48B" + $"C319C46CC342C44DC32EC45CC35AC435C389C405C371C41DC3A0C3EDC3CFC3BD" + $"C3B8C3D5C3E3C39EC40CC361C3F7C37FC420C342C448C305C434C324C456C2EA" + $"C470C2B5C463C2D0C47DC29BC498C266C48BC280C4A5C240C4BFC1F5C4B2C21A" + $"C4CCC1CFC4E7C183C4DAC1A9C4F0C159C503C103C4FAC12EC50CC0D9C51FC083" + $"C516C0AEC524C05FC52EC018C529C03CC533BFF5C53DBFADC538BFD1C53CBF5C" + $"C53CBEBBC53CBF0CC53CBE6AC53BBDC9C53CBE1AC535BD9AC528BD3CC52EBD6B" + $"C522BD0DC515BCB0C51BBCDEC50BBC84C4F8BC2EC502BC59C4EFBC03C4DCBBAD" + $"C4E5BBD8C4CFBB7FC4B4BB25C4C1BB52C4A734C48DBA9EC49ABACBC478BA6AC4" + $"4EBA01C463BA35C439B9CCC410B963C425B998C3FAB937C3CDB8DEC3E3B90AC3" + $"B7B8B2C38BB859C3A1B885C370B82FC33CB7DA49B804C322B7AFC2EDB75AC308" + $"B784C2D3B737C29FB6F1C2B9B714C285B6CEC250B688C26AB6ABC22EB662C1EA" + $"B615C20CB63BC1C8B5EEC183B5A1C1A6B5C8C173B594C152B579C162B586C141" + $"B56BC121B550C131B55EC0AFB56FBFCCB5ACC03DB58D3F27BE77B607BEE8B5E8" + $"BE71B609BE67B60CBE6CB60ABE61B60EBE56B612BE5CB610BE61B61DBE77B633" + $"BE6CB628BE6EB62ABE5BB617BE64B621BE5BB624BE5BB63FBE5BB632BE5BB64C" + $"BE5BB667BE5BB659BE76B686BEACB6C6BE91B6A6BEC8B6E5BEFEB725BEE3B705" + $"BF15B745BF43B784BF2CB7653FB7A4BF88B7E4BF71B7C4BF9EB808BFC9B84FBF" + $"B4B82BBFDFB873C00BB8BABFF5B896C022B8E9C050B947C039B918C068B976C0" + $"96B9D4C07FB9A5C0A7B9FFC0CABA55C0B8BA2AC0DBBA80C0FDBAD7C0ECBAABC1" + $"0ABB02C124BB58C117BB2DC131BB83C14BBBDAC13EBBAEC154BC05C168BC5BC1" + $"5EBC30C171BC86C184BCDDC17BBCB1C18BBD0AC198BD64C191BD37C19FBD91C1" + $"ACBDEBC1A5BDBEC1ACBE3BC1ACBEDDC1ACBE8CC1ACBF2EC1ADBFCFC1ADBF7EC1" + $"A8BFEFC19EC02FC1A3C00FC198C04FC18EC08EC193C06EC187C0ACC17AC0E8C1" + $"80C0CAC173C107C165C143C16CC125C159C164C141C1A8C14DC186C135C1CAC1" + $"1EC20DC129C1EBC114C220C101C246C10BC233C0F8C258C0E5C27EC0EFC26BC0" + $"D1C29CC0A9C2D9C0BDC2BBC095C2F8C06DC335C081C316C066C33BC05AC347C0" + $"60C341C034C344BFE9C340C00EC342BFC3C33DBF77C339BF9DC33BBF65C334BF" + $"40C32CBF53C330BF2EC328BF09C31FBF1CC323BEF7C319BED3C30EBEE5C314BE" + $"C1C308BE9DC2FDBEAFC303BE75C311BE25C337BE4DC324BE4EC324BE9EC2FCBE" + $"76C310BE9EC2D6BE9E47BE9EC2B0BE9EC264BE9EC218BE9EC23EBEA1C1D3BEA6" + $"C148BEA3C18DBEA8C102BEADC077BEABC0BDBED4C067BF21C045BEFBC056BF48" + $"C034BF96C013BF6FC023BF96C00BBF96BFFBBF96C003BF96BFF3BF96BFE2BF96" + $"BFEABF92BFE4BF8BBFE7BF8FBFE6BF8BBFE5BF8ABFE1BF8BBFE3BF8ABFDFBF8A" + $"BFDABF8ABFDCBF11BFA4BE1FBF38BE98BF6EBDA6BF01BCB4BE95BD2DBECBBCAC" + $"BE92BC9CBE8BBCA43DBC94BE87BC84BE80BC8CBE84BC19BEABBB42BF00BBAEBE" + $"D6BB0FBF15BAA9BF3DBADCBF29BAA8BF3BBAA6BF38BAA7BF3ABAA5BF36BAA3BF" + $"31BAA4BF33BA8CBF04BA5EBEAABA75BED7BA47BE7DBA19BE23BA30BE50BA0ABD" + $"FFB9ECBDB8B9FBBDDCB9DDBD94B9BFBD4DB9CEBD71B9B1BD27B997BCDAB9A4BD" + $"01B989BCB4B96FBC68B97CBC8EB962BC32B947BBC6B954BBFCB93ABB91B91FBB" + $"25B92DBB5BB919BAFCB90EBAAAB913BAD3B908BA80B8FCBA2EB902BA57B8FCB9" + $"ECB8FCB969B8FCB9AAB8FCB927B8FCB8A4B8FCB8E5B902B87AB90EB828B908B8" + $"51B914B7FEB920B7ACB91AB7D5B928B78FB936B755B92FB772B93EB738B94CB6" + $"FDB945B71AB956B6E2B969B6AC30B6C7B973B691B987B65AB97DB675B995B63C" + $"B9B3B601B9A4B61FB9C2B5E4B9DFB5A8B9D1B5C6B9EFB591BA0E26B9FEB57BBA" + $"1DB54DBA3CB51FBA2DB536BA57B503BA8CB4CCBA71B4E8BAA6B4B1BADCB47ABA" + $"C1B495BAF2B46BBB1EB44EBB08B45CBB34B43FBB60B421BB4AB430BB5CB421BB" + $"56B421BB59B421BB54B421BB4FB421BB51B421BB57B420BB68B41CBB60B41EBB" + $"68B410BB68B3F7BB68B403BB68B3EBBB68B3D3BB68B3DFBB67B3D3BB64B3D3BB" + $"65B3D3BB63B3D3BB60B3D3BB61B3D3BB60B3D3020FB8B7B4B4B8B7B4B4B8B4B4" + $"B4B8AFB4B4B8B1B4B4B8ACB4AAB8A7B497B8AAB4A1B8A5B48EB8A0B47AB8A3B4" + $"84B8A2B478B8A6B474B8A4B476B8A8B472B8ADB46EB8AAB470B920B454BA06B4" + $"20B993B43ABA79B406BB60B3D3BAEDB3EDBB61B3D3BB64B3D3BB63B3D3BB65B3" + $"D3BB68B3D3BB67B3D3BB68B3DFBB68B3F7BB68B3EBBB68B403BB68B41CBB68B4" + $"10BAF7B435BA14B468BA85B44FB9A2B482B8BFB4B4B931B49BB8BCB4B4B8B7B4" + $"B4B8BAB4B4B8B7B4B4021ABCEAC3D1BCEAC3D1BCA9C3F0BC28C42EBC68C40FBC" + $"28C3B1BC28C2B6BC28C334BC28C239BC28C13FBC28C1BCBC32C137BC45C127BC" + $"3CC12FBC4FC11FBC63C110BC59C118BC71C110BC8CC110BC7EC110BC99C111BC" + $"B4C111BCA7C111BCC2C116BCDEC120BCD0C11BBCECC125BD08C12FBCFAC12ABD" + $"09C127BD0BC118BD0AC11FBD0CC110BD0FC101BD0DC109BD7AC0D1BE52C072BD" + $"E6C0A1BEBEC042BF96BFE2BF2AC012BF96BFEABF96BFFBBF96BFF3BF96C003BF" + $"96C013BF96C00BBF6FC023BF21C045BF48C034BEFBC056BEADC077BED4C067BE" + $"ABC0BDBEA6C148BEA8C102BEA3C18DBE9EC218BEA1C1D3BE9EC23EBE9E47BE9E" + $"C264BE9EC2B0BE9EC2FCBE9EC2D6BE76C310BE25C337BE4EC324BDFDC34BBDAC" + $"C373BDD5C35FBD6BC392BCEAC3D1BD2BC3B1BCEAC3D1BCEAC3D1BCEAC3D1BCEA" + $"C3D1024EC0A4C5D9C0A4C5D9C093C5E2C072C5F6C082C5ECC08FC5DAC0C9C5A4" + $"C0ACC5BFC0E6C589C120C552C103C56DC133C53944C507C145C520C16B4DC191" + $"C4BCC17EC4D5C1A3C498C1C8C451C1B6C475C1DAC42DC1FFC3E6C1EDC40AC20C" + $"C3C1C226C376C219C39BC233C350C24DC305C240C32AC255C2E1C265C29AC25D" + $"C2BEC26CC276C27CC22FC274C253C280C217C287C1E6C284C1FEC28BC1CDC293" + $"C19DC28FC1B5C297C162C29FC0EEC29BC128C2A3C0B4C2ABC040C2A7C07AC2A7" + $"C005C2A0BF8FC2A3BFCAC29CBF54C294BEDEC298BF19C28EBEB6C283BE64C288" + $"BE8DC27DBE3CC271BDEBC277BE13C267BDC0C254BD69C25EBD94C24ABD3EC237" + $"BCE8C241BD13C22BBCBBC211BC63C21EBC8FC204BC36C1EBBBDEC1F8BC0AC1D8" + $"BBAAC1B2BB44C1C5BB77C19EBB10C178BAAAC18BBADDC15FBA74C12CBA0AC145" + $"BA3FC112B9D5C0DFB96AC0F8B99FC0C9B945C09EB8FCC0B4B920C088B8D7C05D" + $"B88DC073B8B2C044B867C011B81CC02BB842BFF8B7F6BFC6B7ABBFDFB7D1BFAB" + $"B789BF74B746BF8FB768BF59B725BF23B6E1BF3EB703BF01B6BFBEBDB679BEDF" + $"B69CBE9BB657BE56B612BE79B634BE5CB610BE67B60CBE61B60EBE6CB60ABE77" + $"B607BE71B609BEE8B5E8BFCCB5AC3F27C03DB58DC121B550C0AFB56FC131B55E" + $"C152B579C141B56BC162B586C183B5A1C173B594C1A6B5C8C1EAB615C1C8B5EE" + $"C20CB63BC250B688C22EB662C26AB6ABC29FB6F1C285B6CEC2B9B714C2EDB75A" + $"C2D3B737C308B784C33CB7DAC322B7AF49B804C38BB859C370B82FC3A1B885C3" + $"CDB8DEC3B7B8B2C3E3B90AC410B963C3FAB937C425B998C44EBA01C439B9CCC4" + $"63BA35C48DBA9EC478BA6AC49ABACBC4B4BB25C4A734C4C1BB52C4DCBBADC4CF" + $"BB7FC4E5BBD8C4F8BC2EC4EFBC03C502BC59C515BCB0C50BBC84C51BBCDEC528" + $"BD3CC522BD0DC52EBD6BC53BBDC9C535BD9AC53CBE1AC53CBEBBC53CBE6AC53C" + $"BF0CC53DBFADC53CBF5CC538BFD1C52EC018C533BFF5C529C03CC51FC083C524" + $"C05FC516C0AEC503C103C50CC0D9C4FAC12EC4E7C183C4F0C159C4DAC1A9C4BF" + $"C1F5C4CCC1CFC4B2C21AC498C266C4A5C240C48BC280C470C2B5C47DC29BC463" + $"C2D0C448C305C456C2EAC434C324C40CC361C420C342C3F7C37FC3CFC3BDC3E3" + $"C39EC3B8C3D5C389C405C3A0C3EDC371C41DC342C44DC35AC435C32EC45CC304" + $"C47BC319C46C48C48BC2C6C4A9C2DBC49AC274C4D7C1CFC533C221C505C17CC5" + $"60C0D7C5BCC12AC58EC0C6C5C5C0A4C5D9C0B5C5CFC0A4C5D9C0A4C5D9C0A4C5" + $"D9C0A4C5D90216BCBECAFDBCBECAFDBC5FCB36BBA1CBA8BC00CB6FBBA1CBA4BB" + $"A1CB9ABBA1CB9FBBA1CB95BBA1CB8CBBA1CB91BBB9CB03BBEAC9F2BBD1CA7ABC" + $"02C969BC33C857BC1AC8E0BC33C7F6BC33C734BC33C795BC33C6D3BC33C611BC" + $"33C672BC3AC614BC47C61ABC40C617BC4DC61CBC5AC622BC54C61FBC84C630BC" + $"D6C64DBCADC63FBD00C65BBD52C678BD29C66ABD6BC67CBD9BC683BD83C680BD" + $"B4C687BDE4C68FBDCCC68BBE00C68FBE36C691BE1BC690BE51C691BE88C692BE" + $"6DC692BE88C6A9BE88C6D7BE88C6C0BE88C6EEBE88C71CBE88C705BE6BC7A5BE" + $"32C8B7BE4FC82EBE15C940BDDCCA52BDF9C9C9BD7DCA8BBCBECAFDBD1ECAC4BC" + $"BECAFDBCBECAFDBCBECAFDBCBECAFD02CABB9DCBA2BB9DCBA2BB9CCBA5BB9ACB" + $"ABBB9BCBA8BB80CAFFBB4CC9A7BB66CA53BB32C8FBBAFEC7A3BB18C84FBAFDC7" + $"41BAFAC67CBAFBC6DF34C61ABAF6C555BAF7C5B7BAD3C539BA8EC501BAB1C51D" + $"BA6CC4E5BA27C4AEBA4AC4C9BA02C487B9B7C439B9DCC460B991C412B946C3C4" + $"B96BC3EBB92CC3A4B8F9C365B913C385B8E0C345B8ADC305B8C6C3252EC2DFB8" + $"61C294B87AC2BAB847C26FB814462DC249B801C203B7DAC1C0B7EDC1E1B7C6C1" + $"9FB79FC15CB7B3C17EB78CC136B766C0EAB779C110B752C0C4B72CC078B73FC0" + $"9EB71FC05AB705C01EB712C03CB6F8C000B6DFBFC4B6EBBFE2B6CEBF98B6AEBF" + $"42B6BEBF6DB69EBF17B67DBEC0B68EBEEBB66EBE8AB650BE1DB65FBE53B640BD" + $"E7B622BD7AB631BDB1B61ABD55B60BBD09B613BD2FB604BCE4B5F5BC98B5FCBC" + $"BEB5EEBC6DB5E1BC17B5E8BC42B5DBBBECB5CEBB96B5D4BBC1B5CEBB31B5CDBA" + $"66B5CEBACBB5CDBA01B5CDB936B5CDB99BB5D4B910B5E1B8C5B5DAB8EBB5E7B8" + $"A0B5F5B855B5EEB87AB5FEB831B610B7EAB607B80DB619B7C6B62BB77FB622B7" + $"A2B635B765B648B732B63EB74CB652B719B665B6E6B65BB700B674B6C7B693B6" + $"8AB684B6A9B6A3B66BB6C2B62DB6B2B64CB6D1B617B6EFB5EBB6E0B601B6FEB5" + $"D5B71CB5A9B70DB5BFB72FB594B755B569B742B57FB768B554B78EB52AB77BB5" + $"3FB7A6B517B7D6B4F0B7BEB503B7EFB4DCB81FB4B5B807B4C9B835B4AAB860B4" + $"93B84AB49EB875B487B8A0B470B88BB47CB8A3B47CB8A7B494B8A5B488B8AAB4" + $"A0B8AEB4B7B8ACB4ACB8ADB4B8B8ABB4B9B8ACB4B9B8AAB4BAB8A9B4BBB8AAB4" + $"BAB890B4CCB85EB4EFB877B4DEB845B501B813B524B82CB512B7FEB53BB7D3B5" + $"6AB7E8B553B7BEB582B793B5B1B7A9B599B786B5C5B76CB5ECB779B5D9B75FB6" + $"00B744B628B751B614B736B646B718B680B727B663B709B69EB6ECB6D9B6FAB6" + $"BBB6DEB702B6C4B753B6D1B72AB6B6B77CB69CB7CDB6A9B7A4B694B7F8B685B8" + $"4FB68CB824B67DB87AB66EB8D1B676B8A5B66CB916B668B9A1B66AB95CB666B9" + $"E6B662BA71B66432B668BAA5B674BB0DB66EBAD9B67ABB41B686BBAAB680BB76" + $"B690BBD5B6A4BC2BB69ABC00B6ADBC57B6C1BCADB6B7BC82B6CEBCD9B6E8BD30" + $"B6DBBD04B6F5BD5BB710BDB2B702BD87B724BDE7B74EBE50B739BE1C2BBE85B7" + $"8CBEEEB777BEB9B7ACBF2DB7EDBFADB7CCBF6DB80DBFECB84EC06CB82DC02CB8" + $"72C0A2B8BBC10FB896C0D9B8DFC146B928C1B3B903C17DB946C1D7B981C21EB9" + $"63C1FAB99FC242B9DBC289B9BDC265B9F9C2A5BA34C2DEBA16C2C1BA52C2FABA" + $"8DC332BA6FC316BA9DC33EBABCC357BAACC34BBACCC364BAECC37CBADCC370BA" + $"EAC309BAE6C222BAE8C295BAE4C1AEBAE0C0C7BAE2C13ABADCC0B7BAD4C099BA" + $"D8C0A8BAD0C089BAC9C06ABACDC07ABABBC058BA9FC033BAADC046BA91C021BA" + $"75BFFCBA83C00EBA62BFEFBA3BBFD5BA4FBFE2BA28BFC7BA01BFADBA14BFBABA" + $"01BFA7BA00BF99BA01BFA0BA00BF93BA00BF86BA00BF8CBA02BF86BA05BF86BA" + $"04BF86BA07BF86BA0BBF86BA09BF86BA8ABFC4BB8AC041BB0AC003BC09C080BD" + $"09C0FDBC89C0BEBD09C105BD09C116BD09C10EBD09C11EBD09C12FBD09C127BC" + $"FBC12ABCDFC120BCEDC125BCD1C11BBCB4C111BCC3C116BCA7C111BC8CC110BC" + $"99C111BC7EC110BC63C110BC71C110BC59C118BC45C127BC4FC11FBC3CC12FBC" + $"28C13FBC32C137BC28C1BCBC28C2B6BC28C239BC28C333BC28C42EBC28C3B0BC" + $"3FC435BC6EC445BC57C43DBC86C44DBCB5C45CBC9DC455BCCFC462BD03C46DBC" + $"E9C468BD1EC473BD52C47EBD38C478BD73C47EBDB5C47EBD94C47EBDD6C47EBE" + $"18C47EBDF7C47EBE35C478BE6FC46DBE52C472BE8CC467BEC6C45BBEA9C461BE" + $"ECC449BF38C424BF12C436BF5EC411BFAAC3ECBF84C3FFBFCBC3CEC00BC391BF" + $"EBC3AFC02CC372C06DC335C04CC353C081C316C0A9C2D9C095C2F8C0BDC2BBC0" + $"E5C27EC0D1C29CC0EFC26BC101C246C0F8C258C10BC233C11EC20DC114C220C1" + $"29C1EBC141C1A8C135C1CAC14DC186C165C143C159C164C16CC125C17AC0E8C1" + $"73C107C180C0CAC18EC08EC187C0ACC193C06EC19EC02FC198C04FC1A3C00FC1" + $"ADBFCFC1A8BFEFC1ADBF7EC1ACBEDDC1ACBF2EC1ACBE8CC1ACBDEBC1ACBE3BC1" + $"A5BDBEC198BD64C19FBD91C191BD37C184BCDDC18BBD0AC17BBCB1C168BC5BC1" + $"71BC86C15EBC30C14BBBDAC154BC05C13EBBAEC124BB58C131BB83C117BB2DC0" + $"FDBAD7C10ABB02C0ECBAABC0CABA55C0DBBA80C0B8BA2AC096B9D4C0A7B9FFC0" + $"7FB9A5C050B947C068B976C039B918C00BB8BAC022B8E9BFF5B896BFC9B84FBF" + $"DFB873BFB4B82BBF88B7E4BF9EB808BF71B7C4BF43B7843FB7A4BF2CB765BEFE" + $"B725BF15B745BEE3B705BEACB6C6BEC8B6E5BE91B6A6BE5BB667BE76B686BE5B" + $"B659BE5BB63FBE5BB64CBE5BB632BE5BB617BE5BB624BE75B631BEABB666BE90" + $"B64BBEC5B680BEFBB6B4BEE0B69ABF1DB6DDBF60B730BF3EB706BF82B759BFC6" + $"B7ABBFA4B782BFDFB7D1C011B81CBFF8B7F6C02BB842C05DB88DC044B867C073" + $"B8B2C09EB8FCC088B8D7C0B4B920C0DFB96AC0C9B945C0F8B99FC12CBA0AC112" + $"B9D5C145BA3FC178BAAAC15FBA74C18BBADDC1B2BB44C19EBB10C1C5BB77C1EB" + $"BBDEC1D8BBAAC1F8BC0AC211BC63C204BC36C21EBC8FC237BCE8C22BBCBBC241" + $"BD13C254BD69C24ABD3EC25EBD94C271BDEBC267BDC0C277BE13C283BE64C27D" + $"BE3CC288BE8DC294BEDEC28EBEB6C298BF19C2A0BF8FC29CBF54C2A3BFCAC2AB" + $"C040C2A7C005C2A7C07AC29FC0EEC2A3C0B4C29BC128C293C19DC297C162C28F" + $"C1B5C287C1E6C28BC1CDC284C1FEC27CC22FC280C217C274C253C265C29AC26C" + $"C276C25DC2BEC24DC305C255C2E1C240C32AC226C376C233C350C219C39BC1FF" + $"C3E6C20CC3C1C1EDC40AC1C8C451C1DAC42DC1B6C475C191C4BCC1A3C498C17E" + $"C4D5C159C506C16C4DC146C51FC121C551C134C538C107C569C0D3C59BC0EDC5" + $"82C0B8C5B3C084C5E4C09EC5CCC06AC5F4C035C613C050C604C01BC623BFE6C6" + $"42C000C633BFCCC64CBF97C65EBFB2C655BF7DC667BF48C679BF63C670BF35C6" + $"7DBF0DC685BF21C681BEF9C688BED1C690BEE5C68CBEABC690BE5FC690BE85C6" + $"90BE39C690BDEDC690BE13C690BDD3C68CBDA0C684BDBAC688BD86C680BD52C6" + $"78BD6CC67CBD29C66ABCD6C64DBD00C65BBCADC63FBC5AC622BC84C630BC54C6" + $"1FBC47C61ABC4DC61CBC40C617BC33C611BC3AC614BC33C672BC33C733BC33C6" + $"D2BC33C794BC33C855BC33C7F5BC1AC8E0BBE9C9F7BC02C96CBBD15BBB9FCB99" + $"BBB8CB0DBB9FCB9CBB9DCBA2BB9ECB9FBB9DCBA2BB9DCBA2BB9DCBA2BB9DCBA2" + $"0210BDACC0BBBDACC0BBBD78C0D2BD0FC100BD43C0E9BC8CC0C0BB87C040BC0A" + $"C080BB05C000BA00BF80BA8340BA6CBF56BB42BF00BAD7BF2BBBAEBED6BC84BE" + $"80BC19BEABBC8CBE84BC9CBE8BBC94BE87BCA43DBCB4BE95BCACBE92BD2DBECB" + $"BE1FBF38BDA6BF01BE98BF6EBF8ABFDABF11BFA4BF8ABFDCBF8ABFE1BF8ABFDF" + $"BF8BBFE3BF8BBFE8BF8BBFE5BF55BFFFBEEAC02FBF20C017BEB5C046BE4AC076" + $"BE7FC05EBE15C08DBDACC0BBBDE1C0A4BDACC0BBBDACC0BBBDACC0BBBDACC0BB" + $"0250BAE9C37BBAE9C37BBAE8C37BBAE7C37BBAE8C37BBAC9C362BA8DC32EBAAB" + $"C348BA6FC315BA33C2E1BA51C2FBBA19C2C6B9E6C290BA00C2ABB9CDC275B99A" + $"C23FB9B4C25AB983C222B955C1E8B96CC205B93EC1CBB910C191B927C1AEB8EF" + $"C160B8ADC0FCB8CEC12EB88DC0CAB84BC067B86CC099B82BC028B7ECBFAAB80B" + $"BFE9B7CCBF6CB78CBEEEB7ACBF2DB777BEB9B74EBE502BBE85B739BE1CB710BD" + $"B2B724BDE7B702BD87B6E8BD30B6F5BD5BB6DBBD04B6C1BCADB6CEBCD9B6B7BC" + $"82B6A4BC2BB6ADBC57B69ABC00B686BBAAB690BBD5B680BB76B674BB0DB67ABB" + $"41B66EBAD9B662BA71B668BAA5B66432B668B9A1B666B9E6B66AB95CB66EB8D1" + $"B66CB916B676B8A5B685B84FB67DB87AB68CB824B69CB7CDB694B7F8B6A9B7A4" + $"B6C4B753B6B6B77CB6D1B72AB6ECB6D9B6DEB702B6FAB6BBB718B680B709B69E" + $"B727B663B744B628B736B646B751B614B76CB5ECB75FB600B779B5D9B793B5B1" + $"B786B5C5B7A9B599B7D3B56AB7BEB582B7E8B553B813B524B7FEB53BB82BB512" + $"B85CB4F0B844B501B875B4DEB8A5B4BBB88DB4CDB917B4A2B9F9B46EB988B488" + $"BA6AB455BB4CB421BADBB43BBB4FB421BB56B421BB53B421BB59B421BB60B421" + $"BB5CB421BB4AB430BB1EB44EBB34B43FBB08B45CBADCB47ABAF2B46BBAC1B495" + $"BA8CB4CCBAA6B4B1BA71B4E8BA3CB51FBA57B503BA2DB536BA0E26BA1DB54DB9" + $"FEB57BB9DFB5A8B9EFB591B9D1B5C6B9B3B601B9C2B5E4B9A4B61FB987B65AB9" + $"95B63CB97DB675B969B6ACB973B69130B6C7B94CB6FDB956B6E2B945B71AB936" + $"B755B93EB738B92FB772B920B7ACB928B78FB91AB7D5B90EB828B914B7FEB908" + $"B851B8FCB8A4B902B87AB8FCB8E5B8FCB969B8FCB927B8FCB9AAB8FCBA2EB8FC" + $"B9ECB902BA57B90EBAAAB908BA80B913BAD3B91FBB25B919BAFCB92DBB5BB947" + $"BBC6B93ABB91B954BBFCB96FBC68B962BC32B97CBC8EB997BCDAB989BCB4B9A4" + $"BD01B9BFBD4DB9B1BD27B9CEBD71B9ECBDB8B9DDBD94B9FBBDDCBA19BE23BA0A" + $"BDFFBA30BE50BA5EBEAABA47BE7DBA75BED7BAA3BF31BA8CBF04BAA4BF33BAA6" + $"BF38BAA5BF36BAA8BF3ABAAABF3FBAA9BF3DBA8DBF4ABA55BF5FBA71BF55BA39" + $"BF6ABA00BF80BA1CBF75BA00BF87BA00BF96BA00BF8FBA01BF9EBA01BFADBA01" + $"BFA6BA14BFBABA3BBFD5BA28BFC7BA4EBFE2BA75BFFCBA62BFEFBA83C00EBA9F" + $"C033BA91C021BAADC046BAC9C06ABABBC058BACDC07ABAD4C099BAD0C089BAD8" + $"C0A8BAE0C0C7BADCC0B7BAE2C13ABAE6C221BAE4C1AEBAE8C294BAEBC37BBAEA" + $"C308BAEBC37BBAE9C37BBAEAC37BBAE9C37BBAE9C37BBAE9C37BBAE9C37B0217" + $"BDB0C47DBDB0C47DBD8DC47DBD47C47CBD6AC47DBD2FC477BCFFC46DBD17C472" + $"BCE7C468BCB7C45DBCCFC462BCA4C457BC7DC44BBC91C451BC6AC444BC44C438" + $"BC57C43EBC41C435BC3CC431BC3EC433BC39C42EBC34C429BC36C42CBC9BC3F7" + $"BD68C393BD02C3C5BDCFC361BE9DC2FDBE36C32FBEAFC303BED3C30EBEC1C308" + $"BEE5C314BF09C31FBEF7C319BF1CC323BF40C32CBF2EC328BF53C330BF77C339" + $"BF65C334BF9DC33BBFE9C340BFC3C33DC00EC342C05AC347C034C344C03DC362" + $"C002C39AC01FC37EBFE5C3B5BFAAC3EDBFC7C3D1BF84C3FFBF38C424BF5EC412" + $"BF12C436BEC6C45BBEECC449BEA9C461BE6FC46DBE8CC467BE52C472BE18C47E" + $"BE35C478BDF5C47EBDB0C47DBDD2C47EBDB0C47D0C0A00100001020304050607" + $"08090A0B0C0D0E0F000A0110101112131415161718191A1B1C1D1E1F000A0210" + $"202122232425262728292A2B2C2D2E2F1001178402040A031030313233343536" + $"3738393A3B3C3D3E3F000A040140000A050141000A040142000A060143000A07" + $"0144000A080145000A090146000A0A014700" +}; diff --git a/games-fps/quakespasm/additional-files/haiku_readme.txt b/games-fps/quakespasm/additional-files/haiku_readme.txt new file mode 100644 index 000000000..b8c6f917a --- /dev/null +++ b/games-fps/quakespasm/additional-files/haiku_readme.txt @@ -0,0 +1,18 @@ + +Installing game data files for QuakeSpasm on Haiku +=============================================================== + +QuakeSpasm for Haiku searches for game data at the system directory specified +by the symbolic constant `B_USER_NONPACKAGED_DATA_DIRECTORY` + `/QuakeSpasm/`. + +On a normal system install, this would be located at: +`/boot/home/config/non-packaged/data/QuakeSpasm/` + +Screenshots and configuration files are also saved here. + +To install the shareware or registered versions of Quake, place the files +pak0.pak and pak1.pak into the following directory: +`/boot/home/config/non-packaged/data/QuakeSpasm/id1/` + +Any mods for Quake should be installed accordingly, with the folder name "id1" +being replaced with the name of the mod (no spaces). diff --git a/games-fps/quakespasm/additional-files/qgrad-plain.svg b/games-fps/quakespasm/additional-files/qgrad-plain.svg new file mode 100644 index 000000000..4ed783a39 --- /dev/null +++ b/games-fps/quakespasm/additional-files/qgrad-plain.svg @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/games-fps/quakespasm/patches/quakespasm-0.96.0~git.patchset b/games-fps/quakespasm/patches/quakespasm-0.96.0~git.patchset new file mode 100644 index 000000000..3d59a224e --- /dev/null +++ b/games-fps/quakespasm/patches/quakespasm-0.96.0~git.patchset @@ -0,0 +1,190 @@ +From 77b165e3088b42842a0119cb919908e86ab6127f Mon Sep 17 00:00:00 2001 +From: Jaycie Ewald +Date: Sat, 3 Jun 2023 10:43:28 -0500 +Subject: Haiku support. + +Changes already submitted upstream. +--- + Quake/Makefile | 23 +++++++++++++++-------- + Quake/build_cross_haiku32-sdl2.sh | 2 +- + Quake/build_cross_haiku64-sdl2.sh | 2 +- + Quake/common.c | 23 +++++++++++++++++++++++ + Quake/sys_sdl_unix.c | 21 +++++++++++++++++++++ + 5 files changed, 61 insertions(+), 10 deletions(-) + +diff --git a/Quake/Makefile b/Quake/Makefile +index beea5e1..91141a0 100644 +--- a/Quake/Makefile ++++ b/Quake/Makefile +@@ -10,9 +10,6 @@ DO_USERDIRS=0 + ### Enable/Disable SDL2 + USE_SDL2=0 + +-### Do we need to link the math library? +-LINK_M=1 +- + ### Enable/Disable codecs for streaming music support + USE_CODEC_WAVE=1 + USE_CODEC_FLAC=0 +@@ -38,7 +35,7 @@ check_gcc = $(shell if echo | $(CC) $(1) -Werror -S -o /dev/null -xc - > /dev/nu + + # --------------------------- + +-HOST_OS := $(shell uname|sed -e s/_.*//|tr '[:upper:]' '[:lower:]') ++HOST_OS ?= $(shell uname|sed -e s/_.*//|tr '[:upper:]' '[:lower:]') + + DEBUG ?= 0 + +@@ -112,7 +109,7 @@ SDL_LIBS := $(shell $(SDL_CONFIG) --libs) + + ifeq ($(HOST_OS),sunos) + NET_LIBS :=-lsocket -lnsl -lresolv +-else ifdef HAIKU_OS ++else ifeq ($(HOST_OS),haiku) + NET_LIBS :=-lnetwork + else + NET_LIBS := +@@ -185,10 +182,10 @@ ifeq ($(USE_CODEC_UMX),1) + CFLAGS+= -DUSE_CODEC_UMX + endif + ++ifeq ($(HOST_OS),haiku) + COMMON_LIBS:= -lGL +- +-ifeq ($(LINK_M),1) +-COMMON_LIBS += -lm ++else ++COMMON_LIBS:= -lGL -lm + endif + + LIBS := $(COMMON_LIBS) $(NET_LIBS) $(CODECLIBS) +@@ -305,7 +302,17 @@ debug: + clean: + $(RM) *.o *.d $(DEFAULT_TARGET) + ++ifeq ($(HOST_OS),haiku) ++QS_DATA_DIR=$(shell finddir B_USER_NONPACKAGED_DATA_DIRECTORY)/QuakeSpasm/ ++QS_APP_DIR=$(shell finddir B_APPS_DIRECTORY)/QuakeSpasm/ ++install: quakespasm ++ mkdir -p $(QS_APP_DIR) ++ mkdir -p $(QS_DATA_DIR) ++ cp quakespasm $(QS_APP_DIR) ++ cp quakespasm.pak $(QS_DATA_DIR) ++else + install: quakespasm + cp quakespasm /usr/local/games/quake ++endif + + sinclude $(OBJS:.o=.d) +diff --git a/Quake/build_cross_haiku32-sdl2.sh b/Quake/build_cross_haiku32-sdl2.sh +index b180335..d6c5e55 100755 +--- a/Quake/build_cross_haiku32-sdl2.sh ++++ b/Quake/build_cross_haiku32-sdl2.sh +@@ -14,4 +14,4 @@ STRIP="$TARGET-strip" + LDFLAGS=-L/usr/lib32 # hack + export CC AS AR RANLIB STRIP LDFLAGS + +-exec $MAKE_CMD HAIKU_OS=1 LINK_M=0 USE_SDL2=1 LDFLAGS=$LDFLAGS CC=$CC AS=$AS RANLIB=$RANLIB AR=$AR STRIP=$STRIP -f Makefile $* ++exec $MAKE_CMD HOST_OS=haiku USE_SDL2=1 LDFLAGS=$LDFLAGS CC=$CC AS=$AS RANLIB=$RANLIB AR=$AR STRIP=$STRIP -f Makefile $* +diff --git a/Quake/build_cross_haiku64-sdl2.sh b/Quake/build_cross_haiku64-sdl2.sh +index 0b43404..8090528 100755 +--- a/Quake/build_cross_haiku64-sdl2.sh ++++ b/Quake/build_cross_haiku64-sdl2.sh +@@ -13,4 +13,4 @@ AR="$TARGET-ar" + STRIP="$TARGET-strip" + export CC AS AR RANLIB STRIP + +-exec $MAKE_CMD HAIKU_OS=1 LINK_M=0 USE_SDL2=1 CC=$CC AS=$AS RANLIB=$RANLIB AR=$AR STRIP=$STRIP -f Makefile $* ++exec $MAKE_CMD HOST_OS=haiku USE_SDL2=1 CC=$CC AS=$AS RANLIB=$RANLIB AR=$AR STRIP=$STRIP -f Makefile $* +diff --git a/Quake/common.c b/Quake/common.c +index c604a0a..931f971 100644 +--- a/Quake/common.c ++++ b/Quake/common.c +@@ -28,6 +28,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + #include "miniz.h" + ++#include "arch_def.h" ++#ifdef PLATFORM_HAIKU ++#include ++#include ++#endif ++ + static char *largv[MAX_NUM_ARGVS + 1]; + static char argvdummy[] = " "; + +@@ -2052,11 +2058,28 @@ _add_path: + if (i != 0 || path_id != 1 || fitzmode) + qspak = NULL; + else { ++ #ifdef PLATFORM_HAIKU ++ qboolean old = com_modified; ++ dev_t volume = dev_for_path("/boot"); ++ char buffer[B_PATH_NAME_LENGTH]; ++ status_t result; ++ ++ result = find_directory(B_SYSTEM_DATA_DIRECTORY, volume, false, buffer, sizeof(buffer)); ++ if (result != B_OK) ++ Sys_Error ("Couldn't determine userspace directory"); ++ ++ q_snprintf (pakfile, sizeof(pakfile), "%s/QuakeSpasm/quakespasm.pak", buffer); ++ ++ qspak = COM_LoadPackFile (pakfile); ++ ++ com_modified = old; ++ #else + qboolean old = com_modified; + if (been_here) base = host_parms->userdir; + q_snprintf (pakfile, sizeof(pakfile), "%s/quakespasm.pak", base); + qspak = COM_LoadPackFile (pakfile); + com_modified = old; ++ #endif + } + if (pak) { + search = (searchpath_t *) Z_Malloc(sizeof(searchpath_t)); +diff --git a/Quake/sys_sdl_unix.c b/Quake/sys_sdl_unix.c +index 71c8595..ab683ca 100644 +--- a/Quake/sys_sdl_unix.c ++++ b/Quake/sys_sdl_unix.c +@@ -244,10 +244,30 @@ static char cwd[MAX_OSPATH]; + static char userdir[MAX_OSPATH]; + #ifdef PLATFORM_OSX + #define SYS_USERDIR "Library/Application Support/QuakeSpasm" ++#elif defined(PLATFORM_HAIKU) ++#define SYS_USERDIR "QuakeSpasm" + #else + #define SYS_USERDIR ".quakespasm" + #endif + ++#ifdef PLATFORM_HAIKU ++ ++#include ++#include ++ ++static void Sys_GetUserdir (char *dst, size_t dstsize) ++{ ++ dev_t volume = dev_for_path("/boot"); ++ char buffer[B_PATH_NAME_LENGTH]; ++ status_t result; ++ ++ result = find_directory(B_USER_NONPACKAGED_DATA_DIRECTORY, volume, false, buffer, sizeof(buffer)); ++ if (result != B_OK) ++ Sys_Error ("Couldn't determine userspace directory"); ++ ++ q_snprintf (dst, dstsize, "%s/%s", buffer, SYS_USERDIR); ++} ++#else + static void Sys_GetUserdir (char *dst, size_t dstsize) + { + size_t n; +@@ -274,6 +294,7 @@ static void Sys_GetUserdir (char *dst, size_t dstsize) + + q_snprintf (dst, dstsize, "%s/%s", home_dir, SYS_USERDIR); + } ++#endif /* PLATFORM_HAIKU */ + #endif /* DO_USERDIRS */ + + #ifdef PLATFORM_OSX +-- +2.41.0 + diff --git a/games-fps/quakespasm/quakespasm-0.96.0~git.recipe b/games-fps/quakespasm/quakespasm-0.96.0~git.recipe new file mode 100644 index 000000000..e20f09b81 --- /dev/null +++ b/games-fps/quakespasm/quakespasm-0.96.0~git.recipe @@ -0,0 +1,102 @@ +SUMMARY="An engine for id software's Quake" +DESCRIPTION="QuakeSpasm is a Haiku friendly Quake Engine based on the SDL port of the popular \ +FitzQuake. +It includes some new features, important fixes, and aims for portability and 64 bit correctness. + +Installation: + +To install the game data under Haiku, copy the "id1" folder from a normal Quake installation \ +to the following directory: ~/config/non-packaged/data/QuakeSpasm/. Mods should be installed \ +to the same directory. + +Features: + +- Supports Windows, Mac OS X, Haiku, Linux, and other unices. +- Well tested on both 32 bit and 64 bit platforms. Well tested on both little endian and big \ +endian platforms. +- OpenGL improvements. In-game resolution changing. +- Widescreen FOV (field of view) support and automatic Hor+ FOV scaling. +- Improved sound support. Support for OGG, MP3, Opus and WAV external music files. +- Improved game controller support using SDL2. +- Countless bug fixes, security fixes and other improvements. +- Support for playing the 'Quake 2021 re-release' content." +HOMEPAGE="https://quakespasm.sourceforge.net/" +COPYRIGHT="1996-2001 Id Software, Inc. + 2002-2009 John Fitzgibbons and others + 2010-2014 QuakeSpasm developers" +LICENSE="GNU GPL v2" +REVISION="1" +srcGitRev="70df2b661e9c632d04825b259e63ad58c29c01ac" +SOURCE_URI="https://github.com/sezero/quakespasm/archive/$srcGitRev.tar.gz" +CHECKSUM_SHA256="b89ba914d061376945b1fbe2cd0631e162f4f0d835e004eba87a0a9cce107ad4" +SOURCE_DIR="quakespasm-$srcGitRev" +ADDITIONAL_FILES="QuakeSpasm.rdef.in + haiku_readme.txt" +PATCHES="quakespasm-$portVersion.patchset" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + quakespasm$secondaryArchSuffix = $portVersion + app:QuakeSpasm + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libogg$secondaryArchSuffix + lib:libmad$secondaryArchSuffix + lib:libSDL2_2.0$secondaryArchSuffix + lib:libvorbis$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libGL$secondaryArchSuffix + devel:libogg$secondaryArchSuffix + devel:libmad$secondaryArchSuffix + devel:libSDL2_2.0$secondaryArchSuffix + devel:libvorbis$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + " + +BUILD() +{ + cd $sourceDir/Quake + make $jobArgs DO_USERDIRS=1 USE_SDL2=1 -f Makefile +} + +INSTALL() +{ + local APP_SIGNATURE="application/x-vnd.QuakeSpasm" + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "${portVersion//~git}" | cut -d. -f3`" + local LONG_INFO="$SUMMARY" + sed \ + -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + -e "s|@LONG_INFO@|$LONG_INFO|" \ + $portDir/additional-files/QuakeSpasm.rdef.in > QuakeSpasm.rdef + + addResourcesToBinaries QuakeSpasm.rdef $sourceDir/Quake/quakespasm + mimeset -f $sourceDir/Quake/quakespasm + + mkdir -p $appsDir + cp -a $sourceDir/Quake/quakespasm $appsDir/QuakeSpasm + + mkdir -p $docDir + cp $sourceDir/Quakespasm.html $docDir/Quakespasm.html + cp $portDir/additional-files/haiku_readme.txt $docDir/haiku_readme.txt + + mkdir -p $dataDir/QuakeSpasm + cp $sourceDir/Quake/quakespasm.pak $dataDir/QuakeSpasm/quakespasm.pak + + addAppDeskbarSymlink $appsDir/QuakeSpasm +}