/*
 * Top level resource file for OLE32
 *
 * Copyright 2000 Huw D M Davies for Codeweavers
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#include "windef.h"
#include "winuser.h"
#include "winnls.h"

/*
 * Everything that does not depend on language,
 * like textless bitmaps etc, go into the
 * neutral language. This will prevent them from
 * being duplicated for each language.
 */
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL

0 CURSOR
/* BINRES nodrop.cur */
{
 '00 00 02 00 01 00 20 20 00 00 0F 00 0F 00 30 01'
 '00 00 16 00 00 00 28 00 00 00 20 00 00 00 40 00'
 '00 00 01 00 01 00 00 00 00 00 80 00 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 FF FF FF 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07'
 'E0 00 00 18 18 00 00 20 04 00 00 43 E2 00 00 8C'
 '11 00 01 10 20 80 01 20 44 80 02 20 8C 40 02 41'
 '12 40 02 42 22 40 02 44 42 40 02 48 82 40 02 31'
 '04 40 01 22 04 80 01 04 08 80 00 8C 31 00 00 43'
 'C2 00 00 20 04 00 00 18 18 00 00 07 E0 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF'
 'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F8'
 '1F FF FF E0 07 FF FF C0 03 FF FF 80 01 FF FF 03'
 'E0 FF FE 0F C0 7F FE 1F 80 7F FC 1F 00 3F FC 3E'
 '0C 3F FC 3C 1C 3F FC 38 3C 3F FC 30 7C 3F FC 00'
 'F8 3F FE 01 F8 7F FE 03 F0 7F FF 03 C0 FF FF 80'
 '01 FF FF C0 03 FF FF E0 07 FF FF F8 1F FF FF FF'
 'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
 'FF FF FF FF FF FF'
}

1 CURSOR
/* BINRES drag_move.cur */
{
 '00 00 02 00 01 00 20 20 00 00 12 00 16 00 30 01'
 '00 00 16 00 00 00 28 00 00 00 20 00 00 00 40 00'
 '00 00 01 00 01 00 00 00 00 00 00 01 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 FF FF FF 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 05 55 00 00 0A AA 80 00 04 01 00 00 08 00'
 '80 00 04 01 00 00 08 00 80 00 05 55 00 00 0A EA'
 '80 00 00 C0 00 00 01 80 00 00 01 80 00 00 03 00'
 '00 00 23 00 00 00 36 00 00 00 3E 00 00 00 3F C0'
 '00 00 3F 80 00 00 3F 00 00 00 3E 00 00 00 3C 00'
 '00 00 38 00 00 00 30 00 00 00 20 00 00 00 00 00'
 '00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF'
 'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
 'FF FF FA AA FF FF F5 55 7F FF FB FE FF FF F7 FF'
 '7F FF FB FE FF FF F7 FF 7F FF FA AA FF FF F5 15'
 '7F FF FE 1F FF FF FC 3F FF FF BC 3F FF FF 98 7F'
 'FF FF 88 7F FF FF 80 FF FF FF 80 0F FF FF 80 1F'
 'FF FF 80 3F FF FF 80 7F FF FF 80 FF FF FF 81 FF'
 'FF FF 83 FF FF FF 87 FF FF FF 8F FF FF FF 9F FF'
 'FF FF FF FF FF FF'
}

2 CURSOR
/* BINRES drag_copy.cur */
{
 '00 00 02 00 01 00 20 20 00 00 01 00 01 00 30 01'
 '00 00 16 00 00 00 28 00 00 00 20 00 00 00 40 00'
 '00 00 01 00 01 00 00 00 00 00 00 01 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 FF FF FF 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 00 07 F0 00 00 07 70 00 00 07'
 '70 00 05 54 10 00 0A A7 70 00 04 07 70 00 08 07'
 'F0 00 04 00 00 00 08 00 80 00 05 55 00 00 0A EA'
 '80 00 00 C0 00 00 01 80 00 00 01 80 00 00 03 00'
 '00 00 23 00 00 00 36 00 00 00 3E 00 00 00 3F C0'
 '00 00 3F 80 00 00 3F 00 00 00 3E 00 00 00 3C 00'
 '00 00 38 00 00 00 30 00 00 00 20 00 00 00 00 00'
 '00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF'
 'FF FF FF F0 07 FF FF F0 07 FF FF F0 07 FF FF F0'
 '07 FF FA A0 07 FF F5 50 07 FF FB F0 07 FF F7 F0'
 '07 FF FB F0 07 FF F7 FF 7F FF FA AA FF FF F5 15'
 '7F FF FE 1F FF FF FC 3F FF FF BC 3F FF FF 98 7F'
 'FF FF 88 7F FF FF 80 FF FF FF 80 0F FF FF 80 1F'
 'FF FF 80 3F FF FF 80 7F FF FF 80 FF FF FF 81 FF'
 'FF FF 83 FF FF FF 87 FF FF FF 8F FF FF FF 9F FF'
 'FF FF FF FF FF FF'
}

3 CURSOR
/* BINRES drag_link.cur */
{
 '00 00 02 00 01 00 20 20 00 00 12 00 16 00 30 01'
 '00 00 16 00 00 00 28 00 00 00 20 00 00 00 40 00'
 '00 00 01 00 01 00 00 00 00 00 00 01 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 FF FF FF 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 00 07 F0 00 00 06 F0 00 00 06'
 'F0 00 05 57 50 00 0A A7 90 00 04 07 10 00 08 07'
 'F0 00 04 00 00 00 08 00 80 00 05 55 00 00 0A EA'
 '80 00 00 C0 00 00 01 80 00 00 01 80 00 00 03 00'
 '00 00 23 00 00 00 36 00 00 00 3E 00 00 00 3F C0'
 '00 00 3F 80 00 00 3F 00 00 00 3E 00 00 00 3C 00'
 '00 00 38 00 00 00 30 00 00 00 20 00 00 00 00 00'
 '00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF'
 'FF FF FF F0 07 FF FF F0 07 FF FF F0 07 FF FF F0'
 '07 FF FA A0 07 FF F5 50 07 FF FB F0 07 FF F7 F0'
 '07 FF FB F0 07 FF F7 FF 7F FF FA AA FF FF F5 15'
 '7F FF FE 1F FF FF FC 3F FF FF BC 3F FF FF 98 7F'
 'FF FF 88 7F FF FF 80 FF FF FF 80 0F FF FF 80 1F'
 'FF FF 80 3F FF FF 80 7F FF FF 80 FF FF FF 81 FF'
 'FF FF 83 FF FF FF 87 FF FF FF 8F FF FF FF 9F FF'
 'FF FF FF FF FF FF'
}


/*
 * Everything specific to any language goes
 * in one of the specific files.
 * Note that you can and may override resources
 * which also have a neutral version. This is to
 * get localized bitmaps for example.
 */
