Files
ioccc/next/rules.html
T
2024-07-09 04:51:51 -07:00

1184 lines
48 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!-- START: two lines up starts content from: inc/top.default.html -->
<!-- END: this line ends content from: inc/top.default.html -->
<!-- START: this line starts content from: inc/head.default.html -->
<head>
<link rel="stylesheet" href="../ioccc.css">
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap" rel="stylesheet">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>The International Obfuscated C Code Contest</title>
<link rel="icon" type="image/x-icon" href="../favicon.ico">
<meta name="description" content="IOCCC Rules">
<meta name="keywords" content="IOCCC, rules, Rules">
</head>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- END: this line ends content from: inc/head.default.html -->
<!-- -->
<!-- This web page was formed via the tool: bin/gen-top-html.sh -->
<!-- The content of main section of this web page came from: next/rules.md -->
<!-- -->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- !!! Do not modify this web page, instead modify the file: next/rules.md !!! -->
<!-- !!! Do not modify this web page, instead modify the file: next/rules.md !!! -->
<!-- !!! Do not modify this web page, instead modify the file: next/rules.md !!! -->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- Markdown content was converted into HTML via the tool: bin/md2html.sh -->
<!-- START: this line starts content from: inc/body.default.html -->
<body>
<!-- END: this line ends content from: inc/body.default.html -->
<!-- START: this line starts content from: inc/topbar.default.html -->
<div class="theader">
<nav class="topbar">
<div class="container">
<div class="logo">
<a href="../index.html" class="logo-link">
IOCCC
</a>
</div>
<div class="topbar-items">
<div class="item">
<span class="item-header">
Entries
</span>
<div class="sub-item">
<div class="outfit-font">
<a href="../years.html" class="sub-item-link">
Winning Entries
</a>
</div>
<div class="outfit-font">
<a href="../authors.html" class="sub-item-link">
Winning Authors
</a>
</div>
<div class="outfit-font">
<a href="../location.html" class="sub-item-link">
Location of winning authors
</a>
</div>
<div class="outfit-font">
<a href="../bugs.html" class="sub-item-link">
Bugs and (mis)features
</a>
</div>
</div>
</div>
<div class="item">
<span class="item-header">
Status
</span>
<div class="sub-item">
<div class="outfit-font">
<a href="../news.html" class="sub-item-link">
IOCCC News
</a>
</div>
<div class="outfit-font">
<a href="../status.html" class="sub-item-link">
Contest status
</a>
</div>
<div class="outfit-font">
<a href="../next/index.html" class="sub-item-link">
Rules and Guidelines
</a>
</div>
</div>
</div>
<div class="item">
<span class="item-header">
FAQ
</span>
<div class="sub-item">
<div class="outfit-font">
<a href="../faq.html" class="sub-item-link">
FAQ
</a>
</div>
<div class="outfit-font">
<a href="../faq.html#submit" class="sub-item-link">
How to enter the IOCCC
</a>
</div>
<div class="outfit-font">
<a href="../faq.html#fix_an_entry" class="sub-item-link">
Fixing IOCCC entries
</a>
</div>
<div class="outfit-font">
<a href="../faq.html#fix_web_site" class="sub-item-link">
Fixing the website
</a>
</div>
<div class="outfit-font">
<a href="../faq.html#fix_author" class="sub-item-link">
Updating author info
</a>
</div>
</div>
</div>
<div class="item">
<span class="item-header">
About
</span>
<div class="sub-item">
<div class="outfit-font">
<a href="../index.html" class="sub-item-link">
IOCCC Home
</a>
</div>
<div class="outfit-font">
<a href="../judges.html" class="sub-item-link">
The IOCCC Judges
</a>
</div>
<div class="outfit-font">
<a href="../contact.html" class="sub-item-link">
Contacting the IOCCC
</a>
</div>
<div class="outfit-font">
<a href="../thanks-for-help.html" class="sub-item-link">
Thanks for the help
</a>
</div>
<div class="outfit-font">
<a href="../markdown.html" class="sub-item-link">
IOCCC markdown guidelines
</a>
</div>
</div>
</div>
</div>
</div>
</nav>
<div class="header-mobile-menu">
<noscript>
<a href="../nojs-menu.html" class="topbar-js-label">
Please Enable JavaScript
</a>
</noscript>
<button id="header-open-menu-button" class="topbar-mobile-menu">
<img
src="../png/hamburger-icon-open.png"
alt="hamburger style menu icon - open state"
width=48
height=48>
</button>
<button id="header-close-menu-button" class="hide-content">
<img
src="../png/hamburger-icon-closed.png"
alt="hamburger style menu icon - closed state"
width=48
height=48>
</button>
<div id="mobile-menu-panel" class="hide-content">
<div class="mobile-menu-container">
<div class="mobile-menu-wrapper">
<div class="mobile-menu-item">
Entries
</div>
<div class="mobile-submenu-wrapper">
<a class="mobile-submenu-item" href="../years.html">
Winning Entries
</a>
<a class="mobile-submenu-item" href="../authors.html">
Authors of winning IOCCC entries
</a>
<a class="mobile-submenu-item" href="../location.html">
Location of authors
</a>
<a class="mobile-submenu-item" href="../bugs.html">
Bugs and (mis)features
</a>
</div>
</div>
<div class="mobile-menu-wrapper">
<div class="mobile-menu-item">
Status
</div>
<div class="mobile-submenu-wrapper">
<a class="mobile-submenu-item" href="../status.html">
Contest status
</a>
<a class="mobile-submenu-item" href="../next/index.html">
Rules and Guidelines
</a>
<a class="mobile-submenu-item" href="../news.html">
IOCCC News
</a>
</div>
</div>
<div class="mobile-menu-wrapper">
<div class="mobile-menu-item">
FAQ
</div>
<div class="mobile-submenu-wrapper">
<a class="mobile-submenu-item" href="../faq.html">
Frequently Asked Questions
</a>
<a class="mobile-submenu-item" href="../faq.html#submit">
How to enter the IOCCC
</a>
<a class="mobile-submenu-item" href="../faq.html#fix_an_entry">
Fixing IOCCC entries
</a>
<a class="mobile-submenu-item" href="../faq.html#fix_web_site">
Fixing the website
</a>
<a class="mobile-submenu-item" href="../faq.html#fix_author">
Fixing author info
</a>
</div>
</div>
<div class="mobile-menu-wrapper">
<div class="mobile-menu-item">
About
</div>
<div class="mobile-submenu-wrapper">
<a class="mobile-submenu-item" href="../index.html">
IOCCC Home
</a>
<a class="mobile-submenu-item" href="../judges.html">
The IOCCC Judges
</a>
<a class="mobile-submenu-item" href="../contact.html">
Contacting the IOCCC
</a>
<a class="mobile-submenu-item" href="../thanks-for-help.html">
Thanks for the help
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
var headerOpenMenuButton = document.getElementById("header-open-menu-button");
var headerCloseMenuButton = document.getElementById("header-close-menu-button");
var mobileMenuPanel = document.getElementById("mobile-menu-panel");
headerOpenMenuButton.addEventListener("click", () => {
headerOpenMenuButton.classList.remove("topbar-mobile-menu");
headerOpenMenuButton.classList.add("hide-content");
headerCloseMenuButton.classList.remove("hide-content");
headerCloseMenuButton.classList.add("topbar-mobile-menu");
mobileMenuPanel.classList.remove("hide-content");
mobileMenuPanel.classList.add("topbar-mobile-panel");
});
headerCloseMenuButton.addEventListener("click", () => {
headerCloseMenuButton.classList.remove("topbar-mobile-menu");
headerCloseMenuButton.classList.add("hide-content");
mobileMenuPanel.classList.add("hide-content");
mobileMenuPanel.classList.remove("topbar-mobile-panel");
headerOpenMenuButton.classList.add("topbar-mobile-menu");
headerOpenMenuButton.classList.remove("hide-content");
});
</script>
<!-- END: this line ends content from: inc/topbar.default.html -->
<!-- START: this line starts content from: inc/header.default.html -->
<div class="header">
<a href="../2011/zucker/index.html">
<img src="../png/ioccc.png"
alt="IOCCC image by Matt Zucker"
width=300
height=110>
</a>
<h1>The International Obfuscated C Code Contest</h1>
<h2>IOCCC Rules</h2>
</div>
<!-- END: this line ends content from: inc/header.default.html -->
<!-- START: this line starts content from: inc/navbar.empty.html -->
<div class="navbar">
<a class="Right" href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2Fnext%2Frules.html">&#x2713;</a>
</div>
<!-- END: this line ends content from: inc/navbar.empty.html -->
<!-- START: this line starts content from: inc/before-content.default.html -->
<div class="content" id="content">
<!-- END: this line ends content from: inc/before-content.default.html -->
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<!-- BEFORE: 1st line of markdown file: next/rules.md -->
<!-- START: this line starts content from: inc/rules.closed.hdr -->
<h1 id="warning-these-rules-are-out-of-date">WARNING: These rules are OUT OF DATE</h1>
<p>These rules are a <strong>VERY TENTATIVE proposal</strong> for the next IOCCC
and are <strong>VERY LIKELY</strong> to be updated before the next IOCCC.
They are are provided as a <strong>VERY TENTATIVE</strong> hint at <strong>what
MIGHT</strong> be used in the next IOCCC. In some cases they might
even be a copy of the rules from the previous IOCCC.</p>
<p>See our <a href="../faq.html#feedback">FAQ about providing feedback</a> as well
as our <a href="../faq.html#question">FAQ about asking questions</a> about
these rules.</p>
<h1 id="the-ioccc-is-closed">The IOCCC is closed</h1>
<p>The IOCCC is <strong>NOT</strong> accepting new submissions at this time. See the
<a href="../years.html">IOCCC winning entries page</a> for the entries that have won the
IOCCC in the past.</p>
<p>Watch both <a href="../status.html">the IOCCC status page</a> and the
<a href="https://fosstodon.org/@ioccc"><span class="citation" data-cites="IOCCC">@IOCCC</span> mastodon feed</a> for information about
future IOCCC openings.</p>
<p><strong>HINT to mastodon users</strong>: You may wish to refresh the <a href="https://fosstodon.org/@ioccc"><span class="citation" data-cites="IOCCC">@IOCCC</span>
mastodon feed</a> page and/or mastodon
app from time to time to view IOCCC mastodon updates.</p>
<!-- END: the next line ends content from: inc/rules.closed.hdr -->
<!-- This is the last line modified by the tool: bin/gen-status.sh -->
<h1 id="th-international-obfuscated-c-code-contest-official-rules">28th International Obfuscated C Code Contest Official Rules</h1>
<p class="leftbar">
Copyright © 2024 Leonid A. Broukhis and Landon Curt Noll.
</p>
<p>All Rights Reserved. Permission for personal, education or non-profit use is
granted provided this this copyright and notice are included in its entirety
and remains unaltered. All other uses must receive prior permission in
writing by <a href="../contact.html">contacting the judges</a>.</p>
<div id="rules_version">
<h2 id="ioccc-rules-version">IOCCC Rules version</h2>
</div>
<p class="leftbar">
These <a href="rules.html">IOCCC rules</a> are version <strong>28.5 2024-07-08</strong>.
</p>
<p><strong>IMPORTANT</strong>: Be sure to read the <a href="guidelines.html">IOCCC guidelines</a>.</p>
<div id="change_marks">
<h3 id="change-marks">Change marks</h3>
</div>
<p class="leftbar">
<strong>← Lines that start with this symbol indicate a change from the previous IOCCC</strong>
</p>
<p>Most lines (we sometimes make mistakes) that were modified since the previous
IOCCC start with a solid 4 pixel black left border (or, in the case of a code
block or blockquote, just a vertical bar).</p>
<div id="obfuscate">
<h1 id="obfuscate-defined">Obfuscate defined:</h1>
</div>
<p>tr.v. -cated, -cating, -cates.
<br><br>
<strong>1a.</strong> To render obscure.<br>
<strong>1b.</strong> To darken.
<br><br>
<strong>2.</strong> To confuse: his emotions obfuscated his judgment.<br>
    [LLat. obfuscare, to darken : ob(intensive) + Lat. fuscare,<br>
    to darken &lt; fuscus, dark.] -obfuscation n. obfuscatory adj.</p>
<div id="goals">
<h1 id="goals-of-the-contest">Goals of the Contest</h1>
</div>
<p>The goals of the IOCCC:</p>
<ul>
<li>To write the most Obscure/Obfuscated C program within the <a href="rules.html">IOCCC rules</a>.</li>
<li>To show the importance of programming style, in an ironic way.</li>
<li>To stress C compilers with unusual code.</li>
<li>To illustrate some of the subtleties of the C language.</li>
<li>To provide a safe forum for poor C code. :-)</li>
</ul>
<div id="dates">
<h1 id="important-ioccc-dates">Important IOCCC dates</h1>
</div>
<p class="leftbar">
This IOCCC runs from <strong>2024-MMM-DD HH:MM:SS UTC</strong> to <strong>202x-MMM-DD HH:MM:SS UTC</strong>.<br>
<strong>XXX - date/time is TBD - XXX</strong>
</p>
<p class="leftbar">
Until the start of this IOCCC, these <a href="rules.html">IOCCC rules</a>,
<a href="guidelines.html">IOCCC guidelines</a> and the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry
toolkit</a> should be considered
provisional <strong>BETA</strong> versions and <strong>may be adjusted <em>AT ANY TIME</em></strong>.
</p>
<p>When the IOCCC is open, the submission URL is:
<a href="https://submit.ioccc.org">https://submit.ioccc.org</a>; at all other
times that link is likely to be unresponsive.</p>
<p>Please check the <a href="../faq.html#submit">How to enter FAQ</a>
for <strong>important information</strong> on how to submit to the IOCCC.</p>
<p class="leftbar">
The submit URL should be active on or slightly before <strong>2024-MMM-DD HH:MM:SS UTC</strong>.<br>
<strong>XXX - date/time is TBD - XXX</strong>
</p>
<p>Please wait to submit your entries until after that time.</p>
<p>The official <a href="rules.html">IOCCC rules</a> and <a href="guidelines.html">IOCCC guidelines</a> will be
available on the <a href="../index.html">official IOCCC website</a> on or slightly before
the start of this IOCCC. The <code>mkiocccentry</code> toolkit may be obtained at any time
at the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a>.</p>
<p><strong>Please recheck on or after the start of this IOCCC to be sure you
are using the correct versions of these items <em>before using the IOCCC
submission URL</em></strong>.</p>
<div id="rules">
<h1 id="ioccc-rules">IOCCC RULES</h1>
</div>
<p>To help us with the volume of submissions, we ask that you follow these rules:</p>
<div id="rule0">
<h2 id="rule-0">Rule 0</h2>
</div>
<p>We need a <a href="#rule0">rule 0</a>. :-)</p>
<div id="rule1">
<h2 id="rule-1">Rule 1</h2>
</div>
<p>Your submission must be a complete program.</p>
<div id="rule2">
<h2 id="rule-2">Rule 2</h2>
</div>
<p>The size rule requires your submission to satisfy <strong>BOTH</strong> <a href="#rule2a">Rule 2a</a> and <a href="#rule2b">Rule 2b</a>:</p>
<div id="rule2a">
<h2 id="rule-2a">Rule 2a</h2>
</div>
<p class="leftbar">
The size of your program source <strong>should not exceed 4993 bytes</strong>.
</p>
<p class="leftbar">
If you use the most recently released official IOCCC submission
packaging tool (hereby referred to as <code>mkiocccentry(1)</code>), which we <strong>STRONGLY
recommend you do</strong> (see also <a href="#rule17">Rule 17</a>), then the <code>mkiocccentry(1)</code>
tool will warn you if there appears to be a <a href="#rule2a">Rule 2a</a> violation.
</p>
<p class="leftbar">
The <code>mkiocccentry(1)</code> tool will give you the option of overriding the <a href="#rule2a">Rule 2a</a> warning.
Overriding a <a href="#rule2a">Rule 2a</a> warning carries a <strong>fair amount of risk that your submission
will be rejected</strong>. Be sure to consult the <a href="guidelines.html">IOCCC guidelines</a>
ahead of time if you plan to override the <a href="#rule2a">Rule 2a</a> warning.
</p>
<p class="leftbar">
If you do override the <a href="#rule2a">Rule 2a</a> warning from the
<code>mkiocccentry(1)</code> tool, or otherwise plan to violate <a href="#rule2a">Rule 2a</a>, then
you <strong>MUST CLEARLY EXPLAIN THE RATIONALE</strong> of why you are doing so in your
<code>remarks.md</code> file. <strong><em>Even if you do</em> explain this in your <code>remarks.md</code> file your
submission may still be rejected</strong>.
</p>
<p class="leftbar">
You may check your code prior to submission by giving the filename
as a command like argument to the <code>iocccsize(1)</code> tool. For example:
</p>
<pre><code> ./iocccsize prog.c</code></pre>
<div id="rule2b">
<h2 id="rule-2b">Rule 2b</h2>
</div>
<p class="leftbar">
When the filename of your program source is given as a command line argument to the latest version
of the official IOCCC size tool (hereby referred to as <code>iocccsize(1)</code>), the
value printed <strong>should NOT exceed <em>2503</em></strong>.
</p>
<p class="leftbar">
The source to <code>iocccsize(1)</code> may be found in the
<a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a>.
</p>
<p class="leftbar">
If you use the <code>mkiocccentry(1)</code> tool, which we <strong>STRONGLY recommend
you do</strong> (again, see also <a href="#rule17">Rule 17</a>),
then <code>mkiocccentry(1)</code> will invoke <code>iocccsize(1)</code> before packaging your submission.
</p>
<p class="leftbar">
The <code>mkiocccentry(1)</code> tool will give you the option of overriding the <a href="#rule2b">Rule 2b</a> warning.
Overriding a <a href="#rule2b">Rule 2b</a> warning carries a <strong>fair amount of risk that your submission
will be rejected</strong>. Be sure to consult the <a href="guidelines.html">IOCCC guidelines</a>
ahead of time if you plan to override the <a href="#rule2b">Rule 2b</a> warning.
</p>
<p class="leftbar">
If you do override the <a href="#rule2b">Rule 2b</a> warning from the <code>mkiocccentry(1)</code> tool,
or otherwise plan to violate <a href="#rule2b">Rule 2a</a>, then you <strong>MUST CLEARLY EXPLAIN THE RATIONALE</strong>
of why you are doing so in your <code>remarks.md</code> file. <strong><em>Even if you do</em> explain this in your <code>remarks.md</code> file
your submission may still be rejected</strong>.
</p>
<p class="leftbar">
You may check your code prior to submission by giving the filename
as a command like argument to the <code>iocccsize(1)</code> tool. For example:
</p>
<pre><code> ./iocccsize prog.c</code></pre>
<div id="rule3">
<h2 id="rule-3">Rule 3</h2>
</div>
<p>Submissions should be performed using the instructions outlined at:
the <a href="../faq.html#submit">How to enter FAQ</a>.</p>
<p>To submit to an open IOCCC, you must use the <a href="https://submit.ioccc.org/">IOCCC submit
server</a>. Unless the IOCCC is open, that link will
likely be unresponsive.</p>
<p class="leftbar">
The submit URL should be active on or slightly before <strong>2024-MMM-DD HH:MM:SS UTC</strong>.<br>
<strong>XXX - date/time is TBD - XXX</strong>
</p>
<p><strong>Please wait to submit</strong> your entries until after that time.</p>
<div id="rule4">
<h2 id="rule-4">Rule 4</h2>
</div>
<p class="leftbar">
If your submission is selected as a winner, it may be modified in order
to fit into the structure of the <a href="https://www.ioccc.org/index.html">Official IOCCC winner website</a>.
</p>
<p class="leftbar">
For example, your submission’s <code>Makefile</code> might be modified.
</p>
<p class="leftbar">
Your source code will be the file <code>prog.c</code>. The compiled binary
will be called <code>prog</code>. If you submission requires different filenames,
then modify your submission’s <code>Makefile</code> to <strong>COPY</strong> (<strong>NOT</strong> move)
the files accordingly.
</p>
<p class="leftbar">
See also <a href="#rule5">Rule 5</a>, <a href="#rule18">Rule 18</a> and <a href="#rule21">Rule 21</a>.
</p>
<div id="rule5">
<h2 id="rule-5">Rule 5</h2>
</div>
<p>Your submission <strong>MUST</strong> not modify the content or filename of any part of your
original submission including, but not limited to <code>prog.c</code>, the <code>Makefile</code>
(that we create from your how to build instructions), as well as any data
files you submit.</p>
<p>If you submission wishes to modify such content, it <strong>MUST</strong> first copy the
file to a new filename and then modify that copy.</p>
<div id="rule6">
<h2 id="rule-6">Rule 6</h2>
</div>
<p class="leftbar">
I am not a rule, I am a <code>free(void *human);</code> ‼️
</p>
<p class="leftbar">
        <code>while (!(ioccc(rule(you(are(number(6)))))) {</code><br>
                <code>ha_ha_ha();</code><br>
        <code>}</code>
</p>
<div id="rule7">
<h2 id="rule-7">Rule 7</h2>
</div>
<p>The obfuscated C program must be an original work that you own.</p>
<p>You (the author(s)) must own the contents of your submission OR
you must have permission from the owner(s) to submit their content
under the following license:</p>
<p class="leftbar">
<strong><a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International</a></strong>
</p>
<p>If you submit any content that is owned by others, you <strong>MUST
detail that ownership</strong> (i.e., who owns what) <strong><em>AND</em> document the
permission you obtained</strong>.</p>
<p>Please note that the IOCCC size tool is <strong>NOT</strong> an original work.</p>
<div id="rule8">
<h2 id="rule-8">Rule 8</h2>
</div>
<p class="leftbar">
Entries must be received prior to the end of this IOCCC which is <strong>2024-MMM-DD HH:MM:SS UTC</strong>.<br>
<strong>XXX - date/time is TBD - XXX</strong>
</p>
<p>A confirmation of submission will be sent to the submitting email address
before the close of the contest.</p>
<div id="rule9">
<h2 id="rule-9">Rule 9</h2>
</div>
<p class="leftbar">
Each person may submit up to and including <strong>10.000000</strong> (ten) entries per contest.
</p>
<p><strong>Each submission <em>must be submitted separately</em></strong>.</p>
<div id="rule10">
<h2 id="rule-10">Rule 10</h2>
</div>
<p>Entries requiring human interaction to be initially compiled <strong>are not
permitted</strong>. However, see the <a href="guidelines.html">guidelines</a>.</p>
<div id="rule11">
<h2 id="rule-11">Rule 11</h2>
</div>
<p>Programs that require special privileges (<code>setuid(2)</code>, <code>setgid(2)</code>,
super-user, special owner, special group, etc.) are still <strong>HIGHLY
DISCOURAGED</strong>. We do not guarantee these functions will behave as
you expect on our test platforms. If your program needs special
permissions you <strong>MUST</strong> document this fact, and explain why
it is needed in your submissions <code>remarks.md</code> file.</p>
<div id="rule12">
<h2 id="rule-12">Rule 12</h2>
</div>
<p><strong>Legal</strong> abuse of the rules is somewhat encouraged. <strong>A submission that, in
the opinion of the judges, </strong>violates the rules will be disqualified<strong>.
Submissions that attempt to abuse the rules </strong>MUST** try to justify why
their rule abuse is legal, in the <code>remarks.md</code> file.</p>
<div id="rule13">
<h2 id="rule-13">Rule 13</h2>
</div>
<p class="leftbar">
Any C source that fails to compile because of unescaped octets with
the high bit set (octet value &gt;= 128) <strong><em>might</em></strong> be rejected.
</p>
<div id="rule14">
<h2 id="rule-14">Rule 14</h2>
</div>
<p class="leftbar">
Any C source that fails to compile because of lines with trailing
control-M’s (i.e., lines with a tailing octet <code>015</code>) <strong><em>might</em></strong> be rejected.
</p>
<p>Please do <strong>NOT</strong> put trailing control-M’s on remarks file lines.
Please check to be sure, before submitting, that you have removed
any control-M at the end of remark file lines.</p>
<div id="rule15">
<h2 id="rule-15">Rule 15</h2>
</div>
<p class="leftbar">
In order to register for the IOCCC, you <strong>MUST</strong> have a valid email address.
</p>
<p>The judges <strong>are not responsible for delays in email</strong>, please plan
enough time for one automated exchange of email as part of your
submission.</p>
<p class="leftbar">
See <a href="../faq.html#register">the FAQ on how to register for the IOCCC</a> in the
<a href="../faq.html">FAQ</a> for details.
</p>
<div id="rule16">
<h2 id="rule-16">Rule 16</h2>
</div>
<p>You are <strong>STRONGLY</strong> encouraged to submit <strong>a previously unpublished <em>AND</em>
original submission</strong>. Submissions that are similar to previous entries are
discouraged. As we judge anonymously, submissions that have already
been published may be disqualified.</p>
<div id="rule17">
<h2 id="rule-17">Rule 17</h2>
</div>
<h3 id="tldr-rule-17---use-mkiocccentry1">TL;DR Rule 17 - Use <code>mkiocccentry(1)</code></h3>
<p class="leftbar">
This is a <strong>COMPLEX</strong> rule. <strong>Violating this rule will cause your submission to REJECTED</strong>!
To help you avoid such a rejection, you are <strong>HIGHLY ENCOURAGED</strong> to use the <code>mkiocccentry(1)</code> tool,
based on the latest release of the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a>,
to form your submission’s xz compressed tarball.
</p>
<p class="leftbar">
The <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a>
contains <strong>IMPORTANT</strong> tools such as:
</p>
<ul>
<li><p class="leftbar">
<code>chkentry(1)</code>
</p></li>
<li><p class="leftbar">
<code>iocccsize(1)</code>
</p></li>
<li><p class="leftbar">
<code>mkiocccentry(1)</code>
</p></li>
<li><p class="leftbar">
<code>txzchk(1)</code>
</p></li>
<li><p class="leftbar">
<code>fnamchk(1)</code>
</p></li>
<li><p class="leftbar">
<code>jparse(1)</code> and <code>jparse(8)</code> (which <code>chkentry(1)</code> uses)
</p></li>
</ul>
<p class="leftbar">
The above mentioned tools will help you verify that your submission
conforms to <a href="#rule17">Rule 17</a>.
</p>
<p class="leftbar">
Each above mentioned tools has a <code>-h</code> option that provides command
line help. For additional details, see the tools’ man pages.
</p>
<p class="leftbar">
You do not explicitly need to invoke <code>jparse(1)</code> but the <code>jparse(8)</code>
library will be used when compiling various tools.
</p>
<p class="leftbar">
Of course you <strong>can</strong> invoke <code>jparse(1)</code> if you wish to validate your own JSON
data file or some other JSON file.
</p>
<h3 id="rule-17---the-complex-details">Rule 17 - The COMPLEX details</h3>
<p class="leftbar">
Each submission <strong>MUST</strong> be in the form of a xz compressed tarball.
The xz compressed tarball filename must be of the form:
</p>
<pre><code> ^submit.username-slot_num.[1-9][0-9]{9,}.txz$</code></pre>
<p class="leftbar">
… where <em><code>username</code></em> is your IOCCC registration username <strong>in the form of a
<a href="https://en.wikipedia.org/wiki/Universally_unique_identifier">UUID</a></strong> (see
<a href="https://datatracker.ietf.org/doc/html/rfc9562">RFC 9562</a> for
details), and where <em><code>slot_num</code></em> is a single decimal digit integer
(i.e., &gt;= <code>0</code> and &lt; <code>9</code>).
</p>
<p class="leftbar">
In particular, <em><code>username</code></em> is in the form of:
<code>xxxxxxxx-xxxx-4xxx-axxx-xxxxxxxxxxxx</code> where <code>x</code> is a hexadecimal digit in the
range <code>[0-9a-f]</code>. And yes, there is a 4 (UUID version 4) and an <code>a</code> (UUID variant
1) in there.
</p>
<p class="leftbar">
Your xz compressed tarball <strong>MUST</strong> contain, <strong>at a minimum</strong>, the following files:
</p>
<ul>
<li><p class="leftbar">
<code>Makefile</code>
</p></li>
<li><p class="leftbar">
<code>prog.c</code>
</p></li>
<li><p class="leftbar">
<code>remarks.md</code>
</p></li>
<li><p class="leftbar">
<code>.info.json</code>
</p></li>
<li><p class="leftbar">
<code>.auth.json</code>
</p></li>
</ul>
<p class="leftbar">
The <code>.info.json</code> must be valid JSON and pass the <code>chkentry(1)</code> tests.
It is generated by the <code>mkiocccentry(1)</code> tool.
</p>
<p class="leftbar">
The <code>.auth.json</code> must be valid JSON and pass the <code>chkentry(1)</code> tests.
It is generated by the <code>mkiocccentry(1)</code> tool.
</p>
<p class="leftbar">
You submission may have additional files, however the filenames of those additional files <strong>MUST</strong>:
</p>
<ul>
<li><p class="leftbar">
Be less than <strong>100</strong> characters in length.
</p></li>
<li><p class="leftbar">
Match the regular expression:
<code>^[0-9A-Za-z][0-9A-Za-z._+-]*$</code>
</p></li>
</ul>
<p class="leftbar">
The <code>mkiocccentry(1)</code> tool will not package any files that do not meet
those requirements.
</p>
<p class="leftbar">
The <code>Makefile</code> <strong>MUST</strong> be a <strong>non</strong>-empty file in <strong><a href="https://www.gnu.org/software/make/manual/make.html">GNU
Makefile</a></strong> form. See the
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/Makefile.example">Makefile.example</a>,
the <a href="../faq.html#submission_makefiles">FAQ about your submission’s Makefile</a> and
the <a href="../faq.html#make_compatibility">FAQ about IOCCC Makefile compatibility</a> for help.
</p>
<p class="leftbar">
The <code>remarks.md</code> <strong>MUST</strong> be a <strong>non</strong>-empty file in markdown form. See also
<a href="#rule18">Rule 18</a> and our <a href="../faq.html#remarks_md">FAQ about what to put in your
remarks.md</a> and the <a href="../faq.html#markdown">FAQ about IOCCC best markdown
practices</a>.
</p>
<p class="leftbar">
See also the <a href="https://www.markdownguide.org/basic-syntax">markdown syntax</a> guide
and the <a href="https://spec.commonmark.org/current/">CommonMark Spec</a>.
</p>
<p class="leftbar">
The xz compressed tarball file <strong>MUST</strong> be less than or equal <strong>3999971</strong> octets in size.
</p>
<p class="leftbar">
When your submission’s xz compressed tarball is uncompressed,
the total size of your submission: the sum of the size of the program,
hints, comments, build and info files <strong>MUST</strong> be less than or equal
to <strong>28314624</strong> octets (<strong>27651K</strong>) in size.
</p>
<p class="leftbar">
Your submission’s xz compressed tarball <strong>MUST</strong> pass the <code>txzchk(1)</code> test. See
the <a href="guidelines.html">guidelines</a> for more details on this tool.
</p>
<p class="leftbar">
You are <strong>HIGHLY ENCOURAGED</strong> to use the <code>mkiocccentry(1)</code> tool to form your
submission’s xz compressed tarball. See the <a href="guidelines.html">guidelines</a> for
more details on this tool and the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry
repo</a>.
</p>
<p class="leftbar">
Your entry may <strong>NOT</strong> have subdirectories. However, you can provide files that
are in different directories as <code>mkiocccentry(1)</code> will copy them to the work
directory (see the <a href="guidelines.html">guidelines</a> for more details).
</p>
<p class="leftbar">
Filenames in your entry (that is, not including the files generated by the
<code>mkiocccentry(1)</code> tool or the tools it or any other tool invokes) <strong>MUST</strong>:
</p>
<ul>
<li><p class="leftbar">
Be less than <strong>100</strong> characters in length
</p></li>
<li><p class="leftbar">
<strong>NOT</strong> have a <strong><code>/</code></strong> (excluding the entry directory that
the <code>mkiocccentry(1)</code> tool generates).
</p></li>
<li><p class="leftbar">
<strong>NOT</strong> contain a path component of: <strong><code>.</code></strong> (that is, with
the exception of files generated by <code>mkiocccentry(1)</code> itself, it must have
<strong>NO</strong> <strong><code>.</code></strong>).
</p></li>
<li><p class="leftbar">
<strong>NOT</strong> contain a path component of: <strong><code>..</code></strong> (that is,
<strong>NO</strong> <strong><code>..</code></strong>).
</p></li>
<li><p class="leftbar">
Match the regular expression
<code>^[0-9A-Za-z][0-9A-Za-z._+-]*$</code> (again, excluding files generated by
<code>mkiocccentry(1)</code>).
</p></li>
</ul>
<p class="leftbar">
Additionally, the tarball <strong>MUST</strong> have the following files (generated
by the <code>mkiocccentry(1)</code> tool):
</p>
<ul>
<li><p class="leftbar">
<code>.auth.json</code> which contains information about the author or
authors (that will only be looked at if the submission wins).
</p></li>
<li><p class="leftbar">
<code>.info.json</code> which contains information about the
entry.
</p></li>
</ul>
<p class="leftbar">
The <code>txzchk(1)</code> tool will verify these (and other things) for you and
the <code>chkentry(1)</code> tool will do additional checks on the contents of the
<code>.auth.json</code> and <code>.info.json</code> files including JSON validity. If these checks
fail it is an error and <code>mkiocccentry(1)</code> will fail. In this case it is very
<strong>possibly</strong> a bug; please <a href="https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&amp;labels=bug&amp;projects=&amp;template=bug_report.yml&amp;title=%5BBug%5D+%3Ctitle%3E">report it at the mkiocccentry issues
page</a>.
</p>
<p class="leftbar">
The tarball filename <strong>MUST</strong> pass <code>fnamchk(1)</code>; the tool <code>txzchk(1)</code>
will run <code>fnamchk(1)</code> as part of its algorithm. If you use <code>mkiocccentry(1)</code>
there should be no problem but if you were to package things manually it is
possible there could be a problem and this is a big risk.
</p>
<p class="leftbar">
The <code>fnamchk(1)</code>, which <code>txzchk(1)</code> executes, will verify that the
filename is correct.
</p>
<p class="leftbar">
These checks <strong>MUST PASS</strong>.
</p>
<p class="leftbar">
Where <a href="#rule17">Rule 17</a> and the tools from the latest
release of the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a>
conflict, the <a href="../judges.html">IOCCC Judges</a> will use their best judgment which
is likely to favor <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a> code.
</p>
<p class="leftbar">
This means you should <strong>MAKE SURE</strong> that you use <code>mkiocccentry(1)</code> to
package your submission; <code>mkiocccentry(1)</code> will run the above mentioned tools
(that do not act on the tarball) <strong>before</strong> creating the tarball and after the
tarball is created it will then verify that the tarball is okay by running
<code>txzchk(1)</code> on it.
</p>
<p class="leftbar">
<strong>MAKE SURE</strong> you use the correct release of the repository; you should do this
<strong>AFTER</strong> the contest opens (pull any changes or if you prefer download the
repository via the download option at GitHub).
</p>
<p class="leftbar">
We recommend that you run <code>make</code> and then install the tools (and man pages) via
<code>make install</code> (as root or using <code>sudo(1)</code> to help you run these tools from your
submission’s directory. The <code>make install</code> will install in <code>/usr/local</code>.
</p>
<p class="leftbar">
These tools will link in the <code>jparse(8)</code> library; <code>chkentry(1)</code> uses the parser
to validate the <a href="https://www.json.org/json-en.html">JSON</a> but the other tools
use parts of the library as well.
</p>
<p class="leftbar">
If you run into a problem with one or more of these tools, <strong>PLEASE</strong> <a href="https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&amp;labels=bug&amp;projects=&amp;template=bug_report.yml&amp;title=%5BBug%5D+%3Ctitle%3E">report it
at the mkiocccentry issues
page</a>,
<strong>making sure to run <code>bug_report.sh</code></strong>. See the <a href="guidelines.html">guidelines</a>
for help here and also read <a href="../faq.html#mkiocccentry_bugs">the FAQ about reporting bugs in the mkiocccentry
repo</a>.
</p>
<p class="leftbar">
At the risk of stating the obvious: submissions that violate <a href="#rule17">Rule
17</a> <strong>will be rejected</strong>, so <strong>be sure</strong> to use the latest release of the
<a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a>, to form and test
your submission’s xz compressed tarball. Do <strong>NOT</strong> assume you have the most
recent release without pulling or downloading via GitHub and <strong>make sure</strong> you
do this <strong>AFTER</strong> the <a href="../status.html">contest status</a> has changed to
<a href="../status.html#open">open</a>.
</p>
<div id="rule18">
<h2 id="rule-18">Rule 18</h2>
</div>
<p>The entirety of your submission must be submitted under the following license:</p>
<p class="leftbar">
<strong><a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International</a></strong>
</p>
<p>You (the author(s)) <strong>MUST</strong> own the contents of your submission <strong>OR</strong>
you <strong>MUST HAVE PERMISSION</strong> from the owner(s) to submit their content.</p>
<p>You <strong>MUST NOT</strong> submit anything that cannot be submitted under that license.</p>
<div id="rule19">
<h2 id="rule-19">Rule 19</h2>
</div>
<p class="leftbar">
The <code>remarks.md</code> file, a required non-empty file, must be written in
markdown format. See the <a href="http://daringfireball.net/projects/markdown/basics">Daring Fireball Markdown:
Basics</a>.
</p>
<p class="leftbar">
We currently use <a href="https://pandoc.org">pandoc</a> to convert markdown to HTML.
</p>
<p class="leftbar">
Please see our <a href="../faq.html#remarks_md">FAQ about what to put in your
remarks.md</a> and the <a href="../markdown.html">IOCCC markdown
guidelines</a> for additional markdown guidance.
</p>
<div id="rule20">
<h2 id="rule-20">Rule 20</h2>
</div>
<p>The how to build instructions must be in Makefile format. See <a href="../faq.html#make_compatibility">the FAQ about
make(1) compatibility the IOCCC
supports</a> for more details.</p>
<p class="leftbar">
You are <strong>ENCOURAGED</strong> to use
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/Makefile.example">Makefile.example</a>,
renamed as <code>Makefile</code> of course, for help in constructing your <code>Makefile</code>.
</p>
<p>The target of the Makefile must be called <code>prog</code>. The original
C source file must be called <code>prog.c</code>.</p>
<p>To invoke the C compiler, use <code>${CC}</code>. To invoke the C preprocessor use
<code>${CPP}</code>.</p>
<p>Do <strong>NOT</strong> assume that <code>.</code> (the current directory) is in the <code>$PATH</code>.</p>
<p class="leftbar">
Your <code>Makefile</code> <strong>MUST</strong> use a syntax that is compatible with <code>bash(1)</code>
and GNU <code>make(1)</code>. You are <strong>ENCOURAGED</strong> to use set <code>SHELL= bash</code> in
your <code>Makefile</code>.
</p>
<p class="leftbar">
Assume that commands commonly found in <a href="https://en.wikipedia.org/wiki/Single_UNIX_Specification">Single UNIX
Specification</a>
environments and systems that conform to the <a href="https://en.wikipedia.org/wiki/Single_UNIX_Specification">Single UNIX
Specification</a> are
available in the <code>$PATH</code> search path.
</p>
<div id="rule21">
<h2 id="rule-21">Rule 21</h2>
</div>
<p>Your submission <strong>MUST NOT</strong> create or modify files above the current directory
<em>with the exception of</em> the <code>/tmp</code> and the <code>/var/tmp</code> directories. Your submission
<strong>MAY</strong> create subdirectories below the current directory, or in <code>/tmp</code>,
or in <code>/var/tmp</code> provided that <code>.</code> is <strong>NOT</strong> the first octet in any
directory name or filename you create.</p>
<div id="rule22">
<h2 id="rule-22">Rule 22</h2>
</div>
<p>Catch 22:</p>
<p>Your source code, data files, remarks and program output <strong>MUST NOT</strong>
identify the authors of your code. The judges <strong>STRONGLY PREFER</strong> to
<strong>NOT</strong> know who is submitting entries to the IOCCC.</p>
<p>Even if you are a previous IOCCC winner, catch 22 still applies.</p>
<p>Identifying the author(s) of your submission in an obvious way anywhere
within your code, data, remarks or program output (unless you are
<strong>Peter Honeyman</strong> or pretending to be <strong>Peter Honeyman</strong>) will be grounds
for disqualification of your submission.</p>
<p>Yes, Virginia, <strong>WE REALLY MEAN IT!</strong></p>
<div id="rule23">
<h2 id="rule-23">Rule 23</h2>
</div>
<p>This prime rule number is reserved for future use.</p>
<div id="rule24">
<h2 id="rule-24">Rule 24</h2>
</div>
<p>Even though 24 is not prime, you should still see <a href="#rule23">Rule 23</a>.</p>
<div id="rule25">
<h2 id="rule-25">Rule 25</h2>
</div>
<p class="leftbar">
The <a href="rules.html">IOCCC rule set</a> needs more than 5^2 rules: see <a href="#rule26">Rule 26</a>.
</p>
<div id="rule26">
<h2 id="rule-26">Rule 26</h2>
</div>
<blockquote>
<p>“The quick brown fox jumps over the lazy dog”.<br>
“Pack my box with five dozen liquor jugs.”<br>
“How vexingly quick daft zebras jump!”<br>
“Sphinx of black quartz, judge my vow.”<br>
“Waltz, bad nymph, for quick jigs vex.”<br>
“Mr. Jock, TV quiz PhD, bags few lynx.”<br>
“abcdefg, hijklmnop, qrstu&amp;v, wxy&amp;z.”</p>
</blockquote>
<div id="rule27">
<h2 id="rule-27">Rule 27</h2>
</div>
<p class="leftbar">
Unless otherwise needed, <a href="#rule27">Rule 27</a> is reserved for something cubic. :-)
</p>
<div id="rule28">
<h2 id="rule-28">Rule 28</h2>
</div>
<p class="leftbar">
<a href="#rule28">Rule 28</a> is a perfect way end to the list of <a href="rules.html">IOCCC rules</a>
as we do <strong>NOT</strong> plan to have <strong>496</strong> rules. :-)
</p>
<div id="more-information">
<div id="information">
<h1 id="for-more-information">FOR MORE INFORMATION:</h1>
</div>
</div>
<p class="leftbar">
For questions or comments about the contest, see <a href="../contact.html">Contacting the IOCCC</a>.
</p>
<p class="leftbar">
<strong>Be SURE</strong> to review the <a href="index.html">IOCCC Rules and Guidelines</a> as
<a href="rules.html">IOCCC rules</a> and the <a href="guidelines.html">IOCCC guidelines</a> may (and
<strong>often do</strong>) change from year to year.
</p>
<p class="leftbar">
You should be sure you have the current <a href="rules.html">IOCCC rules</a> and
<a href="guidelines.html">IOCCC guidelines</a> prior to submitting entries.
</p>
<p>See the <a href="../news.html">Official IOCCC website news</a> for additional information.</p>
<p class="leftbar">
For the updates and breaking IOCCC news, you are encouraged to follow
the <a href="https://fosstodon.org/@ioccc">IOCCC on Mastodon</a> account. See our
<a href="../faq.html#try_mastodon">FAQ about Mastodon</a> for more information. Please do note that unless
you are mentioned by us you will <strong>NOT</strong> get a notification from the app <em>so you
should refresh the page <strong>even if you do follow us</strong></em>.
</p>
<p class="leftbar">
Check out the <a href="https://www.ioccc.org/index.html">Official IOCCC winner website</a> in general.
</p>
<p><strong>Leonid A. Broukhis</strong><br>
<strong>chongo (Landon Curt Noll) <code>/\cc/\</code></strong></p>
<hr style="width:10%;text-align:left;margin-left:0">
<p>Jump to: <a href="#">top</a>
<!-- AFTER: last line of markdown file: next/rules.md --></p>
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<!-- START: this line starts content from: inc/after-content.default.html -->
</div>
<!-- END: this line ends content from: inc/after-content.default.html -->
<!-- START: this line starts content from: inc/footer.default.html -->
<!--
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
You are free to share and adapt this file under the terms of this license:
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
For more information, see:
https://creativecommons.org/licenses/by-sa/4.0/
-->
<div class="footer">
<div id="copyright"><h3>Copyright &copy; 1984-2024 by Landon Curt Noll:
<a href="https://creativecommons.org/faq/#what-does-some-rights-reserved-mean"
target="_blank"
rel="license noopener noreferrer">Some Rights Reserved</a></h3>
<p>
This work is <b>licensed by Landon Curt Noll</b> under
<b><a href="https://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1"
target="_blank"
rel="license noopener noreferrer"
style="display:inline-block;">CC BY-SA 4.0</a></b>.
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
src="../png/cc.png"
alt="cc inside circle symbol">
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
src="../png/by.png"
alt="person inside circle symbol">
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
src="../png/sa.png"
alt="arrow looping back on itself inside circle symbol"><br>
You should <b>carefully review</b> the
<b><a href="https://creativecommons.org/licenses/by-sa/4.0/legalcode.en"
target="_blank"
rel="license noopener noreferrer">CC BY-SA 4.0 LEGAL CODE</a></b>
before using the licensed material.<br>
You may wish to review the
<b><a href="../license.html"
target="_blank"
rel="license noopener noreferrer">highlights of some of the key features and terms</a></b>
of <b>CC BY-SA 4.0</b>.<br>
</p>
</div>
<div id="coda"><h3>Coda</h3>
<p>
<a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2Fnext%2Frules.html" rel="nofollow">Nu HTML check this web page</a><br>
<a href="#top">Jump to top</a> <a href="#content">Jump to Content</a>
</p>
</div>
</div>
<!-- END: this line ends content from: inc/footer.default.html -->
<!-- START: this line starts content from: inc/bottom.default.html -->
</body>
</html>
<!-- END: this line ends content from: inc/bottom.default.html -->