<?xml version = '1.0' encoding = 'ISO-8859-1' ?>
<asm version="1.0" name="0">
	<cp>
		<constant value="Families2Persons"/>
		<constant value="links"/>
		<constant value="NTransientLinkSet;"/>
		<constant value="col"/>
		<constant value="J"/>
		<constant value="main"/>
		<constant value="A"/>
		<constant value="OclParametrizedType"/>
		<constant value="#native"/>
		<constant value="Collection"/>
		<constant value="J.setName(S):V"/>
		<constant value="OclSimpleType"/>
		<constant value="OclAny"/>
		<constant value="J.setElementType(J):V"/>
		<constant value="Member"/>
		<constant value="Families"/>
		<constant value="isFemale"/>
		<constant value="__initisFemale"/>
		<constant value="J.registerHelperAttribute(SS):V"/>
		<constant value="familyName"/>
		<constant value="__initfamilyName"/>
		<constant value="TransientLinkSet"/>
		<constant value="A.__matcher__():V"/>
		<constant value="A.__exec__():V"/>
		<constant value="7:16-7:31"/>
		<constant value="14:16-14:31"/>
		<constant value="self"/>
		<constant value="__resolve__"/>
		<constant value="1"/>
		<constant value="J.oclIsKindOf(J):B"/>
		<constant value="18"/>
		<constant value="NTransientLinkSet;.getLinkBySourceElement(S):QNTransientLink;"/>
		<constant value="J.oclIsUndefined():B"/>
		<constant value="15"/>
		<constant value="NTransientLink;.getTargetFromSource(J):J"/>
		<constant value="17"/>
		<constant value="30"/>
		<constant value="Sequence"/>
		<constant value="2"/>
		<constant value="A.__resolve__(J):J"/>
		<constant value="QJ.including(J):QJ"/>
		<constant value="QJ.flatten():QJ"/>
		<constant value="e"/>
		<constant value="value"/>
		<constant value="resolveTemp"/>
		<constant value="S"/>
		<constant value="NTransientLink;.getNamedTargetFromSource(JS):J"/>
		<constant value="name"/>
		<constant value="__matcher__"/>
		<constant value="A.__matchMember2Male():V"/>
		<constant value="A.__matchMember2Female():V"/>
		<constant value="__exec__"/>
		<constant value="Member2Male"/>
		<constant value="NTransientLinkSet;.getLinksByRule(S):QNTransientLink;"/>
		<constant value="A.__applyMember2Male(NTransientLink;):V"/>
		<constant value="Member2Female"/>
		<constant value="A.__applyMember2Female(NTransientLink;):V"/>
		<constant value="MFamilies!Member;"/>
		<constant value="0"/>
		<constant value="familyMother"/>
		<constant value="J.oclIsUndefined():J"/>
		<constant value="J.not():J"/>
		<constant value="10"/>
		<constant value="familyDaughter"/>
		<constant value="11"/>
		<constant value="8:9-8:13"/>
		<constant value="8:9-8:26"/>
		<constant value="8:9-8:43"/>
		<constant value="8:5-8:43"/>
		<constant value="11:7-11:11"/>
		<constant value="11:7-11:26"/>
		<constant value="11:7-11:43"/>
		<constant value="11:3-11:43"/>
		<constant value="9:3-9:7"/>
		<constant value="8:2-12:7"/>
		<constant value="Set"/>
		<constant value="familyFather"/>
		<constant value="CJ.including(J):CJ"/>
		<constant value="familySon"/>
		<constant value="B.not():B"/>
		<constant value="27"/>
		<constant value="CJ.asSequence():QJ"/>
		<constant value="QJ.first():J"/>
		<constant value="lastName"/>
		<constant value="15:6-15:10"/>
		<constant value="15:6-15:23"/>
		<constant value="15:25-15:29"/>
		<constant value="15:25-15:42"/>
		<constant value="15:44-15:48"/>
		<constant value="15:44-15:58"/>
		<constant value="15:60-15:64"/>
		<constant value="15:60-15:79"/>
		<constant value="15:2-15:80"/>
		<constant value="16:15-16:16"/>
		<constant value="16:15-16:33"/>
		<constant value="16:11-16:33"/>
		<constant value="15:2-16:34"/>
		<constant value="15:2-16:43"/>
		<constant value="f"/>
		<constant value="__matchMember2Male"/>
		<constant value="IN"/>
		<constant value="MMOF!Classifier;.allInstancesFrom(S):QJ"/>
		<constant value="32"/>
		<constant value="TransientLink"/>
		<constant value="NTransientLink;.setRule(MATL!Rule;):V"/>
		<constant value="s"/>
		<constant value="NTransientLink;.addSourceElement(SJ):V"/>
		<constant value="t"/>
		<constant value="Male"/>
		<constant value="Persons"/>
		<constant value="NTransientLink;.addTargetElement(SJ):V"/>
		<constant value="NTransientLinkSet;.addLink2(NTransientLink;B):V"/>
		<constant value="20:27-20:28"/>
		<constant value="20:27-20:37"/>
		<constant value="20:23-20:37"/>
		<constant value="22:3-24:4"/>
		<constant value="__applyMember2Male"/>
		<constant value="NTransientLink;"/>
		<constant value="NTransientLink;.getSourceElement(S):J"/>
		<constant value="NTransientLink;.getTargetElement(S):J"/>
		<constant value="3"/>
		<constant value="firstName"/>
		<constant value=" "/>
		<constant value="J.+(J):J"/>
		<constant value="fullName"/>
		<constant value="23:16-23:17"/>
		<constant value="23:16-23:27"/>
		<constant value="23:30-23:33"/>
		<constant value="23:16-23:33"/>
		<constant value="23:36-23:37"/>
		<constant value="23:36-23:48"/>
		<constant value="23:16-23:48"/>
		<constant value="23:4-23:48"/>
		<constant value="link"/>
		<constant value="__matchMember2Female"/>
		<constant value="31"/>
		<constant value="Female"/>
		<constant value="29:23-29:24"/>
		<constant value="29:23-29:33"/>
		<constant value="31:3-33:4"/>
		<constant value="__applyMember2Female"/>
		<constant value="32:16-32:17"/>
		<constant value="32:16-32:27"/>
		<constant value="32:30-32:33"/>
		<constant value="32:16-32:33"/>
		<constant value="32:36-32:37"/>
		<constant value="32:36-32:48"/>
		<constant value="32:16-32:48"/>
		<constant value="32:4-32:48"/>
	</cp>
	<field name="1" type="2"/>
	<field name="3" type="4"/>
	<operation name="5">
		<context type="6"/>
		<parameters>
		</parameters>
		<code>
			<getasm/>
			<push arg="7"/>
			<push arg="8"/>
			<new/>
			<dup/>
			<push arg="9"/>
			<pcall arg="10"/>
			<dup/>
			<push arg="11"/>
			<push arg="8"/>
			<new/>
			<dup/>
			<push arg="12"/>
			<pcall arg="10"/>
			<pcall arg="13"/>
			<set arg="3"/>
			<push arg="14"/>
			<push arg="15"/>
			<findme/>
			<push arg="16"/>
			<push arg="17"/>
			<pcall arg="18"/>
			<push arg="14"/>
			<push arg="15"/>
			<findme/>
			<push arg="19"/>
			<push arg="20"/>
			<pcall arg="18"/>
			<getasm/>
			<push arg="21"/>
			<push arg="8"/>
			<new/>
			<set arg="1"/>
			<getasm/>
			<pcall arg="22"/>
			<getasm/>
			<pcall arg="23"/>
		</code>
		<linenumbertable>
			<lne id="24" begin="16" end="18"/>
			<lne id="25" begin="22" end="24"/>
		</linenumbertable>
		<localvariabletable>
			<lve slot="0" name="26" begin="0" end="36"/>
		</localvariabletable>
	</operation>
	<operation name="27">
		<context type="6"/>
		<parameters>
			<parameter name="28" type="4"/>
		</parameters>
		<code>
			<load arg="28"/>
			<getasm/>
			<get arg="3"/>
			<call arg="29"/>
			<if arg="30"/>
			<getasm/>
			<get arg="1"/>
			<load arg="28"/>
			<call arg="31"/>
			<dup/>
			<call arg="32"/>
			<if arg="33"/>
			<load arg="28"/>
			<call arg="34"/>
			<goto arg="35"/>
			<pop/>
			<load arg="28"/>
			<goto arg="36"/>
			<push arg="37"/>
			<push arg="8"/>
			<new/>
			<load arg="28"/>
			<iterate/>
			<store arg="38"/>
			<getasm/>
			<load arg="38"/>
			<call arg="39"/>
			<call arg="40"/>
			<enditerate/>
			<call arg="41"/>
		</code>
		<linenumbertable>
		</linenumbertable>
		<localvariabletable>
			<lve slot="2" name="42" begin="23" end="27"/>
			<lve slot="0" name="26" begin="0" end="29"/>
			<lve slot="1" name="43" begin="0" end="29"/>
		</localvariabletable>
	</operation>
	<operation name="44">
		<context type="6"/>
		<parameters>
			<parameter name="28" type="4"/>
			<parameter name="38" type="45"/>
		</parameters>
		<code>
			<getasm/>
			<get arg="1"/>
			<load arg="28"/>
			<call arg="31"/>
			<load arg="28"/>
			<load arg="38"/>
			<call arg="46"/>
		</code>
		<linenumbertable>
		</linenumbertable>
		<localvariabletable>
			<lve slot="0" name="26" begin="0" end="6"/>
			<lve slot="1" name="43" begin="0" end="6"/>
			<lve slot="2" name="47" begin="0" end="6"/>
		</localvariabletable>
	</operation>
	<operation name="48">
		<context type="6"/>
		<parameters>
		</parameters>
		<code>
			<getasm/>
			<pcall arg="49"/>
			<getasm/>
			<pcall arg="50"/>
		</code>
		<linenumbertable>
		</linenumbertable>
		<localvariabletable>
			<lve slot="0" name="26" begin="0" end="3"/>
		</localvariabletable>
	</operation>
	<operation name="51">
		<context type="6"/>
		<parameters>
		</parameters>
		<code>
			<getasm/>
			<get arg="1"/>
			<push arg="52"/>
			<call arg="53"/>
			<iterate/>
			<store arg="28"/>
			<getasm/>
			<load arg="28"/>
			<pcall arg="54"/>
			<enditerate/>
			<getasm/>
			<get arg="1"/>
			<push arg="55"/>
			<call arg="53"/>
			<iterate/>
			<store arg="28"/>
			<getasm/>
			<load arg="28"/>
			<pcall arg="56"/>
			<enditerate/>
		</code>
		<linenumbertable>
		</linenumbertable>
		<localvariabletable>
			<lve slot="1" name="42" begin="5" end="8"/>
			<lve slot="1" name="42" begin="15" end="18"/>
			<lve slot="0" name="26" begin="0" end="19"/>
		</localvariabletable>
	</operation>
	<operation name="17">
		<context type="57"/>
		<parameters>
		</parameters>
		<code>
			<load arg="58"/>
			<get arg="59"/>
			<call arg="60"/>
			<call arg="61"/>
			<if arg="62"/>
			<load arg="58"/>
			<get arg="63"/>
			<call arg="60"/>
			<call arg="61"/>
			<goto arg="64"/>
			<pusht/>
		</code>
		<linenumbertable>
			<lne id="65" begin="0" end="0"/>
			<lne id="66" begin="0" end="1"/>
			<lne id="67" begin="0" end="2"/>
			<lne id="68" begin="0" end="3"/>
			<lne id="69" begin="5" end="5"/>
			<lne id="70" begin="5" end="6"/>
			<lne id="71" begin="5" end="7"/>
			<lne id="72" begin="5" end="8"/>
			<lne id="73" begin="10" end="10"/>
			<lne id="74" begin="0" end="10"/>
		</linenumbertable>
		<localvariabletable>
			<lve slot="0" name="26" begin="0" end="10"/>
		</localvariabletable>
	</operation>
	<operation name="20">
		<context type="57"/>
		<parameters>
		</parameters>
		<code>
			<push arg="37"/>
			<push arg="8"/>
			<new/>
			<push arg="75"/>
			<push arg="8"/>
			<new/>
			<load arg="58"/>
			<get arg="76"/>
			<call arg="77"/>
			<load arg="58"/>
			<get arg="59"/>
			<call arg="77"/>
			<load arg="58"/>
			<get arg="78"/>
			<call arg="77"/>
			<load arg="58"/>
			<get arg="63"/>
			<call arg="77"/>
			<iterate/>
			<store arg="28"/>
			<load arg="28"/>
			<call arg="60"/>
			<call arg="61"/>
			<call arg="79"/>
			<if arg="80"/>
			<load arg="28"/>
			<call arg="77"/>
			<enditerate/>
			<call arg="81"/>
			<call arg="82"/>
			<get arg="83"/>
		</code>
		<linenumbertable>
			<lne id="84" begin="6" end="6"/>
			<lne id="85" begin="6" end="7"/>
			<lne id="86" begin="9" end="9"/>
			<lne id="87" begin="9" end="10"/>
			<lne id="88" begin="12" end="12"/>
			<lne id="89" begin="12" end="13"/>
			<lne id="90" begin="15" end="15"/>
			<lne id="91" begin="15" end="16"/>
			<lne id="92" begin="3" end="17"/>
			<lne id="93" begin="20" end="20"/>
			<lne id="94" begin="20" end="21"/>
			<lne id="95" begin="20" end="22"/>
			<lne id="96" begin="0" end="29"/>
			<lne id="97" begin="0" end="30"/>
		</linenumbertable>
		<localvariabletable>
			<lve slot="1" name="98" begin="19" end="26"/>
			<lve slot="0" name="26" begin="0" end="30"/>
		</localvariabletable>
	</operation>
	<operation name="99">
		<context type="6"/>
		<parameters>
		</parameters>
		<code>
			<push arg="14"/>
			<push arg="15"/>
			<findme/>
			<push arg="100"/>
			<call arg="101"/>
			<iterate/>
			<store arg="28"/>
			<load arg="28"/>
			<get arg="16"/>
			<call arg="61"/>
			<call arg="79"/>
			<if arg="102"/>
			<getasm/>
			<get arg="1"/>
			<push arg="103"/>
			<push arg="8"/>
			<new/>
			<dup/>
			<push arg="52"/>
			<pcall arg="104"/>
			<dup/>
			<push arg="105"/>
			<load arg="28"/>
			<pcall arg="106"/>
			<dup/>
			<push arg="107"/>
			<push arg="108"/>
			<push arg="109"/>
			<new/>
			<pcall arg="110"/>
			<pusht/>
			<pcall arg="111"/>
			<enditerate/>
		</code>
		<linenumbertable>
			<lne id="112" begin="7" end="7"/>
			<lne id="113" begin="7" end="8"/>
			<lne id="114" begin="7" end="9"/>
			<lne id="115" begin="24" end="29"/>
		</linenumbertable>
		<localvariabletable>
			<lve slot="1" name="105" begin="6" end="31"/>
			<lve slot="0" name="26" begin="0" end="32"/>
		</localvariabletable>
	</operation>
	<operation name="116">
		<context type="6"/>
		<parameters>
			<parameter name="28" type="117"/>
		</parameters>
		<code>
			<load arg="28"/>
			<push arg="105"/>
			<call arg="118"/>
			<store arg="38"/>
			<load arg="28"/>
			<push arg="107"/>
			<call arg="119"/>
			<store arg="120"/>
			<load arg="120"/>
			<dup/>
			<getasm/>
			<load arg="38"/>
			<get arg="121"/>
			<push arg="122"/>
			<call arg="123"/>
			<load arg="38"/>
			<get arg="19"/>
			<call arg="123"/>
			<call arg="39"/>
			<set arg="124"/>
			<pop/>
		</code>
		<linenumbertable>
			<lne id="125" begin="11" end="11"/>
			<lne id="126" begin="11" end="12"/>
			<lne id="127" begin="13" end="13"/>
			<lne id="128" begin="11" end="14"/>
			<lne id="129" begin="15" end="15"/>
			<lne id="130" begin="15" end="16"/>
			<lne id="131" begin="11" end="17"/>
			<lne id="132" begin="9" end="19"/>
			<lne id="115" begin="8" end="20"/>
		</linenumbertable>
		<localvariabletable>
			<lve slot="3" name="107" begin="7" end="20"/>
			<lve slot="2" name="105" begin="3" end="20"/>
			<lve slot="0" name="26" begin="0" end="20"/>
			<lve slot="1" name="133" begin="0" end="20"/>
		</localvariabletable>
	</operation>
	<operation name="134">
		<context type="6"/>
		<parameters>
		</parameters>
		<code>
			<push arg="14"/>
			<push arg="15"/>
			<findme/>
			<push arg="100"/>
			<call arg="101"/>
			<iterate/>
			<store arg="28"/>
			<load arg="28"/>
			<get arg="16"/>
			<call arg="79"/>
			<if arg="135"/>
			<getasm/>
			<get arg="1"/>
			<push arg="103"/>
			<push arg="8"/>
			<new/>
			<dup/>
			<push arg="55"/>
			<pcall arg="104"/>
			<dup/>
			<push arg="105"/>
			<load arg="28"/>
			<pcall arg="106"/>
			<dup/>
			<push arg="107"/>
			<push arg="136"/>
			<push arg="109"/>
			<new/>
			<pcall arg="110"/>
			<pusht/>
			<pcall arg="111"/>
			<enditerate/>
		</code>
		<linenumbertable>
			<lne id="137" begin="7" end="7"/>
			<lne id="138" begin="7" end="8"/>
			<lne id="139" begin="23" end="28"/>
		</linenumbertable>
		<localvariabletable>
			<lve slot="1" name="105" begin="6" end="30"/>
			<lve slot="0" name="26" begin="0" end="31"/>
		</localvariabletable>
	</operation>
	<operation name="140">
		<context type="6"/>
		<parameters>
			<parameter name="28" type="117"/>
		</parameters>
		<code>
			<load arg="28"/>
			<push arg="105"/>
			<call arg="118"/>
			<store arg="38"/>
			<load arg="28"/>
			<push arg="107"/>
			<call arg="119"/>
			<store arg="120"/>
			<load arg="120"/>
			<dup/>
			<getasm/>
			<load arg="38"/>
			<get arg="121"/>
			<push arg="122"/>
			<call arg="123"/>
			<load arg="38"/>
			<get arg="19"/>
			<call arg="123"/>
			<call arg="39"/>
			<set arg="124"/>
			<pop/>
		</code>
		<linenumbertable>
			<lne id="141" begin="11" end="11"/>
			<lne id="142" begin="11" end="12"/>
			<lne id="143" begin="13" end="13"/>
			<lne id="144" begin="11" end="14"/>
			<lne id="145" begin="15" end="15"/>
			<lne id="146" begin="15" end="16"/>
			<lne id="147" begin="11" end="17"/>
			<lne id="148" begin="9" end="19"/>
			<lne id="139" begin="8" end="20"/>
		</linenumbertable>
		<localvariabletable>
			<lve slot="3" name="107" begin="7" end="20"/>
			<lve slot="2" name="105" begin="3" end="20"/>
			<lve slot="0" name="26" begin="0" end="20"/>
			<lve slot="1" name="133" begin="0" end="20"/>
		</localvariabletable>
	</operation>
</asm>
