summaryrefslogtreecommitdiff
path: root/usr/src/lib/iconv_modules/hi_IN
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/iconv_modules/hi_IN')
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/Makefile45
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/Makefile.com39
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/UTF-8%iscii91.c430
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/amd64/Makefile25
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/ea-iscii%iscii91.c273
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/i386/Makefile24
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/include/ea-iscii.h123
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/include/iscii-bng.h88
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/include/iscii-common.h65
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/include/iscii-dev.h124
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/include/iscii-gjr.h70
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/include/iscii-gmk.h91
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/include/iscii-knd.h68
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/include/iscii-mlm.h65
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/include/iscii-ori.h87
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/include/iscii-tlg.h67
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/include/iscii-tml.h79
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/include/iscii.h138
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/include/pc-iscii.h54
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/iscii91%UTF-8.c422
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/iscii91%ea-iscii.c233
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/iscii91%pc-iscii.c122
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/pc-iscii%iscii91.c122
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/sparc/Makefile24
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/sparcv9/Makefile25
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/testData/EA-ISCII109
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/testData/HindiAll.iscii4154
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/testData/NuktaTest.iscii38
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/testData/PC-ISCII118
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/testData/PremTest.iscii129
-rw-r--r--usr/src/lib/iconv_modules/hi_IN/testData/README26
31 files changed, 7477 insertions, 0 deletions
diff --git a/usr/src/lib/iconv_modules/hi_IN/Makefile b/usr/src/lib/iconv_modules/hi_IN/Makefile
new file mode 100644
index 0000000000..da26c3adf1
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/Makefile
@@ -0,0 +1,45 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+
+include $(SRC)/Makefile.master
+
+SUBDIRS = $(MACH)
+$(BUILD64)SUBDIRS += $(MACH64)
+
+all := TARGET = all
+clean := TARGET = clean
+clobber := TARGET = clobber
+install := TARGET = install
+lint := TARGET = lint
+echo := TARGET = echo
+
+.KEEP_STATE:
+
+all clean clobber install lint echo: $(SUBDIRS)
+
+$(SUBDIRS): FRC
+ @cd $@; pwd; $(MAKE) $(TARGET)
+
+FRC:
diff --git a/usr/src/lib/iconv_modules/hi_IN/Makefile.com b/usr/src/lib/iconv_modules/hi_IN/Makefile.com
new file mode 100644
index 0000000000..ced4ae69a5
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/Makefile.com
@@ -0,0 +1,39 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+
+SRCS = iscii91%UTF-8.c \
+ UTF-8%iscii91.c \
+ iscii91%pc-iscii.c \
+ pc-iscii%iscii91.c \
+ iscii91%ea-iscii.c \
+ ea-iscii%iscii91.c
+
+dummy: all
+
+include $(SRC)/lib/iconv_modules/Makefile.iconv
+
+CFLAGS += -I../include
+
+all: $(PROGS)
diff --git a/usr/src/lib/iconv_modules/hi_IN/UTF-8%iscii91.c b/usr/src/lib/iconv_modules/hi_IN/UTF-8%iscii91.c
new file mode 100644
index 0000000000..7d6da13393
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/UTF-8%iscii91.c
@@ -0,0 +1,430 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+#include <stdio.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <strings.h>
+#include <sys/types.h>
+#include "iscii.h"
+#include "common_defs.h"
+
+#define MSB 0x80 /* most significant bit */
+#define ONEBYTE 0xff /* right most byte */
+
+#define REPLACE_CHAR '?'
+
+#define utf8_len(Ch) (Ch < 0x80 ? 1 : (Ch < 0xe0 ? 2 : (Ch < 0xf0 ? 3 : (Ch < 0xf8 ? 4 : (Ch < 0xfc ? 5 : 6)))))
+
+#define analyze_utf8(Ch, Mask, nBytes) \
+ if (Ch < 128) { \
+ nBytes = 1; \
+ Mask = 0x7f; \
+ } else if ((Ch & 0xe0) == 0xc0) { \
+ nBytes = 2; \
+ Mask = 0x1f; \
+ } else if ((Ch & 0xf0) == 0xe0) { \
+ nBytes = 3; \
+ Mask = 0x0f; \
+ } else if ((Ch & 0xf8) == 0xf0) { \
+ nBytes = 4; \
+ Mask = 0x07; \
+ } else if ((Ch & 0xfc) == 0xf8) { \
+ nBytes = 5; \
+ Mask = 0x03; \
+ } else if ((Ch & 0xfe) == 0xfc) { \
+ nBytes = 6; \
+ Mask = 0x01; \
+ } else \
+ nBytes = -1;
+
+#define ucs2_from_utf8(mUCS, Ch, Ct, Mask, Len) \
+ (mUCS) = (Ch)[0] & (Mask); \
+ for ((Ct) = 1; (Ct) < (Len); ++(Ct)) { \
+ if ( ( (Ch)[(Ct)] & 0xc0) != 0x80) { \
+ (mUCS) = -1; \
+ break; \
+ } \
+ (mUCS) <<= 6; \
+ (mUCS) |= ((Ch)[(Ct)] & 0x3f); \
+ } \
+
+
+typedef struct _icv_state {
+ char aATR;
+ uchar_t keepc[4];
+ int halant_context; /* preceded by the Halant character or not */
+ int _ustate;
+ int _errno;
+} _iconv_st;
+
+enum _CSTATE { U0, U1, U2, U3, U4, U5, U6 };
+
+/*
+ * Open; called from iconv_open()
+ */
+void *
+_icv_open()
+{
+ _iconv_st *st;
+
+ if ((st = (_iconv_st*)malloc(sizeof(_iconv_st))) == NULL) {
+ errno = ENOMEM;
+ return ((void*)-1);
+ }
+
+ bzero(st, sizeof(_iconv_st));
+ st->aATR = 0x42; /* Devanagiri */
+
+ return ((void*)st);
+}
+
+typedef enum { t_NONE, t_NUKTA, t_EXT, t_HALANT, t_DOUBLE_DANDA } Type;
+
+static int
+traverse_table(Entry *entry, int num, ucs_t ucs, Type *type)
+{
+ int i=0;
+ int retc=0;
+
+ *type = t_NONE;
+
+ for ( ; i < num; ++i ) {
+ Entry en = entry[i];
+
+ if (en.count == NUKTA || en.count == EXT || en.count == HALANT || en.count == DOUBLE_DANDA) {
+ if ( ucs < en.ucs ) break;
+ if ( ucs == en.ucs ) { /* found */
+ if ( en.count == NUKTA ) *type = t_NUKTA;
+ if ( en.count == EXT ) *type = t_EXT;
+ if ( en.count == HALANT ) *type = t_HALANT;
+ if ( en.count == DOUBLE_DANDA ) *type = t_DOUBLE_DANDA;
+ retc = en.iscii;
+ break;
+ }
+ } else {
+ if ( ucs < en.ucs ) break;
+ if ( ucs >= en.ucs && ucs < en.ucs + en.count ) {
+ retc = en.iscii + ( ucs - en.ucs );
+ break;
+ }
+ }
+ }
+
+ return retc;
+}
+
+static int
+ucs_to_iscii(ucs_t uiid, char **outbuf, size_t *outbytesleft, int isc_type, int *halant_context)
+{
+ int nBytesRet = 0 ;
+ Type type = t_NONE;
+ int iscii;
+ Entries en = unicode_table[isc_type];
+
+ if ( *outbytesleft == 0 ) {
+ errno = E2BIG;
+ return 0;
+ }
+
+ iscii = traverse_table(en.entry, en.items, uiid, &type);
+ if ( iscii == 0 ) {
+ **outbuf = REPLACE_CHAR;
+ nBytesRet ++;
+ } else {
+ if ( type != t_NONE ) {
+
+ /* buggy code */
+ if ( *outbytesleft < 2 ) {
+ errno = E2BIG;
+ return 0;
+ }
+
+ switch (type)
+ {
+ case t_NUKTA:
+ **outbuf = (uchar_t) iscii;
+ *(*outbuf+1) = ISC_nukta;
+ nBytesRet = 2;
+
+ break;
+ case t_EXT:
+ **outbuf = ISC_ext;
+ *(*outbuf+1) = (uchar_t) iscii;
+ nBytesRet = 2;
+
+ break;
+ case t_HALANT:
+ if ( (uiid == UNI_ZWJ || uiid == UNI_ZWNJ) && *halant_context )
+ {
+ if ( uiid == UNI_ZWJ ) **outbuf = ISC_nukta; /* soft halant */
+ else **outbuf = ISC_halant; /* explicit halant */
+
+ nBytesRet = 1;
+ } /* consume the UNI_ZWNJ or UNI_ZWJ if *halant_context is 0 */
+
+ break;
+ case t_DOUBLE_DANDA:
+ **outbuf = ISC_danda;
+ *(*outbuf+1) = (uchar_t) iscii;
+ nBytesRet = 2;
+ break;
+ case t_NONE:
+ /* Not reached */
+ break;
+ }
+ } else {
+ **outbuf = (uchar_t) iscii;
+ nBytesRet = 1;
+ }
+ }
+
+ /* if iscii == ISC_halant but type == t_HALANT, set *halant_context to 0 */
+ if ( iscii == ISC_halant && type == t_NONE ) *halant_context = 1;
+ else *halant_context = 0;
+
+ return nBytesRet;
+}
+
+/*
+ * Close; called from iconv_close()
+ */
+void
+_icv_close(_iconv_st *st)
+{
+ if (!st)
+ errno = EBADF;
+ else
+ free(st);
+}
+
+/*
+ * Conversion routine; called from iconv()
+ */
+size_t
+_icv_iconv(_iconv_st *st, char **inbuf, size_t *inbytesleft,
+ char **outbuf, size_t *outbytesleft)
+{
+ int n=0;
+
+ if (st == NULL) {
+ errno = EBADF;
+ return ((size_t) -1);
+ }
+
+
+ if (inbuf == NULL || *inbuf == NULL) { /* Reset request. */
+ st->aATR = 0x42; /* Devangiri */
+ st->_ustate = U0;
+ st->_errno = 0;
+ return ((size_t) 0);
+ }
+
+ st->_errno = errno = 0;
+
+ while (*inbytesleft > 0 && *outbytesleft > 0) {
+
+ uchar_t first_byte;
+
+ switch ( st->_ustate ) {
+ case U0:
+ if ((**inbuf & MSB) == 0) { /* ASCII */
+ **outbuf = **inbuf;
+ (*outbuf)++; (*outbytesleft)--;
+ } else if ((**inbuf & 0xe0) == 0xc0) { /* 0xc2..0xdf */
+
+ /* invalid sequence if the first byte is either 0xc0 or 0xc1 */
+ if ( number_of_bytes_in_utf8_char[((uchar_t) **inbuf)] == ICV_TYPE_ILLEGAL_CHAR )
+ errno = EILSEQ;
+ else {
+ st->_ustate = U1;
+ st->keepc[0] = **inbuf;
+ }
+ } else if ((**inbuf & 0xf0) == 0xe0) {
+ st->_ustate = U2;
+ st->keepc[0] = **inbuf;
+ } else {
+ /* four bytes of UTF-8 sequences */
+ if ( number_of_bytes_in_utf8_char[((uchar_t) **inbuf)] == ICV_TYPE_ILLEGAL_CHAR )
+ errno = EILSEQ;
+ else {
+ st->_ustate = U4;
+ st->keepc[0] = **inbuf;
+ }
+ }
+ break;
+ case U1:
+ if ((**inbuf & 0xc0) == MSB) { /* U+0080 -- U+07FF */
+ **outbuf = REPLACE_CHAR;
+ (*outbuf)++;
+ (*outbytesleft)--;
+ st->_ustate = U0;
+ } else {
+ errno = EILSEQ;
+ }
+ break;
+ case U2:
+
+ first_byte = st->keepc[0];
+
+ /* if the first byte is 0xed, it is illegal sequence if the second
+ * one is between 0xa0 and 0xbf because surrogate section is ill-formed
+ */
+ if (((uchar_t) **inbuf) < valid_min_2nd_byte[first_byte] ||
+ ((uchar_t) **inbuf) > valid_max_2nd_byte[first_byte] )
+ errno = EILSEQ;
+ else {
+ st->_ustate = U3;
+ st->keepc[1] = **inbuf;
+ }
+ break;
+ case U3:
+ if ((**inbuf & 0xc0) == MSB) {
+ unsigned char mChar = st->keepc[0];
+ ucs_t ucsid = 0;
+ int i=0, mask=0, len=0;
+ ISCII isc_type;
+
+ st->keepc[2] = **inbuf;
+
+ analyze_utf8(mChar, mask, len);
+
+ ucs2_from_utf8(ucsid, (char *)&st->keepc[0], i, mask, len);
+
+ /* 0xfffe and 0xffff should not be allowed */
+ if ( ucsid == 0xFFFE || ucsid == 0xFFFF )
+ {
+ errno = EILSEQ;
+ break;
+ }
+
+ get_script_types(ucsid, isc_type);
+ if ( isc_type != NUM_ISCII && st->aATR != aTRs[isc_type] ) {
+ if ( *outbytesleft < 2 ) {
+ errno = E2BIG;
+ return (size_t)-1;
+ }
+
+ **outbuf = (uchar_t)ISC_atr;
+ (*outbuf)++;
+ **outbuf = aTRs[isc_type];
+ (*outbuf)++;
+ (*outbytesleft)-=2;
+ st->aATR = aTRs[isc_type];
+ }
+
+ /* UNI_INV, UNI_ZWJ, UNI_ZWNJ would occur within any India Script as
+ Consonant invisible, explicit halant and soft halant */
+ if ( ucsid == UNI_INV || ucsid == UNI_ZWNJ || ucsid == UNI_ZWJ )
+ isc_type = isc_TYPE[ st->aATR - 0x42 ];
+
+ if ( isc_type == NUM_ISCII ) {
+ if ( *outbytesleft < 1 ) {
+ errno = E2BIG;
+ return (size_t)-1;
+ }
+
+ **outbuf = REPLACE_CHAR;
+ (*outbuf)++;
+ (*outbytesleft)--;
+ } else {
+ n = ucs_to_iscii(ucsid, outbuf, outbytesleft, isc_type, &st->halant_context);
+ if ( n > 0 ) {
+ (*outbuf) += n;
+ (*outbytesleft) -= n;
+ } else if ( errno == E2BIG ) {
+ /* n == 0 if the ZWJ or ZWNJ has been consumed without error */
+ st->_errno = errno;
+ errno = E2BIG;
+ return (size_t)-1;
+ }
+ }
+ } else {
+ errno = EILSEQ;
+ return (size_t)-1;
+ }
+ st->_ustate = U0;
+ break;
+ case U4:
+
+ first_byte = st->keepc[0];
+
+ /* if the first byte is 0xf0, it is illegal sequence if
+ * the second one is between 0x80 and 0x8f
+ * for Four-Byte UTF: U+10000..U+10FFFF
+ */
+ if (((uchar_t) **inbuf) < valid_min_2nd_byte[first_byte] ||
+ ((uchar_t) **inbuf) > valid_max_2nd_byte[first_byte] )
+ errno = EILSEQ;
+ else {
+ st->_ustate = U5;
+ st->keepc[1] = **inbuf;
+ }
+ break;
+ case U5:
+ if ((**inbuf & 0xc0) == MSB) /* 0x80..0xbf */
+ {
+ st->_ustate = U6;
+ st->keepc[2] = **inbuf;
+ }
+ else
+ errno = EILSEQ;
+ break;
+ case U6:
+ if ((**inbuf & 0xc0) == MSB) /* 0x80..0xbf */
+ {
+ st->keepc[3] = **inbuf;
+ st->_ustate = U0;
+
+ /* replace with REPLACE_CHAR */
+ **outbuf = REPLACE_CHAR;
+ (*outbuf)++;
+ (*outbytesleft)--;
+ }
+ else
+ errno = EILSEQ;
+ break;
+ }
+
+ if (errno)
+ break;
+
+ (*inbuf)++;
+ (*inbytesleft)--;
+ } /* end of while loop */
+
+ if (errno) return (size_t) -1;
+
+ if (*inbytesleft == 0 && st->_ustate != U0) {
+ errno = EINVAL;
+ return (size_t)-1;
+ }
+
+ if (*inbytesleft > 0 && *outbytesleft == 0) {
+ errno = E2BIG;
+ return((size_t)-1);
+ }
+
+ return (size_t)(*inbytesleft);
+}
diff --git a/usr/src/lib/iconv_modules/hi_IN/amd64/Makefile b/usr/src/lib/iconv_modules/hi_IN/amd64/Makefile
new file mode 100644
index 0000000000..adbd2dae78
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/amd64/Makefile
@@ -0,0 +1,25 @@
+#
+# This file and its contents are supplied under the terms of the
+# Common Development and Distribution License ("CDDL"), version 1.0.
+# You may only use this file in accordance with the terms of version
+# 1.0 of the CDDL.
+#
+# A full copy of the text of the CDDL should have accompanied this
+# source. A copy of the CDDL is also available via the Internet at
+# http://www.illumos.org/license/CDDL.
+#
+
+#
+# Copyright 2017 Alexander Pyhalov
+#
+
+include ../Makefile.com
+include ../../Makefile.iconv.64
+
+CFLAGS += -I.. -I../common/ -I../include/
+
+ICONV_LIBS = $(PROGS:%=$(ICONV_DIR_64)/%)
+
+$(ICONV_LIBS) := FILEMODE= 755
+
+install: all $(ICONV_DIR) .WAIT $(ICONV_LIBS)
diff --git a/usr/src/lib/iconv_modules/hi_IN/ea-iscii%iscii91.c b/usr/src/lib/iconv_modules/hi_IN/ea-iscii%iscii91.c
new file mode 100644
index 0000000000..20457d8914
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/ea-iscii%iscii91.c
@@ -0,0 +1,273 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+#include <stdio.h>
+#include <ctype.h>
+#include <errno.h>
+#include <strings.h>
+#include <stdlib.h>
+#include "ea-iscii.h"
+
+#define MSB 0x80
+#define REPLACE_CHAR '?'
+#define EA_START 0x40
+
+#define get_vowel(a) EAISCII_vowel_type[(a) - EA_START]
+#define get_nukta_value(a) EAISCII_nukta_type[(a) - EA_START]
+#define is_first_vowel(a) ((a) == FIRST_VOWEL)
+#define is_nukta(a) ((a) == NUKTA_VALUE)
+
+typedef enum { SPACE, ASCII, POSSIBLE_ISCII, ISCII } CONTEXT;
+typedef struct _icv_state {
+ uchar keepc; /* if is_vowel is true, store the char following the FIRST_VOWEL */
+ CONTEXT context;
+ int is_vowel;
+} _iconv_st;
+
+static uchar
+traverse_table(Entry *entry , int num, uchar ea_iscii)
+{
+ int i=0;
+ uchar iscii=0;
+
+ for ( ; i < num; ++i) {
+ Entry en = entry[i];
+
+ if ( ea_iscii < en.ea_iscii ) break;
+ if ( ea_iscii >= en.ea_iscii && ea_iscii < en.ea_iscii + en.count ) {
+ iscii = (ea_iscii - en.ea_iscii) + en.iscii;
+ break;
+ }
+ }
+
+ return iscii;
+}
+
+/*
+ * run in ISCII context.
+ * ea_iscii being 0: flush the keepc
+ * flag return 0: don't decide iscii yet, need to advance the next char in outbuf
+ */
+static uchar
+get_iscii(_iconv_st *st, uchar ea_iscii, int *flag)
+{
+ uchar iscii = 0;
+
+ if ( st->keepc == 0 ) {
+ if ( ea_iscii == 0 ) { *flag = 0; return 0; }
+ if ( ea_iscii < EA_START ) return 0; /* invalid iscii */
+
+ if ( get_nukta_value(ea_iscii) || is_first_vowel(ea_iscii) ) {
+ /* do nothing except store ea_iscii into st->keepc */
+ *flag = 0;
+ st->keepc = ea_iscii;
+ } else {
+ iscii = traverse_table( eaiscii_isc_tbl,
+ sizeof(eaiscii_isc_tbl)/sizeof(Entry), ea_iscii);
+ }
+ } else {
+ uchar vowel, nukta_value;
+
+ if ( st->is_vowel ) {
+ /* need decide whether it is 0xAE or 0xB2 case */
+ if ( ea_iscii >= EA_START && is_nukta(ea_iscii) ) {
+ if ( st->keepc == 0x73 ) iscii = 0xAE;
+ if ( st->keepc == 0x76 ) iscii = 0xB2;
+ st->keepc = 0;
+ } else {
+ iscii = get_vowel(st->keepc);
+ st->keepc = ea_iscii;
+ }
+ st->is_vowel = 0;
+ goto end;
+ }
+
+ if ( is_first_vowel(st->keepc) ) {
+ if ( (ea_iscii >= EA_START) && (vowel = get_vowel(ea_iscii)) ) {
+ if ( ea_iscii == 0x73 || ea_iscii == 0x76 ) {
+ st->keepc = ea_iscii;
+ *flag = 0;
+ st->is_vowel = 1;
+ } else {
+ st->keepc = 0;
+ iscii = vowel;
+ }
+ } else {
+ iscii = traverse_table( eaiscii_isc_tbl,
+ sizeof(eaiscii_isc_tbl)/sizeof(Entry), st->keepc);
+ st->keepc = ea_iscii;
+ }
+ } else if ( (st->keepc >= EA_START) && (nukta_value = get_nukta_value(st->keepc))) {
+ if ( ea_iscii >= EA_START && is_nukta(ea_iscii) ) {
+ st->keepc = 0;
+ iscii = nukta_value;
+ } else {
+ iscii = traverse_table( eaiscii_isc_tbl,
+ sizeof(eaiscii_isc_tbl)/sizeof(Entry), st->keepc);
+ st->keepc = ea_iscii;
+ }
+ } else {
+ iscii = traverse_table( eaiscii_isc_tbl,
+ sizeof(eaiscii_isc_tbl)/sizeof(Entry), st->keepc);
+ st->keepc = ea_iscii;
+ }
+ }
+
+end:
+ return iscii;
+}
+
+void *
+_icv_open()
+{
+ _iconv_st *st;
+
+ if ((st = (_iconv_st*)malloc(sizeof(_iconv_st))) == NULL) {
+ errno = ENOMEM;
+ return ((void*)-1);
+ }
+
+ bzero(st, sizeof(_iconv_st));
+
+ return ((void*)st);
+}
+
+/*
+ * Close; called from iconv_close()
+ */
+void
+_icv_close(_iconv_st *st)
+{
+ if (!st)
+ errno = EBADF;
+ else
+ free(st);
+}
+
+size_t
+_icv_iconv(_iconv_st *st, char **inbuf, size_t *inbytesleft,
+ char **outbuf, size_t *outbytesleft)
+{
+ if (st == NULL) {
+ errno = EBADF;
+ return ((size_t) -1);
+ }
+
+ if (inbuf == NULL || *inbuf == NULL) { /* Reset request. */
+ return ((size_t)0);
+ }
+
+ /* a state machine for interpreting ISCII code */
+ while (*inbytesleft > 0 && *outbytesleft > 0) {
+ uchar c = (uchar)**inbuf;
+
+ if ( c & MSB ) { errno = EILSEQ; return (size_t)-1; }
+
+ switch (st->context) {
+ case SPACE:
+ if ( c == LEADING_BYTE ) st->context = POSSIBLE_ISCII;
+ else {
+ if ( !isspace(c) ) st->context = ASCII;
+ **outbuf = c;
+ (*outbuf)++;
+ (*outbytesleft)--;
+ }
+ break;
+ case ASCII:
+ if ( isspace(c) ) st->context = SPACE;
+ **outbuf = c;
+ (*outbuf)++;
+ (*outbytesleft)--;
+ break;
+ case POSSIBLE_ISCII:
+ /* it is impossible to represent with 'xx' one ASCII word that starts with 'x' */
+ if ( !isspace(c) ) { st->context = ISCII; continue; } /* don't advance */
+
+ **outbuf = LEADING_BYTE; /* the previous 'x' */
+ (*outbuf)++;
+ (*outbytesleft)--;
+ st->context = ASCII;
+
+ if (*outbytesleft < 1) {
+ errno = E2BIG;
+ return (size_t)-1;
+ }
+
+ **outbuf = c;
+ (*outbuf)++;
+ (*outbytesleft)--;
+ st->context = SPACE;
+
+ break;
+ case ISCII:
+ if ( isspace(c) ) {
+ uchar iscii;
+ int flag = 1;
+
+ /* flush keepc */
+ iscii = get_iscii(st, 0, &flag);
+ if (flag) {
+ if ( iscii ) **outbuf = iscii;
+ else **outbuf = REPLACE_CHAR;
+
+ (*outbuf)++;
+ (*outbytesleft)--;
+ }
+
+ if ( *outbytesleft < 1 ) {
+ errno = E2BIG;
+ return (size_t)-1;
+ }
+
+ **outbuf = c;
+ (*outbuf)++;
+ (*outbytesleft)--;
+ st->context = SPACE;
+ } else {
+ uchar iscii;
+ int flag = 1;
+
+ iscii = get_iscii(st, c, &flag);
+ if (flag) {
+ if ( iscii ) **outbuf = iscii;
+ else **outbuf = REPLACE_CHAR;
+
+ (*outbuf)++;
+ (*outbytesleft)--;
+ }
+ }
+ break;
+ }
+
+ (*inbuf)++;
+ (*inbytesleft)--;
+ }
+
+ if ( *inbytesleft > 0 && *outbytesleft == 0 ) {
+ errno = E2BIG;
+ return ((size_t)-1);
+ }
+
+ return ((size_t)(*inbytesleft));
+}
diff --git a/usr/src/lib/iconv_modules/hi_IN/i386/Makefile b/usr/src/lib/iconv_modules/hi_IN/i386/Makefile
new file mode 100644
index 0000000000..f740398543
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/i386/Makefile
@@ -0,0 +1,24 @@
+#
+# This file and its contents are supplied under the terms of the
+# Common Development and Distribution License ("CDDL"), version 1.0.
+# You may only use this file in accordance with the terms of version
+# 1.0 of the CDDL.
+#
+# A full copy of the text of the CDDL should have accompanied this
+# source. A copy of the CDDL is also available via the Internet at
+# http://www.illumos.org/license/CDDL.
+#
+
+#
+# Copyright 2017 Alexander Pyhalov
+#
+
+include ../Makefile.com
+
+CFLAGS += -I.. -I../common/ -I../include/
+
+ICONV_LIBS = $(PROGS:%=$(ICONV_DIR)/%)
+
+$(ICONV_LIBS) := FILEMODE= 755
+
+install: all $(ICONV_DIR) .WAIT $(ICONV_LIBS)
diff --git a/usr/src/lib/iconv_modules/hi_IN/include/ea-iscii.h b/usr/src/lib/iconv_modules/hi_IN/include/ea-iscii.h
new file mode 100644
index 0000000000..5950553a72
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/include/ea-iscii.h
@@ -0,0 +1,123 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+#ifndef _EA_ISCII_H_
+#define _EA_ISCII_H_
+
+#define uchar unsigned char
+
+#define NUKTA 0xFD
+#define MATRA 0xFE
+#define COMBINED_MATRA_NUKTA 0xFF
+
+#define LEADING_BYTE 'x'
+#define NUKTA_VALUE 'x'
+#define FIRST_VOWEL 0x43
+
+
+typedef struct _entry {
+ uchar ea_iscii;
+ uchar iscii;
+ int count;
+} Entry;
+
+Entry eaiscii_isc_tbl[] = {
+ { 0x41, 0xA1, 2 },
+ { 0x43, 0xA4, 1 },
+ { 0x44, 0xB3, 4 },
+ { 0x48, 0xB8, 4 },
+ { 0x4C, 0xBD, 10 },
+ { 0x56, 0xC8, 5 },
+ { 0x61, 0xCD, 1 },
+ { 0x62, 0xCF, 4 },
+ { 0x66, 0xD4, 5 },
+ { 0x6B, 0xDA, 9 },
+ { 0x74, 0xE4, 3 },
+ { 0x77, 0xE8, 3 },
+ { 0x7A, 0xEF, 1 }
+};
+
+Entry isc_eaiscii_tbl[] = {
+ { 0x41, 0xA1, 2 },
+ { 0x42, 0xA3, NUKTA },
+ { 0x43, 0xA4, 1 },
+ { 0x6B, 0xA5, MATRA },
+ { 0x6C, 0xA6, MATRA },
+ { 0x6D, 0xA7, MATRA },
+ { 0x6E, 0xA8, MATRA },
+ { 0x6F, 0xA9, MATRA },
+ { 0x70, 0xAA, MATRA },
+ { 0x71, 0xAB, MATRA },
+ { 0x72, 0xAC, MATRA },
+ { 0x73, 0xAD, MATRA },
+ { 0x73, 0xAE, COMBINED_MATRA_NUKTA },
+ { 0x74, 0xAF, MATRA },
+ { 0x75, 0xB0, MATRA },
+ { 0x76, 0xB1, MATRA },
+ { 0x76, 0xB2, COMBINED_MATRA_NUKTA },
+ { 0x44, 0xB3, 4 },
+ { 0x47, 0xB7, NUKTA },
+ { 0x48, 0xB8, 4 },
+ { 0x4B, 0xBC, NUKTA },
+ { 0x4C, 0xBD, 10 },
+ { 0x55, 0xC7, NUKTA },
+ { 0x56, 0xC8, 5 },
+ { 0x61, 0xCD, 1 },
+ { 0x61, 0xCE, NUKTA },
+ { 0x62, 0xCF, 4 },
+ { 0x65, 0xD3, NUKTA },
+ { 0x66, 0xD4, 5 },
+ { 0x6A, 0xD9, NUKTA },
+ { 0x6B, 0xDA, 9 },
+ { 0x73, 0xE3, NUKTA },
+ { 0x74, 0xE4, 3 },
+ { 0x76, 0xE7, NUKTA },
+ { 0x77, 0xE8, 3 },
+ { 0x7A, 0xEF, 1 }
+};
+
+uchar EAISCII_nukta_type [] = {
+ 0x0, 0x0, 0xA3, 0x0, 0x0, 0x0, 0x0, 0xB7, /* 40 - 47 */
+ 0x0, 0x0, 0x0, 0xBC, 0x0, 0x0, 0x0, 0x0, /* 48 - 4F */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0xC7, 0x0, 0x0, /* 50 - 57 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* 58 - 5F */
+ 0x0, 0xCE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* 60 - 67 */
+ 0x0, 0x0, 0xD9, 0x0, 0x0, 0x0, 0x0, 0x0, /* 68 - 6F */
+ 0x0, 0x0, 0x0, 0xE3, 0x0, 0x0, 0xE7, 0x0, /* 70 - 77 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 /* 78 - 7F */
+};
+
+uchar EAISCII_vowel_type [] = {
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* 40 - 47 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* 48 - 4F */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* 50 - 57 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* 58 - 5F */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* 60 - 67 */
+ 0x0, 0x0, 0x0, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9,/* 68 - 6F */
+ 0xAA, 0xAB, 0xAC, 0xAD, 0xAF, 0xB0, 0xB1, 0x0, /* 70 - 77 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 /* 78 - 7F */
+};
+
+#endif
diff --git a/usr/src/lib/iconv_modules/hi_IN/include/iscii-bng.h b/usr/src/lib/iconv_modules/hi_IN/include/iscii-bng.h
new file mode 100644
index 0000000000..e0fdf94167
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/include/iscii-bng.h
@@ -0,0 +1,88 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+#ifndef _ISCII_BNG_H_
+#define _ISCII_BNG_H_
+
+#include "iscii-common.h"
+
+Entry Bengali_isc[] ={
+ {0xA1, 0x0981, 3},
+ {0xA4, 0x0985, 7},
+ {0xAC, 0x098F, 2},
+ {0xB0, 0x0993, 2},
+ {0xB3, 0x0995, 20},
+ {0xC8, 0x09AA, 8},
+ {0xD1, 0x09B2, 1},
+ {0xD5, 0x09B6, 4},
+ {ISC_INV, UNI_INV, 1},
+ {0xDA, 0x09BE, 6},
+ {0xE1, 0x09C7, 2},
+ {0xE5, 0x09CB, 2},
+ {0xE8, 0x09CD, 1},
+ {0xE9, 0x09BC, 1},
+ {0xEA, 0x09F7, 1},
+ {0xF1, 0x09E6, 10},
+};
+
+Entry Bengali_uni[] ={
+ {0xA1, 0x0981, 3},
+ {0xA4, 0x0985, 7},
+ {0xAC, 0x098F, 2},
+ {0xB0, 0x0993, 2},
+ {0xB3, 0x0995, 20},
+ {0xC8, 0x09AA, 8},
+ {0xD1, 0x09B2, 1},
+ {0xD5, 0x09B6, 4},
+ {0xE9, 0x09BC, 1},
+ {0xDA, 0x09BE, 6},
+ {0xE1, 0x09C7, 2},
+ {0xE5, 0x09CB, 2},
+ {0xE8, 0x09CD, 1},
+ {0xBF, 0x09DC, NUKTA},
+ {0xC0, 0x09DD, NUKTA},
+ {0xF1, 0x09E6, 10},
+ {0xEA, 0x09F7, 1},
+ {0xE8, UNI_ZWNJ,HALANT},
+ {0xE9, UNI_ZWJ, HALANT},
+ {ISC_INV, UNI_INV, 1}
+};
+
+int Bengali_nukta_type[] = {
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* A0 - A7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* A8 - AF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* B0 - B7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x09DC, /* B8 - BF */
+ 0x09DD, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* C0 - C7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* C8 - CF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* D0 - D7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* D8 - DF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* E0 - E7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* E8 - EF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* F0 - E7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 /* F8 - FF */
+};
+
+#endif
diff --git a/usr/src/lib/iconv_modules/hi_IN/include/iscii-common.h b/usr/src/lib/iconv_modules/hi_IN/include/iscii-common.h
new file mode 100644
index 0000000000..58edf5af6a
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/include/iscii-common.h
@@ -0,0 +1,65 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+#ifndef _ISCII_COMMON_H_
+#define _ISCII_COMMON_H_
+
+#define ucs_t unsigned long
+
+#define uchar unsigned char
+
+#define NUKTA 0
+#define EXT -1
+#define HALANT -2
+#define DOUBLE_DANDA -3
+
+#define ISC_INV 0xd9 /* Consonant Invisible */
+
+#define ISC_halant 0xe8
+#define ISC_nukta 0xe9
+#define ISC_danda 0xea
+#define ISC_atr 0xef /* Attribute code */
+#define ISC_ext 0xf0 /* Extension code */
+
+#define UNI_DOUBLE_DANDA 0x0965
+
+#define UNI_ZWNJ 0x200C /* Zero Width Non Joiner */
+#define UNI_ZWJ 0x200D /* Zero Width Joiner */
+#define UNI_INV 0x200E /* map INV to Unicode LRM, same as Apple implementation */
+
+#define EXT_RANGE_BEGIN 0xA1
+#define EXT_RANGE_END 0xEE
+#define is_valid_ext_code(v) ((v) >= EXT_RANGE_BEGIN && (v) <= EXT_RANGE_END)
+
+typedef enum { DEV, BNG, GMK, GJR, ORI, TML, TLG, KND, MLM, NUM_ISCII } ISCII;
+
+typedef struct _entry {
+ uchar iscii;
+ ucs_t ucs;
+ int count;
+} Entry;
+
+
+#endif
diff --git a/usr/src/lib/iconv_modules/hi_IN/include/iscii-dev.h b/usr/src/lib/iconv_modules/hi_IN/include/iscii-dev.h
new file mode 100644
index 0000000000..87efec1f01
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/include/iscii-dev.h
@@ -0,0 +1,124 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+#ifndef _ISCII_DEV_H_
+#define _ISCII_DEV_H_
+
+#include "iscii-common.h"
+
+Entry Devanagari_isc[] ={
+ {0xA1, 0x0901, 3},
+ {0xA4, 0x0905, 7},
+ {0xAB, 0x090E, 3},
+ {0xAE, 0x090D, 1},
+ {0xAF, 0x0912, 3},
+ {0xB2, 0x0911, 1},
+ {0xB3, 0x0915, 27},
+ {0xCE, 0x095F, 1},
+ {0xCF, 0x0930, 10},
+ {ISC_INV, UNI_INV, 1},
+ {0xDA, 0x093E, 6},
+ {0xE0, 0x0946, 3},
+ {0xE3, 0x0945, 1},
+ {0xE4, 0x094A, 3},
+ {0xE7, 0x0949, 1},
+ {0xE8, 0x094D, 1},
+ {0xE9, 0x093C, 1},
+ {0xEA, 0x0964, 1},
+ {0xF1, 0x0966, 10}
+};
+
+Entry Devanagari_uni[] = {
+ {0xA1, 0x0901, 3},
+ {0xA4, 0x0905, 7},
+ {0xA6, 0x090C, NUKTA},
+ {0xAE, 0x090D, 1},
+ {0xAB, 0x090E, 3},
+ {0xB2, 0x0911, 1},
+ {0xAF, 0x0912, 3},
+ {0xB3, 0x0915, 27},
+ {0xCF, 0x0930, 10},
+ {0xE9, 0x093C, 1},
+ {0xEA, 0x093D, NUKTA},
+ {0xDA, 0x093E, 6},
+ {0xDF, 0x0944, NUKTA},
+ {0xE3, 0x0945, 1},
+ {0xE0, 0x0946, 3},
+ {0xE7, 0x0949, 1},
+ {0xE4, 0x094A, 3},
+ {0xE8, 0x094D, 1},
+ {0xA1, 0x0950, NUKTA},
+ {0xB8, 0x0952, EXT},
+ {0xB3, 0x0958, NUKTA},
+ {0xB4, 0x0959, NUKTA},
+ {0xB5, 0x095A, NUKTA},
+ {0xBA, 0x095B, NUKTA},
+ {0xBF, 0x095C, NUKTA},
+ {0xC0, 0x095D, NUKTA},
+ {0xC9, 0x095E, NUKTA},
+ {0xCE, 0x095F, 1},
+ {0xAA, 0x0960, NUKTA},
+ {0xA7, 0x0961, NUKTA},
+ {0xDB, 0x0962, NUKTA},
+ {0xDC, 0x0963, NUKTA},
+ {0xEA, 0x0964, 1},
+ {0xEA, 0x0965, DOUBLE_DANDA},
+ {0xF1, 0x0966, 10},
+ {0xBF, 0x0970, EXT},
+ {0xE8, UNI_ZWNJ,HALANT},
+ {0xE9, UNI_ZWJ, HALANT},
+ {ISC_INV, UNI_INV, 1}
+};
+
+int Devanagari_nukta_type[] = {
+ 0x0, 0x0950, 0x0, 0x0, 0x0, 0x0, 0x090C, 0x0961, /* A0 - A7 */
+ 0x0, 0x0, 0x0960, 0x0, 0x0, 0x0, 0x0, 0x0, /* A8 - AF */
+ 0x0, 0x0, 0x0, 0x0958, 0x0959, 0x095A, 0x0, 0x0, /* B0 - B7 */
+ 0x0, 0x0, 0x095B, 0x0, 0x0, 0x0, 0x0, 0x095C, /* B8 - BF */
+ 0x095D, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* C0 - C7 */
+ 0x0, 0x095E, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* C8 - CF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* D0 - D7 */
+ 0x0, 0x0, 0x0, 0x0962, 0x0963, 0x0, 0x0, 0x0944, /* D8 - DF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* E0 - E7 */
+ 0x0, 0x0, 0x093D, 0x0, 0x0, 0x0, 0x0, 0x0, /* E8 - EF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* F0 - E7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 /* F8 - FF */
+};
+
+int Devanagari_EXT_type[] = {
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* A0 - A7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* A8 - AF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* B0 - B7 */
+ 0x0952, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0970, /* B8 - BF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* C0 - C7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* C8 - CF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* D0 - D7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* D8 - DF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* E0 - E7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* E8 - EF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* F0 - E7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 /* F8 - FF */
+};
+#endif
diff --git a/usr/src/lib/iconv_modules/hi_IN/include/iscii-gjr.h b/usr/src/lib/iconv_modules/hi_IN/include/iscii-gjr.h
new file mode 100644
index 0000000000..6a6263c708
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/include/iscii-gjr.h
@@ -0,0 +1,70 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+#ifndef _ISCII_GJR_H_
+#define _ISCII_GJR_H_
+
+#include "iscii-common.h"
+
+Entry Gujarati_isc[] ={
+ {0xA1, 0x0A81, 3},
+ {0xA4, 0x0A85, 7},
+ {0xAC, 0x0A8F, 2},
+ {0xB0, 0x0A93, 2},
+ {0xB3, 0x0B95, 20},
+ {0xC8, 0x0AAA, 6},
+ {0xCF, 0x0AB0, 1},
+ {0xD4, 0x0AB5, 5},
+ {ISC_INV, UNI_INV, 1},
+ {0xDA, 0x0ABE, 5},
+ {0xE1, 0x0AC7, 2},
+ {0xE5, 0x0ACB, 2},
+ {0xE8, 0x0ACD, 1},
+ {0xF1, 0x0AE6, 10}
+};
+
+/*
+Entry *Gujarati_uni = Gujarati_isc;
+*/
+
+Entry Gujarati_uni[] = {
+ {0xA1, 0x0A81, 3},
+ {0xA4, 0x0A85, 7},
+ {0xAC, 0x0A8F, 2},
+ {0xB0, 0x0A93, 2},
+ {0xB3, 0x0B95, 20},
+ {0xC8, 0x0AAA, 6},
+ {0xCF, 0x0AB0, 1},
+ {0xD4, 0x0AB5, 5},
+ {0xDA, 0x0ABE, 5},
+ {0xE1, 0x0AC7, 2},
+ {0xE5, 0x0ACB, 2},
+ {0xE8, 0x0ACD, 1},
+ {0xF1, 0x0AE6, 10},
+ {0xE8, UNI_ZWNJ, HALANT},
+ {0xE9, UNI_ZWJ, HALANT},
+ {ISC_INV, UNI_INV, 1}
+};
+#endif
diff --git a/usr/src/lib/iconv_modules/hi_IN/include/iscii-gmk.h b/usr/src/lib/iconv_modules/hi_IN/include/iscii-gmk.h
new file mode 100644
index 0000000000..305d9d43f7
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/include/iscii-gmk.h
@@ -0,0 +1,91 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+#ifndef _ISCII_GMK_H_
+#define _ISCII_GMK_H_
+
+#include "iscii-common.h"
+
+Entry Gurmukhi_isc[] ={
+ {0xA2, 0x0A02, 1},
+ {0xA4, 0x0A05, 6},
+ {0xAC, 0x0A0F, 2},
+ {0xB0, 0x0A13, 2},
+ {0xB3, 0x0A15, 20},
+ {0xC8, 0x0A2A, 6},
+ {0xCF, 0x0A30, 1},
+ {0xD1, 0x0A32, 1},
+ {0xD4, 0x0A35, 2},
+ {0xD7, 0x0A38, 2},
+ {ISC_INV, UNI_INV, 1},
+ {0xDA, 0x0A3E, 5},
+ {0xE1, 0x0A47, 2},
+ {0xE5, 0x0A4B, 2},
+ {0xE8, 0x0A71, 1},
+ {0xE9, 0x0A3C, 1},
+ {0xF1, 0x0A66, 10}
+};
+
+Entry Gurmukhi_uni[] = {
+ {0xA2, 0x0A02, 1},
+ {0xA4, 0x0A05, 6},
+ {0xAC, 0x0A0F, 2},
+ {0xB0, 0x0A13, 2},
+ {0xB3, 0x0A15, 20},
+ {0xC8, 0x0A2A, 6},
+ {0xCF, 0x0A30, 1},
+ {0xD1, 0x0A32, 1},
+ {0xD1, 0x0A33, NUKTA},
+ {0xD4, 0x0A35, 2},
+ {0xD7, 0x0A38, 2},
+ {0xE9, 0x0A3C, 1},
+ {0xDA, 0x0A3E, 5},
+ {0xE1, 0x0A47, 2},
+ {0xE5, 0x0A4B, 2},
+ {0xB4, 0x0A59, NUKTA},
+ {0xB5, 0x0A5A, NUKTA},
+ {0xC9, 0x0A5E, NUKTA},
+ {0xF1, 0x0A66, 10},
+ {0xE8, 0x0A71, 1},
+ {0xE8, UNI_ZWNJ,HALANT},
+ {0xE9, UNI_ZWJ, HALANT},
+ {ISC_INV, UNI_INV, 1}
+};
+
+int Gurmukhi_nukta_type[] = {
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* A0 - A7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* A8 - AF */
+ 0x0, 0x0, 0x0, 0x0, 0x0A59, 0x0A5A, 0x0, 0x0, /* B0 - B7 */
+ 0x0, 0x0, 0x0A5B, 0x0, 0x0, 0x0, 0x0, 0x0, /* B8 - BF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* C0 - C7 */
+ 0x0, 0x0A5E, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* C8 - CF */
+ 0x0, 0x0A33, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* D0 - D7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* D8 - DF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* E0 - E7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* E8 - EF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* F0 - E7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 /* F8 - FF */
+};
+#endif
diff --git a/usr/src/lib/iconv_modules/hi_IN/include/iscii-knd.h b/usr/src/lib/iconv_modules/hi_IN/include/iscii-knd.h
new file mode 100644
index 0000000000..0fa0e08056
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/include/iscii-knd.h
@@ -0,0 +1,68 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+#ifndef _ISCII_KND_H_
+#define _ISCII_KND_H_
+
+#include "iscii-common.h"
+
+Entry Kannada_isc[] ={
+ {0xA2, 0x0C82, 2},
+ {0xA4, 0x0C85, 10},
+ {0xAF, 0x0C92, 3},
+ {0xB3, 0x0C95, 20},
+ {0xC8, 0x0CAA, 6},
+ {0xCF, 0x0CB0, 1},
+ {0xD1, 0x0CB2, 2},
+ {0xD4, 0x0CB5, 5},
+ {ISC_INV, UNI_INV, 1},
+ {0xDA, 0x0CBE, 9},
+ {0xE4, 0x0CCA, 3},
+ {0xE8, 0x0CCD, 1},
+ {0xF1, 0x0CE6, 10}
+};
+
+/*
+Entry *Kannada_uni = Kannada_isc;
+*/
+Entry Kannada_uni[] ={
+ {0xA2, 0x0C82, 2},
+ {0xA4, 0x0C85, 10},
+ {0xAF, 0x0C92, 3},
+ {0xB3, 0x0C95, 20},
+ {0xC8, 0x0CAA, 6},
+ {0xCF, 0x0CB0, 1},
+ {0xD1, 0x0CB2, 2},
+ {0xD4, 0x0CB5, 5},
+ {0xDA, 0x0CBE, 9},
+ {0xE4, 0x0CCA, 3},
+ {0xE8, 0x0CCD, 1},
+ {0xF1, 0x0CE6, 10},
+ {0xE8, UNI_ZWNJ,HALANT},
+ {0xE9, UNI_ZWJ, HALANT},
+ {ISC_INV, UNI_INV, 1}
+};
+
+#endif
diff --git a/usr/src/lib/iconv_modules/hi_IN/include/iscii-mlm.h b/usr/src/lib/iconv_modules/hi_IN/include/iscii-mlm.h
new file mode 100644
index 0000000000..bee54fa463
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/include/iscii-mlm.h
@@ -0,0 +1,65 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+#ifndef _ISCII_MLM_H_
+#define _ISCII_MLM_H_
+
+#include "iscii-common.h"
+
+Entry Malayalam_isc[] ={
+ {0xA2, 0x0D02, 2},
+ {0xA4, 0x0D05, 10},
+ {0xAF, 0x0D12, 3},
+ {0xB3, 0x0D15, 20},
+ {0xC8, 0x0D2A, 6},
+ {0xCF, 0x0D30, 10},
+ {ISC_INV, UNI_INV, 1},
+ {0xDA, 0x0D3E, 9},
+ {0xE4, 0x0D4A, 3},
+ {0xE8, 0x0D4D, 1},
+ {0xF1, 0x0D66, 10}
+};
+
+/*
+Entry *Malayalam_uni = Malayalam_isc;
+*/
+Entry Malayalam_uni[] ={
+ {0xA2, 0x0D02, 2},
+ {0xA4, 0x0D05, 10},
+ {0xAF, 0x0D12, 3},
+ {0xB3, 0x0D15, 20},
+ {0xC8, 0x0D2A, 6},
+ {0xCF, 0x0D30, 10},
+ {0xDA, 0x0D3E, 9},
+ {0xE4, 0x0D4A, 3},
+ {0xE8, 0x0D4D, 1},
+ {0xF1, 0x0D66, 10},
+ {0xE8, UNI_ZWNJ,HALANT},
+ {0xE9, UNI_ZWJ, HALANT},
+ {ISC_INV, UNI_INV, 1}
+};
+
+
+#endif
diff --git a/usr/src/lib/iconv_modules/hi_IN/include/iscii-ori.h b/usr/src/lib/iconv_modules/hi_IN/include/iscii-ori.h
new file mode 100644
index 0000000000..dacffa71d9
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/include/iscii-ori.h
@@ -0,0 +1,87 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+#ifndef _ISCII_ORI_H_
+#define _ISCII_ORI_H_
+
+#include "iscii-common.h"
+
+Entry Oriya_isc[] ={
+ {0xA1, 0x0B01, 3},
+ {0xA4, 0x0B05, 6},
+ {0xAC, 0x0B0F, 2},
+ {0xB0, 0x0B13, 2},
+ {0xB3, 0x0B15, 20},
+ {0xC8, 0x0B2A, 6},
+ {0xCE, 0x0B5F, 2},
+ {0xD1, 0x0B32, 2},
+ {0xD5, 0x0B36, 4},
+ {ISC_INV, UNI_INV, 1},
+ {0xDA, 0x0B3E, 6},
+ {0xE1, 0x0B47, 2},
+ {0xE5, 0x0B4B, 2},
+ {0xE8, 0x0B4D, 1},
+ {0xE9, 0x0B3C, 1},
+ {0xF1, 0x0B66, 10}
+};
+
+Entry Oriya_uni[] = {
+ {0xA1, 0x0B01, 3},
+ {0xA4, 0x0B05, 6},
+ {0xAC, 0x0B0F, 2},
+ {0xB0, 0x0B13, 2},
+ {0xB3, 0x0B15, 20},
+ {0xC8, 0x0B2A, 6},
+ {0xD1, 0x0B32, 2},
+ {0xD5, 0x0B36, 4},
+ {0xE9, 0x0B3C, 1},
+ {0xDA, 0x0B3E, 6},
+ {0xE1, 0x0B47, 2},
+ {0xE5, 0x0B4B, 2},
+ {0xE8, 0x0B4D, 1},
+ {0xBF, 0x0B5C, NUKTA},
+ {0xC0, 0x0B5D, NUKTA},
+ {0xCE, 0x0B5F, 2},
+ {0xF1, 0x0B66, 10},
+ {0xE8, UNI_ZWNJ,HALANT},
+ {0xE9, UNI_ZWJ, HALANT},
+ {ISC_INV, UNI_INV, 1}
+};
+
+int Oriya_nukta_type[] = {
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* A0 - A7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* A8 - AF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* B0 - B7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0B5C, /* B8 - BF */
+ 0x0B5D, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* C0 - C7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* C8 - CF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* D0 - D7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* D8 - DF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* E0 - E7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* E8 - EF */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, /* F0 - E7 */
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 /* F8 - FF */
+};
+#endif
diff --git a/usr/src/lib/iconv_modules/hi_IN/include/iscii-tlg.h b/usr/src/lib/iconv_modules/hi_IN/include/iscii-tlg.h
new file mode 100644
index 0000000000..b99cc9ac51
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/include/iscii-tlg.h
@@ -0,0 +1,67 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+#ifndef _ISCII_TLG_H_
+#define _ISCII_TLG_H_
+
+#include "iscii-common.h"
+
+Entry Telugu_isc[] ={
+ {0xA2, 0x0C02, 2},
+ {0xA4, 0x0C05, 10},
+ {0xAF, 0x0C12, 3},
+ {0xB3, 0x0C15, 20},
+ {0xC8, 0x0C2A, 6},
+ {0xCF, 0x0C30, 4},
+ {0xD4, 0x0C35, 5},
+ {ISC_INV, UNI_INV, 1},
+ {0xDA, 0x0C3E, 9},
+ {0xE4, 0x0C4A, 3},
+ {0xE8, 0x0C4D, 1},
+ {0xF1, 0x0C66, 10}
+};
+
+/*
+Entry *Telugu_uni = Telugu_isc;
+*/
+Entry Telugu_uni[] ={
+ {0xA2, 0x0C02, 2},
+ {0xA4, 0x0C05, 10},
+ {0xAF, 0x0C12, 3},
+ {0xB3, 0x0C15, 20},
+ {0xC8, 0x0C2A, 6},
+ {0xCF, 0x0C30, 4},
+ {0xD4, 0x0C35, 5},
+ {0xDA, 0x0C3E, 9},
+ {0xE4, 0x0C4A, 3},
+ {0xE8, 0x0C4D, 1},
+ {0xF1, 0x0C66, 10},
+ {0xE8, UNI_ZWNJ,HALANT},
+ {0xE9, UNI_ZWJ, HALANT},
+ {ISC_INV, UNI_INV, 1}
+};
+
+
+#endif
diff --git a/usr/src/lib/iconv_modules/hi_IN/include/iscii-tml.h b/usr/src/lib/iconv_modules/hi_IN/include/iscii-tml.h
new file mode 100644
index 0000000000..50c0872ff4
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/include/iscii-tml.h
@@ -0,0 +1,79 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+#ifndef _ISCII_TML_H_
+#define _ISCII_TML_H_
+
+#include "iscii-common.h"
+
+Entry Tamil_isc[] ={
+ {0xA3, 0x0B83, 1},
+ {0xA4, 0x0B85, 6},
+ {0xAB, 0x0B8E, 3},
+ {0xAF, 0x0B92, 3},
+ {0xB3, 0x0B95, 1},
+ {0xB7, 0x0B99, 2},
+ {0xBA, 0x0B9C, 1},
+ {0xBC, 0x0B9E, 2},
+ {0xC1, 0x0BA3, 2},
+ {0xC8, 0x0BA8, 3},
+ {0xCC, 0x0BAE, 2},
+ {0xCF, 0x0BB0, 6},
+ {0xD6, 0x0BB7, 3},
+ {ISC_INV, UNI_INV, 1},
+ {0xDA, 0x0BBE, 5},
+ {0xE4, 0x0BCA, 3},
+ {0xE8, 0x0BCD, 1},
+ {0xF2, 0x0BE7, 9}
+};
+
+/*
+Entry *Tamil_uni = Tamil_isc;
+*/
+Entry Tamil_uni[] ={
+ {0xA3, 0x0B83, 1},
+ {0xA4, 0x0B85, 6},
+ {0xAB, 0x0B8E, 3},
+ {0xAF, 0x0B92, 3},
+ {0xB3, 0x0B95, 1},
+ {0xB7, 0x0B99, 2},
+ {0xBA, 0x0B9C, 1},
+ {0xBC, 0x0B9E, 2},
+ {0xC1, 0x0BA3, 2},
+ {0xC8, 0x0BA8, 3},
+ {0xCC, 0x0BAE, 2},
+ {0xCF, 0x0BB0, 6},
+ {0xD6, 0x0BB7, 3},
+ {0xDA, 0x0BBE, 5},
+ {0xE4, 0x0BCA, 3},
+ {0xE8, 0x0BCD, 1},
+ {0xF2, 0x0BE7, 9},
+ {0xE8, UNI_ZWNJ,HALANT},
+ {0xE9, UNI_ZWJ, HALANT},
+ {ISC_INV, UNI_INV, 1}
+};
+
+
+#endif
diff --git a/usr/src/lib/iconv_modules/hi_IN/include/iscii.h b/usr/src/lib/iconv_modules/hi_IN/include/iscii.h
new file mode 100644
index 0000000000..a3c27edd96
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/include/iscii.h
@@ -0,0 +1,138 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+#ifndef _ISCII_H_
+#define _ISCII_H_
+
+#include "iscii-bng.h"
+#include "iscii-dev.h"
+#include "iscii-gjr.h"
+#include "iscii-gmk.h"
+#include "iscii-knd.h"
+#include "iscii-mlm.h"
+#include "iscii-ori.h"
+#include "iscii-tlg.h"
+#include "iscii-tml.h"
+
+#define get_script_types(ucs, type) \
+ if ( ucs >= 0x0900 && ucs <= 0x097f ) \
+ type = DEV; \
+ else if ( ucs >= 0x0980 && ucs <= 0x09ff ) \
+ type = BNG; \
+ else if ( ucs >= 0x0a00 && ucs <= 0x0a7f ) \
+ type = GMK; \
+ else if ( ucs >= 0x0a80 && ucs <= 0x0aff ) \
+ type = GJR; \
+ else if ( ucs >= 0x0b00 && ucs <= 0x0b7f ) \
+ type = ORI; \
+ else if ( ucs >= 0x0b80 && ucs <= 0x0bff ) \
+ type = TML; \
+ else if ( ucs >= 0x0c00 && ucs <= 0x0c7f ) \
+ type = TLG; \
+ else if ( ucs >= 0x0c80 && ucs <= 0x0cff ) \
+ type = KND; \
+ else if ( ucs >= 0x0d00 && ucs <= 0x0d7f ) \
+ type = MLM; \
+ else \
+ type = NUM_ISCII;
+
+ISCII isc_TYPE[] = {
+ DEV, /* 0x42 */
+ BNG, /* 0x43 */
+ TML, /* 0x44 */
+ TLG, /* 0x45 */
+ NUM_ISCII,/* 0x46 */
+ ORI, /* 0x47 */
+ KND, /* 0x48 */
+ MLM, /* 0x49 */
+ GJR, /* 0x4a */
+ GMK /* 0x4b */
+};
+
+int aTRs[NUM_ISCII] = {
+ 0x42, /* Devanagiri */
+ 0x43, /* Bengali */
+ 0x4b, /* Gurumukhi */
+ 0x4a, /* Gujarati */
+ 0x47, /* Oriya */
+ 0x44, /* Tamil */
+ 0x45, /* Telugu */
+ 0x48, /* Kannada */
+ 0x49 /* Malayalam */
+};
+
+typedef struct _Entries {
+ Entry *entry;
+ int items;
+} Entries;
+
+Entries iscii_table[NUM_ISCII]= {
+ { Devanagari_isc, sizeof(Devanagari_isc)/sizeof(Entry) },
+ { Bengali_isc, sizeof(Bengali_isc)/sizeof(Entry) },
+ { Gurmukhi_isc, sizeof(Gurmukhi_isc)/sizeof(Entry) },
+ { Gujarati_isc, sizeof(Gujarati_isc)/sizeof(Entry) },
+ { Oriya_isc, sizeof(Oriya_isc)/sizeof(Entry) },
+ { Tamil_isc, sizeof(Tamil_isc)/sizeof(Entry) },
+ { Telugu_isc, sizeof(Telugu_isc)/sizeof(Entry) },
+ { Kannada_isc, sizeof(Kannada_isc)/sizeof(Entry) },
+ { Malayalam_isc, sizeof(Malayalam_isc)/sizeof(Entry) }
+};
+
+Entries unicode_table[NUM_ISCII]= {
+ { Devanagari_uni, sizeof(Devanagari_uni)/sizeof(Entry) },
+ { Bengali_uni, sizeof(Bengali_uni)/sizeof(Entry) },
+ { Gurmukhi_uni, sizeof(Gurmukhi_uni)/sizeof(Entry) },
+ { Gujarati_uni, sizeof(Gujarati_uni)/sizeof(Entry) },
+ { Oriya_uni, sizeof(Oriya_uni)/sizeof(Entry) },
+ { Tamil_uni, sizeof(Tamil_uni)/sizeof(Entry) },
+ { Telugu_uni, sizeof(Telugu_uni)/sizeof(Entry) },
+ { Kannada_uni, sizeof(Kannada_uni)/sizeof(Entry) },
+ { Malayalam_uni, sizeof(Malayalam_uni)/sizeof(Entry) }
+};
+
+int *nukta_type[NUM_ISCII] = {
+ Devanagari_nukta_type,
+ Bengali_nukta_type,
+ Gurmukhi_nukta_type,
+ NULL,
+ Oriya_nukta_type,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+int *EXT_type[NUM_ISCII] = {
+ Devanagari_EXT_type,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+#endif
diff --git a/usr/src/lib/iconv_modules/hi_IN/include/pc-iscii.h b/usr/src/lib/iconv_modules/hi_IN/include/pc-iscii.h
new file mode 100644
index 0000000000..e613942a99
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/include/pc-iscii.h
@@ -0,0 +1,54 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+#ifndef _PC_ISCII_H_
+#define _PC_ISCII_H_
+
+#define uchar unsigned char
+
+typedef struct _entry {
+ uchar pc_iscii;
+ uchar iscii;
+ int count;
+} Entry;
+
+Entry pciscii_isc_tbl[] = {
+ { 0x80, 0xA1, 48 },
+ { 0xE0, 0xEF, 1 },
+ { 0xE1, 0xD1, 15 },
+ { 0xF0, 0xF0, 1 },
+ { 0xF1, 0xE0, 11 }
+};
+
+Entry isc_pciscii_tbl[] = {
+ { 0x80, 0xA1, 48 },
+ { 0xE1, 0xD1, 15 },
+ { 0xF1, 0xE0, 11 },
+ { 0xE0, 0xEF, 1 },
+ { 0xF0, 0xF0, 1 },
+ { 0x30, 0xF1, 10 } /* convert Iscii numerals to ascii numerals */
+};
+
+#endif
diff --git a/usr/src/lib/iconv_modules/hi_IN/iscii91%UTF-8.c b/usr/src/lib/iconv_modules/hi_IN/iscii91%UTF-8.c
new file mode 100644
index 0000000000..edc122eacb
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/iscii91%UTF-8.c
@@ -0,0 +1,422 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+#include <stdio.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <strings.h>
+#include "iscii.h"
+
+#define MSB 0x80 /* most significant bit */
+#define ONEBYTE 0xff /* right most byte */
+
+#define REPLACE_CHAR1 0xEF /* invalid conversion character */
+#define REPLACE_CHAR2 0xBF
+#define REPLACE_CHAR3 0xBD
+
+#define UTF8_SET1B(b,v) \
+ (b[0]=(v&0x7f))
+
+#define UTF8_SET2B(b,v) \
+ (b[0]=(0xc0|((v>>6)&0x1f))); \
+ (b[1]=(0x80|((v&0x3f))))
+
+#define UTF8_SET3B(b,v) \
+ (b[0]=(0xe0|((v>>12)&0xf))); \
+ (b[1]=(0x80|((v>>6)&0x3f))); \
+ (b[2]=(0x80|((v&0x3f))))
+
+typedef struct _icv_state {
+ char keepc[3]; /* keepc[0] is attr, keepc[1] and keepc[2] are lookup-ed */
+ short pState; /* Previous State */
+ int _errno;
+} _iconv_st;
+
+enum _CSTATE { S_BASIC, S_ATR, S_EXT, S_NONE };
+
+#define have_nukta(isc_type) ( nukta_type[isc_type] != NULL )
+#define have_EXT(isc_type) ( EXT_type[isc_type] != NULL )
+#define FIRST_CHAR 0xA0
+
+static int copy_to_outbuf(ucs_t uniid, char *buf, size_t buflen);
+
+static ucs_t
+get_nukta(uchar iscii, int type)
+{
+ int indx = iscii - FIRST_CHAR;
+ int *iscii_nukta = nukta_type[type];
+
+ return ((indx >= 0) ? iscii_nukta[indx] : 0 );
+}
+
+static ucs_t
+get_EXT(uchar iscii, int type)
+{
+ int indx = iscii - FIRST_CHAR;
+ int *iscii_EXT = EXT_type[type];
+
+ return ((indx >= 0) ? iscii_EXT[indx] : 0 );
+}
+
+static ucs_t
+traverse_table(Entry *entry, int num, uchar iscii)
+{
+ int i=0;
+ ucs_t retucs=0;
+
+ for ( ; i < num; ++i ) {
+ Entry en = entry[i];
+
+ if ( iscii < en.iscii ) break;
+ if ( iscii >= en.iscii && iscii < en.iscii + en.count ) {
+ retucs = en.ucs + ( iscii - en.iscii );
+ break;
+ }
+ }
+
+ return retucs;
+}
+
+/*
+ * the copy_to_outbuf has to be called before the st->keepc needs to changed.
+ * if E2BIG error, keep st->keepc. Will flush it at the beginning of next
+ * _icv_iconv() invocation
+ */
+int
+iscii_to_utf8(_iconv_st *st, char *buf, size_t buflen)
+{
+#define DEV_ATR 0x42
+ ucs_t uniid;
+ int nBytes=0;
+ ISCII isc_type = isc_TYPE[st->keepc[0] - DEV_ATR];
+ Entries en = iscii_table[isc_type];
+ /* unsigned int keepc0 = (unsigned int) (st->keepc[0] & ONEBYTE); */
+ unsigned int keepc1 = (unsigned int) (st->keepc[1] & ONEBYTE);
+ unsigned int keepc2 = (unsigned int) (st->keepc[2] & ONEBYTE);
+
+ if (keepc1 == 0xFF) { /* FFFD */
+ if ( buflen < 3 ) {
+ errno = E2BIG;
+ return 0;
+ }
+
+ *buf = (char)REPLACE_CHAR1;
+ *(buf+1) = (char)REPLACE_CHAR2;
+ *(buf+2) = (char)REPLACE_CHAR3;
+ return (3);
+ }
+
+ if (keepc2 == 0) { /* Flush Single Character */
+
+ if (keepc1 & MSB) { /* ISCII - Non-Ascii Codepoints */
+ uniid = traverse_table(en.entry, en.items, keepc1);
+ } else /* ASCII */
+ uniid = keepc1;
+
+ if ( (nBytes = copy_to_outbuf(uniid, buf, buflen)) == 0) goto E2big;
+ st->keepc[1] = 0;
+
+ } else {
+ /* keepc[1] and keepc[2] != 0 */
+ if (keepc1 & MSB) {
+
+ switch (keepc1)
+ {
+ case ISC_ext:
+
+ if ( have_EXT(isc_type) && is_valid_ext_code(keepc2) )
+ { /* EXT only supported in Devanagari script */
+
+ uniid = get_EXT(keepc2, isc_type);
+ if ((nBytes = copy_to_outbuf(uniid, buf, buflen)) == 0) goto E2big;
+ }
+ else
+ errno = EILSEQ;
+
+ st->keepc[1] = st->keepc[2] = 0;
+ break;
+ case ISC_halant:
+ /* test whether there has enough space to hold the converted bytes */
+ if ((keepc2 == ISC_halant || keepc2 == ISC_nukta) && buflen < 6 )
+ goto E2big;
+
+ uniid = traverse_table(en.entry, en.items, keepc1);
+ if ((nBytes = copy_to_outbuf(uniid, buf, buflen)) == 0) goto E2big;
+ st->keepc[1] = st->keepc[2];
+
+ if ( keepc2 == ISC_halant || keepc2 == ISC_nukta )
+ {
+ int nbytes_2 = 0;
+ if (keepc2 == ISC_halant) uniid = UNI_ZWNJ; /* explicit Halant */
+ if (keepc2 == ISC_nukta) uniid = UNI_ZWJ; /* soft Halant */
+
+ if ((nbytes_2 = copy_to_outbuf(uniid, buf+nBytes, buflen)) == 0) goto E2big;
+ st->keepc[1] = st->keepc[2] = 0;
+
+ nBytes += nbytes_2;
+ }
+
+ break;
+ case ISC_danda:
+ if ( isc_type == DEV && keepc2 == ISC_danda )
+ { /* only in Devanagari script, it works */
+ uniid = UNI_DOUBLE_DANDA;
+ if ((nBytes = copy_to_outbuf(uniid, buf, buflen)) == 0) goto E2big;
+ st->keepc[1] = st->keepc[2] = 0;
+
+ break;
+ }
+
+ /* fall into default case, convert the DANDA if it isn't DOUBLE_DANDA */
+ /* FALLTHRU */
+ default:
+
+ uniid = traverse_table(en.entry, en.items, keepc1);
+
+ if ( have_nukta(isc_type) && keepc2 == ISC_nukta) {
+ /* then try to test whether it is Nukta Cases */
+ int ucs;
+
+ if (( ucs = get_nukta(keepc1, isc_type)) != 0 ) {
+
+ uniid = ucs;
+
+ if ( (nBytes = copy_to_outbuf(uniid, buf, buflen)) == 0) goto E2big;
+ st->keepc[1] = st->keepc[2] = 0;
+ } else {
+ if ( (nBytes = copy_to_outbuf(uniid, buf, buflen)) == 0) goto E2big;
+ st->keepc[1] = st->keepc[2];
+ }
+ } else {
+ if ( (nBytes = copy_to_outbuf(uniid, buf, buflen)) == 0) goto E2big;
+ st->keepc[1] = st->keepc[2];
+ }
+ break;
+ } /* end of switch */
+ } else { /* ASCII */
+ uniid = keepc1;
+ if ( (nBytes = copy_to_outbuf(uniid, buf, buflen)) == 0) goto E2big;
+ st->keepc[1] = st->keepc[2];
+ }
+ st->keepc[2] = 0;
+ }
+
+E2big:
+ return nBytes;
+}
+
+static int
+copy_to_outbuf(ucs_t uniid, char *buf, size_t buflen)
+{
+ if (uniid > 0) {
+ if (uniid <= 0x7f) {
+ if (buflen < 1) {
+ errno = E2BIG;
+ return(0);
+ }
+ UTF8_SET1B(buf, uniid);
+ return (1);
+ }
+
+ if (uniid >= 0x80 && uniid <= 0x7ff) {
+ if (buflen < 2) {
+ errno = E2BIG;
+ return(0);
+ }
+ UTF8_SET2B(buf, uniid);
+ return (2);
+ }
+
+ if (uniid >= 0x800 && uniid <= 0xffff) {
+ if (buflen < 3) {
+ errno = E2BIG;
+ return(0);
+ }
+ UTF8_SET3B(buf, uniid);
+ return (3);
+ }
+ } else { /* Replacement Character */
+ if ( buflen < 3 ) {
+ errno = E2BIG;
+ return 0;
+ }
+
+ *buf = (char)REPLACE_CHAR1;
+ *(buf+1) = (char)REPLACE_CHAR2;
+ *(buf+2) = (char)REPLACE_CHAR3;
+ return (3);
+ }
+
+ /* This code shouldn't be reached */
+ return (0);
+}
+
+/*
+ * Open; called from iconv_open()
+ */
+void *
+_icv_open()
+{
+ _iconv_st *st;
+
+ if ((st = (_iconv_st*)malloc(sizeof(_iconv_st))) == NULL) {
+ errno = ENOMEM;
+ return ((void*)-1);
+ }
+
+ bzero(st, sizeof(_iconv_st));
+ st->keepc[0] = DEV_ATR;
+ st->pState = S_BASIC;
+
+ return ((void*)st);
+}
+
+/*
+ * Close; called from iconv_close()
+ */
+void
+_icv_close(_iconv_st *st)
+{
+ if (!st)
+ errno = EBADF;
+ else
+ free(st);
+}
+
+/*
+ * Conversion routine; called from iconv()
+ */
+size_t
+_icv_iconv(_iconv_st *st, char **inbuf, size_t *inbytesleft,
+ char **outbuf, size_t *outbytesleft)
+{
+ int n;
+ short curState;
+
+ if (st == NULL) {
+ errno = EBADF;
+ return ((size_t) -1);
+ }
+
+ if (inbuf == NULL || *inbuf == NULL) { /* Reset request */
+ st->keepc[0] = DEV_ATR;
+ st->pState = S_BASIC;
+ st->_errno = 0;
+ return ((size_t)0);
+ }
+
+ /* flush if possible */
+ if ( st->_errno == E2BIG ) {
+ n = iscii_to_utf8(st, *outbuf, *outbytesleft);
+ (*outbuf) += n;
+ (*outbytesleft) -= n;
+ }
+
+ st->_errno = errno = 0; /* reset internal and external errno */
+
+ /* a state machine for interpreting ISCII code */
+ while (*inbytesleft > 0 && *outbytesleft > 0) {
+ unsigned int curChar = (unsigned int)(**inbuf & ONEBYTE);
+ unsigned int prevChar = (unsigned int)(st->keepc[1] & ONEBYTE);
+
+ if (curChar == ISC_ext)
+ curState = S_EXT;
+ else if (curChar == ISC_atr)
+ curState = S_ATR;
+ else
+ curState = S_BASIC;
+
+ switch (curState) {
+ case S_BASIC:
+ if (prevChar == 0)
+ st->keepc[1] = curChar;
+ else
+ st->keepc[2] = curChar;
+
+ if (st->pState == S_ATR) {
+ /* clear the keepc[1], which is part of attribute */
+ st->keepc[1] = 0;
+ /* change the attribute for Indian Script Fonts */
+ if ((curChar >= 0x42) && (curChar <= 0x4b) && curChar != 0x46) {
+ st->keepc[0] = curChar;
+ }
+ /* other attributes such as display attributes would be ignored */
+ } else { /* Handle Cases and Flush */
+
+ if ((curChar > 0 && curChar <= 0x7f) || prevChar != 0) {
+ n=iscii_to_utf8(st, *outbuf, *outbytesleft);
+ if (n > 0) {
+ (*outbuf) += n;
+ (*outbytesleft) -= n;
+ } else /* don't return immediately, need advance the *inbuf */
+ st->_errno = errno;
+ }
+ }
+ break;
+ case S_ATR:
+ case S_EXT: /* Do nothing */
+ if (st->pState == S_BASIC) { /* Flush */
+ if ( st->keepc[1] == 0 )
+ {
+ if (curState == S_EXT) st->keepc[1] = ISC_ext;
+ break;
+ }
+ n = iscii_to_utf8(st, *outbuf, *outbytesleft);
+ if (n > 0) {
+ (*outbuf) += n;
+ (*outbytesleft) -= n;
+ } else /* don't return immediately */
+ st->_errno = errno;
+
+ if (curState == S_EXT) st->keepc[1] = ISC_ext;
+ } else {
+ errno = EILSEQ;
+ return (size_t)-1;
+ }
+
+ break;
+ default: /* should never come here */
+ st->_errno = errno = EILSEQ;
+ st->pState = S_BASIC; /* reset state */
+ break;
+ }
+
+ st->pState = curState;
+
+ (*inbuf)++;
+ (*inbytesleft)--;
+
+ if (errno)
+ return(size_t)-1;
+ }
+
+ if (*inbytesleft > 0 && *outbytesleft == 0) {
+ /* in this case, the st->_errno is zero */
+ errno = E2BIG;
+ return(size_t)-1;
+ }
+
+ return (size_t)(*inbytesleft);
+}
diff --git a/usr/src/lib/iconv_modules/hi_IN/iscii91%ea-iscii.c b/usr/src/lib/iconv_modules/hi_IN/iscii91%ea-iscii.c
new file mode 100644
index 0000000000..a22609b09d
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/iscii91%ea-iscii.c
@@ -0,0 +1,233 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+#include <stdio.h>
+#include <errno.h>
+#include <ctype.h>
+#include <strings.h>
+#include <stdlib.h>
+#include "ea-iscii.h"
+
+#define MSB 0x80
+#define REPLACE_CHAR '?'
+
+typedef enum { SPACE, ASCII, ISCII } CONTEXT;
+
+typedef struct _icv_state {
+ CONTEXT context;
+} _iconv_st;
+
+static uchar
+traverse_table(Entry *entry , int num, uchar iscii, uchar *type)
+{
+ int i = 0;
+ uchar ea_iscii=0;
+
+ *type = 0;
+
+ for ( ; i < num; ++i) {
+ Entry en = entry[i];
+
+ if ( iscii < en.iscii ) break;
+
+ if ( en.count == NUKTA || en.count == MATRA || en.count ==
+ COMBINED_MATRA_NUKTA ) {
+ if ( iscii == en.iscii ) {
+ *type = en.count;
+ ea_iscii = en.ea_iscii;
+ break;
+ }
+ } else {
+ if ( iscii >= en.iscii && iscii < en.iscii + en.count ) {
+ ea_iscii = (iscii - en.iscii) + en.ea_iscii;
+ break;
+ }
+ }
+ }
+
+ return ea_iscii;
+}
+
+void *
+_icv_open()
+{
+ _iconv_st *st;
+
+ if ((st = (_iconv_st*)malloc(sizeof(_iconv_st))) == NULL) {
+ errno = ENOMEM;
+ return ((void*)-1);
+ }
+
+ bzero(st, sizeof(_iconv_st));
+
+ return ((void*)st);
+}
+
+/*
+ * Close; called from iconv_close()
+ */
+void
+_icv_close(_iconv_st *st)
+{
+ if (!st)
+ errno = EBADF;
+ else
+ free(st);
+}
+
+size_t
+_icv_iconv(_iconv_st *st, char **inbuf, size_t *inbytesleft,
+ char **outbuf, size_t *outbytesleft)
+{
+ if (st == NULL) {
+ errno = EBADF;
+ return ((size_t) -1);
+ }
+
+ if (inbuf == NULL || *inbuf == NULL) { /* Reset request. */
+ return ((size_t)0);
+ }
+
+ /* a state machine for interpreting ISCII code */
+ while (*inbytesleft > 0 && *outbytesleft > 0) {
+ uchar c = (uchar)**inbuf;
+
+ if ( c & MSB ) {
+
+ uchar type, ea_iscii;
+
+ if ( st->context != ISCII ) {
+
+ if ( st->context != SPACE ) {
+ /* force to insert ' ' between ASCII and ISCII */
+ **outbuf = 0x20;
+ (*outbuf)++;
+ (*outbytesleft)--;
+ st->context = SPACE;
+ }
+
+ if ( *outbytesleft < 1 ) {
+ errno = E2BIG;
+ /* don't advance */
+ return (size_t)-1;
+ }
+
+ st->context = ISCII;
+ **outbuf = LEADING_BYTE;
+ (*outbuf)++;
+ (*outbytesleft)--;
+ }
+
+ if ((ea_iscii = traverse_table(isc_eaiscii_tbl,
+ sizeof(isc_eaiscii_tbl)/sizeof(Entry), c, &type ))) {
+ switch ( type ) {
+ case MATRA:
+ if ( *outbytesleft < 2 ) {
+ errno = E2BIG;
+ return (size_t)-1;
+ }
+
+ **outbuf = FIRST_VOWEL;
+ *(*outbuf+1) = ea_iscii;
+ (*outbuf) += 2;
+ (*outbytesleft) -= 2;
+ break;
+ case NUKTA:
+ if ( *outbytesleft < 2 ) {
+ errno = E2BIG;
+ return (size_t)-1;
+ }
+
+ **outbuf = ea_iscii;
+ *(*outbuf+1) = NUKTA_VALUE;
+ (*outbuf) += 2;
+ (*outbytesleft) -= 2;
+ break;
+ case COMBINED_MATRA_NUKTA:
+ if ( *outbytesleft < 3 ) {
+ errno = E2BIG;
+ return (size_t)-1;
+ }
+
+ **outbuf = FIRST_VOWEL;
+ *(*outbuf+1) = ea_iscii;
+ *(*outbuf+2) = NUKTA_VALUE;
+ (*outbuf) += 3;
+ (*outbytesleft) -= 3;
+ break;
+ case 0:
+ if ( *outbytesleft < 1 ) {
+ errno = E2BIG;
+ return (size_t)-1;
+ }
+
+ **outbuf = ea_iscii;
+ (*outbuf)++;
+ (*outbytesleft)--;
+ break;
+ }
+ } else { /* REPLACE_CHAR */
+ if ( *outbytesleft < 1 ) {
+ errno = E2BIG;
+ return (size_t)-1;
+ }
+
+ **outbuf = REPLACE_CHAR;
+ (*outbuf)++;
+ (*outbytesleft)--;
+ }
+ } else { /* ASCII */
+ if ( st->context == ISCII && !isspace(c) ) {
+ /* force to insert ' ' between ASCII and ISCII */
+ **outbuf = 0x20;
+ (*outbuf)++;
+ (*outbytesleft)--;
+ st->context = SPACE;
+ }
+
+ if ( *outbytesleft < 1 ) {
+ errno = E2BIG;
+ return (size_t)-1;
+ }
+
+ **outbuf = c;
+ (*outbuf)++;
+ (*outbytesleft)--;
+
+ st->context = ASCII;
+ if ( isspace(c) )
+ st->context = SPACE;
+ }
+
+ (*inbuf)++;
+ (*inbytesleft)--;
+ }
+
+ if ( *inbytesleft > 0 && *outbytesleft == 0 ) {
+ errno = E2BIG;
+ return ((size_t)-1);
+ }
+
+ return ((size_t)(*inbytesleft));
+}
diff --git a/usr/src/lib/iconv_modules/hi_IN/iscii91%pc-iscii.c b/usr/src/lib/iconv_modules/hi_IN/iscii91%pc-iscii.c
new file mode 100644
index 0000000000..4c2d403f49
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/iscii91%pc-iscii.c
@@ -0,0 +1,122 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+#include <stdio.h>
+#include <errno.h>
+#include <strings.h>
+#include <stdlib.h>
+#include "pc-iscii.h"
+
+#define MSB 0x80
+#define REPLACE_CHAR '?'
+
+typedef struct _icv_state {
+ int dummy;
+} _iconv_st;
+
+static uchar
+traverse_table(Entry *entry , int num, uchar iscii)
+{
+ int i = 0;
+ uchar pc_iscii=0;
+
+ for ( ; i < num; ++i) {
+ Entry en = entry[i];
+
+ if ( iscii < en.iscii ) break;
+ if ( iscii >= en.iscii && iscii < en.iscii + en.count ) {
+ pc_iscii = (iscii - en.iscii) + en.pc_iscii;
+ break;
+ }
+ }
+
+ return pc_iscii;
+}
+
+void *
+_icv_open()
+{
+ _iconv_st *st;
+
+ if ((st = (_iconv_st*)malloc(sizeof(_iconv_st))) == NULL) {
+ errno = ENOMEM;
+ return ((void*)-1);
+ }
+
+ bzero(st, sizeof(_iconv_st));
+
+ return ((void*)st);
+}
+
+/*
+ * Close; called from iconv_close()
+ */
+void
+_icv_close(_iconv_st *st)
+{
+ if (!st)
+ errno = EBADF;
+ else
+ free(st);
+}
+
+size_t
+_icv_iconv(_iconv_st *st, char **inbuf, size_t *inbytesleft,
+ char **outbuf, size_t *outbytesleft)
+{
+ if (st == NULL) {
+ errno = EBADF;
+ return ((size_t) -1);
+ }
+
+ if (inbuf == NULL || *inbuf == NULL) { /* Reset request. */
+ return ((size_t)0);
+ }
+
+ /* a state machine for interpreting ISCII code */
+ while (*inbytesleft > 0 && *outbytesleft > 0) {
+ uchar c = (uchar)**inbuf;
+
+ if ( c & MSB ) {
+ uchar pc_iscii = traverse_table(isc_pciscii_tbl,
+ sizeof(isc_pciscii_tbl)/sizeof(Entry), c);
+ if ( pc_iscii ) **outbuf = pc_iscii;
+ else **outbuf = REPLACE_CHAR;
+ } else { /* ASCII */
+ **outbuf = c;
+ }
+
+ (*inbuf)++;
+ (*inbytesleft)--;
+ (*outbuf)++;
+ (*outbytesleft)--;
+ }
+
+ if ( *inbytesleft > 0 && *outbytesleft == 0 ) {
+ errno = E2BIG;
+ return ((size_t)-1);
+ }
+
+ return ((size_t)(*inbytesleft));
+}
diff --git a/usr/src/lib/iconv_modules/hi_IN/pc-iscii%iscii91.c b/usr/src/lib/iconv_modules/hi_IN/pc-iscii%iscii91.c
new file mode 100644
index 0000000000..5f0b32428b
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/pc-iscii%iscii91.c
@@ -0,0 +1,122 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright(c) 2001 Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+#include <stdio.h>
+#include <errno.h>
+#include <strings.h>
+#include <stdlib.h>
+#include "pc-iscii.h"
+
+#define MSB 0x80
+#define REPLACE_CHAR '?'
+
+typedef struct _icv_state {
+ int dummy;
+} _iconv_st;
+
+static uchar
+traverse_table(Entry *entry , int num, uchar pc_iscii)
+{
+ int i=0;
+ uchar iscii=0;
+
+ for ( ; i < num; ++i) {
+ Entry en = entry[i];
+
+ if ( pc_iscii < en.pc_iscii ) break;
+ if ( pc_iscii >= en.pc_iscii && pc_iscii < en.pc_iscii + en.count ) {
+ iscii = (pc_iscii - en.pc_iscii) + en.iscii;
+ break;
+ }
+ }
+
+ return iscii;
+}
+
+void *
+_icv_open()
+{
+ _iconv_st *st;
+
+ if ((st = (_iconv_st*)malloc(sizeof(_iconv_st))) == NULL) {
+ errno = ENOMEM;
+ return ((void*)-1);
+ }
+
+ bzero(st, sizeof(_iconv_st));
+
+ return ((void*)st);
+}
+
+/*
+ * Close; called from iconv_close()
+ */
+void
+_icv_close(_iconv_st *st)
+{
+ if (!st)
+ errno = EBADF;
+ else
+ free(st);
+}
+
+size_t
+_icv_iconv(_iconv_st *st, char **inbuf, size_t *inbytesleft,
+ char **outbuf, size_t *outbytesleft)
+{
+ if (st == NULL) {
+ errno = EBADF;
+ return ((size_t) -1);
+ }
+
+ if (inbuf == NULL || *inbuf == NULL) { /* Reset request. */
+ return ((size_t)0);
+ }
+
+ /* a state machine for interpreting ISCII code */
+ while (*inbytesleft > 0 && *outbytesleft > 0) {
+ uchar c = (uchar)**inbuf;
+
+ if ( c & MSB ) {
+ uchar iscii = traverse_table(pciscii_isc_tbl,
+ sizeof(pciscii_isc_tbl)/sizeof(Entry), c);
+ if ( iscii ) **outbuf = iscii;
+ else **outbuf = REPLACE_CHAR;
+ } else { /* ASCII */
+ **outbuf = c;
+ }
+
+ (*inbuf)++;
+ (*inbytesleft)--;
+ (*outbuf)++;
+ (*outbytesleft)--;
+ }
+
+ if ( *inbytesleft > 0 && *outbytesleft == 0 ) {
+ errno = E2BIG;
+ return ((size_t)-1);
+ }
+
+ return ((size_t)(*inbytesleft));
+}
diff --git a/usr/src/lib/iconv_modules/hi_IN/sparc/Makefile b/usr/src/lib/iconv_modules/hi_IN/sparc/Makefile
new file mode 100644
index 0000000000..f740398543
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/sparc/Makefile
@@ -0,0 +1,24 @@
+#
+# This file and its contents are supplied under the terms of the
+# Common Development and Distribution License ("CDDL"), version 1.0.
+# You may only use this file in accordance with the terms of version
+# 1.0 of the CDDL.
+#
+# A full copy of the text of the CDDL should have accompanied this
+# source. A copy of the CDDL is also available via the Internet at
+# http://www.illumos.org/license/CDDL.
+#
+
+#
+# Copyright 2017 Alexander Pyhalov
+#
+
+include ../Makefile.com
+
+CFLAGS += -I.. -I../common/ -I../include/
+
+ICONV_LIBS = $(PROGS:%=$(ICONV_DIR)/%)
+
+$(ICONV_LIBS) := FILEMODE= 755
+
+install: all $(ICONV_DIR) .WAIT $(ICONV_LIBS)
diff --git a/usr/src/lib/iconv_modules/hi_IN/sparcv9/Makefile b/usr/src/lib/iconv_modules/hi_IN/sparcv9/Makefile
new file mode 100644
index 0000000000..adbd2dae78
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/sparcv9/Makefile
@@ -0,0 +1,25 @@
+#
+# This file and its contents are supplied under the terms of the
+# Common Development and Distribution License ("CDDL"), version 1.0.
+# You may only use this file in accordance with the terms of version
+# 1.0 of the CDDL.
+#
+# A full copy of the text of the CDDL should have accompanied this
+# source. A copy of the CDDL is also available via the Internet at
+# http://www.illumos.org/license/CDDL.
+#
+
+#
+# Copyright 2017 Alexander Pyhalov
+#
+
+include ../Makefile.com
+include ../../Makefile.iconv.64
+
+CFLAGS += -I.. -I../common/ -I../include/
+
+ICONV_LIBS = $(PROGS:%=$(ICONV_DIR_64)/%)
+
+$(ICONV_LIBS) := FILEMODE= 755
+
+install: all $(ICONV_DIR) .WAIT $(ICONV_LIBS)
diff --git a/usr/src/lib/iconv_modules/hi_IN/testData/EA-ISCII b/usr/src/lib/iconv_modules/hi_IN/testData/EA-ISCII
new file mode 100644
index 0000000000..159c5e688b
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/testData/EA-ISCII
@@ -0,0 +1,109 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ *
+ */
+
+ EA-ISCII ISCII91
+/* 'x' at the beginning of a word indicates that the word is an Indian script one */
+
+ 0x41 0xA1
+ 0x42 0xA2
+/* 0x78 is NUKTA */
+ 0x42 NUKTA 0xA3
+/* the first vowel */
+ 0x43 0xA4
+/* the first vowel followed by Matra to represent another vowel */
+ 0x43 0x6B 0xA5
+ 0x43 0x6C 0xA6
+ 0x43 0x6D 0xA7
+ 0x43 0x6E 0xA8
+ 0x43 0x6F 0xA9
+ 0x43 0x70 0xAA
+ 0x43 0x71 0xAB
+ 0x43 0x72 0xAC
+ 0x43 0x73 0xAD
+ 0x43 0x73 NUKTA 0xAE
+ 0x43 0x74 0xAF
+ 0x43 0x75 0xB0
+ 0x43 0x76 0xB1
+ 0x43 0x76 NUKTA 0xB2
+
+ 0x44 0xB3
+ 0x45 0xB4
+ 0x46 0xB5
+ 0x47 0xB6
+ 0x47 NUKTA 0xB7
+ 0x48 0xB8
+ 0x49 0xB9
+ 0x4A 0xBA
+ 0x4B 0xBB
+ 0x4B NUKTA 0xBC
+ 0x4C 0xBD
+ 0x4D 0xBE
+ 0x4E 0xBF
+ 0x4F 0xC0
+ 0x50 0xC1
+ 0x51 0xC2
+ 0x52 0xC3
+ 0x53 0xC4
+ 0x54 0xC5
+ 0x55 0xC6
+ 0x55 NUKTA 0xC7
+ 0x56 0xC8
+ 0x57 0xC9
+ 0x58 0xCA
+ 0x59 0xCB
+ 0x5A 0xCC
+
+ 0x61 0xCD
+ 0x61 NUKTA 0xCE
+ 0x62 0xCF
+ 0x63 0xD0
+ 0x64 0xD1
+ 0x65 0xD2
+ 0x65 NUKTA 0xD3
+ 0x66 0xD4
+ 0x67 0xD5
+ 0x68 0xD6
+ 0x69 0xD7
+ 0x6A 0xD8
+ 0x6A NUKTA 0xD9
+
+ 0x6B 0xDA
+ 0x6C 0xDB
+ 0x6D 0xDC
+ 0x6E 0xDD
+ 0x6F 0xDE
+ 0x70 0xDF
+ 0x71 0xE0
+ 0x72 0xE1
+ 0x73 0xE2
+ 0x73 NUKTA 0xE3
+ 0x74 0xE4
+ 0x75 0xE5
+ 0x76 0xE6
+ 0x76 NUKTA 0xE7
+ 0x77 0xE8
+ 0x78 0xE9
+ 0x79 0xEA
+ 0x7A 0xEF
diff --git a/usr/src/lib/iconv_modules/hi_IN/testData/HindiAll.iscii b/usr/src/lib/iconv_modules/hi_IN/testData/HindiAll.iscii
new file mode 100644
index 0000000000..37c243ee83
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/testData/HindiAll.iscii
@@ -0,0 +1,4154 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+Ïè³
+³¢
+Ïè³¢
+³Ú
+Ïè³Ú
+³Ú¢
+Ïè³Ú¢
+³Û
+Ïè³Û
+³Û¢
+Ïè³Û¢
+³Ü
+Ïè³Ü
+³Ü¢
+Ïè³Ü¢
+³Ý
+Ïè³Ý
+³Ý¢
+Ïè³Ý¢
+³Þ
+Ïè³Þ
+³Þ¢
+Ïè³Þ¢
+³ß
+Ïè³ß
+³ß¢
+Ïè³ß¢
+³á
+Ïè³á
+³á¢
+Ïè³á¢
+³â
+Ïè³â
+³â¢
+Ïè³â¢
+³å
+Ïè³å
+³å¢
+Ïè³å¢
+³æ
+Ïè³æ
+³æ¢
+Ïè³æ¢
+³ç
+Ïè³ç
+³ç¢
+Ïè³ç¢
+³é
+Ïè³é
+³é¢
+Ïè³é¢
+³éÚ
+Ïè³éÚ
+³éÚ¢
+Ïè³éÚ¢
+³éÛ
+Ïè³éÛ
+³éÛ¢
+Ïè³éÛ¢
+³éÜ
+Ïè³éÜ
+³éÜ¢
+Ïè³éÜ¢
+³éÝ
+Ïè³éÝ
+³éÝ¢
+Ïè³éÝ¢
+³éÞ
+Ïè³éÞ
+³éÞ¢
+Ïè³éÞ¢
+³éß
+Ïè³éß
+³éߢ
+Ïè³éߢ
+³éá
+Ïè³éá
+³éá¢
+Ïè³éá¢
+³éâ
+Ïè³éâ
+³éâ¢
+Ïè³éâ¢
+³éå
+Ïè³éå
+³éå¢
+Ïè³éå¢
+³éæ
+Ïè³éæ
+³éæ¢
+Ïè³éæ¢
+³éç
+Ïè³éç
+³éç¢
+Ïè³éç¢
+Ïè´
+´¢
+Ïè´¢
+´Ú
+Ïè´Ú
+´Ú¢
+Ïè´Ú¢
+´Û
+Ïè´Û
+´Û¢
+Ïè´Û¢
+´Ü
+Ïè´Ü
+´Ü¢
+Ïè´Ü¢
+´Ý
+Ïè´Ý
+´Ý¢
+Ïè´Ý¢
+´Þ
+Ïè´Þ
+´Þ¢
+Ïè´Þ¢
+´ß
+Ïè´ß
+´ß¢
+Ïè´ß¢
+´á
+Ïè´á
+´á¢
+Ïè´á¢
+´â
+Ïè´â
+´â¢
+Ïè´â¢
+´å
+Ïè´å
+´å¢
+Ïè´å¢
+´æ
+Ïè´æ
+´æ¢
+Ïè´æ¢
+´ç
+Ïè´ç
+´ç¢
+Ïè´ç¢
+´é
+Ïè´é
+´é¢
+Ïè´é¢
+´éÚ
+Ïè´éÚ
+´éÚ¢
+Ïè´éÚ¢
+´éÛ
+Ïè´éÛ
+´éÛ¢
+Ïè´éÛ¢
+´éÜ
+Ïè´éÜ
+´éÜ¢
+Ïè´éÜ¢
+´éÝ
+Ïè´éÝ
+´éÝ¢
+Ïè´éÝ¢
+´éÞ
+Ïè´éÞ
+´éÞ¢
+Ïè´éÞ¢
+´éß
+Ïè´éß
+´éߢ
+Ïè´éߢ
+´éá
+Ïè´éá
+´éá¢
+Ïè´éá¢
+´éâ
+Ïè´éâ
+´éâ¢
+Ïè´éâ¢
+´éå
+Ïè´éå
+´éå¢
+Ïè´éå¢
+´éæ
+Ïè´éæ
+´éæ¢
+Ïè´éæ¢
+´éç
+Ïè´éç
+´éç¢
+Ïè´éç¢
+Ïèµ
+µ¢
+Ïèµ¢
+µÚ
+ÏèµÚ
+µÚ¢
+ÏèµÚ¢
+µÛ
+ÏèµÛ
+µÛ¢
+ÏèµÛ¢
+µÜ
+ÏèµÜ
+暛
+ÏèµÜ¢
+µÝ
+ÏèµÝ
+µÝ¢
+ÏèµÝ¢
+µÞ
+ÏèµÞ
+µÞ¢
+ÏèµÞ¢
+µß
+Ïèµß
+µß¢
+Ïèµß¢
+µá
+Ïèµá
+栛
+Ïèµá¢
+µâ
+Ïèµâ
+惛
+Ïèµâ¢
+µå
+Ïèµå
+憛
+Ïèµå¢
+µæ
+Ïèµæ
+摛
+Ïèµæ¢
+µç
+Ïèµç
+懛
+Ïèµç¢
+µé
+Ïèµé
+悛
+Ïèµé¢
+µéÚ
+ÏèµéÚ
+µéÚ¢
+ÏèµéÚ¢
+µéÛ
+ÏèµéÛ
+µéÛ¢
+ÏèµéÛ¢
+悚
+ÏèµéÜ
+µéÜ¢
+ÏèµéÜ¢
+µéÝ
+ÏèµéÝ
+µéÝ¢
+ÏèµéÝ¢
+µéÞ
+ÏèµéÞ
+µéÞ¢
+ÏèµéÞ¢
+µéß
+Ïèµéß
+µéߢ
+Ïèµéߢ
+悠
+Ïèµéá
+µéá¢
+Ïèµéá¢
+悃
+Ïèµéâ
+µéâ¢
+Ïèµéâ¢
+悆
+Ïèµéå
+µéå¢
+Ïèµéå¢
+悑
+Ïèµéæ
+µéæ¢
+Ïèµéæ¢
+悇
+Ïèµéç
+µéç¢
+Ïèµéç¢
+쏦
+¶¢
+Ï趢
+¶Ú
+Ïè¶Ú
+¶Ú¢
+Ïè¶Ú¢
+¶Û
+Ïè¶Û
+¶Û¢
+Ïè¶Û¢
+¶Ü
+Ïè¶Ü
+¶Ü¢
+Ïè¶Ü¢
+¶Ý
+Ïè¶Ý
+¶Ý¢
+Ïè¶Ý¢
+¶Þ
+Ïè¶Þ
+¶Þ¢
+Ïè¶Þ¢
+¶ß
+Ïè¶ß
+¶ß¢
+Ïè¶ß¢
+¶á
+Ïè¶á
+¶á¢
+Ïè¶á¢
+¶â
+Ïè¶â
+¶â¢
+Ïè¶â¢
+¶å
+Ïè¶å
+¶å¢
+Ïè¶å¢
+¶æ
+Ïè¶æ
+¶æ¢
+Ïè¶æ¢
+¶ç
+Ïè¶ç
+¶ç¢
+Ïè¶ç¢
+Ïè·
+·¢
+Ïè·¢
+·Ú
+Ïè·Ú
+·Ú¢
+Ïè·Ú¢
+·Û
+Ïè·Û
+·Û¢
+Ïè·Û¢
+·Ü
+Ïè·Ü
+·Ü¢
+Ïè·Ü¢
+·Ý
+Ïè·Ý
+·Ý¢
+Ïè·Ý¢
+·Þ
+Ïè·Þ
+·Þ¢
+Ïè·Þ¢
+·ß
+Ïè·ß
+᧢
+Ïè·ß¢
+·á
+Ïè·á
+ᇢ
+Ïè·á¢
+·â
+Ïè·â
+ቢ
+Ïè·â¢
+·å
+Ïè·å
+ጢ
+Ïè·å¢
+·æ
+Ïè·æ
+ᾢ
+Ïè·æ¢
+·ç
+Ïè·ç
+።
+Ïè·ç¢
+Ïè¸
+¸¢
+Ï踢
+¸Ú
+Ïè¸Ú
+¸Ú¢
+Ïè¸Ú¢
+¸Û
+Ïè¸Û
+¸Û¢
+Ïè¸Û¢
+¸Ü
+Ïè¸Ü
+¸Ü¢
+Ïè¸Ü¢
+¸Ý
+Ïè¸Ý
+¸Ý¢
+Ïè¸Ý¢
+¸Þ
+Ïè¸Þ
+¸Þ¢
+Ïè¸Þ¢
+¸ß
+Ïè¸ß
+¸ß¢
+Ïè¸ß¢
+¸á
+Ïè¸á
+¸á¢
+Ïè¸á¢
+¸â
+Ïè¸â
+¸â¢
+Ïè¸â¢
+¸å
+Ïè¸å
+¸å¢
+Ïè¸å¢
+¸æ
+Ïè¸æ
+¸æ¢
+Ïè¸æ¢
+¸ç
+Ïè¸ç
+¸ç¢
+Ïè¸ç¢
+Ïè¹
+¹¢
+Ïè¹¢
+¹Ú
+Ïè¹Ú
+¹Ú¢
+Ïè¹Ú¢
+¹Û
+Ïè¹Û
+¹Û¢
+Ïè¹Û¢
+¹Ü
+Ïè¹Ü
+¹Ü¢
+Ïè¹Ü¢
+¹Ý
+Ïè¹Ý
+¹Ý¢
+Ïè¹Ý¢
+¹Þ
+Ïè¹Þ
+¹Þ¢
+Ïè¹Þ¢
+¹ß
+Ïè¹ß
+¹ß¢
+Ïè¹ß¢
+¹á
+Ïè¹á
+¹á¢
+Ïè¹á¢
+¹â
+Ïè¹â
+¹â¢
+Ïè¹â¢
+¹å
+Ïè¹å
+¹å¢
+Ïè¹å¢
+¹æ
+Ïè¹æ
+¹æ¢
+Ïè¹æ¢
+¹ç
+Ïè¹ç
+¹ç¢
+Ïè¹ç¢
+쏼
+º¢
+Ï躢
+ºÚ
+ÏèºÚ
+ºÚ¢
+ÏèºÚ¢
+ºÛ
+ÏèºÛ
+ºÛ¢
+ÏèºÛ¢
+ºÜ
+ÏèºÜ
+ºÜ¢
+ÏèºÜ¢
+ºÝ
+ÏèºÝ
+ºÝ¢
+ÏèºÝ¢
+ºÞ
+ÏèºÞ
+ºÞ¢
+ÏèºÞ¢
+ºß
+Ïèºß
+ºß¢
+Ïèºß¢
+ºá
+Ïèºá
+ºá¢
+Ïèºá¢
+ºâ
+Ïèºâ
+ºâ¢
+Ïèºâ¢
+ºå
+Ïèºå
+ºå¢
+Ïèºå¢
+ºæ
+Ïèºæ
+ºæ¢
+Ïèºæ¢
+ºç
+Ïèºç
+ºç¢
+Ïèºç¢
+ºé
+Ïèºé
+ºé¢
+Ïèºé¢
+ºéÚ
+ÏèºéÚ
+ºéÚ¢
+ÏèºéÚ¢
+ºéÛ
+ÏèºéÛ
+ºéÛ¢
+ÏèºéÛ¢
+ºéÜ
+ÏèºéÜ
+ºéÜ¢
+ÏèºéÜ¢
+ºéÝ
+ÏèºéÝ
+ºéÝ¢
+ÏèºéÝ¢
+ºéÞ
+ÏèºéÞ
+ºéÞ¢
+ÏèºéÞ¢
+ºéß
+Ïèºéß
+ºéߢ
+Ïèºéߢ
+ºéá
+Ïèºéá
+ºéá¢
+Ïèºéá¢
+ºéâ
+Ïèºéâ
+ºéâ¢
+Ïèºéâ¢
+ºéå
+Ïèºéå
+ºéå¢
+Ïèºéå¢
+ºéæ
+Ïèºéæ
+ºéæ¢
+Ïèºéæ¢
+ºéç
+Ïèºéç
+ºéç¢
+Ïèºéç¢
+Ïè»
+Ȣ
+Ï転
+»Ú
+Ïè»Ú
+»Ú¢
+Ïè»Ú¢
+»Û
+Ïè»Û
+»Û¢
+Ïè»Û¢
+Ȇ
+Ïè»Ü
+»Ü¢
+Ïè»Ü¢
+»Ý
+Ïè»Ý
+»Ý¢
+Ïè»Ý¢
+»Þ
+Ïè»Þ
+»Þ¢
+Ïè»Þ¢
+ȧ
+Ïè»ß
+»ß¢
+Ïè»ß¢
+ȇ
+Ïè»á
+»á¢
+Ïè»á¢
+ȉ
+Ïè»â
+»â¢
+Ïè»â¢
+Ȍ
+Ïè»å
+»å¢
+Ïè»å¢
+Ⱦ
+Ïè»æ
+»æ¢
+Ïè»æ¢
+ȍ
+Ïè»ç
+»ç¢
+Ïè»ç¢
+Ïè¼
+¼¢
+Ïè¼¢
+¼Ú
+Ïè¼Ú
+¼Ú¢
+Ïè¼Ú¢
+¼Û
+Ïè¼Û
+¼Û¢
+Ïè¼Û¢
+¼Ü
+Ïè¼Ü
+¼Ü¢
+Ïè¼Ü¢
+¼Ý
+Ïè¼Ý
+¼Ý¢
+Ïè¼Ý¢
+¼Þ
+Ïè¼Þ
+¼Þ¢
+Ïè¼Þ¢
+¼ß
+Ïè¼ß
+¼ß¢
+Ïè¼ß¢
+¼á
+Ïè¼á
+¼á¢
+Ïè¼á¢
+¼â
+Ïè¼â
+¼â¢
+Ïè¼â¢
+¼å
+Ïè¼å
+¼å¢
+Ïè¼å¢
+¼æ
+Ïè¼æ
+¼æ¢
+Ïè¼æ¢
+¼ç
+Ïè¼ç
+¼ç¢
+Ïè¼ç¢
+Ïè½
+½¢
+Ïè½¢
+½Ú
+Ïè½Ú
+½Ú¢
+Ïè½Ú¢
+½Û
+Ïè½Û
+½Û¢
+Ïè½Û¢
+½Ü
+Ïè½Ü
+½Ü¢
+Ïè½Ü¢
+½Ý
+Ïè½Ý
+½Ý¢
+Ïè½Ý¢
+½Þ
+Ïè½Þ
+½Þ¢
+Ïè½Þ¢
+½ß
+Ïè½ß
+½ß¢
+Ïè½ß¢
+½á
+Ïè½á
+½á¢
+Ïè½á¢
+½â
+Ïè½â
+½â¢
+Ïè½â¢
+½å
+Ïè½å
+½å¢
+Ïè½å¢
+½æ
+Ïè½æ
+½æ¢
+Ïè½æ¢
+½ç
+Ïè½ç
+½ç¢
+Ïè½ç¢
+Ïè¾
+¾¢
+Ïè¾¢
+¾Ú
+Ïè¾Ú
+¾Ú¢
+Ïè¾Ú¢
+¾Û
+Ïè¾Û
+¾Û¢
+Ïè¾Û¢
+¾Ü
+Ïè¾Ü
+¾Ü¢
+Ïè¾Ü¢
+¾Ý
+Ïè¾Ý
+¾Ý¢
+Ïè¾Ý¢
+¾Þ
+Ïè¾Þ
+¾Þ¢
+Ïè¾Þ¢
+¾ß
+Ïè¾ß
+¾ß¢
+Ïè¾ß¢
+¾á
+Ïè¾á
+¾á¢
+Ïè¾á¢
+¾â
+Ïè¾â
+¾â¢
+Ïè¾â¢
+¾å
+Ïè¾å
+¾å¢
+Ïè¾å¢
+¾æ
+Ïè¾æ
+¾æ¢
+Ïè¾æ¢
+¾ç
+Ïè¾ç
+¾ç¢
+Ïè¾ç¢
+¿
+Ïè¿
+¿¢
+Ïè¿¢
+¿Ú
+Ïè¿Ú
+¿Ú¢
+Ïè¿Ú¢
+¿Û
+Ïè¿Û
+¿Û¢
+Ïè¿Û¢
+¿Ü
+Ïè¿Ü
+¿Ü¢
+Ïè¿Ü¢
+¿Ý
+Ïè¿Ý
+¿Ý¢
+Ïè¿Ý¢
+¿Þ
+Ïè¿Þ
+¿Þ¢
+Ïè¿Þ¢
+¿ß
+Ïè¿ß
+¿ß¢
+Ïè¿ß¢
+¿á
+Ïè¿á
+¿á¢
+Ïè¿á¢
+¿â
+Ïè¿â
+¿â¢
+Ïè¿â¢
+¿å
+Ïè¿å
+¿å¢
+Ïè¿å¢
+¿æ
+Ïè¿æ
+¿æ¢
+Ïè¿æ¢
+¿ç
+Ïè¿ç
+¿ç¢
+Ïè¿ç¢
+¿é
+Ïè¿é
+¿é¢
+Ïè¿é¢
+¿éÚ
+Ïè¿éÚ
+¿éÚ¢
+Ïè¿éÚ¢
+¿éÛ
+Ïè¿éÛ
+¿éÛ¢
+Ïè¿éÛ¢
+¿éÜ
+Ïè¿éÜ
+¿éÜ¢
+Ïè¿éÜ¢
+¿éÝ
+Ïè¿éÝ
+¿éÝ¢
+Ïè¿éÝ¢
+¿éÞ
+Ïè¿éÞ
+¿éÞ¢
+Ïè¿éÞ¢
+¿éß
+Ïè¿éß
+¿éߢ
+Ïè¿éߢ
+¿éá
+Ïè¿éá
+¿éá¢
+Ïè¿éá¢
+¿éâ
+Ïè¿éâ
+¿éâ¢
+Ïè¿éâ¢
+¿éå
+Ïè¿éå
+¿éå¢
+Ïè¿éå¢
+¿éæ
+Ïè¿éæ
+¿éæ¢
+Ïè¿éæ¢
+¿éç
+Ïè¿éç
+¿éç¢
+Ïè¿éç¢
+ÏèÀ
+À¢
+ÏèÀ¢
+ÀÚ
+ÏèÀÚ
+ÀÚ¢
+ÏèÀÚ¢
+ÀÛ
+ÏèÀÛ
+ÀÛ¢
+ÏèÀÛ¢
+ÀÜ
+ÏèÀÜ
+ÀÜ¢
+ÏèÀÜ¢
+ÀÝ
+ÏèÀÝ
+ÀÝ¢
+ÏèÀÝ¢
+ÀÞ
+ÏèÀÞ
+ÀÞ¢
+ÏèÀÞ¢
+Àß
+ÏèÀß
+Àߢ
+ÏèÀߢ
+Àá
+ÏèÀá
+Àá¢
+ÏèÀá¢
+Àâ
+ÏèÀâ
+Àâ¢
+ÏèÀâ¢
+Àå
+ÏèÀå
+Àå¢
+ÏèÀå¢
+Àæ
+ÏèÀæ
+Àæ¢
+ÏèÀæ¢
+Àç
+ÏèÀç
+Àç¢
+ÏèÀç¢
+Àé
+ÏèÀé
+Àé¢
+ÏèÀé¢
+ÀéÚ
+ÏèÀéÚ
+ÀéÚ¢
+ÏèÀéÚ¢
+ÀéÛ
+ÏèÀéÛ
+ÀéÛ¢
+ÏèÀéÛ¢
+ÀéÜ
+ÏèÀéÜ
+ÀéÜ¢
+ÏèÀéÜ¢
+ÀéÝ
+ÏèÀéÝ
+ÀéÝ¢
+ÏèÀéÝ¢
+ÀéÞ
+ÏèÀéÞ
+ÀéÞ¢
+ÏèÀéÞ¢
+Àéß
+ÏèÀéß
+Àéߢ
+ÏèÀéߢ
+Àéá
+ÏèÀéá
+Àéá¢
+ÏèÀéá¢
+Àéâ
+ÏèÀéâ
+Àéâ¢
+ÏèÀéâ¢
+Àéå
+ÏèÀéå
+Àéå¢
+ÏèÀéå¢
+Àéæ
+ÏèÀéæ
+Àéæ¢
+ÏèÀéæ¢
+Àéç
+ÏèÀéç
+Àéç¢
+ÏèÀéç¢
+ÏèÁ
+Á¢
+ÏèÁ¢
+ÁÚ
+ÏèÁÚ
+ÁÚ¢
+ÏèÁÚ¢
+ÁÛ
+ÏèÁÛ
+ÁÛ¢
+ÏèÁÛ¢
+ÁÜ
+ÏèÁÜ
+ÁÜ¢
+ÏèÁÜ¢
+ÁÝ
+ÏèÁÝ
+ÁÝ¢
+ÏèÁÝ¢
+ÁÞ
+ÏèÁÞ
+ÁÞ¢
+ÏèÁÞ¢
+Áß
+ÏèÁß
+秢
+ÏèÁߢ
+Áá
+ÏèÁá
+燢
+ÏèÁá¢
+Áâ
+ÏèÁâ
+牢
+ÏèÁâ¢
+Áå
+ÏèÁå
+猢
+ÏèÁå¢
+Áæ
+ÏèÁæ
+羢
+ÏèÁæ¢
+Áç
+ÏèÁç
+獢
+ÏèÁç¢
+ÏèÂ
+¢
+쏢
+ÂÚ
+ÏèÂÚ
+ÂÚ¢
+ÏèÂÚ¢
+ÂÛ
+ÏèÂÛ
+ÂÛ¢
+ÏèÂÛ¢
+ÂÜ
+ÏèÂÜ
+ÂÜ¢
+ÏèÂÜ¢
+ÂÝ
+ÏèÂÝ
+ÂÝ¢
+ÏèÂÝ¢
+ÂÞ
+ÏèÂÞ
+ÂÞ¢
+ÏèÂÞ¢
+Âß
+ÏèÂß
+姢
+ÏèÂߢ
+Âá
+ÏèÂá
+凢
+ÏèÂá¢
+Ââ
+ÏèÂâ
+剢
+ÏèÂâ¢
+Âå
+ÏèÂå
+匢
+ÏèÂå¢
+Âæ
+ÏèÂæ
+徢
+ÏèÂæ¢
+Âç
+ÏèÂç
+卢
+ÏèÂç¢
+ÏèÃ
+â
+Ïèâ
+ÃÚ
+ÏèÃÚ
+ÃÚ¢
+ÏèÃÚ¢
+ÃÛ
+ÏèÃÛ
+ÃÛ¢
+ÏèÃÛ¢
+ÃÜ
+ÏèÃÜ
+ÃÜ¢
+ÏèÃÜ¢
+ÃÝ
+ÏèÃÝ
+ÃÝ¢
+ÏèÃÝ¢
+ÃÞ
+ÏèÃÞ
+ÃÞ¢
+ÏèÃÞ¢
+Ãß
+ÏèÃß
+Ãߢ
+ÏèÃߢ
+Ãá
+ÏèÃá
+Ãá¢
+ÏèÃá¢
+Ãâ
+ÏèÃâ
+Ãâ¢
+ÏèÃâ¢
+Ãå
+ÏèÃå
+Ãå¢
+ÏèÃå¢
+Ãæ
+ÏèÃæ
+Ãæ¢
+ÏèÃæ¢
+Ãç
+ÏèÃç
+Ãç¢
+ÏèÃç¢
+쏀
+Ä¢
+ÏèÄ¢
+ÄÚ
+ÏèÄÚ
+ÄÚ¢
+ÏèÄÚ¢
+ÄÛ
+ÏèÄÛ
+ÄÛ¢
+ÏèÄÛ¢
+ÄÜ
+ÏèÄÜ
+ÄÜ¢
+ÏèÄÜ¢
+ÄÝ
+ÏèÄÝ
+ÄÝ¢
+ÏèÄÝ¢
+ÄÞ
+ÏèÄÞ
+ÄÞ¢
+ÏèÄÞ¢
+Äß
+ÏèÄß
+Äߢ
+ÏèÄߢ
+Äá
+ÏèÄá
+Äá¢
+ÏèÄá¢
+Äâ
+ÏèÄâ
+Äâ¢
+ÏèÄâ¢
+Äå
+ÏèÄå
+Äå¢
+ÏèÄå¢
+Äæ
+ÏèÄæ
+Äæ¢
+ÏèÄæ¢
+Äç
+ÏèÄç
+Äç¢
+ÏèÄç¢
+쏁
+Å¢
+ÏèÅ¢
+ÅÚ
+ÏèÅÚ
+ÅÚ¢
+ÏèÅÚ¢
+ÅÛ
+ÏèÅÛ
+ÅÛ¢
+ÏèÅÛ¢
+ÅÜ
+ÏèÅÜ
+ÅÜ¢
+ÏèÅÜ¢
+ÅÝ
+ÏèÅÝ
+ÅÝ¢
+ÏèÅÝ¢
+ÅÞ
+ÏèÅÞ
+ÅÞ¢
+ÏèÅÞ¢
+Åß
+ÏèÅß
+Åߢ
+ÏèÅߢ
+Åá
+ÏèÅá
+Åá¢
+ÏèÅá¢
+Åâ
+ÏèÅâ
+Åâ¢
+ÏèÅâ¢
+Åå
+ÏèÅå
+Åå¢
+ÏèÅå¢
+Åæ
+ÏèÅæ
+Åæ¢
+ÏèÅæ¢
+Åç
+ÏèÅç
+Åç¢
+ÏèÅç¢
+쏮
+Æ¢
+ÏèÆ¢
+ÆÚ
+ÏèÆÚ
+ÆÚ¢
+ÏèÆÚ¢
+ÆÛ
+ÏèÆÛ
+ÆÛ¢
+ÏèÆÛ¢
+ÆÜ
+ÏèÆÜ
+ÆÜ¢
+ÏèÆÜ¢
+ÆÝ
+ÏèÆÝ
+ÆÝ¢
+ÏèÆÝ¢
+ÆÞ
+ÏèÆÞ
+ÆÞ¢
+ÏèÆÞ¢
+Æß
+ÏèÆß
+Æߢ
+ÏèÆߢ
+Æá
+ÏèÆá
+Æá¢
+ÏèÆá¢
+Æâ
+ÏèÆâ
+Æâ¢
+ÏèÆâ¢
+Æå
+ÏèÆå
+Æå¢
+ÏèÆå¢
+Ææ
+ÏèÆæ
+Ææ¢
+ÏèÆæ¢
+Æç
+ÏèÆç
+Æç¢
+ÏèÆç¢
+ÏèÈ
+È¢
+ÏèÈ¢
+ÈÚ
+ÏèÈÚ
+ÈÚ¢
+ÏèÈÚ¢
+ÈÛ
+ÏèÈÛ
+ÈÛ¢
+ÏèÈÛ¢
+ÈÜ
+ÏèÈÜ
+ÈÜ¢
+ÏèÈÜ¢
+ÈÝ
+ÏèÈÝ
+ÈÝ¢
+ÏèÈÝ¢
+ÈÞ
+ÏèÈÞ
+ÈÞ¢
+ÏèÈÞ¢
+Èß
+ÏèÈß
+駢
+ÏèÈߢ
+Èá
+ÏèÈá
+釢
+ÏèÈá¢
+Èâ
+ÏèÈâ
+鉢
+ÏèÈâ¢
+Èå
+ÏèÈå
+錢
+ÏèÈå¢
+Èæ
+ÏèÈæ
+龢
+ÏèÈæ¢
+Èç
+ÏèÈç
+鍢
+ÏèÈç¢
+쏃
+É¢
+ÏèÉ¢
+ÉÚ
+ÏèÉÚ
+ÉÚ¢
+ÏèÉÚ¢
+ÉÛ
+ÏèÉÛ
+ÉÛ¢
+ÏèÉÛ¢
+ÉÜ
+ÏèÉÜ
+ÉÜ¢
+ÏèÉÜ¢
+ÉÝ
+ÏèÉÝ
+ÉÝ¢
+ÏèÉÝ¢
+ÉÞ
+ÏèÉÞ
+ÉÞ¢
+ÏèÉÞ¢
+Éß
+ÏèÉß
+Éߢ
+ÏèÉߢ
+Éá
+ÏèÉá
+Éá¢
+ÏèÉá¢
+Éâ
+ÏèÉâ
+Éâ¢
+ÏèÉâ¢
+Éå
+ÏèÉå
+Éå¢
+ÏèÉå¢
+Éæ
+ÏèÉæ
+Éæ¢
+ÏèÉæ¢
+Éç
+ÏèÉç
+Éç¢
+ÏèÉç¢
+Éé
+ÏèÉé
+Éé¢
+ÏèÉé¢
+ÉéÚ
+ÏèÉéÚ
+ÉéÚ¢
+ÏèÉéÚ¢
+ÉéÛ
+ÏèÉéÛ
+ÉéÛ¢
+ÏèÉéÛ¢
+ÉéÜ
+ÏèÉéÜ
+ÉéÜ¢
+ÏèÉéÜ¢
+ÉéÝ
+ÏèÉéÝ
+ÉéÝ¢
+ÏèÉéÝ¢
+ÉéÞ
+ÏèÉéÞ
+ÉéÞ¢
+ÏèÉéÞ¢
+Ééß
+ÏèÉéß
+Ééߢ
+ÏèÉéߢ
+Ééá
+ÏèÉéá
+Ééá¢
+ÏèÉéá¢
+Ééâ
+ÏèÉéâ
+Ééâ¢
+ÏèÉéâ¢
+Ééå
+ÏèÉéå
+Ééå¢
+ÏèÉéå¢
+Ééæ
+ÏèÉéæ
+Ééæ¢
+ÏèÉéæ¢
+Ééç
+ÏèÉéç
+Ééç¢
+ÏèÉéç¢
+ÏèÊ
+Ê¢
+ÏèÊ¢
+ÊÚ
+ÏèÊÚ
+ÊÚ¢
+ÏèÊÚ¢
+ÊÛ
+ÏèÊÛ
+ÊÛ¢
+ÏèÊÛ¢
+ÊÜ
+ÏèÊÜ
+ÊÜ¢
+ÏèÊÜ¢
+ÊÝ
+ÏèÊÝ
+ÊÝ¢
+ÏèÊÝ¢
+ÊÞ
+ÏèÊÞ
+ÊÞ¢
+ÏèÊÞ¢
+Êß
+ÏèÊß
+槢
+ÏèÊߢ
+Êá
+ÏèÊá
+懢
+ÏèÊá¢
+Êâ
+ÏèÊâ
+扢
+ÏèÊâ¢
+Êå
+ÏèÊå
+挢
+ÏèÊå¢
+Êæ
+ÏèÊæ
+澢
+ÏèÊæ¢
+Êç
+ÏèÊç
+换
+ÏèÊç¢
+ÏèË
+Ë¢
+ÏèË¢
+ËÚ
+ÏèËÚ
+ËÚ¢
+ÏèËÚ¢
+ËÛ
+ÏèËÛ
+ËÛ¢
+ÏèËÛ¢
+ËÜ
+ÏèËÜ
+ËÜ¢
+ÏèËÜ¢
+ËÝ
+ÏèËÝ
+ËÝ¢
+ÏèËÝ¢
+ËÞ
+ÏèËÞ
+ËÞ¢
+ÏèËÞ¢
+Ëß
+ÏèËß
+觢
+ÏèËߢ
+Ëá
+ÏèËá
+臢
+ÏèËá¢
+Ëâ
+ÏèËâ
+艢
+ÏèËâ¢
+Ëå
+ÏèËå
+茢
+ÏèËå¢
+Ëæ
+ÏèËæ
+辢
+ÏèËæ¢
+Ëç
+ÏèËç
+荢
+ÏèËç¢
+ÏèÌ
+Ì¢
+ÏèÌ¢
+ÌÚ
+ÏèÌÚ
+ÌÚ¢
+ÏèÌÚ¢
+ÌÛ
+ÏèÌÛ
+ÌÛ¢
+ÏèÌÛ¢
+ÌÜ
+ÏèÌÜ
+ÌÜ¢
+ÏèÌÜ¢
+ÌÝ
+ÏèÌÝ
+ÌÝ¢
+ÏèÌÝ¢
+ÌÞ
+ÏèÌÞ
+ÌÞ¢
+ÏèÌÞ¢
+Ìß
+ÏèÌß
+Ìߢ
+ÏèÌߢ
+Ìá
+ÏèÌá
+퇢
+ÏèÌá¢
+Ìâ
+ÏèÌâ
+퉢
+ÏèÌâ¢
+Ìå
+ÏèÌå
+팢
+ÏèÌå¢
+Ìæ
+ÏèÌæ
+Ìæ¢
+ÏèÌæ¢
+Ìç
+ÏèÌç
+퍢
+ÏèÌç¢
+ÏèÍ
+Í¢
+ÏèÍ¢
+ÍÚ
+ÏèÍÚ
+ÍÚ¢
+ÏèÍÚ¢
+ÍÛ
+ÏèÍÛ
+ÍÛ¢
+ÏèÍÛ¢
+ÍÜ
+ÏèÍÜ
+ÍÜ¢
+ÏèÍÜ¢
+ÍÝ
+ÏèÍÝ
+ÍÝ¢
+ÏèÍÝ¢
+ÍÞ
+ÏèÍÞ
+ÍÞ¢
+ÏèÍÞ¢
+Íß
+ÏèÍß
+ꧢ
+ÏèÍߢ
+Íá
+ÏèÍá
+ꇢ
+ÏèÍá¢
+Íâ
+ÏèÍâ
+ꉢ
+ÏèÍâ¢
+Íå
+ÏèÍå
+ꌢ
+ÏèÍå¢
+Íæ
+ÏèÍæ
+꾢
+ÏèÍæ¢
+Íç
+ÏèÍç
+ꍢ
+ÏèÍç¢
+ÏèÏ
+Ï¢
+ÏèÏ¢
+ÏÚ
+ÏèÏÚ
+ÏÚ¢
+ÏèÏÚ¢
+ÏÛ
+ÏèÏÛ
+ÏÛ¢
+ÏèÏÛ¢
+ÏÜ
+ÏèÏÜ
+ÏÜ¢
+ÏèÏÜ¢
+ÏÝ
+ÏèÏÝ
+ÏÝ¢
+ÏèÏÝ¢
+ÏÞ
+ÏèÏÞ
+ÏÞ¢
+ÏèÏÞ¢
+Ïß
+ÏèÏß
+짢
+ÏèÏߢ
+Ïá
+ÏèÏá
+쇢
+ÏèÏá¢
+Ïâ
+ÏèÏâ
+쉢
+ÏèÏâ¢
+Ïå
+ÏèÏå
+쌢
+ÏèÏå¢
+Ïæ
+ÏèÏæ
+쾢
+ÏèÏæ¢
+Ïç
+ÏèÏç
+썢
+ÏèÏç¢
+쏄
+Ñ¢
+ÏèÑ¢
+ÑÚ
+ÏèÑÚ
+ÑÚ¢
+ÏèÑÚ¢
+ÑÛ
+ÏèÑÛ
+ÑÛ¢
+ÏèÑÛ¢
+ÑÜ
+ÏèÑÜ
+ÑÜ¢
+ÏèÑÜ¢
+ÑÝ
+ÏèÑÝ
+ÑÝ¢
+ÏèÑÝ¢
+ÑÞ
+ÏèÑÞ
+ÑÞ¢
+ÏèÑÞ¢
+Ñß
+ÏèÑß
+Ñߢ
+ÏèÑߢ
+Ñá
+ÏèÑá
+Ñá¢
+ÏèÑá¢
+Ñâ
+ÏèÑâ
+Ñâ¢
+ÏèÑâ¢
+Ñå
+ÏèÑå
+Ñå¢
+ÏèÑå¢
+Ñæ
+ÏèÑæ
+Ñæ¢
+ÏèÑæ¢
+Ñç
+ÏèÑç
+Ñç¢
+ÏèÑç¢
+ÏèÒ
+Ò¢
+ÏèÒ¢
+ÒÚ
+ÏèÒÚ
+ÒÚ¢
+ÏèÒÚ¢
+ÒÛ
+ÏèÒÛ
+ÒÛ¢
+ÏèÒÛ¢
+ÒÜ
+ÏèÒÜ
+ÒÜ¢
+ÏèÒÜ¢
+ÒÝ
+ÏèÒÝ
+ÒÝ¢
+ÏèÒÝ¢
+ÒÞ
+ÏèÒÞ
+ÒÞ¢
+ÏèÒÞ¢
+Òß
+ÏèÒß
+Òߢ
+ÏèÒߢ
+Òá
+ÏèÒá
+Òá¢
+ÏèÒá¢
+Òâ
+ÏèÒâ
+Òâ¢
+ÏèÒâ¢
+Òå
+ÏèÒå
+Òå¢
+ÏèÒå¢
+Òæ
+ÏèÒæ
+Òæ¢
+ÏèÒæ¢
+Òç
+ÏèÒç
+Òç¢
+ÏèÒç¢
+ÏèÔ
+Ô¢
+ÏèÔ¢
+ÔÚ
+ÏèÔÚ
+ÔÚ¢
+ÏèÔÚ¢
+ÔÛ
+ÏèÔÛ
+ÔÛ¢
+ÏèÔÛ¢
+ÔÜ
+ÏèÔÜ
+ÔÜ¢
+ÏèÔÜ¢
+ÔÝ
+ÏèÔÝ
+ÔÝ¢
+ÏèÔÝ¢
+ÔÞ
+ÏèÔÞ
+ÔÞ¢
+ÏèÔÞ¢
+Ôß
+ÏèÔß
+梨
+ÏèÔߢ
+Ôá
+ÏèÔá
+
+ÏèÔá¢
+Ôâ
+ÏèÔâ
+
+ÏèÔâ¢
+Ôå
+ÏèÔå
+
+ÏèÔå¢
+Ôæ
+ÏèÔæ
+ᄁ
+ÏèÔæ¢
+Ôç
+ÏèÔç
+
+ÏèÔç¢
+ÏèÕ
+Õ¢
+ÏèÕ¢
+ÕÚ
+ÏèÕÚ
+ÕÚ¢
+ÏèÕÚ¢
+ÕÛ
+ÏèÕÛ
+ÕÛ¢
+ÏèÕÛ¢
+ÕÜ
+ÏèÕÜ
+ÕÜ¢
+ÏèÕÜ¢
+ÕÝ
+ÏèÕÝ
+ÕÝ¢
+ÏèÕÝ¢
+ÕÞ
+ÏèÕÞ
+ÕÞ¢
+ÏèÕÞ¢
+Õß
+ÏèÕß
+Õߢ
+ÏèÕߢ
+Õá
+ÏèÕá
+Õá¢
+ÏèÕá¢
+Õâ
+ÏèÕâ
+Õâ¢
+ÏèÕâ¢
+Õå
+ÏèÕå
+Õå¢
+ÏèÕå¢
+Õæ
+ÏèÕæ
+Õæ¢
+ÏèÕæ¢
+Õç
+ÏèÕç
+Õç¢
+ÏèÕç¢
+ÏèÖ
+Ö¢
+ÏèÖ¢
+ÖÚ
+ÏèÖÚ
+ÖÚ¢
+ÏèÖÚ¢
+ÖÛ
+ÏèÖÛ
+ÖÛ¢
+ÏèÖÛ¢
+ÖÜ
+ÏèÖÜ
+ÖÜ¢
+ÏèÖÜ¢
+ÖÝ
+ÏèÖÝ
+ÖÝ¢
+ÏèÖÝ¢
+ÖÞ
+ÏèÖÞ
+ÖÞ¢
+ÏèÖÞ¢
+Öß
+ÏèÖß
+Öߢ
+ÏèÖߢ
+Öá
+ÏèÖá
+Öá¢
+ÏèÖá¢
+Öâ
+ÏèÖâ
+Öâ¢
+ÏèÖâ¢
+Öå
+ÏèÖå
+Öå¢
+ÏèÖå¢
+Öæ
+ÏèÖæ
+Öæ¢
+ÏèÖæ¢
+Öç
+ÏèÖç
+Öç¢
+ÏèÖç¢
+Ïè×
+×¢
+Ïè×¢
+×Ú
+Ïè×Ú
+×Ú¢
+Ïè×Ú¢
+×Û
+Ïè×Û
+×Û¢
+Ïè×Û¢
+×Ü
+Ïè×Ü
+×Ü¢
+Ïè×Ü¢
+×Ý
+Ïè×Ý
+×Ý¢
+Ïè×Ý¢
+×Þ
+Ïè×Þ
+×Þ¢
+Ïè×Þ¢
+×ß
+Ïè×ß
+×ߢ
+Ïè×ߢ
+×á
+Ïè×á
+×á¢
+Ïè×á¢
+×â
+Ïè×â
+×â¢
+Ïè×â¢
+×å
+Ïè×å
+×å¢
+Ïè×å¢
+×æ
+Ïè×æ
+×æ¢
+Ïè×æ¢
+×ç
+Ïè×ç
+×ç¢
+Ïè×ç¢
+쏯
+Ø¢
+ÏèØ¢
+ØÚ
+ÏèØÚ
+ØÚ¢
+ÏèØÚ¢
+ØÛ
+ÏèØÛ
+ØÛ¢
+ÏèØÛ¢
+ØÜ
+ÏèØÜ
+ØÜ¢
+ÏèØÜ¢
+ØÝ
+ÏèØÝ
+ØÝ¢
+ÏèØÝ¢
+ØÞ
+ÏèØÞ
+ØÞ¢
+ÏèØÞ¢
+Øß
+ÏèØß
+Øߢ
+ÏèØߢ
+Øá
+ÏèØá
+Øá¢
+ÏèØá¢
+Øâ
+ÏèØâ
+Øâ¢
+ÏèØâ¢
+Øå
+ÏèØå
+Øå¢
+ÏèØå¢
+Øæ
+ÏèØæ
+Øæ¢
+ÏèØæ¢
+Øç
+ÏèØç
+Øç¢
+ÏèØç¢
+³èÖ
+Ïè³èÖ
+³èÖ¢
+Ïè³èÖ¢
+³èÖÚ
+Ïè³èÖÚ
+³èÖÚ¢
+Ïè³èÖÚ¢
+³èÖÛ
+Ïè³èÖÛ
+³èÖÛ¢
+Ïè³èÖÛ¢
+³èÖÜ
+Ïè³èÖÜ
+³èÖÜ¢
+Ïè³èÖÜ¢
+³èÖÝ
+Ïè³èÖÝ
+³èÖÝ¢
+Ïè³èÖÝ¢
+³èÖÞ
+Ïè³èÖÞ
+³èÖÞ¢
+Ïè³èÖÞ¢
+³èÖß
+Ïè³èÖß
+³èÖߢ
+Ïè³èÖߢ
+³èÖá
+Ïè³èÖá
+³èÖá¢
+Ïè³èÖá¢
+³èÖâ
+Ïè³èÖâ
+³èÖâ¢
+Ïè³èÖâ¢
+³èÖå
+Ïè³èÖå
+³èÖå¢
+Ïè³èÖå¢
+³èÖæ
+Ïè³èÖæ
+³èÖæ¢
+Ïè³èÖæ¢
+³èÖç
+Ïè³èÖç
+³èÖç¢
+Ïè³èÖç¢
+ºè¼
+Ïèºè¼
+ºè¼¢
+Ïèºè¼¢
+ºè¼Ú
+Ïèºè¼Ú
+ºè¼Ú¢
+Ïèºè¼Ú¢
+ºè¼Û
+Ïèºè¼Û
+ºè¼Û¢
+Ïèºè¼Û¢
+ºè¼Ü
+Ïèºè¼Ü
+ºè¼Ü¢
+Ïèºè¼Ü¢
+ºè¼Ý
+Ïèºè¼Ý
+ºè¼Ý¢
+Ïèºè¼Ý¢
+ºè¼Þ
+Ïèºè¼Þ
+ºè¼Þ¢
+Ïèºè¼Þ¢
+ºè¼ß
+Ïèºè¼ß
+ºè¼ß¢
+Ïèºè¼ß¢
+ºè¼á
+Ïèºè¼á
+ºè¼á¢
+Ïèºè¼á¢
+ºè¼â
+Ïèºè¼â
+ºè¼â¢
+Ïèºè¼â¢
+ºè¼å
+Ïèºè¼å
+ºè¼å¢
+Ïèºè¼å¢
+ºè¼æ
+Ïèºè¼æ
+ºè¼æ¢
+Ïèºè¼æ¢
+ºè¼ç
+Ïèºè¼ç
+ºè¼ç¢
+Ïèºè¼ç¢
+ÂèÂ
+ÏèÂèÂ
+叢
+ÏèÂè¢
+ÂèÂÚ
+ÏèÂèÂÚ
+ÂèÂÚ¢
+ÏèÂèÂÚ¢
+ÂèÂÛ
+ÏèÂèÂÛ
+ÂèÂÛ¢
+ÏèÂèÂÛ¢
+ÂèÂÜ
+ÏèÂèÂÜ
+ÂèÂÜ¢
+ÏèÂèÂÜ¢
+ÂèÂÝ
+ÏèÂèÂÝ
+ÂèÂÝ¢
+ÏèÂèÂÝ¢
+ÂèÂÞ
+ÏèÂèÂÞ
+ÂèÂÞ¢
+ÏèÂèÂÞ¢
+ÂèÂß
+ÏèÂèÂß
+ÂèÂߢ
+ÏèÂèÂߢ
+ÂèÂá
+ÏèÂèÂá
+ÂèÂá¢
+ÏèÂèÂá¢
+ÂèÂâ
+ÏèÂèÂâ
+ÂèÂâ¢
+ÏèÂèÂâ¢
+ÂèÂå
+ÏèÂèÂå
+ÂèÂå¢
+ÏèÂèÂå¢
+ÂèÂæ
+ÏèÂèÂæ
+ÂèÂæ¢
+ÏèÂèÂæ¢
+ÂèÂç
+ÏèÂèÂç
+ÂèÂç¢
+ÏèÂèÂç¢
+ÄèÄ
+ÏèÄèÄ
+ÄèÄ¢
+ÏèÄèÄ¢
+ÄèÄÚ
+ÏèÄèÄÚ
+ÄèÄÚ¢
+ÏèÄèÄÚ¢
+ÄèÄÛ
+ÏèÄèÄÛ
+ÄèÄÛ¢
+ÏèÄèÄÛ¢
+ÄèÄÜ
+ÏèÄèÄÜ
+ÄèÄÜ¢
+ÏèÄèÄÜ¢
+ÄèÄÝ
+ÏèÄèÄÝ
+ÄèÄÝ¢
+ÏèÄèÄÝ¢
+ÄèÄÞ
+ÏèÄèÄÞ
+ÄèÄÞ¢
+ÏèÄèÄÞ¢
+ÄèÄß
+ÏèÄèÄß
+ÄèÄߢ
+ÏèÄèÄߢ
+ÄèÄá
+ÏèÄèÄá
+ÄèÄá¢
+ÏèÄèÄá¢
+ÄèÄâ
+ÏèÄèÄâ
+ÄèÄâ¢
+ÏèÄèÄâ¢
+ÄèÄå
+ÏèÄèÄå
+ÄèÄå¢
+ÏèÄèÄå¢
+ÄèÄæ
+ÏèÄèÄæ
+ÄèÄæ¢
+ÏèÄèÄæ¢
+ÄèÄç
+ÏèÄèÄç
+ÄèÄç¢
+ÏèÄèÄç¢
+ÄèÅ
+ÏèÄèÅ
+ÄèÅ¢
+ÏèÄèÅ¢
+ÄèÅÚ
+ÏèÄèÅÚ
+ÄèÅÚ¢
+ÏèÄèÅÚ¢
+ÄèÅÛ
+ÏèÄèÅÛ
+ÄèÅÛ¢
+ÏèÄèÅÛ¢
+ÄèÅÜ
+ÏèÄèÅÜ
+ÄèÅÜ¢
+ÏèÄèÅÜ¢
+ÄèÅÝ
+ÏèÄèÅÝ
+ÄèÅÝ¢
+ÏèÄèÅÝ¢
+ÄèÅÞ
+ÏèÄèÅÞ
+ÄèÅÞ¢
+ÏèÄèÅÞ¢
+ÄèÅß
+ÏèÄèÅß
+ÄèÅߢ
+ÏèÄèÅߢ
+ÄèÅá
+ÏèÄèÅá
+ÄèÅá¢
+ÏèÄèÅá¢
+ÄèÅâ
+ÏèÄèÅâ
+ÄèÅâ¢
+ÏèÄèÅâ¢
+ÄèÅå
+ÏèÄèÅå
+ÄèÅå¢
+ÏèÄèÅå¢
+ÄèÅæ
+ÏèÄèÅæ
+ÄèÅæ¢
+ÏèÄèÅæ¢
+ÄèÅç
+ÏèÄèÅç
+ÄèÅç¢
+ÏèÄèÅç¢
+ÄèÍ
+ÏèÄèÍ
+ÄèÍ¢
+ÏèÄèÍ¢
+ÄèÍÚ
+ÏèÄèÍÚ
+ÄèÍÚ¢
+ÏèÄèÍÚ¢
+ÄèÍÛ
+ÏèÄèÍÛ
+ÄèÍÛ¢
+ÏèÄèÍÛ¢
+ÄèÍÜ
+ÏèÄèÍÜ
+ÄèÍÜ¢
+ÏèÄèÍÜ¢
+ÄèÍÝ
+ÏèÄèÍÝ
+ÄèÍÝ¢
+ÏèÄèÍÝ¢
+ÄèÍÞ
+ÏèÄèÍÞ
+ÄèÍÞ¢
+ÏèÄèÍÞ¢
+ÄèÍß
+ÏèÄèÍß
+ÄèÍߢ
+ÏèÄèÍߢ
+ÄèÍá
+ÏèÄèÍá
+ÄèÍá¢
+ÏèÄèÍá¢
+ÄèÍâ
+ÏèÄèÍâ
+ÄèÍâ¢
+ÏèÄèÍâ¢
+ÄèÍå
+ÏèÄèÍå
+ÄèÍå¢
+ÏèÄèÍå¢
+ÄèÍæ
+ÏèÄèÍæ
+ÄèÍæ¢
+ÏèÄèÍæ¢
+ÄèÍç
+ÏèÄèÍç
+ÄèÍç¢
+ÏèÄèÍç¢
+ÄèÔ
+ÏèÄèÔ
+ÄèÔ¢
+ÏèÄèÔ¢
+ÄèÔÚ
+ÏèÄèÔÚ
+ÄèÔÚ¢
+ÏèÄèÔÚ¢
+ÄèÔÛ
+ÏèÄèÔÛ
+ÄèÔÛ¢
+ÏèÄèÔÛ¢
+ÄèÔÜ
+ÏèÄèÔÜ
+ÄèÔÜ¢
+ÏèÄèÔÜ¢
+ÄèÔÝ
+ÏèÄèÔÝ
+ÄèÔÝ¢
+ÏèÄèÔÝ¢
+ÄèÔÞ
+ÏèÄèÔÞ
+ÄèÔÞ¢
+ÏèÄèÔÞ¢
+ÄèÔß
+ÏèÄèÔß
+ÄèÔߢ
+ÏèÄèÔߢ
+ÄèÔá
+ÏèÄèÔá
+ÄèÔá¢
+ÏèÄèÔá¢
+ÄèÔâ
+ÏèÄèÔâ
+ÄèÔâ¢
+ÏèÄèÔâ¢
+ÄèÔå
+ÏèÄèÔå
+ÄèÔå¢
+ÏèÄèÔå¢
+ÄèÔæ
+ÏèÄèÔæ
+ÄèÔæ¢
+ÏèÄèÔæ¢
+ÄèÔç
+ÏèÄèÔç
+ÄèÔç¢
+ÏèÄèÔç¢
+ÆèÆ
+ÏèÆèÆ
+ÆèÆ¢
+ÏèÆèÆ¢
+ÆèÆÚ
+ÏèÆèÆÚ
+ÆèÆÚ¢
+ÏèÆèÆÚ¢
+ÆèÆÛ
+ÏèÆèÆÛ
+ÆèÆÛ¢
+ÏèÆèÆÛ¢
+ÆèÆÜ
+ÏèÆèÆÜ
+ÆèÆÜ¢
+ÏèÆèÆÜ¢
+ÆèÆÝ
+ÏèÆèÆÝ
+ÆèÆÝ¢
+ÏèÆèÆÝ¢
+ÆèÆÞ
+ÏèÆèÆÞ
+ÆèÆÞ¢
+ÏèÆèÆÞ¢
+ÆèÆß
+ÏèÆèÆß
+ÆèÆߢ
+ÏèÆèÆߢ
+ÆèÆá
+ÏèÆèÆá
+ÆèÆá¢
+ÏèÆèÆá¢
+ÆèÆâ
+ÏèÆèÆâ
+ÆèÆâ¢
+ÏèÆèÆâ¢
+ÆèÆå
+ÏèÆèÆå
+ÆèÆå¢
+ÏèÆèÆå¢
+ÆèÆæ
+ÏèÆèÆæ
+ÆèÆæ¢
+ÏèÆèÆæ¢
+ÆèÆç
+ÏèÆèÆç
+ÆèÆç¢
+ÏèÆèÆç¢
+³èÏ
+Ïè³èÏ
+³èÏ¢
+Ïè³èÏ¢
+³èÏÚ
+Ïè³èÏÚ
+³èÏÚ¢
+Ïè³èÏÚ¢
+³èÏÛ
+Ïè³èÏÛ
+³èÏÛ¢
+Ïè³èÏÛ¢
+³èÏÜ
+Ïè³èÏÜ
+³èÏÜ¢
+Ïè³èÏÜ¢
+³èÏÝ
+Ïè³èÏÝ
+³èÏÝ¢
+Ïè³èÏÝ¢
+³èÏÞ
+Ïè³èÏÞ
+³èÏÞ¢
+Ïè³èÏÞ¢
+³èÏß
+Ïè³èÏß
+³èÏߢ
+Ïè³èÏߢ
+³èÏá
+Ïè³èÏá
+³èÏá¢
+Ïè³èÏá¢
+³èÏâ
+Ïè³èÏâ
+³èÏâ¢
+Ïè³èÏâ¢
+³èÏå
+Ïè³èÏå
+³èÏå¢
+Ïè³èÏå¢
+³èÏæ
+Ïè³èÏæ
+³èÏæ¢
+Ïè³èÏæ¢
+³èÏç
+Ïè³èÏç
+³èÏç¢
+Ïè³èÏç¢
+³éèÏ
+Ïè³éèÏ
+³éèÏ¢
+Ïè³éèÏ¢
+³éèÏÚ
+Ïè³éèÏÚ
+³éèÏÚ¢
+Ïè³éèÏÚ¢
+³éèÏÛ
+Ïè³éèÏÛ
+³éèÏÛ¢
+Ïè³éèÏÛ¢
+³éèÏÜ
+Ïè³éèÏÜ
+³éèÏÜ¢
+Ïè³éèÏÜ¢
+³éèÏÝ
+Ïè³éèÏÝ
+³éèÏÝ¢
+Ïè³éèÏÝ¢
+³éèÏÞ
+Ïè³éèÏÞ
+³éèÏÞ¢
+Ïè³éèÏÞ¢
+³éèÏß
+Ïè³éèÏß
+³éèÏߢ
+Ïè³éèÏߢ
+³éèÏá
+Ïè³éèÏá
+³éèÏá¢
+Ïè³éèÏá¢
+³éèÏâ
+Ïè³éèÏâ
+³éèÏâ¢
+Ïè³éèÏâ¢
+³éèÏå
+Ïè³éèÏå
+³éèÏå¢
+Ïè³éèÏå¢
+³éèÏæ
+Ïè³éèÏæ
+³éèÏæ¢
+Ïè³éèÏæ¢
+³éèÏç
+Ïè³éèÏç
+³éèÏç¢
+Ïè³éèÏç¢
+´èÏ
+Ïè´èÏ
+´èÏ¢
+Ïè´èÏ¢
+´èÏÚ
+Ïè´èÏÚ
+´èÏÚ¢
+Ïè´èÏÚ¢
+´èÏÛ
+Ïè´èÏÛ
+´èÏÛ¢
+Ïè´èÏÛ¢
+´èÏÜ
+Ïè´èÏÜ
+´èÏÜ¢
+Ïè´èÏÜ¢
+´èÏÝ
+Ïè´èÏÝ
+´èÏÝ¢
+Ïè´èÏÝ¢
+´èÏÞ
+Ïè´èÏÞ
+´èÏÞ¢
+Ïè´èÏÞ¢
+´èÏß
+Ïè´èÏß
+´èÏߢ
+Ïè´èÏߢ
+´èÏá
+Ïè´èÏá
+´èÏá¢
+Ïè´èÏá¢
+´èÏâ
+Ïè´èÏâ
+´èÏâ¢
+Ïè´èÏâ¢
+´èÏå
+Ïè´èÏå
+´èÏå¢
+Ïè´èÏå¢
+´èÏæ
+Ïè´èÏæ
+´èÏæ¢
+Ïè´èÏæ¢
+´èÏç
+Ïè´èÏç
+´èÏç¢
+Ïè´èÏç¢
+´éèÏ
+Ïè´éèÏ
+´éèÏ¢
+Ïè´éèÏ¢
+´éèÏÚ
+Ïè´éèÏÚ
+´éèÏÚ¢
+Ïè´éèÏÚ¢
+´éèÏÛ
+Ïè´éèÏÛ
+´éèÏÛ¢
+Ïè´éèÏÛ¢
+´éèÏÜ
+Ïè´éèÏÜ
+´éèÏÜ¢
+Ïè´éèÏÜ¢
+´éèÏÝ
+Ïè´éèÏÝ
+´éèÏÝ¢
+Ïè´éèÏÝ¢
+´éèÏÞ
+Ïè´éèÏÞ
+´éèÏÞ¢
+Ïè´éèÏÞ¢
+´éèÏß
+Ïè´éèÏß
+´éèÏߢ
+Ïè´éèÏߢ
+´éèÏá
+Ïè´éèÏá
+´éèÏá¢
+Ïè´éèÏá¢
+´éèÏâ
+Ïè´éèÏâ
+´éèÏâ¢
+Ïè´éèÏâ¢
+´éèÏå
+Ïè´éèÏå
+´éèÏå¢
+Ïè´éèÏå¢
+´éèÏæ
+Ïè´éèÏæ
+´éèÏæ¢
+Ïè´éèÏæ¢
+´éèÏç
+Ïè´éèÏç
+´éèÏç¢
+Ïè´éèÏç¢
+µèÏ
+ÏèµèÏ
+µèÏ¢
+ÏèµèÏ¢
+µèÏÚ
+ÏèµèÏÚ
+µèÏÚ¢
+ÏèµèÏÚ¢
+µèÏÛ
+ÏèµèÏÛ
+µèÏÛ¢
+ÏèµèÏÛ¢
+µèÏÜ
+ÏèµèÏÜ
+µèÏÜ¢
+ÏèµèÏÜ¢
+µèÏÝ
+ÏèµèÏÝ
+µèÏÝ¢
+ÏèµèÏÝ¢
+µèÏÞ
+ÏèµèÏÞ
+µèÏÞ¢
+ÏèµèÏÞ¢
+µèÏß
+ÏèµèÏß
+µèÏߢ
+ÏèµèÏߢ
+µèÏá
+ÏèµèÏá
+µèÏá¢
+ÏèµèÏá¢
+µèÏâ
+ÏèµèÏâ
+µèÏâ¢
+ÏèµèÏâ¢
+µèÏå
+ÏèµèÏå
+µèÏå¢
+ÏèµèÏå¢
+µèÏæ
+ÏèµèÏæ
+µèÏæ¢
+ÏèµèÏæ¢
+µèÏç
+ÏèµèÏç
+µèÏç¢
+ÏèµèÏç¢
+µéèÏ
+ÏèµéèÏ
+µéèÏ¢
+ÏèµéèÏ¢
+µéèÏÚ
+ÏèµéèÏÚ
+µéèÏÚ¢
+ÏèµéèÏÚ¢
+µéèÏÛ
+ÏèµéèÏÛ
+µéèÏÛ¢
+ÏèµéèÏÛ¢
+µéèÏÜ
+ÏèµéèÏÜ
+µéèÏÜ¢
+ÏèµéèÏÜ¢
+µéèÏÝ
+ÏèµéèÏÝ
+µéèÏÝ¢
+ÏèµéèÏÝ¢
+µéèÏÞ
+ÏèµéèÏÞ
+µéèÏÞ¢
+ÏèµéèÏÞ¢
+µéèÏß
+ÏèµéèÏß
+µéèÏߢ
+ÏèµéèÏߢ
+µéèÏá
+ÏèµéèÏá
+µéèÏá¢
+ÏèµéèÏá¢
+µéèÏâ
+ÏèµéèÏâ
+µéèÏâ¢
+ÏèµéèÏâ¢
+µéèÏå
+ÏèµéèÏå
+µéèÏå¢
+ÏèµéèÏå¢
+µéèÏæ
+ÏèµéèÏæ
+µéèÏæ¢
+ÏèµéèÏæ¢
+µéèÏç
+ÏèµéèÏç
+µéèÏç¢
+ÏèµéèÏç¢
+¶èÏ
+Ïè¶èÏ
+¶èÏ¢
+Ïè¶èÏ¢
+¶èÏÚ
+Ïè¶èÏÚ
+¶èÏÚ¢
+Ïè¶èÏÚ¢
+¶èÏÛ
+Ïè¶èÏÛ
+¶èÏÛ¢
+Ïè¶èÏÛ¢
+¶èÏÜ
+Ïè¶èÏÜ
+¶èÏÜ¢
+Ïè¶èÏÜ¢
+¶èÏÝ
+Ïè¶èÏÝ
+¶èÏÝ¢
+Ïè¶èÏÝ¢
+¶èÏÞ
+Ïè¶èÏÞ
+¶èÏÞ¢
+Ïè¶èÏÞ¢
+¶èÏß
+Ïè¶èÏß
+¶èÏߢ
+Ïè¶èÏߢ
+¶èÏá
+Ïè¶èÏá
+¶èÏá¢
+Ïè¶èÏá¢
+¶èÏâ
+Ïè¶èÏâ
+¶èÏâ¢
+Ïè¶èÏâ¢
+¶èÏå
+Ïè¶èÏå
+¶èÏå¢
+Ïè¶èÏå¢
+¶èÏæ
+Ïè¶èÏæ
+¶èÏæ¢
+Ïè¶èÏæ¢
+¶èÏç
+Ïè¶èÏç
+¶èÏç¢
+Ïè¶èÏç¢
+¸èÏ
+Ïè¸èÏ
+¸èÏ¢
+Ïè¸èÏ¢
+¸èÏÚ
+Ïè¸èÏÚ
+¸èÏÚ¢
+Ïè¸èÏÚ¢
+¸èÏÛ
+Ïè¸èÏÛ
+¸èÏÛ¢
+Ïè¸èÏÛ¢
+¸èÏÜ
+Ïè¸èÏÜ
+¸èÏÜ¢
+Ïè¸èÏÜ¢
+¸èÏÝ
+Ïè¸èÏÝ
+¸èÏÝ¢
+Ïè¸èÏÝ¢
+¸èÏÞ
+Ïè¸èÏÞ
+¸èÏÞ¢
+Ïè¸èÏÞ¢
+¸èÏß
+Ïè¸èÏß
+¸èÏߢ
+Ïè¸èÏߢ
+¸èÏá
+Ïè¸èÏá
+¸èÏá¢
+Ïè¸èÏá¢
+¸èÏâ
+Ïè¸èÏâ
+¸èÏâ¢
+Ïè¸èÏâ¢
+¸èÏå
+Ïè¸èÏå
+¸èÏå¢
+Ïè¸èÏå¢
+¸èÏæ
+Ïè¸èÏæ
+¸èÏæ¢
+Ïè¸èÏæ¢
+¸èÏç
+Ïè¸èÏç
+¸èÏç¢
+Ïè¸èÏç¢
+¹èÏ
+Ïè¹èÏ
+¹èÏ¢
+Ïè¹èÏ¢
+¹èÏÚ
+Ïè¹èÏÚ
+¹èÏÚ¢
+Ïè¹èÏÚ¢
+¹èÏÛ
+Ïè¹èÏÛ
+¹èÏÛ¢
+Ïè¹èÏÛ¢
+¹èÏÜ
+Ïè¹èÏÜ
+¹èÏÜ¢
+Ïè¹èÏÜ¢
+¹èÏÝ
+Ïè¹èÏÝ
+¹èÏÝ¢
+Ïè¹èÏÝ¢
+¹èÏÞ
+Ïè¹èÏÞ
+¹èÏÞ¢
+Ïè¹èÏÞ¢
+¹èÏß
+Ïè¹èÏß
+¹èÏߢ
+Ïè¹èÏߢ
+¹èÏá
+Ïè¹èÏá
+¹èÏá¢
+Ïè¹èÏá¢
+¹èÏâ
+Ïè¹èÏâ
+¹èÏâ¢
+Ïè¹èÏâ¢
+¹èÏå
+Ïè¹èÏå
+¹èÏå¢
+Ïè¹èÏå¢
+¹èÏæ
+Ïè¹èÏæ
+¹èÏæ¢
+Ïè¹èÏæ¢
+¹èÏç
+Ïè¹èÏç
+¹èÏç¢
+Ïè¹èÏç¢
+ºèÏ
+ÏèºèÏ
+ºèÏ¢
+ÏèºèÏ¢
+ºèÏÚ
+ÏèºèÏÚ
+ºèÏÚ¢
+ÏèºèÏÚ¢
+ºèÏÛ
+ÏèºèÏÛ
+ºèÏÛ¢
+ÏèºèÏÛ¢
+ºèÏÜ
+ÏèºèÏÜ
+ºèÏÜ¢
+ÏèºèÏÜ¢
+ºèÏÝ
+ÏèºèÏÝ
+ºèÏÝ¢
+ÏèºèÏÝ¢
+ºèÏÞ
+ÏèºèÏÞ
+ºèÏÞ¢
+ÏèºèÏÞ¢
+ºèÏß
+ÏèºèÏß
+ºèÏߢ
+ÏèºèÏߢ
+ºèÏá
+ÏèºèÏá
+ºèÏá¢
+ÏèºèÏá¢
+ºèÏâ
+ÏèºèÏâ
+ºèÏâ¢
+ÏèºèÏâ¢
+ºèÏå
+ÏèºèÏå
+ºèÏå¢
+ÏèºèÏå¢
+ºèÏæ
+ÏèºèÏæ
+ºèÏæ¢
+ÏèºèÏæ¢
+ºèÏç
+ÏèºèÏç
+ºèÏç¢
+ÏèºèÏç¢
+ºéèÏ
+ÏèºéèÏ
+ºéèÏ¢
+ÏèºéèÏ¢
+ºéèÏÚ
+ÏèºéèÏÚ
+ºéèÏÚ¢
+ÏèºéèÏÚ¢
+ºéèÏÛ
+ÏèºéèÏÛ
+ºéèÏÛ¢
+ÏèºéèÏÛ¢
+ºéèÏÜ
+ÏèºéèÏÜ
+ºéèÏÜ¢
+ÏèºéèÏÜ¢
+ºéèÏÝ
+ÏèºéèÏÝ
+ºéèÏÝ¢
+ÏèºéèÏÝ¢
+ºéèÏÞ
+ÏèºéèÏÞ
+ºéèÏÞ¢
+ÏèºéèÏÞ¢
+ºéèÏß
+ÏèºéèÏß
+ºéèÏߢ
+ÏèºéèÏߢ
+ºéèÏá
+ÏèºéèÏá
+ºéèÏá¢
+ÏèºéèÏá¢
+ºéèÏâ
+ÏèºéèÏâ
+ºéèÏâ¢
+ÏèºéèÏâ¢
+ºéèÏå
+ÏèºéèÏå
+ºéèÏå¢
+ÏèºéèÏå¢
+ºéèÏæ
+ÏèºéèÏæ
+ºéèÏæ¢
+ÏèºéèÏæ¢
+ºéèÏç
+ÏèºéèÏç
+ºéèÏç¢
+ÏèºéèÏç¢
+»èÏ
+Ïè»èÏ
+»èÏ¢
+Ïè»èÏ¢
+»èÏÚ
+Ïè»èÏÚ
+»èÏÚ¢
+Ïè»èÏÚ¢
+»èÏÛ
+Ïè»èÏÛ
+»èÏÛ¢
+Ïè»èÏÛ¢
+»èÏÜ
+Ïè»èÏÜ
+ȏ솢
+Ïè»èÏÜ¢
+»èÏÝ
+Ïè»èÏÝ
+»èÏÝ¢
+Ïè»èÏÝ¢
+»èÏÞ
+Ïè»èÏÞ
+»èÏÞ¢
+Ïè»èÏÞ¢
+»èÏß
+Ïè»èÏß
+ȏ짢
+Ïè»èÏߢ
+»èÏá
+Ïè»èÏá
+ȏ쇢
+Ïè»èÏá¢
+»èÏâ
+Ïè»èÏâ
+ȏ쉢
+Ïè»èÏâ¢
+»èÏå
+Ïè»èÏå
+ȏ쌢
+Ïè»èÏå¢
+»èÏæ
+Ïè»èÏæ
+ȏ쾢
+Ïè»èÏæ¢
+»èÏç
+Ïè»èÏç
+ȏ썢
+Ïè»èÏç¢
+½èÏ
+Ïè½èÏ
+½èÏ¢
+Ïè½èÏ¢
+½èÏÚ
+Ïè½èÏÚ
+½èÏÚ¢
+Ïè½èÏÚ¢
+½èÏÛ
+Ïè½èÏÛ
+½èÏÛ¢
+Ïè½èÏÛ¢
+½èÏÜ
+Ïè½èÏÜ
+½èÏÜ¢
+Ïè½èÏÜ¢
+½èÏÝ
+Ïè½èÏÝ
+½èÏÝ¢
+Ïè½èÏÝ¢
+½èÏÞ
+Ïè½èÏÞ
+½èÏÞ¢
+Ïè½èÏÞ¢
+½èÏß
+Ïè½èÏß
+½èÏߢ
+Ïè½èÏߢ
+½èÏá
+Ïè½èÏá
+½èÏá¢
+Ïè½èÏá¢
+½èÏâ
+Ïè½èÏâ
+½èÏâ¢
+Ïè½èÏâ¢
+½èÏå
+Ïè½èÏå
+½èÏå¢
+Ïè½èÏå¢
+½èÏæ
+Ïè½èÏæ
+½èÏæ¢
+Ïè½èÏæ¢
+½èÏç
+Ïè½èÏç
+½èÏç¢
+Ïè½èÏç¢
+¾èÏ
+Ïè¾èÏ
+¾èÏ¢
+Ïè¾èÏ¢
+¾èÏÚ
+Ïè¾èÏÚ
+¾èÏÚ¢
+Ïè¾èÏÚ¢
+¾èÏÛ
+Ïè¾èÏÛ
+¾èÏÛ¢
+Ïè¾èÏÛ¢
+¾èÏÜ
+Ïè¾èÏÜ
+¾èÏÜ¢
+Ïè¾èÏÜ¢
+¾èÏÝ
+Ïè¾èÏÝ
+¾èÏÝ¢
+Ïè¾èÏÝ¢
+¾èÏÞ
+Ïè¾èÏÞ
+¾èÏÞ¢
+Ïè¾èÏÞ¢
+¾èÏß
+Ïè¾èÏß
+¾èÏߢ
+Ïè¾èÏߢ
+¾èÏá
+Ïè¾èÏá
+¾èÏá¢
+Ïè¾èÏá¢
+¾èÏâ
+Ïè¾èÏâ
+¾èÏâ¢
+Ïè¾èÏâ¢
+¾èÏå
+Ïè¾èÏå
+¾èÏå¢
+Ïè¾èÏå¢
+¾èÏæ
+Ïè¾èÏæ
+¾èÏæ¢
+Ïè¾èÏæ¢
+¾èÏç
+Ïè¾èÏç
+¾èÏç¢
+Ïè¾èÏç¢
+¿èÏ
+Ïè¿èÏ
+¿èÏ¢
+Ïè¿èÏ¢
+¿èÏÚ
+Ïè¿èÏÚ
+¿èÏÚ¢
+Ïè¿èÏÚ¢
+¿èÏÛ
+Ïè¿èÏÛ
+¿èÏÛ¢
+Ïè¿èÏÛ¢
+¿èÏÜ
+Ïè¿èÏÜ
+¿èÏÜ¢
+Ïè¿èÏÜ¢
+¿èÏÝ
+Ïè¿èÏÝ
+¿èÏÝ¢
+Ïè¿èÏÝ¢
+¿èÏÞ
+Ïè¿èÏÞ
+¿èÏÞ¢
+Ïè¿èÏÞ¢
+¿èÏß
+Ïè¿èÏß
+¿èÏߢ
+Ïè¿èÏߢ
+¿èÏá
+Ïè¿èÏá
+¿èÏá¢
+Ïè¿èÏá¢
+¿èÏâ
+Ïè¿èÏâ
+¿èÏâ¢
+Ïè¿èÏâ¢
+¿èÏå
+Ïè¿èÏå
+¿èÏå¢
+Ïè¿èÏå¢
+¿èÏæ
+Ïè¿èÏæ
+¿èÏæ¢
+Ïè¿èÏæ¢
+¿èÏç
+Ïè¿èÏç
+¿èÏç¢
+Ïè¿èÏç¢
+ÀèÏ
+ÏèÀèÏ
+ÀèÏ¢
+ÏèÀèÏ¢
+ÀèÏÚ
+ÏèÀèÏÚ
+ÀèÏÚ¢
+ÏèÀèÏÚ¢
+ÀèÏÛ
+ÏèÀèÏÛ
+ÀèÏÛ¢
+ÏèÀèÏÛ¢
+ÀèÏÜ
+ÏèÀèÏÜ
+ˏ솢
+ÏèÀèÏÜ¢
+ÀèÏÝ
+ÏèÀèÏÝ
+ÀèÏÝ¢
+ÏèÀèÏÝ¢
+ÀèÏÞ
+ÏèÀèÏÞ
+ÀèÏÞ¢
+ÏèÀèÏÞ¢
+ÀèÏß
+ÏèÀèÏß
+ˏ짢
+ÏèÀèÏߢ
+ÀèÏá
+ÏèÀèÏá
+ˏ쇢
+ÏèÀèÏá¢
+ÀèÏâ
+ÏèÀèÏâ
+ˏ쉢
+ÏèÀèÏâ¢
+ÀèÏå
+ÏèÀèÏå
+ˏ쌢
+ÏèÀèÏå¢
+ÀèÏæ
+ÏèÀèÏæ
+ˏ쾢
+ÏèÀèÏæ¢
+ÀèÏç
+ÏèÀèÏç
+ˏ썢
+ÏèÀèÏç¢
+ÂèÏ
+ÏèÂèÏ
+ÂèÏ¢
+ÏèÂèÏ¢
+ÂèÏÚ
+ÏèÂèÏÚ
+ÂèÏÚ¢
+ÏèÂèÏÚ¢
+ÂèÏÛ
+ÏèÂèÏÛ
+ÂèÏÛ¢
+ÏèÂèÏÛ¢
+ÂèÏÜ
+ÏèÂèÏÜ
+ÂèÏÜ¢
+ÏèÂèÏÜ¢
+ÂèÏÝ
+ÏèÂèÏÝ
+ÂèÏÝ¢
+ÏèÂèÏÝ¢
+ÂèÏÞ
+ÏèÂèÏÞ
+ÂèÏÞ¢
+ÏèÂèÏÞ¢
+ÂèÏß
+ÏèÂèÏß
+ÂèÏߢ
+ÏèÂèÏߢ
+ÂèÏá
+ÏèÂèÏá
+ÂèÏá¢
+ÏèÂèÏá¢
+ÂèÏâ
+ÏèÂèÏâ
+ÂèÏâ¢
+ÏèÂèÏâ¢
+ÂèÏå
+ÏèÂèÏå
+ÂèÏå¢
+ÏèÂèÏå¢
+ÂèÏæ
+ÏèÂèÏæ
+ÂèÏæ¢
+ÏèÂèÏæ¢
+ÂèÏç
+ÏèÂèÏç
+ÂèÏç¢
+ÏèÂèÏç¢
+ÃèÏ
+ÏèÃèÏ
+ÃèÏ¢
+ÏèÃèÏ¢
+ÃèÏÚ
+ÏèÃèÏÚ
+ÃèÏÚ¢
+ÏèÃèÏÚ¢
+ÃèÏÛ
+ÏèÃèÏÛ
+ÃèÏÛ¢
+ÏèÃèÏÛ¢
+ÃèÏÜ
+ÏèÃèÏÜ
+̏솢
+ÏèÃèÏÜ¢
+ÃèÏÝ
+ÏèÃèÏÝ
+ÃèÏÝ¢
+ÏèÃèÏÝ¢
+ÃèÏÞ
+ÏèÃèÏÞ
+ÃèÏÞ¢
+ÏèÃèÏÞ¢
+ÃèÏß
+ÏèÃèÏß
+̏짢
+ÏèÃèÏߢ
+ÃèÏá
+ÏèÃèÏá
+̏쇢
+ÏèÃèÏá¢
+ÃèÏâ
+ÏèÃèÏâ
+̏쉢
+ÏèÃèÏâ¢
+ÃèÏå
+ÏèÃèÏå
+̏쌢
+ÏèÃèÏå¢
+ÃèÏæ
+ÏèÃèÏæ
+̏쾢
+ÏèÃèÏæ¢
+ÃèÏç
+ÏèÃèÏç
+̏썢
+ÏèÃèÏç¢
+ÄèÏ
+ÏèÄèÏ
+ÄèÏ¢
+ÏèÄèÏ¢
+ÄèÏÚ
+ÏèÄèÏÚ
+ÄèÏÚ¢
+ÏèÄèÏÚ¢
+ÄèÏÛ
+ÏèÄèÏÛ
+ÄèÏÛ¢
+ÏèÄèÏÛ¢
+ÄèÏÜ
+ÏèÄèÏÜ
+ÄèÏÜ¢
+ÏèÄèÏÜ¢
+ÄèÏÝ
+ÏèÄèÏÝ
+ÄèÏÝ¢
+ÏèÄèÏÝ¢
+ÄèÏÞ
+ÏèÄèÏÞ
+ÄèÏÞ¢
+ÏèÄèÏÞ¢
+ÄèÏß
+ÏèÄèÏß
+ÄèÏߢ
+ÏèÄèÏߢ
+ÄèÏá
+ÏèÄèÏá
+ÄèÏá¢
+ÏèÄèÏá¢
+ÄèÏâ
+ÏèÄèÏâ
+ÄèÏâ¢
+ÏèÄèÏâ¢
+ÄèÏå
+ÏèÄèÏå
+ÄèÏå¢
+ÏèÄèÏå¢
+ÄèÏæ
+ÏèÄèÏæ
+ÄèÏæ¢
+ÏèÄèÏæ¢
+ÄèÏç
+ÏèÄèÏç
+ÄèÏç¢
+ÏèÄèÏç¢
+ÅèÏ
+ÏèÅèÏ
+ÅèÏ¢
+ÏèÅèÏ¢
+ÅèÏÚ
+ÏèÅèÏÚ
+ÅèÏÚ¢
+ÏèÅèÏÚ¢
+ÅèÏÛ
+ÏèÅèÏÛ
+ÅèÏÛ¢
+ÏèÅèÏÛ¢
+ÅèÏÜ
+ÏèÅèÏÜ
+ÅèÏÜ¢
+ÏèÅèÏÜ¢
+ÅèÏÝ
+ÏèÅèÏÝ
+ÅèÏÝ¢
+ÏèÅèÏÝ¢
+ÅèÏÞ
+ÏèÅèÏÞ
+ÅèÏÞ¢
+ÏèÅèÏÞ¢
+ÅèÏß
+ÏèÅèÏß
+ÅèÏߢ
+ÏèÅèÏߢ
+ÅèÏá
+ÏèÅèÏá
+ÅèÏá¢
+ÏèÅèÏá¢
+ÅèÏâ
+ÏèÅèÏâ
+ÅèÏâ¢
+ÏèÅèÏâ¢
+ÅèÏå
+ÏèÅèÏå
+ÅèÏå¢
+ÏèÅèÏå¢
+ÅèÏæ
+ÏèÅèÏæ
+ÅèÏæ¢
+ÏèÅèÏæ¢
+ÅèÏç
+ÏèÅèÏç
+ÅèÏç¢
+ÏèÅèÏç¢
+ÈèÏ
+ÏèÈèÏ
+ÈèÏ¢
+ÏèÈèÏ¢
+ÈèÏÚ
+ÏèÈèÏÚ
+ÈèÏÚ¢
+ÏèÈèÏÚ¢
+ÈèÏÛ
+ÏèÈèÏÛ
+ÈèÏÛ¢
+ÏèÈèÏÛ¢
+ÈèÏÜ
+ÏèÈèÏÜ
+ÈèÏÜ¢
+ÏèÈèÏÜ¢
+ÈèÏÝ
+ÏèÈèÏÝ
+ÈèÏÝ¢
+ÏèÈèÏÝ¢
+ÈèÏÞ
+ÏèÈèÏÞ
+ÈèÏÞ¢
+ÏèÈèÏÞ¢
+ÈèÏß
+ÏèÈèÏß
+ÈèÏߢ
+ÏèÈèÏߢ
+ÈèÏá
+ÏèÈèÏá
+ÈèÏá¢
+ÏèÈèÏá¢
+ÈèÏâ
+ÏèÈèÏâ
+ÈèÏâ¢
+ÏèÈèÏâ¢
+ÈèÏå
+ÏèÈèÏå
+ÈèÏå¢
+ÏèÈèÏå¢
+ÈèÏæ
+ÏèÈèÏæ
+ÈèÏæ¢
+ÏèÈèÏæ¢
+ÈèÏç
+ÏèÈèÏç
+ÈèÏç¢
+ÏèÈèÏç¢
+ÉèÏ
+ÏèÉèÏ
+ÉèÏ¢
+ÏèÉèÏ¢
+ÉèÏÚ
+ÏèÉèÏÚ
+ÉèÏÚ¢
+ÏèÉèÏÚ¢
+ÉèÏÛ
+ÏèÉèÏÛ
+ÉèÏÛ¢
+ÏèÉèÏÛ¢
+ÉèÏÜ
+ÏèÉèÏÜ
+ÉèÏÜ¢
+ÏèÉèÏÜ¢
+ÉèÏÝ
+ÏèÉèÏÝ
+ÉèÏÝ¢
+ÏèÉèÏÝ¢
+ÉèÏÞ
+ÏèÉèÏÞ
+ÉèÏÞ¢
+ÏèÉèÏÞ¢
+ÉèÏß
+ÏèÉèÏß
+ÉèÏߢ
+ÏèÉèÏߢ
+ÉèÏá
+ÏèÉèÏá
+ÉèÏá¢
+ÏèÉèÏá¢
+ÉèÏâ
+ÏèÉèÏâ
+ÉèÏâ¢
+ÏèÉèÏâ¢
+ÉèÏå
+ÏèÉèÏå
+ÉèÏå¢
+ÏèÉèÏå¢
+ÉèÏæ
+ÏèÉèÏæ
+ÉèÏæ¢
+ÏèÉèÏæ¢
+ÉèÏç
+ÏèÉèÏç
+ÉèÏç¢
+ÏèÉèÏç¢
+ÉéèÏ
+ÏèÉéèÏ
+ÉéèÏ¢
+ÏèÉéèÏ¢
+ÉéèÏÚ
+ÏèÉéèÏÚ
+ÉéèÏÚ¢
+ÏèÉéèÏÚ¢
+ÉéèÏÛ
+ÏèÉéèÏÛ
+ÉéèÏÛ¢
+ÏèÉéèÏÛ¢
+ÉéèÏÜ
+ÏèÉéèÏÜ
+ÉéèÏÜ¢
+ÏèÉéèÏÜ¢
+ÉéèÏÝ
+ÏèÉéèÏÝ
+ÉéèÏÝ¢
+ÏèÉéèÏÝ¢
+ÉéèÏÞ
+ÏèÉéèÏÞ
+ÉéèÏÞ¢
+ÏèÉéèÏÞ¢
+ÉéèÏß
+ÏèÉéèÏß
+ÉéèÏߢ
+ÏèÉéèÏߢ
+ÉéèÏá
+ÏèÉéèÏá
+ÉéèÏá¢
+ÏèÉéèÏá¢
+ÉéèÏâ
+ÏèÉéèÏâ
+ÉéèÏâ¢
+ÏèÉéèÏâ¢
+ÉéèÏå
+ÏèÉéèÏå
+ÉéèÏå¢
+ÏèÉéèÏå¢
+ÉéèÏæ
+ÏèÉéèÏæ
+ÉéèÏæ¢
+ÏèÉéèÏæ¢
+ÉéèÏç
+ÏèÉéèÏç
+ÉéèÏç¢
+ÏèÉéèÏç¢
+ÊèÏ
+ÏèÊèÏ
+ÊèÏ¢
+ÏèÊèÏ¢
+ÊèÏÚ
+ÏèÊèÏÚ
+ÊèÏÚ¢
+ÏèÊèÏÚ¢
+ÊèÏÛ
+ÏèÊèÏÛ
+ÊèÏÛ¢
+ÏèÊèÏÛ¢
+ÊèÏÜ
+ÏèÊèÏÜ
+ÊèÏÜ¢
+ÏèÊèÏÜ¢
+ÊèÏÝ
+ÏèÊèÏÝ
+ÊèÏÝ¢
+ÏèÊèÏÝ¢
+ÊèÏÞ
+ÏèÊèÏÞ
+ÊèÏÞ¢
+ÏèÊèÏÞ¢
+ÊèÏß
+ÏèÊèÏß
+ÊèÏߢ
+ÏèÊèÏߢ
+ÊèÏá
+ÏèÊèÏá
+ÊèÏá¢
+ÏèÊèÏá¢
+ÊèÏâ
+ÏèÊèÏâ
+ÊèÏâ¢
+ÏèÊèÏâ¢
+ÊèÏå
+ÏèÊèÏå
+ÊèÏå¢
+ÏèÊèÏå¢
+ÊèÏæ
+ÏèÊèÏæ
+ÊèÏæ¢
+ÏèÊèÏæ¢
+ÊèÏç
+ÏèÊèÏç
+ÊèÏç¢
+ÏèÊèÏç¢
+ËèÏ
+ÏèËèÏ
+ËèÏ¢
+ÏèËèÏ¢
+ËèÏÚ
+ÏèËèÏÚ
+ËèÏÚ¢
+ÏèËèÏÚ¢
+ËèÏÛ
+ÏèËèÏÛ
+ËèÏÛ¢
+ÏèËèÏÛ¢
+ËèÏÜ
+ÏèËèÏÜ
+ËèÏÜ¢
+ÏèËèÏÜ¢
+ËèÏÝ
+ÏèËèÏÝ
+ËèÏÝ¢
+ÏèËèÏÝ¢
+ËèÏÞ
+ÏèËèÏÞ
+ËèÏÞ¢
+ÏèËèÏÞ¢
+ËèÏß
+ÏèËèÏß
+ËèÏߢ
+ÏèËèÏߢ
+ËèÏá
+ÏèËèÏá
+ËèÏá¢
+ÏèËèÏá¢
+ËèÏâ
+ÏèËèÏâ
+ËèÏâ¢
+ÏèËèÏâ¢
+ËèÏå
+ÏèËèÏå
+ËèÏå¢
+ÏèËèÏå¢
+ËèÏæ
+ÏèËèÏæ
+ËèÏæ¢
+ÏèËèÏæ¢
+ËèÏç
+ÏèËèÏç
+ËèÏç¢
+ÏèËèÏç¢
+ÌèÏ
+ÏèÌèÏ
+ÌèÏ¢
+ÏèÌèÏ¢
+ÌèÏÚ
+ÏèÌèÏÚ
+ÌèÏÚ¢
+ÏèÌèÏÚ¢
+ÌèÏÛ
+ÏèÌèÏÛ
+ÌèÏÛ¢
+ÏèÌèÏÛ¢
+ÌèÏÜ
+ÏèÌèÏÜ
+ÌèÏÜ¢
+ÏèÌèÏÜ¢
+ÌèÏÝ
+ÏèÌèÏÝ
+ÌèÏÝ¢
+ÏèÌèÏÝ¢
+ÌèÏÞ
+ÏèÌèÏÞ
+ÌèÏÞ¢
+ÏèÌèÏÞ¢
+ÌèÏß
+ÏèÌèÏß
+ÌèÏߢ
+ÏèÌèÏߢ
+ÌèÏá
+ÏèÌèÏá
+ÌèÏá¢
+ÏèÌèÏá¢
+ÌèÏâ
+ÏèÌèÏâ
+ÌèÏâ¢
+ÏèÌèÏâ¢
+ÌèÏå
+ÏèÌèÏå
+ÌèÏå¢
+ÏèÌèÏå¢
+ÌèÏæ
+ÏèÌèÏæ
+ÌèÏæ¢
+ÏèÌèÏæ¢
+ÌèÏç
+ÏèÌèÏç
+ÌèÏç¢
+ÏèÌèÏç¢
+ÍèÏ
+ÏèÍèÏ
+ÍèÏ¢
+ÏèÍèÏ¢
+ÍèÏÚ
+ÏèÍèÏÚ
+ÍèÏÚ¢
+ÏèÍèÏÚ¢
+ÍèÏÛ
+ÏèÍèÏÛ
+ÍèÏÛ¢
+ÏèÍèÏÛ¢
+ÍèÏÜ
+ÏèÍèÏÜ
+ÍèÏÜ¢
+ÏèÍèÏÜ¢
+ÍèÏÝ
+ÏèÍèÏÝ
+ÍèÏÝ¢
+ÏèÍèÏÝ¢
+ÍèÏÞ
+ÏèÍèÏÞ
+ÍèÏÞ¢
+ÏèÍèÏÞ¢
+ÍèÏß
+ÏèÍèÏß
+ÍèÏߢ
+ÏèÍèÏߢ
+ÍèÏá
+ÏèÍèÏá
+ÍèÏá¢
+ÏèÍèÏá¢
+ÍèÏâ
+ÏèÍèÏâ
+ÍèÏâ¢
+ÏèÍèÏâ¢
+ÍèÏå
+ÏèÍèÏå
+ÍèÏå¢
+ÏèÍèÏå¢
+ÍèÏæ
+ÏèÍèÏæ
+ÍèÏæ¢
+ÏèÍèÏæ¢
+ÍèÏç
+ÏèÍèÏç
+ÍèÏç¢
+ÏèÍèÏç¢
+ÔèÏ
+ÏèÔèÏ
+ÔèÏ¢
+ÏèÔèÏ¢
+ÔèÏÚ
+ÏèÔèÏÚ
+ÔèÏÚ¢
+ÏèÔèÏÚ¢
+ÔèÏÛ
+ÏèÔèÏÛ
+ÔèÏÛ¢
+ÏèÔèÏÛ¢
+ÔèÏÜ
+ÏèÔèÏÜ
+ÔèÏÜ¢
+ÏèÔèÏÜ¢
+ÔèÏÝ
+ÏèÔèÏÝ
+ÔèÏÝ¢
+ÏèÔèÏÝ¢
+ÔèÏÞ
+ÏèÔèÏÞ
+ÔèÏÞ¢
+ÏèÔèÏÞ¢
+ÔèÏß
+ÏèÔèÏß
+ÔèÏߢ
+ÏèÔèÏߢ
+ÔèÏá
+ÏèÔèÏá
+ÔèÏá¢
+ÏèÔèÏá¢
+ÔèÏâ
+ÏèÔèÏâ
+ÔèÏâ¢
+ÏèÔèÏâ¢
+ÔèÏå
+ÏèÔèÏå
+ÔèÏå¢
+ÏèÔèÏå¢
+ÔèÏæ
+ÏèÔèÏæ
+ÔèÏæ¢
+ÏèÔèÏæ¢
+ÔèÏç
+ÏèÔèÏç
+ÔèÏç¢
+ÏèÔèÏç¢
+ÕèÏ
+ÏèÕèÏ
+ÕèÏ¢
+ÏèÕèÏ¢
+ÕèÏÚ
+ÏèÕèÏÚ
+ÕèÏÚ¢
+ÏèÕèÏÚ¢
+ÕèÏÛ
+ÏèÕèÏÛ
+ÕèÏÛ¢
+ÏèÕèÏÛ¢
+ÕèÏÜ
+ÏèÕèÏÜ
+͏솢
+ÏèÕèÏÜ¢
+ÕèÏÝ
+ÏèÕèÏÝ
+ÕèÏÝ¢
+ÏèÕèÏÝ¢
+ÕèÏÞ
+ÏèÕèÏÞ
+ÕèÏÞ¢
+ÏèÕèÏÞ¢
+ÕèÏß
+ÏèÕèÏß
+͏짢
+ÏèÕèÏߢ
+ÕèÏá
+ÏèÕèÏá
+͏쇢
+ÏèÕèÏá¢
+ÕèÏâ
+ÏèÕèÏâ
+͏쉢
+ÏèÕèÏâ¢
+ÕèÏå
+ÏèÕèÏå
+͏쌢
+ÏèÕèÏå¢
+ÕèÏæ
+ÏèÕèÏæ
+͏쾢
+ÏèÕèÏæ¢
+ÕèÏç
+ÏèÕèÏç
+͏썢
+ÏèÕèÏç¢
+×èÏ
+Ïè×èÏ
+×èÏ¢
+Ïè×èÏ¢
+×èÏÚ
+Ïè×èÏÚ
+×èÏÚ¢
+Ïè×èÏÚ¢
+×èÏÛ
+Ïè×èÏÛ
+×èÏÛ¢
+Ïè×èÏÛ¢
+×èÏÜ
+Ïè×èÏÜ
+×èÏÜ¢
+Ïè×èÏÜ¢
+×èÏÝ
+Ïè×èÏÝ
+×èÏÝ¢
+Ïè×èÏÝ¢
+×èÏÞ
+Ïè×èÏÞ
+×èÏÞ¢
+Ïè×èÏÞ¢
+×èÏß
+Ïè×èÏß
+×èÏߢ
+Ïè×èÏߢ
+×èÏá
+Ïè×èÏá
+×èÏá¢
+Ïè×èÏá¢
+×èÏâ
+Ïè×èÏâ
+×èÏâ¢
+Ïè×èÏâ¢
+×èÏå
+Ïè×èÏå
+×èÏå¢
+Ïè×èÏå¢
+×èÏæ
+Ïè×èÏæ
+×èÏæ¢
+Ïè×èÏæ¢
+×èÏç
+Ïè×èÏç
+×èÏç¢
+Ïè×èÏç¢
+ØèÏ
+ÏèØèÏ
+ØèÏ¢
+ÏèØèÏ¢
+ØèÏÚ
+ÏèØèÏÚ
+ØèÏÚ¢
+ÏèØèÏÚ¢
+ØèÏÛ
+ÏèØèÏÛ
+ØèÏÛ¢
+ÏèØèÏÛ¢
+ØèÏÜ
+ÏèØèÏÜ
+ØèÏÜ¢
+ÏèØèÏÜ¢
+ØèÏÝ
+ÏèØèÏÝ
+ØèÏÝ¢
+ÏèØèÏÝ¢
+ØèÏÞ
+ÏèØèÏÞ
+ØèÏÞ¢
+ÏèØèÏÞ¢
+ØèÏß
+ÏèØèÏß
+ØèÏߢ
+ÏèØèÏߢ
+ØèÏá
+ÏèØèÏá
+ØèÏá¢
+ÏèØèÏá¢
+ØèÏâ
+ÏèØèÏâ
+ØèÏâ¢
+ÏèØèÏâ¢
+ØèÏå
+ÏèØèÏå
+ØèÏå¢
+ÏèØèÏå¢
+ØèÏæ
+ÏèØèÏæ
+ØèÏæ¢
+ÏèØèÏæ¢
+ØèÏç
+ÏèØèÏç
+ØèÏç¢
+ÏèØèÏç¢
+³èÙ
+³èÙÛ
+Ïè³èÙÛ
+³èÙÛ¢
+Ïè³èÙÛ¢
+³éèÙ
+³éèÙÛ
+Ïè³éèÙÛ
+³éèÙÛ¢
+Ïè³éèÙÛ¢
+´èÙ
+´èÙÛ
+Ïè´èÙÛ
+´èÙÛ¢
+Ïè´èÙÛ¢
+´éèÙ
+´éèÙÛ
+Ïè´éèÙÛ
+´éèÙÛ¢
+Ïè´éèÙÛ¢
+µèÙ
+µèÙÛ
+ÏèµèÙÛ
+µèÙÛ¢
+ÏèµèÙÛ¢
+µéèÙ
+µéèÙÛ
+ÏèµéèÙÛ
+µéèÙÛ¢
+ÏèµéèÙÛ¢
+¶èÙ
+¶èÙÛ
+Ïè¶èÙÛ
+¶èÙÛ¢
+Ïè¶èÙÛ¢
+¸èÙ
+¸èÙÛ
+Ïè¸èÙÛ
+¸èÙÛ¢
+Ïè¸èÙÛ¢
+¹èÙ
+¹èÙÛ
+Ïè¹èÙÛ
+¹èÙÛ¢
+Ïè¹èÙÛ¢
+ºèÙ
+ºèÙÛ
+ÏèºèÙÛ
+ºèÙÛ¢
+ÏèºèÙÛ¢
+ºéèÙ
+ºéèÙÛ
+ÏèºéèÙÛ
+ºéèÙÛ¢
+ÏèºéèÙÛ¢
+»èÙ
+»èÙÛ
+Ïè»èÙÛ
+»èÙÛ¢
+Ïè»èÙÛ¢
+¼èÙ
+¼èÙÛ
+Ïè¼èÙÛ
+¼èÙÛ¢
+Ïè¼èÙÛ¢
+½èÙ
+½èÙÛ
+Ïè½èÙÛ
+½èÙÛ¢
+Ïè½èÙÛ¢
+¾èÙ
+¾èÙÛ
+Ïè¾èÙÛ
+¾èÙÛ¢
+Ïè¾èÙÛ¢
+¿èÙ
+¿èÙÛ
+Ïè¿èÙÛ
+¿èÙÛ¢
+Ïè¿èÙÛ¢
+ÀèÙ
+ÀèÙÛ
+ÏèÀèÙÛ
+ÀèÙÛ¢
+ÏèÀèÙÛ¢
+ÁèÙ
+ÁèÙÛ
+ÏèÁèÙÛ
+ÁèÙÛ¢
+ÏèÁèÙÛ¢
+ÂèÙ
+ÂèÙÛ
+ÏèÂèÙÛ
+ÂèÙÛ¢
+ÏèÂèÙÛ¢
+ÂèÏèÙ
+ÂèÏèÙÛ
+ÏèÂèÏèÙÛ
+ÂèÏèÙÛ¢
+ÏèÂèÏèÙÛ¢
+ÃèÙ
+ÃèÙÛ
+ÏèÃèÙÛ
+ÃèÙÛ¢
+ÏèÃèÙÛ¢
+ÄèÙ
+ÄèÙÛ
+ÏèÄèÙÛ
+ÄèÙÛ¢
+ÏèÄèÙÛ¢
+ÅèÙ
+ÅèÙÛ
+ÏèÅèÙÛ
+ÅèÙÛ¢
+ÏèÅèÙÛ¢
+ÆèÙ
+ÆèÙÛ
+ÏèÆèÙÛ
+ÆèÙÛ¢
+ÏèÆèÙÛ¢
+ÈèÙ
+ÈèÙÛ
+ÏèÈèÙÛ
+ÈèÙÛ¢
+ÏèÈèÙÛ¢
+ÉèÙ
+ÉèÙÛ
+ÏèÉèÙÛ
+ÉèÙÛ¢
+ÏèÉèÙÛ¢
+ÉéèÙ
+ÉéèÙÛ
+ÏèÉéèÙÛ
+ÉéèÙÛ¢
+ÏèÉéèÙÛ¢
+ÊèÙ
+ÊèÙÛ
+ÏèÊèÙÛ
+ÊèÙÛ¢
+ÏèÊèÙÛ¢
+ËèÙ
+ËèÙÛ
+ÏèËèÙÛ
+ËèÙÛ¢
+ÏèËèÙÛ¢
+ÌèÙ
+ÌèÙÛ
+ÏèÌèÙÛ
+ÌèÙÛ¢
+ÏèÌèÙÛ¢
+ÍèÙ
+ÍèÙÛ
+ÏèÍèÙÛ
+ÍèÙÛ¢
+ÏèÍèÙÛ¢
+ÏèÙ
+ÏèÙÛ
+ÏèÏèÙÛ
+ÏèÙÛ¢
+ÏèÏèÙÛ¢
+ÑèÙ
+ÑèÙÛ
+ÏèÑèÙÛ
+ÑèÙÛ¢
+ÏèÑèÙÛ¢
+ÒèÙ
+ÒèÙÛ
+ÏèÒèÙÛ
+ÒèÙÛ¢
+ÏèÒèÙÛ¢
+ÔèÙ
+ÔèÙÛ
+ÏèÔèÙÛ
+ÔèÙÛ¢
+ÏèÔèÙÛ¢
+ÕèÙ
+ÕèÙÛ
+ÏèÕèÙÛ
+ÕèÙÛ¢
+ÏèÕèÙÛ¢
+ÖèÙ
+ÖèÙÛ
+ÏèÖèÙÛ
+ÖèÙÛ¢
+ÏèÖèÙÛ¢
+×èÙ
+×èÙÛ
+Ïè×èÙÛ
+×èÙÛ¢
+Ïè×èÙÛ¢
+ØèÙ
+ØèÙÛ
+ÏèØèÙÛ
+ØèÙÛ¢
+ÏèØèÙÛ¢
+³èÖèÙ
+³èÖèÙÛ
+Ïè³èÖèÙÛ
+³èÖèÙÛ¢
+Ïè³èÖèÙÛ¢
+ºè¼èÙ
+ºè¼èÙÛ
+Ïèºè¼èÙÛ
+ºè¼èÙÛ¢
+Ïèºè¼èÙÛ¢
+ÂèÂèÙ
+ÂèÂèÙÛ
+ÏèÂèÂèÙÛ
+ÂèÂèÙÛ¢
+ÏèÂèÂèÙÛ¢
+ÆèÆèÙ
+ÆèÆèÙÛ
+ÏèÆèÆèÙÛ
+ÆèÆèÙÛ¢
+ÏèÆèÆèÙÛ¢
+¤¢
+¤¡
+¥¢
+¥¡
+¦¢
+¦¡
+§¢
+§¡
+¨¢
+¨¡
+©¢
+©¡
+ª¢
+ª¡
+¢
+¬¡
+­¢
+­¡
+°¢
+°¡
+±¢
+±¡
+²¢
+²¡
+ÙÙ¡
+ÙÚ
+¡é
+êé
+
+ïB0
+ïB1
+ïB2
+ïB3
+ïB4
+ïB5
+ïB6
+ïB7
+ïB8
+ïB9
diff --git a/usr/src/lib/iconv_modules/hi_IN/testData/NuktaTest.iscii b/usr/src/lib/iconv_modules/hi_IN/testData/NuktaTest.iscii
new file mode 100644
index 0000000000..8d910a4c17
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/testData/NuktaTest.iscii
@@ -0,0 +1,38 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+³é
+´é
+µé
+ºé
+¿é
+Àé
+Éé
+ªé
+ßé
+¦é
+Ûé
+§é
+Üé
+¡é
+êé
diff --git a/usr/src/lib/iconv_modules/hi_IN/testData/PC-ISCII b/usr/src/lib/iconv_modules/hi_IN/testData/PC-ISCII
new file mode 100644
index 0000000000..f9fcf4a442
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/testData/PC-ISCII
@@ -0,0 +1,118 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ *
+ */
+
+ PC-ISCII ISCII-91
+ 0x80 0xA1
+ 0x81 0xA2
+ 0x82 0xA3
+ 0x83 0xA4
+ 0x84 0xA5
+ 0x85 0xA6
+ 0x86 0xA7
+ 0x87 0xA8
+ 0x88 0xA9
+ 0x89 0xAA
+ 0x8A 0xAB
+ 0x8B 0xAC
+ 0x8C 0xAD
+ 0x8D 0xAE
+ 0x8E 0xAF
+ 0x8F 0xB0
+ 0x90 0xB1
+ 0x91 0xB2
+ 0x92 0xB3
+ 0x93 0xB4
+ 0x94 0xB5
+ 0x95 0xB6
+ 0x96 0xB7
+ 0x97 0xB8
+ 0x98 0xB9
+ 0x99 0xBA
+ 0x9A 0xBB
+ 0x9B 0xBC
+ 0x9C 0xBD
+ 0x9D 0xBE
+ 0x9E 0xBF
+ 0x9F 0xC0
+ 0xA0 0xC1
+ 0xA1 0xC2
+ 0xA2 0xC3
+ 0xA3 0xC4
+ 0xA4 0xC5
+ 0xA5 0xC6
+ 0xA6 0xC7
+ 0xA7 0xC8
+ 0xA8 0xC9
+ 0xA9 0xCA
+ 0xAA 0xCB
+ 0xAB 0xCC
+ 0xAC 0xCD
+ 0xAD 0xCE
+ 0xAE 0xCF
+ 0xAF 0xD0
+
+ 0xE0 0xEF
+
+ 0xE1 0xD1
+ 0xE2 0xD2
+ 0xE3 0xD3
+ 0xE4 0xD4
+ 0xE5 0xD5
+ 0xE6 0xD6
+ 0xE7 0xD7
+ 0xE8 0xD8
+ 0xE9 0xD9
+ 0xEA 0xDA
+ 0xEB 0xDB
+ 0xEC 0xDC
+ 0xED 0xDD
+ 0xEE 0xDE
+ 0xEF 0xDF
+
+ 0xF0 0xF0
+
+ 0xF1 0xE0
+ 0xF2 0xE1
+ 0xF3 0xE2
+ 0xF4 0xE3
+ 0xF5 0xE4
+ 0xF6 0xE5
+ 0xF7 0xE6
+ 0xF8 0xE7
+ 0xF9 0xE8
+ 0xFA 0xE9
+ 0xFB 0xEA
+
+ For numerals
+ 0x30 <---- 0xF1
+ 0x31 <---- 0xF2
+ 0x32 <---- 0xF3
+ 0x33 <---- 0xF4
+ 0x34 <---- 0xF5
+ 0x35 <---- 0xF6
+ 0x36 <---- 0xF7
+ 0x37 <---- 0xF8
+ 0x38 <---- 0xF9
+ 0x39 <---- 0xFA
diff --git a/usr/src/lib/iconv_modules/hi_IN/testData/PremTest.iscii b/usr/src/lib/iconv_modules/hi_IN/testData/PremTest.iscii
new file mode 100644
index 0000000000..7397d856c5
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/testData/PremTest.iscii
@@ -0,0 +1,129 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+ÔÚï3ºéÛĤÑÜ /ÕÚØ /³Ú /×ÌÍ .ÃÚê .Ñ´Æ© .ÔÛÑÚ×ÛÂÚ .³á .Ï¢µ .Ìᢠ.¿ÞÊÚ .ØÝ¥ .ÃÚê .¹å½á-Ê¿éá,
+¤ÌÛÏ-µÏÜÊ /×ËÜ /ÔÜÑÚ×ÛÂÚ /Ìᢠ/¿ÞÊá /ØÝÍá /Ãáê /³å§ /ÆßÂèÍ /±Ï /µÚÆ /³Ü /̺ÑÜ× 0׺ÚÂÚ 0ÃÚ, 0Âå
+³å¦ .¤ÉéÜÌ .³Ü .ÈÛƳ .ØÜ .Ìᢠ.̺éá .ÑáÂÚ .ÃÚê .ºÜÔÆ .³á .ÈèÏÂèÍá³ .ÔÛËÚµ .Ìᢠ.¥ÌåÄ-ÈèÏÌåÄ -³Ú -ÈèÏÚÅÚÆèÍ
+ÃÚê .ÕÚ×Æ .ÔÛËÚµ .Ìá¢, .×ÚØÛÂèͳèÖáÂèÏ .Ìá¢, /×ÚÌÚºÛ³ /ÔèÍÔ×èÃÚ /Ìá¢, /³ÑÚ-³åÕÑ /Ìá¢, /¨ÄèÍåµ-ÅÆèÅå¢ /Ìá¢,
+¥ØÚÏ-ÔèÍÔØÚÏ -Ìá¢, -×ÏèÔÂèÏ -ÔÛÑÚ×ÛÂÚ -ÔÍÚÈ -ÏØÜ -ÃÜê
+
+ ÏÚº³Ïè̸ÚÏÜ .ÔÛÖÍ-ÔÚ×ÆÚ .Ìá, .³ÔÛµÁ .ÈèÏáÌ .±Ï .ÔÜÏØ .³á .ÔÏèÁÆ .Ìá¢, .³ÚÏÜµÏ .³ÑÚÊÂèÂÞ -±Ï
+¸Û³Æ -ÊÆÚÆá -Ìá¢, -ÔèÍÔ×ÚÍÜ -×ÝÏÌá, -¦ÂèÏ, -ÌÛ×è×Ü -±Ï -¨Ê½Æ -³Ú -Ï庵ÚÏ -³ÏÆá -Ìᢠ-ÑÛÈè -Ãáê -×ËÜ .³Ü
+¥¢´å .Ìᢠ.ÔÛÑÚ×ÛÂÚ .³Ú -ÌÄ -¹ÚÍÚ -ØÝ¥ -ÃÚê -×¢×ÚÏ -Ìᢠ-³èÍÚ -Øå -ÏØÚ -Øâ, -¦×³Ü -³Û×Ü -³å -´éÊÏ -Æ
+ÃÜê .ʽáÏ .Ñ¿é .ÏØá .Øâ¢ê .ÂÜÂÏå¢ .³Ü .Ñ¿éÚ§ .³á .ÑÛ¬ .ÉÑÜ .ÊÄÜ .ºÚ .ÏØÜ .Øâê .³ØÜ¢ /¸æ×Ï /ÊÛ¹Ü /Øݧ
+Øâ; .Èæ-ÊÚÏØ .³Ú .ÕåÏ .Ì¸Ú .ØÝ¥ .Øâê .³ØÜ¢ .ÕÂÏ¢º .³Ú .¶åÏ .×µèÏÚÌ -¹Û¿éÚ -ØÝ¥ -Øâê -ÏÚºÚ -×á -Ñá³Ï
+Ï¢³ /³ /¦×Ü /ÅÝÆ /Ìᢠ/Ì×è /Ãáê /ÍØÚ¡ /³ /³Û /ɳÜÏå /³å 0Èâ×á 0ÌÛÑÂá 0Âå 0Ôá 0Ïå½ÛÍÚ¡ 0Æ 0Ñá³Ï
+¤ÉéÜÌ -´ÚÂá -ÍÚ -Ìij -ÈÜÂáê
+
+ ÕÂÏ¢º, /ÂÚÕ /µ¢ºÜÉéÚ /´áÑÆá /×á /ÊÝÄèÅÛ /ÂÜÔèÏ /ØåÂÜ .Øâ, .ÔÛ¸ÚÏ-Õ³èÂÛ .³Ú .ÔÛ³Ú× .ØåÂÚ .Øâ,
+Èá¸ÜÄÚ -Ì×Ñå¢ -³å -×ÝÑ»ÚÆá -³Ü -¥Ä -È¿éÂÜ -Øâê -Íá -ÄÑÜÑᢠ-ºéåÏå¢ -³á -×Úà -ÈáÕ -³Ü .ºÚÂÜ .ÃÜ¢ê .(¦×
+×ÌèÈèÏÄÚÍ .³á .Ñåµå¢ .×á .ÄÝÆÛÍÚ .¤Ê .ËÜ .´ÚÑÜ .ÆØÜ¢ .Øâê) .¦×ÑÛ¬ .¤µÏ .ÌÛϺéÚ .׺èºÚĤÑÜ .±Ï .ÌÜÏ
+ÏæÕÆ -¤ÑÜ -¤ÈÆÚ -¤ÅÛ³Ú¢Õ -×ÌÍ -ÊÝÄèÅÛ -ÂÜÔèÏ -³ÏÆá .Ìᢠ.ÔèÍÂÜ .³ÏÂá .Ãá, .Âå .³Û×Ü .ÔÛ¸ÚÏÕÜÑ .ÈÝÏÝÖ
+³å .³èÍÚ -¥ÈÂèÂÛ -Øå -׳ÂÜ -ÃÜ? -ÄåÆå¢ -³á -ÈÚ× -ÌæÏÞ×Ü -ºÚµÜÏᢠ-ÃÜ; -ºÜÔÛ³Ú -³Ü -³å§ -¸ÛÆèÂÚ -Æ -ÃÜ;
+¶Ï .Ìᢠ.Êâ¾á .¸´æÂÛÍÚ¡ .³ÏÂá .Ãáê .¥´ÛÏ .±Ï .³ÏÂá .ØÜ /³èÍÚ? /ÈèÏÚ£³ÚÑ /ÄåÆå¢ /ÌÛÂèÏ /ÆÚÕèÂÚ /³Ï³á
+ÊÛ×Ú .ÊÛ¹Ú³Ï .Êâ¾ .ºÚÂá, .ÌÝØÏá .׺ .ºÚÂá, .±Ï .Ñ¿éÚ§ .³á .ÄÚ¡Ô-Èᢸ -ØåÆá -ѵÂáê -ÉÛÏ -´ÊÏ -Æ
+ØåÂÜ -ÃÜ .³Û .³Ê .ÄåÈØÏ .Øݧ, .³Ê .ÂÜ×ÏÚ .ÈØÏ, .³Ê .ÕÚÌ! .¶Ï .³á .ËÜÂÏ .×á .ÊÚÏ-ÊÚÏ .ÊÝÑÚÔÚ
+¥ÂÚ /³Û /´ÚÆÚ /ÂâÍÚÏ .Øâê .ÍØÚ¡ .×á .ºÔÚÊ .ÌÛÑÂÚ .¸Ñå, .¥Âá .Øâ; .Ä×èÂÏ´èÔÚÆ .ÊÛ¹Ú°ê .ÍØÚ¡ .³
+³Û .ÊÚÔÏ¸Ü .ÔÛÔÕ .Øå³Ï .³ÌÏá .ØÜ .Ìᢠ.´ÚÆÚ .Ï´ /ºÚÂÚ /ÃÚ, /±Ï /ÄåÆå¢ /ÌÛÂèÏ /ÄåÆå¢ /³ÚÌ /×ÚÃ-
+×Úà .³ÏÂá .Ãáê .ÌÛÏºÚ .׺èºÚĤÑÜ .³á .¶Ï .Ìᢠ.³å§ .Ê¿éÚ -ÊÞÀéÚ -Æ -ÃÚ, -¦×ÑÛÍá -¨ÆèØÜ¢ -³á -ÄÜÔÚÆ´ÚÆá
+Ìᢠ-ÊÚºÛÍÚ¡ -ØåÂÜ -ÃÜ¢ê
+
+ ÌµÏ 0ÍØ 0ÊÚ 0Æ /ÃÜ /³Û /ÌÛÏºÚ /³á /¶Ï /³á /±Ï /Ñåµ /¨Æ³á /¦× /ÔèÍÔØÚÏ /×á /´ÝÕ /Øå¢ê
+¶ÏÔÚÑå¢ /³Ú /Âå /³ØÆÚ /ØÜ /³èÍÚ, /ÌÝØÑèÑáÔÚÑá, 0¶Ï 0³á 0Ææ³Ï¸Ú³Ï 0³ 0ÆÛÂèÍ 0ÄèÔáÖÈÞÏèÁ 0½ÛÈèÈÁÛÍÚ¡
+³ÛÍÚ 0³ÏÂá 0Ãá--Ê¿éÚ 0ÌÆØÞ× 0´áÑ 0Øâê 0¶Ï 0³å 0ÂÊÚØ 0³Ï 0ÄáÂÚ 0Øâê 0´ÝÄÚ /Æ /³Ïá, /³Û×Ü /³å
+¦×³Ü .¸Ú½ .È¿éá .¥ÄÌÜ .ÄÜÆ-ÄÝÆÛÍÚ, .³Û×Ü .³á .³ÚÌ .³Ú /ÆØÜ¢ /ÏØÂÚ, /Æ /¶Ï /³Ú /Æ /¶Ú½ /³Úê
+ÊÝÏÚ 0Ïåµ 0Øâê /ÍØÚ¡ /³ /³Û /ÌÛÏºÚ /³Ü /ÊáµÌ /×ÚØÊÚ /³å /¦××á /¦ÂÆÚ /ÄèÔáÖ /ÃÚ /³Û /¤Ô×Ï /´åº
+´åº³Ï .ÈÂÛ .³å .ÑÂÚ¿éÂÜ .ÃÜ¢ê .ÈÏ .¨ÆèØᢠ.¦×³Ú .¤Ô×Ï .ÌÝÕè³ÛÑ .×á /ÌÛÑÂÚ /ÃÚê /ÔØ /×åÂÜ /ØÜ
+ÏØÂÜ 0ÃÜ¢, 0ÂÊ 0³ 0¦ÅÏ 0ÊÚºéÜ 0ÊÛ¹ 0ºÚÂÜ 0ÃÜê 0±Ï, /ÏÚ /³å /ºÊ /×å /ºÚÂÜ /ÃÜ¢, /ÂÊ /³ØÜ¢
+ÌÛÏºÚºÜ -¶Ï -Ìᢠ-¥Âá -Ãáê -ØÚ¡, -Ææ³Ïå¢ -ÈÏ -ÔØ -¤ÈÆÚ -µÝ×è×Ú -¨ÂÚÏÂÜ -ÏØÂÜ -ÃÜ¢ --- -³èÍÚ .ÈÚÆ .ÌÚ¡µá
+Øâ¢? /³Ø /Äå, .¥³Ï .Ñá .ºÚÍ¡ê .´ÚÆá .³Ü .ÉÝÏ× .ÆØÜ¢ .Øâ? .Ñá .ºÚ³Ï .´ÚÆÚ .×ÛÏ .Ƚ³ .Äå, .´ÚÍ¡,
+¸ÚØá .³ÝÂèÂá .³å .´ÛÑÚÔá; /ÈÏ /ÏÞÊÏÞ /ÔØ /ËÜ /³Ý¹ /Æ /³Ø /׳ÂÜ /ÃÜ¢ê /¨Æ³å /¤ÈÆá /ÈÂÛ /×á /¨ÂÆÚ
+ÌÑÚÑ 1Æ 1ÃÚ, 1ºÛÂÆÚ 1ÌÜÏ 1×ÚØÊ 1×áê 0¨ÆèØå¢Æá 0¨Æ³Ú 0ÆÚÌ 0ÌÜÏ 0ÊÛµ¿éÞ 0Ï´ 0¹å¿éÚ 0ÃÚê 0ÕÚÍÄ
+ÌÛÏºÚºÜ -¤ÈÆÜ -×ÉéÚ§ -ÄáÆá -³á -ÑÛ¬ -×ÚÏÚ -¦ÑºÚÌ -ÌÜÏ -×ÚØÊ -ØÜ -³á -×ÛÏ -ÃåÈ -ÄáÂá -Ãáê
+.pa
+ ¬³ .ÄÛÆ .ÊáµÌ .×ÚØÊÚ .³á .×ÛÏ .Ìᢠ.ÄÏèÄ .ØåÆá -ѵÚê -¨ÆèØå¢Æá -Ñæ¢¿Ü -×á -³ØÚ --- -ºÚ³Ï -ÌÛϺÚ
+ ×ÚØÊ -³å -ÊÝÑÚ -ÑÚê -³Û×Ü -سÜÌ -³á .ÍØÚ¡ .×á .ÄÔÚ .ÑÚÔá¢ê .Äæ¿é, .ºÑèÄÜ .³Ïê .Ñæ¢¿Ü .µÍÜ, .Âå
+ ÌÛÏºÚºÜ .Æá -³ØÚ -¸Ñ -¤ËÜ -¥Âá -Øâ¢, -ÊáµÌ -×ÚØÊ -³Ú -ÌÛºÚºé -µÏÌ -ÃÚê -¦ÂÆÜ -ÂÚÊ -³ØÚ¡ -³Û
+ ¨Æ³á -×ÛÏ -Ìᢠ-ÄÏèÄ -Øå, -±Ï -ÈÂÛ .ÕÂÏ¢º .´áÑÂÚ .ÏØáê .¸áØÏÚ .×ÝÏè´ .Øå .µÍÚê .Ñæ¢¿Ü .×á .³ØÚ
+ -- .ºÚ³Ï .³Ø, -¤ËÜ -¸ÑÛÍá -ÆØÜ¢ -Âå -ÔØ -¥È -ØÜ -سÜÌ -³á -ÍØÚ¡ -¸ÑÜ -ºÚÍ¡µÜê -ÌÛϺںÜ
+ Ê¿éÜ /ÄÛѸ×èÈ /ÊÚºéÜ /´áÑ /ÏØá /Ãá; 0Äå 0ØÜ 0³ÛÕèÂå¢ 0Ìᢠ0ÌÜÏ×ÚØÊ 0³å 0ÌÚ 0Øݧ 0ºÚÂÜ 0ÃÜê
+ »Ý¡»ÑÚ³Ï -ÊåÑá --- -³èÍÚ -­×Ú -ÄÌ -ÑÊå¢ -ÈÏ -Øâ? -ºéÏÚ -×Ú -×ÊèÏ -ÆØÜ¢ -ØåÂÚ?
+
+ÌÜÏ -- ¤Ïá Âå ºÚ³Ï ×ÝÆ ØÜ ¥¦Íá Æê ±ÏÂᢠÆںݳ ÌÛºéÚº ØåÂÜ ØÜ Øâ¢ê
+
+ÌÛÏºÚ -- ºÜ ØÚ¡, ¸ÑÚ ³èÍå¢ Æ ºÚ©¡? Äå ³ÛÕèÂå¢ ¥È³Ü ÌÚ ØåÂÜ Øâê
+
+ÌÜÏ -- ºÆÚÊ, ¦× ËÏå×á Æ ÏØÛÍáµÚê ÔØ ¸ÚÑ ×å¸Ü Øâ ³Û ¥È³á ÌÝØÏá ÅÏá ÏØá¢,
+±Ï ÌÚ Øå ºÚÍê ÈÏ ºÚ¦Íá, ×ÝÆ ¥¦Íáê ³èÍå¢ ´éÚÌ´èÔÚØ ¨Æ³Ú ÄÛÑ ÄÝ´Ú¦ÍáµÚ?
+
+ÌÛÏºÚ -- ¦×Ü ÊÚ ÈÏ ÌÚ ØÜ ³Ï³á ºÚ©¡µÚê
+
+ÌÜÏ -- Ì⢠´áÑÞ¡µÚ ØÜ ÆØÜ¢ê ¥È ºÚ³Ï ×ÝÆ ¥¦Íáê
+
+ÌÛÏºÚ -- ¤Ïá ÍÚÏ, ,ºÚÆÚ +ØåµÚ +سÜÌ +³á +ÍØÚ¡ê +×ÛÏ-ÄÏèÄ +´Ú³ +ÆØÜ¢ +Øâ; +ÌÝ»á
+ÈÏáÕÚÆ ³ÏÆá ³Ú ÊØÚÆÚ Øâê
+
+ÌÜÏ -- ³Ý¹ ËÜ Øå, ¨Æ³Ü ´ÚÂÛÏ Âå ³ÏÆÜ ØÜ È¿éáµÜê
+
+ÌÛÏºÚ -- ¤¸è¹Ú, ¬³ ¸ÚÑ ±Ï ¸Ñ ÑÞ¡ê
+
+ÌÜÏ +-- +Øϵۺé +ÆØÜ¢, +ºÊ +³ +¥È +×ÝÆ +Æ +¥Ôᢵá, +Ì⢠+ÌÝØÏá +Ìᢠ+ØÚà ,ØÜ Æ
+ѵک¡µÚê
+
+ ÌÛÏºÚ .×ÚØÊ .̺ÊÞÏ .Øå³Ï .¤¢ÄÏ .µÍá, .Âå .ÊáµÌ .×ÚØÊÚ .Æá -ÂèÍæÏÛÍÚ¡ -ÊÄÑ³Ï -Ñá³ÛƳÏÚØÂá
+Øݬ, .³ØÚ .-- .ÂÝÌèØᢠ.ÆÛµå¿éÜ .ÕÂÏ¢º .¦ÂÆÜ .ÈèÍÚÏÜ .Øâ! .¸ÚØá .³å§ .ÌÏ .ØÜ /ºÚÍ, /ÈÏ /¨¾Æá /³Ú /ÆÚÌ
+ÆØÜ¢ -ÑáÂá! -Ææº -³å§ -ÂÝÌ -ºâ×Ú -¥ÄÌÜ -Øå!
+
+ÌÛÏºÚ --- -³èÍÚ -³ØÞ¡, -ÌÜÏ -×ÚØÊ -ÌÚÆÂá -ØÜ -Æ -Ãáê -Ê¿éÜ -ÌÝÕè³ÛÑ -×á -ÈÜ¹Ú -¹Ý¿éÚ³Ï -¥ÍÚ -ØÞ¡ê
+
+ÊáµÌ .-- -³èÍÚ -ºâ×á -ÔØ -´ÝÄ -ÆÛ´½è½Þ -Øâ¢, -Ôâ×á -ØÜ -×ʳå -×Ì»Âá -Øâ¢? -¨Æ³á -ËÜ -Âå -ÊÚÑ-ʸè¸á -Øâ¢;
+ÍÚ -×Ê³Ú -×ÉéÚÍÚ -³Ï -¿ÚÑÚ?
+
+ÌÛÏºÚ .-- .Ê¿éÚ .ÑÂÜ .¥ÄÌÜ .Øâê .ºÊ .¥ .ºÚÂÚ .Øâ, .ÂÊ .̺ÊÞÏ .Øå³Ï .ÌÝ»á .ËÜ .´áÑÆÚ -ØÜ -È¿éÂÚ
+Øâê
+
+ÊáµÌ -- ÄÝÂè³ÚÏ ³èÍå¢ ÆØÜ¢ ÄáÂá?
+
+ÌÛÏºÚ 0-- 0ÊÏÚÊÏ 0³á 0¥ÄÌÜ 0Øâ¢, 0¨ÌèÏ /Ìá¢, /ÄÏèºá /Ìᢠ/ÌÝ»×á /Äå /¤¢µÝÑ /©¡¸áê /ÌÝÑÚØÛºéÚ /³ÏÆÚ /ØÜ
+È¿éÂÚ -Øâ ê
+
+ÊáµÌ /-- /Âå /Ì⢠/ØÜ /ÄÝÂè³ÚÏ /ÄáÂÜ /ØÞ¡ê /ÆÚÏÚº /Øå /ºÚÍ¡µá, /Øå .ºÚÍ¡ê .³æÆ .³Û×Ü .³Ü .Ïå½ÛÍÚ¡ .¸ÑÚ
+ÄáÂÚ -Øâê .ÏÚÆÜ .Ï޾ᢵÜ, .¤ÈÆÚ .×ÝØÚµ .ÑᢵÜê .--ØÛÏÛÍÚ, .ºÚ .ÊÚØÏ .×á .ÕÂÏ¢º .¨¾Ú .ÑÚê .ÌÜÏ×ÚØÊ
+×á -³ØÆÚ, -ÌÛÍÚ¡ -¤Ê -Æ -´áÑᢵá, -¥È -ÂÕÏÜÉé -Ñá -ºÚ¦Íáê
+
+ÌÛÏºÚ 1-- 1ØÚ¡-ØÚ¡ 1³ØÜ¢ 1­×Ú 1µéºÊ 1ËÜ 1Æ 1³ÏÆÚ! 1ºéÑÜÑ 1³ÏÚÆÚ 1¸ÚØÂÜ 1Øå 1³èÍÚ!--¾ØÏ
+ØÛÏÛÍÚ, -³ØÚ¡ -ºÚÂÜ -Øâ?
+
+ÊáµÌ .-- .ºÚÆá -³èÍå¢ -ÆØÜ¢ -ÄáÂá? -ÌáÏá -ØÜ -´ÞÆ -ÈÛÍá, -ºå -¨×á -Ïå³áê -¤¸è¹Ú, -¨×á -Ïå³Ú, -ÌÝ»á -Ïå³å -Âå
+ºÚÆÞ¡?
+
+ ÍØ .³Ø³Ï .ÊáµÌ .×ÚØÊÚ -»ÑèÑÚ§ -Øݧ -ÄÜÔÚÆ´ÚÆá -³Ü -ÂÏÉ -¸ÑÜ¢? -ÌÛÏºÚ -Êá¸ÚÏá -³Ú
+ Ï¢µ -¨¿é -µÍÚê -ÊÜÔÜ -³Ü -ÌÛÆèÆÂᢠ-³ÏÆá -ѵá --- .´ÝÄÚ .³á .ÑÛ¬, .ÂÝÌèØᢠ.غéÏ .ØÝ×áÆ .³Ü .³×Ì
+ Øâê /ÌáÏÜ /ØÜ /ÌâÍ /Äá´á, /ºå /¨ÅÏ /ºÚÍê .Ñá³ÛÆ .ÊáµÌ .Æá .¬³ .Æ .ÌÚÆÜ? .ÄÜÔÚÆ´ÚÆá .³á .ÄèÔÚÏ
+ ³ -µÍÜ; -ÈÏ -¬³Ú¬³ -ÈÏ-ÈÝÏÝÖ -³á -×ÚÌÆá -ºÚÂá .Øݬ .ÈÚ¡Ô .Ê¡Å .×á .µÍáê .ËÜÂÏ .»Ú¡³Ú .×¢Íåµ
+ ×á 0³ÌÏÚ 0´ÚÑÜ 0ÃÚê 0ÌÜÏ×ÚØÊ 0Æá 0Äå-¬³ 0ÌÝØÏá 0¦ÅÏ-¨ÅÏ 0³Ï 0ÄÛÍá 0Ãá; /±Ï /¤ÈÆÜ
+ ×ÉéÚ§ /ºÂÚÆá /³á /ÑÛ¬ /ÊÚØÏ /½ØÑ /ÏØá /Ãáê /ÉÛÏ /³èÍÚ /ÃÚ 0ÊáµÌ 0Æá 0¤ÆèÄÏ 0ÈØÝ¡¸³Ï 0ÊÚºéÜ
+ ¨Ñ½ 0ÄÜ, 0ÌÝØÏá 0³Ý¹ 0´è /³á /Æܸá /Éᢳ /ÄÛÍá, /³Ý¹ /ÊÚØÏ; /±Ï /³ÛÔÚ¿éá /¤ÆèÄÏ /×á /ÊÆèÄ
+ ³Ï³á /³ÝÁ¿Ü /ÑµÚ /ÄÜê /ÌÜÏ×ÚØÊ /ÄÏÔÚºá /ÈÏ /Âå /Ãá /ØÜ, 0ÌÝØÏá 0ÊÚØÏ 0Éᢳá 0ºÚÂá 0Äá´á,
+ ¸Þ¿éÛÍå¢ /³Ü /»Æ³ /ËÜ /³ÚÆ /Ìᢠ.È¿éÜê .ÉÛÏ .ÄÏÔÚºéÚ .ÊÆèÄ .ØÝ¥ .Âå .×Ì» .µÍá, .ÊáµÌ .×ÚØÊÚ
+ ÊÛµ¿é -µÍÜ¢ê -¸Ýȳá -×á -¶Ï -³Ü -ÏÚØ -ÑÜê
diff --git a/usr/src/lib/iconv_modules/hi_IN/testData/README b/usr/src/lib/iconv_modules/hi_IN/testData/README
new file mode 100644
index 0000000000..52a405b6c5
--- /dev/null
+++ b/usr/src/lib/iconv_modules/hi_IN/testData/README
@@ -0,0 +1,26 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ *
+ */
+
+ISCII Test Data For Various Cases