<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<lgr xmlns="urn:ietf:params:xml:ns:lgr-1.0">
    <meta>
        <version comment="IDN Reference table for Arabic language">4.1</version>
        <date>2021-11-24</date>
        <language>ar</language>
        <unicode-version>6.3.0</unicode-version>
        <description type="text/plain">
            <![CDATA[
	
	#Table format and IDNA 2008
	Language table is in RFC 7940 format
	Language is IDNA 2008 valid
	
	#Base Context Rule
	Base context rule disallows use of hyphen (U+002D) at the beginning, end or
	consecutively at the 3rd and 4th position in a label

	#Contact Info
	Contact Name: IDN Support
	Contact Email: registry-help@registry.godaddy
	]]>
        </description>
    </meta>
    <data>
        <char cp="002D" not-when="hyphen-rules"/>
        <char cp="0030" not-when="no-digit-at-start">
            <var cp="0660" type="blocked"/>
        </char>
        <char cp="0031" not-when="no-digit-at-start">
            <var cp="0661" type="blocked"/>
        </char>
        <char cp="0032" not-when="no-digit-at-start">
            <var cp="0662" type="blocked"/>
        </char>
        <char cp="0033" not-when="no-digit-at-start">
            <var cp="0663" type="blocked"/>
        </char>
        <char cp="0034" not-when="no-digit-at-start">
            <var cp="0664" type="blocked"/>
        </char>
        <char cp="0035" not-when="no-digit-at-start">
            <var cp="0665" type="blocked"/>
        </char>
        <char cp="0036" not-when="no-digit-at-start">
            <var cp="0666" type="blocked"/>
        </char>
        <char cp="0037" not-when="no-digit-at-start">
            <var cp="0667" type="blocked"/>
        </char>
        <char cp="0038" not-when="no-digit-at-start">
            <var cp="0668" type="blocked"/>
        </char>
        <char cp="0039" not-when="no-digit-at-start">
            <var cp="0669" type="blocked"/>
        </char>
        <char cp="0621"/>
        <char cp="0622" tag="right-joining">
            <var cp="0623" type="blocked"/>
            <var cp="0625" type="blocked"/>
            <var cp="0627" type="blocked"/>
        </char>
        <char cp="0623" tag="right-joining">
            <var cp="0622" type="blocked"/>
            <var cp="0625" type="blocked"/>
            <var cp="0627" type="blocked"/>
        </char>
        <char cp="0624" tag="right-joining">
            <var cp="0648" type="blocked"/>
        </char>
        <char cp="0625" tag="right-joining">
            <var cp="0622" type="blocked"/>
            <var cp="0623" type="blocked"/>
            <var cp="0627" type="blocked"/>
        </char>
        <char cp="0626" tag="dual-joining">
            <var cp="0649" type="blocked"/>
            <var cp="064A" type="blocked"/>
        </char>
        <char cp="0627" tag="right-joining">
            <var cp="0622" type="blocked"/>
            <var cp="0623" type="blocked"/>
            <var cp="0625" type="blocked"/>
        </char>
        <char cp="0628" tag="dual-joining"/>
        <char cp="0629" tag="right-joining">
            <var cp="0647" type="blocked"/>
        </char>
        <char cp="062A" tag="dual-joining"/>
        <char cp="062B" tag="dual-joining"/>
        <char cp="062C" tag="dual-joining"/>
        <char cp="062D" tag="dual-joining"/>
        <char cp="062E" tag="dual-joining"/>
        <char cp="062F" tag="right-joining"/>
        <char cp="0630" tag="right-joining"/>
        <char cp="0631" tag="right-joining"/>
        <char cp="0632" tag="right-joining"/>
        <char cp="0633" tag="dual-joining"/>
        <char cp="0634" tag="dual-joining"/>
        <char cp="0635" tag="dual-joining"/>
        <char cp="0636" tag="dual-joining"/>
        <char cp="0637" tag="dual-joining"/>
        <char cp="0638" tag="dual-joining"/>
        <char cp="0639" tag="dual-joining"/>
        <char cp="063A" tag="dual-joining"/>
        <char cp="0641" tag="dual-joining"/>
        <char cp="0642" tag="dual-joining"/>
        <char cp="0643" tag="dual-joining"/>
        <char cp="0644" tag="dual-joining"/>
        <char cp="0645" tag="dual-joining"/>
        <char cp="0646" tag="dual-joining"/>
        <char cp="0647" tag="dual-joining">
            <var cp="0629" type="blocked"/>
        </char>
        <char cp="0648" tag="right-joining">
            <var cp="0624" type="blocked"/>
        </char>
        <char cp="0649" tag="dual-joining" not-when="before-right-dual-joining">
            <var cp="0626" type="blocked"/>
            <var cp="064A" type="blocked"/>
        </char>
        <char cp="064A" tag="dual-joining">
            <var cp="0626" type="blocked"/>
            <var cp="0649" type="blocked"/>
        </char>
        <char cp="0660" not-when="no-digit-at-start">
            <var cp="0030" type="blocked"/>
        </char>
        <char cp="0661" not-when="no-digit-at-start">
            <var cp="0031" type="blocked"/>
        </char>
        <char cp="0662" not-when="no-digit-at-start">
            <var cp="0032" type="blocked"/>
        </char>
        <char cp="0663" not-when="no-digit-at-start">
            <var cp="0033" type="blocked"/>
        </char>
        <char cp="0664" not-when="no-digit-at-start">
            <var cp="0034" type="blocked"/>
        </char>
        <char cp="0665" not-when="no-digit-at-start">
            <var cp="0035" type="blocked"/>
        </char>
        <char cp="0666" not-when="no-digit-at-start">
            <var cp="0036" type="blocked"/>
        </char>
        <char cp="0667" not-when="no-digit-at-start">
            <var cp="0037" type="blocked"/>
        </char>
        <char cp="0668" not-when="no-digit-at-start">
            <var cp="0038" type="blocked"/>
        </char>
        <char cp="0669" not-when="no-digit-at-start">
            <var cp="0039" type="blocked"/>
        </char>
    </data>
    <rules>
        <class name="arabic-digits">0030-0039</class>
        <class name="arabic-indic-digits">0660-0669</class>
        <class name="right-joining" from-tag="right-joining"/>
        <class name="dual-joining" from-tag="dual-joining"/>
        <union name="right-dual-joining">
            <class by-ref="right-joining" />
            <class by-ref="dual-joining" />
        </union>
        <rule name="before-right-dual-joining" comment="U+0649 cannot come before a right-joining or dual-joining character">
            <anchor />
            <look-ahead>
                <class by-ref="right-dual-joining" />
            </look-ahead>
        </rule>
        <rule name="hyphen-rules" comment="RFC5891 restrictions on placement of U+002D">
            <choice>
                <rule comment="no leading hyphen">
                    <look-behind>
                        <start/>
                    </look-behind>
                    <anchor/>
                </rule>
                <rule comment="no trailing hyphen">
                    <anchor/>
                    <look-ahead>
                        <end/>
                    </look-ahead>
                </rule>
                <rule comment="no consecutive hyphens in third and fourth">
                    <look-behind>
                        <start/>
                        <any/>
                        <any/>
                        <char cp="002D" comment="hyphen-minus"/>
                    </look-behind>
                    <anchor/>
                </rule>
            </choice>
        </rule>
        <rule name="no-digit-at-start" comment="digits at the beginning is disallowed">
            <start/>
            <choice count="1+">
                <class by-ref="arabic-digits"/>
                <class by-ref="arabic-indic-digits"/>
            </choice>
        </rule>
        <rule name="no-digit-mixing">
            <choice>
                <rule>
                    <class by-ref="arabic-digits"/>
                    <any count="0+"/>
                    <class by-ref="arabic-indic-digits"/>
                </rule>
                <rule>
                    <class by-ref="arabic-indic-digits"/>
                    <any count="0+"/>
                    <class by-ref="arabic-digits"/>
                </rule>
            </choice>
        </rule>
        <action disp="invalid" match="no-digit-at-start"/>
        <action disp="invalid" match="no-digit-mixing"/>
		<action disp="blocked" any-variant="blocked"/>
        <action disp="allocatable" all-variants="blocked"/>
        <action disp="valid" comment="catch all"/>
    </rules>
</lgr>