home *** CD-ROM | disk | FTP | other *** search
/ ftp.tcs3.com / ftp.tcs3.com.tar / ftp.tcs3.com / DRIVERS / Audio / Office2010 / ProPlus.WW / ProPsWW.cab / OART.DLL / 3000 / 3260 < prev    next >
Extensible Markup Language  |  2010-03-13  |  47KB  |  1,153 lines

  1. ∩╗┐<?xml version="1.0" encoding="utf-8"?>
  2. <!-- Copyright (c) Microsoft Corporation.  All rights reserved. -->
  3. <layoutDef xmlns="http://schemas.openxmlformats.org/drawingml/2006/diagram" uniqueId="urn:microsoft.com/office/officeart/2005/8/layout/orgChart1">
  4.     <title val="Organization Chart" />
  5.     <desc val="" />
  6.     <catLst>
  7.         <cat type="hierarchy" pri="1000" />
  8.         <cat type="convert" pri="6000" />
  9.     </catLst>
  10.     <sampData>
  11.         <dataModel>
  12.             <ptLst>
  13.                 <pt modelId="0" type="doc" />
  14.                 <pt modelId="1" type="node">
  15.                     <prSet phldr="1" />
  16.                 </pt>
  17.                 <pt modelId="2" type="asst">
  18.                     <prSet phldr="1" />
  19.                 </pt>
  20.                 <pt modelId="3" type="node">
  21.                     <prSet phldr="1" />
  22.                 </pt>
  23.                 <pt modelId="4" type="node">
  24.                     <prSet phldr="1" />
  25.                 </pt>
  26.                 <pt modelId="5" type="node">
  27.                     <prSet phldr="1" />
  28.                 </pt>
  29.             </ptLst>
  30.             <cxnLst>
  31.                 <cxn modelId="5" type="parOf" srcId="0" destId="1" srcOrd="0" destOrd="0" presId="" />
  32.                 <cxn modelId="6" type="parOf" srcId="1" destId="2" srcOrd="0" destOrd="0" presId="" />
  33.                 <cxn modelId="7" type="parOf" srcId="1" destId="3" srcOrd="1" destOrd="0" presId="" />
  34.                 <cxn modelId="8" type="parOf" srcId="1" destId="4" srcOrd="2" destOrd="0" presId="" />
  35.                 <cxn modelId="9" type="parOf" srcId="1" destId="5" srcOrd="3" destOrd="0" presId="" />
  36.             </cxnLst>
  37.         </dataModel>
  38.     </sampData>
  39.     <styleData>
  40.         <dataModel>
  41.             <ptLst>
  42.                 <pt modelId="0" type="doc" />
  43.                 <pt modelId="1" type="node" />
  44.                 <pt modelId="12" type="node" />
  45.                 <pt modelId="13" type="node" />
  46.             </ptLst>
  47.             <cxnLst>
  48.                 <cxn modelId="2" type="parOf" srcId="0" destId="1" srcOrd="0" destOrd="0" presId="" />
  49.                 <cxn modelId="16" type="parOf" srcId="1" destId="12" srcOrd="1" destOrd="0" presId="" />
  50.                 <cxn modelId="17" type="parOf" srcId="1" destId="13" srcOrd="2" destOrd="0" presId="" />
  51.             </cxnLst>
  52.         </dataModel>
  53.     </styleData>
  54.     <clrData>
  55.         <dataModel>
  56.             <ptLst>
  57.                 <pt modelId="0" type="doc" />
  58.                 <pt modelId="1" type="node" />
  59.                 <pt modelId="11" type="asst" />
  60.                 <pt modelId="12" type="node" />
  61.                 <pt modelId="13" type="node" />
  62.                 <pt modelId="14" type="node" />
  63.             </ptLst>
  64.             <cxnLst>
  65.                 <cxn modelId="2" type="parOf" srcId="0" destId="1" srcOrd="0" destOrd="0" presId="" />
  66.                 <cxn modelId="15" type="parOf" srcId="1" destId="11" srcOrd="0" destOrd="0" presId="" />
  67.                 <cxn modelId="16" type="parOf" srcId="1" destId="12" srcOrd="1" destOrd="0" presId="" />
  68.                 <cxn modelId="17" type="parOf" srcId="1" destId="13" srcOrd="2" destOrd="0" presId="" />
  69.                 <cxn modelId="18" type="parOf" srcId="1" destId="14" srcOrd="2" destOrd="0" presId="" />
  70.             </cxnLst>
  71.         </dataModel>
  72.     </clrData>
  73.     <!--  The first level layout tree for this org chart is as follows:
  74.     
  75.             hierChild
  76.                 |
  77.             hierRoot
  78.           /        |      \
  79.         text  nonAsst asst
  80.     
  81.     The first layout node for hierRoot is the text representing the hierRoot.  
  82.     The nonAsst and asst nodes are hierChild that control layout of subsequent children.
  83.     
  84.     The order that the nodes are specified in below hierRoot need to be maintained. -->
  85.     <layoutNode name="hierChild1">
  86.         <!-- Tag this as an org chart so the appropriate UI is enabled -->
  87.         <varLst>
  88.             <orgChart val="true" />
  89.             <chPref val="1" />
  90.             <dir val="norm" />
  91.             <animOne val="branch" />
  92.             <animLvl val="lvl" />
  93.             <resizeHandles val="rel" />
  94.         </varLst>
  95.         <choose>
  96.             <if func="var" arg="dir" op="equ" val="norm">
  97.                 <alg type="hierChild">
  98.                     <param type="linDir" val="fromL" />
  99.                 </alg>
  100.             </if>
  101.             <else>
  102.                 <alg type="hierChild">
  103.                     <param type="linDir" val="fromR" />
  104.                 </alg>
  105.             </else>
  106.         </choose>
  107.         <shape />
  108.         <presOf />
  109.         <constrLst>
  110.             <!-- Text Nodes -->
  111.             <constr type="w" for="des" forName="rootComposite1" refType="w" fact="10" />
  112.             <constr type="h" for="des" forName="rootComposite1" refType="w" refFor="des" refForName="rootComposite1" fact="0.5" />
  113.             <constr type="w" for="des" forName="rootComposite" refType="w" fact="10" />
  114.             <constr type="h" for="des" forName="rootComposite" refType="w" refFor="des" refForName="rootComposite1" fact="0.5" />
  115.             <constr type="w" for="des" forName="rootComposite3" refType="w" fact="10" />
  116.             <constr type="h" for="des" forName="rootComposite3" refType="w" refFor="des" refForName="rootComposite1" fact="0.5" />
  117.             <constr op="equ" type="primFontSz" for="des" ptType="node" />
  118.             <constr op="equ" type="sp" for="des" ptType="all" />
  119.             <!-- SPACING -->
  120.             <constr type="sp" for="des" forName="hierRoot1" refType="w" refFor="des" refForName="rootComposite1" fact="0.21" />
  121.             <constr type="sp" for="des" forName="hierRoot2" refType="sp" refFor="des" refForName="hierRoot1" />
  122.             <constr type="sp" for="des" forName="hierRoot3" refType="sp" refFor="des" refForName="hierRoot1" />
  123.             <!-- SIBLING SPACING -->
  124.             <constr type="sibSp" refType="w" refFor="des" refForName="rootComposite1" fact="0.21" />
  125.             <!-- Level 2 -->
  126.             <constr type="sibSp" for="des" forName="hierChild2" refType="sibSp" />
  127.             <constr type="sibSp" for="des" forName="hierChild3" refType="sibSp" />
  128.             <!-- Level 3 -->
  129.             <constr type="sibSp" for="des" forName="hierChild4" refType="sibSp" />
  130.             <constr type="sibSp" for="des" forName="hierChild5" refType="sibSp" />
  131.             <constr type="sibSp" for="des" forName="hierChild6" refType="sibSp" />
  132.             <constr type="sibSp" for="des" forName="hierChild7" refType="sibSp" />
  133.             <!-- SECONDARY SIBLING SPACING -->
  134.             <constr type="secSibSp" refType="w" refFor="des" refForName="rootComposite1" fact="0.21" />
  135.             <!-- Level 2 -->
  136.             <constr type="secSibSp" for="des" forName="hierChild2" refType="secSibSp" />
  137.             <constr type="secSibSp" for="des" forName="hierChild3" refType="secSibSp" />
  138.             <!-- Level 3 -->
  139.             <constr type="secSibSp" for="des" forName="hierChild4" refType="secSibSp" />
  140.             <constr type="secSibSp" for="des" forName="hierChild5" refType="secSibSp" />
  141.             <constr type="secSibSp" for="des" forName="hierChild6" refType="secSibSp" />
  142.             <constr type="secSibSp" for="des" forName="hierChild7" refType="secSibSp" />
  143.         </constrLst>
  144.         <ruleLst />
  145.         <forEach axis="ch" ptType="all">
  146.             <forEach axis="self" ptType="node">
  147.                 <!-- root of top-level subtree: HierarchyRoot algorithm -->
  148.                 <layoutNode name="hierRoot1">
  149.                     <!-- Variable to be used by hierChild of this root node for laying out the child nodes -->
  150.                     <varLst>
  151.                         <hierBranch val="init" />
  152.                     </varLst>
  153.                     <choose>
  154.                         <!-- Left Hanging Branch Layout -->
  155.                         <if func="var" arg="hierBranch" op="equ" val="l">
  156.                             <choose>
  157.                                 <!-- For hierRoot, we connect from a space node on the side of the node if 
  158.                                         there are no assistant peers to the node.  Otherwise, we connect from
  159.                                         the center.  This is for right and left hanging layouts.  -->
  160.                                 <if func="cnt" axis="ch" ptType="asst" op="gte" val="1">
  161.                                     <alg type="hierRoot">
  162.                                         <param type="hierAlign" val="tR" />
  163.                                     </alg>
  164.                                     <constrLst>
  165.                                         <constr type="alignOff" val="0.65" />
  166.                                     </constrLst>
  167.                                 </if>
  168.                                 <else>
  169.                                     <alg type="hierRoot">
  170.                                         <param type="hierAlign" val="tR" />
  171.                                     </alg>
  172.                                     <constrLst>
  173.                                         <constr type="alignOff" val="0.25" />
  174.                                     </constrLst>
  175.                                 </else>
  176.                             </choose>
  177.                         </if>
  178.                         <!-- Right Hanging Branch Layout -->
  179.                         <if func="var" arg="hierBranch" op="equ" val="r">
  180.                             <choose>
  181.                                 <if func="cnt" axis="ch" ptType="asst" op="gte" val="1">
  182.                                     <alg type="hierRoot">
  183.                                         <param type="hierAlign" val="tL" />
  184.                                     </alg>
  185.                                     <constrLst>
  186.                                         <constr type="alignOff" val="0.65" />
  187.                                     </constrLst>
  188.                                 </if>
  189.                                 <else>
  190.                                     <alg type="hierRoot">
  191.                                         <param type="hierAlign" val="tL" />
  192.                                     </alg>
  193.                                     <constrLst>
  194.                                         <constr type="alignOff" val="0.25" />
  195.                                     </constrLst>
  196.                                 </else>
  197.                             </choose>
  198.                         </if>
  199.                         <!-- Both Hanging Branch Layout -->
  200.                         <if func="var" arg="hierBranch" op="equ" val="hang">
  201.                             <alg type="hierRoot" />
  202.                             <constrLst>
  203.                                 <constr type="alignOff" val="0.65" />
  204.                             </constrLst>
  205.                         </if>
  206.                         <!-- Initial and Standard Layout: Since this is the first root, the layout should always be standard -->
  207.                         <else>
  208.                             <alg type="hierRoot" />
  209.                             <constrLst>
  210.                                 <constr type="alignOff" val="0" />
  211.                                 <constr type="bendDist" for="des" ptType="parTrans" refType="sp" fact="0.5" />
  212.                             </constrLst>
  213.                         </else>
  214.                     </choose>
  215.                     <shape />
  216.                     <presOf />
  217.                     <ruleLst />
  218.                     <!-- Level 1:  Root Text-->
  219.                     <layoutNode name="rootComposite1">
  220.                         <alg type="composite" />
  221.                         <shape />
  222.                         <presOf axis="self" st="1" cnt="1" ptType="node" />
  223.                         <choose>
  224.                             <if func="var" arg="hierBranch" op="equ" val="init">
  225.                                 <constrLst>
  226.                                     <constr type="l" for="ch" forName="rootText1" val="0" />
  227.                                     <constr type="t" for="ch" forName="rootText1" val="0" />
  228.                                     <constr type="w" for="ch" forName="rootText1" refType="w" fact="1" />
  229.                                     <constr type="h" for="ch" forName="rootText1" refType="h" fact="1" />
  230.                                     <constr type="l" for="ch" forName="rootConnector1" val="0" />
  231.                                     <constr type="t" for="ch" forName="rootConnector1" val="0" />
  232.                                     <constr type="w" for="ch" forName="rootConnector1" refType="w" refFor="ch" refForName="rootText1" fact="0.2" />
  233.                                     <constr type="h" for="ch" forName="rootConnector1" refType="h" refFor="ch" refForName="rootText1" fact="1" />
  234.                                 </constrLst>
  235.                             </if>
  236.                             <if func="var" arg="hierBranch" op="equ" val="l">
  237.                                 <constrLst>
  238.                                     <constr type="l" for="ch" forName="rootText1" val="0" />
  239.                                     <constr type="t" for="ch" forName="rootText1" val="0" />
  240.                                     <constr type="w" for="ch" forName="rootText1" refType="w" fact="1" />
  241.                                     <constr type="h" for="ch" forName="rootText1" refType="h" fact="1" />
  242.                                     <constr type="r" for="ch" forName="rootConnector1" refType="w" />
  243.                                     <constr type="t" for="ch" forName="rootConnector1" val="0" />
  244.                                     <constr type="w" for="ch" forName="rootConnector1" refType="w" refFor="ch" refForName="rootText1" fact="0.2" />
  245.                                     <constr type="h" for="ch" forName="rootConnector1" refType="h" refFor="ch" refForName="rootText1" fact="1" />
  246.                                 </constrLst>
  247.                             </if>
  248.                             <if func="var" arg="hierBranch" op="equ" val="r">
  249.                                 <constrLst>
  250.                                     <constr type="l" for="ch" forName="rootText1" val="0" />
  251.                                     <constr type="t" for="ch" forName="rootText1" val="0" />
  252.                                     <constr type="w" for="ch" forName="rootText1" refType="w" fact="1" />
  253.                                     <constr type="h" for="ch" forName="rootText1" refType="h" fact="1" />
  254.                                     <constr type="l" for="ch" forName="rootConnector1" val="0" />
  255.                                     <constr type="t" for="ch" forName="rootConnector1" val="0" />
  256.                                     <constr type="w" for="ch" forName="rootConnector1" refType="w" refFor="ch" refForName="rootText1" fact="0.2" />
  257.                                     <constr type="h" for="ch" forName="rootConnector1" refType="h" refFor="ch" refForName="rootText1" fact="1" />
  258.                                 </constrLst>
  259.                             </if>
  260.                             <else>
  261.                                 <!-- An invisible node is created, but never used for a connection site in this case -->
  262.                                 <constrLst>
  263.                                     <constr type="l" for="ch" forName="rootText1" val="0" />
  264.                                     <constr type="t" for="ch" forName="rootText1" val="0" />
  265.                                     <constr type="w" for="ch" forName="rootText1" refType="w" fact="1" />
  266.                                     <constr type="h" for="ch" forName="rootText1" refType="h" fact="1" />
  267.                                     <constr type="r" for="ch" forName="rootConnector1" refType="w" fact="1" />
  268.                                     <constr type="t" for="ch" forName="rootConnector1" val="0" />
  269.                                     <constr type="w" for="ch" forName="rootConnector1" refType="w" refFor="ch" refForName="rootText1" fact="0.2" />
  270.                                     <constr type="h" for="ch" forName="rootConnector1" refType="h" refFor="ch" refForName="rootText1" fact="1" />
  271.                                 </constrLst>
  272.                             </else>
  273.                         </choose>
  274.                         <ruleLst />
  275.                         <layoutNode name="rootText1" styleLbl="node0">
  276.                             <varLst>
  277.                                 <chPref val="3" />
  278.                             </varLst>
  279.                             <alg type="tx" />
  280.                             <shape type="rect" />
  281.                             <presOf axis="self" st="1" cnt="1" ptType="node" />
  282.                             <constrLst>
  283.                                 <constr type="primFontSz" val="65" />
  284.                                 <constr type="lMarg" refType="primFontSz" fact="0.05" />
  285.                                 <constr type="rMarg" refType="primFontSz" fact="0.05" />
  286.                                 <constr type="tMarg" refType="primFontSz" fact="0.05" />
  287.                                 <constr type="bMarg" refType="primFontSz" fact="0.05" />
  288.                             </constrLst>
  289.                             <ruleLst>
  290.                                 <rule type="primFontSz" val="5" />
  291.                             </ruleLst>
  292.                         </layoutNode>
  293.                         <layoutNode name="rootConnector1" moveWith="rootText1">
  294.                             <alg type="sp" />
  295.                             <shape type="rect" hideGeom="true" />
  296.                             <presOf axis="self" st="1" cnt="1" ptType="node" />
  297.                             <constrLst />
  298.                             <ruleLst />
  299.                         </layoutNode>
  300.                     </layoutNode>
  301.                     <!-- Level 2:  Subordinate Child -->
  302.                     <layoutNode name="hierChild2">
  303.                         <choose>
  304.                             <!-- Left Hanging Branch Layout -->
  305.                             <if func="var" arg="hierBranch" op="equ" val="l">
  306.                                 <alg type="hierChild">
  307.                                     <param type="chAlign" val="r" />
  308.                                     <param type="linDir" val="fromT" />
  309.                                 </alg>
  310.                             </if>
  311.                             <!-- Right Hanging Branch Layout -->
  312.                             <if func="var" arg="hierBranch" op="equ" val="r">
  313.                                 <alg type="hierChild">
  314.                                     <param type="chAlign" val="l" />
  315.                                     <param type="linDir" val="fromT" />
  316.                                 </alg>
  317.                             </if>
  318.                             <!-- Both Hanging Branch Layout -->
  319.                             <if func="var" arg="hierBranch" op="equ" val="hang">
  320.                                 <choose>
  321.                                     <if func="var" arg="dir" op="equ" val="norm">
  322.                                         <alg type="hierChild">
  323.                                             <param type="chAlign" val="l" />
  324.                                             <param type="linDir" val="fromL" />
  325.                                             <param type="secChAlign" val="t" />
  326.                                             <param type="secLinDir" val="fromT" />
  327.                                         </alg>
  328.                                     </if>
  329.                                     <else>
  330.                                         <alg type="hierChild">
  331.                                             <param type="chAlign" val="l" />
  332.                                             <param type="linDir" val="fromR" />
  333.                                             <param type="secChAlign" val="t" />
  334.                                             <param type="secLinDir" val="fromT" />
  335.                                         </alg>
  336.                                     </else>
  337.                                 </choose>
  338.                             </if>
  339.                             <!-- Both Initial and Standard Layout -->
  340.                             <else>
  341.                                 <choose>
  342.                                     <if func="var" arg="dir" op="equ" val="norm">
  343.                                         <alg type="hierChild" />
  344.                                     </if>
  345.                                     <else>
  346.                                         <alg type="hierChild">
  347.                                             <param type="linDir" val="fromR" />
  348.                                         </alg>
  349.                                     </else>
  350.                                 </choose>
  351.                             </else>
  352.                         </choose>
  353.                         <shape />
  354.                         <presOf />
  355.                         <constrLst />
  356.                         <ruleLst />
  357.                         <!-- Repeat block for the non assistants. -->
  358.                         <forEach name="rep2a" axis="ch" ptType="nonAsst">
  359.                             <forEach axis="precedSib" ptType="parTrans" st="-1" cnt="1">
  360.                                 <choose>
  361.                                     <!-- Standard Branch Layout -->
  362.                                     <if func="var" arg="hierBranch" op="equ" val="std">
  363.                                         <layoutNode>
  364.                                             <alg type="conn">
  365.                                                 <param type="connRout" val="bend" />
  366.                                                 <param type="dim" val="1D" />
  367.                                                 <param type="endSty" val="noArr" />
  368.                                                 <param type="begPts" val="bCtr" />
  369.                                                 <param type="endPts" val="tCtr" />
  370.                                                 <param type="bendPt" val="end" />
  371.                                             </alg>
  372.                                             <shape type="conn" zOrderOff="-99999" />
  373.                                             <presOf axis="self" />
  374.                                             <constrLst>
  375.                                                 <constr type="begPad" val="0" />
  376.                                                 <constr type="endPad" val="0" />
  377.                                             </constrLst>
  378.                                             <ruleLst />
  379.                                         </layoutNode>
  380.                                     </if>
  381.                                     <!-- Initial Layout -->
  382.                                     <if func="var" arg="hierBranch" op="equ" val="init">
  383.                                         <layoutNode>
  384.                                             <choose>
  385.                                                 <!-- If less than two levels of children.  Standard Layout-->
  386.                                                 <if func="depth" axis="self" op="lte" val="2">
  387.                                                     <alg type="conn">
  388.                                                         <param type="connRout" val="bend" />
  389.                                                         <param type="dim" val="1D" />
  390.                                                         <param type="endSty" val="noArr" />
  391.                                                         <param type="begPts" val="bCtr" />
  392.                                                         <param type="endPts" val="tCtr" />
  393.                                                         <param type="bendPt" val="end" />
  394.                                                     </alg>
  395.                                                 </if>
  396.                                                 <else>
  397.                                                     <choose>
  398.                                                         <!-- If leaf nodes.  Right Hanging Layout -->
  399.                                                         <if func="maxDepth" axis="par des" op="lte" val="1">
  400.                                                             <choose>
  401.                                                                 <if func="cnt" axis="par ch" ptType="node asst" op="gte" val="1">
  402.                                                                     <alg type="conn">
  403.                                                                         <param type="connRout" val="bend" />
  404.                                                                         <param type="dim" val="1D" />
  405.                                                                         <param type="endSty" val="noArr" />
  406.                                                                         <param type="begPts" val="bCtr" />
  407.                                                                         <param type="endPts" val="midL midR" />
  408.                                                                     </alg>
  409.                                                                 </if>
  410.                                                                 <else>
  411.                                                                     <alg type="conn">
  412.                                                                         <param type="connRout" val="bend" />
  413.                                                                         <param type="dim" val="1D" />
  414.                                                                         <param type="endSty" val="noArr" />
  415.                                                                         <param type="begPts" val="bCtr" />
  416.                                                                         <param type="endPts" val="midL midR" />
  417.                                                                         <param type="srcNode" val="rootConnector" />
  418.                                                                     </alg>
  419.                                                                 </else>
  420.                                                             </choose>
  421.                                                         </if>
  422.                                                         <!-- Not leaf node.  Standard Layout -->
  423.                                                         <else>
  424.                                                             <alg type="conn">
  425.                                                                 <param type="connRout" val="bend" />
  426.                                                                 <param type="dim" val="1D" />
  427.                                                                 <param type="endSty" val="noArr" />
  428.                                                                 <param type="begPts" val="bCtr" />
  429.                                                                 <param type="endPts" val="tCtr" />
  430.                                                                 <param type="bendPt" val="end" />
  431.                                                             </alg>
  432.                                                         </else>
  433.                                                     </choose>
  434.                                                 </else>
  435.                                             </choose>
  436.                                             <shape type="conn" zOrderOff="-99999" />
  437.                                             <presOf axis="self" />
  438.                                             <constrLst>
  439.                                                 <constr type="begPad" val="0" />
  440.                                                 <constr type="endPad" val="0" />
  441.                                             </constrLst>
  442.                                             <ruleLst />
  443.                                         </layoutNode>
  444.                                     </if>
  445.                                     <!-- Both Hanging Branch Layout -->
  446.                                     <if func="var" arg="hierBranch" op="equ" val="hang">
  447.                                         <layoutNode>
  448.                                             <alg type="conn">
  449.                                                 <param type="connRout" val="bend" />
  450.                                                 <param type="dim" val="1D" />
  451.                                                 <param type="endSty" val="noArr" />
  452.                                                 <param type="begPts" val="bCtr" />
  453.                                                 <param type="endPts" val="midL midR" />
  454.                                             </alg>
  455.                                             <shape type="conn" zOrderOff="-99999" />
  456.                                             <presOf axis="self" />
  457.                                             <constrLst>
  458.                                                 <constr type="begPad" val="0" />
  459.                                                 <constr type="endPad" val="0" />
  460.                                             </constrLst>
  461.                                             <ruleLst />
  462.                                         </layoutNode>
  463.                                     </if>
  464.                                     <!-- Left/Right Hanging Branch Layout -->
  465.                                     <else>
  466.                                         <layoutNode>
  467.                                             <choose>
  468.                                                 <!-- If less than two levels of children.  Select rootConnector1 site-->
  469.                                                 <if func="depth" axis="self" op="lte" val="2">
  470.                                                     <choose>
  471.                                                         <if func="cnt" axis="par ch" ptType="node asst" op="gte" val="1">
  472.                                                             <alg type="conn">
  473.                                                                 <param type="connRout" val="bend" />
  474.                                                                 <param type="dim" val="1D" />
  475.                                                                 <param type="endSty" val="noArr" />
  476.                                                                 <param type="begPts" val="bCtr" />
  477.                                                                 <param type="endPts" val="midL midR" />
  478.                                                             </alg>
  479.                                                         </if>
  480.                                                         <else>
  481.                                                             <alg type="conn">
  482.                                                                 <param type="connRout" val="bend" />
  483.                                                                 <param type="dim" val="1D" />
  484.                                                                 <param type="endSty" val="noArr" />
  485.                                                                 <param type="begPts" val="bCtr" />
  486.                                                                 <param type="endPts" val="midL midR" />
  487.                                                                 <param type="srcNode" val="rootConnector1" />
  488.                                                             </alg>
  489.                                                         </else>
  490.                                                     </choose>
  491.                                                 </if>
  492.                                                 <else>
  493.                                                     <choose>
  494.                                                         <if func="cnt" axis="par ch" ptType="node asst" op="gte" val="1">
  495.                                                             <alg type="conn">
  496.                                                                 <param type="connRout" val="bend" />
  497.                                                                 <param type="dim" val="1D" />
  498.                                                                 <param type="endSty" val="noArr" />
  499.                                                                 <param type="begPts" val="bCtr" />
  500.                                                                 <param type="endPts" val="midL midR" />
  501.                                                             </alg>
  502.                                                         </if>
  503.                                                         <else>
  504.                                                             <alg type="conn">
  505.                                                                 <param type="connRout" val="bend" />
  506.                                                                 <param type="dim" val="1D" />
  507.                                                                 <param type="endSty" val="noArr" />
  508.                                                                 <param type="begPts" val="bCtr" />
  509.                                                                 <param type="endPts" val="midL midR" />
  510.                                                                 <param type="srcNode" val="rootConnector" />
  511.                                                             </alg>
  512.                                                         </else>
  513.                                                     </choose>
  514.                                                 </else>
  515.                                             </choose>
  516.                                             <shape type="conn" zOrderOff="-99999" />
  517.                                             <presOf axis="self" />
  518.                                             <constrLst>
  519.                                                 <constr type="begPad" val="0" />
  520.                                                 <constr type="endPad" val="0" />
  521.                                             </constrLst>
  522.                                             <ruleLst />
  523.                                         </layoutNode>
  524.                                     </else>
  525.                                 </choose>
  526.                             </forEach>
  527.                             <!-- Level 2:  Hierarchy Root -->
  528.                             <layoutNode name="hierRoot2">
  529.                                 <!-- Variable to be used by hierChild of this root node for laying out the child nodes -->
  530.                                 <varLst>
  531.                                     <hierBranch val="init" />
  532.                                 </varLst>
  533.                                 <choose>
  534.                                     <!-- Left Hanging Branch Layout -->
  535.                                     <if func="var" arg="hierBranch" op="equ" val="l">
  536.                                         <choose>
  537.                                             <if func="cnt" axis="ch" ptType="asst" op="gte" val="1">
  538.                                                 <alg type="hierRoot">
  539.                                                     <param type="hierAlign" val="tR" />
  540.                                                 </alg>
  541.                                                 <shape />
  542.                                                 <presOf />
  543.                                                 <constrLst>
  544.                                                     <constr type="alignOff" val="0.65" />
  545.                                                 </constrLst>
  546.                                             </if>
  547.                                             <else>
  548.                                                 <alg type="hierRoot">
  549.                                                     <param type="hierAlign" val="tR" />
  550.                                                 </alg>
  551.                                                 <shape />
  552.                                                 <presOf />
  553.                                                 <constrLst>
  554.                                                     <constr type="alignOff" val="0.25" />
  555.                                                 </constrLst>
  556.                                             </else>
  557.                                         </choose>
  558.                                     </if>
  559.                                     <!-- Right Hanging Branch Layout -->
  560.                                     <if func="var" arg="hierBranch" op="equ" val="r">
  561.                                         <choose>
  562.                                             <if func="cnt" axis="ch" ptType="asst" op="gte" val="1">
  563.                                                 <alg type="hierRoot">
  564.                                                     <param type="hierAlign" val="tL" />
  565.                                                 </alg>
  566.                                                 <shape />
  567.                                                 <presOf />
  568.                                                 <constrLst>
  569.                                                     <constr type="alignOff" val="0.65" />
  570.                                                 </constrLst>
  571.                                             </if>
  572.                                             <else>
  573.                                                 <alg type="hierRoot">
  574.                                                     <param type="hierAlign" val="tL" />
  575.                                                 </alg>
  576.                                                 <shape />
  577.                                                 <presOf />
  578.                                                 <constrLst>
  579.                                                     <constr type="alignOff" val="0.25" />
  580.                                                 </constrLst>
  581.                                             </else>
  582.                                         </choose>
  583.                                     </if>
  584.                                     <!-- Standard Branch Layout -->
  585.                                     <if func="var" arg="hierBranch" op="equ" val="std">
  586.                                         <alg type="hierRoot" />
  587.                                         <shape />
  588.                                         <presOf />
  589.                                         <constrLst>
  590.                                             <constr type="alignOff" val="0" />
  591.                                             <constr type="bendDist" for="des" ptType="parTrans" refType="sp" fact="0.5" />
  592.                                         </constrLst>
  593.                                     </if>
  594.                                     <!-- Initial Layout -->
  595.                                     <if func="var" arg="hierBranch" op="equ" val="init">
  596.                                         <choose>
  597.                                             <!-- If leaf node.  Right Hanging Layout -->
  598.                                             <if func="maxDepth" axis="des" op="lte" val="1">
  599.                                                 <choose>
  600.                                                     <if func="cnt" axis="ch" ptType="asst" op="gte" val="1">
  601.                                                         <alg type="hierRoot">
  602.                                                             <param type="hierAlign" val="tL" />
  603.                                                         </alg>
  604.                                                         <shape />
  605.                                                         <presOf />
  606.                                                         <constrLst>
  607.                                                             <constr type="alignOff" val="0.65" />
  608.                                                         </constrLst>
  609.                                                     </if>
  610.                                                     <else>
  611.                                                         <alg type="hierRoot">
  612.                                                             <param type="hierAlign" val="tL" />
  613.                                                         </alg>
  614.                                                         <shape />
  615.                                                         <presOf />
  616.                                                         <constrLst>
  617.                                                             <constr type="alignOff" val="0.25" />
  618.                                                         </constrLst>
  619.                                                     </else>
  620.                                                 </choose>
  621.                                             </if>
  622.                                             <else>
  623.                                                 <!-- Not leaf node.  Standard Layout -->
  624.                                                 <alg type="hierRoot" />
  625.                                                 <shape />
  626.                                                 <presOf />
  627.                                                 <constrLst>
  628.                                                     <constr type="alignOff" val="0" />
  629.                                                     <constr type="bendDist" for="des" ptType="parTrans" refType="sp" fact="0.5" />
  630.                                                 </constrLst>
  631.                                             </else>
  632.                                         </choose>
  633.                                     </if>
  634.                                     <!-- Both Hanging Branch Layout -->
  635.                                     <else>
  636.                                         <alg type="hierRoot" />
  637.                                         <shape />
  638.                                         <presOf />
  639.                                         <constrLst>
  640.                                             <constr type="alignOff" val="0.65" />
  641.                                         </constrLst>
  642.                                     </else>
  643.                                 </choose>
  644.                                 <ruleLst />
  645.                                 <!-- Level 2:  Subordinate Text -->
  646.                                 <layoutNode name="rootComposite">
  647.                                     <alg type="composite" />
  648.                                     <shape />
  649.                                     <presOf axis="self" st="1" cnt="1" ptType="node" />
  650.                                     <choose>
  651.                                         <if func="var" arg="hierBranch" op="equ" val="init">
  652.                                             <constrLst>
  653.                                                 <constr type="l" for="ch" forName="rootText" val="0" />
  654.                                                 <constr type="t" for="ch" forName="rootText" val="0" />
  655.                                                 <constr type="w" for="ch" forName="rootText" refType="w" fact="1" />
  656.                                                 <constr type="h" for="ch" forName="rootText" refType="h" fact="1" />
  657.                                                 <constr type="l" for="ch" forName="rootConnector" val="0" />
  658.                                                 <constr type="t" for="ch" forName="rootConnector" val="0" />
  659.                                                 <constr type="w" for="ch" forName="rootConnector" refType="w" refFor="ch" refForName="rootText" fact="0.2" />
  660.                                                 <constr type="h" for="ch" forName="rootConnector" refType="h" refFor="ch" refForName="rootText" fact="1" />
  661.                                             </constrLst>
  662.                                         </if>
  663.                                         <if func="var" arg="hierBranch" op="equ" val="l">
  664.                                             <constrLst>
  665.                                                 <constr type="l" for="ch" forName="rootText" val="0" />
  666.                                                 <constr type="t" for="ch" forName="rootText" val="0" />
  667.                                                 <constr type="w" for="ch" forName="rootText" refType="w" fact="1" />
  668.                                                 <constr type="h" for="ch" forName="rootText" refType="h" fact="1" />
  669.                                                 <constr type="r" for="ch" forName="rootConnector" refType="w" />
  670.                                                 <constr type="t" for="ch" forName="rootConnector" val="0" />
  671.                                                 <constr type="w" for="ch" forName="rootConnector" refType="w" refFor="ch" refForName="rootText" fact="0.2" />
  672.                                                 <constr type="h" for="ch" forName="rootConnector" refType="h" refFor="ch" refForName="rootText" fact="1" />
  673.                                             </constrLst>
  674.                                         </if>
  675.                                         <if func="var" arg="hierBranch" op="equ" val="r">
  676.                                             <constrLst>
  677.                                                 <constr type="l" for="ch" forName="rootText" val="0" />
  678.                                                 <constr type="t" for="ch" forName="rootText" val="0" />
  679.                                                 <constr type="w" for="ch" forName="rootText" refType="w" fact="1" />
  680.                                                 <constr type="h" for="ch" forName="rootText" refType="h" fact="1" />
  681.                                                 <constr type="l" for="ch" forName="rootConnector" val="0" />
  682.                                                 <constr type="t" for="ch" forName="rootConnector" val="0" />
  683.                                                 <constr type="w" for="ch" forName="rootConnector" refType="w" refFor="ch" refForName="rootText" fact="0.2" />
  684.                                                 <constr type="h" for="ch" forName="rootConnector" refType="h" refFor="ch" refForName="rootText" fact="1" />
  685.                                             </constrLst>
  686.                                         </if>
  687.                                         <else>
  688.                                             <constrLst>
  689.                                                 <constr type="l" for="ch" forName="rootText" val="0" />
  690.                                                 <constr type="t" for="ch" forName="rootText" val="0" />
  691.                                                 <constr type="w" for="ch" forName="rootText" refType="w" fact="1" />
  692.                                                 <constr type="h" for="ch" forName="rootText" refType="h" fact="1" />
  693.                                                 <constr type="r" for="ch" forName="rootConnector" refType="w" fact="1" />
  694.                                                 <constr type="t" for="ch" forName="rootConnector" val="0" />
  695.                                                 <constr type="w" for="ch" forName="rootConnector" refType="w" refFor="ch" refForName="rootText" fact="0.2" />
  696.                                                 <constr type="h" for="ch" forName="rootConnector" refType="h" refFor="ch" refForName="rootText" fact="1" />
  697.                                             </constrLst>
  698.                                         </else>
  699.                                     </choose>
  700.                                     <ruleLst />
  701.                                     <layoutNode name="rootText">
  702.                                         <varLst>
  703.                                             <chPref val="3" />
  704.                                         </varLst>
  705.                                         <alg type="tx" />
  706.                                         <shape type="rect" />
  707.                                         <presOf axis="self" st="1" cnt="1" ptType="node" />
  708.                                         <constrLst>
  709.                                             <constr type="primFontSz" val="65" />
  710.                                             <constr type="lMarg" refType="primFontSz" fact="0.05" />
  711.                                             <constr type="rMarg" refType="primFontSz" fact="0.05" />
  712.                                             <constr type="tMarg" refType="primFontSz" fact="0.05" />
  713.                                             <constr type="bMarg" refType="primFontSz" fact="0.05" />
  714.                                         </constrLst>
  715.                                         <ruleLst>
  716.                                             <rule type="primFontSz" val="5" />
  717.                                         </ruleLst>
  718.                                     </layoutNode>
  719.                                     <layoutNode name="rootConnector" moveWith="rootText">
  720.                                         <alg type="sp" />
  721.                                         <shape type="rect" hideGeom="true" />
  722.                                         <presOf axis="self" st="1" cnt="1" ptType="node" />
  723.                                         <constrLst />
  724.                                         <ruleLst />
  725.                                     </layoutNode>
  726.                                 </layoutNode>
  727.                                 <!-- Level 3:  Subordinate Child -->
  728.                                 <layoutNode name="hierChild4">
  729.                                     <choose>
  730.                                         <!-- Left Hanging Branch Layout -->
  731.                                         <if func="var" arg="hierBranch" op="equ" val="l">
  732.                                             <alg type="hierChild">
  733.                                                 <param type="chAlign" val="r" />
  734.                                                 <param type="linDir" val="fromT" />
  735.                                             </alg>
  736.                                         </if>
  737.                                         <!-- Right Hanging Branch Layout -->
  738.                                         <if func="var" arg="hierBranch" op="equ" val="r">
  739.                                             <alg type="hierChild">
  740.                                                 <param type="chAlign" val="l" />
  741.                                                 <param type="linDir" val="fromT" />
  742.                                             </alg>
  743.                                         </if>
  744.                                         <!-- Both Hanging Branch Layout -->
  745.                                         <if func="var" arg="hierBranch" op="equ" val="hang">
  746.                                             <choose>
  747.                                                 <if func="var" arg="dir" op="equ" val="norm">
  748.                                                     <alg type="hierChild">
  749.                                                         <param type="chAlign" val="l" />
  750.                                                         <param type="linDir" val="fromL" />
  751.                                                         <param type="secChAlign" val="t" />
  752.                                                         <param type="secLinDir" val="fromT" />
  753.                                                     </alg>
  754.                                                 </if>
  755.                                                 <else>
  756.                                                     <alg type="hierChild">
  757.                                                         <param type="chAlign" val="l" />
  758.                                                         <param type="linDir" val="fromR" />
  759.                                                         <param type="secChAlign" val="t" />
  760.                                                         <param type="secLinDir" val="fromT" />
  761.                                                     </alg>
  762.                                                 </else>
  763.                                             </choose>
  764.                                         </if>
  765.                                         <!-- Standard Branch Layout -->
  766.                                         <if func="var" arg="hierBranch" op="equ" val="std">
  767.                                             <choose>
  768.                                                 <if func="var" arg="dir" op="equ" val="norm">
  769.                                                     <alg type="hierChild" />
  770.                                                 </if>
  771.                                                 <else>
  772.                                                     <alg type="hierChild">
  773.                                                         <param type="linDir" val="fromR" />
  774.                                                     </alg>
  775.                                                 </else>
  776.                                             </choose>
  777.                                         </if>
  778.                                         <!-- Initial Layout -->
  779.                                         <if func="var" arg="hierBranch" op="equ" val="init">
  780.                                             <choose>
  781.                                                 <!-- If leaf node.  Right Hanging Layout -->
  782.                                                 <if func="maxDepth" axis="des" op="lte" val="1">
  783.                                                     <alg type="hierChild">
  784.                                                         <param type="chAlign" val="l" />
  785.                                                         <param type="linDir" val="fromT" />
  786.                                                     </alg>
  787.                                                 </if>
  788.                                                 <!-- Not a leaf node.  Standard Layout -->
  789.                                                 <else>
  790.                                                     <choose>
  791.                                                         <if func="var" arg="dir" op="equ" val="norm">
  792.                                                             <alg type="hierChild" />
  793.                                                         </if>
  794.                                                         <else>
  795.                                                             <alg type="hierChild">
  796.                                                                 <param type="linDir" val="fromR" />
  797.                                                             </alg>
  798.                                                         </else>
  799.                                                     </choose>
  800.                                                 </else>
  801.                                             </choose>
  802.                                         </if>
  803.                                     </choose>
  804.                                     <shape />
  805.                                     <presOf />
  806.                                     <constrLst />
  807.                                     <ruleLst />
  808.                                     <!-- Third level and below repeat -->
  809.                                     <forEach ref="rep2a" />
  810.                                 </layoutNode>
  811.                                 <!--Level 3: Assistant -->
  812.                                 <layoutNode name="hierChild5">
  813.                                     <!-- Both Hanging Layout -->
  814.                                     <choose>
  815.                                         <if func="var" arg="dir" op="equ" val="norm">
  816.                                             <alg type="hierChild">
  817.                                                 <param type="chAlign" val="l" />
  818.                                                 <param type="linDir" val="fromL" />
  819.                                                 <param type="secChAlign" val="t" />
  820.                                                 <param type="secLinDir" val="fromT" />
  821.                                             </alg>
  822.                                         </if>
  823.                                         <else>
  824.                                             <alg type="hierChild">
  825.                                                 <param type="chAlign" val="l" />
  826.                                                 <param type="linDir" val="fromR" />
  827.                                                 <param type="secChAlign" val="t" />
  828.                                                 <param type="secLinDir" val="fromT" />
  829.                                             </alg>
  830.                                         </else>
  831.                                     </choose>
  832.                                     <shape />
  833.                                     <presOf />
  834.                                     <constrLst />
  835.                                     <ruleLst />
  836.                                     <forEach ref="rep2b" />
  837.                                 </layoutNode>
  838.                             </layoutNode>
  839.                         </forEach>
  840.                     </layoutNode>
  841.                     <!-- Level 2:  Assistant Child -->
  842.                     <layoutNode name="hierChild3">
  843.                         <choose>
  844.                             <if func="var" arg="dir" op="equ" val="norm">
  845.                                 <alg type="hierChild">
  846.                                     <param type="chAlign" val="l" />
  847.                                     <param type="linDir" val="fromL" />
  848.                                     <param type="secChAlign" val="t" />
  849.                                     <param type="secLinDir" val="fromT" />
  850.                                 </alg>
  851.                             </if>
  852.                             <else>
  853.                                 <alg type="hierChild">
  854.                                     <param type="chAlign" val="l" />
  855.                                     <param type="linDir" val="fromR" />
  856.                                     <param type="secChAlign" val="t" />
  857.                                     <param type="secLinDir" val="fromT" />
  858.                                 </alg>
  859.                             </else>
  860.                         </choose>
  861.                         <shape />
  862.                         <presOf />
  863.                         <constrLst />
  864.                         <ruleLst />
  865.                         <!-- Repeat block for assistants -->
  866.                         <forEach name="rep2b" axis="ch" ptType="asst">
  867.                             <forEach axis="precedSib" ptType="parTrans" st="-1" cnt="1">
  868.                                 <layoutNode>
  869.                                     <!-- Both Hanging Layout -->
  870.                                     <alg type="conn">
  871.                                         <param type="connRout" val="bend" />
  872.                                         <param type="dim" val="1D" />
  873.                                         <param type="endSty" val="noArr" />
  874.                                         <param type="begPts" val="bCtr" />
  875.                                         <param type="endPts" val="midL midR" />
  876.                                     </alg>
  877.                                     <shape type="conn" zOrderOff="-99999" />
  878.                                     <presOf axis="self" />
  879.                                     <constrLst>
  880.                                         <constr type="begPad" val="0" />
  881.                                         <constr type="endPad" val="0" />
  882.                                     </constrLst>
  883.                                     <ruleLst />
  884.                                 </layoutNode>
  885.                             </forEach>
  886.                             <!-- Level 2:  Hierarchy Root -->
  887.                             <layoutNode name="hierRoot3">
  888.                                 <varLst>
  889.                                     <hierBranch val="init" />
  890.                                 </varLst>
  891.                                 <choose>
  892.                                     <!-- Left Hanging Branch Layout -->
  893.                                     <if func="var" arg="hierBranch" op="equ" val="l">
  894.                                         <alg type="hierRoot">
  895.                                             <param type="hierAlign" val="tR" />
  896.                                         </alg>
  897.                                         <shape />
  898.                                         <presOf />
  899.                                         <constrLst>
  900.                                             <constr type="alignOff" val="0.65" />
  901.                                         </constrLst>
  902.                                     </if>
  903.                                     <!-- Right Hanging Branch Layout -->
  904.                                     <if func="var" arg="hierBranch" op="equ" val="r">
  905.                                         <alg type="hierRoot">
  906.                                             <param type="hierAlign" val="tL" />
  907.                                         </alg>
  908.                                         <shape />
  909.                                         <presOf />
  910.                                         <constrLst>
  911.                                             <constr type="alignOff" val="0.65" />
  912.                                         </constrLst>
  913.                                     </if>
  914.                                     <!-- Both Hanging Branch Layout -->
  915.                                     <if func="var" arg="hierBranch" op="equ" val="hang">
  916.                                         <alg type="hierRoot" />
  917.                                         <shape />
  918.                                         <presOf />
  919.                                         <constrLst>
  920.                                             <constr type="alignOff" val="0.65" />
  921.                                         </constrLst>
  922.                                     </if>
  923.                                     <!-- Standard Branch Layout -->
  924.                                     <if func="var" arg="hierBranch" op="equ" val="std">
  925.                                         <alg type="hierRoot" />
  926.                                         <shape />
  927.                                         <presOf />
  928.                                         <constrLst>
  929.                                             <constr type="alignOff" val="0" />
  930.                                             <constr type="bendDist" for="des" ptType="parTrans" refType="sp" fact="0.5" />
  931.                                         </constrLst>
  932.                                     </if>
  933.                                     <!-- Initial Layout -->
  934.                                     <if func="var" arg="hierBranch" op="equ" val="init">
  935.                                         <choose>
  936.                                             <!-- If leaf node.  Right Hanging Layout -->
  937.                                             <if func="maxDepth" axis="des" op="lte" val="1">
  938.                                                 <alg type="hierRoot">
  939.                                                     <param type="hierAlign" val="tL" />
  940.                                                 </alg>
  941.                                                 <shape />
  942.                                                 <presOf />
  943.                                                 <constrLst>
  944.                                                     <constr type="alignOff" val="0.65" />
  945.                                                 </constrLst>
  946.                                             </if>
  947.                                             <!-- Not a leaf node.  Standard Layout -->
  948.                                             <else>
  949.                                                 <alg type="hierRoot" />
  950.                                                 <shape />
  951.                                                 <presOf />
  952.                                                 <constrLst>
  953.                                                     <constr type="alignOff" val="0" />
  954.                                                     <constr type="bendDist" for="des" ptType="parTrans" refType="sp" fact="0.5" />
  955.                                                 </constrLst>
  956.                                             </else>
  957.                                         </choose>
  958.                                     </if>
  959.                                 </choose>
  960.                                 <ruleLst />
  961.                                 <!-- Assistant Text -->
  962.                                 <layoutNode name="rootComposite3">
  963.                                     <alg type="composite" />
  964.                                     <shape />
  965.                                     <presOf axis="self" st="1" cnt="1" ptType="node" />
  966.                                     <choose>
  967.                                         <!-- An invisible node is created, but never used for a connection site for assistants -->
  968.                                         <if func="var" arg="hierBranch" op="equ" val="init">
  969.                                             <constrLst>
  970.                                                 <constr type="l" for="ch" forName="rootText3" val="0" />
  971.                                                 <constr type="t" for="ch" forName="rootText3" val="0" />
  972.                                                 <constr type="w" for="ch" forName="rootText3" refType="w" fact="1" />
  973.                                                 <constr type="h" for="ch" forName="rootText3" refType="h" fact="1" />
  974.                                                 <constr type="l" for="ch" forName="rootConnector3" val="0" />
  975.                                                 <constr type="t" for="ch" forName="rootConnector3" val="0" />
  976.                                                 <constr type="w" for="ch" forName="rootConnector3" refType="w" refFor="ch" refForName="rootText3" fact="0.2" />
  977.                                                 <constr type="h" for="ch" forName="rootConnector3" refType="h" refFor="ch" refForName="rootText3" fact="1" />
  978.                                             </constrLst>
  979.                                         </if>
  980.                                         <if func="var" arg="hierBranch" op="equ" val="l">
  981.                                             <constrLst>
  982.                                                 <constr type="l" for="ch" forName="rootText3" val="0" />
  983.                                                 <constr type="t" for="ch" forName="rootText3" val="0" />
  984.                                                 <constr type="w" for="ch" forName="rootText3" refType="w" fact="1" />
  985.                                                 <constr type="h" for="ch" forName="rootText3" refType="h" fact="1" />
  986.                                                 <constr type="r" for="ch" forName="rootConnector3" refType="w" />
  987.                                                 <constr type="t" for="ch" forName="rootConnector3" val="0" />
  988.                                                 <constr type="w" for="ch" forName="rootConnector3" refType="w" refFor="ch" refForName="rootText3" fact="0.2" />
  989.                                                 <constr type="h" for="ch" forName="rootConnector3" refType="h" refFor="ch" refForName="rootText3" fact="1" />
  990.                                             </constrLst>
  991.                                         </if>
  992.                                         <if func="var" arg="hierBranch" op="equ" val="r">
  993.                                             <constrLst>
  994.                                                 <constr type="l" for="ch" forName="rootText3" val="0" />
  995.                                                 <constr type="t" for="ch" forName="rootText3" val="0" />
  996.                                                 <constr type="w" for="ch" forName="rootText3" refType="w" fact="1" />
  997.                                                 <constr type="h" for="ch" forName="rootText3" refType="h" fact="1" />
  998.                                                 <constr type="l" for="ch" forName="rootConnector3" val="0" />
  999.                                                 <constr type="t" for="ch" forName="rootConnector3" val="0" />
  1000.                                                 <constr type="w" for="ch" forName="rootConnector3" refType="w" refFor="ch" refForName="rootText3" fact="0.2" />
  1001.                                                 <constr type="h" for="ch" forName="rootConnector3" refType="h" refFor="ch" refForName="rootText3" fact="1" />
  1002.                                             </constrLst>
  1003.                                         </if>
  1004.                                         <else>
  1005.                                             <constrLst>
  1006.                                                 <constr type="l" for="ch" forName="rootText3" val="0" />
  1007.                                                 <constr type="t" for="ch" forName="rootText3" val="0" />
  1008.                                                 <constr type="w" for="ch" forName="rootText3" refType="w" fact="1" />
  1009.                                                 <constr type="h" for="ch" forName="rootText3" refType="h" fact="1" />
  1010.                                                 <constr type="r" for="ch" forName="rootConnector3" refType="w" fact="1" />
  1011.                                                 <constr type="t" for="ch" forName="rootConnector3" val="0" />
  1012.                                                 <constr type="w" for="ch" forName="rootConnector3" refType="w" refFor="ch" refForName="rootText3" fact="0.2" />
  1013.                                                 <constr type="h" for="ch" forName="rootConnector3" refType="h" refFor="ch" refForName="rootText3" fact="1" />
  1014.                                             </constrLst>
  1015.                                         </else>
  1016.                                     </choose>
  1017.                                     <ruleLst />
  1018.                                     <layoutNode name="rootText3">
  1019.                                         <varLst>
  1020.                                             <chPref val="3" />
  1021.                                         </varLst>
  1022.                                         <alg type="tx" />
  1023.                                         <shape type="rect" />
  1024.                                         <presOf axis="self" st="1" cnt="1" ptType="node" />
  1025.                                         <constrLst>
  1026.                                             <constr type="primFontSz" val="65" />
  1027.                                             <constr type="lMarg" refType="primFontSz" fact="0.05" />
  1028.                                             <constr type="rMarg" refType="primFontSz" fact="0.05" />
  1029.                                             <constr type="tMarg" refType="primFontSz" fact="0.05" />
  1030.                                             <constr type="bMarg" refType="primFontSz" fact="0.05" />
  1031.                                         </constrLst>
  1032.                                         <ruleLst>
  1033.                                             <rule type="primFontSz" val="5" />
  1034.                                         </ruleLst>
  1035.                                     </layoutNode>
  1036.                                     <layoutNode name="rootConnector3" moveWith="rootText1">
  1037.                                         <alg type="sp" />
  1038.                                         <shape type="rect" hideGeom="true" />
  1039.                                         <presOf axis="self" st="1" cnt="1" ptType="node" />
  1040.                                         <constrLst />
  1041.                                         <ruleLst />
  1042.                                     </layoutNode>
  1043.                                 </layoutNode>
  1044.                                 <!-- Level 3:  Subordinate Child -->
  1045.                                 <layoutNode name="hierChild6">
  1046.                                     <choose>
  1047.                                         <!-- Left Hanging Branch Layout -->
  1048.                                         <if func="var" arg="hierBranch" op="equ" val="l">
  1049.                                             <alg type="hierChild">
  1050.                                                 <param type="chAlign" val="r" />
  1051.                                                 <param type="linDir" val="fromT" />
  1052.                                             </alg>
  1053.                                         </if>
  1054.                                         <!-- Right Hanging Branch Layout -->
  1055.                                         <if func="var" arg="hierBranch" op="equ" val="r">
  1056.                                             <alg type="hierChild">
  1057.                                                 <param type="chAlign" val="l" />
  1058.                                                 <param type="linDir" val="fromT" />
  1059.                                             </alg>
  1060.                                         </if>
  1061.                                         <!-- Both Hanging Branch Layout -->
  1062.                                         <if func="var" arg="hierBranch" op="equ" val="hang">
  1063.                                             <choose>
  1064.                                                 <if func="var" arg="dir" op="equ" val="norm">
  1065.                                                     <alg type="hierChild">
  1066.                                                         <param type="chAlign" val="l" />
  1067.                                                         <param type="linDir" val="fromL" />
  1068.                                                         <param type="secChAlign" val="t" />
  1069.                                                         <param type="secLinDir" val="fromT" />
  1070.                                                     </alg>
  1071.                                                 </if>
  1072.                                                 <else>
  1073.                                                     <alg type="hierChild">
  1074.                                                         <param type="chAlign" val="l" />
  1075.                                                         <param type="linDir" val="fromR" />
  1076.                                                         <param type="secChAlign" val="t" />
  1077.                                                         <param type="secLinDir" val="fromT" />
  1078.                                                     </alg>
  1079.                                                 </else>
  1080.                                             </choose>
  1081.                                         </if>
  1082.                                         <!-- Standard Branch Layout -->
  1083.                                         <if func="var" arg="hierBranch" op="equ" val="std">
  1084.                                             <choose>
  1085.                                                 <if func="var" arg="dir" op="equ" val="norm">
  1086.                                                     <alg type="hierChild" />
  1087.                                                 </if>
  1088.                                                 <else>
  1089.                                                     <alg type="hierChild">
  1090.                                                         <param type="linDir" val="fromR" />
  1091.                                                     </alg>
  1092.                                                 </else>
  1093.                                             </choose>
  1094.                                         </if>
  1095.                                         <!-- Initial Layout -->
  1096.                                         <if func="var" arg="hierBranch" op="equ" val="init">
  1097.                                             <choose>
  1098.                                                 <!-- If leaf node.  Right Hanging Layout -->
  1099.                                                 <if func="maxDepth" axis="des" op="lte" val="1">
  1100.                                                     <alg type="hierChild">
  1101.                                                         <param type="chAlign" val="l" />
  1102.                                                         <param type="linDir" val="fromT" />
  1103.                                                     </alg>
  1104.                                                 </if>
  1105.                                                 <!-- Not a leaf node.  Standard Layout -->
  1106.                                                 <else>
  1107.                                                     <alg type="hierChild" />
  1108.                                                 </else>
  1109.                                             </choose>
  1110.                                         </if>
  1111.                                     </choose>
  1112.                                     <shape />
  1113.                                     <presOf />
  1114.                                     <constrLst />
  1115.                                     <ruleLst />
  1116.                                     <!-- Third level and below repeat -->
  1117.                                     <forEach ref="rep2a" />
  1118.                                 </layoutNode>
  1119.                                 <!--Level 3: Assistant -->
  1120.                                 <layoutNode name="hierChild7">
  1121.                                     <!-- Both Hanging Layout -->
  1122.                                     <choose>
  1123.                                         <if func="var" arg="dir" op="equ" val="norm">
  1124.                                             <alg type="hierChild">
  1125.                                                 <param type="chAlign" val="l" />
  1126.                                                 <param type="linDir" val="fromL" />
  1127.                                                 <param type="secChAlign" val="t" />
  1128.                                                 <param type="secLinDir" val="fromT" />
  1129.                                             </alg>
  1130.                                         </if>
  1131.                                         <else>
  1132.                                             <alg type="hierChild">
  1133.                                                 <param type="chAlign" val="l" />
  1134.                                                 <param type="linDir" val="fromR" />
  1135.                                                 <param type="secChAlign" val="t" />
  1136.                                                 <param type="secLinDir" val="fromT" />
  1137.                                             </alg>
  1138.                                         </else>
  1139.                                     </choose>
  1140.                                     <shape />
  1141.                                     <presOf />
  1142.                                     <constrLst />
  1143.                                     <ruleLst />
  1144.                                     <forEach ref="rep2b" />
  1145.                                 </layoutNode>
  1146.                             </layoutNode>
  1147.                         </forEach>
  1148.                     </layoutNode>
  1149.                 </layoutNode>
  1150.             </forEach>
  1151.         </forEach>
  1152.     </layoutNode>
  1153. </layoutDef>