digraph G {
	root [style=filled,label="Root"];
	subgraph cluster0{
		label="Set 0 RecordType(INTEGER EMPNO, VARCHAR(20) ENAME, VARCHAR(10) JOB, INTEGER MGR, TIMESTAMP(0) HIREDATE, INTEGER SAL, INTEGER COMM, INTEGER DEPTNO, BOOLEAN SLACKER)";
		rel8 [label="rel#8:LogicalTableScan\ntable=[CATALOG, SALES, EMP]\nrows=14.0, cost={inf}",shape=box]
		rel34 [label="rel#34:EnumerableSort\ninput=RelSubset#26,sort0=$2,sort1=$1,dir0=DESC-nulls-last,dir1=ASC-nulls-first\nrows=14.0, cost={28.0 rows, 1788.4465255014536 cpu, 0.0 io}",color=blue,shape=box]
		rel33 [label="rel#33:EnumerableTableScan\ntable=[CATALOG, SALES, EMP]\nrows=14.0, cost={14.0 rows, 15.0 cpu, 0.0 io}",color=blue,shape=box]
		subset13 [label="rel#13:RelSubset#0.NONE.[]"]
		subset26 [label="rel#26:RelSubset#0.ENUMERABLE.[]"]
		subset31 [label="rel#31:RelSubset#0.ENUMERABLE.[2 DESC-nulls-last, 1 ASC-nulls-first]"]
		subset26 -> subset31;	}
	subgraph cluster1{
		label="Set 1 RecordType(VARCHAR(20) ENAME, VARCHAR(10) JOB, INTEGER SAL, INTEGER COMM)";
		rel9 [label="rel#9:LogicalTableScan\ntable=[CATALOG, SALES, BONUS]\nrows=1.0, cost={inf}",shape=box]
		rel35 [label="rel#35:EnumerableTableScan\ntable=[CATALOG, SALES, BONUS]\nrows=1.0, cost={tiny}",color=blue,shape=box]
		subset14 [label="rel#14:RelSubset#1.NONE.[]"]
		subset27 [label="rel#27:RelSubset#1.ENUMERABLE.[]"]
	}
	subgraph cluster2{
		label="Set 2 RecordType(INTEGER EMPNO, VARCHAR(20) ENAME, VARCHAR(10) JOB, INTEGER MGR, TIMESTAMP(0) HIREDATE, INTEGER SAL, INTEGER COMM, INTEGER DEPTNO, BOOLEAN SLACKER, VARCHAR(20) ENAME0, VARCHAR(10) JOB0, INTEGER SAL0, INTEGER COMM0)";
		rel15 [label="rel#15:LogicalJoin\nleft=RelSubset#13,right=RelSubset#14,condition=AND(=($1, $9), =($2, $10)),joinType=inner\nrows=1.0, cost={inf}",shape=box]
		rel19 [label="rel#19:LogicalSort\ninput=RelSubset#16,sort0=$2,sort1=$1,dir0=DESC-nulls-last,dir1=ASC-nulls-first\nrows=1.0, cost={inf}",shape=box]
		rel22 [label="rel#22:AbstractConverter\ninput=RelSubset#24,convention=ENUMERABLE,sort=[2 DESC-nulls-last, 1 ASC-nulls-first]\nrows=1.0, cost={inf}",shape=box]
		rel30 [label="rel#30:EnumerableSort\ninput=RelSubset#29,sort0=$2,sort1=$1,dir0=DESC-nulls-last,dir1=ASC-nulls-first\nrows=1.0, cost={54.94680261461362 rows, 80.0 cpu, 0.0 io}",color=blue,shape=box]
		rel28 [label="rel#28:EnumerableHashJoin\nleft=RelSubset#26,right=RelSubset#27,condition=AND(=($1, $9), =($2, $10)),joinType=inner\nrows=1.0, cost={53.94680261461362 rows, 16.0 cpu, 0.0 io}",color=blue,shape=box]
		rel32 [label="rel#32:EnumerableHashJoin\nleft=RelSubset#31,right=RelSubset#27,condition=AND(=($1, $9), =($2, $10)),joinType=inner\nrows=1.0, cost={67.94680261461362 rows, 1789.4465255014536 cpu, 0.0 io}",shape=box]
		subset16 [label="rel#16:RelSubset#2.NONE.[]"]
		subset24 [label="rel#24:RelSubset#2.NONE.[2 DESC-nulls-last, 1 ASC-nulls-first]"]
		subset25 [label="rel#25:RelSubset#2.ENUMERABLE.[2 DESC-nulls-last, 1 ASC-nulls-first]"]
		subset29 [label="rel#29:RelSubset#2.ENUMERABLE.[]"]
		subset29 -> subset25;		subset16 -> subset24;	}
	root -> subset25;
	subset13 -> rel8;
	subset31 -> rel34[color=blue]; rel34 -> subset26[color=blue];
	subset26 -> rel33[color=blue];
	subset14 -> rel9;
	subset27 -> rel35[color=blue];
	subset16 -> rel15; rel15 -> subset13[label="0"]; rel15 -> subset14[label="1"];
	subset24 -> rel19; rel19 -> subset16;
	subset25 -> rel22; rel22 -> subset24;
	subset25 -> rel30[color=blue]; rel30 -> subset29[color=blue];
	subset29 -> rel28[color=blue]; rel28 -> subset26[color=blue,label="0"]; rel28 -> subset27[color=blue,label="1"];
	subset25 -> rel32; rel32 -> subset31[label="0"]; rel32 -> subset27[label="1"];
}