mirror of
https://github.com/velocitatem/PHANTOM.git
synced 2026-05-31 16:43:36 +00:00
514 lines
23 KiB
HTML
514 lines
23 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
||
<!-- Primary Meta Tags -->
|
||
<meta name="title" content="PHANTOM: Pricing Heuristics Against Non-human Transaction Orchestration Mechanisms">
|
||
<meta name="description" content="Developing pricing heuristics to protect e-commerce platforms from systematic exploitation by LLM agents in dynamic pricing environments through behavioral signature detection.">
|
||
<meta name="keywords" content="dynamic pricing, LLM agents, e-commerce security, behavioral detection, pricing heuristics, recommendation systems, agent detection, AI security, pricing integrity">
|
||
<meta name="author" content="Daniel Alves Rösel">
|
||
<meta name="robots" content="index, follow">
|
||
<meta name="language" content="English">
|
||
|
||
<!-- Open Graph / Facebook -->
|
||
<meta property="og:type" content="article">
|
||
<meta property="og:site_name" content="PHANTOM Research">
|
||
<meta property="og:title" content="PHANTOM: Pricing Heuristics Against Non-human Transaction Orchestration Mechanisms">
|
||
<meta property="og:description" content="Developing pricing heuristics to protect e-commerce platforms from systematic exploitation by LLM agents in dynamic pricing environments through behavioral signature detection.">
|
||
<meta property="og:url" content="https://velocitatem.github.io/PHANTOM/">
|
||
<meta property="og:image" content="https://raw.githubusercontent.com/velocitatem/PHANTOM/main/docs/static/images/carousel1.jpg">
|
||
<meta property="og:image:width" content="1200">
|
||
<meta property="og:image:height" content="630">
|
||
<meta property="og:image:alt" content="PHANTOM Research Preview">
|
||
<meta property="article:published_time" content="2025-01-01T00:00:00.000Z">
|
||
<meta property="article:author" content="Daniel Alves Rösel">
|
||
<meta property="article:section" content="Research">
|
||
<meta property="article:tag" content="dynamic pricing">
|
||
<meta property="article:tag" content="LLM agents">
|
||
|
||
<!-- Twitter -->
|
||
<meta name="twitter:card" content="summary_large_image">
|
||
<meta name="twitter:site" content="@velocitatem">
|
||
<meta name="twitter:creator" content="@velocitatem">
|
||
<meta name="twitter:title" content="PHANTOM: Pricing Heuristics Against Non-human Transaction Orchestration Mechanisms">
|
||
<meta name="twitter:description" content="A thesis project on defending dynamic pricing against LLM-driven reconnaissance and transaction orchestration.">
|
||
<meta name="twitter:image" content="https://raw.githubusercontent.com/velocitatem/PHANTOM/main/docs/static/images/carousel1.jpg">
|
||
<meta name="twitter:image:alt" content="PHANTOM research visual">
|
||
|
||
<!-- Academic/Research Specific -->
|
||
<meta name="citation_title" content="Pricing Heuristics Against Non-human Transaction Orchestration Mechanisms">
|
||
<meta name="citation_author" content="Rösel, Daniel">
|
||
<meta name="citation_publication_date" content="2025">
|
||
<meta name="citation_conference_title" content="IE University Bachelor's Thesis">
|
||
<meta name="citation_pdf_url" content="https://pub-d5b94a3c29fd40c6b3881946e463fdb7.r2.dev/thesis-latest.pdf">
|
||
|
||
<!-- Additional SEO -->
|
||
<meta name="theme-color" content="#2563eb">
|
||
<meta name="msapplication-TileColor" content="#2563eb">
|
||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
||
|
||
<!-- Preconnect for performance -->
|
||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||
<link rel="preconnect" href="https://ajax.googleapis.com">
|
||
<link rel="preconnect" href="https://documentcloud.adobe.com">
|
||
<link rel="preconnect" href="https://cdn.jsdelivr.net">
|
||
|
||
|
||
<title>PHANTOM: Pricing Heuristics Against Non-human Transaction Orchestration Mechanisms - Daniel Rösel | Academic Research</title>
|
||
|
||
<!-- Favicon and App Icons -->
|
||
<link rel="icon" type="image/x-icon" href="static/images/favicon.ico">
|
||
<link rel="apple-touch-icon" href="static/images/favicon.ico">
|
||
|
||
<!-- Critical CSS - Load synchronously -->
|
||
<link rel="stylesheet" href="static/css/bulma.min.css">
|
||
<link rel="stylesheet" href="static/css/index.css">
|
||
|
||
<!-- Non-critical CSS - Load asynchronously -->
|
||
<link rel="preload" href="static/css/bulma-carousel.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
||
<link rel="preload" href="static/css/bulma-slider.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
||
<link rel="preload" href="static/css/fontawesome.all.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
||
<link rel="preload" href="https://cdn.jsdelivr.net/gh/jpswalsh/academicons@1/css/academicons.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
||
|
||
<!-- Fallback for browsers that don't support preload -->
|
||
<noscript>
|
||
<link rel="stylesheet" href="static/css/bulma-carousel.min.css">
|
||
<link rel="stylesheet" href="static/css/bulma-slider.min.css">
|
||
<link rel="stylesheet" href="static/css/fontawesome.all.min.css">
|
||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jpswalsh/academicons@1/css/academicons.min.css">
|
||
</noscript>
|
||
|
||
<!-- Fonts - Optimized loading -->
|
||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
|
||
|
||
<!-- Defer non-critical JavaScript -->
|
||
<script defer src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
|
||
<script defer src="https://documentcloud.adobe.com/view-sdk/main.js"></script>
|
||
<script defer src="static/js/fontawesome.all.min.js"></script>
|
||
<script defer src="static/js/bulma-carousel.min.js"></script>
|
||
<script defer src="static/js/bulma-slider.min.js"></script>
|
||
<script defer src="static/js/index.js"></script>
|
||
|
||
<!-- Structured Data for Academic Papers -->
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "ScholarlyArticle",
|
||
"headline": "PHANTOM: Pricing Heuristics Against Non-human Transaction Orchestration Mechanisms",
|
||
"description": "Research on preserving dynamic pricing integrity under LLM-mediated reconnaissance and purchasing behavior.",
|
||
"author": [
|
||
{
|
||
"@type": "Person",
|
||
"name": "Daniel Rösel",
|
||
"affiliation": {
|
||
"@type": "Organization",
|
||
"name": "IE University"
|
||
}
|
||
}
|
||
],
|
||
"datePublished": "2025-01-01",
|
||
"publisher": {
|
||
"@type": "Organization",
|
||
"name": "IE University"
|
||
},
|
||
"url": "https://velocitatem.github.io/PHANTOM/",
|
||
"image": "https://raw.githubusercontent.com/velocitatem/PHANTOM/main/docs/static/images/carousel1.jpg",
|
||
"keywords": ["dynamic pricing", "llm agents", "e-commerce", "distributionally robust optimization", "reinforcement learning"],
|
||
"abstract": "This thesis formalizes Cost of Information erosion under agentic reconnaissance, learns separable human and agent behavior kernels, and trains contamination-aware robust pricing policies.",
|
||
"citation": "Rösel, Daniel. PHANTOM: Pricing Heuristics Against Non-human Transaction Orchestration Mechanisms. IE University, 2025.",
|
||
"isAccessibleForFree": true,
|
||
"license": "https://creativecommons.org/licenses/by/4.0/",
|
||
"mainEntity": {
|
||
"@type": "WebPage",
|
||
"@id": "https://velocitatem.github.io/PHANTOM/"
|
||
},
|
||
"about": [
|
||
{
|
||
"@type": "Thing",
|
||
"name": "Dynamic Pricing"
|
||
},
|
||
{
|
||
"@type": "Thing",
|
||
"name": "Agent Behavior Modeling"
|
||
}
|
||
]
|
||
}
|
||
</script>
|
||
|
||
<!-- Website/Organization Structured Data -->
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "Organization",
|
||
"name": "IE University",
|
||
"url": "https://www.ie.edu"
|
||
}
|
||
</script>
|
||
</head>
|
||
<body>
|
||
|
||
|
||
<!-- Scroll to Top Button -->
|
||
<button class="scroll-to-top" onclick="scrollToTop()" title="Scroll to top" aria-label="Scroll to top">
|
||
<i class="fas fa-chevron-up"></i>
|
||
</button>
|
||
|
||
<!-- More Works Dropdown -->
|
||
<div class="more-works-container">
|
||
<button class="more-works-btn" onclick="toggleMoreWorks()" title="View project links and artifacts">
|
||
<i class="fas fa-flask"></i>
|
||
Project Links
|
||
<i class="fas fa-chevron-down dropdown-arrow"></i>
|
||
</button>
|
||
<div class="more-works-dropdown" id="moreWorksDropdown">
|
||
<div class="dropdown-header">
|
||
<h4>Project Links</h4>
|
||
<button class="close-btn" onclick="toggleMoreWorks()">
|
||
<i class="fas fa-times"></i>
|
||
</button>
|
||
</div>
|
||
<div class="works-list">
|
||
<a href="https://pub-d5b94a3c29fd40c6b3881946e463fdb7.r2.dev/thesis-latest.pdf" class="work-item" target="_blank">
|
||
<div class="work-info">
|
||
<h5>Thesis PDF</h5>
|
||
<p>Latest public build of the full thesis document.</p>
|
||
<span class="work-venue">IE University, 2025</span>
|
||
</div>
|
||
<i class="fas fa-external-link-alt"></i>
|
||
</a>
|
||
<a href="https://github.com/velocitatem/PHANTOM" class="work-item" target="_blank">
|
||
<div class="work-info">
|
||
<h5>PHANTOM Repository</h5>
|
||
<p>Monorepo with paper source, platform code, and experiments.</p>
|
||
<span class="work-venue">Open Source</span>
|
||
</div>
|
||
<i class="fas fa-external-link-alt"></i>
|
||
</a>
|
||
<a href="https://github.com/velocitatem/p4p" class="work-item" target="_blank">
|
||
<div class="work-info">
|
||
<h5>P4P Interaction Layer</h5>
|
||
<p>Reusable storefront and logging layer released for replication.</p>
|
||
<span class="work-venue">Public Artifact</span>
|
||
</div>
|
||
<i class="fas fa-external-link-alt"></i>
|
||
</a>
|
||
<a href="https://phantom-hotel.vercel.app" class="work-item" target="_blank">
|
||
<div class="work-info">
|
||
<h5>Hotel Mode Demo</h5>
|
||
<p>Public deployment of the hotel-style experiment interface.</p>
|
||
<span class="work-venue">Live Demo</span>
|
||
</div>
|
||
<i class="fas fa-external-link-alt"></i>
|
||
</a>
|
||
<a href="https://phantom-airline.vercel.app" class="work-item" target="_blank">
|
||
<div class="work-info">
|
||
<h5>Airline Mode Demo</h5>
|
||
<p>Public deployment of the airline-style experiment interface.</p>
|
||
<span class="work-venue">Live Demo</span>
|
||
</div>
|
||
<i class="fas fa-external-link-alt"></i>
|
||
</a>
|
||
<a href="https://blog.alves.world/series/phantom" class="work-item" target="_blank">
|
||
<div class="work-info">
|
||
<h5>Blog Series</h5>
|
||
<p>Behind-the-scenes posts covering thesis process, tooling, and insights.</p>
|
||
<span class="work-venue">To Boldly Code</span>
|
||
</div>
|
||
<i class="fas fa-external-link-alt"></i>
|
||
</a>
|
||
<a href="goals/README.md" class="work-item" target="_blank">
|
||
<div class="work-info">
|
||
<h5>Goal Library</h5>
|
||
<p>Task definitions used to assign actor objectives in experiments.</p>
|
||
<span class="work-venue">Experiment Design</span>
|
||
</div>
|
||
<i class="fas fa-external-link-alt"></i>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<main id="main-content">
|
||
<section class="hero">
|
||
<div class="hero-body">
|
||
<div class="container is-max-desktop">
|
||
<div class="columns is-centered">
|
||
<div class="column has-text-centered">
|
||
<h1 class="title is-1 publication-title">Pricing Heuristics Against Non-human Transaction Orchestration Mechanisms</h1>
|
||
<div class="is-size-5 publication-authors">
|
||
<span class="author-block">
|
||
<a href="https://alves.world" target="_blank">Daniel Rösel</a></span>
|
||
</div>
|
||
|
||
<div class="is-size-5 publication-authors">
|
||
<span class="author-block">IE University<br>Bachelor's Thesis 2025</span>
|
||
<span class="eql-cntrb"><small><br>Advisor: Alberto Martín Izquierdo</small></span>
|
||
</div>
|
||
|
||
<div class="column has-text-centered">
|
||
<div class="publication-links">
|
||
<span class="link-block">
|
||
<a href="https://blog.alves.world/series/phantom" target="_blank"
|
||
class="external-link button is-normal is-rounded is-dark">
|
||
<span class="icon">
|
||
<i class="fas fa-blog"></i>
|
||
</span>
|
||
<span>Blog Series</span>
|
||
</a>
|
||
</span>
|
||
|
||
<span class="link-block">
|
||
<a href="https://pub-d5b94a3c29fd40c6b3881946e463fdb7.r2.dev/thesis-latest.pdf" target="_blank"
|
||
class="external-link button is-normal is-rounded is-dark">
|
||
<span class="icon">
|
||
<i class="fas fa-file-pdf"></i>
|
||
</span>
|
||
<span>Paper</span>
|
||
</a>
|
||
</span>
|
||
|
||
<span class="link-block">
|
||
<a href="https://huggingface.co/datasets/velocitatem/whoclickedit" target="_blank"
|
||
class="external-link button is-normal is-rounded is-dark">
|
||
<span class="icon">
|
||
<i class="fas fa-database"></i>
|
||
</span>
|
||
<span>Dataset</span>
|
||
</a>
|
||
</span>
|
||
|
||
<span class="link-block">
|
||
<a href="https://github.com/velocitatem/PHANTOM" target="_blank"
|
||
class="external-link button is-normal is-rounded is-dark">
|
||
<span class="icon">
|
||
<i class="fab fa-github"></i>
|
||
</span>
|
||
<span>Code</span>
|
||
</a>
|
||
</span>
|
||
|
||
<span class="link-block">
|
||
<a href="https://phantom-hotel.vercel.app" target="_blank"
|
||
class="external-link button is-normal is-rounded is-dark">
|
||
<span class="icon">
|
||
<i class="fas fa-globe"></i>
|
||
</span>
|
||
<span>Hotel Demo</span>
|
||
</a>
|
||
</span>
|
||
|
||
<span class="link-block">
|
||
<a href="https://phantom-airline.vercel.app" target="_blank"
|
||
class="external-link button is-normal is-rounded is-dark">
|
||
<span class="icon">
|
||
<i class="fas fa-plane"></i>
|
||
</span>
|
||
<span>Airline Demo</span>
|
||
</a>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
|
||
<section class="hero teaser">
|
||
<div class="container is-max-desktop">
|
||
<div class="hero-body">
|
||
<div class="publication-banner">
|
||
<img src="static/images/banner.svg" alt="PHANTOM teaser diagram connecting vulnerability, behavioral signal, and robust control" width="1920" height="1080" decoding="async" style="display:block; width:100%; height:auto;" onerror="this.onerror=null;this.src='static/images/carousel2.jpg';"/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
|
||
<!-- Paper abstract -->
|
||
<section class="section hero is-light">
|
||
<div class="container is-max-desktop">
|
||
<div class="columns is-centered has-text-centered">
|
||
<div class="column is-four-fifths">
|
||
<h2 class="title is-3">Abstract</h2>
|
||
<div class="content has-text-justified">
|
||
<p>
|
||
When you shop online, prices often change based on how much interest you show — the more you browse, the more the site learns about your intent and may raise prices accordingly. This works because stores assume that a curious, engaged shopper is more likely to buy. But AI assistants are now doing the shopping research on behalf of users: they browse in one session to gather price information and then let the user purchase in a fresh session at the lower, unadjusted price. The store never sees the connection between the two, so it never gets to factor in that genuine intent — and loses the revenue it would have earned.
|
||
</p>
|
||
<p>
|
||
PHANTOM studies this problem and builds defenses against it. We created a realistic fake store (in hotel and airline modes) where both real people and AI agents were given shopping tasks, and we recorded every click, scroll, and page visit. By comparing how humans and AI agents move through a site, we found clear patterns that tell them apart. We then used those patterns to build a smarter pricing system that can recognize when it is likely talking to an AI scout and adjust its strategy accordingly — protecting the store's margins without making things worse for genuine shoppers.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<!-- End paper abstract -->
|
||
|
||
<section class="section">
|
||
<div class="container is-max-desktop">
|
||
<div class="content has-text-justified">
|
||
<h2 class="title is-3 has-text-centered">Project Scope</h2>
|
||
<p>
|
||
The current thesis revision extends both theory and implementation. The main research question is how a pricing system can preserve margin integrity when browsing and purchasing are increasingly orchestrated by AI agents.
|
||
</p>
|
||
<ul>
|
||
<li>Formal contribution: a Cost of Information erosion theorem showing why price-query saturation can collapse dynamic pricing power.</li>
|
||
<li>System contribution: a hybrid online/offline stack (Next.js storefront, pricing provider, Kafka event streams, Airflow ETL, Redis serving layer).</li>
|
||
<li>Modeling contribution: class-specific transition kernels for human and agent behavior, with KL-divergence based separability scores.</li>
|
||
<li>Control contribution: a contamination-aware DR-RL pricing policy trained under distributional uncertainty using Wasserstein-style robustness.</li>
|
||
</ul>
|
||
<p>
|
||
Controlled trials currently include balanced human and agent sessions with goal-driven tasks across hotel and airline interfaces. Early separability results are strong (Mann-Whitney U=2.0, p=0.0006), while robust pricing gains remain regime-dependent and are being calibrated in larger sweeps.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
|
||
<!-- Image carousel -->
|
||
<!--
|
||
<section class="hero is-small">
|
||
<div class="hero-body">
|
||
<div class="container">
|
||
<div id="results-carousel" class="carousel results-carousel">
|
||
<div class="item">
|
||
<img src="static/images/carousel1.jpg" alt="First research result visualization" loading="lazy"/>
|
||
<h2 class="subtitle has-text-centered">
|
||
Early simulator traces showing how policy choice can push prices toward aggressive high-end regimes.
|
||
</h2>
|
||
</div>
|
||
<div class="item">
|
||
<img src="static/images/carousel2.jpg" alt="Second research result visualization" loading="lazy"/>
|
||
<h2 class="subtitle has-text-centered">
|
||
Human and agent behavior diverge at the transition-kernel level, enabling usable session-level separability.
|
||
</h2>
|
||
</div>
|
||
<div class="item">
|
||
<img src="static/images/carousel3.jpg" alt="Third research result visualization" loading="lazy"/>
|
||
<h2 class="subtitle has-text-centered">
|
||
End-to-end architecture linking web interactions, pricing queries, event streams, and model updates.
|
||
</h2>
|
||
</div>
|
||
<div class="item">
|
||
<img src="static/images/carousel4.jpg" alt="Fourth research result visualization" loading="lazy"/>
|
||
<h2 class="subtitle has-text-centered">
|
||
Contamination-aware evaluation compares robust and non-robust pricing behavior across alpha sweeps.
|
||
</h2>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
-->
|
||
<!-- End image carousel -->
|
||
|
||
|
||
|
||
|
||
<!-- Video carousel -->
|
||
<section class="hero is-small">
|
||
<div class="hero-body">
|
||
<div class="container">
|
||
<h2 class="title is-3">Defense Scenes</h2>
|
||
<div id="videos-carousel" class="carousel results-carousel">
|
||
<div class="item item-video1">
|
||
<video poster="" id="video1" controls muted loop height="100%" preload="metadata">
|
||
<source src="static/videos/COIFirstPrinciplesScene.mp4" type="video/mp4">
|
||
</video>
|
||
<h2 class="subtitle has-text-centered">COI from first principles.</h2>
|
||
</div>
|
||
<div class="item item-video2">
|
||
<video poster="" id="video2" controls muted loop height="100%" preload="metadata">
|
||
<source src="static/videos/BehaviorKernelConstructionScene.mp4" type="video/mp4">
|
||
</video>
|
||
<h2 class="subtitle has-text-centered">Behavioral kernel construction: learning how humans and agents differ.</h2>
|
||
</div>
|
||
<div class="item item-video3">
|
||
<video poster="" id="video3" controls muted loop height="100%" preload="metadata">
|
||
<source src="static/videos/RobustControlScene.mp4" type="video/mp4">
|
||
</video>
|
||
<h2 class="subtitle has-text-centered">Distributionally robust control loop.</h2>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<!-- End video carousel -->
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- Paper poster -->
|
||
<section class="hero is-small is-light">
|
||
<div class="hero-body">
|
||
<div class="container">
|
||
<h2 class="title">Full Thesis</h2>
|
||
|
||
<iframe title="PHANTOM thesis PDF" src="https://pub-d5b94a3c29fd40c6b3881946e463fdb7.r2.dev/thesis-latest.pdf" width="100%" height="550">
|
||
</iframe>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<!--End paper poster -->
|
||
|
||
|
||
|
||
<!--BibTex citation -->
|
||
<section class="section" id="BibTeX">
|
||
<div class="container is-max-desktop content">
|
||
<div class="bibtex-header">
|
||
<h2 class="title">BibTeX</h2>
|
||
<button class="copy-bibtex-btn" onclick="copyBibTeX()" title="Copy BibTeX to clipboard">
|
||
<i class="fas fa-copy"></i>
|
||
<span class="copy-text">Copy</span>
|
||
</button>
|
||
</div>
|
||
<pre id="bibtex-code"><code>@thesis{Rosel2025PHANTOM,
|
||
title={Pricing Heuristics Against Non-human Transaction Orchestration Mechanisms},
|
||
author={Rösel, Daniel},
|
||
school={IE University},
|
||
year={2025},
|
||
address={Madrid, Spain},
|
||
type={Bachelor's Thesis},
|
||
note={Advisor: Alberto Mart{\'i}n Izquierdo}
|
||
}</code></pre>
|
||
</div>
|
||
</section>
|
||
<!--End BibTex citation -->
|
||
|
||
|
||
<footer class="footer">
|
||
<div class="container">
|
||
<div class="columns is-centered">
|
||
<div class="column is-8">
|
||
<div class="content">
|
||
|
||
<p>
|
||
This page was built using the <a href="https://github.com/eliahuhorwitz/Academic-project-page-template" target="_blank">Academic Project Page Template</a> which was adopted from the <a href="https://nerfies.github.io" target="_blank">Nerfies</a> project page.
|
||
You are free to borrow the source code of this website, we just ask that you link back to this page in the footer. <br> This website is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/" target="_blank">Creative
|
||
Commons Attribution-ShareAlike 4.0 International License</a>.
|
||
</p>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
<!-- Statcounter tracking code -->
|
||
|
||
<!-- You can add a tracker to track page visits by creating an account at statcounter.com -->
|
||
|
||
<!-- End of Statcounter Code -->
|
||
|
||
</body>
|
||
</html>
|