From eb642d3dbd656263341a5d5a25d930ec348d9f39 Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Sat, 26 Jan 2013 22:06:53 +0100 Subject: Add lesson.xml database Observed with the procedure outlined in grab.sh --- oracle-conversion/lesson.xml | 1012 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1012 insertions(+) create mode 100644 oracle-conversion/lesson.xml (limited to 'oracle-conversion') diff --git a/oracle-conversion/lesson.xml b/oracle-conversion/lesson.xml new file mode 100644 index 0000000..4afb635 --- /dev/null +++ b/oracle-conversion/lesson.xml @@ -0,0 +1,1012 @@ + + + + + 81 + Lassen Sie sich alle Spieler anzeigen.... + SELECT + 1 + Vorbereitung + select * from spieler + 2 + + + 82 + Lassen sie sich alle Produkte anzeigen! + SELECT + 0 + Abfragen + select * from produktlager + 2 + + + 84 + Welche Spieler schossen am ersten Spieltag ein Tor? + SELECT + 1 + Abfragen + select distinct pname from schiesst where spieltag=1 + 2 + + + 85 + Welche Sturmer bekommen ein Gehalt vom mehr als 1000 EUR? + SELECT + 1 + Abfragen + select vertrag.pname from vertrag, stuermer where vertrag.pname = stuermer.pname and gehalt > 1000 + 2 + + + 86 + Wann spielten Mannschaften aus den selben Orten gegeneinander? + SELECT + 1 + Abfragen + select s1.spieltag from mannschaft m1, spiel s1, mannschaft m2 where m1.mname=s1.heim and m2.mname=s1.gast and m1.heimatort=m2.heimatort + 2 + + + 87 + Welche Schiris sind auch Spieler? + SELECT + 1 + Abfragen + select pname from schiri where pname in (select pname from spieler) + 2 + + + 88 + Welche Spieler schossen mehr als ein Tor? + SELECT + 1 + Abfragen + select distinct s1.pname from schiesst s1, schiesst s2 where s1.pname=s2.pname and (s1.spieltag<>s2.spieltag or s1.heim<>s2.heim or s1.gast<>s2.gast or s1.spielminute <> s2.spielminute) + 2 + + + 89 + Welche Spieler schossen am selben Tag mehr als ein Tor? + SELECT + 1 + Abfragen + select distinct s1.pname from schiesst s1, schiesst s2 where s1.pname=s2.pname and s1.spieltag=s2.spieltag and (s1.heim<>s2.heim or s1.gast<>s2.gast or s1.spielminute <> s2.spielminute) + 2 + + + 90 + Welche Spieler schossen kein Tor? + SELECT + 1 + Abfragen + select pname from spieler where pname not in (select pname from schiesst) + 2 + + + 91 + Welcher Torwart schoss ein Eigentor? + SELECT + 1 + Abfragen + select p.pname from torwart p, tor, schiesst where p.pname=schiesst.pname and schiesst.spieltag=tor.spieltag and schiesst.heim=tor.heim and schiesst.gast=tor.gast and schiesst.spielminute=tor.spielminute and tor.eigentor=1 + 2 + + + 92 + Welche Mannschaft erzielte noch kein Eigentor? + SELECT + 1 + Abfragen + select mname from mannschaft where mname not in (select m.mname from mannschaft m, vertrag v, schiesst s, tor t where m.mname=v.mname and v.pname=s.pname and s.spieltag=t.spieltag and s.heim=t.heim and s.gast=t.gast and s.spielminute=t.spielminute and t.eigentor=1) + 2 + + + 93 + Welche Mannschaft sprengt ihren Etat? + SELECT + 1 + Abfragen + select m1.mname from (select m.mname,sum(v.gehalt) as gehalt from mannschaft m,vertrag v where m.mname=v.mname group by m.mname) m1, mannschaft m2 where m1.mname=m2.mname and m2.etat < m1.gehalt + 2 + + + 94 + Wer schoss in der ersten Halbzeit die meisten Tore? + SELECT + 1 + Abfragen + select pname from schiesst where spielminute <= 45 group by pname having count(*) >= all(select count(*) from schiesst where spielminute <= 45 group by pname) + 2 + + + 95 + Wer bekommt das hochste Gehalt? + SELECT + 1 + Abfragen + select pname from vertrag where gehalt >= all(select gehalt from vertrag) + 2 + + + 96 + Wer bekommt das zweit-hochste Gehalt? + SELECT + 1 + Abfragen + with r as (select pname,gehalt from vertrag where gehalt <> (select max(gehalt) from vertrag)) select pname from r where gehalt >= all(selectgehalt from r) + 2 + + + 97 + Welche Mannschaft schoss die meisten Tore? + SELECT + 1 + Abfragen + select m.mname from mannschaft m, vertrag v, schiesst s where m.mname=v.mname and v.pname=s.pname group by m.mname having count(*) >= all(select count(*) from mannschaft m, vertrag v, schiesst s where m.mname=v.mname and v.pname=s.pname group by m.mname) + 2 + + + 98 + Welche Mannschaft schoss in der ersten Halbzeit die wenigsten Tore? (Keine Mannschaften mit 0 Toren!) + SELECT + 1 + Abfragen + select m.mname from mannschaft m, vertrag v, schiesst s where s.spielminute <= 45 and m.mname=v.mname and v.pname=s.pname group by m.mname having count(*) <= all(select count(*) from mannschaft m, vertrag v, schiesst s wheres.spielminute <= 45 and m.mname=v.mname and v.pname=s.pname group by m.mname) + 2 + + + 99 + Bitte lassen sie sich probeweise alle Hotels anzeigen. + SELECT + 1 + Vorbereitung + select * from hotel + 3 + + + 101 + Welche Hotels verfugen uber Einzel- oder Doppelzimmer? + SELECT + 1 + Abfragen + select distinct hname from zimmertyp where ztyp='EZ' or ztyp='DZ' + 3 + + + 102 + Welche Hotels verfugen uber Einzel- und Doppelzimmer? + SELECT + 1 + Abfragen + select distinct hname from zimmertyp where ztyp='EZ' and hname in (select hname from zimmertyp where ztyp='DZ') + 3 + + + 103 + Welche Hotels verfugen nur uber Einzelzimmer? + SELECT + 1 + Abfragen + select hname from zimmertyp where ztyp='EZ' and hname not in(select hname from zimmertyp where ztyp<>'EZ') + 3 + + + 104 + Welche Ausstattung bietet Hotel Neptun zu welchem Preis an? + SELECT + 1 + Abfragen + select aname, preis from bietet where hname = 'Neptun' + 3 + + + 105 + Was kosten Einzelzimmer in 5-Sterne-Hotels? + SELECT + 1 + Abfragen + select preis from zimmertyp, hotel where hotel.hname = zimmertyp.hnameand ztyp='EZ' and kategorie=5 + 3 + + + 106 + Was kosten Doppelzimmer mit Minibar in 5-Sterne-Hotels? + SELECT + 1 + Abfragen + select preis from hotel, zimmertyp, besitzt where hotel.hname = zimmertyp.hname and zimmertyp.ztyp=besitzt.ztyp and zimmertyp.hname=besitzt.hname andbesitzt.aname='Minibar' and kategorie=5 and zimmertyp.ztyp='DZ' + 3 + + + 107 + In welchen Hotels hat Franz Mueller reserviert? + SELECT + 1 + Abfragen + select distinct hname from reserviert where pname='Mueller'and pvorname='Franz' + 3 + + + 108 + In welchen 2-Sterne-Hotels hat Franz Mueller Zimmer mit Doppelbett reserviert? + SELECT + 1 + Abfragen + select hotel.hname from reserviert, hotel where reserviert.hname = hotel.hname and kategorie=2 and ztyp='DZ' and pvorname='Franz'and pname='Mueller' + 3 + + + 109 + In welchen Rostocker Hotels hat Franz Mueller Zimmer fur 1 Nacht gebucht? + SELECT + 1 + Abfragen + select hotel.hname from rechnung, hotel where rechnung.hname = hotel.hname and ort='Rostock' and bis-von=1 and pname='Mueller' andpvorname='Franz' + 3 + + + 110 + Welche Gaste Haben noch offene Rechnungen? + SELECT + 1 + Abfragen + select distinct pname, pvorname from rechnung where bezahlt='N' + 3 + + + 111 + In welchen Hotels wurden alle gestellten Rechnungen bezahlt? + SELECT + 1 + Abfragen + select distinct hname from rechnung where bezahlt='Y' and hname not in (select hname from rechnung where bezahlt='N') + 3 + + + 112 + Welche Personen sind keine Gaste? + SELECT + 1 + Abfragen + select p.pname, p.pvorname from person p where not exists (select * from gast g where g.pname=p.pname and g.pvorname=p.pvorname) + 3 + + + 113 + Welches Hotel bietet das billigste Zimmer an? + SELECT + 1 + Abfragen + select hname from zimmertyp where preis = (select min(preis) from zimmertyp) + 3 + + + 114 + Welches Hotel bietet die meisten Einzelzimmer an? + SELECT + 1 + Abfragen + select hname from zimmertyp where ztyp='EZ' and anzahl = (select max(Anzahl) from zimmertyp where ztyp='EZ') + 3 + + + 115 + Welches Hotel bietet die durchschnittlich billigsten Zimmer an? + SELECT + 1 + Abfragen + select hname from zimmertyp group by hname having avg(preis) <= all(select avg(preis) from zimmertyp group by hname) + 3 + + + 116 + Wer hat die hochste Hotelrechnung? + SELECT + 1 + Abfragen + select pname, pvorname from rechnung where summe = (select max(summe)from rechnung) + 3 + + + 117 + Wer hat mehr als eine Hotelrechnung bezahlt? + SELECT + 1 + Abfragen + select pname, pvorname from rechnung where bezahlt='Y' groupby pname, pvorname having count(*) > 1 + 3 + + + 0 + Lassen Sie sich bitte zum Test des Systems alle Kunden anzeigen, indem sie in das unten stehende Textfeld: 'select * from kunden' eingeben unddann per Mausklick bestatigen. + SELECT + 1 + Vorbereitung + select * from kunden + 1 + + + 33 + gesucht: alle Kunden (Kundennummer) mit Postleitzahl und Ort, die in Wismar oder Hamburg wohnen. + SELECT + 1 + Abfragen + select k.kundennummer, ad.postleitzahl, ad.ort from kunden k, adressenad, kunde_hat_adresse kha where k.kundennummer=kha.kundennummer and ad.adress_id=kha.adress_id and (ad.ort='wismar' or ad.ort='hamburg') + 1 + + + 34 + gesucht: alle Kunden mit Kundennummer & Auftragsnummer die irgend etwas in 2003 oder vor 2000 bestellt haben. + SELECT + 1 + Abfragen + select kundennummer, auftragsnummer from (select k.kundennummer, a.auftragsnummer, a.auftragsdatum from kunden k, auftrag a where k.kundennummer=a.kundennummer) where (auftragsdatum>='01.01.2003' and auftragsdatum<='31.12.2003') or auftragsdatum<'01.01.2000' + 1 + + + 35 + gesucht: alle Produkte (produktnummer, bezeichnung, stueckzahl, preis),die bisher noch nie bestellt wurden. + SELECT + 1 + Abfragen + select pl.produktnummer, pl.bezeichnung, pl.stueckzahl, pl.preis fromproduktlager pl left outer join auftrag_hat_positionen ahp on pl.produktnummer=ahp.produktnummer where ahp.produktnummer is null + 1 + + + 36 + gesucht: alle Produkte (produktnummer, bezeichnung, preis), die der Kunde mit der Kdnr 4 bestellt hat. + SELECT + 1 + Abfragen + select pl.produktnummer, pl.bezeichnung, pl.preis from kunden k join (auftrag a join (auftrag_hat_positionen pos join produktlager pl on pos.produktnummer=pl.produktnummer) on a.auftragsnummer=pos.auftragsnummer) on k.kundennummer=a.kundennummer where k.kundennummer=4 + 1 + + + 37 + gesucht: die Bezeichnung aller Produkte, deren Preis uber dem mittlerenPreis liegt. + SELECT + 1 + Abfragen + select bezeichnung from produktlager where preis > (select avg(preis) from produktlager) + 1 + + + 38 + gesucht: alle Kunden (Kundennummer), die mehr als 2 Auftrage haben. + SELECT + 1 + Abfragen + select k.kundennummer from kunden k join auftrag a on k.kundennummer=a.kundennummer group by k.kundennummer having count(*)>2 + 1 + + + 39 + gesucht: Namen der Kunden, die das teuerste Produkt bestellt haben. + SELECT + 1 + Abfragen + select k.name from kunden k join (auftrag a join (auftrag_hat_positionen ahp join produktlager pl on ahp.produktnummer=pl.produktnummer) on a.auftragsnummer=ahp.auftragsnummer) on k.kundennummer=a.kundennummer where pl.preis=(select max(preis) from produktlager) + 1 + + + 40 + gesucht: alle Kunden (kundennummer, name, vorname), die das am haufigsten bestellte Produkt (gemessen an der Anzahl der Datensatze in der Tabelle POSITIONEN) bestellt haben + SELECT + 1 + Abfragen + select k.kundennummer, k.name, k.vorname from kunden k join (select distinct a.kundennummer from auftrag a join (select distinct ahp.auftragsnummer from auftrag_hat_positionen ahp join (select produktnummer from (select produktnummer, count(*) as c from auftrag_hat_positionen group by produktnummer) tmp wheretmp.c=(select max(c) from (select produktnummer, count(*) as c from auftrag_hat_positionen group by produktnummer))) tmp on ahp.produktnummer = tmp.produktnummer) tmp on a.auftragsnummer = tmp.auftragsnummer) tmp on k.kundennummer = tmp.kundennummer + 1 + + + 42 + gesucht: alle Kunden (Kundennummer) und deren Auftrage (Auftragsnummer)aufsteigend sortiert nach Kundennummer! + SELECT + 1 + Abfragen + select k.kundennummer, a.auftragsnummer from kunden k join auftrag a on k.kundennummer=a.kundennummer order by k.kundennummer + 1 + + + 43 + gesucht: alle Kunden (Kundennummer) und deren Auftrage (Auftragsnummer)aufsteigend sortiert nach Kundennummer und innerhalb der Kundennummer absteigendsortiert nach Auftragsnummer! + SELECT + 1 + Abfragen + select k.kundennummer, tmp.auftragsnummer from kunden k join (select a.auftragsnummer, a.kundennummer from auftrag a order by a.auftragsnummer desc) tmp on k.kundennummer=tmp.kundennummer order by k.kundennummer + 1 + + + 44 + gesucht: alle Auftrage (gruppiert nach Kunden), deren Auftragsstatus 'in arbeit' ist! (Kundennummer, Auftragsnummer) + SELECT + 1 + Abfragen + select kundennummer, auftragsnummer from auftrag where auftragsstatus= 'in arbeit' group by kundennummer, auftragsnummer + 1 + + + 46 + gesucht: alle bestellten Produkte als Produktnummer ohne Duplikate! + SELECT + 1 + Abfragen + select distinct produktnummer from auftrag_hat_positionen + 1 + + + 47 + gesucht: alle Kunden (alle Kundendaten), die noch keine Auftrage gestellt haben! (Anfrage als unkorrelierte Anfrage) + SELECT + 1 + Abfragen + select * from kunden k where k.kundennummer not in (select kundennummer from auftrag) + 1 + + + 48 + gesucht: alle Kunden (alle Kundendaten), die noch keine Auftrage gestellt haben! (Anfrage als korrelierte Anfrage) + SELECT + 1 + Abfragen + select * from kunden k where not exists (select a.kundennummer from auftrag a where a.kundennummer=k.kundennummer) + 1 + + + 49 + gesucht: alle bestellten Produkte und deren Besteller (Produktnummer, Kundennummer)! + SELECT + 1 + Abfragen + select ahp.produktnummer, a.kundennummer from auftrag_hat_positionen ahp join auftrag a on a.auftragsnummer=ahp.auftragsnummer + 1 + + + 50 + gesucht: das Zahlungsverhalten (mogliche Werte --> -1, 0, 1) der Kunden (Kundennummer, Zahlungsverhalten)und Umwandlung der Ausgabe fur Werte >=0als positiv (+) und negativ (-) fur Werte mit -1! (Nutzung des case-Konstruktesim Select-Teil der Anfrage) + SELECT + 1 + Abfragen + select kundennummer, case when zahlungsverhalten = '-1' then'-' else '+' end from kunden_profil + 1 + + + 51 + gesucht: Kunden und deren Auftrage (Kundennummer, Auftragsnummer) mittels right outer join! + SELECT + 1 + Abfragen + select k.kundennummer, a.auftragsnummer from kunden k, auftrag a wherek.kundennummer=a.kundennummer(+) + 1 + + + 52 + gesucht: Kunden und deren Auftrage (Kundennummer, Auftragsnummer) mittels full join. + SELECT + 1 + Abfragen + select k.kundennummer, a.auftragsnummer from kunden k full join auftrag a on k.kundennummer=a.kundennummer + 1 + + + 53 + gesucht: Kunden (alle Daten) deren Name ahnlich Meier, Meyer, Mayer ist! + SELECT + 1 + Abfragen + select * from kunden where name like 'm__er' + 1 + + + 54 + gesucht: alle Kunden (Kundennummer, Name, Vorname), die das am haufigsten bestellte Produkt , gemessen an der bestellten Stuckzahl in der Tabelle POSITIONEN. + SELECT + 1 + Abfragen + select k.kundennummer, k.name, k.vorname from kunden k join (select distinct a.kundennummer from auftrag a join (select distinct ahp.auftragsnummer from auftrag_hat_positionen ahp join (select produktnummer from (select produktnummer, sum(stueckzahl) as s from auftrag_hat_positionen group by produktnummer) tmp where tmp.s=(select max(s) from (select produktnummer, sum(stueckzahl) as s from auftrag_hat_positionen group by produktnummer))) tmp on ahp.produktnummer = tmp.produktnummer) tmp on a.auftragsnummer = tmp.auftragsnummer) tmp on k.kundennummer = tmp.kundennummer + 1 + + + 55 + gesucht: der Wohnort der Kunden, die die meisten Auftrage geordert haben. + SELECT + 1 + Abfragen + select ad.ort from adressen ad join (select adress_id from kunde_hat_adresse kha join (select tmp.kundennummer from (select kundennummer, count(*) asc from auftrag group by kundennummer) tmp where tmp.c = (select min(c) from (select kundennummer, count(*) as c from auftrag group by kundennummer))) tmp on tmp.kundennummer = kha.kundennummer) tmp on tmp.adress_id=ad.adress_id + 1 + + + 56 + Uberprufen Sie in einem SQL-statement, ob es unter den Kunden (Kundennummer), die das teuerste Produkt bestellt haben, den (die) Kunden mit dem gro?tenAuftragsvolumen gibt. (Hinweis: benutzen Sie die Operation INTERSECT) + SELECT + 1 + Abfragen + select k.kundennummer from kunden k join (auftrag a join (auftrag_hat_positionen ahp join produktlager pl on ahp.produktnummer=pl.produktnummer) on a.auftragsnummer=ahp.auftragsnummer)on k.kundennummer=a.kundennummer where pl.preis=(select max(preis) from produktlager) intersect select k.kundennummer from kunden k join kunden_profil kp on k.kundennummer=kp.kundennummer where kp.auftragsvolumen=(select max(auftragsvolumen) from kunden_profil) + 1 + + + 57 + Bestimmen Sie in einem SQL-statement alle Produkte (Produktnummer, Bezeichnung, Preis, Kundennummer), die von Kunden mit den meisten Auftragen oder vonKunden mit dem gro?ten Auftragsvolumen, auf jeden Fall aber von Kunden mit den wenigsten Auftragen bestellt wurden! (Hinweis: verwenden Sie UNION und INTERSECT,entsprechend geklammert) + SELECT + 1 + Abfragen + select pl.produktnummer, pl.bezeichnung, pl.preis, kundennummer from kunden k join (auftrag a join (auftrag_hat_positionen pos join produktlager pl onpos.produktnummer=pl.produktnummer) on a.auftragsnummer=pos.auftragsnummer) onk.kundennummer=a.kundennummer where k.kundennummer in (select tmp.kundennummer from (select kundennummer, count(*) c from auftrag group by kundennummer) tmp where tmp.c=(select min(c) from (select kundennummer, count(*) as c from auftrag group by kundennummer)) intersect select k.kundennummer from kunden k join kunden_profil kp on k.kundennummer=kp.kundennummer where kp.auftragsvolumen=(select max(auftragsvolumen) from kunden_profil) union select tmp.kundennummer from (selectkundennummer, count(*) as c from auftrag group by kundennummer) tmp where tmp.c=(select max(c) from (select kundennummer, count(*) as c from auftrag group by kundennummer))) + 1 + + + 58 + Definieren Sie eine Sicht uber alle Kunden (Kundennummer, Name, Ort) undderen Auftrage (Auftragsnummer, Auftragsstatus, Auftragsdatum) und benennen Siediese Sicht als Auftragsdetails! (mehrfache Adressen ergeben mehrere Eintrage mit gleichen Inhalten???) + CREATE + 0 + Abfragen + create view auftragsdetails as (select au.auftragsnummer, au.auftragsstatus, au.auftragsdatum, k.kundennummer, k.name, a.ort from (adressen a join (kunde_hat_adresse kha join (kunden k join auftrag au on k.kundennummer = au.kundennummer) on kha.kundennummer = k.kundennummer) on a.adress_ID = kha.adress_ID)) + 1 + + + 59 + Fragen Sie die Sicht Auftragsdetails an und lassen Sie sich alle Informationen geben, fur die der Auftragsstatus 'in Arbeit' ist! + SELECT + 0 + Abfragen + select * from auftragsdetails where auftragsstatus = 'in arbeit' + 1 + + + 60 + Definieren Sie eine Sicht uber alle Auftrage und deren Produkte (Auftragsnummer, Produktnummer, Produktbezeichnung, Preis) als Produktdetails! + CREATE + 0 + Abfragen + create view produktdetails as (select distinct au.auftragsnummer, pl.produktnummer, pl.bezeichnung, pl.preis from produktlager pl join (auftrag au join auftrag_hat_positionen ahp on ahp.auftragsnummer = au.auftragsnummer) on ahp.produktnummer = pl.produktnummer) + 1 + + + 61 + Kombinieren Sie alle Informationen der beiden Sichten und lassen Sie sich diese anzeigen! (natural join) + SELECT + 0 + Abfragen + select * from produktdetails natural join auftragsdetails + 1 + + + 64 + Legen sie eine beliebige Tabelle an. Wahlen sie bitte einen Tabellennamen, der sich beispielsweise aus Ihrem Namen herleitet. Bei Namen, wie "test","tabelle" etc. konnte es zu Fehlermeldungen kommen, da? das Objekt bereits existiert! Bitte versuchen sie es in dem Fall mit einem anderen Tabellennamen. + CREATE + 1 + Vorbereitung + keine Musterlosung + 1 + + + 65 + Fullen sie die von Ihnen angelegte Tabelle mit mindestens einem Datensatz. + INSERT + 1 + Vorbereitung + keine Musterlosung + 1 + + + 66 + Fragen Sie bitte die Inhalte der von Ihnen angelegten Tabelle ab! + SELECT + 1 + Vorbereitung + select * from + 1 + + + 83 + Wer schoss in der 90. Spielminute ein Tor? + SELECT + 1 + Abfragen + select pname from schiesst where spielminute = 90 + 2 + + + + + 81 + 1 + 1 + 2 + + + 82 + 2 + 2 + 2 + + + 83 + 3 + 3 + 2 + + + 84 + 4 + 4 + 2 + + + 85 + 5 + 5 + 2 + + + 86 + 6 + 6 + 2 + + + 87 + 7 + 7 + 2 + + + 88 + 8 + 8 + 2 + + + 89 + 9 + 9 + 2 + + + 90 + 10 + 10 + 2 + + + 91 + 11 + 11 + 2 + + + 92 + 12 + 12 + 2 + + + 93 + 13 + 13 + 2 + + + 94 + 14 + 14 + 2 + + + 95 + 15 + 15 + 2 + + + 96 + 16 + 16 + 2 + + + 97 + 17 + 17 + 2 + + + 98 + 18 + 18 + 2 + + + 99 + 1 + 1 + 3 + + + 101 + 2 + 2 + 3 + + + 102 + 3 + 3 + 3 + + + 103 + 4 + 4 + 3 + + + 104 + 5 + 5 + 3 + + + 105 + 6 + 6 + 3 + + + 106 + 7 + 7 + 3 + + + 107 + 8 + 8 + 3 + + + 108 + 9 + 9 + 3 + + + 109 + 10 + 10 + 3 + + + 110 + 11 + 11 + 3 + + + 111 + 12 + 12 + 3 + + + 112 + 13 + 13 + 3 + + + 113 + 14 + 14 + 3 + + + 114 + 15 + 15 + 3 + + + 115 + 16 + 16 + 3 + + + 116 + 17 + 17 + 3 + + + 117 + 18 + 18 + 3 + + + 33 + 16 + 16 + 1 + + + 34 + 17 + 17 + 1 + + + 0 + 1 + 1 + 1 + + + 35 + 19 + 19 + 1 + + + 36 + 18 + 18 + 1 + + + 37 + 20 + 20 + 1 + + + 38 + 21 + 21 + 1 + + + 39 + 22 + 22 + 1 + + + 40 + 23 + 23 + 1 + + + 42 + 5 + 5 + 1 + + + 43 + 6 + 6 + 1 + + + 44 + 7 + 7 + 1 + + + 46 + 8 + 8 + 1 + + + 47 + 9 + 9 + 1 + + + 48 + 10 + 10 + 1 + + + 49 + 11 + 11 + 1 + + + 50 + 12 + 12 + 1 + + + 51 + 13 + 13 + 1 + + + 52 + 14 + 14 + 1 + + + 53 + 15 + 15 + 1 + + + 54 + 24 + 24 + 1 + + + 55 + 25 + 25 + 1 + + + 56 + 26 + 26 + 1 + + + 57 + 27 + 27 + 1 + + + 58 + 28 + 28 + 1 + + + 59 + 29 + 29 + 1 + + + 60 + 30 + 30 + 1 + + + 61 + 31 + 31 + 1 + + + 64 + 2 + 2 + 1 + + + 65 + 3 + 3 + 1 + + + 66 + 4 + 4 + 1 + + + -- cgit