diff --git a/CMakeLists.txt b/CMakeLists.txt index c69520a..04c3b60 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,6 +15,9 @@ target_link_libraries(bconfig comctl32) add_executable(blog log.c) add_executable(blogtest logtest.c) +add_executable(ordinaliser ordinaliser.cpp) +target_link_libraries(ordinaliser imagehlp) + if (CMAKE_SIZEOF_VOID_P EQUAL 4) add_library(kernel32 SHARED kernel32.c) target_link_libraries(kernel32 -nostdlib) diff --git a/ordinaliser.cpp b/ordinaliser.cpp new file mode 100644 index 0000000..ae753e0 --- /dev/null +++ b/ordinaliser.cpp @@ -0,0 +1,262 @@ +#include +#include +#include + +BYTE *buffer; + +void printLastError() { + DWORD error = GetLastError(); + if (error == ERROR_FILE_NOT_FOUND) { + printf("File not found\n"); + } else if (error == ERROR_ACCESS_DENIED) { + printf("Access to file denied\n"); + } else { + printf("Error: %lu\n", error); + } +} + +int readInt(const DWORD pos) { + return buffer[pos] | buffer[pos + 1] << 8; +} + +void writeInt(const DWORD pos, const int value) { + buffer[pos] = value & 0xff; + buffer[pos + 1] = value >> 8; +} + +DWORD readDWORD(const DWORD pos) { + return buffer[pos] | buffer[pos + 1] << 8 | buffer[pos + 2] << 16 | buffer[pos + 3] << 24; +} + +void writeDWORD(const DWORD pos, const DWORD value) { + buffer[pos] = value & 0xff; + buffer[pos + 1] = value >> 8 & 0xff; + buffer[pos + 2] = value >> 16 & 0xff; + buffer[pos + 3] = value >> 24 & 0xff; +} + +LPSTR readString(DWORD pos) { + int size = 32; + char* string = new char[size]; + int i = 0; + while (i == 0 || string[i - 1] != '\0') { + if (i >= size) { + size += 32; + char* newString = new char[size]; + memcpy(newString, string, size - 32); + delete[] string; + string = newString; + } + string[i] = buffer[pos + i]; + i++; + } + return string; +} + +DWORD getRealAddress(DWORD *virtualAddresses, DWORD *realAddresses, DWORD sectionCount, DWORD address) { + int section = 0; + for (int i = 0; i < sectionCount; ++i) { + if (virtualAddresses[i] <= address) { + section = i; + } + } + return address - virtualAddresses[section] + realAddresses[section]; +} + +DWORD readAddress(DWORD *virtualAddresses, DWORD *realAddresses, DWORD sectionCount, DWORD pos) { + return getRealAddress(virtualAddresses, realAddresses, sectionCount, readDWORD(pos)); +} + +boolean writeFile(const LPTSTR name, const BYTE *buffer, const DWORD fileSize) { + HANDLE file = CreateFile(name, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + if (file == INVALID_HANDLE_VALUE) { + printLastError(); + delete[] buffer; + return false; + } + if (!WriteFile(file, buffer, fileSize, NULL, NULL)) { + printLastError(); + CloseHandle(file); + delete[] buffer; + return false; + } + CloseHandle(file); + return true; +} + +int main() { + LPTSTR cmdLine = GetCommandLine(); + LPTSTR space = strrchr(cmdLine, ' '); + if (space == NULL) { + printf("Error: No Path provided\n"); + return 0; + } + LPTSTR originalFile = space + sizeof(TCHAR); + if (strlen(originalFile) > MAX_PATH - 10 * sizeof(TCHAR)) { + printf("Error: File name is too long\n"); + return 1; + } + printf("Copying original file... "); + TCHAR patchedFile[MAX_PATH]; + sprintf(patchedFile, "%s.patched", originalFile); + if (!CopyFile(originalFile, patchedFile, FALSE)) { + printLastError(); + return 1; + } + printf("Done\n"); + + printf("Opening file for patching... "); + HANDLE file = CreateFile(patchedFile, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + if (file == INVALID_HANDLE_VALUE) { + printLastError(); + return 1; + } + DWORD fileSize = GetFileSize(file, NULL); + if (fileSize == INVALID_FILE_SIZE) { + printLastError(); + return 1; + } + buffer = new BYTE[fileSize]; + DWORD bytesRead; + ReadFile(file, buffer, fileSize, &bytesRead, NULL); + CloseHandle(file); + if (bytesRead != fileSize) { + printLastError(); + delete[] buffer; + return 1; + } + printf("Done\n"); + + printf("Locating PE Header... "); + if (fileSize < 2 || buffer[0] != 'M' || buffer[1] != 'Z') { + printf("Not a valid DLL (Invalid MZ Header)"); + delete[] buffer; + return 1; + } + DWORD peHeader = readDWORD(0x3C); + if (fileSize <= peHeader + 3 || buffer[peHeader] != 'P' || buffer[peHeader + 1] != 'E' || buffer[peHeader + 2] != '\0' || buffer[peHeader + 3] != '\0') { + printf("Not a valid DLL (Invalid PE Header)"); + delete[] buffer; + return 1; + } + if (fileSize <= peHeader + 0x19 || readInt(peHeader + 0x18) != 0x10b) { + printf("Unsupported DLL (Not a normal executable)"); + delete[] buffer; + return 1; + } + printf("0x%lx\n", peHeader); + + printf("Locating Sections... "); + DWORD sectionTable = peHeader + 0x18 + 224; + WORD sectionCount = readInt(peHeader + 6); + printf("%u\n", sectionCount); + DWORD virtualAddresses[sectionCount]; + DWORD realAddresses[sectionCount]; + for (DWORD i = 0; i < sectionCount; i++) { + LPSTR name = readString(sectionTable + i * 40); + printf("Locating %s Section... ", name); + delete[] name; + DWORD virtualAddress = readDWORD(sectionTable + i * 40 + 12); + DWORD realAddress = readDWORD(sectionTable + i * 40 + 20); + virtualAddresses[i] = virtualAddress; + realAddresses[i] = realAddress; + printf("0x%lx / %lu\n", virtualAddress, realAddress); + } + + printf("Locating Export Address Table... "); + DWORD exportTable = readAddress(virtualAddresses, realAddresses, sectionCount, peHeader + 0x18 + 96); + printf("0x%lx\n", exportTable); + + printf("Reading Export Address Table... "); + DWORD exportsCount = readDWORD(exportTable + 20); + DWORD functionCount = readDWORD(exportTable + 24); + DWORD exportAddressTable = readAddress(virtualAddresses, realAddresses, sectionCount, exportTable + 28); + DWORD namePointerTable = readAddress(virtualAddresses, realAddresses, sectionCount, exportTable + 32); + DWORD ordinalTable = readAddress(virtualAddresses, realAddresses, sectionCount, exportTable + 36); + if (exportsCount != functionCount) { + printf("DLL already contains ordinal exports"); + delete[] buffer; + return 1; + } + printf("Done\n"); + + printf("Patching Ordinals... "); + DWORD ordinalBase = -1; + DWORD ordinalEnd = 0; + DWORD exportAddresses[exportsCount]; + for (int i = 0; i < functionCount; ++i) { + DWORD namePtr = readAddress(virtualAddresses, realAddresses, sectionCount, namePointerTable + i * 4); + LPSTR name = readString(namePtr); + if (strstr(name, "ordinal") == name) { + DWORD ordinal = std::stoi(name + 7); + if (ordinal < ordinalBase) { + ordinalBase = ordinal; + } + if (ordinal > ordinalEnd) { + ordinalEnd = ordinal; + } + } + exportAddresses[i] = readDWORD(exportAddressTable + i * 4); + writeDWORD(exportAddressTable + i * 4, NULL); + delete[] name; + } + + for (int i = 0; i < functionCount; ++i) { + DWORD namePtr = readAddress(virtualAddresses, realAddresses, sectionCount, namePointerTable + i * 4); + LPSTR name = readString(namePtr); + DWORD realOrdinal; + if (strstr(name, "ordinal") == name) { + DWORD ordinal = std::stoi(name + 7); + + DWORD stringAddr = /*readAddress(virtualAddresses, realAddresses, sectionCount, */exportAddresses[i] - 0x4600;//); + LPSTR forwardString = readString(stringAddr); + char* delimiter = strchr(forwardString, '.'); + if (delimiter == NULL) { + printf("Ordinal Forward String has unexpected format"); + delete[] buffer; + return 1; + } + buffer[stringAddr + (delimiter - forwardString) + 1] = '#'; + delete[] forwardString; + + realOrdinal = ordinal - ordinalBase; + } else if (strstr(name, "_ordFiller") == name) { + writeInt(ordinalTable + i * 2, 0); + delete[] name; + continue; + } else { + ordinalEnd++; + realOrdinal = ordinalEnd - ordinalBase; + } + writeInt(ordinalTable + i * 2, realOrdinal); + writeDWORD(exportAddressTable + realOrdinal * 4, exportAddresses[i]); + delete[] name; + } + writeDWORD(exportTable + 16, ordinalBase); + printf("Done\n"); + + printf("Writing to patched file... "); + if (!writeFile(patchedFile, buffer, fileSize)) { + return 1; + } + printf("Done\n"); + + printf("Generating checksum... "); + DWORD originalChecksum; + DWORD checksum; + if (MapFileAndCheckSum(patchedFile, &originalChecksum, &checksum) != CHECKSUM_SUCCESS) { + printLastError(); + return 1; + } + printf("0x%lx\n", checksum); + + printf("Writing checksum to patched file... "); + writeDWORD(peHeader + 0x18 + 64, checksum); + if (!writeFile(patchedFile, buffer, fileSize)) { + return 1; + } + printf("Finished\n"); + + delete[] buffer; + return 0; +} diff --git a/shell32.c b/shell32.c index 09be471..09a8d81 100644 --- a/shell32.c +++ b/shell32.c @@ -1,5 +1,5 @@ #include "common.h" -//#include "shell32.h" +#include "shell32.h" void unused() { logDebug("MonitorFromWindow: Called"); diff --git a/shell32.h b/shell32.h index 5e67b1d..4c4dd7f 100644 --- a/shell32.h +++ b/shell32.h @@ -2,7 +2,8 @@ #define BCOMPAT_SHELL32_H #define FORWARDED_EXPORT(exp_name) asm (".section .drectve\n\t.ascii \" -export:" #exp_name "=_shell32." #exp_name "\""); -#define FORWARDED_ORDINAL(ordinal) asm (".section .drectve\n\t.ascii \" -export:" #ordinal "=_shell32@" #ordinal "\""); +#define FORWARDED_ORDINAL(ordinal) asm (".section .drectve\n\t.ascii \" -export:ordinal" #ordinal "=_shell32._" #ordinal "\""); +#define ORDINAL_FILLER(ordinal) asm (".section .drectve\n\t.ascii \" -export:_ordFiller" #ordinal "=invalid.invalid\""); FORWARDED_ORDINAL(2) FORWARDED_EXPORT(CheckEscapesA) @@ -326,6 +327,187 @@ FORWARDED_EXPORT(StrStrIA) FORWARDED_EXPORT(StrStrIW) FORWARDED_EXPORT(StrStrW) FORWARDED_EXPORT(WOWShellExecute) +ORDINAL_FILLER(324) +ORDINAL_FILLER(325) +ORDINAL_FILLER(326) +ORDINAL_FILLER(327) +ORDINAL_FILLER(328) +ORDINAL_FILLER(329) +ORDINAL_FILLER(330) +ORDINAL_FILLER(331) +ORDINAL_FILLER(332) +ORDINAL_FILLER(333) +ORDINAL_FILLER(334) +ORDINAL_FILLER(335) +ORDINAL_FILLER(336) +ORDINAL_FILLER(337) +ORDINAL_FILLER(338) +ORDINAL_FILLER(339) +ORDINAL_FILLER(340) +ORDINAL_FILLER(341) +ORDINAL_FILLER(342) +ORDINAL_FILLER(343) +ORDINAL_FILLER(344) +ORDINAL_FILLER(345) +ORDINAL_FILLER(346) +ORDINAL_FILLER(347) +ORDINAL_FILLER(348) +ORDINAL_FILLER(349) +ORDINAL_FILLER(350) +ORDINAL_FILLER(351) +ORDINAL_FILLER(352) +ORDINAL_FILLER(353) +ORDINAL_FILLER(354) +ORDINAL_FILLER(355) +ORDINAL_FILLER(356) +ORDINAL_FILLER(357) +ORDINAL_FILLER(358) +ORDINAL_FILLER(359) +ORDINAL_FILLER(360) +ORDINAL_FILLER(361) +ORDINAL_FILLER(362) +ORDINAL_FILLER(363) +ORDINAL_FILLER(364) +ORDINAL_FILLER(365) +ORDINAL_FILLER(366) +ORDINAL_FILLER(367) +ORDINAL_FILLER(368) +ORDINAL_FILLER(369) +ORDINAL_FILLER(370) +ORDINAL_FILLER(371) +ORDINAL_FILLER(372) +ORDINAL_FILLER(373) +ORDINAL_FILLER(374) +ORDINAL_FILLER(375) +ORDINAL_FILLER(376) +ORDINAL_FILLER(377) +ORDINAL_FILLER(378) +ORDINAL_FILLER(379) +ORDINAL_FILLER(380) +ORDINAL_FILLER(381) +ORDINAL_FILLER(382) +ORDINAL_FILLER(383) +ORDINAL_FILLER(384) +ORDINAL_FILLER(385) +ORDINAL_FILLER(386) +ORDINAL_FILLER(387) +ORDINAL_FILLER(388) +ORDINAL_FILLER(389) +ORDINAL_FILLER(390) +ORDINAL_FILLER(391) +ORDINAL_FILLER(392) +ORDINAL_FILLER(393) +ORDINAL_FILLER(394) +ORDINAL_FILLER(395) +ORDINAL_FILLER(396) +ORDINAL_FILLER(397) +ORDINAL_FILLER(398) +ORDINAL_FILLER(399) +ORDINAL_FILLER(400) +ORDINAL_FILLER(401) +ORDINAL_FILLER(402) +ORDINAL_FILLER(403) +ORDINAL_FILLER(404) +ORDINAL_FILLER(405) +ORDINAL_FILLER(406) +ORDINAL_FILLER(407) +ORDINAL_FILLER(408) +ORDINAL_FILLER(409) +ORDINAL_FILLER(410) +ORDINAL_FILLER(411) +ORDINAL_FILLER(412) +ORDINAL_FILLER(413) +ORDINAL_FILLER(414) +ORDINAL_FILLER(415) +ORDINAL_FILLER(416) +ORDINAL_FILLER(417) +ORDINAL_FILLER(418) +ORDINAL_FILLER(419) +ORDINAL_FILLER(420) +ORDINAL_FILLER(421) +ORDINAL_FILLER(422) +ORDINAL_FILLER(423) +ORDINAL_FILLER(424) +ORDINAL_FILLER(425) +ORDINAL_FILLER(426) +ORDINAL_FILLER(427) +ORDINAL_FILLER(428) +ORDINAL_FILLER(429) +ORDINAL_FILLER(430) +ORDINAL_FILLER(431) +ORDINAL_FILLER(432) +ORDINAL_FILLER(433) +ORDINAL_FILLER(434) +ORDINAL_FILLER(435) +ORDINAL_FILLER(436) +ORDINAL_FILLER(437) +ORDINAL_FILLER(438) +ORDINAL_FILLER(439) +ORDINAL_FILLER(440) +ORDINAL_FILLER(441) +ORDINAL_FILLER(442) +ORDINAL_FILLER(443) +ORDINAL_FILLER(444) +ORDINAL_FILLER(445) +ORDINAL_FILLER(446) +ORDINAL_FILLER(447) +ORDINAL_FILLER(448) +ORDINAL_FILLER(449) +ORDINAL_FILLER(450) +ORDINAL_FILLER(451) +ORDINAL_FILLER(452) +ORDINAL_FILLER(453) +ORDINAL_FILLER(454) +ORDINAL_FILLER(455) +ORDINAL_FILLER(456) +ORDINAL_FILLER(457) +ORDINAL_FILLER(458) +ORDINAL_FILLER(459) +ORDINAL_FILLER(460) +ORDINAL_FILLER(461) +ORDINAL_FILLER(462) +ORDINAL_FILLER(463) +ORDINAL_FILLER(464) +ORDINAL_FILLER(465) +ORDINAL_FILLER(466) +ORDINAL_FILLER(467) +ORDINAL_FILLER(468) +ORDINAL_FILLER(469) +ORDINAL_FILLER(470) +ORDINAL_FILLER(471) +ORDINAL_FILLER(472) +ORDINAL_FILLER(473) +ORDINAL_FILLER(474) +ORDINAL_FILLER(475) +ORDINAL_FILLER(476) +ORDINAL_FILLER(477) +ORDINAL_FILLER(478) +ORDINAL_FILLER(479) +ORDINAL_FILLER(480) +ORDINAL_FILLER(481) +ORDINAL_FILLER(482) +ORDINAL_FILLER(483) +ORDINAL_FILLER(484) +ORDINAL_FILLER(485) +ORDINAL_FILLER(486) +ORDINAL_FILLER(487) +ORDINAL_FILLER(488) +ORDINAL_FILLER(489) +ORDINAL_FILLER(490) +ORDINAL_FILLER(491) +ORDINAL_FILLER(492) +ORDINAL_FILLER(493) +ORDINAL_FILLER(494) +ORDINAL_FILLER(495) +ORDINAL_FILLER(496) +ORDINAL_FILLER(497) +ORDINAL_FILLER(498) +ORDINAL_FILLER(499) +ORDINAL_FILLER(500) +ORDINAL_FILLER(501) +ORDINAL_FILLER(502) +ORDINAL_FILLER(503) +ORDINAL_FILLER(504) FORWARDED_ORDINAL(505) FORWARDED_ORDINAL(506) FORWARDED_ORDINAL(507) @@ -334,26 +516,993 @@ FORWARDED_ORDINAL(509) FORWARDED_ORDINAL(510) FORWARDED_ORDINAL(511) FORWARDED_ORDINAL(512) +ORDINAL_FILLER(513) +ORDINAL_FILLER(514) +ORDINAL_FILLER(515) +ORDINAL_FILLER(516) +ORDINAL_FILLER(517) +ORDINAL_FILLER(518) +ORDINAL_FILLER(519) FORWARDED_ORDINAL(520) FORWARDED_ORDINAL(521) FORWARDED_ORDINAL(522) FORWARDED_ORDINAL(523) FORWARDED_ORDINAL(524) FORWARDED_ORDINAL(525) +ORDINAL_FILLER(526) +ORDINAL_FILLER(527) +ORDINAL_FILLER(528) +ORDINAL_FILLER(529) +ORDINAL_FILLER(530) +ORDINAL_FILLER(531) +ORDINAL_FILLER(532) +ORDINAL_FILLER(533) +ORDINAL_FILLER(534) +ORDINAL_FILLER(535) +ORDINAL_FILLER(536) +ORDINAL_FILLER(537) +ORDINAL_FILLER(538) +ORDINAL_FILLER(539) +ORDINAL_FILLER(540) +ORDINAL_FILLER(541) +ORDINAL_FILLER(542) +ORDINAL_FILLER(543) +ORDINAL_FILLER(544) +ORDINAL_FILLER(545) +ORDINAL_FILLER(546) +ORDINAL_FILLER(547) +ORDINAL_FILLER(548) +ORDINAL_FILLER(549) +ORDINAL_FILLER(550) +ORDINAL_FILLER(551) +ORDINAL_FILLER(552) +ORDINAL_FILLER(553) +ORDINAL_FILLER(554) +ORDINAL_FILLER(555) +ORDINAL_FILLER(556) +ORDINAL_FILLER(557) +ORDINAL_FILLER(558) +ORDINAL_FILLER(559) +ORDINAL_FILLER(560) +ORDINAL_FILLER(561) +ORDINAL_FILLER(562) +ORDINAL_FILLER(563) +ORDINAL_FILLER(564) +ORDINAL_FILLER(565) +ORDINAL_FILLER(566) +ORDINAL_FILLER(567) +ORDINAL_FILLER(568) +ORDINAL_FILLER(569) +ORDINAL_FILLER(570) +ORDINAL_FILLER(571) +ORDINAL_FILLER(572) +ORDINAL_FILLER(573) +ORDINAL_FILLER(574) +ORDINAL_FILLER(575) +ORDINAL_FILLER(576) +ORDINAL_FILLER(577) +ORDINAL_FILLER(578) +ORDINAL_FILLER(579) +ORDINAL_FILLER(580) +ORDINAL_FILLER(581) +ORDINAL_FILLER(582) +ORDINAL_FILLER(583) +ORDINAL_FILLER(584) +ORDINAL_FILLER(585) +ORDINAL_FILLER(586) +ORDINAL_FILLER(587) +ORDINAL_FILLER(588) +ORDINAL_FILLER(589) +ORDINAL_FILLER(590) +ORDINAL_FILLER(591) +ORDINAL_FILLER(592) +ORDINAL_FILLER(593) +ORDINAL_FILLER(594) +ORDINAL_FILLER(595) +ORDINAL_FILLER(596) +ORDINAL_FILLER(597) +ORDINAL_FILLER(598) +ORDINAL_FILLER(599) +ORDINAL_FILLER(600) +ORDINAL_FILLER(601) +ORDINAL_FILLER(602) +ORDINAL_FILLER(603) +ORDINAL_FILLER(604) +ORDINAL_FILLER(605) +ORDINAL_FILLER(606) +ORDINAL_FILLER(607) +ORDINAL_FILLER(608) +ORDINAL_FILLER(609) +ORDINAL_FILLER(610) +ORDINAL_FILLER(611) +ORDINAL_FILLER(612) +ORDINAL_FILLER(613) +ORDINAL_FILLER(614) +ORDINAL_FILLER(615) +ORDINAL_FILLER(616) +ORDINAL_FILLER(617) +ORDINAL_FILLER(618) +ORDINAL_FILLER(619) +ORDINAL_FILLER(620) +ORDINAL_FILLER(621) +ORDINAL_FILLER(622) +ORDINAL_FILLER(623) +ORDINAL_FILLER(624) +ORDINAL_FILLER(625) +ORDINAL_FILLER(626) +ORDINAL_FILLER(627) +ORDINAL_FILLER(628) +ORDINAL_FILLER(629) +ORDINAL_FILLER(630) +ORDINAL_FILLER(631) +ORDINAL_FILLER(632) +ORDINAL_FILLER(633) +ORDINAL_FILLER(634) +ORDINAL_FILLER(635) +ORDINAL_FILLER(636) +ORDINAL_FILLER(637) +ORDINAL_FILLER(638) +ORDINAL_FILLER(639) FORWARDED_ORDINAL(640) FORWARDED_ORDINAL(641) +ORDINAL_FILLER(642) FORWARDED_ORDINAL(643) FORWARDED_ORDINAL(644) FORWARDED_ORDINAL(645) FORWARDED_ORDINAL(646) FORWARDED_ORDINAL(647) FORWARDED_ORDINAL(648) +ORDINAL_FILLER(649) FORWARDED_ORDINAL(650) FORWARDED_ORDINAL(651) FORWARDED_ORDINAL(652) FORWARDED_ORDINAL(653) +ORDINAL_FILLER(654) +ORDINAL_FILLER(655) +ORDINAL_FILLER(656) +ORDINAL_FILLER(657) +ORDINAL_FILLER(658) +ORDINAL_FILLER(659) FORWARDED_ORDINAL(660) +ORDINAL_FILLER(661) +ORDINAL_FILLER(662) +ORDINAL_FILLER(663) +ORDINAL_FILLER(664) +ORDINAL_FILLER(665) +ORDINAL_FILLER(666) +ORDINAL_FILLER(667) +ORDINAL_FILLER(668) +ORDINAL_FILLER(669) +ORDINAL_FILLER(670) +ORDINAL_FILLER(671) +ORDINAL_FILLER(672) +ORDINAL_FILLER(673) +ORDINAL_FILLER(674) +ORDINAL_FILLER(675) +ORDINAL_FILLER(676) +ORDINAL_FILLER(677) +ORDINAL_FILLER(678) +ORDINAL_FILLER(679) FORWARDED_ORDINAL(680) +ORDINAL_FILLER(681) +ORDINAL_FILLER(682) +ORDINAL_FILLER(683) +ORDINAL_FILLER(684) +ORDINAL_FILLER(685) +ORDINAL_FILLER(686) +ORDINAL_FILLER(687) +ORDINAL_FILLER(688) +ORDINAL_FILLER(689) +ORDINAL_FILLER(690) +ORDINAL_FILLER(691) +ORDINAL_FILLER(692) +ORDINAL_FILLER(693) +ORDINAL_FILLER(694) +ORDINAL_FILLER(695) +ORDINAL_FILLER(696) +ORDINAL_FILLER(697) +ORDINAL_FILLER(698) +ORDINAL_FILLER(699) +ORDINAL_FILLER(700) +ORDINAL_FILLER(701) +ORDINAL_FILLER(702) +ORDINAL_FILLER(703) +ORDINAL_FILLER(704) +ORDINAL_FILLER(705) +ORDINAL_FILLER(706) +ORDINAL_FILLER(707) +ORDINAL_FILLER(708) +ORDINAL_FILLER(709) +ORDINAL_FILLER(710) +ORDINAL_FILLER(711) +ORDINAL_FILLER(712) +ORDINAL_FILLER(713) +ORDINAL_FILLER(714) +ORDINAL_FILLER(715) +ORDINAL_FILLER(716) +ORDINAL_FILLER(717) +ORDINAL_FILLER(718) +ORDINAL_FILLER(719) +ORDINAL_FILLER(720) +ORDINAL_FILLER(721) +ORDINAL_FILLER(722) +ORDINAL_FILLER(723) +ORDINAL_FILLER(724) +ORDINAL_FILLER(725) +ORDINAL_FILLER(726) +ORDINAL_FILLER(727) +ORDINAL_FILLER(728) +ORDINAL_FILLER(729) +ORDINAL_FILLER(730) +ORDINAL_FILLER(731) +ORDINAL_FILLER(732) +ORDINAL_FILLER(733) +ORDINAL_FILLER(734) +ORDINAL_FILLER(735) +ORDINAL_FILLER(736) +ORDINAL_FILLER(737) +ORDINAL_FILLER(738) +ORDINAL_FILLER(739) +ORDINAL_FILLER(740) +ORDINAL_FILLER(741) +ORDINAL_FILLER(742) +ORDINAL_FILLER(743) +ORDINAL_FILLER(744) +ORDINAL_FILLER(745) +ORDINAL_FILLER(746) +ORDINAL_FILLER(747) +ORDINAL_FILLER(748) +ORDINAL_FILLER(749) +ORDINAL_FILLER(750) +ORDINAL_FILLER(751) +ORDINAL_FILLER(752) +ORDINAL_FILLER(753) +ORDINAL_FILLER(754) +ORDINAL_FILLER(755) +ORDINAL_FILLER(756) +ORDINAL_FILLER(757) +ORDINAL_FILLER(758) +ORDINAL_FILLER(759) +ORDINAL_FILLER(760) +ORDINAL_FILLER(761) +ORDINAL_FILLER(762) +ORDINAL_FILLER(763) +ORDINAL_FILLER(764) +ORDINAL_FILLER(765) +ORDINAL_FILLER(766) +ORDINAL_FILLER(767) +ORDINAL_FILLER(768) +ORDINAL_FILLER(769) +ORDINAL_FILLER(770) +ORDINAL_FILLER(771) +ORDINAL_FILLER(772) +ORDINAL_FILLER(773) +ORDINAL_FILLER(774) +ORDINAL_FILLER(775) +ORDINAL_FILLER(776) +ORDINAL_FILLER(777) +ORDINAL_FILLER(778) +ORDINAL_FILLER(779) +ORDINAL_FILLER(780) +ORDINAL_FILLER(781) +ORDINAL_FILLER(782) +ORDINAL_FILLER(783) +ORDINAL_FILLER(784) +ORDINAL_FILLER(785) +ORDINAL_FILLER(786) +ORDINAL_FILLER(787) +ORDINAL_FILLER(788) +ORDINAL_FILLER(789) +ORDINAL_FILLER(790) +ORDINAL_FILLER(791) +ORDINAL_FILLER(792) +ORDINAL_FILLER(793) +ORDINAL_FILLER(794) +ORDINAL_FILLER(795) +ORDINAL_FILLER(796) +ORDINAL_FILLER(797) +ORDINAL_FILLER(798) +ORDINAL_FILLER(799) +ORDINAL_FILLER(800) +ORDINAL_FILLER(801) +ORDINAL_FILLER(802) +ORDINAL_FILLER(803) +ORDINAL_FILLER(804) +ORDINAL_FILLER(805) +ORDINAL_FILLER(806) +ORDINAL_FILLER(807) +ORDINAL_FILLER(808) +ORDINAL_FILLER(809) +ORDINAL_FILLER(810) +ORDINAL_FILLER(811) +ORDINAL_FILLER(812) +ORDINAL_FILLER(813) +ORDINAL_FILLER(814) +ORDINAL_FILLER(815) +ORDINAL_FILLER(816) +ORDINAL_FILLER(817) +ORDINAL_FILLER(818) +ORDINAL_FILLER(819) +ORDINAL_FILLER(820) +ORDINAL_FILLER(821) +ORDINAL_FILLER(822) +ORDINAL_FILLER(823) +ORDINAL_FILLER(824) +ORDINAL_FILLER(825) +ORDINAL_FILLER(826) +ORDINAL_FILLER(827) +ORDINAL_FILLER(828) +ORDINAL_FILLER(829) +ORDINAL_FILLER(830) +ORDINAL_FILLER(831) +ORDINAL_FILLER(832) +ORDINAL_FILLER(833) +ORDINAL_FILLER(834) +ORDINAL_FILLER(835) +ORDINAL_FILLER(836) +ORDINAL_FILLER(837) +ORDINAL_FILLER(838) +ORDINAL_FILLER(839) +ORDINAL_FILLER(840) +ORDINAL_FILLER(841) +ORDINAL_FILLER(842) +ORDINAL_FILLER(843) +ORDINAL_FILLER(844) +ORDINAL_FILLER(845) +ORDINAL_FILLER(846) +ORDINAL_FILLER(847) +ORDINAL_FILLER(848) +ORDINAL_FILLER(849) +ORDINAL_FILLER(850) +ORDINAL_FILLER(851) +ORDINAL_FILLER(852) +ORDINAL_FILLER(853) +ORDINAL_FILLER(854) +ORDINAL_FILLER(855) +ORDINAL_FILLER(856) +ORDINAL_FILLER(857) +ORDINAL_FILLER(858) +ORDINAL_FILLER(859) +ORDINAL_FILLER(860) +ORDINAL_FILLER(861) +ORDINAL_FILLER(862) +ORDINAL_FILLER(863) +ORDINAL_FILLER(864) +ORDINAL_FILLER(865) +ORDINAL_FILLER(866) +ORDINAL_FILLER(867) +ORDINAL_FILLER(868) +ORDINAL_FILLER(869) +ORDINAL_FILLER(870) +ORDINAL_FILLER(871) +ORDINAL_FILLER(872) +ORDINAL_FILLER(873) +ORDINAL_FILLER(874) +ORDINAL_FILLER(875) +ORDINAL_FILLER(876) +ORDINAL_FILLER(877) +ORDINAL_FILLER(878) +ORDINAL_FILLER(879) +ORDINAL_FILLER(880) +ORDINAL_FILLER(881) +ORDINAL_FILLER(882) +ORDINAL_FILLER(883) +ORDINAL_FILLER(884) +ORDINAL_FILLER(885) +ORDINAL_FILLER(886) +ORDINAL_FILLER(887) +ORDINAL_FILLER(888) +ORDINAL_FILLER(889) +ORDINAL_FILLER(890) +ORDINAL_FILLER(891) +ORDINAL_FILLER(892) +ORDINAL_FILLER(893) +ORDINAL_FILLER(894) +ORDINAL_FILLER(895) +ORDINAL_FILLER(896) +ORDINAL_FILLER(897) +ORDINAL_FILLER(898) +ORDINAL_FILLER(899) +ORDINAL_FILLER(900) +ORDINAL_FILLER(901) +ORDINAL_FILLER(902) +ORDINAL_FILLER(903) +ORDINAL_FILLER(904) +ORDINAL_FILLER(905) +ORDINAL_FILLER(906) +ORDINAL_FILLER(907) +ORDINAL_FILLER(908) +ORDINAL_FILLER(909) +ORDINAL_FILLER(910) +ORDINAL_FILLER(911) +ORDINAL_FILLER(912) +ORDINAL_FILLER(913) +ORDINAL_FILLER(914) +ORDINAL_FILLER(915) +ORDINAL_FILLER(916) +ORDINAL_FILLER(917) +ORDINAL_FILLER(918) +ORDINAL_FILLER(919) +ORDINAL_FILLER(920) +ORDINAL_FILLER(921) +ORDINAL_FILLER(922) +ORDINAL_FILLER(923) +ORDINAL_FILLER(924) +ORDINAL_FILLER(925) +ORDINAL_FILLER(926) +ORDINAL_FILLER(927) +ORDINAL_FILLER(928) +ORDINAL_FILLER(929) +ORDINAL_FILLER(930) +ORDINAL_FILLER(931) +ORDINAL_FILLER(932) +ORDINAL_FILLER(933) +ORDINAL_FILLER(934) +ORDINAL_FILLER(935) +ORDINAL_FILLER(936) +ORDINAL_FILLER(937) +ORDINAL_FILLER(938) +ORDINAL_FILLER(939) +ORDINAL_FILLER(940) +ORDINAL_FILLER(941) +ORDINAL_FILLER(942) +ORDINAL_FILLER(943) +ORDINAL_FILLER(944) +ORDINAL_FILLER(945) +ORDINAL_FILLER(946) +ORDINAL_FILLER(947) +ORDINAL_FILLER(948) +ORDINAL_FILLER(949) +ORDINAL_FILLER(950) +ORDINAL_FILLER(951) +ORDINAL_FILLER(952) +ORDINAL_FILLER(953) +ORDINAL_FILLER(954) +ORDINAL_FILLER(955) +ORDINAL_FILLER(956) +ORDINAL_FILLER(957) +ORDINAL_FILLER(958) +ORDINAL_FILLER(959) +ORDINAL_FILLER(960) +ORDINAL_FILLER(961) +ORDINAL_FILLER(962) +ORDINAL_FILLER(963) +ORDINAL_FILLER(964) +ORDINAL_FILLER(965) +ORDINAL_FILLER(966) +ORDINAL_FILLER(967) +ORDINAL_FILLER(968) +ORDINAL_FILLER(969) +ORDINAL_FILLER(970) +ORDINAL_FILLER(971) +ORDINAL_FILLER(972) +ORDINAL_FILLER(973) +ORDINAL_FILLER(974) +ORDINAL_FILLER(975) +ORDINAL_FILLER(976) +ORDINAL_FILLER(977) +ORDINAL_FILLER(978) +ORDINAL_FILLER(979) +ORDINAL_FILLER(980) +ORDINAL_FILLER(981) +ORDINAL_FILLER(982) +ORDINAL_FILLER(983) +ORDINAL_FILLER(984) +ORDINAL_FILLER(985) +ORDINAL_FILLER(986) +ORDINAL_FILLER(987) +ORDINAL_FILLER(988) +ORDINAL_FILLER(989) +ORDINAL_FILLER(990) +ORDINAL_FILLER(991) +ORDINAL_FILLER(992) +ORDINAL_FILLER(993) +ORDINAL_FILLER(994) +ORDINAL_FILLER(995) +ORDINAL_FILLER(996) +ORDINAL_FILLER(997) +ORDINAL_FILLER(998) +ORDINAL_FILLER(999) +ORDINAL_FILLER(1000) +ORDINAL_FILLER(1001) +ORDINAL_FILLER(1002) +ORDINAL_FILLER(1003) +ORDINAL_FILLER(1004) +ORDINAL_FILLER(1005) +ORDINAL_FILLER(1006) +ORDINAL_FILLER(1007) +ORDINAL_FILLER(1008) +ORDINAL_FILLER(1009) +ORDINAL_FILLER(1010) +ORDINAL_FILLER(1011) +ORDINAL_FILLER(1012) +ORDINAL_FILLER(1013) +ORDINAL_FILLER(1014) +ORDINAL_FILLER(1015) +ORDINAL_FILLER(1016) +ORDINAL_FILLER(1017) +ORDINAL_FILLER(1018) +ORDINAL_FILLER(1019) +ORDINAL_FILLER(1020) +ORDINAL_FILLER(1021) +ORDINAL_FILLER(1022) +ORDINAL_FILLER(1023) +ORDINAL_FILLER(1024) +ORDINAL_FILLER(1025) +ORDINAL_FILLER(1026) +ORDINAL_FILLER(1027) +ORDINAL_FILLER(1028) +ORDINAL_FILLER(1029) +ORDINAL_FILLER(1030) +ORDINAL_FILLER(1031) +ORDINAL_FILLER(1032) +ORDINAL_FILLER(1033) +ORDINAL_FILLER(1034) +ORDINAL_FILLER(1035) +ORDINAL_FILLER(1036) +ORDINAL_FILLER(1037) +ORDINAL_FILLER(1038) +ORDINAL_FILLER(1039) +ORDINAL_FILLER(1040) +ORDINAL_FILLER(1041) +ORDINAL_FILLER(1042) +ORDINAL_FILLER(1043) +ORDINAL_FILLER(1044) +ORDINAL_FILLER(1045) +ORDINAL_FILLER(1046) +ORDINAL_FILLER(1047) +ORDINAL_FILLER(1048) +ORDINAL_FILLER(1049) +ORDINAL_FILLER(1050) +ORDINAL_FILLER(1051) +ORDINAL_FILLER(1052) +ORDINAL_FILLER(1053) +ORDINAL_FILLER(1054) +ORDINAL_FILLER(1055) +ORDINAL_FILLER(1056) +ORDINAL_FILLER(1057) +ORDINAL_FILLER(1058) +ORDINAL_FILLER(1059) +ORDINAL_FILLER(1060) +ORDINAL_FILLER(1061) +ORDINAL_FILLER(1062) +ORDINAL_FILLER(1063) +ORDINAL_FILLER(1064) +ORDINAL_FILLER(1065) +ORDINAL_FILLER(1066) +ORDINAL_FILLER(1067) +ORDINAL_FILLER(1068) +ORDINAL_FILLER(1069) +ORDINAL_FILLER(1070) +ORDINAL_FILLER(1071) +ORDINAL_FILLER(1072) +ORDINAL_FILLER(1073) +ORDINAL_FILLER(1074) +ORDINAL_FILLER(1075) +ORDINAL_FILLER(1076) +ORDINAL_FILLER(1077) +ORDINAL_FILLER(1078) +ORDINAL_FILLER(1079) +ORDINAL_FILLER(1080) +ORDINAL_FILLER(1081) +ORDINAL_FILLER(1082) +ORDINAL_FILLER(1083) +ORDINAL_FILLER(1084) +ORDINAL_FILLER(1085) +ORDINAL_FILLER(1086) +ORDINAL_FILLER(1087) +ORDINAL_FILLER(1088) +ORDINAL_FILLER(1089) +ORDINAL_FILLER(1090) +ORDINAL_FILLER(1091) +ORDINAL_FILLER(1092) +ORDINAL_FILLER(1093) +ORDINAL_FILLER(1094) +ORDINAL_FILLER(1095) +ORDINAL_FILLER(1096) +ORDINAL_FILLER(1097) +ORDINAL_FILLER(1098) +ORDINAL_FILLER(1099) +ORDINAL_FILLER(1100) +ORDINAL_FILLER(1101) +ORDINAL_FILLER(1102) +ORDINAL_FILLER(1103) +ORDINAL_FILLER(1104) +ORDINAL_FILLER(1105) +ORDINAL_FILLER(1106) +ORDINAL_FILLER(1107) +ORDINAL_FILLER(1108) +ORDINAL_FILLER(1109) +ORDINAL_FILLER(1110) +ORDINAL_FILLER(1111) +ORDINAL_FILLER(1112) +ORDINAL_FILLER(1113) +ORDINAL_FILLER(1114) +ORDINAL_FILLER(1115) +ORDINAL_FILLER(1116) +ORDINAL_FILLER(1117) +ORDINAL_FILLER(1118) +ORDINAL_FILLER(1119) +ORDINAL_FILLER(1120) +ORDINAL_FILLER(1121) +ORDINAL_FILLER(1122) +ORDINAL_FILLER(1123) +ORDINAL_FILLER(1124) +ORDINAL_FILLER(1125) +ORDINAL_FILLER(1126) +ORDINAL_FILLER(1127) +ORDINAL_FILLER(1128) +ORDINAL_FILLER(1129) +ORDINAL_FILLER(1130) +ORDINAL_FILLER(1131) +ORDINAL_FILLER(1132) +ORDINAL_FILLER(1133) +ORDINAL_FILLER(1134) +ORDINAL_FILLER(1135) +ORDINAL_FILLER(1136) +ORDINAL_FILLER(1137) +ORDINAL_FILLER(1138) +ORDINAL_FILLER(1139) +ORDINAL_FILLER(1140) +ORDINAL_FILLER(1141) +ORDINAL_FILLER(1142) +ORDINAL_FILLER(1143) +ORDINAL_FILLER(1144) +ORDINAL_FILLER(1145) +ORDINAL_FILLER(1146) +ORDINAL_FILLER(1147) +ORDINAL_FILLER(1148) +ORDINAL_FILLER(1149) +ORDINAL_FILLER(1150) +ORDINAL_FILLER(1151) +ORDINAL_FILLER(1152) +ORDINAL_FILLER(1153) +ORDINAL_FILLER(1154) +ORDINAL_FILLER(1155) +ORDINAL_FILLER(1156) +ORDINAL_FILLER(1157) +ORDINAL_FILLER(1158) +ORDINAL_FILLER(1159) +ORDINAL_FILLER(1160) +ORDINAL_FILLER(1161) +ORDINAL_FILLER(1162) +ORDINAL_FILLER(1163) +ORDINAL_FILLER(1164) +ORDINAL_FILLER(1165) +ORDINAL_FILLER(1166) +ORDINAL_FILLER(1167) +ORDINAL_FILLER(1168) +ORDINAL_FILLER(1169) +ORDINAL_FILLER(1170) +ORDINAL_FILLER(1171) +ORDINAL_FILLER(1172) +ORDINAL_FILLER(1173) +ORDINAL_FILLER(1174) +ORDINAL_FILLER(1175) +ORDINAL_FILLER(1176) +ORDINAL_FILLER(1177) +ORDINAL_FILLER(1178) +ORDINAL_FILLER(1179) +ORDINAL_FILLER(1180) +ORDINAL_FILLER(1181) +ORDINAL_FILLER(1182) +ORDINAL_FILLER(1183) +ORDINAL_FILLER(1184) +ORDINAL_FILLER(1185) +ORDINAL_FILLER(1186) +ORDINAL_FILLER(1187) +ORDINAL_FILLER(1188) +ORDINAL_FILLER(1189) +ORDINAL_FILLER(1190) +ORDINAL_FILLER(1191) +ORDINAL_FILLER(1192) +ORDINAL_FILLER(1193) +ORDINAL_FILLER(1194) +ORDINAL_FILLER(1195) +ORDINAL_FILLER(1196) +ORDINAL_FILLER(1197) +ORDINAL_FILLER(1198) +ORDINAL_FILLER(1199) +ORDINAL_FILLER(1200) +ORDINAL_FILLER(1201) +ORDINAL_FILLER(1202) +ORDINAL_FILLER(1203) +ORDINAL_FILLER(1204) +ORDINAL_FILLER(1205) +ORDINAL_FILLER(1206) +ORDINAL_FILLER(1207) +ORDINAL_FILLER(1208) +ORDINAL_FILLER(1209) +ORDINAL_FILLER(1210) +ORDINAL_FILLER(1211) +ORDINAL_FILLER(1212) +ORDINAL_FILLER(1213) +ORDINAL_FILLER(1214) +ORDINAL_FILLER(1215) +ORDINAL_FILLER(1216) FORWARDED_ORDINAL(1217) +ORDINAL_FILLER(1218) +ORDINAL_FILLER(1219) +ORDINAL_FILLER(1220) +ORDINAL_FILLER(1221) +ORDINAL_FILLER(1222) +ORDINAL_FILLER(1223) +ORDINAL_FILLER(1224) +ORDINAL_FILLER(1225) +ORDINAL_FILLER(1226) +ORDINAL_FILLER(1227) +ORDINAL_FILLER(1228) +ORDINAL_FILLER(1229) +ORDINAL_FILLER(1230) +ORDINAL_FILLER(1231) +ORDINAL_FILLER(1232) +ORDINAL_FILLER(1233) +ORDINAL_FILLER(1234) +ORDINAL_FILLER(1235) +ORDINAL_FILLER(1236) +ORDINAL_FILLER(1237) +ORDINAL_FILLER(1238) +ORDINAL_FILLER(1239) +ORDINAL_FILLER(1240) +ORDINAL_FILLER(1241) +ORDINAL_FILLER(1242) +ORDINAL_FILLER(1243) +ORDINAL_FILLER(1244) +ORDINAL_FILLER(1245) +ORDINAL_FILLER(1246) +ORDINAL_FILLER(1247) +ORDINAL_FILLER(1248) +ORDINAL_FILLER(1249) +ORDINAL_FILLER(1250) +ORDINAL_FILLER(1251) +ORDINAL_FILLER(1252) +ORDINAL_FILLER(1253) +ORDINAL_FILLER(1254) +ORDINAL_FILLER(1255) +ORDINAL_FILLER(1256) +ORDINAL_FILLER(1257) +ORDINAL_FILLER(1258) +ORDINAL_FILLER(1259) +ORDINAL_FILLER(1260) +ORDINAL_FILLER(1261) +ORDINAL_FILLER(1262) +ORDINAL_FILLER(1263) +ORDINAL_FILLER(1264) +ORDINAL_FILLER(1265) +ORDINAL_FILLER(1266) +ORDINAL_FILLER(1267) +ORDINAL_FILLER(1268) +ORDINAL_FILLER(1269) +ORDINAL_FILLER(1270) +ORDINAL_FILLER(1271) +ORDINAL_FILLER(1272) +ORDINAL_FILLER(1273) +ORDINAL_FILLER(1274) +ORDINAL_FILLER(1275) +ORDINAL_FILLER(1276) +ORDINAL_FILLER(1277) +ORDINAL_FILLER(1278) +ORDINAL_FILLER(1279) +ORDINAL_FILLER(1280) +ORDINAL_FILLER(1281) +ORDINAL_FILLER(1282) +ORDINAL_FILLER(1283) +ORDINAL_FILLER(1284) +ORDINAL_FILLER(1285) +ORDINAL_FILLER(1286) +ORDINAL_FILLER(1287) +ORDINAL_FILLER(1288) +ORDINAL_FILLER(1289) +ORDINAL_FILLER(1290) +ORDINAL_FILLER(1291) +ORDINAL_FILLER(1292) +ORDINAL_FILLER(1293) +ORDINAL_FILLER(1294) +ORDINAL_FILLER(1295) +ORDINAL_FILLER(1296) +ORDINAL_FILLER(1297) +ORDINAL_FILLER(1298) +ORDINAL_FILLER(1299) +ORDINAL_FILLER(1300) +ORDINAL_FILLER(1301) +ORDINAL_FILLER(1302) +ORDINAL_FILLER(1303) +ORDINAL_FILLER(1304) +ORDINAL_FILLER(1305) +ORDINAL_FILLER(1306) +ORDINAL_FILLER(1307) +ORDINAL_FILLER(1308) +ORDINAL_FILLER(1309) +ORDINAL_FILLER(1310) +ORDINAL_FILLER(1311) +ORDINAL_FILLER(1312) +ORDINAL_FILLER(1313) +ORDINAL_FILLER(1314) +ORDINAL_FILLER(1315) +ORDINAL_FILLER(1316) +ORDINAL_FILLER(1317) +ORDINAL_FILLER(1318) +ORDINAL_FILLER(1319) +ORDINAL_FILLER(1320) +ORDINAL_FILLER(1321) +ORDINAL_FILLER(1322) +ORDINAL_FILLER(1323) +ORDINAL_FILLER(1324) +ORDINAL_FILLER(1325) +ORDINAL_FILLER(1326) +ORDINAL_FILLER(1327) +ORDINAL_FILLER(1328) +ORDINAL_FILLER(1329) +ORDINAL_FILLER(1330) +ORDINAL_FILLER(1331) +ORDINAL_FILLER(1332) +ORDINAL_FILLER(1333) +ORDINAL_FILLER(1334) +ORDINAL_FILLER(1335) +ORDINAL_FILLER(1336) +ORDINAL_FILLER(1337) +ORDINAL_FILLER(1338) +ORDINAL_FILLER(1339) +ORDINAL_FILLER(1340) +ORDINAL_FILLER(1341) +ORDINAL_FILLER(1342) +ORDINAL_FILLER(1343) +ORDINAL_FILLER(1344) +ORDINAL_FILLER(1345) +ORDINAL_FILLER(1346) +ORDINAL_FILLER(1347) +ORDINAL_FILLER(1348) +ORDINAL_FILLER(1349) +ORDINAL_FILLER(1350) +ORDINAL_FILLER(1351) +ORDINAL_FILLER(1352) +ORDINAL_FILLER(1353) +ORDINAL_FILLER(1354) +ORDINAL_FILLER(1355) +ORDINAL_FILLER(1356) +ORDINAL_FILLER(1357) +ORDINAL_FILLER(1358) +ORDINAL_FILLER(1359) +ORDINAL_FILLER(1360) +ORDINAL_FILLER(1361) +ORDINAL_FILLER(1362) +ORDINAL_FILLER(1363) +ORDINAL_FILLER(1364) +ORDINAL_FILLER(1365) +ORDINAL_FILLER(1366) +ORDINAL_FILLER(1367) +ORDINAL_FILLER(1368) +ORDINAL_FILLER(1369) +ORDINAL_FILLER(1370) +ORDINAL_FILLER(1371) +ORDINAL_FILLER(1372) +ORDINAL_FILLER(1373) +ORDINAL_FILLER(1374) +ORDINAL_FILLER(1375) +ORDINAL_FILLER(1376) +ORDINAL_FILLER(1377) +ORDINAL_FILLER(1378) +ORDINAL_FILLER(1379) +ORDINAL_FILLER(1380) +ORDINAL_FILLER(1381) +ORDINAL_FILLER(1382) +ORDINAL_FILLER(1383) +ORDINAL_FILLER(1384) +ORDINAL_FILLER(1385) +ORDINAL_FILLER(1386) +ORDINAL_FILLER(1387) +ORDINAL_FILLER(1388) +ORDINAL_FILLER(1389) +ORDINAL_FILLER(1390) +ORDINAL_FILLER(1391) +ORDINAL_FILLER(1392) +ORDINAL_FILLER(1393) +ORDINAL_FILLER(1394) +ORDINAL_FILLER(1395) +ORDINAL_FILLER(1396) +ORDINAL_FILLER(1397) +ORDINAL_FILLER(1398) +ORDINAL_FILLER(1399) +ORDINAL_FILLER(1400) +ORDINAL_FILLER(1401) +ORDINAL_FILLER(1402) +ORDINAL_FILLER(1403) +ORDINAL_FILLER(1404) +ORDINAL_FILLER(1405) +ORDINAL_FILLER(1406) +ORDINAL_FILLER(1407) +ORDINAL_FILLER(1408) +ORDINAL_FILLER(1409) +ORDINAL_FILLER(1410) +ORDINAL_FILLER(1411) +ORDINAL_FILLER(1412) +ORDINAL_FILLER(1413) +ORDINAL_FILLER(1414) +ORDINAL_FILLER(1415) +ORDINAL_FILLER(1416) +ORDINAL_FILLER(1417) +ORDINAL_FILLER(1418) +ORDINAL_FILLER(1419) +ORDINAL_FILLER(1420) +ORDINAL_FILLER(1421) +ORDINAL_FILLER(1422) +ORDINAL_FILLER(1423) +ORDINAL_FILLER(1424) +ORDINAL_FILLER(1425) +ORDINAL_FILLER(1426) +ORDINAL_FILLER(1427) +ORDINAL_FILLER(1428) +ORDINAL_FILLER(1429) +ORDINAL_FILLER(1430) +ORDINAL_FILLER(1431) +ORDINAL_FILLER(1432) +ORDINAL_FILLER(1433) +ORDINAL_FILLER(1434) +ORDINAL_FILLER(1435) +ORDINAL_FILLER(1436) +ORDINAL_FILLER(1437) +ORDINAL_FILLER(1438) +ORDINAL_FILLER(1439) +ORDINAL_FILLER(1440) +ORDINAL_FILLER(1441) +ORDINAL_FILLER(1442) +ORDINAL_FILLER(1443) +ORDINAL_FILLER(1444) +ORDINAL_FILLER(1445) +ORDINAL_FILLER(1446) +ORDINAL_FILLER(1447) +ORDINAL_FILLER(1448) +ORDINAL_FILLER(1449) +ORDINAL_FILLER(1450) +ORDINAL_FILLER(1451) +ORDINAL_FILLER(1452) +ORDINAL_FILLER(1453) +ORDINAL_FILLER(1454) +ORDINAL_FILLER(1455) +ORDINAL_FILLER(1456) +ORDINAL_FILLER(1457) +ORDINAL_FILLER(1458) +ORDINAL_FILLER(1459) +ORDINAL_FILLER(1460) +ORDINAL_FILLER(1461) +ORDINAL_FILLER(1462) +ORDINAL_FILLER(1463) +ORDINAL_FILLER(1464) +ORDINAL_FILLER(1465) +ORDINAL_FILLER(1466) +ORDINAL_FILLER(1467) +ORDINAL_FILLER(1468) +ORDINAL_FILLER(1469) +ORDINAL_FILLER(1470) +ORDINAL_FILLER(1471) +ORDINAL_FILLER(1472) +ORDINAL_FILLER(1473) +ORDINAL_FILLER(1474) +ORDINAL_FILLER(1475) +ORDINAL_FILLER(1476) +ORDINAL_FILLER(1477) +ORDINAL_FILLER(1478) +ORDINAL_FILLER(1479) +ORDINAL_FILLER(1480) +ORDINAL_FILLER(1481) +ORDINAL_FILLER(1482) +ORDINAL_FILLER(1483) +ORDINAL_FILLER(1484) +ORDINAL_FILLER(1485) +ORDINAL_FILLER(1486) +ORDINAL_FILLER(1487) +ORDINAL_FILLER(1488) +ORDINAL_FILLER(1489) +ORDINAL_FILLER(1490) +ORDINAL_FILLER(1491) +ORDINAL_FILLER(1492) +ORDINAL_FILLER(1493) +ORDINAL_FILLER(1494) +ORDINAL_FILLER(1495) +ORDINAL_FILLER(1496) +ORDINAL_FILLER(1497) +ORDINAL_FILLER(1498) +ORDINAL_FILLER(1499) +ORDINAL_FILLER(1500) #endif //BCOMPAT_SHELL32_H \ No newline at end of file