0
0
mirror of https://github.com/marcrobledo/savegame-editors.git synced 2025-04-24 16:35:10 +00:00

provisional botw update to 1.2

This commit is contained in:
Marc Robledo 2017-05-10 09:27:13 +02:00
parent 61ac3a89cc
commit 3b4f5522f5
10 changed files with 3421 additions and 0 deletions

BIN
favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

554
savegame-editor.css Normal file
View File

@ -0,0 +1,554 @@
/* Savegame Editor CSS template by Marc Robledo v20170504 */
/* minify at https://cssminifier.com/ + https://www.base64-image.de/ (sprites */
/* @FONT-FACES */
@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700,800');
body{
margin:0;
font:15px 'Open Sans',sans-serif;
cursor:default;
background-color:#252525;
margin:140px 0 40px;
background-color:#f8f8f8;
color:#181818
}
/* flex box */
.row{
display:flex;
flex-flow:row wrap; /* this is the same as flex-direction:row;flex-wrap:wrap; */
align-items:center; /* vertical align */
justify-content:space-between
}
/*.columns-1,.columns.one{width:8.33333%}
.columns-2,.columns.two{width:16.66667%}
.columns-3,.columns.three{width:25%}
.columns-4,.columns.four{width:33.33333%}
.columns-5,.columns.five{width:41.66667%}
.columns-6,.columns.six{width:50%}
.columns-7,.columns.seven{width:58.33333%}
.columns-8,.columns.eight{width:66.66667%}
.columns-9,.columns.nine{width:75%}
.columns-10,.columns.ten{width:83.33333%}
.columns-11,.columns.eleven{width:91.66667%}
.columns-12,.columns.twelve{width:100%}*/
.columns.c1,.columns.one{width:7.33333%}
.columns.c2,.columns.two{width:15.66667%}
.columns.c3,.columns.three{width:24%}
.columns.c4,.columns.four{width:32.33333%}
.columns.c5,.columns.five{width:40.66667%}
.columns.c6,.columns.six{width:49%}
.columns.c7,.columns.seven{width:57.33333%}
.columns.c8,.columns.eight{width:65.66667%}
.columns.c9,.columns.nine{width:74%}
.columns.c10,.columns.ten{width:82.33333%}
.columns.c11,.columns.eleven{width:90.66667%}
.columns.c12,.columns.twelve{width:99%}
#the-editor .columns{margin-bottom:3px}
/* useful classes */
.help:hover{cursor:help}
.hidden{display:none}
.mono{font-family:monospace;color:#888}
.clickable{cursor:pointer} /* also Safari iOS fix for clickable elements */
.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.text-left{text-align:left}
.text-right{text-align:right}
.text-center{text-align:center}
.text-justify{text-align:justify}
.padding-vertical{padding:20px 0}
.round{border-radius:3px}
/* colors */
.bg-light-gray{background-color:rgba(216,216,216,.99)}
.bg-mid-gray{background-color:rgba(144,144,144,.99);color:white}
.bg-dark-gray{background-color:rgba(72,72,72,.99);color:white}
.bg-red{background-color:#e74c3c}
.bg-orange{background-color:#f39c12}
.bg-blue{background-color:#3498db}
.bg-green{background-color:#25ba84}
.fnt-white{color:white}
.fnt-light-gray{color:#d8d8d8}
.fnt-mid-gray{color:#909090}
.fnt-dark-gray{color:#48484}
.fnt-red{color:#e74c3c}
/*.fnt-red{color:#fe5d05}*/
.fnt-orange{color:#f39c12}
/*.fnt-orange{color:#feb806}*/
.fnt-blue{color:#3498db}
.fnt-green{color:#25ba84}
/*.fnt-green{color:#9ac430}*/
.border-white{border-color:white}
.border-light-gray{border-color:#d8d8d8}
.border-mid-gray{border-color:#909090}
.border-dark-gray{border-color:#48484}
.border-red{border-color:#e74c3c}
.border-orange{border-color:#f39c12}
.border-blue{border-color:#3498db}
.border-green{border-color:#25ba84}
/* Icons */
span.sprite,span.icon,button.with-icon:before{
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAABECAQAAAB99PJCAAAOMUlEQVR42u1cC3RTRRpOX/hcsGcRRXysngNoWdtuM0mharUFi0ILapXaQy0oLAoCCyILWDCoLCCusrq+wEVBq1BclbPuCrVSBAVXjkBp6RMEKn3a0iRt7SNN7r9z507uI3duk9A0jXuS/7Tcmf/euTPfN/8//8yfogMdAqTxAzp/CJLkE2RHjVJZpg1Dj6B8ZMb9sqACNAOFS3f4rXdKWYaOoCs17rgZnUHZtP8fIw73mpcQorsKzcYyAq3ENZ+Cjr6E/aPqjNBQfwxxGhqCBqEy3LoDX0VguENlBIxGx+i7nVKMxgwoASbSi2Mad7yHdXaUJcNMIuB2cp1CCABCAJntLAFfEiC8ThyUsrQcl8+gBtp+KyrBv7eiUKodjZpc4OflPE+Bz4EGAQ03BKyhfVjFuON36F/oWvQF1lZ7SIAWy761AOFZ9TUuDUYtDIC70c1EGybO/iKUim5EiWgPLZ9AET4mwPlu2ejx9Qh0sQyXEPRXetcKpEbvJnSW2Oe1KBfFBpQFSLAr4QfJoAFVovfRYXr9Oh3eI7Rch65ACegDNBk7qFJa96iqb6L0AjFzeiFlC1J9El55CtClFJNQ9DbRc2ihyyrFyyh0jj6fL2qlNq/GFITgNWAGlhHoNS8sgDE/lRC60avvk68xKJqCnotnO//mHFI6iW4h2nz6zE7c+XL87/f4jndpXYF7AN3NcHcEohrhTegSMvs3UfjnqcIE3lXW0qfr8TKsJoCJkUcW4CsCZFbAGvo1YsTTJLVAIh9eerBhAy7dhiLFeWb2AmA3BGnabRxebfgnvsKucgu5suMoRh2njRTh/xlFybTuCRgYC1DVcjgKcr67SkaAvM0uDMeV6KhGO727GDe907QAnoIW+nZhImQyAuWR4qRoRjEKrfDky9jny+Ul9MsFrwHg6zVgI479+boM+t5oHIry5UKFBfDyBdbulZXNPl2E2WsALwa8+xDqbSjddZIS318jwh/rouVr32Cg+5I3FiAP0kA7SvIIfnUUpMPxBF/ThhYjI97A1NBF9yKiLZDBUo0WYQcglff6JQrixUisoBvdp8YI+3vJ+USrtHz9Wga+A7MPQOxdQR7DhZnRjUSbLav7L14BTsvKj/l8y6VyYSIacZj+VNYkFfcvTehWhtY9Af7ZB/Qy8Aj0DYMADmUSbThZfAUpxL62XCyVo0H+OSzxxLYx/DFMejy0gIE9C7ocO5pleK4La8EuPNOOo7mih42icYirhUQjXcAQoPD9XlvAAA9Akh2ku7eSUFQeY4zBu14l/OWCt4WAF3IUtxbv3+9RSBIhgAsIAjyiJwLNxFYinIbuRbOcIeuvgIAdmIK1eFupnEC1hICPfwUE/L+LLpgP6Od8wDlx1gunu79H27Do8c4a24FgAXxcw/zxdz4gtRWBEVj5AEOR0oQNJYGQDxhbwr4j5VPcQ4drPmBTOF/OIkfZma9nnw+wfICx2tBIwW0z4CXXuE3KBxgZx9VGy8DnA16tZ+cDTu9ciLWJzSwCTCTQeCZfRgBoEAA+J0ArH5DQoQY43pEYJeQDEsqEmkw4ALVwFBbQOxJODmw+4D0AdULmpni8jx9XXl24EkrrPSTAT/kAcDkLklof/CYl4AF4FrLpfevtQBIyY2cI5XvAUvLO0uTPTMu68x9yUjDbH/kAo9W41zUfYIDtAOqEzKj4euH5O/ZDLrgkZO6IxU+HFqxZA2sg//X727ywAB+dhsp18iFGTyanPyvBXgnvw+Et5I4Ui5APSCsRnljS2RZ5+1kE4yshYjk9oEsrZbeuoLeP+YAEcjQeXyjkA4ybBfg/5kCdkBkdT53oRCj7NjDzAQz4paerPwGy/bKtmiBrIbGH+nyOP5JIgkOlKDK5XahL7JEDDEx6Pc4HuH5ofUljsvD+Qmc+wAifcaBOyIx0wn83VDWBNwkZv1lAr/kAA1TcQN8bNtXOzgckQGnrocnxx7XyASDC77t8AMSVWpNBygfEw24HqBMyI53OZzyUt4AqIfMIzFVItncW4JwUonkr5ghj9rjq5UuvCoCXIUXwkdOd+QAjKT9B7kmSgbLAAXEJB6RyEjDnscYa1HvvtFwYhjGuuPUuWj8WvrKDOiEzKr7BCX+ZBVQJmQyAH+ArhRzO9soCfJcPAKRTUbBxM1mQ4juFfMDYRmHR7fqa1z7RI8GS0oEWGTmpPKfHl1EQ24WRkRqK23grGAf77KBOyNwsOZ8KMzASMtN/Ub/vUetA7AOcz7okZLKK1Q7sTkf6aF77oewYLqv7n69Okd3zfplvt1wsF0ahNJZaU+FADzASMvHNQm8mQGULMBMyma3qt/l9H8BwWmI+YBrji1cGmL6Q13Y8+rBYN8Oal3G/zVl6ENrm+Hznq+3C4qAaUrVtewKUm0EjIeOGAC/OgqCXDl64RLQdmgdb4d90LViCN1yZfKBHEjIQXlGZzFjik6D0NARMQgb7fjNoJmTcWkAvP345bYHLoQCWQfbSTr5Txwoh1V4MYkIGoqos01zgfxAqW0GRkPH242OraRa2XWx6MlvRApdvRSyWExA4soMM5lZ8FaZYBMfYSj+HecBHRHfhIG4XdFeAnxIyfaUxlRBgtLs4WAdPwCSBgP76uBuId24KZmIrMWN6LLAXZvXd+fjNQqpxnw+BzSUItuNQFOCcQECa9o/vhugJBIl3h6UNTWXBYQqdFR0/cUiaLm1wmvGeWTGm0H50KYreaekfjo+atOJyDSqH6hbpYoRndU/pVlMJIbphuvuxXKPLxjVLvFwDdGm89IehzxmTc4kpvOYg5+iy4KuwWdGmEEm7dFhs6vZXao/a2gFsv9QW5W38w5Snrx5IZ/lQQuHWllPTM9naGU+2mDd8qovmry1W56TfGcbjv/rhg0UHi56fXV0KYG0VLYA5B9J8GQUpqVOWMsdufXF8xqj7rD8BcJwxQz91+yup450ULB02/3Hzj0oLNp9d9GR/UODZBEu/7ZuP+F50VDFauEKX2ZkL4OA25ip34AIBB1/krw9v4gkAWRTEXt19GYbyD6aJ1Mraybn4wDaA9sYus9B8T4flLEDl3tUEYFNozpxuq/qcw9b67FxTmK/hl/fSKcuHmGR5B1PI1Du+y6OdWKVqIfLO549X3rbC9iV28zUeEuAfC6CPponwy/IB9lY1wJxNyAcsiHXOfq74zGPrph/L4vKFsqV6kd7VPUri/QwX+6WgYP5N6TMnTTENcsKfmvTDZ/S2FaoWfpv0lxYLQF3jXX9y5gOkEQ0djleBkHPL+OvadWfKvbAAcVC0e65DdB28BgTOwbnQuGT4sVxaR/IB9PLzp6/itYUbhHL3+c7IV5+u2pdngoiOs0Ldvle8OGzTnOGu8Cvv+fsztvbaoqlTeSvAsz/5xG5hNsBCVQtDJ653evyuQnW/prwV/lz4c5Pf3H9k/5GHNtU2eGMB7k47PToNVdwnq52/oLmKuJ48IfrnVvKltrpZ8/hS/VHhgdPf3pLaeg67nqKVl54sEOrqizTPOz2e4e4IdNSTGVuUOiXn4knjT+yh8M9Tz/5711upJTsaBevtBRvxLZ6tAT4iQLIh1tBbrqflMJtVaoGPfMiY7WY87znr+Qnp0zqa6DrQrgGiFzPcrQuL48jaVFcUk1FGiOccMFsNf8paEf5miHKLjZwAf1mAHALFOynCy2OdLqmtVtaC7OOwQdwfM1p+7O1U/8LzAZr6OM5C304mAmSy4Hc6H0cLxDDaVeUDvLMAn4Sh4tOuFGy0t/A1H26Yblh83WPROfM5jgx1H6/taZcwqf8hy1B/XCr3tPv8JJRNj4Gjs5vrgXSm728V4Y9Vt9pco96rNZwekCiI3c6JLQTOzvx/LF+yY2NHM1/qbNkynBxHfyeh0vlz83PYAYifju/74TCaPUIjbwU4MrtPrZu0QeZ8ollt1p1SEzAg+wB2yRRWc4AR57d/MpEsgjOkOkvFT5M7GmQHKrMDIR/QSm3UcZ4cI3pPgBdnQf2UD3AcZKwgYj7AXia6oOKsx/lIiMJ/MjDyASL8MVpaTyxgAPMBIOYDeki80b0Hz7TjMFfURnFmBj9WhrkPHAGa+QBKQLwuUSHj5AQEdD6AyBiu1AX+ioCB3wN66k5t/s9HhXLZsjswCfBjPsBv4j4fIC4yb0IZdGCpgE1g9PQF+j/rO/Wgn6kvwr/VclL/AP7drc8J/imG5h9oYLkM3gXOZQnMhcEeEdBJgJ6pf03/OUM2EwJA3xWEWpuAy+A75k72CAyht8XAHmwZVuyjb4BrMTUW6MQOARECgBKg0xCBAAhCrU3ARwTsdPgSfobvsTTAPpiG/RbALnITAmk3Wgs10r4IxgUJ6DsBiQTMXJXqHVJ/N776WvMo6UCQgL4T8AGB8m8q1VpSvx1fdWsSYAsS0HcCzpIld5hKNQR6sIb/f8/qNQloCBLQdwK6+FMtpvI8n9rB/z6vScC6IAF9J4AcBcNwlSoS+HNHM9kE7WLCvxsuEgmYo0lAZpCA3gnYT8B8QaVaQeq/ofvQnSr4d8FFsjD0mP56fShDRugPBQnonYAFGMwSvJyuh+vF6uswIXYC8xJaEw7bFPDnAf2qBnP/y5Ag1FoEXIaX4RJYRQC/l1QmiTDXyXbDofCWWP+edFgWJKDvG7EEvKV6G6bAU0D+lBi7FvpNEEyF/OYQeJnUvwGhsqOIIAE+OAtKwYttFd77ki+bwiACsxVYqcoX+MhHcRYkh7lJ/wSOh5SyJ0iAewJ0OAp6A5rgN3TJbYLNeB3w7DRUTsAuMfZJ1h8lEhoMQz0j4IJFgwAKe5CAIAFBAoIE9C8B3R4R0B2Eur8IyNF3MQiI1BuI6GhKcnUQarb8D1Y8dNzm1WVIAAAAAElFTkSuQmCC');
background-position:0px 0px;
display:inline-block;
vertical-align:middle
}
span.sprite{width:24px;height:24px}
span.icon,button.with-icon:before{
width:16px;height:16px;
margin-right:4px;
content:""
}
button.with-icon.icon0:before{background-position:-0px -16px}
button.with-icon.icon1:before{background-position:-16px -16px}
button.with-icon.icon2:before{background-position:-32px -16px}
button.with-icon.icon3:before{background-position:-48px -16px}
button.with-icon.icon4:before{background-position:-64px -16px}
button.with-icon.icon5:before{background-position:-80px -16px}
button.with-icon.icon6:before{background-position:-96px -16px}
button.with-icon.icon7:before{background-position:-112px -16px}
button.with-icon.icon8:before{background-position:-128px -16px}
button.with-icon.icon9:before{background-position:-144px -16px}
button.with-icon.icon10:before{background-position:-160px -16px}
button.with-icon.colored.icon0:before{background-position:-0px -32px}
button.with-icon.colored.icon1:before{background-position:-16px -32px}
button.with-icon.colored.icon2:before{background-position:-32px -32px}
button.with-icon.colored.icon3:before{background-position:-48px -32px}
button.with-icon.colored.icon4:before{background-position:-64px -32px}
button.with-icon.colored.icon5:before{background-position:-80px -32px}
button.with-icon.colored.icon6:before{background-position:-96px -32px}
button.with-icon.colored.icon7:before{background-position:-112px -32px}
button.with-icon.colored.icon8:before{background-position:-128px -32px}
button.with-icon.colored.icon9:before{background-position:-144px -32px}
button.with-icon.colored.icon10:before{background-position:-160px -32px}
span.icon.icon0,button.with-icon.transparent.icon0:before{background-position:-0px 0px}
span.icon.icon1,button.with-icon.transparent.icon1:before{background-position:-16px 0px}
span.icon.icon2,button.with-icon.transparent.icon2:before{background-position:-32px 0px}
span.icon.icon3,button.with-icon.transparent.icon3:before{background-position:-48px 0px}
span.icon.icon4,button.with-icon.transparent.icon4:before{background-position:-64px 0px}
span.icon.icon5,button.with-icon.transparent.icon5:before{background-position:-80px 0px}
span.icon.icon6,button.with-icon.transparent.icon6:before{background-position:-96px 0px}
span.icon.icon7,button.with-icon.transparent.icon7:before{background-position:-112px 0px}
span.icon.icon8,button.with-icon.transparent.icon8:before{background-position:-128px 0px}
span.icon.icon9,button.with-icon.transparent.icon9:before{background-position:-144px 0px}
span.icon.icon10,button.with-icon.transparent.icon10:before{background-position:-160px 0px}
span.sprite{width:24px;height:24px}
span.sprite.github{background-position:0px -48px;width:16px;height:16px; margin-right:5px}
span.sprite.heart{background-position:-16px -48px;width:16px;height:16px; margin-right:5px}
button.with-icon.file-load:before{background-position:-32px -48px;width:20px;height:20px; margin-right:8px}
/* header+toolbar+footer */
#header{
color:white;
position:fixed;
top:0;left:0;
width:100%;
z-index:100
}
#header-top{
background-color:#256796;
background-color:rgba(37,103,150,.97);
}
#toolbar{
background-color:#e8e8e8;
background-color:rgba(232,232,232,.95);
color:#333;
padding:8px
}
#header h1 img{width:24px; vertical-align:middle}
#header h1{font-size:140%;margin:0;display:inline-block}
#header h1 small{color:#94b4cc;font-size:60%}
.header-buttons{
font-size:85%
}
.header-buttons a.author{
color:white;
text-decoration:none;
border-bottom:1px solid #4c82a9;
margin-right:10px
}
.header-buttons a.author:hover{
border-color:#83d8ff
}
.header-buttons a.button{
text-decoration:none;
color:white;
background-color:#1a415d;
padding:10px 20px;
border-radius:3px
}
.header-buttons a.button:hover{
background-color:#153044
}
.donate.button{
background-color:#51a451 !important;
/*text-shadow:0 -1px 0 #37a137 !important;
background:radial-gradient(#60bd60,#398a39);*/
animation:donateglow 2s infinite
}
.donate.button:hover{background-color:#3e903e !important}
@keyframes donateglow{
0%{box-shadow:none}
50%{box-shadow:#d8ff7c 0 0 8px inset}
100%{box-shadow:none}
}
hr{border:none;border-top:1px dotted #bbb;margin:15px 0}
h3{
border-bottom:2px solid #888;
font-size:135%;
padding:10px 0;
text-transform:uppercase;
color:#444
}
h4{}
table{width:100%}
tbody tr:nth-child(even){background-color:#f2f2f2}
th{background-color:#d4d4d4}
/* forms */
input[type=text],input[type=number],select{
padding:6px 8px;
width:250px;
max-width:90%;
font:14px 'Open Sans', sans-serif;
border:1px solid #888;
border-radius:2px;
box-sizing:border-box
}
input[type=text]:hover,input[type=number]:hover,select:hover{
border-color:#666
}
input[type=text]:focus,input[type=number]:focus,select:focus{
box-shadow:#63bce5 0 0 4px 1px;
border-color:#47a8df
}
input[type=text].error,input[type=number].error,select.error{
box-shadow:#f88 0 0 4px 1px;
border-color:red
}
input[type=text].small,input[type=number].small,select.small{width:70px}
input[type=text].medium,input[type=number].medium,select.medium{width:130px}
.full-width{width:100% !important;max-width:100% !important}
/* buttons */
button{
font-family:inherit;
font-size:100%;
min-width:120px;
border-radius:2px;border:1px solid;border-color:#ccc #ccc #b3b3b3;
padding:6px 12px;
margin:0 5px;
background-color:#f0f0f0;
background-image:linear-gradient(to bottom, #fff, #e6e6e6);
text-shadow:0 1px 0 #f8f8f8;
color:#333;
box-shadow:0px 1px 0px rgba(255, 255, 255, 0.2) inset;
transition:border-color ease-in-out .15s;
box-sizing:border-box
}
button.small{
min-width:1px
}
button:hover{
text-shadow:none;
border-color:#999999
}
button:active{
background-image:none;
transform:translate(0px,1px);
border-color:#888;
text-shadow:none;
box-shadow:0 2px 8px -3px rgba(0, 0, 0, 0.5) inset;
background-color:#eeeeee;
transform:translateY(1px)
}
button:focus{}
button:disabled{opacity:.35}
button.colored{color:white !important}
button.colored.blue{
box-shadow:0 1px 0 rgba(120, 200, 230, 0.5) inset;
background-color:#21759B;
background-image:linear-gradient(to bottom, #2A95C5, #21759B);
border-color:#21759B #21759B #1E6A8D;
text-shadow:0 -1px 0 #20749a
}
button.colored.blue:hover{
box-shadow:0 1px 0 rgba(120, 200, 230, 0.6) inset;
background-color:#278AB7;
background-image:linear-gradient(to bottom, #2E9FD2, #21759B);
border-color:#1B607F;
text-shadow:0 -1px 0 #1b6080
}
button.colored.blue:active{
box-shadow:0 2px 8px -3px rgba(0, 0, 0, 0.5) inset;
background:linear-gradient(to bottom, #21759B, #278AB7) repeat scroll 0 0 #1B607F;
border-color:#124560 #0e74a3 #0e74a3;
text-shadow:0 -1px 0 #177ea4
}
button.colored.red{
box-shadow:0 1px 0 #df4c45 inset;
background-color:#b72319;
background-image:linear-gradient(to bottom, #ce271d, #a41f17);
border-color:#a41f17 #a41f17 #951d15;
text-shadow:0 -1px 0 #a01d15
}
button.colored.red:hover{
box-shadow:0 1px 0 #e8564f inset !important;
background-color:#bf261c !important;
background-image:linear-gradient(to bottom, #db2c20, #a52017) !important;
border-color:#871a13 !important;
text-shadow:0 -1px 0 #8b1b14 !important
}
button.colored.red:active{
box-shadow:0 2px 8px -3px rgba(0, 0, 0, 0.5) inset !important;
background:linear-gradient(to bottom, #a51f17, #c1251b) repeat scroll 0 0 #b22118 !important;
border-color:#66140c #a0150d #a0150d !important;
text-shadow:0 -1px 0 #a41e17 !important
}
button.colored.green{
box-shadow:0 1px 0 #81cf81 inset !important;
background-color:#59b259 !important;
background-image:linear-gradient(to bottom, #61c261, #51a351) !important;
border-color:#52a452 #4f9f4f #448944 !important;
text-shadow:0 -1px 0 #37a137 !important
}
button.colored.green:hover{
box-shadow:0 1px 0 #99de99 inset !important;
background-color:#278AB7 !important;
background-image:linear-gradient(to bottom, #64ce64, #51a351) !important;
border-color:#3f7f3f !important;
text-shadow:0 -1px 0 #1c9216 !important
}
button.colored.green:active{
box-shadow:0 2px 8px -3px rgba(0, 0, 0, 0.5) inset !important;
background:linear-gradient(to bottom, #1e8f22, #23a627) repeat scroll 0 0 #219b24 !important;
border-color:#105815 #17941b #17941b !important;
text-shadow:0 -1px 0 #17a417 !important
}
button.colored.orange{
box-shadow:0 1px 0 #ffb519 inset !important;
background-color:#e69501 !important;
background-image:linear-gradient(to bottom, #fda502, #d08400) !important;
border-color:#d38500 #c97e00 #b46f00 !important;
text-shadow:0 -1px 0 #8f5901 !important
}
button.colored.orange:hover{
box-shadow:0 1px 0 #ffc03c inset !important;
background-color:#e69501 !important;
background-image:linear-gradient(to bottom, #ffb01e, #d08400) !important;
border-color:#a36300 !important;
text-shadow:0 -1px 0 #95620f !important
}
button.colored.orange:active{
box-shadow:0 2px 8px -3px rgba(0, 0, 0, 0.5) inset !important;
background:linear-gradient(to bottom, #c07400, #ed9500) repeat scroll 0 0 #219b24 !important;
border-color:#53400b #886912 #886912 !important;
text-shadow:0 -1px 0 #654e0e !important
}
button.transparent{
min-width:auto;
box-shadow:none;
padding:0;
background:none;
text-decoration:underline;
border:none;
text-shadow:none;
color:black !important
}
button.transparent:hover{background-color:rgba(0,0,0,.05)}
button.no-text.with-icon:before{margin-right:0px}
.wrapper{
max-width:920px;
margin:0 auto
}
.card{
position:relative;
margin-bottom:40px;
padding:20px;
color:black;
text-shadow:initial;
border-radius:4px;
line-height:2.5;
background-color:#fafafa
}
fieldset{border:2px solid white;border-radius:4px;margin-bottom:30px}
fieldset.yellow{border-color:#feb806}
fieldset.green{border-color:#9ac430}
fieldset.red{border-color:#fe5d05}
fieldset legend{font-weight:bold}
/*
fieldset.yellow legend{color:#feb806}
fieldset.green legend{color:#9ac430}
fieldset.red legend{color:#fe5d05}
*/
#dragzone{
border:4px dashed #bbb;
color:#888;
text-align:center;
border-radius:8px;
position:relative;
transition:all .2s;
padding-bottom:20px;
/*font-weight:bold;*/
}
.dragging-files #dragzone{
border-color:#3498db;
color:#3498db;
background-color:white
}
#dragzone-message{
font-size:180%;
margin:128px 0;
line-height:2
}
#demo{
text-decoration:none;
background-color:#ccc;
color:#333;
padding:4px 16px;
border-radius:3px;
clear:both
}
#demo:hover{
background-color:#bbb;
color:#000
}
#warning{
position:fixed;
bottom:-80px;
width:100%;
background-color:#a30202;
background-color:rgba(164,0,0,.96);
color:white;
transition:bottom .5s
}
#warning.visible{bottom:0px}
#warning:hover{background-color:#b31212}
#warning u{
background-color:white;
color:#b31212;
text-decoration:none;
padding:6px 16px;
border-radius:3px;
font-weight:bold
}
/* responsive */
@media only screen and (max-width:961px){
.wrapper{max-width:auto; padding-left:10px;padding-right:10px;}
}
@media only screen and (max-width:721px){
#header .columns-6,#header .columns.six{width:100%;text-align:center}
#the-editor{font-size:13px}
}
@media only screen and (max-width:481px){
#the-editor{font-size:12px}
}
/* MarcDialogs */
#dialog-about{background-color:#ffd823}
.dialog-overlay,.dialog{visibility:hidden;opacity:0}
.dialog-overlay.active,.dialog.active{visibility:visible;opacity:1;transition-delay:0s}/* fixes fade-in/fade-out*/
.dialog-overlay{
transition:visibility 0s .2s, opacity .2s;
background-color:black;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";/* IE8 */
background-color:rgba(0,0,0,.75)
}
.dialog{
position:absolute;top:0;left:0; /* fix for reserved space */
transform:translateY(-10px);
transition:visibility 0s .2s, opacity .2s ease-in, transform .2s ease-in;
background-color:white;
padding:15px;
min-width:360px;
max-width:80%;
border-radius:4px;
box-shadow:black 0 0 10px;
line-height:1.8
}
.dialog.active{transform:translateY(0px)}
.buttons{
margin-top:20px;
text-align:center
}

437
savegame-editor.js Normal file
View File

@ -0,0 +1,437 @@
/*
savegame-editor.js v20170504
A library that lets you create easily a savegame editor. Made with vanilla JS.
by Marc Robledo 2016-2017
http://www.marcrobledo.com/license
*/
/* LIBRARIES */
/* MarcBinFile.js v2016 */
function MarcBinFile(a,b){if("function"!=typeof window.FileReader)throw console.error("MarcBinFile.js: Browser doesn't support FileReader."),"Invalid browser";if("object"==typeof a&&a.name&&a.size)this.file=a,this.fileName=this.file.name,this.fileSize=this.file.size,this.fileType=a.type;else if("object"==typeof a&&a.files){if(1!=a.files.length){for(var c=[],d=a.files.length,e=function(){d--,0==d&&b&&b.call()},f=0;f<a.files.length;f++)c.push(new MarcBinFile(a.files[f],e));return c}this.file=a.files[0],this.fileName=this.file.name,this.fileSize=this.file.size,this.fileType=this.file.type}else{if("number"!=typeof a)throw console.error("MarcBinFile.js: Invalid type of file."),"Invalid file.";this.file=!1,this.fileName="newfile.hex",this.fileSize=a,this.fileType="application/octet-stream"}this.littleEndian=function(){var a=new ArrayBuffer(2);return new DataView(a).setInt16(0,256,!0),256===new Int16Array(a)[0]}(),this.file?(this.fileReader=new FileReader,this.fileReader.addEventListener("load",function(){this.dataView=new DataView(this.result)},!1),b&&this.fileReader.addEventListener("load",b,!1),this.fileReader.readAsArrayBuffer(this.file)):(this.fileReader=new ArrayBuffer(this.fileSize),this.fileReader.dataView=new DataView(this.fileReader),b&&b.call())}MarcBinFile.prototype.isReady=function(){return 2==this.fileReader.readyState},MarcBinFile.prototype.save=function(){var a;try{a=new Blob([this.fileReader.dataView],{type:this.fileType});}catch(e){if(e.name==="InvalidStateError"){var bb=new MSBlobBuilder();bb.append(this.fileReader.dataView.buffer);a=bb.getBlob('application/octet-stream')}}saveAs(a,this.fileName)},MarcBinFile.prototype.readByte=function(a){return this.fileReader.dataView.getUint8(a)},MarcBinFile.prototype.readByteSigned=function(a){return this.fileReader.dataView.getInt8(a)},MarcBinFile.prototype.readBytes=function(a,b){for(var c=new Array(b),d=0;d<b;d++)c[d]=this.readByte(a+d);return c},MarcBinFile.prototype.readShort=function(a){return this.fileReader.dataView.getUint16(a,this.littleEndian)},MarcBinFile.prototype.readShortSigned=function(a){return this.fileReader.dataView.getInt16(a,this.littleEndian)},MarcBinFile.prototype.readInt=function(a){return this.fileReader.dataView.getUint32(a,this.littleEndian)},MarcBinFile.prototype.readIntSigned=function(a){return this.fileReader.dataView.getInt32(a,this.littleEndian)},MarcBinFile.prototype.readFloat32=function(a){return this.fileReader.dataView.getFloat32(a,this.littleEndian)},MarcBinFile.prototype.readFloat64=function(a){return this.fileReader.dataView.getFloat64(a,this.littleEndian)},MarcBinFile.prototype.readString=function(a,b){for(var c=this.readBytes(a,b),d="",e=0;e<b&&c[e]>0;e++)d+=String.fromCharCode(c[e]);return d},MarcBinFile.prototype.writeByte=function(a,b){this.fileReader.dataView.setUint8(a,b,this.littleEndian)},MarcBinFile.prototype.writeByteSigned=function(a,b){this.fileReader.dataView.setInt8(a,b,this.littleEndian)},MarcBinFile.prototype.writeBytes=function(a,b){for(var c=0;c<b.length;c++)this.writeByte(a+c,b[c])},MarcBinFile.prototype.writeShort=function(a,b){this.fileReader.dataView.setUint16(a,b,this.littleEndian)},MarcBinFile.prototype.writeShortSigned=function(a,b){this.fileReader.dataView.setInt16(a,b,this.littleEndian)},MarcBinFile.prototype.writeInt=function(a,b){this.fileReader.dataView.setUint32(a,b,this.littleEndian)},MarcBinFile.prototype.writeIntSigned=function(a,b){this.fileReader.dataView.setInt32(a,b,this.littleEndian)},MarcBinFile.prototype.writeFloat32=function(a,b){this.fileReader.dataView.setFloat32(a,b,this.littleEndian)},MarcBinFile.prototype.writeFloat64=function(a,b){this.fileReader.dataView.setFloat64(a,b,this.littleEndian)},MarcBinFile.prototype.writeString=function(a,b,c){for(var d=0;d<c;d++)this.writeByte(a+d,0);for(var d=0;d<b.length&&d<c;d++)this.writeByte(a+d,b.charCodeAt(d))};
/* FileSaver.js by eligrey - https://github.com/eligrey/FileSaver.js */
var saveAs=saveAs||function(e){"use strict";if(typeof e==="undefined"||typeof navigator!=="undefined"&&/MSIE [1-9]\./.test(navigator.userAgent)){return}var t=e.document,n=function(){return e.URL||e.webkitURL||e},r=t.createElementNS("http://www.w3.org/1999/xhtml","a"),o="download"in r,a=function(e){var t=new MouseEvent("click");e.dispatchEvent(t)},i=/constructor/i.test(e.HTMLElement)||e.safari,f=/CriOS\/[\d]+/.test(navigator.userAgent),u=function(t){(e.setImmediate||e.setTimeout)(function(){throw t},0)},s="application/octet-stream",d=1e3*40,c=function(e){var t=function(){if(typeof e==="string"){n().revokeObjectURL(e)}else{e.remove()}};setTimeout(t,d)},l=function(e,t,n){t=[].concat(t);var r=t.length;while(r--){var o=e["on"+t[r]];if(typeof o==="function"){try{o.call(e,n||e)}catch(a){u(a)}}}},p=function(e){if(/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)){return new Blob([String.fromCharCode(65279),e],{type:e.type})}return e},v=function(t,u,d){if(!d){t=p(t)}var v=this,w=t.type,m=w===s,y,h=function(){l(v,"writestart progress write writeend".split(" "))},S=function(){if((f||m&&i)&&e.FileReader){var r=new FileReader;r.onloadend=function(){var t=f?r.result:r.result.replace(/^data:[^;]*;/,"data:attachment/file;");var n=e.open(t,"_blank");if(!n)e.location.href=t;t=undefined;v.readyState=v.DONE;h()};r.readAsDataURL(t);v.readyState=v.INIT;return}if(!y){y=n().createObjectURL(t)}if(m){e.location.href=y}else{var o=e.open(y,"_blank");if(!o){e.location.href=y}}v.readyState=v.DONE;h();c(y)};v.readyState=v.INIT;if(o){y=n().createObjectURL(t);setTimeout(function(){r.href=y;r.download=u;a(r);h();c(y);v.readyState=v.DONE});return}S()},w=v.prototype,m=function(e,t,n){return new v(e,t||e.name||"download",n)};if(typeof navigator!=="undefined"&&navigator.msSaveOrOpenBlob){return function(e,t,n){t=t||e.name||"download";if(!n){e=p(e)}return navigator.msSaveOrOpenBlob(e,t)}}w.abort=function(){};w.readyState=w.INIT=0;w.WRITING=1;w.DONE=2;w.error=w.onwritestart=w.onprogress=w.onwrite=w.onabort=w.onerror=w.onwriteend=null;return m}(typeof self!=="undefined"&&self||typeof window!=="undefined"&&window||this.content);if(typeof module!=="undefined"&&module.exports){module.exports.saveAs=saveAs}else if(typeof define!=="undefined"&&define!==null&&define.amd!==null){define("FileSaver.js",function(){return saveAs})}
/* MarcDialogs.js v2016 */
MarcDialogs=function(){function e(e,t,n){a?e.attachEvent("on"+t,n):e.addEventListener(t,n,!1)}function t(){s&&(o?history.go(-1):(c.className="dialog-overlay",s.className=s.className.replace(/ active/g,""),s=null))}function n(e){for(var t=0;t<s.dialogElements.length;t++){var n=s.dialogElements[t];if("INPUT"===n.nodeName&&"hidden"!==n.type||"INPUT"!==n.nodeName)return n.focus(),!0}return!1}function l(){s&&(s.style.marginLeft="-"+s.offsetWidth/2+"px",s.style.marginTop="-"+s.offsetHeight/2-30+"px")}var a=/MSIE 8/.test(navigator.userAgent),o=navigator.userAgent.match(/Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone/i)&&"function"==typeof history.pushState,i=["Cancel","Accept"],s=null,c=document.createElement("div");c.className="dialog-overlay",c.style.position="fixed",c.style.top="0",c.style.left="0",c.style.width="100%",c.style.height="100%",c.style.zIndex=8e3,e(c,"click",t),e(window,"load",function(){document.body.appendChild(c),o&&history.replaceState({myDialog:!1},null,null)}),e(window,"resize",l),o&&e(window,"popstate",function(e){e.state.myDialog?(s=e.state.myDialog,MarcDialogs.open(e.state.myDialog)):e.state.myDialog===!1&&s&&(c.className="dialog-overlay",s.className=s.className.replace(/ active/g,""),s=null)}),e(document,"keydown",function(e){s&&(27==e.keyCode?(e.preventDefault?e.preventDefault():e.returnValue=!1,t()):9==e.keyCode&&s.dialogElements[s.dialogElements.length-1]==document.activeElement&&(e.preventDefault?e.preventDefault():e.returnValue=!1,n()))});var d=null,u=null,m=null;return{open:function(e){s&&(s.className=s.className.replace(/ active/g,"")),o&&(s?history.replaceState({myDialog:e},null,null):(console.log("a"),history.pushState({myDialog:e},null,null))),c.className="dialog-overlay active",s="string"==typeof e?document.getElementById("dialog-"+e):e,s.className+=" active",s.style.position="fixed",s.style.top="50%",s.style.left="50%",s.style.zIndex=8001,s.dialogElements||(s.dialogElements=s.querySelectorAll("input,textarea,select")),n(),l(s),l(s)},close:t,alert:function(t){if(!d){d=document.createElement("div"),d.id="dialog-quick-alert",d.className="dialog",d.msg=document.createElement("div"),d.msg.style.textAlign="center",d.appendChild(d.msg),d.buttons=document.createElement("div"),d.buttons.className="buttons";var n=document.createElement("button");n.innerHTML=i[1],e(n,"click",this.close),d.buttons.appendChild(n),d.appendChild(d.buttons),document.body.appendChild(d)}d.msg.innerHTML=t,MarcDialogs.open("quick-alert")},confirm:function(t,n){if(!u){u=document.createElement("div"),u.id="dialog-quick-confirm",u.className="dialog",u.msg=document.createElement("div"),u.msg.style.textAlign="center",u.appendChild(u.msg),u.buttons=document.createElement("div"),u.buttons.className="buttons";var l=document.createElement("button");l.className="button colored blue with-icon icon9",l.innerHTML=i[1],e(l,"click",function(){m()}),u.buttons.appendChild(l);var a=document.createElement("button");a.className="button with-icon icon3",a.innerHTML=i[0],e(a,"click",this.close),u.buttons.appendChild(a),u.appendChild(u.buttons),document.body.appendChild(u)}m=n,u.msg.innerHTML=t,MarcDialogs.open("quick-confirm")}}}();
/* mCreate v20170315 */
function mCreate(a,b){var c=document.createElement(a);if("object"==typeof b)for(var d in b)b.hasOwnProperty(d)&&("html"===d?c.innerHTML=b[d]:"class"===d?c.className=b[d]:d.startsWith("style")||d.startsWith("css")?c.style[d.replace(/^(style|css)(:- )?/,"")]=b[d]:c[d]=b[d]);return c};
/* MarcDragAndDrop.js v20170421 - Marc Robledo 2014-2017 - http://www.marcrobledo.com/license */
MarcDragAndDrop=(function(){
function addEvent(e,t,f){if(/MSIE 8/.test(navigator.userAgent))e.attachEvent('on'+t,f);else e.addEventListener(t,f,false)}
var no=function(e){if(typeof e.stopPropagation!=='undefined')e.stopPropagation();else e.cancelBubble=true;if(e.preventDefault)e.preventDefault();else e.returnValue=false}
function checkIfHasFiles(e){
if(e.dataTransfer.types)
for(var i=0;i<e.dataTransfer.types.length;i++)
if(e.dataTransfer.types[i]==='Files')
return true;
return false
}
function removeClass(){document.body.className=document.body.className.replace(' dragging-files','')}
addEvent(document,'dragenter',function(e){
if(checkIfHasFiles(e)){
no(e);
document.body.className+=' dragging-files'
}
});
addEvent(document,'dragexit',function(e){
//alert('exit');
no(e);
removeClass(); /* why!? */
removeClass();
removeClass();
removeClass();
});
addEvent(document,'dragover',function(e){
if(checkIfHasFiles(e))
no(e)
});
var dropOutside=false;
function enableDropOutside(){
addEvent(document,'drop',function(e){
removeClass();
no(e);
});
}
return{
add:function(z,f){
if(!dropOutside){
enableDropOutside();
}
addEvent(document.getElementById(z),'drop',function(e){
if(!checkIfHasFiles(e))
return false;
no(e);
removeClass();
f(e.dataTransfer.files)
});
},
addGlobalZone:function(f,t){
if(!dropOutside){
enableDropOutside();
}
var div=document.createElement('div');
div.id='drop-overlay';
div.className='marc-drop-files';
var span=document.createElement('span');
if(t)
span.innerHTML=t;
else
span.innerHTML='Drop files here';
div.appendChild(span);
document.body.appendChild(div);
this.add('#drop-overlay',f);
}
}
}());
/* implement U16 string in MarcBinFile (PROVISIONAL!) */
MarcBinFile.prototype.readU16String=function(pos,maxLength){
var cs=new Array(maxLength);
var str='';
for(var i=0;i<maxLength && this.readShort(pos+i*2)!=0;i++)
str+=String.fromCharCode(this.readShort(pos+i*2));
//cs[i]=this.readShort(pos+i*2);
return str
}
MarcBinFile.prototype.writeU16String=function(pos,maxLength,str){
for(var i=0;i<str.length && i<maxLength-1;i++)
this.writeShort(pos+i*2,str.charCodeAt(i));
for(;i<maxLength;i++)
this.writeShort(pos+i*2,0)
}
/* savegame load/save */
var tempFile,hasBeenLoaded=false;
function _tempFileLoadFunction(){
if(SavegameEditor.checkValidSavegame()){
hide('dragzone');
if(SavegameEditor.preload && !hasBeenLoaded){
SavegameEditor.preload();
hasBeenLoaded=true;
document.getElementById('warning').className+=' visible';
}
SavegameEditor.load();
show('the-editor');
show('toolbar');
}else{
MarcDialogs.alert('Invalid savegame file');
}
}
function loadSavegameFromInput(input){
tempFile=new MarcBinFile(input.files[0], _tempFileLoadFunction);
}
function saveChanges(){
SavegameEditor.save();
tempFile.save();
}
function closeFileConfirm(){
MarcDialogs.confirm('All changes will be lost.', function(){
closeFile();
MarcDialogs.close()
});
}
function closeFile(){
show('dragzone');
hide('the-editor');
hide('toolbar');
}
function getSavegameDefaultName(){
if(typeof SavegameEditor.Filename==='string')
return SavegameEditor.Filename;
return SavegameEditor.Filename[0]
}
function getSavegameAllNames(){
if(typeof SavegameEditor.Filename==='string')
return SavegameEditor.Filename;
else{
var s='';
for(var i=0; i<SavegameEditor.Filename.length; i++)
s+=SavegameEditor.Filename[i]+', ';
return s
}
}
window.addEventListener('load', function(){
var dragZone=document.createElement('div');
dragZone.id='dragzone';
dragZone.className='wrapper';
var dragMessage=document.createElement('div');
dragMessage.id='dragzone-message';
dragMessage.innerHTML='Drop your <u>'+getSavegameAllNames()+'</u> here or <button class="with-icon file-load" onclick="document.getElementById(\'file-load\').click()">open it</button>';
var inputFile=document.createElement('input');
inputFile.type='file';
inputFile.className='hidden';
inputFile.id='file-load';
inputFile.addEventListener('change', function(){
loadSavegameFromInput(this);
}, false);
var demoMessage=document.createElement('a');
demoMessage.id='demo';
demoMessage.href=SavegameEditor.Filename;
demoMessage.download=SavegameEditor.Filename;
demoMessage.innerHTML='Do you want to try it out? <u>Download an example savegame</u>';
dragZone.appendChild(dragMessage);
dragZone.appendChild(inputFile);
dragZone.appendChild(demoMessage);
document.body.appendChild(dragZone);
MarcDragAndDrop.add('dragzone', function(droppedFiles){
tempFile=new MarcBinFile(droppedFiles[0], _tempFileLoadFunction);
});
//var warningMessage=mCreate('div', {id:'warning',class:'clickable padding-vertical'});
var warningMessage=document.createElement('div');
warningMessage.id='warning';
warningMessage.className='clickable padding-vertical';
warningMessage.addEventListener('click', function(){
this.className=this.className.replace(' visible','');
},false);
var wrapper=document.createElement('div');
wrapper.className='wrapper text-center';
wrapper.innerHTML='Use this tool at your own risk. By using it, you are responsible of any data lost. <u>I understand</u>';
warningMessage.appendChild(wrapper);
document.body.appendChild(warningMessage);
}, false);
/* binary and other helpers */
function compareBytes(offset,a2){
var a1=tempFile.readBytes(offset, a2.length);
for(var i=0;i<a1.length;i++)
if(a1[i]!=a2[i])
return false;
return true
}
function intToHex(i){var s=i.toString(16);while(s.length%2!=0)s='0'+s;return '0x'+s}
function genRange(min,max){var a=[];for(var i=min;i<=max;i++)a.push(i);return a}
/* DOM manipulation */
function show(e,p){document.getElementById(e).style.display=p||'block'}
function hide(e){document.getElementById(e).style.display='none'}
function empty(e){while(e.firstChild)e.removeChild(e.firstChild)}
function row(sizes){
var r=document.createElement('div');
r.className='row';
for(var i=0;i<sizes.length;i++)
r.appendChild(col(sizes[i], arguments[i+1]));
return r
}
function col(size,inner){
var c=document.createElement('div');
c.className='columns c'+size;
c.appendChild(inner);
return c
}
function fixNumericFieldValue(field){
var val=field.value.replace(/[^0-9\-\.]/g,'');
if(/^float-/.test(field.id)){
val=parseFloat(val);
}else{
val=parseInt(val);
}
if(isNaN(val) || val<field.minValue){
val=field.minValue;
}else if(val > field.maxValue){
val=field.maxValue;
}
field.value=val;
}
function fixNumericFieldValueFromEvent(){fixNumericFieldValue(this)}
function inputNumber(id,min,max,def){
var input=document.createElement('input');
input.id='number-'+id;
input.className='full-width text-right';
input.type='text'; /* type='number' validation breaks getting input value when it's not valid */
input.minValue=min;
input.maxValue=max;
input.value=def;
input.addEventListener('change', fixNumericFieldValueFromEvent, false);
return input;
}
function inputFloat(id,min,max,def){
var input=document.createElement('input');
input.id='float-'+id;
input.className='full-width text-right';
input.type='text';
input.minValue=min;
input.maxValue=max;
input.value=def;
input.addEventListener('change', fixNumericFieldValueFromEvent, false);
return input
}
function input(id,def){
var input=document.createElement('input');
input.id='input-'+id;
input.className='full-width';
input.type='text';
input.value=def;
return input
}
function checkbox(id,val){
var input=document.createElement('input');
input.id='checkbox-'+id;
input.type='checkbox';
if(val)
input.value=val;
return input
}
function select(id,options,func){
var select;
if(document.getElementById('select-'+id)){
select=document.getElementById('select-'+id);
}else{
select=document.createElement('select');
select.id='select-'+id;
select.className='full-width';
}
if(options){
for(var i=0; i<options.length; i++){
if(typeof options[i] === 'number'){
var option=document.createElement('option');
option.value=options[i];
option.innerHTML=options[i];
select.appendChild(option);
}else if(typeof options[i] === 'string'){
var option=document.createElement('option');
option.value=i;
option.innerHTML=options[i];
select.appendChild(option);
}else if(typeof options[i] === 'object' && typeof options[i].value!=='undefined' && typeof options[i].name!=='undefined'){
var option=document.createElement('option');
option.value=options[i].value;
option.innerHTML=options[i].name;
select.appendChild(option);
}else if(typeof options[i] === 'object'){
select.appendChild(options[i]);
}
}
}
if(func)
select.addEventListener('change',func,false);
return select
}
function dialog(id){
var dialog=document.createElement('div');
dialog.className='dialog';
dialog.id='dialog-'+id;
for(var i=1; i<arguments.length; i++)
dialog.appendChild(arguments[i]);
document.getElementById('the-editor').appendChild(dialog);
return dialog
}
function div(className){
var div=document.createElement('div');
var elementsStart=0;
if(typeof arguments[0]==='string'){
div.className=arguments[0];
elementsStart++;
}
for(var i=elementsStart; i<arguments.length; i++)
div.appendChild(arguments[i]);
return div
}
function button(text, className, func){
var button=document.createElement('button');
button.innerHTML=text;
if(typeof className === 'string')
button.className=className;
button.addEventListener('click', func, false);
return button
}
function label(forId,text){
var label=document.createElement('label');
label.htmlFor=forId;
label.innerHTML=text;
return label
}
function span(text){
var span=document.createElement('span');
span.innerHTML=text;
return span
}
function hr(){return document.createElement('hr')}
function getValue(f){
var field=getField(f);
if(/^number-/.test(field.id)){
fixNumericFieldValue(field);
return parseInt(field.value);
}else if(/^float-/.test(field.id)){
fixNumericFieldValue(field);
return parseFloat(field.value);
}else if(/^input-/.test(field.id) || /^select-/.test(field.id)){
return field.value
}else if(/^span-/.test(field.id)){
return field.innerHTML
}
}
function get(e){return document.getElementById(e)}
function getField(field){
return document.getElementById('input-'+field) || document.getElementById('number-'+field) || document.getElementById('float-'+field) || document.getElementById('checkbox-'+field) || document.getElementById('select-'+field) || document.getElementById('span-'+field) || document.getElementById(field)
}
function setValue(f,val){
var field=getField(f);
if(/^span-/.test(field.id)){
field.innerHTML=val;
}else{
field.value=val;
}
}
function setNumericRange(f,min,max){
var field=getField(f);
field.className+=' text-right';
field.minValue=min;
field.maxValue=max;
field.addEventListener('change', fixNumericFieldValueFromEvent, false);
fixNumericFieldValue(field);
}

BIN
zelda-botw/game_data.sav Normal file

Binary file not shown.

128
zelda-botw/index.html Normal file
View File

@ -0,0 +1,128 @@
<!DOCTYPE html>
<html manifest="savegame-editor.appcache">
<head>
<title>Savegame Editor &ndash; The legend of Zelda: Breath of the wild</title>
<meta http-equiv="content-Type" content="text/html; charset=UTF-8"/>
<meta name="description" content="A savegame editor for The legend of Zelda: Breath of the wild. It can edit: items, weapon durability, modifiers and more!"/>
<meta name="keywords" content="html5, savegame, save, editor, hack, exploit, wii u, zelda, breath of the wild, botw, weapon, durability, modifier, horse, dlc, amiibo"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
<link rel="shortcut icon" href="../savegame-editor.png"/>
<link type="text/css" rel="stylesheet" href="../savegame-editor.css" media="all"/>
<script type="text/javascript" src="../savegame-editor.js"></script>
<script type="text/javascript" src="./zelda-botw.js"></script>
<script type="text/javascript" src="./zelda-botw.data.js"></script>
<!-- <script type="text/javascript" src="./zelda-botw.koroks.js"></script> -->
</head>
<body>
<!-- HEADER -->
<div id="header">
<div id="header-top">
<div class="row wrapper padding-vertical">
<h1 class="six columns text-left"><img src="../favicon.png" /> Savegame Editor <small>for The legend of Zelda: BOTW</small></h1>
<div class="six columns text-right header-buttons">
by <a href="/" class="author">Marc Robledo</a>
<a href="https://github.com/marcrobledo/savegame-editors/tree/master/zelda-botw" target="_blank" class="button"><span class="sprite github"></span> See on GitHub</a>
<a href="https://www.paypal.me/marcrobledo/5" target="_blank" rel="nofollow" class="donate button"><span class="sprite heart"></span> Donate</a>
</div>
</div>
</div>
<div id="toolbar" class="hidden padding-vertical">
<div class="row wrapper">
<div class="twelve columns text-center">
<span id="span-version"></span> | <button class="with-icon icon1" onclick="SavegameEditor.addItem()">Add item</button>
| <button class="button with-icon icon3" onclick="closeFile()">Close file</button>
<button class="button colored blue with-icon icon9" onclick="saveChanges()">Save changes</button>
</div>
</div>
</div>
</div>
<!-- THE EDITOR -->
<div id="the-editor" class="wrapper hidden">
<!-- DEBUG -->
<div id="debug"></div>
<!-- RUPEES -->
<h3 class="border-red">Rupees</h3>
<div id="card-rupees">
<div class="row">
<div class="nine columns"><label for="number-rupees">Rupees</label></div>
<div class="three columns"><input id="number-rupees" type="text" /></div>
</div>
<div class="row">
<div class="nine columns"><label for="number-mons">Mons</label></div>
<div class="three columns"><input id="number-mons" type="text" /></div>
</div>
<div class="row">
<div class="nine columns"><label for="number-koroks">Korok counter</label></div>
<div class="three columns"><input type="text" id="number-koroks" disabled /></div>
</div>
</div>
<!-- ITEMS -->
<div id="card-items"></div>
<!-- HORSES -->
<h3 class="border-blue">Horses</h3>
<div class="text-center"><button class="with-icon icon10" onclick="SavegameEditor.editHorse(0)">Edit horse 0</button></div>
<div class="text-center"><button class="with-icon icon10" onclick="SavegameEditor.editHorse(1)">Edit horse 1</button></div>
<div class="text-center"><button class="with-icon icon10" onclick="SavegameEditor.editHorse(2)">Edit horse 2</button></div>
<div class="text-center"><button class="with-icon icon10" onclick="SavegameEditor.editHorse(3)">Edit horse 3</button></div>
<div class="text-center"><button class="with-icon icon10" onclick="SavegameEditor.editHorse(4)">Edit horse 4</button></div>
<div class="text-center"><button class="with-icon icon6" onclick="SavegameEditor.cheatEpona()">Set untammed horse to Epona</button></div>
</div>
<!-- DIALOGS -->
<div id="dialog-item" class="dialog">
<div class="text-center">
<select id="select-item"></select>
</div>
<div class="buttons">
<button onclick="SavegameEditor.editItem2(currentEditingItem, getValue('item'));MarcDialogs.close();">Change item</button>
</div>
</div>
<div id="dialog-modifier" class="dialog">
<div class="row">
<div class="four columns"><label for="select-modifier">Modifier flag</label></div>
<div class="eight columns"><select id="select-modifier"></select></div>
</div>
<div class="row">
<div class="four columns"><label for="number-modifier-value">Value</label></div>
<div class="eight columns"><select id="number-modifier-value"></select></div>
</div>
<div class="buttons">
<button onclick="SavegameEditor.editModifier2(currentEditingItem.type, currentEditingItem.order, getValue('modifier'), getValue('modifier-value'));MarcDialogs.close();">Save changes</button>
</div>
</div>
<div id="dialog-horse" class="dialog">
<div class="row">
<div class="four columns"><label for="input-horse-name">Name</label></div>
<div class="eight columns"><input type="text" id="input-horse-name" /></div>
</div>
<div class="row">
<div class="four columns"><label for="select-horse-saddles">Saddles</label></div>
<div class="eight columns"><select id="select-horse-saddles"></select></div>
</div>
<div class="row">
<div class="four columns"><label for="select-horse-reins">Reins</label></div>
<div class="eight columns"><select id="select-horse-reins"></select></div>
</div>
<div class="row">
<div class="four columns"><label for="select-horse-type">Type</label></div>
<div class="eight columns"><select id="select-horse-type"></select></div>
</div>
<div class="buttons">
<button onclick="SavegameEditor.editHorse2(currentEditingItem, getValue('horse-name'), getValue('horse-saddles'), getValue('horse-reins'), getValue('horse-type'));MarcDialogs.close();">Change horse</button>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,13 @@
CACHE MANIFEST
# last update 2017-05-08
#CACHE:
index.html
zelda-botw.js
zelda-botw.data.js
../savegame-editor.css
../savegame-editor.js
../favicon.png
# force these files to be loaded in network
NETWORK:
*

BIN
zelda-botw/thumb.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

File diff suppressed because it is too large Load Diff

402
zelda-botw/zelda-botw.js Normal file
View File

@ -0,0 +1,402 @@
/*
The legend of Zelda: Breath of the wild v20170508
by Marc Robledo 2017
*/
var currentEditingItem=0;
SavegameEditor={
Name:'The legend of Zelda: Breath of the wild',
Filename:'game_data.sav',
/* Constants */
Constants:{
MAX_ITEMS:410,
STRING_SIZE:0x80
},
/* Offsets */
OffsetsAll:{
FILESIZE: [896976, 897160, 897112],
/* header v1.0 v1.1 v1.2 */
RUPEES: [0x23149bf8, 0x00e0a0, 0x00e110, 0x00e110],
MONS: [0xce7afed3, 0x0bc480, 0x0bc558, 0x0bc538],
ITEMS: [0x5f283289, 0x052828, 0x0528d8, 0x0528c0],
ITEMS_QUANTITY: [0x6a09fc59, 0x063340, 0x0633f0, 0x0633d8],
MOD_WEAPON_TYPES: [0x57ee221d, 0x050328, 0x0503d8, 0x0503c0],
MOD_WEAPON_VALUES: [0xa6d926bc, 0x0a9ca8, 0x0a9d78, 0x0a9d58],
MOD_BOW_TYPES: [0x0cbf052a, 0x0045f0, 0x0045f8, 0x0045f8],
MOD_BOW_VALUES: [0x1e3fd294, 0x00a8e0, 0x00a940, 0x00a940],
MOD_SHIELD_TYPES: [0xc5238d2b, 0x0b5810, 0x0b58e8, 0x0b58c8],
MOD_SHIELD_VALUES: [0x69f17e8a, 0x063218, 0x0632c8, 0x0632b0],
HORSE_SADDLES: [0x333aa6e5, 0x03d0e8, 0x03d190, 0x03d190],
HORSE_REINS: [0x6150c6be, 0x060508, 0x0605b8, 0x0605a0],
HORSE_NAMES: [0x7b74e117, 0x070320, 0x0703c0, 0x0703a8],
HORSE_MANES: [0x9c6cfd3f, 0x0a6478, 0x0a6538, 0x0a6520],
HORSE_TYPES: [0xc247b696, 0x0b46f8, 0x0b47d8, 0x0b47b8],
HORSE_BONDS: [0xe1a0ca54, 0x0c3670, 0x0c3738, 0x0c3710], /* max=0x3f80 */
KOROK_SEED_COUNTER: [0x8a94e07a, 0x076148, 0x0761f8, 0x0761e0]
},
/* private functions */
_searchHeader:function(hdr){
for(var i=0x14; i<tempFile.fileSize; i+=8){
if(hdr===tempFile.readInt(i))
return i+4;
}
return false;
},
_getOffsets(v){
this.Offsets={};
if(v<=2){
for(prop in this.OffsetsAll){
this.Offsets[prop]=this.OffsetsAll[prop][v+1];
}
}else{ /* unknown version */
var textarea=document.createElement('textarea');
for(prop in this.OffsetsAll){
var offset=this._searchHeader(this.OffsetsAll[prop][0]);
if(offset){
textarea.value+=prop+':0x'+(offset+4).toString(16)+',\n';
this.Offsets[prop]=offset+4;
}
}
get('debug').appendChild(textarea);
}
},
_getItemTranslation:function(itemId){
for(var i=0; i<BOTW_Data.Translations.length; i++)
if(BOTW_Data.Translations[i].items[itemId])
return BOTW_Data.Translations[i].items[itemId];
return '<span style="color:red">'+itemId+'</span>'
},
_getItemCategory:function(itemId){
for(var i=0; i<BOTW_Data.Translations.length; i++)
if(BOTW_Data.Translations[i].items[itemId])
return BOTW_Data.Translations[i].id;
return 'other'
},
_writeString:function(offset,str){
for(var j=0; j<16; j++){
tempFile.writeBytes(offset,[0,0,0,0]);
var fourBytes=str.substr(j*4, 4);
for(k=0; k<fourBytes.length; k++){
tempFile.writeByte(offset+k, fourBytes.charCodeAt(k));
}
offset+=8;
}
},
_readString:function(offset){
var txt='';
for(var j=0; j<16; j++){
txt+=tempFile.readString(offset,4);
offset+=8;
}
return txt
},
_loadItemName:function(i){
return this._readString(this.Offsets.ITEMS+i*0x80);
},
_writeItemName:function(i,newItemNameId){
this._writeString(this.Offsets.ITEMS+i*0x80, newItemNameId);
},
_getItemMaximumQuantity:function(itemId){
var cat=this._getItemCategory(itemId);
if(itemId.endsWith('Arrow') || itemId.endsWith('Arrow_A') || cat==='materials' || cat==='food'){
return 999;
}else if(cat==='weapons' || cat==='bows' || cat==='shields'){
return 6553500;
}else if(itemId==='Obj_DungeonClearSeal'){
return 120
}else{
return 0xffffffff;
}
},
_getItemQuantityOffset:function(i){
return this.Offsets.ITEMS_QUANTITY+i*0x08;
},
_getItemRow(i){
return getField('number-item'+i).parentElement.parentElement
},
_createItemRow(i){
var itemNameId=this._loadItemName(i);
return row([10,2],
label('number-item'+i,'<b class="mono"><small>#'+i+'</small> </b><span id="item-name'+i+'">'+this._getItemTranslation(itemNameId)+'</span> <button class="with-icon icon10 colored transparent" onclick="SavegameEditor.editItem('+i+')"></button>'),
inputNumber('item'+i, 0, this._getItemMaximumQuantity(itemNameId), tempFile.readInt(this._getItemQuantityOffset(i)))
)
},
addItem:function(){
var i=0;
while(document.getElementById('number-item'+i)){
i++;
}
if(i<this.Constants.MAX_ITEMS){
this._writeItemName(i,'Item_Fruit_A');
document.getElementById('card-materials').appendChild(this._createItemRow(i));
this.editItem(i);
}
},
editItem:function(i){
currentEditingItem=i;
document.getElementById('select-item').value=this._loadItemName(i);
MarcDialogs.open('item');
},
editItem2:function(i,nameId){
var oldCat=this._getItemCategory(this._loadItemName(i));
var newCat=this._getItemCategory(nameId);
if(oldCat!==newCat){
var row=this._getItemRow(i);
row.parentElement.removeChild(row);
document.getElementById('card-'+newCat).appendChild(row);
}
this._writeItemName(i, nameId);
document.getElementById('item-name'+i).innerHTML=this._getItemTranslation(nameId);
document.getElementById('number-item'+i).maxValue=this._getItemMaximumQuantity(nameId);
},
_getModifierOffset1:function(type){
if(type==='bows')
return this.Offsets.MOD_BOW_TYPES;
else if(type==='shields')
return this.Offsets.MOD_SHIELD_TYPES;
else
return this.Offsets.MOD_WEAPON_TYPES;
},
_getModifierOffset2:function(type){
if(type==='bows')
return this.Offsets.MOD_BOW_VALUES;
else if(type==='shields')
return this.Offsets.MOD_SHIELD_VALUES;
else
return this.Offsets.MOD_WEAPON_VALUES;
},
editModifier:function(type,i){
currentEditingItem={type:type,order:i};
var offset1=this._getModifierOffset1(type);
var offset2=this._getModifierOffset2(type);
getField('modifier').children[0].value=0xffffffff;
getField('modifier').children[0].innerHTML='unknown';
var modifier=tempFile.readInt(offset1+i*0x08);
setValue('modifier', modifier);
setValue('modifier-value', tempFile.readInt(offset2+i*0x08));
getField('modifier').children[0].value=modifier;
getField('modifier').children[0].innerHTML='unknown 0x'+modifier.toString(16);
if(getValue('modifier')==='')
setValue('modifier', modifier);
MarcDialogs.open('modifier');
},
editModifier2:function(type,i,modifier,val){
tempFile.writeInt(this._getModifierOffset1(type)+i*0x08, modifier);
tempFile.writeInt(this._getModifierOffset2(type)+i*0x08, val);
},
editHorse:function(i){
currentEditingItem=i;
setValue('horse-name',this._readString(this.Offsets.HORSE_NAMES+this.Constants.STRING_SIZE*i));
setValue('horse-saddles',this._readString(this.Offsets.HORSE_SADDLES+this.Constants.STRING_SIZE*i));
setValue('horse-reins',this._readString(this.Offsets.HORSE_REINS+this.Constants.STRING_SIZE*i));
setValue('horse-type',this._readString(this.Offsets.HORSE_TYPES+this.Constants.STRING_SIZE*i));
MarcDialogs.open('horse');
},
editHorse2:function(i,name,saddles,reins,type){
this._writeString(this.Offsets.HORSE_NAMES+this.Constants.STRING_SIZE*i, getValue('horse-name'));
this._writeString(this.Offsets.HORSE_SADDLES+this.Constants.STRING_SIZE*i, getValue('horse-saddles'));
this._writeString(this.Offsets.HORSE_REINS+this.Constants.STRING_SIZE*i, getValue('horse-reins'));
this._writeString(this.Offsets.HORSE_TYPES+this.Constants.STRING_SIZE*i, getValue('horse-type'));
if(getValue('horse-type')==='GameRomHorse00L'){
this._writeString(this.Offsets.HORSE_MANES+this.Constants.STRING_SIZE*i, 'Horse_Link_Mane_00L');
}
},
cheatEpona:function(i){
if(this._readString(this.Offsets.HORSE_TYPES+this.Constants.STRING_SIZE*5).startsWith('GameRomHorse')){
this._writeString(this.Offsets.HORSE_TYPES+this.Constants.STRING_SIZE*5, 'GameRomHorseEpona');
MarcDialogs.alert('Untammed horse has been changed to Epona. Go to any stable to get it legitly.');
}else{
MarcDialogs.alert('Error: this will only work if your savegame has Link on an untammed horse.');
}
},
_arrayToSelectOpts:function(arr){
var arr2=[];
for(var i=0; i<arr.length; i++){
arr2.push({name:arr[i], value:arr[i]});
}
return arr2;
},
/* check if savegame is valid */
checkValidSavegame:function(){
return (tempFile.fileSize===896976 || tempFile.fileSize===897160 || tempFile.fileSize===897112)
},
preload:function(){
setNumericRange('koroks', 0, 900);
setNumericRange('rupees', 0, 999999);
setNumericRange('mons', 0, 999999);
/* prepare edit item selector */
for(var i=0; i<BOTW_Data.Translations.length; i++){
var optGroup=document.createElement('optgroup');
optGroup.label=BOTW_Data.Translations[i].id;
for(var item in BOTW_Data.Translations[i].items){
var opt=document.createElement('option');
opt.value=item;
opt.innerHTML=BOTW_Data.Translations[i].items[item];
optGroup.appendChild(opt);
}
get('select-item').appendChild(optGroup);
}
/* dialogs */
var MODIFIER_FLAGS=[
{value:0xffffffff, name:'unknown'},
{value:0x00000000, name:'(none)'},
{value:0x00000001, name:'Attack up'},
{value:0x80000001, name:'Attack up ★'},
{value:0x00000002, name:'Durability up'},
{value:0x80000002, name:'Durability up ★'},
{value:0x00000004, name:'Critical hit up'},
{value:0x80000004, name:'Critical hit up ★'},
{value:0x00000008, name:'(Weapon only) Long throw'},
{value:0x80000008, name:'(Weapon only) Long throw ★'},
{value:0x00000010, name:'(Bow only) unknown 1?'},
{value:0x80000010, name:'(Bow only) unknown 1? ★'},
{value:0x00000020, name:'(Bow only) unknown 2?'},
{value:0x80000020, name:'(Bow only) unknown 2? ★'},
{value:0x00000040, name:'(Bow only) Quick shot'},
{value:0x80000040, name:'(Bow only) Quick shot ★'},
{value:0x00000080, name:'(Shield only) Shield surf up'},
{value:0x80000080, name:'(Shield only) Shield surf up ★'},
{value:0x00000100, name:'(Shield only) Shield guard up'},
{value:0x80000100, name:'(Shield only) Shield guard up ★'},
];
select('modifier', MODIFIER_FLAGS);
setNumericRange('modifier-value', 0, 0xffffffff);
select('horse-saddles', this._arrayToSelectOpts(BOTW_Data.HORSE_SADDLES));
select('horse-reins', this._arrayToSelectOpts(BOTW_Data.HORSE_REINS));
select('horse-type', this._arrayToSelectOpts(BOTW_Data.HORSE_TYPES));
},
/* load function */
load:function(){
tempFile.littleEndian=false;
tempFile.fileName='game_data.sav';
/* check savegame version */
if(tempFile.fileSize===896976){
this._getOffsets(0);
setValue('version', 'v1.0.x');
}else if(tempFile.fileSize===897160){
this._getOffsets(1);
setValue('version', 'v1.1.x');
}else if(tempFile.fileSize===897112){
this._getOffsets(2);
setValue('version', 'v1.2.x');
}
/* prepare editor */
setValue('rupees', tempFile.readInt(this.Offsets.RUPEES));
setValue('mons', tempFile.readInt(this.Offsets.MONS));
setValue('koroks', tempFile.readInt(this.Offsets.KOROK_SEED_COUNTER));
/* items */
empty('card-items');
for(var i=0; i<BOTW_Data.Translations.length; i++){
var card=document.createElement('div');
card.id='card-'+BOTW_Data.Translations[i].id;
get('card-items').appendChild(card);
var h3=document.createElement('h3');
h3.innerHTML=BOTW_Data.Translations[i].id;
card.appendChild(h3);
}
for(var i=0; i<this.Constants.MAX_ITEMS; i++){
var itemNameId=this._loadItemName(i);
if(itemNameId==='')
break;
document.getElementById('card-'+this._getItemCategory(itemNameId)).appendChild(
this._createItemRow(i)
);
}
/* modifier buttons */
var editModifierFunc=function(){SavegameEditor.editModifier(this.weaponType,this.weaponOrder);}
var sortedWeapons=0;
var sortedBows=0;
var sortedShields=0;
for(var i=0; i<60; i++){
var itemName=this._loadItemName(i);
var cat=this._getItemCategory(itemName);
if(cat==='weapons'){
sortedWeapons++;
}else if(cat==='bows' && !(itemName.endsWith('Arrow') || itemName.endsWith('Arrow_A'))){
sortedBows++;
}else if(cat==='shields'){
sortedShields++;
}
}
for(var i=0; i<sortedWeapons; i++){
var b=button('', 'colored transparent with-icon icon1', editModifierFunc);
b.weaponType='weapons';
b.weaponOrder=i;
document.getElementById('card-weapons').children[i+1].children[0].appendChild(b);
}
for(var i=0; i<sortedBows; i++){
var b=button('', 'colored transparent with-icon icon1', editModifierFunc);
b.weaponType='bows';
b.weaponOrder=i;
document.getElementById('card-bows').children[i+1].children[0].appendChild(b);
}
for(var i=0; i<sortedShields; i++){
var b=button('', 'colored transparent with-icon icon1', editModifierFunc);
b.weaponType='shields';
b.weaponOrder=i;
document.getElementById('card-shields').children[i+1].children[0].appendChild(b);
}
/* koroks */
if(typeof korokDebug !== 'undefined'){
korokDebug();
}
},
/* save function */
save:function(){
/* RUPEES */
tempFile.writeInt(this.Offsets.RUPEES, getValue('rupees'));
tempFile.writeInt(this.Offsets.MONS, getValue('mons'));
/* ITEMS */
for(var i=0; i<this.Constants.MAX_ITEMS; i++){
if(document.getElementById('number-item'+i))
tempFile.writeInt(this._getItemQuantityOffset(i), getValue('item'+i));
else
break;
}
}
}

View File

@ -0,0 +1,826 @@
/*
The legend of Zelda: Breath of the wild Savegame Editor - Korok Module - v20170508
by Marc Robledo 2017
*/
var IGNORE_HEADERS=[
/* these headers can be ignored as it's confirmed they are not korok flags */
0x00ac6bc9, 0x03a14dc3, 0x09597c61, 0x0abd4874, 0x0bee9e46, 0x0cbf052a, 0x0f2e25a3, 0x0f9674ff,
0x16a5185b, 0x17cb2b11, 0x1c10782f, 0x1e3fd294, 0x1e4707b0, 0x20cf6d87, 0x22a510d1, 0x2f95768f,
0x333aa6e5, 0x33bb43bb, 0x3863b57d, 0x39d08876, 0x39d1158f, 0x3c5d9f91, 0x3eef88f0, 0x43c96bc7,
0x45f65a4f, 0x49e8b866, 0x530dd198, 0x54e85ab6, 0x55a22047, 0x57ee221d, 0x5f283289, 0x6150c6be,
0x62a19a1f, 0x67adc0a1, 0x69f17e8a, 0x6a09fc59, 0x708311bc, 0x71fe692e, 0x750e9d0e, 0x7b74e117,
0x80ffd82e, 0x81068a31, 0x824892be, 0x87430c9d, 0x87778dc9, 0x88929993, 0x8a587830, 0x8dd330df,
0x8e955bf2, 0x9383490e, 0x982ba201, 0x9b280a3b, 0x9c6cfd3f, 0xa40ba103, 0xa4d177ef, 0xa6d926bc,
0xaab21201, 0xabd3efd8, 0xb6747da9, 0xbbac416b, 0xc247b696, 0xc5238d2b, 0xc64ce1ab, 0xcbc6b5e4,
0xccab71fd, 0xd095066a, 0xd28041ad, 0xd2e91906, 0xd518de8c, 0xd913b769, 0xda60b8cd, 0xdbd09218,
0xddb52297, 0xe1a0ca54, 0xe64eb028, 0xe7b0ad2c, 0xe9a2d3a7, 0xea9def3f, 0xf43eeba6, 0xf6332484,
0xf7ec3c3a, 0xf9a0275c, 0xfacfd421, 0xff95a905
];
var KOROK_HEADERS=[
/* these headers are guaranteed to be korok flags */
/* HEBRA (rito) */
/* ELDIN (goron) */
/* AKKALA (lab) */
/* LANAYRU (zora) */
/* NECLUDA (hateno) */
/* FARON (south) */
/* GERUDO (desert) */
0xcc2f05cf /* needs testing */
/* CENTRAL HYRULE (ganon) */
];
var POSSIBLE_KOROK_HEADERS=[
/* here there should be 524 korok seeds */
0x001fbb9b, 0x002c5b5d, 0x00413e99, 0x0059aae8, 0x0066ded0, 0x0075eaac, 0x0091146d, 0x01591782,
0x0164fe15, 0x01a77626, 0x02621e0d, 0x02dd0f69, 0x03415ecc, 0x036d6e47, 0x03924391, 0x03a4ba40,
0x03d6015e, 0x03e32995, 0x03f1220d, 0x040e993f, 0x04774091, 0x04971e94, 0x049f3458, 0x04a74790,
0x04b6719b, 0x04bcb461, 0x04bcea93, 0x04de7e23, 0x04f4cad8, 0x05388d71, 0x054253b6, 0x0560d2a8,
0x05828e12, 0x0599b273, 0x05a246a2, 0x05ae2fec, 0x05b0b958, 0x05b9aede, 0x06f3eccf, 0x074113f2,
0x07472f7c, 0x07518cd7, 0x0779396e, 0x07828f11, 0x07975126, 0x07edf88b, 0x07f53fae, 0x085e192a,
0x0862ac9c, 0x0898f85e, 0x08ae2fb6, 0x08e4a70c, 0x093d1f93, 0x095d5540, 0x09aca807, 0x09c446ce,
0x0a0433ca, 0x0a0b097d, 0x0a12eb67, 0x0a40d62b, 0x0a789979, 0x0aab98c9, 0x0adfcd27, 0x0b19b851,
0x0b7267c0, 0x0b75ea57, 0x0b7ac10f, 0x0ba34574, 0x0bb1b2fa, 0x0bbdeaaa, 0x0bfa2096, 0x0c10924b,
0x0c11699f, 0x0c4f6da6, 0x0c5e2643, 0x0c66c8aa, 0x0c91457e, 0x0cda1f2d, 0x0cdc0f04, 0x0d0ba40c,
0x0d30e0fb, 0x0d3d9c97, 0x0d9a2084, 0x0da3be6b, 0x0de05681, 0x0e1bab2b, 0x0e1fdbee, 0x0e6aa63d,
0x0e72d42d, 0x0e8fb101, 0x0e97abe2, 0x0e9a4342, 0x0ea24f4c, 0x0ea2f805, 0x0ea44506, 0x0eb0eed9,
0x0ecdfa11, 0x0eda8b8e, 0x0f01d2a7, 0x0f1f694b, 0x0f42e520, 0x10243dde, 0x102fcfb7, 0x10ad4379,
0x10f8c4d5, 0x10ff5446, 0x11196943, 0x1136f8a1, 0x114a5d1e, 0x1162d1e2, 0x1190a9ed, 0x11c5cf38,
0x11ca12b8, 0x11e0cf95, 0x12050221, 0x12915bc4, 0x12b8800c, 0x12c054b3, 0x12e4eb61, 0x1317a6a4,
0x1331ac5b, 0x134475fc, 0x139f0bdc, 0x13d80de4, 0x13f56814, 0x13fe59ca, 0x141b4dec, 0x14800f62,
0x14cf8ba9, 0x1536edde, 0x1555892f, 0x15737c28, 0x157dfe71, 0x1614c8d1, 0x162d11f4, 0x169afb51,
0x16c3e93e, 0x16e4e0c2, 0x16ed06de, 0x17223990, 0x17277806, 0x1744088c, 0x17558872, 0x177212c7,
0x178e842a, 0x17997994, 0x181364a8, 0x18347d80, 0x1847630e, 0x187c9e44, 0x187ccce5, 0x18a45e10,
0x18b589e0, 0x18ed566a, 0x18fa31b0, 0x1910a99c, 0x1919e609, 0x192903ce, 0x19b08fb0, 0x19e1da3a,
0x19f4a542, 0x1a2cadf2, 0x1a3c924b, 0x1a56edfa, 0x1a7c2343, 0x1aa48c81, 0x1ac134c5, 0x1ad489f1,
0x1aedacb5, 0x1af5fbf1, 0x1b44308f, 0x1b50b160, 0x1b95b547, 0x1b9c14c4, 0x1bdd7f91, 0x1be2b3ed,
0x1c2cebb5, 0x1c328e7a, 0x1cef1016, 0x1cf4b150, 0x1d0ba186, 0x1d26bfc6, 0x1d440e21, 0x1dacf0dc,
0x1dda945e, 0x1e04cc2c, 0x1e4224f7, 0x1e731b73, 0x1e92767b, 0x1ea094ea, 0x1ed4d138, 0x1ed6d88c,
0x1f16497d, 0x1f28f271, 0x1f404638, 0x1f64d09a, 0x1fb33ad5, 0x1fb74d44, 0x1fba344d, 0x1fdbd0ff,
0x1fe1c516, 0x1ffc5f3f, 0x20465cd0, 0x2061df54, 0x2067839b, 0x20a24783, 0x20ed5019, 0x21049e6d,
0x211fd058, 0x21cc2743, 0x21ea114d, 0x22008f4a, 0x22374558, 0x224c2d20, 0x225c6a81, 0x2281f13f,
0x22a3436f, 0x22bf9cbe, 0x23166cb2, 0x2324cc85, 0x23984fa5, 0x23d67e81, 0x23f841ad, 0x2435519f,
0x2482e3e2, 0x249599fd, 0x24ad4f20, 0x24bc2e33, 0x258fcd17, 0x2594d2b1, 0x25a12aac, 0x26691746,
0x2685f3a7, 0x26aa1bda, 0x26acfebb, 0x26cced4b, 0x26cf7da4, 0x273b4962, 0x275c8c31, 0x278fe02f,
0x279bcc46, 0x27ca3e6e, 0x27cc1c72, 0x27d9e48f, 0x2855daee, 0x285be209, 0x286b87c1, 0x2880a2b8,
0x2891e879, 0x28c11953, 0x28c6a403, 0x28e511ec, 0x291b0357, 0x29210c86, 0x2927cac9, 0x293f9601,
0x29531d38, 0x29641a0b, 0x296e5bb0, 0x2991c0fb, 0x29ff0186, 0x2a134c17, 0x2a65971c, 0x2a6e88c5,
0x2a7115b9, 0x2a7cc148, 0x2a7cfede, 0x2aac9272, 0x2ac739b3, 0x2ad0d275, 0x2ad4e59d, 0x2adc59a7,
0x2afc0c53, 0x2b2674ca, 0x2b306b21, 0x2b617218, 0x2b889574, 0x2ba19d1e, 0x2baa96bd, 0x2bcf5168,
0x2bd488d6, 0x2bda4f24, 0x2be833f0, 0x2c016340, 0x2c336caa, 0x2c3945e9, 0x2c422de4, 0x2c50175c,
0x2c758cd9, 0x2cac14bc, 0x2cc21c7d, 0x2d26625a, 0x2d7d823c, 0x2d865d12, 0x2db5db9d, 0x2e2b3cc3,
0x2e2c0144, 0x2e36e82b, 0x2e3c410a, 0x2e8041eb, 0x2e992dde, 0x2eb5e0b5, 0x2ed4071b, 0x2eebdb69,
0x2ef3b099, 0x2f107138, 0x2f3c2ea2, 0x2f458864, 0x2f626f06, 0x2f7856b7, 0x30359316, 0x3046920f,
0x30653705, 0x3083dd16, 0x30abfb13, 0x30e15a47, 0x31893753, 0x31c92a64, 0x31db3df0, 0x31f7a5b4,
0x32441ef9, 0x324d6b76, 0x325137af, 0x32594185, 0x32596722, 0x32e051f0, 0x330bfdef, 0x330da895,
0x334a85d2, 0x336bf9fa, 0x339be2bc, 0x33c91807, 0x33d12189, 0x33dedaf1, 0x3432070d, 0x34463571,
0x346ad0c2, 0x349f93b4, 0x34a560ba, 0x34aa492b, 0x34b9ea2d, 0x34e7350a, 0x34f4edc5, 0x350236a8,
0x352ee9af, 0x352f01ca, 0x357f0409, 0x35833d5f, 0x35991d00, 0x35d2e144, 0x35ddecf1, 0x35ff3af3,
0x36247f5b, 0x3624d898, 0x362e6791, 0x364f5cf6, 0x36da611d, 0x3753a4f4, 0x3759aca0, 0x37a9e148,
0x37fbe18a, 0x3814a1ea, 0x381e7b55, 0x382acf32, 0x384fc3a6, 0x385f236d, 0x38a41a14, 0x38f48417,
0x390811fe, 0x399ffe15, 0x39e3e54d, 0x3a39874b, 0x3a4b5fe9, 0x3a74b5bf, 0x3a8601ca, 0x3a967a08,
0x3aa9339b, 0x3aaaa531, 0x3aaaf546, 0x3aefa053, 0x3b1391d4, 0x3b2d1cbc, 0x3b428d16, 0x3b48064c,
0x3b854d84, 0x3bc9a00c, 0x3bdaccea, 0x3bdc694b, 0x3c02a3d8, 0x3c4fb1b0, 0x3c5e4ee6, 0x3c716aa0,
0x3c723a19, 0x3cd4b5f0, 0x3ce17642, 0x3cf631b0, 0x3d4022ac, 0x3da7773b, 0x3dd7b2f8, 0x3e012222,
0x3e0fb3d4, 0x3e1546e4, 0x3e33838f, 0x3e5a5e8d, 0x3e5e9ae4, 0x3e5ef1c5, 0x3e847dde, 0x3e9dc4fb,
0x3ec8a02e, 0x3edf78df, 0x3ee203df, 0x3ef6c241, 0x3f1a6cff, 0x3f1d76ab, 0x3f2ce560, 0x3f67ab9c,
0x3f8cebc3, 0x3fbad828, 0x3fbd8a24, 0x3fe2d9ba, 0x3ff1fe6b, 0x403d980a, 0x4083454e, 0x40c903b6,
0x40d8a2cd, 0x410983fc, 0x417748c0, 0x4187ccad, 0x41e8b117, 0x42144c87, 0x421ccbdc, 0x425bedb8,
0x42845db9, 0x42946b2c, 0x42baf164, 0x42cf300d, 0x42e966d3, 0x4329dbae, 0x434f8148, 0x4361f5af,
0x43756237, 0x437626cf, 0x43b9424b, 0x43c53a39, 0x441541fa, 0x44485641, 0x450b9f2b, 0x452ddf68,
0x4565a199, 0x457a2ee0, 0x458327c7, 0x45906666, 0x45920271, 0x45b0f90e, 0x45cafb59, 0x45e64655,
0x45f2d306, 0x45f91efb, 0x4604d2a4, 0x46312659, 0x46774cec, 0x467ee8b3, 0x4696136a, 0x46c980f1,
0x46ef8e1d, 0x471abe01, 0x474d2b8f, 0x47633bd7, 0x4772367e, 0x478bf467, 0x47f04e9a, 0x4804bdec,
0x485ae219, 0x48781853, 0x48abb3c1, 0x48d18527, 0x48eb753e, 0x48faa931, 0x4963817f, 0x49f7cea7,
0x4a12120f, 0x4a46741a, 0x4a4be4b2, 0x4a9fe113, 0x4add63de, 0x4ae88291, 0x4b112c69, 0x4b1622c8,
0x4b225629, 0x4b3055d0, 0x4b39a20d, 0x4b9dc25a, 0x4c25453f, 0x4c262a4d, 0x4c676609, 0x4c71cd7d,
0x4cc21ec9, 0x4d124165, 0x4d7068c2, 0x4d880f9a, 0x4d899f92, 0x4da8f95f, 0x4db9f1bb, 0x4dd4eb0f,
0x4df49e60, 0x4df5fa93, 0x4e4ba5ae, 0x4e525207, 0x4e57f129, 0x4e709132, 0x4e78199b, 0x4ea8552b,
0x4edcd333, 0x4f42ed0c, 0x4fb55f9a, 0x4fb8df09, 0x4fe566ae, 0x4ff6109a, 0x501c358e, 0x502a44b3,
0x502d1c29, 0x502fb259, 0x5068c6c1, 0x5074d856, 0x508caf2a, 0x50ab1278, 0x50b0f2c2, 0x50b9ab72,
0x50bf3d33, 0x50d93289, 0x518a1720, 0x5205d39d, 0x521661f0, 0x526ee929, 0x52910039, 0x52e200aa,
0x52eabbf9, 0x52f9ef09, 0x530dbeef, 0x5321e07a, 0x533f370b, 0x535989d9, 0x5392a96b, 0x53ce5950,
0x54086f50, 0x542ca5dd, 0x547faa81, 0x548391ce, 0x54998958, 0x549f7f33, 0x54b2ab45, 0x54ff6d72,
0x558fc205, 0x559ee015, 0x55baa0b6, 0x55d95f2b, 0x562c6d7a, 0x56323b35, 0x564f942b, 0x56a7b9b9,
0x56d39352, 0x56ed21db, 0x57000ebb, 0x5700b68a, 0x5716c71d, 0x571c4213, 0x575bed54, 0x576087f8,
0x578f3784, 0x5796004b, 0x579cecda, 0x57c1e588, 0x57d8f918, 0x57ebd46f, 0x582e8300, 0x5833412c,
0x583a94ae, 0x583ce610, 0x5848c075, 0x5868ee30, 0x5893c1cd, 0x58da2734, 0x5911354c, 0x593975d6,
0x593c17d0, 0x595194e8, 0x5964894d, 0x59ab55bb, 0x59dd8037, 0x59dfeb41, 0x59e0685e, 0x59e271f1,
0x59e4f211, 0x5a11f0a4, 0x5a2c64ad, 0x5a32eaef, 0x5a432e0e, 0x5a4a3917, 0x5a92efc2, 0x5aa94f1b,
0x5acdca80, 0x5ae18d84, 0x5af84790, 0x5b0c04b3, 0x5b104514, 0x5b23410f, 0x5b2a712b, 0x5b5727ca,
0x5b7634a6, 0x5c3a45d5, 0x5c4ff2a8, 0x5cb79ea6, 0x5ced9ad3, 0x5d5f1b0d, 0x5d6ad526, 0x5d9793da,
0x5dc7cd1e, 0x5e1fd2c8, 0x5e68a0c9, 0x5e9b3e5b, 0x5eae5d90, 0x5eb05349, 0x5eca176b, 0x5edeb965,
0x5ef432e2, 0x5f622fdc, 0x5f826520, 0x5fa20f23, 0x5fa9eb5b, 0x5fcdbd75, 0x5fd8d214, 0x5fdb248a,
0x5ff70e36, 0x602078ca, 0x602fdbce, 0x6043c12a, 0x604688d4, 0x604e6f4c, 0x6070b591, 0x60caeb53,
0x60ebf61e, 0x60f71a9d, 0x6115ec62, 0x6164b5b7, 0x61895378, 0x61c04564, 0x61c4d9a8, 0x61dd32eb,
0x61f3db8a, 0x621d08df, 0x6228456d, 0x62939b45, 0x62bf661b, 0x62cd12c3, 0x62e28c97, 0x62ef4882,
0x63144061, 0x633486b2, 0x635c62b0, 0x63643f49, 0x637617f3, 0x63b654ad, 0x63f557dc, 0x63fbbcc0,
0x6421606d, 0x642bf5f7, 0x64406b98, 0x6452ba2b, 0x64622a86, 0x64794e2c, 0x64f9d040, 0x650f9b41,
0x654fd8b7, 0x655ac3b3, 0x655db35d, 0x655e5c8b, 0x656b8b53, 0x657193c5, 0x660531dd, 0x66280568,
0x667c2c2c, 0x66a1d7fd, 0x66a49116, 0x66acedc3, 0x66b809b0, 0x670c85ff, 0x67472bae, 0x6789cfcd,
0x67b0e128, 0x67b2d438, 0x67bd1f31, 0x67d1ae47, 0x67e0b113, 0x6804886d, 0x680e56cc, 0x6861f7b7,
0x68698ba7, 0x68de4eed, 0x68ee8dd4, 0x68f0382d, 0x692bbaa5, 0x6983482a, 0x69852bef, 0x699492a6,
0x699c8ebf, 0x69c884cb, 0x69d2d0d7, 0x6a3bc4e4, 0x6a9c35b3, 0x6aabc04a, 0x6acc7867, 0x6b3f7560,
0x6c0b0cd8, 0x6c4af732, 0x6c69bdfe, 0x6c9b393d, 0x6ce27815, 0x6d03f439, 0x6d337dd5, 0x6d5f843b,
0x6d6ae688, 0x6d87a753, 0x6d954d9b, 0x6dc60453, 0x6e05e450, 0x6e425edd, 0x6e4a15be, 0x6e61e1b9,
0x6e998846, 0x6f45eba6, 0x6f7e5eee, 0x6f85a375, 0x6fc72def, 0x7017c7d1, 0x7019e683, 0x703f8288,
0x705b6dab, 0x706fd630, 0x708ef5c5, 0x7096ce54, 0x70b00c66, 0x70b0c3b3, 0x70b4b53c, 0x70d65d6a,
0x70e19961, 0x712b0ea5, 0x7166a639, 0x717b5fab, 0x71afefbb, 0x71e86829, 0x71e939f1, 0x71f35c1e,
0x72289a1f, 0x7259e3c5, 0x72dc66ce, 0x72f631f3, 0x72ff7ba6, 0x7358638d, 0x737e960a, 0x739c697b,
0x73ab9a83, 0x73d96211, 0x73e651d0, 0x73f3fa4e, 0x73f408e4, 0x7406e4d2, 0x740a06af, 0x7423f6d1,
0x7492347d, 0x749c6090, 0x74d76fb9, 0x7500dab7, 0x751c8937, 0x751e528f, 0x754daf9f, 0x756cbb1f,
0x76f273aa, 0x7733f2b8, 0x7787a5f8, 0x778f207d, 0x77b3397c, 0x77d09721, 0x782c2165, 0x78723f69,
0x788ac0f6, 0x788fcc96, 0x7897fe65, 0x789ebea5, 0x78ca3e57, 0x78d46199, 0x7925a01c, 0x79468f33,
0x794f242d, 0x7962e820, 0x7977f228, 0x7993835f, 0x79b3582e, 0x79c7e150, 0x79d13c92, 0x79eca771,
0x79f96e36, 0x79fdfdf9, 0x7a3aac01, 0x7ac99149, 0x7ae43ca9, 0x7af936f4, 0x7b10dfc2, 0x7b165909,
0x7b7ba39e, 0x7bb7d834, 0x7bf1497c, 0x7c2ab4a9, 0x7c61850f, 0x7c844d21, 0x7cf7d4ad, 0x7d12a804,
0x7d6b7939, 0x7d787c89, 0x7da95540, 0x7dc2c31d, 0x7dd35902, 0x7dd43b3d, 0x7e070a86, 0x7e4d566b,
0x7e7cba50, 0x7f2b7021, 0x7f4524b1, 0x7f7d12eb, 0x7f8291b4, 0x7f988baf, 0x7fe7c231, 0x805cf1f2,
0x80826056, 0x80bb47b2, 0x80dd106e, 0x80e46a95, 0x80ea3919, 0x80ec4d12, 0x810af298, 0x8133bbdc,
0x814f25cf, 0x8189c7b6, 0x81f28000, 0x8209a558, 0x82252b20, 0x822648d8, 0x82500e6b, 0x827917a9,
0x82af27f9, 0x82da4494, 0x82ea3f2d, 0x82fad086, 0x834cce11, 0x836fa5ed, 0x83b64dd8, 0x83bf0a9b,
0x83c8657f, 0x83d62118, 0x84115040, 0x84524267, 0x8465bed1, 0x847056b5, 0x8490d920, 0x84a5a166,
0x84aebd72, 0x84bcd5f6, 0x84c082c4, 0x853ee307, 0x8583858c, 0x85d40865, 0x85fd0726, 0x861e1f77,
0x8635bfe7, 0x86365460, 0x86372a87, 0x86377b7e, 0x867cf4af, 0x86b9cf34, 0x86d54c37, 0x86e964bc,
0x8711cee0, 0x874d1748, 0x879574c2, 0x87bb2cf7, 0x87c85b50, 0x881a3647, 0x88214b81, 0x883875aa,
0x88955a89, 0x88ae391e, 0x88c0de3f, 0x88cb7810, 0x88cc839d, 0x88dc7aad, 0x88ec8372, 0x88f3f53c,
0x894611c9, 0x8961d713, 0x899bdd05, 0x89e19447, 0x8a1c1396, 0x8a3b5037, 0x8a4b420c, 0x8a69c7dd,
0x8a6c5698, 0x8a7d1a78, 0x8a7f3779, 0x8ac957d4, 0x8ad081c3, 0x8ad1edda, 0x8ad9e8a7, 0x8adb1f08,
0x8b0a2c08, 0x8b14d443, 0x8b47a5fb, 0x8b83e6ee, 0x8b84adba, 0x8b8a196a, 0x8ba2bcca, 0x8bfd9414,
0x8c05c385, 0x8c1ae5bd, 0x8c2334fa, 0x8c323e3b, 0x8c3a4e37, 0x8c6caeff, 0x8c750182, 0x8c8e9401,
0x8cb6e831, 0x8cc60684, 0x8d17595f, 0x8d7e25ee, 0x8d865b78, 0x8d8982b9, 0x8d91b192, 0x8da38362,
0x8dd0ea69, 0x8de80165, 0x8dec90ea, 0x8df0c4a7, 0x8e183a26, 0x8e40d3ee, 0x8e6ff49f, 0x8e711664,
0x8eb612e7, 0x8ec92e81, 0x8ef728de, 0x8ef766d3, 0x8ef95a67, 0x8efa25cc, 0x8f03405e, 0x8f067283,
0x8f12dc97, 0x8fa4bfd1, 0x900525b6, 0x90159b06, 0x9028fc8b, 0x903a77d3, 0x907adc44, 0x909ff681,
0x90aea807, 0x90bbc9ff, 0x90bd1f72, 0x90ce9438, 0x91045933, 0x913304ea, 0x914e5c8b, 0x9158e0ae,
0x917fefc9, 0x919a1346, 0x91a5267e, 0x91d09be7, 0x91f8ac34, 0x9203a9de, 0x921c662a, 0x92313ec5,
0x926017f5, 0x9272efea, 0x9295df6c, 0x92a84f49, 0x92b7a6bc, 0x92ccabab, 0x93269172, 0x9372d28a,
0x938cdf69, 0x93a0e279, 0x93ea4614, 0x93f26ba8, 0x94432676, 0x945bd1cd, 0x946e3324, 0x947bb87d,
0x94875ae7, 0x94e41520, 0x951be3a0, 0x956be08e, 0x9590f54c, 0x9596e203, 0x95aa9c59, 0x95cdfa70,
0x960ed6f4, 0x9615d0d6, 0x96282980, 0x963411fc, 0x969508b1, 0x9696539d, 0x96fb7e0b, 0x97185f06,
0x975f1c45, 0x977c89d8, 0x97c9c11b, 0x97ceb661, 0x97de2fb0, 0x97e79802, 0x98143e94, 0x9835f7d9,
0x984c372b, 0x985f3beb, 0x98753d6c, 0x988a90f3, 0x98e17eee, 0x98fd0136, 0x98ff3d6e, 0x9910a028,
0x99279a6f, 0x992cf785, 0x9966d589, 0x99736b62, 0x99996f7e, 0x999c8205, 0x99ba1848, 0x99bdccdb,
0x99cdd39c, 0x99f97ba7, 0x9a2413f5, 0x9a2a7ab3, 0x9a2cd39e, 0x9a8be937, 0x9aa5cb10, 0x9af1aa5e,
0x9b2af8fb, 0x9b3310be, 0x9b3f4598, 0x9b444756, 0x9b4b3f2a, 0x9b5dda92, 0x9b7cd7b0, 0x9b7f8797,
0x9b88be59, 0x9b97f575, 0x9bb30a28, 0x9bca8766, 0x9bd07c8f, 0x9bf9bcfb, 0x9c3c545d, 0x9c75e5f8,
0x9d2c0920, 0x9e2f8a14, 0x9e53ef97, 0x9e5b57e7, 0x9e92171c, 0x9ebdaa4c, 0x9ed311a0, 0x9efc3339,
0x9f0488fe, 0x9f4c1d64, 0x9fadacb6, 0x9fbac800, 0x9fbb7245, 0x9ff4b538, 0x9ffb6db1, 0xa036ef9a,
0xa038e90a, 0xa0787e8a, 0xa07d044a, 0xa08f31f6, 0xa0cec2f8, 0xa0d80366, 0xa10af71d, 0xa1300acf,
0xa1308cc8, 0xa135d3c3, 0xa1361846, 0xa1917d8f, 0xa1a2edef, 0xa1c0e616, 0xa206700f, 0xa2217391,
0xa2282a0b, 0xa22b2413, 0xa266b1ea, 0xa26bf7c8, 0xa27c9e39, 0xa27ca427, 0xa27dbaa1, 0xa297d454,
0xa2b25731, 0xa2cbe127, 0xa2e01520, 0xa3023f6c, 0xa3346017, 0xa3355802, 0xa35cfe58, 0xa3afcfed,
0xa3c26a27, 0xa3c74158, 0xa3c7b2ec, 0xa3cecb89, 0xa4589fc1, 0xa45ff1dd, 0xa46c13f3, 0xa487e54f,
0xa4ae04d3, 0xa4d970d0, 0xa4f5110a, 0xa5235679, 0xa5458f78, 0xa58629b9, 0xa5f5aed7, 0xa609a0ee,
0xa636352d, 0xa63ff4cc, 0xa65ffe5c, 0xa6615b0c, 0xa6d49928, 0xa70f7429, 0xa79e3be3, 0xa7c73854,
0xa7cbccfa, 0xa82b3a72, 0xa8d34eb2, 0xa8f8bab5, 0xa92b45ef, 0xa94b8269, 0xa950a1ac, 0xa956dc79,
0xa95e3d3f, 0xa9bb8861, 0xa9ce8370, 0xaa074ef0, 0xaa0b33ed, 0xaa386612, 0xaaa73072, 0xaac99b12,
0xaaf7b209, 0xab4471a0, 0xab482b5f, 0xab7a33ce, 0xabed2b30, 0xac56b125, 0xac7454da, 0xac952baa,
0xacd67339, 0xacfc460d, 0xad596d20, 0xadac3100, 0xae143b6c, 0xae2177a0, 0xaeaa31fe, 0xaf068a5a,
0xaf1c88d8, 0xaf3ccbdc, 0xaf46339e, 0xaf568654, 0xaf75e504, 0xafb4b9b8, 0xafd6ac26, 0xb072df42,
0xb092991a, 0xb0978dc0, 0xb0a16162, 0xb0a896f6, 0xb0d722c0, 0xb0f0e2ed, 0xb12218db, 0xb16411af,
0xb1927148, 0xb1ae7c07, 0xb1fa22d9, 0xb23482ff, 0xb29ba230, 0xb2c7a150, 0xb2d689b6, 0xb30d16ad,
0xb38f3294, 0xb42b2abb, 0xb4364a3f, 0xb43c12f8, 0xb4425c61, 0xb44a962d, 0xb45824b8, 0xb46d4340,
0xb4922e56, 0xb50397e3, 0xb52de9f9, 0xb5367aa6, 0xb539c88a, 0xb53a3d10, 0xb546a7ef, 0xb5c0ad83,
0xb5c8e8be, 0xb5f30638, 0xb5f3c46d, 0xb6138440, 0xb615c993, 0xb6235dba, 0xb6514b9c, 0xb653366a,
0xb68e90e6, 0xb690acc0, 0xb692e371, 0xb6b66731, 0xb6f62fe4, 0xb729fc61, 0xb741f315, 0xb77452ca,
0xb7c38411, 0xb80ffb32, 0xb8862b71, 0xb8c11f40, 0xb8e78f58, 0xb9034285, 0xb96b1396, 0xb9f89458,
0xba22e45a, 0xba3eaa96, 0xba424efe, 0xba58f3fc, 0xba6fc420, 0xbaba4538, 0xbad8620b, 0xbb330595,
0xbb4bfa62, 0xbb942a39, 0xbc4b99ff, 0xbc7389bd, 0xbcbec70f, 0xbcfe4966, 0xbd344ca5, 0xbd828e2c,
0xbd9e16b3, 0xbde4dc1c, 0xbe3068ba, 0xbe4a5e9b, 0xbe8daba7, 0xbec69912, 0xbeceb922, 0xbf556321,
0xbf572908, 0xbf5e087a, 0xbf74ae6d, 0xc0085050, 0xc0267760, 0xc04192c3, 0xc0547b5f, 0xc0851403,
0xc09c2dcf, 0xc0c5b569, 0xc0cd8a7f, 0xc0d6bafb, 0xc0fb620e, 0xc0ff96d1, 0xc1227d80, 0xc12bdd2b,
0xc1367185, 0xc17f8588, 0xc1d8c92c, 0xc20e4598, 0xc21fda63, 0xc225b19f, 0xc22ceff6, 0xc232a5db,
0xc239ed48, 0xc2585cdf, 0xc25e7670, 0xc269983a, 0xc26c3148, 0xc29f7936, 0xc2a31e7c, 0xc2cb5826,
0xc2e87e02, 0xc3069871, 0xc31f0b04, 0xc3505aee, 0xc395b06a, 0xc3ae20b1, 0xc3d37251, 0xc44a245a,
0xc44aeece, 0xc45ba131, 0xc4a03a9b, 0xc4c62b2c, 0xc4cc37ca, 0xc4ce6e8d, 0xc4d1dfec, 0xc4f5ff54,
0xc5001ffb, 0xc53c70bc, 0xc5438d06, 0xc5665e34, 0xc57a665c, 0xc5b553da, 0xc5b90c80, 0xc5c43c32,
0xc5e3027b, 0xc5e9f609, 0xc68ecafc, 0xc6a34951, 0xc6f0075d, 0xc6fe441e, 0xc713be03, 0xc7232c1e,
0xc79760e9, 0xc7b919e2, 0xc816ea0d, 0xc8174cb1, 0xc83d1e0a, 0xc83d80df, 0xc87eacd3, 0xc88dcc27,
0xc8ba33c8, 0xc919c75f, 0xc91d803e, 0xc982b698, 0xc9ef2e6c, 0xc9f260d3, 0xc9f5114d, 0xc9fb4ba8,
0xca0eb862, 0xca1474b6, 0xca1eb64a, 0xca4be8f1, 0xca9bf8d1, 0xcaa658ea, 0xcacc2df3, 0xcaf10441,
0xcafe7507, 0xcb0b53b1, 0xcb1ded3c, 0xcb288f8f, 0xcb637a36, 0xcbcd7f05, 0xcc29f2e1, 0xcc2f05cf,
0xcc35335a, 0xcc479262, 0xcc5c6d8c, 0xcc647c86, 0xcc93159a, 0xcc9ba064, 0xccc79db5, 0xcce921ae,
0xcd23b24f, 0xcdbdd873, 0xcde51b3f, 0xce1e8013, 0xce2b4cc9, 0xce449f1c, 0xce873399, 0xce90cbd2,
0xce9d58d6, 0xced040d3, 0xceec6afd, 0xcef4746e, 0xcf43cc73, 0xcf47ebcf, 0xcf4d37a2, 0xcf8c8a6b,
0xcfd54587, 0xd00a5f8c, 0xd0fd5dce, 0xd122eec3, 0xd157d5f7, 0xd159fae7, 0xd19be960, 0xd1f0ae4c,
0xd21945b7, 0xd2a436d8, 0xd2a635bb, 0xd2ac12eb, 0xd2aeccb2, 0xd2ba8c37, 0xd2e53fc9, 0xd2fb91a3,
0xd31bb0ab, 0xd3635047, 0xd3d6c91c, 0xd3eb5666, 0xd3fafe1d, 0xd4031665, 0xd40caa6e, 0xd410c9b7,
0xd4144bdf, 0xd4a416f8, 0xd4ac4f42, 0xd4f61927, 0xd52c1485, 0xd5830350, 0xd5fb12e8, 0xd602d6ab,
0xd60dddfc, 0xd618dd84, 0xd62dbf6d, 0xd641a8b3, 0xd64b3459, 0xd652c264, 0xd69692d5, 0xd6e38e1e,
0xd71066f2, 0xd71f0bc1, 0xd722240b, 0xd7223944, 0xd78457aa, 0xd787c3d2, 0xd7b78861, 0xd7ff168f,
0xd81b18f4, 0xd82f1baf, 0xd87ddc8c, 0xd8927c64, 0xd89c4741, 0xd8db62cd, 0xd90eae52, 0xd91be43f,
0xd93aea04, 0xd95ad3b3, 0xd97128ce, 0xd9d7b018, 0xd9daf6b2, 0xda11e11a, 0xda168ebb, 0xda3498e6,
0xdaab0196, 0xdad9a49f, 0xdae19eaf, 0xdae8ff9a, 0xdaea9644, 0xdaf7417d, 0xdafdd9d5, 0xdb0599b9,
0xdb42b09c, 0xdb561c3a, 0xdb6dda4f, 0xdc0848c2, 0xdc29cab3, 0xdc2dd997, 0xdc4e22e9, 0xdc529f0f,
0xdc539bcc, 0xdc8e3d40, 0xdcc8ba61, 0xdccbe049, 0xdce9c6a7, 0xdd4e2b38, 0xdd777485, 0xdd836be1,
0xdd8e3d43, 0xddbbff6f, 0xddf05854, 0xdec72884, 0xdf2a8fb0, 0xdf490d0b, 0xdf9bacc5, 0xdfabfc2e,
0xdfb5f37a, 0xdfbafa88, 0xdfbd654f, 0xdfc6edc1, 0xe011ca98, 0xe02da94d, 0xe04df529, 0xe06124cb,
0xe0972e5b, 0xe0b8f533, 0xe1091dcc, 0xe11fff55, 0xe12f0afe, 0xe1717f36, 0xe195562e, 0xe1edbaea,
0xe1fb89a4, 0xe21a82ae, 0xe23f09b9, 0xe27c26e0, 0xe2abb5d3, 0xe30d2554, 0xe35865a7, 0xe3677e8a,
0xe38d505b, 0xe3e6c11a, 0xe3f893f8, 0xe40711db, 0xe4080fba, 0xe43a5cec, 0xe448e1b1, 0xe46b19cd,
0xe5163cbd, 0xe587021b, 0xe5d1151c, 0xe6085676, 0xe65a0c87, 0xe6808a54, 0xe6931d43, 0xe6c5c1a2,
0xe6eef054, 0xe736217f, 0xe73804b3, 0xe7534c0f, 0xe77e8848, 0xe7d81530, 0xe7f75827, 0xe8079a86,
0xe80a9eda, 0xe8addb44, 0xe8cd28b3, 0xe8d22126, 0xe932001d, 0xe9600685, 0xe99e4144, 0xea127d5b,
0xea312f16, 0xeab87894, 0xeabfabe7, 0xeb1a4652, 0xeb323cb8, 0xeb9fc740, 0xebc67388, 0xebfe9426,
0xec08471d, 0xec20bc84, 0xec24eafe, 0xec65fd0e, 0xec777d7c, 0xec7cdd16, 0xec80ecfa, 0xec88c5a2,
0xecafd4cc, 0xece1fa6a, 0xece4af29, 0xed01da5f, 0xed6627dd, 0xed77b41d, 0xed7f50ce, 0xedb5af3f,
0xedce9582, 0xedd464a8, 0xee425e1d, 0xee48aa58, 0xee6f160a, 0xee73b658, 0xee9047f4, 0xeeaa2616,
0xeed4a595, 0xeed68367, 0xeefdf909, 0xef344468, 0xef37a9be, 0xef635d5d, 0xef6dfdb7, 0xef70d485,
0xef8e7ce6, 0xef9ceab3, 0xefdb1f57, 0xf0274e1a, 0xf036238f, 0xf04b76dc, 0xf0988858, 0xf0d2218c,
0xf1178c4c, 0xf1aa8b46, 0xf1efea2c, 0xf211f353, 0xf22a43d9, 0xf2a5b34a, 0xf2ee82ec, 0xf2f49a7a,
0xf3141f02, 0xf349734f, 0xf3610321, 0xf366a0bd, 0xf399c350, 0xf3b77635, 0xf3bb53d5, 0xf3bd4418,
0xf3f51004, 0xf3f8c9b1, 0xf40c2b0e, 0xf443fae0, 0xf49ccc67, 0xf4ab979b, 0xf4e60b8d, 0xf4e8f1b4,
0xf58a14c7, 0xf58b5c80, 0xf5b246cc, 0xf5d831c6, 0xf5e71654, 0xf6160a52, 0xf6264d79, 0xf6853f20,
0xf691cf9e, 0xf6e67bcd, 0xf6fba49e, 0xf70a4075, 0xf783c273, 0xf7869d3d, 0xf79eab40, 0xf7bfdb93,
0xf7e37413, 0xf7fb7294, 0xf8049b0a, 0xf80d5e7e, 0xf83367bc, 0xf8497c57, 0xf897773d, 0xf8ecf737,
0xf8f5fd51, 0xf90a8684, 0xf9338f90, 0xf9342a29, 0xf952c0b6, 0xf9531c7b, 0xf99b49af, 0xf9d1d011,
0xf9d50497, 0xf9e10545, 0xf9e81bfa, 0xf9eb79ab, 0xfa12fcda, 0xfa297f96, 0xfa2ecee2, 0xfa2f3eec,
0xfa3e028b, 0xfa464a99, 0xfa5c61d9, 0xfaf5f7a1, 0xfb073ac8, 0xfb1f386a, 0xfb26e1d6, 0xfb53f705,
0xfb739f5d, 0xfb765fbc, 0xfb85baec, 0xfbbe5dfd, 0xfc5b8f9f, 0xfca2f664, 0xfca32cb8, 0xfcf1d490,
0xfd1fd949, 0xfd72c546, 0xfdd548dc, 0xfe004264, 0xfe750c11, 0xfe8eff26, 0xfea08520, 0xfed4d5db,
0xfef7f7f9, 0xff05b7e8, 0xff522711, 0xff7758a0, 0xffa754fa
];
function unlockKoroks(){
var unlockedKoroks=0;
for(var i=0;i<KOROK_HEADERS.length; i++){
var offset=SavegameEditor._searchHeader(KOROK_HEADERS[i]);
if(offset && !tempFile.readInt(offset)){
tempFile.writeInt(offset, 1);
setValue('koroks', getValue('koroks')+1);
unlockedKoroks++;
}
}
MarcDialogs.alert(unlockedKoroks+' korok seeds were added');
//TO-DO: add one Korok seed in inventory!!
}
function testKorokHeader(hdr){
/* reset all flags */
for(var i=0; i<POSSIBLE_KOROK_HEADERS.length; i++)
tempFile.writeInt(SavegameEditor._searchHeader(POSSIBLE_KOROK_HEADERS[i]), 0);
for(var i=0; i<KOROK_HEADERS.length; i++)
tempFile.writeInt(SavegameEditor._searchHeader(KOROK_HEADERS[i]), 0);
/* set flag to 1 */
tempFile.writeInt(SavegameEditor._searchHeader(hdr), 1);
}
//0xcc29f2e1, /*ok!*/
//0xcc2f05cf, /*ok!*/
//0xcc344ab6, /* NOOO??? */
//0xcc35335a, /*ok!*/
//0xcc3725c4, /* NOOO??? */
//0xcc3af8ac, /* NOOO??? */
//0xcc3ccdb3, /* NOOO??? */
//0xcc479262, /* NOOO??? */
//0xcc4bfca0, /* NOOO??? */
//0xcc4ccfae, /* NOOO??? */
//0xcc4eb316, /* NOOO??? */
/*
// here should be my 376 korok (plus a lot of true flags!)
0x00063b0e, 0x001c8d7c, 0x0027b7f4, 0x002a339e, 0x002c3ba6, 0x003602a9, 0x004500f6, 0x00753066,
0x0083a673, 0x00a9b377, 0x00ab93c5, 0x00bc9d09, 0x00de8264, 0x00e721a8, 0x0105ef12, 0x010b9a01,
0x010c0508, 0x0110118a, 0x01150204, 0x01278cfe, 0x0128939f, 0x012f96ac, 0x01317659, 0x0153c15b,
0x01593981, 0x01647f7d, 0x016bd940, 0x017ef73e, 0x018ec3db, 0x018f1101, 0x0191dfc7, 0x0194402e,
0x01ffb737, 0x02110442, 0x0228c21c, 0x022d3770, 0x022e0e12, 0x02426e90, 0x0264991e, 0x0264c021,
0x026c7c33, 0x0270bcf0, 0x02a5d6bd, 0x02ad19d1, 0x02c3accc, 0x02c6fd11, 0x02d0f170, 0x02ddf8bf,
0x02e10406, 0x02f8fdfe, 0x030bd873, 0x0321b72b, 0x032d8700, 0x03443957, 0x03577b95, 0x0367eb1d,
0x036c4084, 0x036f3b8f, 0x0370671c, 0x037dfc51, 0x03902ab7, 0x03998f40, 0x039d6727, 0x03b2d6c7,
0x03d2b494, 0x03da0584, 0x03dd5243, 0x03ef3e48, 0x0402ff96, 0x0410dab5, 0x04180513, 0x04196a87,
0x041da305, 0x04250e4b, 0x042c6214, 0x044cac17, 0x049b8a93, 0x04b7c19d, 0x04e74946, 0x04e81163,
0x0501b82a, 0x051ed62c, 0x052faa89, 0x053a890c, 0x0559e0a4, 0x05668d9d, 0x05689c34, 0x0569a391,
0x0579142c, 0x058cc01f, 0x05c0ddc8, 0x05c812a4, 0x05cd750a, 0x05d9aaae, 0x05dccacf, 0x05eb25a7,
0x060b5dd9, 0x0612bfb1, 0x06133327, 0x063e0542, 0x064ba620, 0x065cb240, 0x0664971e, 0x067d656f,
0x06c85f81, 0x06c970b5, 0x06ca878b, 0x06d2fad2, 0x06da9874, 0x06e2d518, 0x06e307c2, 0x06f0e5d5,
0x06f2047b, 0x06f98437, 0x06fdc042, 0x0728c4ef, 0x073faa75, 0x0741ffbf, 0x074a73ed, 0x07645bcf,
0x07928e86, 0x0794d692, 0x07a9bfba, 0x07b7eda2, 0x07c2d329, 0x07d15910, 0x07db9677, 0x07f0f33a,
0x080969be, 0x081cb8e0, 0x082793ec, 0x08395d2a, 0x08546066, 0x0855d7b7, 0x087678f8, 0x088d0a5b,
0x0891c0d5, 0x089edfb4, 0x08b51c66, 0x08b9060c, 0x08ce6572, 0x08d60c6b, 0x08dd956b, 0x08f8748c,
0x090505d9, 0x090c0f45, 0x09195b1b, 0x091fff5c, 0x092e9fd3, 0x09353352, 0x09360a68, 0x09486d33,
0x094c0089, 0x09533a19, 0x0968ce4f, 0x096a9143, 0x0978012a, 0x09913cac, 0x0993ba27, 0x099f8d26,
0x09aac157, 0x09af9809, 0x09c30c55, 0x0a14b535, 0x0a260a74, 0x0a467aec, 0x0a50de29, 0x0a6c49af,
0x0a7482ff, 0x0a88db2b, 0x0a8ee5cb, 0x0acc59da, 0x0ad977a4, 0x0afc1c1d, 0x0b03cec2, 0x0b139a96,
0x0b1b55fa, 0x0b23bea6, 0x0b358ef9, 0x0b4ab11c, 0x0b57482d, 0x0b669e4b, 0x0b727016, 0x0b762cee,
0x0b8ad079, 0x0b9e8e37, 0x0bb9be9d, 0x0bc2e52f, 0x0bd12257, 0x0bd2d535, 0x0bd5a1ec, 0x0bdebc55,
0x0bfc39bb, 0x0c1a9b21, 0x0c3988ae, 0x0c4114d3, 0x0c4319c0, 0x0c4780b5, 0x0c4ec191, 0x0c4f1cd6,
0x0c6483e0, 0x0c6a86e4, 0x0c7b0a99, 0x0c91cd1f, 0x0c9de8bc, 0x0cb0ee1b, 0x0cb63152, 0x0cbf112c,
0x0cce4f0d, 0x0ce86cc9, 0x0d1a7a70, 0x0d289137, 0x0d2e04fc, 0x0d40c7c1, 0x0d58003c, 0x0d61d7d4,
0x0d62d541, 0x0d79b190, 0x0d8173f7, 0x0d90eabf, 0x0da19dc3, 0x0dba0246, 0x0dbdf62d, 0x0ded825c,
0x0e05a799, 0x0e0ef8b0, 0x0e255311, 0x0e2d38d1, 0x0e4329fd, 0x0e4d2e34, 0x0e4e1a14, 0x0e500a96,
0x0e641d09, 0x0e6e49e6, 0x0e723b45, 0x0e749f02, 0x0e8ea398, 0x0ea4b55f, 0x0ea61331, 0x0ea95b4f,
0x0eb58d34, 0x0ebf0185, 0x0f1bbce1, 0x0f2456f4, 0x0f4a57f5, 0x0f4c2aa2, 0x0f554be9, 0x0f72d4f8,
0x0f7ccba0, 0x0f8b012d, 0x0f8b47d5, 0x0f9242ec, 0x0f95b095, 0x0fa95e7d, 0x0fb05172, 0x0fb68079,
0x0fc5f90d, 0x0fc7cdae, 0x0fd37e5b, 0x0fd78d3a, 0x0fe9dc4f, 0x0ff31bad, 0x0ff73aef, 0x0ffc04cc,
0x0ffc0807, 0x1001da5d, 0x1004ce1d, 0x100b7862, 0x101821ea, 0x1073ff0e, 0x107c12bb, 0x107ecb20,
0x108146cc, 0x10b1f016, 0x10e87d9c, 0x10f99b52, 0x11008e90, 0x110789a1, 0x1118a613, 0x113554cd,
0x116579f3, 0x116d49b9, 0x118af194, 0x11935096, 0x11a17862, 0x11ae2d27, 0x11af3d77, 0x11b7b80b,
0x11c6a42a, 0x11d8f6e1, 0x11e345cd, 0x11febc31, 0x11ff7222, 0x12031ecc, 0x1208abd7, 0x121daa20,
0x121f98b1, 0x122c85fb, 0x1248d683, 0x124c3098, 0x124c796c, 0x12612d06, 0x1272e630, 0x1285bf76,
0x12a0599c, 0x12a50513, 0x12bfadf3, 0x12c9693f, 0x12e25b8d, 0x12f62d4d, 0x12f7d78b, 0x12fb0456,
0x13025056, 0x13189db0, 0x13460aab, 0x136e4dd2, 0x138922dc, 0x138ac4c9, 0x13c246e5, 0x13ceaad6,
0x13d7689b, 0x13ec0ad7, 0x13f2fe03, 0x13fcbc38, 0x140a43f8, 0x140f447d, 0x14418d9d, 0x1443317d,
0x144479ea, 0x145c0442, 0x146cd13d, 0x1480f871, 0x149d99a4, 0x14a2f561, 0x14a4027b, 0x14a7d3b8,
0x14abdb94, 0x14b6f56b, 0x14baac82, 0x14ce64b2, 0x14e1da2f, 0x14e4e6c5, 0x15087372, 0x150899de,
0x15891cfa, 0x158921e5, 0x15905a70, 0x159271a5, 0x1597aca2, 0x159a1392, 0x15ad023f, 0x15bff1b6,
0x15c3415d, 0x15cf62ac, 0x15da6f8c, 0x15e87b6f, 0x16008da0, 0x1601d363, 0x161656b2, 0x162c93aa,
0x162e257d, 0x16388688, 0x1644df04, 0x1650975c, 0x166a4db8, 0x168e81d4, 0x16a04d8e, 0x16ab6033,
0x16bc8e25, 0x16c8db18, 0x16ccbc7b, 0x16da027d, 0x16e7358d, 0x16f1455f, 0x16f20a8b, 0x171e3b17,
0x1736cc59, 0x1738ff80, 0x17620397, 0x17690a04, 0x176a0010, 0x17c6ffc8, 0x17d069ed, 0x17d46f50,
0x17d633bc, 0x17dc340f, 0x17ec4f4a, 0x17f9b849, 0x1810ab40, 0x183cbdbf, 0x183d74c5, 0x18473a83,
0x1848f01a, 0x1865c67f, 0x1870e801, 0x18786f04, 0x18c5e539, 0x18d100e9, 0x18f513ea, 0x18f96105,
0x1907bc3d, 0x190f30c6, 0x1911ba9b, 0x191bccf9, 0x1932428f, 0x19370ae7, 0x193c86b5, 0x195e31b7,
0x1960cdbb, 0x1976df17, 0x19a7ac48, 0x19b169e1, 0x19b28236, 0x19b33480, 0x19ba1ae9, 0x19c5b325,
0x19ef63e6, 0x19ff1ef2, 0x1a0f4381, 0x1a2398a1, 0x1a2fa3d5, 0x1a51b775, 0x1a740ace, 0x1a7bca9c,
0x1a8304e8, 0x1a91bc1e, 0x1aa26c53, 0x1aaf0954, 0x1ab2dd1a, 0x1abfc4e9, 0x1adfc763, 0x1ae134c7,
0x1b1c54e9, 0x1b49f997, 0x1b595fd1, 0x1baa3f97, 0x1bb5d727, 0x1bb9a0ab, 0x1bbee7fc, 0x1bd50e08,
0x1bf3f1b8, 0x1bfa3547, 0x1c18a5e1, 0x1c1a896b, 0x1c2c5fb9, 0x1c2f24da, 0x1c346f71, 0x1c349bc8,
0x1c46e721, 0x1c4a8bfc, 0x1c7b2fd7, 0x1c88a715, 0x1c97f15e, 0x1cb00877, 0x1cbc78a8, 0x1cc20370,
0x1cc64a4e, 0x1cd323e5, 0x1cdbec89, 0x1d033452, 0x1d14b94a, 0x1d19ced7, 0x1d23d7cc, 0x1d438c96,
0x1d4e5cb8, 0x1d52aaee, 0x1d66d1b5, 0x1d6a5010, 0x1d726240, 0x1d740cc7, 0x1d753114, 0x1d8dc8bd,
0x1db5e59c, 0x1dbfc9eb, 0x1dc197e7, 0x1dd1fbfe, 0x1ddc40cf, 0x1ddec937, 0x1dfc7807, 0x1e33f5ae,
0x1e37b9d3, 0x1e5142ac, 0x1e53b570, 0x1e5870f3, 0x1e5acefe, 0x1e77c904, 0x1ec2f62c, 0x1eca6851,
0x1eca9e17, 0x1ef6b62e, 0x1eff6ae3, 0x1f080266, 0x1f253403, 0x1f2ca100, 0x1f34dc19, 0x1f45ab5f,
0x1f478301, 0x1f485df7, 0x1f4d8f63, 0x1f6dacbb, 0x1f7062fc, 0x1f7e6066, 0x1f7f42f1, 0x1f7f7516,
0x1f9d7be0, 0x1fb93dbd, 0x2010fe03, 0x20124bf0, 0x20532624, 0x207a1bee, 0x209e94ee, 0x209fcd5e,
0x20a5295e, 0x20e5ddec, 0x2106b234, 0x210aa4da, 0x211181cf, 0x214706b9, 0x214f5483, 0x2171acb6,
0x2172b5da, 0x21831574, 0x219f8191, 0x21a3b608, 0x21acf49e, 0x21b871d9, 0x21cc8e6d, 0x21d021c7,
0x21e10531, 0x21e10a19, 0x21f42467, 0x21fa3907, 0x21fda0e3, 0x2204104a, 0x2232ac9f, 0x223944e8,
0x223a2b9a, 0x22459d8c, 0x2254f5a9, 0x2257f997, 0x225ed26d, 0x22764c38, 0x22879294, 0x229659f2,
0x22a2b029, 0x22a7f103, 0x22b7244e, 0x22ba4365, 0x22c143dd, 0x22d7138f, 0x22d9607f, 0x22de1f1e,
0x22ebcc97, 0x23645639, 0x239085e9, 0x23971ae0, 0x23a9e547, 0x23aee0df, 0x23bc9316, 0x23c8deb3,
0x23e800ee, 0x23ff85d7, 0x241ec1eb, 0x243bbc8f, 0x2447a3df, 0x245527c7, 0x245bbcca, 0x245c2f3a,
0x246e5d08, 0x248d1d15, 0x249585b4, 0x249f3742, 0x24b87dfb, 0x24b8e356, 0x24d1570f, 0x24d7197c,
0x24eacd02, 0x24f58bbc, 0x2522cdfe, 0x2524aa37, 0x25285995, 0x2553c042, 0x255480f1, 0x2557ef83,
0x255d5d75, 0x255f6886, 0x25700b4d, 0x25718f36, 0x25940a1d, 0x25ad5320, 0x25b28241, 0x25bae9fc,
0x25bd34de, 0x25dea6ac, 0x25ea568d, 0x25fb9deb, 0x26067fc7, 0x261c68af, 0x2637d709, 0x264fd038,
0x26619565, 0x26694a6b, 0x266b762d, 0x26743533, 0x267553ff, 0x267be80a, 0x268cce00, 0x2695bbfa,
0x26a0e223, 0x26bfbead, 0x26d05df4, 0x27180f3d, 0x271be32c, 0x2761df77, 0x27639252, 0x27729224,
0x2789911a, 0x27a4fe66, 0x27ac7110, 0x27db87fc, 0x27ec05b4, 0x27ee227b, 0x280e3df2, 0x2815fa23,
0x283f53ab, 0x2842684c, 0x285892c9, 0x28a5d061, 0x28aedbcd, 0x28b0fe1f, 0x28bce8f1, 0x28d159f9,
0x28ea2c2b, 0x28ecc532, 0x2901ca03, 0x2928461c, 0x292bb58d, 0x29693cd5, 0x297ac38f, 0x297f3e61,
0x2997b0ab, 0x299b17b0, 0x29a5e39c, 0x29ad3d74, 0x29af7993, 0x29cc57c5, 0x29cec62e, 0x29d90a28,
0x29f0f0a4, 0x2a0adf3d, 0x2a0e19ac, 0x2a1c259a, 0x2a348a0b, 0x2a3be36d, 0x2a430621, 0x2a4e0d86,
0x2a5524c4, 0x2a5be03d, 0x2a685c1e, 0x2a7e9298, 0x2a859497, 0x2a8c66fa, 0x2a8df522, 0x2a956d11,
0x2ab171da, 0x2ab2d1f4, 0x2afecf3b, 0x2b016865, 0x2b092e5a, 0x2b0ae437, 0x2b2015d9, 0x2b31debf,
0x2b45553b, 0x2b4e0ccd, 0x2b685335, 0x2b6ef845, 0x2b6fd8a0, 0x2b84e0b4, 0x2b8c67b1, 0x2b91ceca,
0x2b9dec37, 0x2ba5dab0, 0x2bb51da0, 0x2bc5121c, 0x2bdafa92, 0x2bea221f, 0x2bf2bfa3, 0x2bf3d1a7,
0x2c05972c, 0x2c05e8a3, 0x2c37b6b9, 0x2c4dd1c0, 0x2c568c2c, 0x2c596e0b, 0x2c61e6db, 0x2c67202e,
0x2c6cac7c, 0x2c718f74, 0x2c8c2594, 0x2cb42617, 0x2cbe6434, 0x2cd3767b, 0x2ce511e1, 0x2cf0282e,
0x2cfc0ad3, 0x2d71e183, 0x2d90e611, 0x2da020a7, 0x2dccf457, 0x2de6f41f, 0x2de8508e, 0x2deb08eb,
0x2e04bfa8, 0x2e08e232, 0x2e1a3d3b, 0x2e2cebe9, 0x2e42bb91, 0x2e43b5dc, 0x2e5448b2, 0x2e5a499f,
0x2e72c9b2, 0x2e8cab4f, 0x2e960bec, 0x2ea193dc, 0x2eb32de9, 0x2eb45c34, 0x2eb56657, 0x2ed8cfbb,
0x2ee3be7b, 0x2eee7728, 0x2ef650ea, 0x2efa74b2, 0x2f080325, 0x2f184327, 0x2f1a9a25, 0x2f27ca07,
0x2f2fac55, 0x2f3556d0, 0x2f63f9eb, 0x2f726f50, 0x2f783e3a, 0x2faa33c5, 0x2faf29db, 0x2fc81478,
0x2fca1a85, 0x2fd12ce8, 0x2fe0ae82, 0x2fe77b9a, 0x2fef61f1, 0x2ff42f1a, 0x2ff536e5, 0x301dd9be,
0x3042cff5, 0x305d38a1, 0x3075a2de, 0x3078e039, 0x308b1ee3, 0x30a32b21, 0x30bcb3d3, 0x30c29147,
0x30d76684, 0x3107e909, 0x310ecb62, 0x31150cb3, 0x3143a388, 0x3159590d, 0x31776e42, 0x3178249b,
0x31843e59, 0x3187bba5, 0x31895d7c, 0x319ed1a2, 0x31a00e68, 0x31abcf5e, 0x31b5ea8c, 0x31bcefdd,
0x31bee120, 0x31d10f99, 0x31d646c3, 0x31db5775, 0x31ed5300, 0x32057c0c, 0x320a09bd, 0x3211d576,
0x321a5924, 0x3222aee8, 0x322aeffe, 0x323eab7c, 0x324fbcc5, 0x3266b32a, 0x3269cee4, 0x32736274,
0x32885bd9, 0x328aff8b, 0x329032ab, 0x329756f0, 0x329fd1f5, 0x32a57261, 0x32a7e41e, 0x32b39a73,
0x32c06cc8, 0x32cd82e1, 0x32d7bf68, 0x32db0e32, 0x32e5c8f9, 0x32e8e0e6, 0x330714db, 0x330948f3,
0x3311ee7c, 0x331b2d6b, 0x3328e108, 0x33291296, 0x3331fda5, 0x333a678a, 0x334f0ec8, 0x33553cc7,
0x335ef5e2, 0x33658e29, 0x3365a3d9, 0x33671856, 0x336ce814, 0x3371f044, 0x337d1836, 0x33c76467,
0x33d7b8d3, 0x3401866b, 0x3410dc2f, 0x34159e3c, 0x341c345d, 0x343ec131, 0x34503c9a, 0x3450e64c,
0x346c26f5, 0x3482807e, 0x34a238f5, 0x3509fb06, 0x350bf895, 0x35299e84, 0x352e9e33, 0x354f805b,
0x35536f65, 0x3567cda4, 0x35696a85, 0x357c116f, 0x35880ce0, 0x35a2a285, 0x35a3ae21, 0x35ada8d1,
0x35d44e1e, 0x35d83b61, 0x35da7e79, 0x35de5e6a, 0x35e73b92, 0x35effbf2, 0x3618a224, 0x362a98ac,
0x36349d14, 0x3653c785, 0x365ff73f, 0x3662d44a, 0x36630f7b, 0x3678c8aa, 0x36919813, 0x369705bd,
0x369bfcf0, 0x36a48c3e, 0x36a60496, 0x36b4cc3c, 0x36cd3af7, 0x36d12bc4, 0x36d32539, 0x36d76609,
0x36fb213d, 0x37010c7a, 0x37084103, 0x3711e6d5, 0x3724a6a6, 0x373aa89c, 0x3741659e, 0x3757b7d0,
0x3798e033, 0x37b90a29, 0x37baa29d, 0x37e6dafa, 0x37e8f29b, 0x37f9474a, 0x37fcbda0, 0x380d8e69,
0x38147b95, 0x381d1ec5, 0x381d8375, 0x383b5f6b, 0x3856f0fa, 0x385ce440, 0x387c8c2a, 0x388f13b8,
0x38a34098, 0x38c0495f, 0x38cf0d9d, 0x38ef1526, 0x38fa3b58, 0x3915670a, 0x393335dc, 0x393d52c8,
0x3950c1bf, 0x39612aaf, 0x397c7666, 0x397da553, 0x398d0df7, 0x39b7eddb, 0x39d2bcdf, 0x39da26b0,
0x39f07412, 0x39f9355c, 0x39fb055a, 0x3a031153, 0x3a61d604, 0x3a627ebc, 0x3a7de132, 0x3a7dee13,
0x3a837ee4, 0x3a8bb4a8, 0x3aa42a3e, 0x3aa7a257, 0x3abc175c, 0x3ac7bc6f, 0x3ac8d922, 0x3ace160e,
0x3ad3eff2, 0x3ae370ec, 0x3aea140e, 0x3af68d7e, 0x3af7b275, 0x3b08bc61, 0x3b299dde, 0x3b3f009f,
0x3b485cbb, 0x3b593491, 0x3b5eaccd, 0x3b7620e3, 0x3b7ce629, 0x3b7e0fb1, 0x3b7f91b1, 0x3b8acb25,
0x3b930e2c, 0x3b9ca3d5, 0x3b9ce66b, 0x3ba81f72, 0x3bb376d3, 0x3bbc4596, 0x3bbf8b05, 0x3bc52e5f,
0x3be04cd3, 0x3be1c291, 0x3be2fc6e, 0x3be7a973, 0x3be967b9, 0x3beeebf9, 0x3bf9f0ee, 0x3c15e20a,
0x3c1a16fd, 0x3c1be4fa, 0x3c3193eb, 0x3c34f088, 0x3c4459c7, 0x3c590483, 0x3c87dc70, 0x3c9e9cf9,
0x3ca169e2, 0x3cd8455a, 0x3cf167cc, 0x3cf992e3, 0x3d261c8d, 0x3d4713a9, 0x3d562b19, 0x3d8eb4f5,
0x3d9e6539, 0x3da3d217, 0x3dbd8cd2, 0x3dc85c5a, 0x3dca664e, 0x3ddb4867, 0x3e01b508, 0x3e4f52e6,
0x3e5094a4, 0x3e5096d1, 0x3e75695c, 0x3e78a313, 0x3e7a2c72, 0x3e821957, 0x3eb74051, 0x3ec5adce,
0x3ed4373c, 0x3edf834a, 0x3efdd10b, 0x3f0759ee, 0x3f3d559e, 0x3f70476c, 0x3f97ff41, 0x3fa05090,
0x3fc969ad, 0x3ff5e4a9, 0x40041a33, 0x40063cec, 0x4007e1ee, 0x4012cccd, 0x4030ea3e, 0x40491760,
0x4057938c, 0x40961bfd, 0x40980032, 0x409fd0a5, 0x40b064a2, 0x40b3d773, 0x40bd920b, 0x40e16f0b,
0x40e1ea6c, 0x40efc20d, 0x40fb8d36, 0x410e314e, 0x410edae4, 0x41212398, 0x41264207, 0x4133ad82,
0x41449c91, 0x4168334f, 0x417ff83c, 0x418383b6, 0x419e2724, 0x41a98480, 0x41ac752f, 0x41cf72db,
0x41d415af, 0x41d42570, 0x41d537a0, 0x41ff40e2, 0x42022020, 0x420cc803, 0x42323615, 0x424fc160,
0x42545ff3, 0x4260fd32, 0x4261d65a, 0x4270adab, 0x427b21f9, 0x428f3c76, 0x42a0a993, 0x42a49eb7,
0x42aa9847, 0x42b2de81, 0x42c1b4f5, 0x42cd1ffd, 0x42d96efc, 0x42e00b04, 0x42e6f352, 0x42fce120,
0x4312aeaa, 0x4317ecb9, 0x431b04cb, 0x436de054, 0x43716d20, 0x437449a7, 0x43753ed8, 0x438612c9,
0x43a2502c, 0x43dc61de, 0x43e142a5, 0x44037ce3, 0x4416deea, 0x44186eac, 0x44260d03, 0x4437570a,
0x443ac815, 0x443d571c, 0x443f3452, 0x444b9555, 0x44606c8f, 0x4462934f, 0x4464e077, 0x44690cbb,
0x44760b6f, 0x447687e2, 0x4476c0d2, 0x447a28a0, 0x44bae869, 0x44e4d73d, 0x450bc0fc, 0x450d392b,
0x451d69b2, 0x4520fad9, 0x454cb912, 0x456efe72, 0x457452e2, 0x458dcf1d, 0x4598e163, 0x45b4aae5,
0x45c63ebb, 0x45c75c5e, 0x45cadb06, 0x45d659b9, 0x45e2f86f, 0x45efd070, 0x46036fbc, 0x46096fa6,
0x4609fbf4, 0x46123c25, 0x463ede30, 0x465e699b, 0x466e4d26, 0x46711f96, 0x468f0ca7, 0x46932e2d,
0x46a96afc, 0x46a9fcf9, 0x46acffc8, 0x46b2da1a, 0x46b9d1b6, 0x46bbdf4b, 0x46dbd6b5, 0x46f1f18b,
0x47079416, 0x470abbf6, 0x470ddddc, 0x47111a07, 0x4727d5dd, 0x472b128f, 0x472eaf95, 0x47327ec5,
0x475ded63, 0x476dcca8, 0x4784fd6b, 0x479484a9, 0x479b674a, 0x47a41bb7, 0x47d05612, 0x47d66899,
0x47f214bc, 0x47f4c0e2, 0x47f66514, 0x484e46ac, 0x48695228, 0x486ebeca, 0x486f7ddd, 0x487777fa,
0x4890cfd7, 0x489cf304, 0x48ad79aa, 0x48de4691, 0x48e010ae, 0x48e083bf, 0x48e5f7a0, 0x48ee29db,
0x48fe86d7, 0x492c8b33, 0x49305266, 0x494933e9, 0x4957a647, 0x4967bbd1, 0x497211ab, 0x497b3aa1,
0x497f9385, 0x498529c1, 0x49b070c7, 0x49b4daac, 0x49c22b0a, 0x49cb2b7f, 0x49d36c6d, 0x49d5b2d3,
0x49eca90d, 0x4a0d4d30, 0x4a0f53b4, 0x4a1b0c3e, 0x4a278879, 0x4a402eed, 0x4a68f549, 0x4a6b665b,
0x4a6d1abc, 0x4a73ee01, 0x4a7f4ca9, 0x4a8f2677, 0x4aa4e281, 0x4ac5a9e5, 0x4acd56d8, 0x4ad5e9e7,
0x4ae69acb, 0x4b08b969, 0x4b0a0799, 0x4b12d29c, 0x4b14fb3e, 0x4b33c01e, 0x4b345842, 0x4b402325,
0x4b418b44, 0x4b436951, 0x4b43d0ca, 0x4b488126, 0x4b4bee54, 0x4b75080c, 0x4b757c24, 0x4b7e4c09,
0x4b864ab7, 0x4b928198, 0x4b930461, 0x4ba7a2f7, 0x4bcc8ae5, 0x4beb4635, 0x4bf1a6fc, 0x4bf21dad,
0x4bf6575a, 0x4bf81bb3, 0x4c0162c9, 0x4c2ead48, 0x4c34123f, 0x4c435209, 0x4c555813, 0x4c599c5b,
0x4c5e0407, 0x4c624fdd, 0x4c6c1366, 0x4c793f27, 0x4c795ce2, 0x4c8dc9db, 0x4c9bd6fd, 0x4cb4ce8a,
0x4cbb7500, 0x4cbf31a5, 0x4cc1e0a1, 0x4cd32aac, 0x4cf9af7a, 0x4cfb4155, 0x4cfec078, 0x4d330277,
0x4d57c17f, 0x4d59d839, 0x4d844e72, 0x4da092c1, 0x4dcc648b, 0x4dcf791e, 0x4dd4df64, 0x4ddac174,
0x4e05dfc4, 0x4e0f34d5, 0x4e1bec8d, 0x4e3842f9, 0x4e3a625e, 0x4e3e11e5, 0x4e661a39, 0x4e6eb48d,
0x4e75f76c, 0x4e86f173, 0x4ea47ee6, 0x4ea4a1a0, 0x4eca5cbc, 0x4eddb4de, 0x4ee8298b, 0x4ee92748,
0x4eec31f2, 0x4f1ab3e3, 0x4f23bd9c, 0x4f3f28b8, 0x4f6383ed, 0x4f6dad61, 0x4f901d56, 0x4f9de1de,
0x4fa3d31c, 0x4fa4700e, 0x4fa83ddc, 0x4fd3c0dd, 0x4fd809f7, 0x4fe825b0, 0x4ffd0bce, 0x500d7e22,
0x5046ad8c, 0x504b080f, 0x5058a8e9, 0x505b41bc, 0x506472d9, 0x5064a2c4, 0x50822a9b, 0x50a12cc2,
0x50aa185e, 0x50ab4186, 0x50ed1bec, 0x510c6564, 0x5114ab26, 0x513b4af8, 0x51506c21, 0x5156e11e,
0x516c46bb, 0x516e7afd, 0x51726369, 0x518bfe96, 0x518da6a2, 0x51d81fcf, 0x52083d0e, 0x520b5971,
0x520fca7f, 0x52113f13, 0x522c9804, 0x522f6903, 0x524a05df, 0x5250df15, 0x5253b067, 0x52557a82,
0x52585810, 0x527b49ca, 0x52b5b2d7, 0x52cd0c90, 0x52d18fa9, 0x52ed661b, 0x52fcad7d, 0x5326b4a9,
0x53449f3a, 0x535299d1, 0x53592c33, 0x535b1fac, 0x5392b522, 0x53b00040, 0x53bf9a40, 0x53bfd3c0,
0x53d66799, 0x53ebe6ed, 0x53f2bb2a, 0x53fdee6f, 0x5436dbb5, 0x543c1154, 0x5445d66a, 0x548642cc,
0x5497b57f, 0x5498e0e8, 0x54aed5d1, 0x54bba380, 0x54cfee25, 0x54dd9bc9, 0x54e0b623, 0x550bc474,
0x550c96f1, 0x551170f8, 0x5523d797, 0x552b9ba1, 0x55359c09, 0x553d1b0c, 0x553e747e, 0x5542ad1a,
0x5553c53f, 0x5554fde9, 0x555b2940, 0x55620e66, 0x5571f406, 0x557d2659, 0x5580a202, 0x55828721,
0x5583452b, 0x55916964, 0x5596f9a6, 0x55b014d8, 0x55b81e37, 0x55c43d86, 0x55d02319, 0x55d92f88,
0x55dc0ffa, 0x55de50e9, 0x55e07014, 0x55eaa4db, 0x560182a2, 0x5603fd19, 0x5604b2c7, 0x560f5c07,
0x5610f09d, 0x56114d4d, 0x56194582, 0x563da838, 0x5655afd0, 0x567c4331, 0x568b0f6d, 0x56a4869e,
0x56a74bc2, 0x56bf414f, 0x56e0bdc5, 0x56e4c248, 0x56e63a8f, 0x56f314f1, 0x5720ba8b, 0x572b6995,
0x57373442, 0x5748064f, 0x574afd27, 0x57581ac0, 0x577a7c11, 0x577d2b78, 0x57c8d6cc, 0x57d49680,
0x57d50ab3, 0x57def746, 0x57e7415b, 0x57f3b8f6, 0x580d4235, 0x580ef7b4, 0x581282c5, 0x58199536,
0x581e746e, 0x58289cc3, 0x58326646, 0x5838dfad, 0x5853cff9, 0x5864c97d, 0x587f0eac, 0x5889819c,
0x588aa4de, 0x58932cbd, 0x58cd2a13, 0x58cf24ee, 0x58d0e5c3, 0x58d61c7e, 0x58dde0cc, 0x58e8b5f0,
0x58ed79fc, 0x58f31f8c, 0x590b5049, 0x590b9d8e, 0x591b640a, 0x5947fa66, 0x594f5c2f, 0x595d7909,
0x59613b7f, 0x5981913a, 0x5987853d, 0x598d53d3, 0x5992b256, 0x59a6a34a, 0x59b4674a, 0x59ddb41c,
0x59e947be, 0x59f424aa, 0x59fd4424, 0x5a099feb, 0x5a13181b, 0x5a16a99b, 0x5a329194, 0x5a64ed23,
0x5a76d115, 0x5abd3c97, 0x5adc9d73, 0x5aef6018, 0x5b1861a5, 0x5b2750bd, 0x5b30862f, 0x5b374fba,
0x5b506e3b, 0x5b6010b8, 0x5b6b9cea, 0x5b725538, 0x5b742f2e, 0x5b76bfe2, 0x5b77d699, 0x5baaabe6,
0x5bc2358d, 0x5bf718b8, 0x5bfb3a45, 0x5c0658f3, 0x5c0a82b1, 0x5c0dd4a1, 0x5c2632f7, 0x5c2cdbd7,
0x5c362296, 0x5c36ee29, 0x5c550f95, 0x5c62cf95, 0x5c6f63a3, 0x5c811ba5, 0x5c83d022, 0x5c8b5727,
0x5c8c75c2, 0x5c96fe5c, 0x5c9adca1, 0x5cb7f7d9, 0x5ccbba33, 0x5cd3ec82, 0x5ceca29c, 0x5d09293a,
0x5d0defab, 0x5d1b150c, 0x5d252f18, 0x5d26665d, 0x5d3c1f24, 0x5d4170ff, 0x5d79a20e, 0x5d86f5d1,
0x5d8f46c1, 0x5db6414c, 0x5dd0b405, 0x5e259a39, 0x5e2633fd, 0x5e301544, 0x5e30bd10, 0x5e32795e,
0x5e7756c2, 0x5e8483a7, 0x5e90803d, 0x5ea2d30a, 0x5eb122e5, 0x5ec0d1ab, 0x5ec7e5ac, 0x5ecb6753,
0x5f0573e2, 0x5f090d64, 0x5f12cab5, 0x5f1844e3, 0x5f208f59, 0x5f2dfcd0, 0x5f4558da, 0x5f4d6aca,
0x5f5fa25f, 0x5f69c973, 0x5f7109a8, 0x5f7e9d3e, 0x5f98a32c, 0x5f9edb95, 0x5fa0ee0a, 0x5fa2e0f7,
0x5fabb58a, 0x5fb7ce89, 0x5fbbd867, 0x5fd915f4, 0x5fed87de, 0x60190b81, 0x60419f04, 0x6043b7eb,
0x6044b661, 0x604c3bae, 0x606e3a92, 0x6071fa85, 0x6095fc9d, 0x60b1d1dd, 0x60c729d3, 0x60d1032a,
0x60db0499, 0x60fe88df, 0x610076d6, 0x6107bd36, 0x61109cb6, 0x611bd770, 0x6134dc7d, 0x61407f96,
0x614c3384, 0x615af4d2, 0x615da543, 0x616d7d2e, 0x617e4e5e, 0x6189b142, 0x618edd8e, 0x619b8227,
0x61ac50a5, 0x61ad980e, 0x61d4c047, 0x61dd4c84, 0x61e0051b, 0x61f53a1d, 0x61fdb96a, 0x623f849c,
0x62807c2b, 0x6283a76d, 0x6288af02, 0x62954133, 0x629d2304, 0x62a310fb, 0x62c9d340, 0x62dcbf79,
0x62ef4bf9, 0x6305f541, 0x63219d40, 0x6327eaab, 0x63284448, 0x6391b806, 0x6393d2c6, 0x63a4612c,
0x63bd9c14, 0x63ddeb53, 0x63e3d653, 0x63e55a7c, 0x63f8168f, 0x6400663d, 0x6415e257, 0x64482ab3,
0x644b72f0, 0x644c5959, 0x6459aebf, 0x645bf0a5, 0x645cd008, 0x645db948, 0x6474fbc0, 0x6478de97,
0x6486fcc3, 0x6492e41c, 0x649e315a, 0x64bfcd8e, 0x64c57673, 0x64d0580d, 0x6527515a, 0x6535e51c,
0x653ed58f, 0x654b000e, 0x654b49fa, 0x655a0c0f, 0x65620ae8, 0x656e5851, 0x657b4b50, 0x65808c5b,
0x65828fe0, 0x65908e33, 0x659177b9, 0x65c43fce, 0x65e56b1b, 0x65f0e71d, 0x65f8852a, 0x6600b937,
0x6608dbbe, 0x6621d27f, 0x66542580, 0x66645be4, 0x666a792f, 0x666aa36a, 0x668dc102, 0x6692668c,
0x669be7d6, 0x66a648f4, 0x66c194bc, 0x66ca1284, 0x66d62849, 0x66e07619, 0x66e4755b, 0x66f6463e,
0x6703fe8b, 0x67055acc, 0x6707ac20, 0x67142c68, 0x6719040e, 0x6720557f, 0x67215a3a, 0x67269435,
0x676fbac5, 0x6774cf98, 0x677def02, 0x6782a903, 0x67889014, 0x678d20bb, 0x679c9ed6, 0x679ffced,
0x67b23120, 0x67b6c080, 0x67d587d3, 0x67f2fdb3, 0x67ffee6a, 0x6801dca3, 0x680f32f0, 0x68220495,
0x682dce0c, 0x683ffd69, 0x6840b397, 0x68429bc9, 0x6845bf6e, 0x686d4963, 0x687a5fcf, 0x689b6149,
0x68a816eb, 0x68d7d0b0, 0x68e585e0, 0x690ffba1, 0x69258575, 0x692a756a, 0x6934c538, 0x6956723a,
0x695dfe68, 0x6961505f, 0x69c59d49, 0x69c8b42a, 0x69cd58c7, 0x69cd6be7, 0x69f976be, 0x6a0404c4,
0x6a047ec0, 0x6a1389dc, 0x6a1efe41, 0x6a26ab54, 0x6a3126e3, 0x6a39b8a2, 0x6a46a2e4, 0x6a496c2e,
0x6a559a78, 0x6a6c5f6d, 0x6a87583a, 0x6a8c2305, 0x6aa24ad9, 0x6aa7de39, 0x6aac92e0, 0x6ab67dca,
0x6ad03d15, 0x6b1db9fd, 0x6b33ab5e, 0x6b3ee329, 0x6b404d1d, 0x6b43263b, 0x6b57e982, 0x6b5f9b9a,
0x6b7025ae, 0x6b90c1c8, 0x6b93ced0, 0x6bdcdc1f, 0x6bf0f9ef, 0x6c199e80, 0x6c5198b5, 0x6c532730,
0x6c5e6f47, 0x6c63e766, 0x6c816dc0, 0x6c88172d, 0x6cad0f01, 0x6cb9d76a, 0x6cd70d96, 0x6ced858c,
0x6cfd05d1, 0x6d0575c9, 0x6d24a837, 0x6d2ce695, 0x6d3c038f, 0x6d4a2756, 0x6d65fa2a, 0x6d733a58,
0x6d968c88, 0x6d9a328b, 0x6db38c99, 0x6db9268f, 0x6dbc6bb3, 0x6dcf380e, 0x6dfb748f, 0x6e303a71,
0x6e31937b, 0x6e3bb623, 0x6e4b275d, 0x6e590121, 0x6e7c304a, 0x6e7e2159, 0x6e9bbc97, 0x6e9d555d,
0x6ea09cde, 0x6eb5b2a0, 0x6ecbebc3, 0x6ecd67f2, 0x6ed81fa7, 0x6f3b8d29, 0x6f400a15, 0x6f49a56a,
0x6f4fc08c, 0x6f62f6e9, 0x6f7324c6, 0x6f77d897, 0x6f7c91ea, 0x6f884090, 0x6fc95e93, 0x6fd6bf26,
0x6fe42d84, 0x6fef7573, 0x7012ae43, 0x70247bf0, 0x702ff479, 0x703c3fed, 0x703e1502, 0x704d437b,
0x70593d9a, 0x70665f74, 0x707072d3, 0x70799bef, 0x707af8c8, 0x709fdea4, 0x70c5d9b2, 0x70c5e3bf,
0x70d66986, 0x70e63ec6, 0x70fefc99, 0x7101ebf6, 0x7107eb73, 0x711403b1, 0x7114c5a2, 0x7133d21a,
0x71354538, 0x713935d4, 0x713cc993, 0x71426710, 0x71462ca1, 0x715b82d6, 0x71616e8e, 0x7169f507,
0x7186e8b8, 0x718993b1, 0x71899693, 0x719432ae, 0x719ff43a, 0x71cdb71d, 0x71d5d765, 0x71e12f66,
0x71e20117, 0x71e8a107, 0x71f54da2, 0x7215eab6, 0x7217a3ac, 0x721f1852, 0x722a77da, 0x72312f4d,
0x726e48bc, 0x727f35f3, 0x728bf089, 0x72af2c3a, 0x72c7ed5e, 0x72cf2232, 0x72d01780, 0x72dbfa59,
0x72de9a38, 0x7305cf00, 0x731a1644, 0x731f3585, 0x73212c0e, 0x7329ae68, 0x732ba397, 0x73406d78,
0x73468369, 0x73525d6f, 0x7357b7f4, 0x736a8876, 0x737adc41, 0x737ca087, 0x739a86f3, 0x73a67ec1,
0x73b0f10b, 0x73bab34a, 0x73cb413e, 0x73e079d0, 0x73f52c48, 0x73f70167, 0x73fdaa60, 0x7421bbae,
0x74256eb3, 0x742687bd, 0x743f9976, 0x7445a13c, 0x74487ed4, 0x74653c02, 0x74670519, 0x74680b19,
0x7472f19c, 0x7477578a, 0x7484814c, 0x7489ba85, 0x748dbdc9, 0x74af7b22, 0x74b5e651, 0x74c2d638,
0x74ca795e, 0x74d50a37, 0x74dd3512, 0x74e4b209, 0x74e51faa, 0x74f1ad62, 0x74f503e4, 0x7504085d,
0x7523a352, 0x75253bb4, 0x752ff28a, 0x7532e9f2, 0x75455e06, 0x754f20e3, 0x756047ca, 0x7563a988,
0x75910bc5, 0x75aa2947, 0x75b63e40, 0x75e0dfc6, 0x75e63490, 0x75f52324, 0x760caa97, 0x7620bc68,
0x7632f2e7, 0x763646cf, 0x7644a836, 0x7654f1cd, 0x76660c8a, 0x766ce9d6, 0x7679c7a8, 0x76882197,
0x7689f34d, 0x7696ef51, 0x76a07304, 0x76a3843a, 0x76a6d4c1, 0x76caf587, 0x76db97a5, 0x76f9f6b7,
0x771bbdea, 0x77208762, 0x773d2d7a, 0x77423060, 0x7783f8b1, 0x778d5c62, 0x779d1c60, 0x77ae83e1,
0x77bbad9f, 0x77d9b2f2, 0x77e8c612, 0x77e91a0c, 0x77efae60, 0x7815fb3a, 0x781c8c77, 0x784d6763,
0x78764c6f, 0x78784f5c, 0x787b62bf, 0x787bd471, 0x787bfb36, 0x787c6cb2, 0x78b761e4, 0x78dfe8e9,
0x78ed4e05, 0x78f42b3b, 0x78fb345a, 0x78fbe96b, 0x790065cc, 0x7901258d, 0x79023ac0, 0x79131bc6,
0x792eec33, 0x793101fd, 0x79333e04, 0x794dd84f, 0x795e7bbc, 0x7965ea10, 0x7973af94, 0x79750bd3,
0x79ae5a49, 0x79b437e6, 0x79eaf201, 0x79f32ea6, 0x7a1161e0, 0x7a1af5f9, 0x7a249078, 0x7a2a83fb,
0x7a5f30aa, 0x7a6f4080, 0x7a70c93d, 0x7a91e560, 0x7aa6ad55, 0x7aa97a5a, 0x7abab9c7, 0x7ad4024c,
0x7b11aa5d, 0x7b365507, 0x7b49f107, 0x7b68d613, 0x7b6db672, 0x7b861245, 0x7b975634, 0x7ba93bf0,
0x7bb60d39, 0x7bba3eae, 0x7bcb4bd4, 0x7bf47ab8, 0x7bf54257, 0x7bfe2497, 0x7c05120a, 0x7c0867ac,
0x7c14aa00, 0x7c5078bb, 0x7c55d7a6, 0x7c58022e, 0x7c99bea1, 0x7ca4ffb4, 0x7ca9d2d0, 0x7cafbf30,
0x7cb904fd, 0x7cd5e5a3, 0x7cd7c0e6, 0x7cf123ea, 0x7cfacd2a, 0x7d2107ad, 0x7d4393fe, 0x7d5bcfe3,
0x7d945e81, 0x7d9f0a6d, 0x7dba0908, 0x7dc9971a, 0x7dcb694c, 0x7dde4732, 0x7de6bf97, 0x7deae2e7,
0x7e02354f, 0x7e18cfca, 0x7e1e5b23, 0x7e3cc120, 0x7e6a6f99, 0x7e6da1d5, 0x7e6ffed9, 0x7e74df73,
0x7e82e443, 0x7e9a4c88, 0x7e9d471b, 0x7eac67bd, 0x7eadf1c1, 0x7eba6c95, 0x7ebcd3d1, 0x7ebd7418,
0x7ecc74f7, 0x7ef087b3, 0x7ef303dd, 0x7f03e553, 0x7f163f2f, 0x7f1b8876, 0x7f20a37a, 0x7f3e6dbc,
0x7f4cf902, 0x7f4cfad5, 0x7f667eea, 0x7f71486e, 0x7f7e4e4d, 0x7f8db614, 0x7f96f043, 0x7f99ef22,
0x7fa454a5, 0x7fb22cf0, 0x7fbd79b5, 0x7fc87ad6, 0x7fcf2e7d, 0x7fdaa5fd, 0x80198100, 0x802e98ee,
0x8035d70f, 0x803e5b5d, 0x80721df8, 0x807f8ead, 0x80aefdf2, 0x80ba04ea, 0x80c1ca80, 0x80cfe359,
0x80d58d7e, 0x80d7daaa, 0x80e445d9, 0x811de8dc, 0x812316a2, 0x81239f0c, 0x814048a3, 0x8147c446,
0x814e6b39, 0x816730ce, 0x816c97c5, 0x81a7c7f1, 0x81b31476, 0x81b89430, 0x82104d9c, 0x8248337e,
0x825d461c, 0x826b31ec, 0x8273ab15, 0x827befd4, 0x8292f970, 0x829788f7, 0x82ac968e, 0x82b4c447,
0x82b7b646, 0x82d7b84e, 0x82ddb56f, 0x82e59e5a, 0x82ec4d3a, 0x82f364fd, 0x830f1ec0, 0x83218e97,
0x832ac91b, 0x8367a1f1, 0x836d7aab, 0x83702ce9, 0x83764f5c, 0x837d5b74, 0x838d1a70, 0x8398eda4,
0x83be87f2, 0x83ccc6d8, 0x83dd4e76, 0x83e4c65d, 0x83e4fd0f, 0x83f35ff7, 0x83feea73, 0x8405b113,
0x840a65e8, 0x84109f6d, 0x841de8f0, 0x8428264b, 0x84470d02, 0x8456f48c, 0x845bfb54, 0x847cbb92,
0x847d126e, 0x8484c68e, 0x84893916, 0x8494f813, 0x84a6b839, 0x84b65e2e, 0x84c09fa5, 0x84c2f710,
0x84fae8b9, 0x850031a9, 0x8513d8d1, 0x85308205, 0x853dca72, 0x85470cec, 0x8575ac1a, 0x859ea0e4,
0x85c82e8b, 0x85db2043, 0x85ea4c7c, 0x860153dc, 0x8614ebd1, 0x8623af20, 0x862a005f, 0x862c65b9,
0x8643d746, 0x864c66de, 0x864cfae5, 0x864ed2bb, 0x86651fec, 0x866e9812, 0x86743ee3, 0x869b0aaa,
0x86ba674c, 0x86bf9031, 0x86ceb585, 0x86d7be5a, 0x86e2912f, 0x86eba65c, 0x86f2438b, 0x870dddab,
0x873283c5, 0x87343482, 0x873aa414, 0x87539f44, 0x87581316, 0x8764f8de, 0x87661f13, 0x877e745b,
0x878420a2, 0x878eb2b4, 0x879e543a, 0x87a71071, 0x87acf225, 0x87b07161, 0x87c339eb, 0x87d98a31,
0x87fea0cf, 0x880ed81b, 0x881390d3, 0x8818e264, 0x8826d362, 0x8854714c, 0x88565ea5, 0x885d3d22,
0x88641803, 0x88785969, 0x8883a02e, 0x8889472d, 0x88a829d8, 0x88a939c6, 0x88c2eb01, 0x88c800db,
0x88cff590, 0x88d1c02b, 0x88da8d9b, 0x88e54d6b, 0x88ea1477, 0x8909cd0c, 0x890d9fa7, 0x89176522,
0x892d44e8, 0x894e01b7, 0x894e6ceb, 0x8954eaa9, 0x895bc971, 0x8968dbba, 0x897aaeb4, 0x89839b24,
0x898f1907, 0x899d2dea, 0x899f5715, 0x89b8a1ac, 0x89b9141d, 0x89ca3c5d, 0x89ebcdcd, 0x89facd12,
0x8a02d8eb, 0x8a07fb55, 0x8a191504, 0x8a1b837b, 0x8a32c3ef, 0x8a392d2f, 0x8a3b77f3, 0x8a7f1cd8,
0x8a8e095b, 0x8aa44d51, 0x8ade3921, 0x8afc5c63, 0x8b4249ad, 0x8b8cb961, 0x8b945625, 0x8bbd814c,
0x8bd6ebda, 0x8bd9e94c, 0x8bda9296, 0x8be2e7a8, 0x8bf91dc4, 0x8bfe8631, 0x8c119354, 0x8c1df5ff,
0x8c2a33fa, 0x8c2f6b2b, 0x8c5a8b69, 0x8c5bda77, 0x8c5ca16a, 0x8c8b8659, 0x8c90bd33, 0x8c934228,
0x8c93f9e0, 0x8cb45bb3, 0x8cc7049f, 0x8ce12ad5, 0x8d04cb4d, 0x8d122ba7, 0x8d1a69de, 0x8d30d44a,
0x8d436596, 0x8d4a60c7, 0x8d908351, 0x8daa9fc0, 0x8db3fd38, 0x8dd6fc6f, 0x8dedb77f, 0x8df41fab,
0x8dfe7419, 0x8e174e06, 0x8e176aad, 0x8e1a5c5f, 0x8e1c9b59, 0x8e2c2cd6, 0x8e3966e1, 0x8e4adad4,
0x8e4cd279, 0x8e5fd4e3, 0x8e605bbe, 0x8e6bb46b, 0x8e7188d0, 0x8e7575c0, 0x8e96ffc9, 0x8e982742,
0x8eb3216e, 0x8eb7c418, 0x8ebae5b4, 0x8ecc97d0, 0x8ed565b5, 0x8ed7ec92, 0x8ee513d1, 0x8f067c62,
0x8f09dc1a, 0x8f21060e, 0x8f2a30e1, 0x8f30c9e4, 0x8f3ab788, 0x8f53c46f, 0x8f5495fe, 0x8f631c02,
0x8f633554, 0x8f704986, 0x8f706bf5, 0x8f87d06e, 0x8fa23189, 0x8faab68c, 0x8fb46bf2, 0x8fb71ff7,
0x8fc8567d, 0x8fcab884, 0x8fd32da8, 0x8fd87227, 0x8fee6437, 0x8ff4e520, 0x8ffb5b31, 0x9007f584,
0x900c5463, 0x90100aa1, 0x9016aee6, 0x901d9e38, 0x903f5bd2, 0x90564b4e, 0x90619ff5, 0x9082f286,
0x9083b0f6, 0x90931b5a, 0x9098aa65, 0x90a191d3, 0x90a390ed, 0x90da6b48, 0x90edcc8f, 0x90f31836,
0x91003804, 0x91064f18, 0x9115e95a, 0x91185e03, 0x911bcd90, 0x912ec256, 0x91300c90, 0x913804d4,
0x9146f13c, 0x9150a6f9, 0x915cf3c7, 0x915fa8cb, 0x916cb752, 0x917f2942, 0x918b3ed5, 0x918e6bc8,
0x9198916f, 0x91b31899, 0x91c02c9f, 0x91c0aa01, 0x91d4c4d1, 0x91d654b7, 0x91dc43d4, 0x91f12536,
0x920e33d1, 0x9230019f, 0x92493ccb, 0x9283dae9, 0x9297df8d, 0x92998463, 0x92ae480a, 0x92c3acac,
0x92ca4953, 0x92d361a2, 0x92db848f, 0x92e5b770, 0x935febe0, 0x93ace2c7, 0x93c47a5e, 0x93c50860,
0x93d29f20, 0x93dbf4f8, 0x93e2bec5, 0x93e9a655, 0x943da9b1, 0x944bb152, 0x947729be, 0x948fdfbd,
0x94a8cc79, 0x94c86abc, 0x94ca077c, 0x94db37fc, 0x95056229, 0x9510e305, 0x95195dcb, 0x952a6736,
0x95316a4d, 0x95579048, 0x9561de45, 0x9590b718, 0x95b64096, 0x95bf5cc6, 0x95cc97e2, 0x95d54cae,
0x95f77256, 0x95fa1b94, 0x95fac54f, 0x9612ed5b, 0x9641cc20, 0x965a64a8, 0x96759a1a, 0x969ce12f,
0x969d89a5, 0x96ac2eb6, 0x96ae62fd, 0x96b0503a, 0x96b187cd, 0x96b900c8, 0x96bfeb52, 0x96c02c14,
0x96d189c5, 0x96dbd3cd, 0x96dedc80, 0x96e398cf, 0x96ede8d6, 0x96f39335, 0x96f3d8cd, 0x96f55576,
0x96f9e560, 0x96fe6b55, 0x970c5bec, 0x970e04e0, 0x970f1385, 0x97218e63, 0x972d7a5f, 0x974259f0,
0x97447f8e, 0x975b52db, 0x975fe392, 0x9761907a, 0x976e4481, 0x9770a5c2, 0x9779185b, 0x977b6aff,
0x977dceb8, 0x97ae312d, 0x97b2deb4, 0x97b642ab, 0x97c6988d, 0x97ce54f4, 0x97dcc307, 0x9802cbbb,
0x980b2ebd, 0x9812135c, 0x981aded9, 0x9821c225, 0x98299150, 0x983827e3, 0x985be8e9, 0x9877a684,
0x9883229c, 0x988640bb, 0x98879261, 0x9889337d, 0x989529a7, 0x98988e7d, 0x989ecfbf, 0x98a3a571,
0x98ae2c95, 0x98bd4c1f, 0x98da785c, 0x99168bf1, 0x99256a1c, 0x992ee64e, 0x99589134, 0x9969542a,
0x99774386, 0x997f92d7, 0x9988d511, 0x998b63e2, 0x99900650, 0x99a3d661, 0x99a7751d, 0x99b5ccb3,
0x99bc40e7, 0x99cd06a4, 0x99eefbd2, 0x9a621fa3, 0x9a666a35, 0x9a7936a6, 0x9a793d29, 0x9a7c90b0,
0x9a83dce5, 0x9ab403e7, 0x9acb2f7a, 0x9ad3543e, 0x9ad72bfb, 0x9adceea1, 0x9ae7f54e, 0x9ae892cc,
0x9b04e259, 0x9b18089d, 0x9b2438dc, 0x9b3ef3b5, 0x9b41af3a, 0x9b573ab9, 0x9b652d89, 0x9b6c7627,
0x9b7a2ad3, 0x9ba4486b, 0x9bb7879a, 0x9bb85f6c, 0x9bc7bef7, 0x9be855bc, 0x9bebaec0, 0x9bf178f7,
0x9c08e990, 0x9c1bfb39, 0x9c77f87c, 0x9c8591a5, 0x9c943aa8, 0x9c9d3a32, 0x9ca3d1c1, 0x9ca7a7d2,
0x9cc1431e, 0x9cc98c72, 0x9cd59b75, 0x9cd9a25d, 0x9cf0166c, 0x9d0960cc, 0x9d0bae2c, 0x9d105aed,
0x9d14f2bf, 0x9d1e8052, 0x9d7e5a1f, 0x9d89dd46, 0x9d920857, 0x9db69b95, 0x9dbe9027, 0x9dbeabb8,
0x9dc3f061, 0x9dee18fc, 0x9e11fb3b, 0x9e223daf, 0x9e48ae05, 0x9e49fea9, 0x9e54ef79, 0x9e60e0f4,
0x9e65bb99, 0x9e65ee7e, 0x9e7fb3c3, 0x9eca9008, 0x9ed808aa, 0x9f00fbe4, 0x9f1a629d, 0x9f3bab43,
0x9f3bd197, 0x9f4c063c, 0x9f52e279, 0x9f5bf5e7, 0x9f67c5ee, 0x9f6f0fa2, 0x9f8b8360, 0x9f8c6f32,
0x9f9b7d70, 0x9fa4a170, 0x9fa78449, 0x9fb9ff42, 0x9fc0210f, 0x9fcc4dba, 0x9fdf1006, 0x9fdf1e18,
0x9feb84a2, 0x9ff0d58d, 0x9ff54a64, 0x9ffc1594, 0xa0022914, 0xa01c36b0, 0xa045ad13, 0xa063ccba,
0xa064ddf5, 0xa070920c, 0xa08113a0, 0xa087d848, 0xa091844f, 0xa0c4dd47, 0xa0d3d5f2, 0xa0ee3be2,
0xa0f0b664, 0xa0fc0259, 0xa114d2cf, 0xa11b7bb4, 0xa12467bc, 0xa12738f6, 0xa1437997, 0xa156e993,
0xa163cc4d, 0xa1681c82, 0xa169ce01, 0xa184fffc, 0xa1920e6c, 0xa19e183d, 0xa1d67006, 0xa1f36ae2,
0xa220cc64, 0xa2284b61, 0xa235812a, 0xa2443641, 0xa24bdcac, 0xa250652b, 0xa257fd77, 0xa27f7159,
0xa2aec8e7, 0xa2b4a213, 0xa2b5142c, 0xa2c7adf9, 0xa2f0a154, 0xa2f96691, 0xa305c7ce, 0xa31a50aa,
0xa3238bd8, 0xa32e4303, 0xa33d67bf, 0xa358f13b, 0xa3857a1b, 0xa38d0ff9, 0xa38d3cf0, 0xa392258d,
0xa394e375, 0xa3aef3ed, 0xa3b8094a, 0xa3c205a7, 0xa3c747b4, 0xa3cdb7eb, 0xa3e481a5, 0xa3f26b85,
0xa40c6f12, 0xa412ca55, 0xa4145202, 0xa416de05, 0xa41fe576, 0xa42d510b, 0xa43ee733, 0xa4401d9a,
0xa44b516c, 0xa44e3e74, 0xa44e4fc1, 0xa47e2a23, 0xa4aa83ad, 0xa4bbeb3d, 0xa4c337f4, 0xa4c49e69,
0xa4cbf729, 0xa4cefaa8, 0xa4e8182d, 0xa512b540, 0xa512ffb3, 0xa515e29b, 0xa5371171, 0xa53a396e,
0xa54459f9, 0xa546e00a, 0xa54d087d, 0xa5582603, 0xa5934058, 0xa594fa9a, 0xa598e460, 0xa59d654d,
0xa5a46d63, 0xa5ab9adf, 0xa5b0ddd5, 0xa5ce0525, 0xa5d8d035, 0xa5dab6d0, 0xa5f83676, 0xa60c66bf,
0xa63e71d2, 0xa641d695, 0xa64ad14b, 0xa664790a, 0xa665a404, 0xa6673304, 0xa66c38a8, 0xa67916d6,
0xa69b6778, 0xa69cd08a, 0xa69eaefb, 0xa6a5cdb6, 0xa6a81087, 0xa6bb6b99, 0xa6dc602c, 0xa6e7d18f,
0xa6f93c08, 0xa720d8bc, 0xa72a0de1, 0xa73f9b84, 0xa747c99d, 0xa758c9b9, 0xa759c76b, 0xa771f2a9,
0xa772c17b, 0xa788bb7c, 0xa7961e3b, 0xa7b4722c, 0xa7be11eb, 0xa7cb8a6a, 0xa7fe747d, 0xa8079ad8,
0xa808b666, 0xa8162afb, 0xa81c5d09, 0xa840612d, 0xa84af232, 0xa85008b7, 0xa86b1e0f, 0xa86d3831,
0xa86fca1e, 0xa8810dca, 0xa89818b7, 0xa89db78b, 0xa8a1979a, 0xa8a78c7e, 0xa8af2344, 0xa8b7b09a,
0xa8bda8c0, 0xa8da25ee, 0xa9084939, 0xa91201aa, 0xa95974ce, 0xa98185db, 0xa9824f59, 0xa9982803,
0xa99ae585, 0xa9b4a886, 0xa9c18bcd, 0xa9c25693, 0xa9de373e, 0xa9f24379, 0xaa09c72d, 0xaa0e4561,
0xaa20432c, 0xaa229dfb, 0xaa311bf7, 0xaa3614d7, 0xaa4cc412, 0xaa6cf263, 0xaa74498c, 0xaa78a1fe,
0xaa874359, 0xaa8fae88, 0xaa90f8e9, 0xaa9773ef, 0xaacbd938, 0xaad41a48, 0xaaf1add0, 0xab035807,
0xab116079, 0xab1884cc, 0xab37fac6, 0xab43c0ef, 0xab46ed7f, 0xab4e3446, 0xab609f5e, 0xab615699,
0xab6fe290, 0xab7ee389, 0xab83ae31, 0xab9a7862, 0xabab6d48, 0xabbacbc9, 0xabbb2d4a, 0xabc93d72,
0xabe62900, 0xabec9943, 0xabfa8969, 0xac02a92f, 0xac02cec0, 0xac101cc9, 0xac2b2966, 0xac4bae6c,
0xac515935, 0xac562426, 0xac7ecc87, 0xac815d5a, 0xac896da4, 0xac8b17a9, 0xac9b68c4, 0xacaaff9b,
0xacb1cd5a, 0xacb79c6f, 0xacc35e02, 0xacd70fd0, 0xacee6a28, 0xacf80ab9, 0xad12d164, 0xad1483b2,
0xad405e06, 0xad467056, 0xad4d8735, 0xad58d3ce, 0xad5a8025, 0xad635dca, 0xad708022, 0xad80c977,
0xad938e3e, 0xadab694f, 0xadbca549, 0xade0b479, 0xadf3c207, 0xae24a0b4, 0xae3e866b, 0xae3e8b12,
0xae541ba5, 0xae85be2b, 0xae862d63, 0xae91b189, 0xae924218, 0xae98554d, 0xaeb3f327, 0xaeb4b351,
0xaebdb406, 0xaebe058e, 0xaec6f971, 0xaec87248, 0xaecc8dc6, 0xaecd17b1, 0xaed4da21, 0xaee128e6,
0xaeecfc12, 0xaeef8b40, 0xaef7219c, 0xaf0a9d7a, 0xaf1381a7, 0xaf16dd36, 0xaf27362b, 0xaf28e2d0,
0xaf313b42, 0xaf3b0b3d, 0xaf3dccae, 0xaf4320a0, 0xaf6a5ec1, 0xaf719910, 0xaf74193f, 0xaf74d6a9,
0xafbeb399, 0xafd87a7e, 0xafda7483, 0xafed67c9, 0xb01cc9c4, 0xb022e437, 0xb03edc3c, 0xb0634f09,
0xb0816702, 0xb081d4c4, 0xb08ae28b, 0xb0c5067f, 0xb0cb8591, 0xb0cbc802, 0xb105381b, 0xb1076c48,
0xb11cab99, 0xb1358511, 0xb14b39f6, 0xb151c373, 0xb160be05, 0xb1793d91, 0xb186efe1, 0xb18c8842,
0xb190bab9, 0xb1ac81db, 0xb1b5b94b, 0xb1eb879d, 0xb1ecee36, 0xb1ff20ac, 0xb202a565, 0xb203b58d,
0xb204e39d, 0xb207e253, 0xb20839df, 0xb216d34f, 0xb217a251, 0xb223f793, 0xb2294463, 0xb247f3a7,
0xb24a6912, 0xb2508c04, 0xb261028f, 0xb2821a19, 0xb2865979, 0xb28c67cc, 0xb294bd8d, 0xb2972d36,
0xb297b902, 0xb2989f70, 0xb29d5968, 0xb2e1b828, 0xb2ef4ff4, 0xb2fde9ff, 0xb3074816, 0xb3157420,
0xb32a60b6, 0xb32f9878, 0xb33715cc, 0xb340d154, 0xb377c322, 0xb37a23e1, 0xb381d51c, 0xb38cc52d,
0xb38ef6b2, 0xb3b82060, 0xb3c53621, 0xb3d00fa3, 0xb3f6d679, 0xb3fa9939, 0xb3facffa, 0xb40bb329,
0xb41a073b, 0xb43ab694, 0xb45b3659, 0xb46a8c0f, 0xb478b039, 0xb47f2678, 0xb49816a6, 0xb4babffd,
0xb4d5b4e8, 0xb4e10134, 0xb4ed69cb, 0xb4ff7ea5, 0xb50cc696, 0xb50f57b1, 0xb52c2173, 0xb53d1492,
0xb544807a, 0xb55fc7c5, 0xb565fdc6, 0xb56e7194, 0xb576cdf0, 0xb578dece, 0xb5850ea3, 0xb59613ca,
0xb5ed734c, 0xb5f55b69, 0xb5f97994, 0xb609af87, 0xb615ef36, 0xb6207bb5, 0xb626fdef, 0xb633d391,
0xb63c076a, 0xb6470189, 0xb667bea9, 0xb66aa851, 0xb6716f80, 0xb6a4fe6e, 0xb6a61261, 0xb6ab772e,
0xb6af1ccf, 0xb6c1355d, 0xb6c145c2, 0xb6d87d52, 0xb725ba53, 0xb73b6b7d, 0xb73d56aa, 0xb740ed89,
0xb742dd6c, 0xb7531825, 0xb76198aa, 0xb77401da, 0xb78411a2, 0xb78daf31, 0xb7a8c266, 0xb7ad36e1,
0xb7bf282f, 0xb7e0b14b, 0xb7e9edf9, 0xb7ec10dd, 0xb7f32508, 0xb7f619d4, 0xb803f560, 0xb80fe38e,
0xb819b558, 0xb840c3e2, 0xb845d790, 0xb8460539, 0xb8497ede, 0xb857416d, 0xb88a65cc, 0xb88a8351,
0xb8b2f5a3, 0xb8d3da56, 0xb8e85ba3, 0xb9047c93, 0xb928ad3a, 0xb92bcf9a, 0xb93698b0, 0xb94e5dee,
0xb965676c, 0xb96b4ef2, 0xb970a383, 0xb97c0a67, 0xb9ae83a2, 0xb9c8e4b3, 0xb9e1be1b, 0xb9e900b1,
0xb9eceb8c, 0xba07c493, 0xba2cee6a, 0xba2edb7f, 0xba38ba99, 0xba7703ed, 0xba83e59a, 0xba911e1f,
0xba9e4b5a, 0xbaa3380b, 0xbaab8dec, 0xbab5c2ac, 0xbad60731, 0xbae8665c, 0xbae957b5, 0xbae969da,
0xbaeed70f, 0xbb03c92f, 0xbb2f686a, 0xbb301552, 0xbb337a20, 0xbb3bfd25, 0xbb45ccb7, 0xbb4ccc36,
0xbb6c6f4a, 0xbb7d8129, 0xbb8ec32e, 0xbbb11045, 0xbbb5f9a6, 0xbbb6a93d, 0xbbb88be5, 0xbbba17c1,
0xbbde4235, 0xbc21082f, 0xbc37d69c, 0xbc3e10a0, 0xbc431742, 0xbc56393c, 0xbc5ebe39, 0xbc813d64,
0xbc963f73, 0xbcb3862c, 0xbcbbd3fb, 0xbcbdf5dc, 0xbceee447, 0xbcf2cc51, 0xbcf550e6, 0xbcf9ae6f,
0xbd3f07de, 0xbd4b4546, 0xbd52ed70, 0xbd557e80, 0xbd84fa0c, 0xbd9cd40e, 0xbdb1b2ec, 0xbdc97567,
0xbdd806b5, 0xbde2b16f, 0xbde42185, 0xbde587c1, 0xbde9e738, 0xbdefecff, 0xbdf2209a, 0xbdf38f43,
0xbdfcda06, 0xbe0cd665, 0xbe3298b2, 0xbe39c035, 0xbe456923, 0xbe5958eb, 0xbe6ac3e8, 0xbe6bb74f,
0xbea520aa, 0xbead9e8d, 0xbedf5235, 0xbf020448, 0xbf601bd1, 0xbf622797, 0xbf6e3179, 0xbf750714,
0xbf7709e9, 0xbf7c0245, 0xbf7dcb10, 0xbf83aef6, 0xbf859fba, 0xbf9ec365, 0xbfb07dc8, 0xbfbebf6e,
0xbfe29a54, 0xbfe2d5a8, 0xc007b644, 0xc0334cb6, 0xc03bf09d, 0xc0514ef5, 0xc05428b3, 0xc0aff2f0,
0xc0b7f865, 0xc0df5573, 0xc0e01604, 0xc0e56d38, 0xc0eb204b, 0xc0f4159e, 0xc11cb014, 0xc121cd79,
0xc134e307, 0xc13b37fc, 0xc16d98c7, 0xc1765f16, 0xc17bf254, 0xc18394b4, 0xc186c383, 0xc1959ed3,
0xc1c67554, 0xc1ce70c1, 0xc1d550bc, 0xc20a9294, 0xc20bf600, 0xc2142d98, 0xc2270f1e, 0xc23a2404,
0xc243b0ec, 0xc262cd50, 0xc2728401, 0xc27a1397, 0xc2859218, 0xc2a2ce7b, 0xc2e1762c, 0xc2f26bff,
0xc2f832f9, 0xc2fe4902, 0xc30ec0c8, 0xc31d37ad, 0xc3207937, 0xc32a7b4f, 0xc32c01ee, 0xc34f3c63,
0xc36dbc99, 0xc37f80af, 0xc3870d96, 0xc3a4aee8, 0xc3b32918, 0xc3bef21a, 0xc3cde804, 0xc3e31fd0,
0xc3e631a2, 0xc3f84e33, 0xc4007880, 0xc4047cf8, 0xc41244b6, 0xc44363be, 0xc44bd929, 0xc46ffb1c,
0xc470f3b4, 0xc4780872, 0xc48bf5bb, 0xc4a46604, 0xc4bf9add, 0xc50116c2, 0xc503d30b, 0xc504851b,
0xc50f0949, 0xc52e74f5, 0xc54c483d, 0xc5587bc9, 0xc55a580a, 0xc5663219, 0xc58169ef, 0xc59625be,
0xc59942d9, 0xc59fafe6, 0xc5e912ef, 0xc5ed41e9, 0xc6005cde, 0xc61b9b0f, 0xc61db84f, 0xc6244d05,
0xc62a489f, 0xc63b3873, 0xc6415210, 0xc64c0960, 0xc656f3e5, 0xc65f8f4d, 0xc674fe77, 0xc6978a2f,
0xc6abb14d, 0xc6be180e, 0xc6e2ee8c, 0xc6fbf27d, 0xc70c7801, 0xc725d4a1, 0xc734abcd, 0xc739ecaa,
0xc74e2a27, 0xc74e8206, 0xc775d89c, 0xc785de56, 0xc78dd21d, 0xc7ab82b0, 0xc7ac15aa, 0xc7bb38cf,
0xc7c236e9, 0xc7e51aaf, 0xc800a995, 0xc826318a, 0xc8651701, 0xc8672b47, 0xc8679196, 0xc86901ef,
0xc86d4e29, 0xc870397f, 0xc8723782, 0xc872e122, 0xc87b32d3, 0xc882af2c, 0xc88964c5, 0xc8d087ea,
0xc8dd13c2, 0xc8f4616e, 0xc8f4ef2e, 0xc9042f72, 0xc910bd8c, 0xc94259b5, 0xc9648ff1, 0xc96df37e,
0xc97c6d4e, 0xc996c2e9, 0xc9a2103c, 0xc9cd30da, 0xc9e3f305, 0xc9ea6c74, 0xc9f4d122, 0xc9f6e36c,
0xca074b9f, 0xca11bef7, 0xca2370a6, 0xca31bdfa, 0xca483dd7, 0xca51a626, 0xca524e16, 0xca55f5d9,
0xca72f256, 0xca7837cf, 0xca9be498, 0xcab47e27, 0xcab6827a, 0xcac737ba, 0xcad46359, 0xcadb77f6,
0xcadf3623, 0xcae2b757, 0xcaf4bfd5, 0xcafbea90, 0xcb00bd71, 0xcb09ff3f, 0xcb2638b9, 0xcb2c1b6f,
0xcb4427d4, 0xcb5109aa, 0xcb598eaf, 0xcb5ae1dd, 0xcb84ee1b, 0xcb870030, 0xcb8bdf6e, 0xcb9d4340,
0xcbb4b6ba, 0xcbbac54a, 0xcbbce36d, 0xcbd6bdde, 0xcbf505e2, 0xcc11137c, 0xcc131a47, 0xcc344ab6,
0xcc3725c4, 0xcc3af8ac, 0xcc3ccdb3, 0xcc4bfca0, 0xcc4ccfae, 0xcc4eb316, 0xcc5a9485, 0xcc5dac53,
0xcc89f3b8, 0xcc9838de, 0xccaf6e14, 0xccc6cba5, 0xcccafcb7, 0xccd70b4e, 0xccd97b63, 0xcceb3e07,
0xcd15702c, 0xcd22a5f0, 0xcd3540ee, 0xcd3f8a0f, 0xcd50ec3d, 0xcd93538a, 0xcda3fa17, 0xcda7846b,
0xcdb2f23a, 0xcdc9f6c9, 0xcddb4663, 0xce1c2adc, 0xce2ef217, 0xce2f9dac, 0xce3eb5ee, 0xce3f2dc5,
0xce5429fb, 0xce8e6a2f, 0xce96e544, 0xcea1023e, 0xcea88edd, 0xcecc7c62, 0xcf08d318, 0xcf4a869e,
0xcf58e63d, 0xcf7f2a6e, 0xcf7fcd9a, 0xcf86841f, 0xcf88b5d2, 0xcf9d7c89, 0xcfba3ccb, 0xcfbf728d,
0xcfd4b174, 0xcfe69678, 0xcfee7ccc, 0xcfef6b35, 0xd0184fc0, 0xd022178b, 0xd024c004, 0xd03d733e,
0xd042478e, 0xd057c3d3, 0xd05ef7fd, 0xd09a1e6c, 0xd0a26ecb, 0xd0a4d1a0, 0xd0b1f459, 0xd0b237c9,
0xd0b9217d, 0xd0cd4001, 0xd113f803, 0xd1278418, 0xd13194fa, 0xd14a26ce, 0xd157c40a, 0xd1680018,
0xd16906c3, 0xd16b083e, 0xd16e9416, 0xd17e2640, 0xd1869817, 0xd186c389, 0xd1999e6d, 0xd19db9d6,
0xd1ee0ebf, 0xd1f0f4e1, 0xd1f96d16, 0xd21585d6, 0xd2180ce8, 0xd221d81d, 0xd23021e7, 0xd23a91a4,
0xd23d09f8, 0xd241d09c, 0xd24a38eb, 0xd24e7a25, 0xd25f1695, 0xd26dc112, 0xd28407e7, 0xd29bd022,
0xd29dcdbb, 0xd29fd4f6, 0xd2dddc49, 0xd2dfe0a3, 0xd2e2171c, 0xd2ff06e0, 0xd3017a36, 0xd3068e71,
0xd31c00e1, 0xd3304edd, 0xd343a1ea, 0xd3497f57, 0xd351bf11, 0xd3815fa2, 0xd3adb33b, 0xd3b422fe,
0xd3c40762, 0xd3c826e2, 0xd3ef8e94, 0xd401b469, 0xd414517b, 0xd415e9bd, 0xd42144f6, 0xd424bb4e,
0xd44a1f39, 0xd451777c, 0xd4824a8d, 0xd48d1fc8, 0xd4a826f2, 0xd4a9c37b, 0xd4bf39dc, 0xd4c07722,
0xd4c53531, 0xd4daf976, 0xd4eaaaba, 0xd5210e5e, 0xd527fcf2, 0xd53d0677, 0xd550cde1, 0xd55755bd,
0xd5706e9d, 0xd57841cf, 0xd57914bd, 0xd5924a97, 0xd595a897, 0xd5a9f871, 0xd5b224ba, 0xd5bdd993,
0xd5d14cc9, 0xd5de118b, 0xd5f210ef, 0xd5f3ce25, 0xd5f791c2, 0xd613e259, 0xd61e3051, 0xd62ac137,
0xd62e065c, 0xd62eb01c, 0xd63aa760, 0xd64bb2a5, 0xd656293a, 0xd667a996, 0xd67eb5e2, 0xd6b88595,
0xd6db8c19, 0xd6f45a74, 0xd6f5c693, 0xd6fb8e8f, 0xd7128463, 0xd73d54f0, 0xd752446c, 0xd793718c,
0xd7a55949, 0xd7c86b91, 0xd7ca4893, 0xd7d4e564, 0xd7d6165b, 0xd7da0891, 0xd7f12068, 0xd7ff5522,
0xd801d1b8, 0xd80760f4, 0xd807fe99, 0xd815d3e0, 0xd82fd246, 0xd8305c91, 0xd83afc38, 0xd8435864,
0xd84718de, 0xd84ce010, 0xd86d6e57, 0xd876a986, 0xd89e1027, 0xd8c72da7, 0xd8dd4415, 0xd910c140,
0xd91b9d77, 0xd91e6a61, 0xd939bb84, 0xd981210c, 0xd9852d2a, 0xd9957080, 0xd99d04a7, 0xd9b4c3b1,
0xd9b93518, 0xd9e8bbd6, 0xd9f0110a, 0xd9f18bf9, 0xd9f2dc8c, 0xda0606ec, 0xda125571, 0xda1ebd03,
0xda4140c0, 0xda4ab7a3, 0xda5e5db6, 0xda64b1ee, 0xda7c9b31, 0xda7dd708, 0xda8a35d3, 0xda8f4373,
0xda9b6544, 0xdab14ebd, 0xdab5ae1a, 0xdac38e47, 0xdaec34eb, 0xdaef45da, 0xdaf853da, 0xdaf98462,
0xdb0a6bd1, 0xdb10c741, 0xdb3af095, 0xdb451683, 0xdb4d9121, 0xdb520421, 0xdb6951c9, 0xdb69ac88,
0xdb727043, 0xdb79fc11, 0xdb804435, 0xdb866dcc, 0xdba3c9fd, 0xdba61d8f, 0xdbadcf0d, 0xdbb287a7,
0xdbd03f46, 0xdbe801d9, 0xdbe95abe, 0xdbf08ced, 0xdc046891, 0xdc143808, 0xdc1e12ab, 0xdc1fb45a,
0xdc2a30d5, 0xdc30ca50, 0xdc41dde9, 0xdc685da0, 0xdc6cdee3, 0xdc7a4525, 0xdc82c2be, 0xdc849ea7,
0xdc854e24, 0xdc890ace, 0xdc8ad276, 0xdc8b830f, 0xdcb4dbb3, 0xdcb7b92d, 0xdcbf49ee, 0xdcc00b14,
0xdcc38abc, 0xdcd63370, 0xdce11996, 0xdceba9d5, 0xdced5d91, 0xdcf0a194, 0xdd02c07c, 0xdd0975f7,
0xdd1e7738, 0xdd3399af, 0xdd415eb3, 0xdd512e1b, 0xdd5a8ff0, 0xdd6a4b1a, 0xdd6bc2f5, 0xdd73791a,
0xdd77c686, 0xdd9540ab, 0xdda2e997, 0xddc95afe, 0xdde05d80, 0xdde4b884, 0xde022111, 0xde1e53b2,
0xde587664, 0xde590da9, 0xde6d7d1a, 0xde7c034d, 0xde84d13f, 0xde857fcf, 0xdeae48be, 0xdeb178e3,
0xdeb80296, 0xdeb9482e, 0xded907a8, 0xdedef803, 0xdf1b6d9f, 0xdf1badf1, 0xdf2fbf5f, 0xdf368e56,
0xdf460a49, 0xdf53ec16, 0xdf573821, 0xdf664163, 0xdf6870de, 0xdf7edd1c, 0xdf9a7f97, 0xdfa66483,
0xdfa7978c, 0xdfb0800c, 0xdfb28ef1, 0xdfb7e81f, 0xdfc9ba84, 0xdfd13e6a, 0xdfda0f23, 0xdfda9c93,
0xe0061422, 0xe0093476, 0xe00b6b7a, 0xe0262763, 0xe02ee6db, 0xe03450c4, 0xe05ad169, 0xe0697417,
0xe07afe2e, 0xe07c5a69, 0xe084197a, 0xe08dcc05, 0xe09823ca, 0xe09e402d, 0xe0a23c53, 0xe0bf0f1d,
0xe0c02111, 0xe0c96462, 0xe0ce2fb5, 0xe0ec0587, 0xe0ec0c23, 0xe0f0977d, 0xe115ddcd, 0xe14182d5,
0xe14b2e39, 0xe1553cc5, 0xe172aa8c, 0xe1ab1e20, 0xe1b98ca6, 0xe1be305e, 0xe1bee900, 0xe1d6b953,
0xe1d9ec16, 0xe1f265e0, 0xe1f3f35a, 0xe1f52c5c, 0xe1fd7a81, 0xe1fed5f6, 0xe214dfdf, 0xe22217bf,
0xe22a4a88, 0xe231b3ce, 0xe240a0bd, 0xe2431874, 0xe27d8c65, 0xe2810b71, 0xe28f43ff, 0xe2b17000,
0xe2c02e21, 0xe2cda790, 0xe2d863ed, 0xe2df3083, 0xe2fbd848, 0xe2fd2b02, 0xe3100f86, 0xe330089e,
0xe334d612, 0xe340e086, 0xe3566110, 0xe36cb70d, 0xe3aaed50, 0xe3affcef, 0xe3c39581, 0xe3ce205d,
0xe3dbbbdc, 0xe3f4022d, 0xe3f8153b, 0xe3f81cd9, 0xe41d998f, 0xe4334b28, 0xe4652422, 0xe46a0b66,
0xe4b0dbf5, 0xe4c238f6, 0xe4caf29e, 0xe4d47ebc, 0xe4dfc1c0, 0xe4e76049, 0xe50c43b0, 0xe5293f22,
0xe5390473, 0xe583708d, 0xe58bd4b1, 0xe590ef1b, 0xe5d45134, 0xe5dcb419, 0xe5e287e6, 0xe605a42e,
0xe612d9cc, 0xe622ef03, 0xe629f2c0, 0xe64c4f22, 0xe65459a9, 0xe658a31b, 0xe67819d4, 0xe684b544,
0xe684e7ae, 0xe6895b5e, 0xe690be98, 0xe69fa1f9, 0xe6b1c5e0, 0xe6bb7d4a, 0xe6d3f447, 0xe6d8e71c,
0xe6db7342, 0xe6f615a0, 0xe6fea80a, 0xe70b64f5, 0xe7119e70, 0xe7173a37, 0xe725628d, 0xe7538675,
0xe764f06f, 0xe7898ded, 0xe78fa5de, 0xe79f9af3, 0xe7a4a07b, 0xe7a577a5, 0xe7bd6e0d, 0xe7bff9b2,
0xe7d7d88e, 0xe8113de7, 0xe811a869, 0xe81d520b, 0xe830646e, 0xe84b36aa, 0xe84c3418, 0xe84e9cfa,
0xe852d36c, 0xe860f578, 0xe8914f88, 0xe89d6314, 0xe8a0b4df, 0xe8a391e6, 0xe8c4e6a7, 0xe8c71199,
0xe8dc9d31, 0xe8e0c383, 0xe8ecb434, 0xe8f1ecf0, 0xe9019164, 0xe926a5c3, 0xe931c1c7, 0xe94412c1,
0xe973a2c6, 0xe99de1e0, 0xe9a09a54, 0xe9a61f64, 0xe9c73c55, 0xe9c9b65c, 0xe9d6c31a, 0xe9df383c,
0xea0c9eba, 0xea1205ad, 0xea13c229, 0xea16643f, 0xea19b0c4, 0xea379a1b, 0xea55b8d6, 0xea5b0cd5,
0xea82bd14, 0xea92fd16, 0xeab9a0b1, 0xeac72197, 0xeadbf30c, 0xeadf7657, 0xeae9286a, 0xeafaabf4,
0xeafbc191, 0xeafe4805, 0xeb076a30, 0xeb0fd906, 0xeb21cba5, 0xeb2a1ff7, 0xeb82a133, 0xeb877748,
0xebcebce4, 0xebd2abe3, 0xebf2367a, 0xec46d3c7, 0xec477307, 0xec4c0fbc, 0xec5ae870, 0xec6366dc,
0xec6600f0, 0xec69ed31, 0xec784695, 0xec9664be, 0xec96e795, 0xec9b279f, 0xec9bb374, 0xeca378fd,
0xecabb791, 0xecbf6ffa, 0xecd6e492, 0xecd6fd3d, 0xece1cb3b, 0xecef652a, 0xecf82dc3, 0xed2fd607,
0xed36c8cc, 0xed39b75f, 0xed5efc6a, 0xed615aa3, 0xed7ba026, 0xed80c7a5, 0xed811f4d, 0xed957256,
0xedbb8151, 0xee0f13e7, 0xee13e398, 0xee29d6d8, 0xee31a79b, 0xee5a8b31, 0xee8044bb, 0xee812327,
0xeeae10d4, 0xeeb2fc25, 0xeee04bb6, 0xeefacd3e, 0xeeff81f1, 0xef05fb2d, 0xef0a866a, 0xef0e6d3b,
0xef26f2b3, 0xef3ece3b, 0xef3f1775, 0xef4ff0be, 0xef709612, 0xef72d7f1, 0xef80a2f7, 0xef81702d,
0xef8ee19c, 0xef9fbeeb, 0xefa495e7, 0xefa922be, 0xefb6331e, 0xefd90eab, 0xeff0a70d, 0xeff487ef,
0xf027b3e6, 0xf03d9482, 0xf03e90fc, 0xf04e0c73, 0xf05151a4, 0xf05443e4, 0xf054afd2, 0xf05f2380,
0xf0b1e9b3, 0xf0b72bfd, 0xf0c4097d, 0xf0d57e68, 0xf0d70478, 0xf0e02375, 0xf0f95d73, 0xf106634a,
0xf10c01bf, 0xf12238cd, 0xf12b552f, 0xf149e22d, 0xf14bca73, 0xf16479d6, 0xf1730e75, 0xf17350a8,
0xf1826614, 0xf1888b2f, 0xf18e8cb6, 0xf1b8a0a7, 0xf1c18fd6, 0xf1cab1a7, 0xf1cd384e, 0xf214e847,
0xf224e6af, 0xf2250a55, 0xf237b293, 0xf23aaae0, 0xf23afae4, 0xf25abc61, 0xf2693607, 0xf26db476,
0xf2730a1d, 0xf284591d, 0xf2867ad8, 0xf29845a5, 0xf2999072, 0xf29f26c9, 0xf2ca584f, 0xf2dd42c9,
0xf2fb8287, 0xf2fb97d4, 0xf3028185, 0xf30d557e, 0xf317affb, 0xf31ad866, 0xf32013b7, 0xf32026a2,
0xf32bd5d4, 0xf33d8538, 0xf33e720d, 0xf3403d94, 0xf38e0980, 0xf395c0fb, 0xf398900b, 0xf3a291f0,
0xf3a2c9d7, 0xf3bddc99, 0xf3d7074f, 0xf3f2192b, 0xf3f982bb, 0xf3fdec21, 0xf42df98d, 0xf439ef2c,
0xf43ffdf7, 0xf4400c26, 0xf441d491, 0xf44a4daa, 0xf44de2bb, 0xf450426c, 0xf4609167, 0xf466b7df,
0xf468a1e2, 0xf4771c7f, 0xf47a6be2, 0xf4a08e31, 0xf4cf55e9, 0xf4d09710, 0xf4d6e145, 0xf5163503,
0xf52f431d, 0xf52f4930, 0xf542d646, 0xf5573efd, 0xf55a768a, 0xf55ce0a8, 0xf59c559c, 0xf5b086d0,
0xf5d088d8, 0xf5d80b50, 0xf5e4d436, 0xf5f4546b, 0xf6099a1a, 0xf60c2436, 0xf61eca6c, 0xf6242634,
0xf631e6ab, 0xf634a5b7, 0xf640f4d0, 0xf6469136, 0xf6495baf, 0xf66009c5, 0xf66ba753, 0xf6be2787,
0xf6bfa4a6, 0xf6d5187b, 0xf6e088ac, 0xf6e0a1e9, 0xf6e15f77, 0xf6f6355a, 0xf732e799, 0xf7396bcb,
0xf750509b, 0xf7748cb7, 0xf7812399, 0xf7a9cd64, 0xf7b46bf0, 0xf7b86f1b, 0xf7c2ba79, 0xf7c6fa16,
0xf7d0a9fd, 0xf7dae8ed, 0xf7dd3e03, 0xf80eec8c, 0xf81d1874, 0xf854f4f9, 0xf87431e1, 0xf880e0f8,
0xf892d39d, 0xf89b7ce2, 0xf89e7227, 0xf8a5011f, 0xf8b02f61, 0xf8b1f46f, 0xf8bb53d4, 0xf8c2dd57,
0xf8cce5ff, 0xf8cd8812, 0xf8d0c224, 0xf8d0d057, 0xf8d41d3e, 0xf8e954a1, 0xf8ec35ef, 0xf90179fc,
0xf908a21b, 0xf90a90fd, 0xf9105a3b, 0xf92aadd5, 0xf93afc9a, 0xf9583421, 0xf9676b28, 0xf9724556,
0xf97f7a67, 0xf986ef5d, 0xf9921240, 0xf9a23521, 0xf9acc2f6, 0xf9b88067, 0xf9d25523, 0xf9d85290,
0xf9e239dc, 0xf9ebd9f0, 0xf9f7d965, 0xfa12bac6, 0xfa1a9001, 0xfa30fab0, 0xfa3b9045, 0xfa3e6133,
0xfa4249b2, 0xfa581b74, 0xfa7b263f, 0xfa8a9566, 0xfa99423f, 0xfaa12083, 0xfaa76f72, 0xfab4cdae,
0xfad0a099, 0xfadfba31, 0xfaea87e9, 0xfaefa206, 0xfb27aefc, 0xfb81feb8, 0xfb846e29, 0xfb8cb6cf,
0xfb9472be, 0xfba37b02, 0xfbbc8f19, 0xfbc082fa, 0xfbd9c93f, 0xfbe38210, 0xfbe61a43, 0xfbee67d4,
0xfbef976f, 0xfc4251b4, 0xfc8aa25d, 0xfcc378c6, 0xfccd6e74, 0xfcdb2131, 0xfcf9b6a7, 0xfd1cb3ed,
0xfd2f99bc, 0xfd38cf10, 0xfd73e508, 0xfd7b0f07, 0xfd82511d, 0xfd840f72, 0xfd8743f0, 0xfd8876af,
0xfd8b62dd, 0xfd8dfa40, 0xfd9e9b5f, 0xfda02eef, 0xfda97d86, 0xfdb360cc, 0xfdd6dd4c, 0xfdd909b7,
0xfdd9bd0c, 0xfe0a1437, 0xfe0aaf31, 0xfe0d3537, 0xfe0efd9a, 0xfe3efb1d, 0xfe4d1501, 0xfe508967,
0xfe5495f8, 0xfe5ad59b, 0xfe7d9e22, 0xfe986783, 0xfe9a1d7c, 0xfea656f1, 0xfeafff71, 0xfebf913a,
0xfee8f7e9, 0xff09e88d, 0xff33f4a6, 0xff48aa75, 0xff4ae785, 0xff632895, 0xff6a74af, 0xff7c5bfd,
0xff8490b8, 0xff91afbe, 0xffaf194e, 0xffb6a59f, 0xffc04203, 0xffc8c506, 0xffed24e1, 0xfffbdf04,
0xffff1784
*/
function _toHexInt(i){var s=i.toString(16);while(s.length<8)s='0'+s;return '0x'+s}
function korokDebug(){
/*var textarea=document.createElement('textarea');
textarea.className='full-width';
textarea.rows=30;
document.getElementById('debug').appendChild(textarea);
var txt='';
var korokCounter=0;
//for(var i=0x10; i<tempFile.fileSize; i+=8){
// offset=i;
for(var i=0; i<POSSIBLE_KOROK_HEADERS.length; i++){
var hdr=POSSIBLE_KOROK_HEADERS[i];
var val=tempFile.readInt(SavegameEditor._searchHeader(hdr));
if(val==0 && IGNORE_HEADERS.indexOf(hdr)==-1){ // && hdr>=0x24d7197c && hdr<=0xf450426c
txt+=_toHexInt(hdr)+',';
if((korokCounter+1)%8==0)
txt+='\n';
korokCounter++;
}
//tempFile.writeInt(offset,1);
}
txt+='-----\n';
txt+='found '+korokCounter+' matches\n';
textarea.value=txt;*/
}