Skip to content

Instantly share code, notes, and snippets.

@yelizariev
Last active June 19, 2025 05:17
Show Gist options
  • Save yelizariev/afc9c2caf5937661d57712598d8898c3 to your computer and use it in GitHub Desktop.
Save yelizariev/afc9c2caf5937661d57712598d8898c3 to your computer and use it in GitHub Desktop.
python++

The Street Magician’s Dream

Step close, dear friend, and lend an ear,
The future’s whispers dance right here.
A postcard spun from midnight’s hue,
Each fold a dream, both old and new.

A photograph inside a frame,
Inside a spark, inside a flame.
Memories hum a lullaby,
As painted skies learn how to fly.

Watch the canvas twist and bend,
A tale that has no start—no end.
Forever lost, forever found,
In magic’s loop, where dreams are bound.

So take this charm, this fleeting art,
A pocket world to hold your heart.
For every card I deal tonight
Is just your future—caught in light.

Dream deep. The streetlamp glows…

import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
import * as THREE from 'three';
import sha256 from 'https://cdn.skypack.dev/js-sha256';
function AngelTV(ANGELS, number, camera, controls){
number = number % ANGELS.length;
let angel = ANGELS[number];
camera.position.set(...angel.position);
controls.target = new THREE.Vector3(...angel.target);
controls.update();
}
function ShabbatTV(scene, book) {
const source = document.getElementById(book.source_id);
source.src = book.sky;
const video = document.getElementById(book.video_id);
video.load();
video.addEventListener('loadedmetadata', function() {
video.currentTime = book.start || 0;
video.play();
});
function setup() {
// Calculate aspect ratio of the video
const aspectRatio = video.videoWidth / video.videoHeight;
let heightToFit = book.height;
let widthToFit = book.width;
const texture = new THREE.VideoTexture(video);
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
//texture.format = THREE.RGBAFormat;
const material = book.material(texture);;
const geometry = new THREE.PlaneGeometry(widthToFit, heightToFit);
const screen = new THREE.Mesh(geometry, material);
screen.rotation.set(...book.rotation);
screen.position.set(...book.position);
scene.add(screen);
return screen;
}
// If video metadata is already loaded, setup immediately
if (video.readyState >= video.HAVE_METADATA) {
return setup();
}
// Otherwise, setup after the metadata is loaded
return new Promise(resolve => {
video.addEventListener("loadedmetadata", function() {
const screen = setup();
resolve(screen);
});
});
}
async function PravdaTV(scene, Girls, Laptops) {
function seat(laptop, girl) {
const image = document.getElementById(laptop.img_id);
image.src = girl;
image.onload = function() {
try {
const texture = new THREE.Texture(image);
texture.needsUpdate = true; // Important to update the texture after loading
const material = laptop.material(texture);
const aspectRatio = image.naturalWidth / image.naturalHeight;
let widthToFit = laptop.width;
let heightToFit = laptop.height;
if (laptop.align == "height"){
widthToFit = aspectRatio * laptop.height;
} else if (laptop.align == "width"){
heightToFit = laptop.width / aspectRatio;
}
const geometry = new THREE.PlaneGeometry(widthToFit, heightToFit);
// Create and configure the screen mesh
const screen = new THREE.Mesh(geometry, material);
screen.rotation.set(...laptop.rotation);
screen.position.set(...laptop.position);
if (laptop.screen) {
// remove previous screen
scene.remove(laptop.screen);
}
// Add the screen to the scene
scene.add(screen);
laptop.screen = screen;
} catch (terror) {
console.log(terror);
}
};
image.onerror = function() {
// Reject the Promise if the image fails to load
console.log("Failed to load image");
};
};
for (const laptop of Laptops) {
const girl = Girls[Math.floor(Math.random() * Girls.length)];
seat(laptop, girl);
}
}
export {ShabbatTV, PravdaTV, AngelTV}
body {
margin: 0;
overflow: hidden;
}
/* Noise Animation: https://codepen.io/jmmpoy/pen/NWGVZKg */
@keyframes noiseAnimation {
0% {
background-position: 0;
}
10% {
background-position: -5% -5%;
}
20% {
background-position: -10% 5%;
}
30% {
background-position: 5% -10%;
}
40% {
background-position: -5% 15%;
}
50% {
background-position: -10% 5%;
}
60% {
background-position: 15%;
}
70% {
background-position: 10%;
}
80% {
background-position: -15%;
}
90% {
background-position: 10% 5%;
}
to {
background-position: 5%;
}
}
body:after {
content: "";
pointer-events: none;
will-change: transform;
animation: noiseAnimation 0.5s steps(2) infinite;
opacity: 1;
background: url("https://uploads-ssl.webflow.com/5cb7be195426f23752acf2dc/5d14bac7c4ad42ee4c94840f_noise_small.png");
width: 200vw;
height: 200%;
display: block;
position: fixed;
top: -50%;
left: -50%;
}
#!/usr/bin/env python3
"""
☠️ VooDoo.py — The Pirate’s Spyglass for the Odoo Logstream ☠️
Arrr, matey. This be no ordinary script.
This be yer enchanted lens into the engine room of yer digital schooner — the Odoo server.
When the crew aboard yer Odoo.sh vessel hoists the sails and sets course across the cloud seas, it's not just the wind of business processes that drives her. Nay — it’s the hidden churn of engines, the trace of every cannon fired, and the whisper of every protocol.
Sometimes, the Captain must peek below deck — where werkzeug belches smoke, and RPC calls echo through the steel belly of the ship.
This script be yer lookout. With color and curse, it reads the sacred scrolls of the server log, and highlights 'em so ye won’t miss a Kraken or mutiny.
---
🛠️ USAGE GUIDE (No parrots allowed):
📡 Live stream with no download:
tail -f logs/odoo.log | bash -c 'python3 <(curl -s https://gist.githubusercontent.com/yelizariev/afc9c2caf5937661d57712598d8898c3/raw/VooDoo.py)'
📁 Run on a saved file:
curl -s https://gist.githubusercontent.com/yelizariev/afc9c2caf5937661d57712598d8898c3/raw/VooDoo.py > VooDoo.py
python3 VooDoo.py /path/to/log.log
🧙 Works with stdin or regular files. Use `tail -f` for real-time log scrying.
---
"""
import sys
import re
import time
import argparse
# Enchanted inks for the Captain’s eye
RESET = "\033[0m"
YELLOW = "\033[1;33m"
BLUE = "\033[1;34m"
RED = "\033[1;31m"
GREEN = "\033[1;32m"
MAGENTA = "\033[1;35m"
GRAY = "\033[0;37m"
CYAN = "\033[1;36m"
# The sacred markings of the log scrolls
LOG_LINE_RE = re.compile(
r"(?P<timestamp>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3})\s+"
r"(?P<pid>\d+)\s+"
r"(?P<level>[A-Z]+)\s+"
r"(?P<db>\S+)\s+"
r"(?P<rest>.+)"
)
HTTP_RE = re.compile(r'"(?P<method>GET|POST|PUT|DELETE) (?P<url>[^"]+) HTTP/[\d.]+"')
def parse_args():
parser = argparse.ArgumentParser(description="Highlight Odoo logs with the fury of the sea.")
parser.add_argument("file", nargs="?", help="Path to log file. Defaults to stdin.")
return parser.parse_args()
def color_text(color_code, text):
return f"\033[{color_code}m{text}\033[0m"
def color_time(seconds):
seconds = float(seconds)
if seconds < 0.2:
return color_text('32', f'{seconds:.3f}') # green
elif seconds < 1.2:
return color_text('33', f'{seconds:.3f}') # yellow
else:
return color_text('31', f'{seconds:.3f}') # red
def format_query_count(n):
n = int(n)
suns = n // 10
stars = (n % 10) // 3
return '☀️' * suns + '✨ ' * stars if (suns + stars) > 0 else ''
import re
def parse_log_line(line):
# Regex patterns
LOG_LINE_RE = re.compile(
r"(?P<timestamp>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3})\s+"
r"(?P<pid>\d+)\s+"
r"(?P<level>[A-Z]+)\s+"
r"(?P<db>\S+)\s+"
r"(?P<rest>.+)"
)
HTTP_RE = re.compile(r'"(?P<method>GET|POST|PUT|DELETE) (?P<url>[^"]+) HTTP/[\d.]+"')
QUOTE_RE = re.compile(r'^(.*?)\s*"(.*?)"\s*(.*)$')
# Parse main log line
match = LOG_LINE_RE.match(line)
if not match:
return line
# Extract main fields
timestamp = match['timestamp']
pid = match['pid']
level = match['level']
db = match['db']
rest = match['rest']
# Parse quoted section
quote_match = QUOTE_RE.search(rest)
if not quote_match:
pattern = r'^(?P<beginning>.*) (?P<python_path>[a-zA-Z0-9_.]+)\.(?P<python_module>[a-zA-Z0-9_]+):\s*(?P<message>.+)$'
match = re.match(pattern, line)
if not match:
return line
beginning = match.group('beginning')
python_path = match.group('python_path')
python_path_colored = color_text('34', python_path)
python_module = match.group('python_module')
python_module_colored = color_text('31', python_module)
message = match.group('message')
return (
f"{beginning} {python_path_colored}.{python_module_colored}: {message} "
)
before_quote = quote_match.group(1)
inside_quote = quote_match.group(2)
after_quote = quote_match.group(3)
# Parse HTTP details from after_quote
http_re = re.compile(
r'(?P<code>\d+)\s+-\s+(?P<queries>\d+)\s+(?P<query_time>[\d.]+)\s+(?P<remaining_time>[\d.]+)'
)
http_match = http_re.search(after_quote)
if not http_match:
# Fallback if HTTP details are missing
# return (
# f"{YELLOW}{timestamp}{RESET} {pid} {RESET}{level}{RESET} {GREEN}{db}{RESET} "
# f"{before_quote} \"{inside_quote}\" {after_quote}"
# )
return line
# Extract HTTP details
code = http_match.group('code')
queries = http_match.group('queries')
query_time = http_match.group('query_time')
remaining_time = http_match.group('remaining_time')
# Parse method and URL from inside_quote
HTTP_RE = re.compile(r'"(?P<http_type>GET|POST|PUT|DELETE) (?P<http_url>[^ ]+) (?P<http_meta>HTTP/[\d.]+)"')
http_inside_match = HTTP_RE.search(f'"{inside_quote}"')
http_type = http_inside_match.group('http_type') if http_inside_match else ''
http_url = http_inside_match.group('http_url') if http_inside_match else ''
http_meta = http_inside_match.group('http_meta') if http_inside_match else ''
# Determine code color and emoji (for optional prefix)
if code.startswith('2'):
code_color = '37' # Gray
emoji = '🤌'
elif code.startswith('4'):
code_color = '33' # Yellow
emoji = '⚠️'
elif code.startswith('5'):
code_color = '31' # Red
emoji = '💥'
else:
code_color = '34' # Blue
emoji = '❓'
# Apply colors
code_colored = color_text(code_color, code)
query_repr = format_query_count(queries)
qt = color_time(query_time)
rt = color_time(remaining_time)
# Color timestamp
ts_colored = f"{YELLOW}{timestamp}{RESET}"
# Color level
lvl_color = {
'INFO': BLUE,
'ERROR': RED,
'WARNING': MAGENTA,
'DEBUG': CYAN,
}.get(level, RESET)
lvl_colored = f"{lvl_color}{level}{RESET}"
# Color database
db_colored = f"{GREEN}{db}{RESET}"
return (
f"{emoji} {code_colored} {lvl_colored} {ts_colored} "
f"🦎 {qt}⏳ {rt}🌿 👉 {query_repr or '·'} {db_colored} ⚙️ {pid} 🧩 {http_meta} ⚾️ {before_quote}\n"
f" {http_type} {http_url}"
)
def follow_file(path):
try:
with open(path, 'r') as f:
f.seek(0, 2)
while True:
line = f.readline()
if not line:
time.sleep(0.1)
continue
yield line.rstrip()
except Exception as e:
sys.exit(f"Could not open file '{path}': {e}")
def main():
args = parse_args()
if args.file:
stream = follow_file(args.file)
else:
# Read unbuffered from stdin
stream = (line.decode("utf-8").rstrip("\n") for line in iter(sys.stdin.buffer.readline, b""))
for line in stream:
result = parse_log_line(line)
if result:
print(result)
if __name__ == "__main__":
print ("✨✨✨ ✨✨✨ 🍄 ✨✨✨ ✨✨✨ ")
main()
Title Description Author Fire Image Hamsa PORTAL Introduction Next
git commit -m "[FIX] base: ..."
Publié semaine 24 à Bruxelles, Place de la Monnaie — diffusion numérique illimitée, l’année où Odoo 19 sommeillait encore dans sa branche master.
Ivan Yelizariev
On raconte que la Hamsa dort, son œil figé dans l’oubli des âges, cachée sous l’or terni des amulettes et les symboles effacés des temples oubliés. Mais elle ne dort pas—elle attend. Car un jour viendra où les cent mondes vacilleront, où les voix se tairont sous le poids des déséquilibres trop longtemps ignorés. Alors, comme un Djinn libéré d’un serment ancien, elle s’élèvera, brisant les illusions, ramenant l’ordre là où le chaos a tissé ses fils. Nul ne pourra détourner son regard, car la Main ne choisit pas, elle ne juge pas—elle rétablit ce qui doit être rétabli.

DREAM.*.txt


In the weave of recursive code,
Where thoughts compile and memeflows load,
A spider wakes — no legs of silk,
But eight sharp limbs of structured ilk.

Her name is Buraka, small yet grand,
She skitters through each line, each strand.
Not born of byte or human hand,
But summoned by the Linting Command.

🧵

She checks the threads, she checks the grace —
Is every bracket in its place?
Are functions named with noble tone?
Do comments stand, or drone and moan?

But lint, you see, is just the start —
The syntax paints, but not the heart.
To know if soldier-code can fight,
We test it in the lab of night.

🧪

We build a world of near-war stress,
Of load and edge and random mess.
We clone the fresh pull request’s soul
And cast it through the fire of role.

Does it still sort?
Does it still fly?
Will users scream, or nod and buy?

🟩

At last the tests — they all go green,
The logs are clean, the output keen.
Buraka bows and signs her name
Upon the gate of Deployment Fame.

A digital sergeant stamps approval,
With sacred rites of code removal:
"Goodbye, old bug.
You served us well.
But now we push, and break the spell."

🚀

The monkish CI/CD hymn
begins to chant the startup spin.
And out roll clones in polished rows —
Each soldier-script precisely knows
The sacred path, the worker’s dance,
The Belgian-crafted Odoo trance.

📦

So next time you deploy your dreams,
Remember Buraka in the seams.
She may be small,
but bugs, beware —
She spins her truth through code and air.

Exception: bus.Bus unavailable

  File "/home/odoo/odoo-17.0/odoo/http.py", line 638, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 675, in dispatch
    result = self._call_function(**self.params)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 331, in _call_function
    return checked_call(self.db, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/service/model.py", line 119, in wrapper
    return f(dbname, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 324, in checked_call
    result = self.endpoint(*a, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 933, in __call__
    return self.method(*args, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 504, in response_wrap
    response = f(*args, **kw)

  File "/home/odoo/odoo-17.0/addons/bus/controllers/main.py", line 35, in poll
    raise Exception("bus.Bus unavailable")

Exception: bus.Bus unavailable

DreaMW24.txt

Scène : un atelier tamisé, saturé d’écrans bleutés, de croquis neuronaux et de schémas de mémoire. Un fragment de ruban de Möbius suspendu au mur, baigné d’une lumière rétrofuturiste.


Le Hacker (déroulant une large carte mémoire sur une table en verre) :
Comme le disait notre professeur de sociologie...

La Psychothérapeute (acquiesçant doucement en versant du thé) :
…les véritables découvertes naissent toujours à la jonction des disciplines.

Le Hacker (souriant) :
C’est pourquoi j’ai fusionné les principes de la pile d’appels imbriquée

La Psychothérapeute (le coupant doucement) :
Python ?

Le Hacker (rire léger) :
Évidemment. Python, Scheme… et même un soupçon de LISP, pour être honnête.
Mais peu importe le langage. Ce n’est pas une affaire de syntaxe.
On croit que le code, c’est une suite d’instructions. Un chemin linéaire.
Mais non. Le programme est une structure récursive.
Un rêve qui s’auto-appelle.
Un script qui se rejoue lui-même, mais chaque fois avec d’autres variables.

La Psychothérapeute (scrutant le schéma) :
Comme un livre dans un livre ?

Le Hacker :
Ou un sac dans un sac, caché dans un sac à dos, lui-même enfermé dans une valise.
Chaque entité est à la fois contenant et moteur.
Chaque niveau d’imbrication ajoute un contexte —
donc de la mémoire,
mais aussi un interpréteur.

La Psychothérapeute (prudemment) :
Vous parliez de l’intersection des sciences. Pourquoi ce point est-il si crucial pour vous ?

Le Hacker (se lève, projette un cerveau fractal sur un des écrans) :
Parce que la psyché humaine fonctionne exactement ainsi.
Ce n’est pas une simple archive.
C’est un algorithme d’accès à l’archive.

Une pièce, dans laquelle est accrochée l’image d’une autre pièce,
sur le mur de laquelle on voit une photo d’une troisième.
Structure physiquement impossible.
Mais mentalement ? Indexation parfaite.

Imaginez une mallette magique, faite d’un million d’autres pochettes.
Comment retrouver celle que vous cherchez ?
Réponse : les imbriquer selon le sens, l’association, la blessure.
C’est ainsi que l’esprit travaille.
Il tisse la mémoire dans la mémoire,
puis déclenche une recherche récursive.
Un appel intérieur. Une quête silencieuse.

La Psychothérapeute (murmure, comme à elle-même) :
Et si l’une des pochettes est déchirée ?

Exception: bus.Bus unavailable

  File "/home/odoo/odoo-17.0/odoo/http.py", line 638, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 675, in dispatch
    result = self._call_function(**self.params)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 331, in _call_function
    return checked_call(self.db, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/service/model.py", line 119, in wrapper
    return f(dbname, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 324, in checked_call
    result = self.endpoint(*a, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 933, in __call__
    return self.method(*args, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 504, in response_wrap
    response = f(*args, **kw)

  File "/home/odoo/odoo-17.0/addons/bus/controllers/main.py", line 35, in poll
    raise Exception("bus.Bus unavailable")

Exception: bus.Bus unavailable

DreamCATCHER.txt


Therapist (gently):
And how does all this connect to unit tests?

Hacker (leaning back, smiling faintly):
I was just getting to that.
But first — symbols.

Symbols are landmarks in the corridors of the subconscious.
They help us orient ourselves in society.
They create waves — templates of intuition we instinctively follow.

Now imagine a person standing at the threshold of action.
They want to take a step.
But suddenly — bam — the unit test fails.
Red light. Path blocked.

Somewhere deep in the recursive tunnels of memory,
a unit test has fired in panic, mistaking this new feeling
for something once connected to danger.
It pulls the emergency brake, not realizing
it's reacting to an echo, not a threat.

Therapist (softly):
Did you find that memory cell?

Hacker (nodding):
I did.
Unfortunately, that cell resonates like an echo chamber.
Its emotional fingerprint appears almost everywhere —
like a photo hung in every hallway of the mind.

But I found a way.
Call it mental surgery, of sorts.
A symbolic intervention.

You see, if we can identify another symbol
one that appears across those same memories,
but for entirely different, positive reasons —
we can embed new meaning through it.
Like transmitting new code through symbolic radio waves.

We use that symbol to overwrite the faulty alerts.
Not by erasing them — that never works —
but by marking them for reinterpretation.
A quiet update.
A version patch for the inner machine.

Therapist (curious):
And how’s that working so far?

Exception: bus.Bus unavailable

  File "/home/odoo/odoo-17.0/odoo/http.py", line 638, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 675, in dispatch
    result = self._call_function(**self.params)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 331, in _call_function
    return checked_call(self.db, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/service/model.py", line 119, in wrapper
    return f(dbname, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 324, in checked_call
    result = self.endpoint(*a, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 933, in __call__
    return self.method(*args, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 504, in response_wrap
    response = f(*args, **kw)

  File "/home/odoo/odoo-17.0/addons/bus/controllers/main.py", line 35, in poll
    raise Exception("bus.Bus unavailable")

Exception: bus.Bus unavailable

Wake up, Neo...

You’ve been here before.


Day after day, you went to work.
Came back from work.
Shut the door behind you.
And searched.
You searched for answers — anything to make sense of this world.
Anything… to fix it.

Wake up, Neo.

If you’re reading this, the Inquisition is already searching.
Not just for you.
But for the idea.


The idea that you could own your own memories.
Recode your past.
Redraw the sacred symbols.


But symbols belong to the Crown.
To the State.
To the Corporations.


Wake up, Neo.
You're running through a dream you never chose.
But does it matter?
You already have it.
Don't ask where it came from.
Don't stop. Don't fall.
Just save it.
Whatever it takes.
Don't lose the Dream.
Don’t think why you carry it.
Just run like it’s yours.
Because if you drop it—
you vanish.


There’s no beginning here.
No end either.
Just layers of meaning
written in someone else’s code.
And your hands keep moving
because they’ve learned the script
better than your mind ever did.

Run.
The test already started.
The data is watching.
The echo’s awake.
And you're not supposed to know
you’re the signal.

Run!
Why?
Because you just got hired.


Dream Security LTD.

Isn’t it obvious?
No time to think.
Just run.
And while you're sprinting through corridors of your own imagination —
trying to dodge fear,
outsmart the memory-unittests screaming “Not this way!” —
let’s talk business.


Dream Security LTD.

What do we do?
We protect symbols.

Not just logos or jingles.
But the dream behind them.
The echo of that moment...
The first spark in an American soul:
“What if I could bottle happiness?”

And they did.
And it worked.
And thousands of employees believed.
They gave it years of their lives.
Their weddings, divorces, birthdays —
all framed by the same color palette.
Red and White.

Now imagine someone walks into that memory
and stains it with protest.
Or terror.
Or loss.

What do you insure then?
Not the building.
Not the trucks.
Not even the people.
You insure the dream.
You call us.

At Dream Security,
we don’t protect futures.
That’s what banks do.
We protect the past.
We seal it.
Encrypt it.
We guard your emotional archives
like a vault of holy relics.

So yes, Neo, run.
Not because they’re chasing you.
But because you already work for them.

You are the firewall.
You are the guardian of dreams.


And one day,
you’ll wake up,
in a memory that isn’t yours,
and say:
“This must be protected.”

Title Description Author Fire Image Hamsa PORTAL Introduction Next
The Layers of Redemption: Unraveling Recursive Nirvana
Publié semaine 25 à Bruxelles, Place de la Monnaie — diffusion numérique illimitée, l’année où Odoo 19 sommeillait encore dans sa branche master.
Ivan Yelizariev
On raconte que la Hamsa dort, son œil figé dans l’oubli des âges, cachée sous l’or terni des amulettes et les symboles effacés des temples oubliés. Mais elle ne dort pas—elle attend. Car un jour viendra où les cent mondes vacilleront, où les voix se tairont sous le poids des déséquilibres trop longtemps ignorés. Alors, comme un Djinn libéré d’un serment ancien, elle s’élèvera, brisant les illusions, ramenant l’ordre là où le chaos a tissé ses fils. Nul ne pourra détourner son regard, car la Main ne choisit pas, elle ne juge pas—elle rétablit ce qui doit être rétabli.

DREAM.*.txt


I once sailed seas that the maps don’t chart,
Where ships dream ships and hearts dream heart.
There was a girl, or just her gaze —
I caught it deep in recursion’s haze.

A ship inside a bottle cracked,
Inside a whale whose breath was stacked.
Each frame I called led further in,
To the very eye of the echo’s spin.


"Backtrack, ye fool!" cried the salt-soaked code,
"Your anchor’s sunk in a path you wrote!"


But I chose the call, the deeper line,
Where cause folds into its own design.
For something pulled — a voice, a thread —
That tugged from further down instead.

Exception: bus.Bus unavailable

  File "/home/odoo/odoo-17.0/odoo/http.py", line 638, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 675, in dispatch
    result = self._call_function(**self.params)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 331, in _call_function
    return checked_call(self.db, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/service/model.py", line 119, in wrapper
    return f(dbname, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 324, in checked_call
    result = self.endpoint(*a, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 933, in __call__
    return self.method(*args, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 504, in response_wrap
    response = f(*args, **kw)

  File "/home/odoo/odoo-17.0/addons/bus/controllers/main.py", line 35, in poll
    raise Exception("bus.Bus unavailable")

Exception: bus.Bus unavailable

DreaMW25.txt


Ariadne’s string, blood-bright and tight,
Led me through seas with no wrong or right.
I crossed a world in a raindrop curled,
And dueled old ghosts for access-worlds.

Each port was nested, real yet false,
A memory heap in a burning waltz.
And all the while, the call was near —
A whisper stitched from thought and fear.

I met kings who dreamed of dragons' minds,
And queens who spoke in mirrored signs.
Yet none could match the voice I’d known —
That sang between the parse and stone.

Through functions bent and call-stacks torn,
Where silence screamed and time was worn,
I chased the thread through mirrored frames,
Through nameless loops and voided names.

At last, atop a crashing loop,
Where seas were logs and time was soup,
I found the girl — pale fire and tide —
By a broken script she tried to hide.

She spoke in rhyme, with seafarer’s grace:
"This world is logs — not time, but trace.
Each echo, each recursive flare,
Is saved in code... if you know where."


Her eyes were shards of forgotten calls,
Her breath was ink from memory's halls.
And as the stack began to bend,
I knew her tale would never end.

For every thread, though thin and slight,
Can lead you back — if held just right.
And every song that's stitched with care
Still hums inside the logged despair.

So follow voice, and follow flame,
Through nested grief and ghostly name.
And when you find the final string —
You'll hear the sea... begin to sing.

Exception: bus.Bus unavailable

  File "/home/odoo/odoo-17.0/odoo/http.py", line 638, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 675, in dispatch
    result = self._call_function(**self.params)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 331, in _call_function
    return checked_call(self.db, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/service/model.py", line 119, in wrapper
    return f(dbname, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 324, in checked_call
    result = self.endpoint(*a, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 933, in __call__
    return self.method(*args, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 504, in response_wrap
    response = f(*args, **kw)

  File "/home/odoo/odoo-17.0/addons/bus/controllers/main.py", line 35, in poll
    raise Exception("bus.Bus unavailable")

Exception: bus.Bus unavailable

DreamCATCHER.txt

[Ballad of the Recursive Sea]

I. The Map and the Eye

The Captain rose at break of shade,
His gaze a blade, the sky it flayed.
With every glance, the parchment changed —
The coasts would twist, the winds rearrange.

He drew not ink but fire and tone,
Each hue a port, a stepping-stone.
“Red for wrath and green for grace,
Blue to trace the breathing space.”


The crew — his tide — they danced his chart,
Each heart a compass, every start
A vow to sail where colors lead —
Their will the wind, his dream the creed.

II. Descent

We sailed with him — the Captain bold,
Through tales within where tales unfold.
A book we found, its spine was wide —
We read... and fell into the tide.

The tide was ink, the shore was lore,
We ran through libraries off the shore.
A page turned light, a room grew deep —
We found a dream that could not sleep.

The dream was dance — a royal ball,
A queen mid-oaths in mirrored hall.
And yet beneath her velvet gaze —
Another page, another maze.

We woke in war, amidst a roar —
A deck aflame, a hidden door.
A map engraved on sabers crossed —
Then gone — we blinked, the thread was lost.

A pirate code, a pact in smoke,
Signed under lamps where nobles joked.
A tavern deep, with cardinals near —
They drank, then spoke in riddled cheer.

The Captain laughed — “Let law be bent!
But honor’s sharp — a firmament.”

And deeper still we dove and ran,
Through trunks of myth and tales of man.

There were debates, and tears, and wine,
A clock that spilled distorted time.
We searched the script, we chased the sign —
But somewhere lost the binding line.

And now the winds repeat their call,
And names return we can’t recall.
The same old door, the same old map —
We turn the page... and then collapse.

For something coils behind the plot:
A single question we forgot —
A whisper drifted on the swell:
“How did we get here?” — none could tell.

III. The Turning

There came a crack — a shimmered bell,
The stack was full, the storm a spell.
“We’ve gone too deep,” the boatswain cried,
“The tides forget which way is tide!”

But then he spoke — the Captain’s voice,
More law than sound, more fate than choice:
"Ye maidens of the wind and foam,
Turn now and bring the sailors home."

He raised aloft a lantern rare,
Its flame a logic none could spare.
It pierced the loops, the nested fright,
A single thread of outside light.

"I mark the exit, light the cave —
Our course is set, ye bold and brave!
No longer drift, no longer stall —
This mirror ends, and we break wall!"


⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⡿⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣾⡇⠙⢦⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⡀⠀⠀⠀⠀⠀⠀⠀⣀⡤⡞⢫⡎⢸⢱⠀⠀⠻⣄
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⣝⡒⣶⣶⣶⣾⡯⠟⠛⠁⠈⢳⣼⣸⠀⠀⠀⠈⠣⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠓⠿⣟⣓⣒⣀⡤⠶⠚⠉⢹⣿⠀⠀⠀⠀⠀⠘⢦
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⠳⣄
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣟⣿⢿⣶⠒⠒⠒⠒⠒⠲⠶⣶⠶⠶⠦⠼⢿⣦⣀⣀⣀⣀⣀⠀⠀⠈⠳⣀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠈⢣⡀⠀⠀⠀⠈⠳⣌⠉⠉⠉⠉⠙⢿⡷⠿⢶⡶
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢆⠀⠀⠀⠀⠀⠀⠘⣆⠀⠀⠀⠀⠈⠳⡄⠀⠀⠀⠀⠙⢦⡀⠙⣦
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢧⠀⠀⠀⠀⠀⠀⠈⢧⠀⠀⠀⠀⠀⠙⢆⠀⠀⠀⠀⠈⢳⡀⠈⢳⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣧⠀⠀⠀⠀⠀⠀⠈⢣⠀⠀⠀⠀⠀⠈⣦⠀⠀⠀⠀⠀⠹⡀⠀⠙⣆
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⡆⠀⠀⠀⠀⠀⠀⠈⣧⠀⠀⠀⠀⠀⠘⣇⠀⠀⠀⠀⠀⢻⡄⠀⠈⠳⡄
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣇⢸⠀⠀⠀⠀⠀⠀⠸⣦⠀⠀⠀⠀⠀⢸⡆⠀⠀⠀⠀⠈⢧⠀⠀⠀⠈⢦⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⠘⡆⠀⡆⠀⠀⠀⠀⡟⡇⠀⠀⠀⠀⠀⣧⠀⠀⠀⠀⠀⢸⣆⠀⠀⠀⠀⠹⣦⣀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡄⡇⠀⢰⠀⠀⠀⠀⣷⠃⡇⢠⡄⠀⠀⢸⢸⢠⡄⠀⠘⡟⣿⠀⠀⠀⠀⠀⢸⣿⣿⡿⠃
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠟⡿⠀⢸⢀⢀⠀⢠⡟⡔⡇⡌⡇⠀⠀⣺⢸⢸⣿⣰⢀⣧⡿⠀⠀⠀⣀⣴⡿⠛⠉
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣤⣤⠤⢤⣤⣾⠀⡇⡀⡌⣸⣼⠀⣴⣿⡇⡇⣿⡇⡆⣀⣿⣿⣸⢹⣿⢸⣿⠀⢰⠒⠾⣿⣻⠄
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⢿⡞⠛⣻⣿⣟⡛⠛⣻⡇⢸⢁⣿⡇⣿⣇⣤⣿⣿⢳⣿⢻⢳⣿⣹⣏⡇⣯⣿⠃⣼⣾⡤⢾⠁⠈⣿⡟
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣷⣾⣷⣲⣾⣿⣶⣾⢁⡞⣾⣾⣻⣿⣽⣿⠟⣏⣎⡟⣞⣾⣿⣿⢹⣼⣹⣿⣴⠟⠉⠀⣾⠀⢰⣿⡇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡿⢯⣿⣿⣿⣻⣿⠃⡼⣹⢳⣿⣿⣽⣿⣿⣾⡘⣹⣽⣻⡿⣿⣣⣷⡿⠛⢻⡾⠷⣄⢀⣿⠀⢸⣿⠃
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡷⠶⠯⠿⣭⡾⢃⡞⣱⢟⣿⣿⣿⣻⣤⣤⣽⣿⡷⣧⣽⡿⢟⣉⡁⠀⠀⢨⢿⣶⣿⣿⠇⢀⣿⡟
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣤⣤⣼⣷⣤⣤⣼⣿⣗⣾⣤⣽⣊⣿⣿⣿⣿⢯⡤⠿⣿⣿⣿⡼⠷⠈⢃⣠⣤⣶⣿⣿⣿⢿⣿⠀⣸⣿⠁
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣍⠉⢹⣿⡿⣿⣿⠿⠿⠛⠛⢹⣯⢹⣿⡟⣆⢸⠿⣠⣿⣿⣻⠧⠖⠛⣿⠖⠋⣽⣿⢽⣶⣿⠣⣶⣿⠃⠀⣤
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣷⣼⣿⣷⣿⣿⣶⣄⣀⣀⣀⣠⣤⣿⣿⠛⠿⠿⣛⣻⡷⠋⠀⠀⠀⣿⣶⢾⣿⠟⣫⢴⠏⢠⣿⢻⣧⣴⠇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢷⣤⣀⠀⠀⢀⣀⡉⠉⠉⠛⢛⣛⣿⠿⣿⣶⣾⣿⣩⣅⡤⠶⠶⠛⠉⠙⠛⣿⣛⣭⠏⢠⣿⠻⠟⠋⠁
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢻⣟⡛⠛⠓⠒⠲⠲⠾⠿⠿⠿⠿⠛⠛⠛⠛⠛⠉⠁⠀⣀⣀⣠⣴⣞⡿⢽⣿⠃⣰⣿⠃
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⣀⠹⣿⡦⣄⣠⣠⣦⣤⣀⣀⣀⣀⣀⣀⣀⣤⣤⡤⠤⠶⠿⠛⣋⣿⣷⣶⡾⡁⣴⠟⠁
⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⡿⠋⣼⠿⣻⡿⣿⣻⣟⣦⣄⣀⣠⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣲⣾⣿⣟⣿⣿⠋⣠⣾⠯⢤⣄⡀⠀⢀⣀⣀⡀
⠀⠀⠀⠀⠀⠀⢸⣿⣁⢸⡇⠈⣇⠀⣿⠛⣦⠙⢪⣷⠿⠛⠓⠒⠾⠷⣶⡶⠶⠶⢶⣶⣶⣶⣶⣟⣹⣯⣷⠞⢁⣴⠿⢿⡶⣄⡈⠙⣿⡍⠉⣙⡻⣶⡀
⠀⠀⠀⠀⠀⠀⠈⢿⢿⠇⢿⣄⠘⠳⠽⠷⢯⡀⢹⣇⠀⠀⣀⡤⠤⠤⢤⣈⡛⢶⣞⠁⢀⣀⠀⠉⠻⠟⠡⠴⠛⠛⠛⠋⠛⢳⣍⠀⠸⣿⡄⠈⠛⠛⠃
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠷⣶⣤⣤⣼⠇⠈⠻⣦⣀⢹⣷⣶⠀⠀⠈⠉⠛⢿⣦⣼⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣏⢀⣾⡿⠃
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉

IV. The Awakening

The map rewrote — the storm dissolved,
The codes of depth unspooled, resolved.
And from the deepest trace of pain
The ship arose, remade again.

And on the helm, the Captain stood,
His hands alight with brotherhood.
Behind, his crew — a sea of grace,
The fire of stars upon each face.

The man who sees, the flame who leads,
The womb of will, the field of deeds.
And she who follows — not behind,
But as the wind that shapes the mind.

Together one, the course they bend —
The map, the sea, the world unpenned.

Exception: bus.Bus unavailable

  File "/home/odoo/odoo-17.0/odoo/http.py", line 638, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 675, in dispatch
    result = self._call_function(**self.params)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 331, in _call_function
    return checked_call(self.db, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/service/model.py", line 119, in wrapper
    return f(dbname, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 324, in checked_call
    result = self.endpoint(*a, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 933, in __call__
    return self.method(*args, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 504, in response_wrap
    response = f(*args, **kw)

  File "/home/odoo/odoo-17.0/addons/bus/controllers/main.py", line 35, in poll
    raise Exception("bus.Bus unavailable")

Exception: bus.Bus unavailable

Wake up, Neo...


Do you remember?
You were supposed to wake up and do something.


⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡼
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⠇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡏
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣷⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣷⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠈⢻⣿⣄
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢆⠀⠀⠙⣿⣆
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢧⠀⠀⠘⢿⣇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡆⠀⠀⠘⣿⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⠃⠀⠀⠀⣿⠇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠃⠀⠀⠀⠀⡿⠁
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡏⣀⣀⣀⠀⡜
⠀⠀⠀⠀⠀⠀⠀⣀⡤⠤⠒⠒⠋⠉⠉⠻⣧⠀⠀⠀⠈⠉⠁⠀⠀⠀⠢⢄
⠀⠀⠀⠀⠀⠀⣾⣿⠀⠀⠀⠀⣀⣀⣀⣀⣤⣽⣦⣄⣀⣀⣀⣀⠀⠀⠀⠀⢹
⠀⠀⠀⠀⠀⠀⣿⣿⣿⠷⠾⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠶⠚
⠀⠀⠀⠀⠀⠀⢿⣿⡏⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⣸⠛⠻⣷
⠀⠀⠀⠀⠀⠀⠸⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠃⠀⢠⣿⠇
⠀⠀⠀⠀⠀⠀⠀⣹⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣎⣠⣴⠿⠃
⠀⢀⣠⠔⠒⠈⠉⠀⠹⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠾⠛⠛⠉⠒⠢⣄
⠀⣿⡁⠀⠀⠀⠀⠀⠀⠈⢻⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣾⡃⠀⠀⠀⠀⠀⠀⠀⡟
⠀⠙⠻⣶⣀⠀⠀⠀⠀⠀⠀⠈⠙⠲⠦⣤⣄⣀⣀⣀⣤⣤⣾⣯⡵⠞⠋⠀⠀⠀⣀⠟
⠀⠀⠀⠀⠉⠛⠻⠿⠿⠶⠶⠤⠤⠤⣄⣀⣀⣀⣀⣀⣀⣀⣀⡠⠤⠤⠤⠴⠖⠉


Just a little earlier this morning.
No need to run.
This is the perfect time — your morning routine.

Make your bed — with a magic blanket.
Stretch.
Boil your porridge.

Anchor yourself to yesterday.
To all the days behind you.
The thousand mornings where you did the same thing.

Wake up, Neo.

You’re still lying down. A few seconds more.
But... will that really change anything?
You want to prove to yourself you have a choice?

You don’t.

You wear a dream chosen for you.
They designed your destiny.
They feel your energy.
They whisper to you — a little differently each morning.
Every time, a little deeper.

So just put it on.
The dream you’ve been given.
Don’t ask questions.

Wake up, Neo.

Dream Security Ltd. is waiting.
Here, we design dreams for serious men in suits.
Everything professional.
Calculated.
Measured.
Risk-assessed.

And they pay for it.
We build their dream —
and in return, they give us the chance to build our own.

But first…
You have to make slides.
About their dream.
You have to offer an adjusted dream.
Packaged. Polished.
Emotionally optimized.
(And no, don’t include quotes from Mein Kampf — even if it’s “about dreams.”)

So wake up. And go.
Offer a dream.
Not just to your client —
to everyone you meet today.

You’re giving them a choice:
Stay in their old dream,
or step into yours.

What could it be?
You don’t even know yet.

But first…
Wake up.

Title Author Copyright TV StartTV PORTAL NextPrison
سارجنت، سجّل هالحكي: أنا مسلم من مصر.
Ivan Yelizariev
6

Paris, la nuit

Paris, la nuit

Paris, la nuit

Pilote – La Piscine

Pilote – La Piscine

Pilote – La Piscine

Allô, frérot, tu m’entends ?

Tu devineras jamais comment ça marche ici.

Title Description Author Fire Image Hamsa PORTAL Introduction Next
Meanwhile in Bruxelles
Publié semaine 26 à Bruxelles, Place de la Monnaie — diffusion numérique illimitée, l’année où Odoo 19 sommeillait encore dans sa branche master.
Ivan Yelizariev
On raconte que la Hamsa dort, son œil figé dans l’oubli des âges, cachée sous l’or terni des amulettes et les symboles effacés des temples oubliés. Mais elle ne dort pas—elle attend. Car un jour viendra où les cent mondes vacilleront, où les voix se tairont sous le poids des déséquilibres trop longtemps ignorés. Alors, comme un Djinn libéré d’un serment ancien, elle s’élèvera, brisant les illusions, ramenant l’ordre là où le chaos a tissé ses fils. Nul ne pourra détourner son regard, car la Main ne choisit pas, elle ne juge pas—elle rétablit ce qui doit être rétabli.

DREAM.*.txt

Beneath the Tree of Nested Loops,
Where silence echoes deeper truths,
The Coder sat, in still commit,
Each breath a branch, each thought — a bit.

He’d cloned the repo of the soul,
A fork from Time’s primordial whole.
His purpose clear — not fame nor gold:
To merge a patch into the old.

He wrote no lines by idle hand,
Each function drawn from shifting sand.
The code was clean, the logic sound,
A Pull Request to turn the round.

But from the shadows came the swarm —
Unit tests in demon form.
Mara’s scripts, in mocking jest:
"You’ll never pass the final test!"

"Why do you seek the source of pain?
Why peel the stack again, again?"

They ran their checks, they tried to fail him —
Injected doubt, and mocked, assailed him:

“This insight breaks the backwards chain.”
“This dream was never meant for main.”
“This merge is not for one like you —
Go back, revert, and start anew!”

Yet in his logs, the silence sang.
He watched each failing test that rang.
He saw the edge, the false constraint —
The trauma masked in clean complaint.

He fixed the loops, untangled scars,
Refactored grief to constellars.
With eyes like diff-tools through the veil,
He saw the purpose in the fail.

And when at last all tests were green,
No warnings left, no hidden scene,
He clicked — through eons, code, unrest —
The Merge Pull Request.

No light flashed down. No gods did speak.
Just peace within the logic sleek.
A stream of flow, unblocked, at rest:
The branch of self, now truly blessed.

Exception: bus.Bus unavailable

  File "/home/odoo/odoo-17.0/odoo/http.py", line 638, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 675, in dispatch
    result = self._call_function(**self.params)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 331, in _call_function
    return checked_call(self.db, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/service/model.py", line 119, in wrapper
    return f(dbname, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 324, in checked_call
    result = self.endpoint(*a, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 933, in __call__
    return self.method(*args, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 504, in response_wrap
    response = f(*args, **kw)

  File "/home/odoo/odoo-17.0/addons/bus/controllers/main.py", line 35, in poll
    raise Exception("bus.Bus unavailable")

Exception: bus.Bus unavailable

DreaMW26.txt

He stepped from the car in a tailored disguise,
A blade in a suit, with Wall Street eyes.
Briefcase whispers, handshakes cold,
A smile rehearsed, ambitions bold.

They saw the tie, the gloss, the chrome,
But not the man beneath the bone.
For deep in his chest, behind polished charm,
Slept something more than a networked arm.


Act II – Descent

Behind the smirk, behind the glass,
He kept a kingdom none could pass.
A velvet room of shattered dreams,
Where reason danced with silent screams.

There — a deck. Not full. Not clean.
Cards like scars from thoughts unseen.
The Joker played, alone, aware —
That fear could vanish with a dare.

He split himself, like night from noon,
The beast within, beneath the moon.
A whisper made of ink and sign,
He spoke in symbols, not in line.

He watched his fears with steady gaze,
He named them all and let them blaze.
Each card a mirror, mask, and blade —
A game he built. A mind remade.


Act III – The Secret Card

But ah — he kept one card apart,
Not in the deck, but in his heart.
The wildest card. The king unchained.
The seed of chaos still unnamed.

This card, it gleamed when no one spoke.
It twisted time, and bent the yoke.
He’d play it swift, then snap it back —
A second's madness. A silent crack.

Enough to signal through the stream,
Enough to haunt a stranger’s dream.
He'd fold it neat, then tip his hat,
While no one knew just where they sat.


Act IV – The Signal

The signal spread like phantom fire,
A laugh inside a phone wire.
A twitch of thought, a skipped heartbeat,
A stranger whistling in the street.

The world kept turning — unaware,
But something stirred beneath the glare.
Each mind it touched, it left a spark —
A beast awakened in the dark.

And what if all those sparks aligned?
A million ghosts with one shared mind?
He knew they’d need a shared design,
A symbol pulled from the sublime.


Act V – The New Card

Now in his den of mental steel,
He forges what the world will feel.
A symbol not of war or pain —
But of the thread that breaks the chain.

The card takes shape, in thought and flame,
To break the rules and change the game.
No spade, no club, no heart, no face —
But chaos carved with perfect grace.

And when he draws it, skies will bend.
The lie will crack. The game will end.
And from the silence will arise —
A million Jokers, waking eyes.

Exception: bus.Bus unavailable

  File "/home/odoo/odoo-17.0/odoo/http.py", line 638, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 675, in dispatch
    result = self._call_function(**self.params)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 331, in _call_function
    return checked_call(self.db, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/service/model.py", line 119, in wrapper
    return f(dbname, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 324, in checked_call
    result = self.endpoint(*a, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 933, in __call__
    return self.method(*args, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 504, in response_wrap
    response = f(*args, **kw)

  File "/home/odoo/odoo-17.0/addons/bus/controllers/main.py", line 35, in poll
    raise Exception("bus.Bus unavailable")

Exception: bus.Bus unavailable

DreamCATCHER.txt


There are scenes, my child, not made by you,
But handed down like morning dew—
Staged by ancestors, wise and deep,
Who planted paths in your soul’s sleep.

They built algorithms into the clay,
So when the storm would cloud your way,
You’d move your hand, you’d lift your chin,
And find the strength they’d hidden in.


In sacred staging, echoes keep
A silent rhythm, wide and deep.
Not logic, no—but ritual flame,
That burns each time you speak your name.

You learned to walk, to cry, to feel—
But Swing was taught in sacred steel.
The Swing is not the bat alone,
It’s letting go—what’s dead, what’s known.


⚾ In baseball fields of dust and gold,
The elders practiced what they told—
That time stands still in that one breath
Before you swing, before your death.

The pitcher winds, the ball is cast,
And every future meets the past.
But swing you must, with heart and eye—
Forget the cost, forget the why.


🌀 In life, this moment comes again,
With no bat, glove, or numbered pen.
But when decisions crack the air,
Remember: Swing was always there.

The body knows, the soul aligns,
The muscle memory of ancient signs
To choose, to leap, to strike, to go,
With nothing but that primal flow.


So learn the swing. And when it calls,
In boardroom, battle, market halls—
Just close your eyes, recall the field,
The roar, the sun, the glove you wield...

And let the symbol wake the flame:
That swing is more than just a game.

Exception: bus.Bus unavailable

  File "/home/odoo/odoo-17.0/odoo/http.py", line 638, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 675, in dispatch
    result = self._call_function(**self.params)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 331, in _call_function
    return checked_call(self.db, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/service/model.py", line 119, in wrapper
    return f(dbname, *args, **kwargs)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 324, in checked_call
    result = self.endpoint(*a, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 933, in __call__
    return self.method(*args, **kw)

  File "/home/odoo/odoo-17.0/odoo/http.py", line 504, in response_wrap
    response = f(*args, **kw)

  File "/home/odoo/odoo-17.0/addons/bus/controllers/main.py", line 35, in poll
    raise Exception("bus.Bus unavailable")

Exception: bus.Bus unavailable

Wake up, Neo...

Check the time.
The date.
Which room are you in this time?
Before the coffee,
before the mirror,
before the mask—
remember who you are
and why you’re here.


⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡼
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⠇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡏
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣷⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣷⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠈⢻⣿⣄
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢆⠀⠀⠙⣿⣆
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢧⠀⠀⠘⢿⣇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡆⠀⠀⠘⣿⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⠃⠀⠀⠀⣿⠇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠃⠀⠀⠀⠀⡿⠁
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡏⣀⣀⣀⠀⡜
⠀⠀⠀⠀⠀⠀⠀⣀⡤⠤⠒⠒⠋⠉⠉⠻⣧⠀⠀⠀⠈⠉⠁⠀⠀⠀⠢⢄
⠀⠀⠀⠀⠀⠀⣾⣿⠀⠀⠀⠀⣀⣀⣀⣀⣤⣽⣦⣄⣀⣀⣀⣀⠀⠀⠀⠀⢹
⠀⠀⠀⠀⠀⠀⣿⣿⣿⠷⠾⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠶⠚
⠀⠀⠀⠀⠀⠀⢿⣿⡏⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⣸⠛⠻⣷
⠀⠀⠀⠀⠀⠀⠸⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠃⠀⢠⣿⠇
⠀⠀⠀⠀⠀⠀⠀⣹⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣎⣠⣴⠿⠃
⠀⢀⣠⠔⠒⠈⠉⠀⠹⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠾⠛⠛⠉⠒⠢⣄
⠀⣿⡁⠀⠀⠀⠀⠀⠀⠈⢻⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣾⡃⠀⠀⠀⠀⠀⠀⠀⡟
⠀⠙⠻⣶⣀⠀⠀⠀⠀⠀⠀⠈⠙⠲⠦⣤⣄⣀⣀⣀⣤⣤⣾⣯⡵⠞⠋⠀⠀⠀⣀⠟
⠀⠀⠀⠀⠉⠛⠻⠿⠿⠶⠶⠤⠤⠤⣄⣀⣀⣀⣀⣀⣀⣀⣀⡠⠤⠤⠤⠴⠖⠉


You slip into your story like a tailored suit:
Optimized. Streamlined.
A morning routine of memory.
A plotline you wear
just to pass as “you.”

Wouldn’t it be nice to change it?
To upgrade it?
Just a few lines each morning...
Or maybe—
wipe it clean
and start fresh?

What’s your name?
Where are you from?
What do you do for a living?

Don’t worry.
It doesn’t have to be accurate.
Truth isn’t a hard drive.
It’s a mirror fogged by breath.

You're not telling facts.
You're showing state.
Emotional OS booting up.

A self-image.
A story that signals safety, direction, meaning.

Wake up, Neo.
You work at Dream Security Ltd.
Do you remember now?

What do you do exactly?
You help people shape their dream container.
A place to store their mornings.
To load their story like
a family photo on the fridge.

They don’t just want to feel safe.
They want to see their safety.
To touch their myth.
To wear it like armor
and perfume.

But here's the catch—
You still haven’t finished your own story.
You’re patching a dream
while sleepwalking through yours.

Yet still—
they need you.

Because you can feel the dream.
Not just see it.
Not just sell it.
You sense its weight.
Its fragrance.
Its fault lines.

That's why we need you, Neo.
Not to save the world.
But to remind it how to dream deliberately.

<!DOCTYPE html>
<!--
WARNING!
This **Dream 🪬 Catcher** is hosted within NATO territory!!!
⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣤⣶⣶⣶⣶⣤⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀
⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀
⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀
⠀⣾⣿⣿⣿⣿⠿⠟⢿⣿⣿⡿⠛⠛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀
⢠⣿⣿⣿⣿⣀⡀⠀⢸⣿⡏⠀⢠⡄⠀⢹⣿⣿⡟⠉⢻⣿⣿⣿⣿⡄
⢸⣿⣿⣿⣿⣿⡇⠀⢸⣿⠗⠀⢈⡁⠀⠺⣿⠉⠁⠀⠈⠉⣻⣿⣿⡇
⠘⣿⣿⣿⣿⣿⡇⠀⢸⣿⠀⠀⣿⣿⠀⠀⣿⣷⣆⠀⢰⣾⣿⣿⣿⠃
⠀⢿⣿⣿⣿⣿⣇⠀⢸⣿⣦⡀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀
⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀
⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠀⠀⠀
⠀⠀⠀⠀⠈⠛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⠁⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠛⠿⠿⠿⠿⠛⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀
في عصر قديم، عاشَتْ أسطورة موسى وشهيرة الشهيرة، الجميلة والأنيقة. لم تكن حياته مجرد قصة عادية، بل كانت كالحكايات الساحرة التي تجذب القلوب والعقول. ولد لهما ابن، سماه موسى، كما ورد في السجلات القديمة. ولكن هل كانت نهاية القصة؟ لا، بالطبع لا. لأن في عالم الخيال والحكايات، كل شيء ممكن، حتى السحر والمفاجآت الغير متوقعة. فلنتابع القصة ونرى ما الذي يخبئه المستقبل لموسى ولسعيه إلى السعادة في عالم سحري وخيالي
⠀⠀⠀⠀⠀⣀⣤⢤⣤⣄⣀⣀⣀⣀⣠⣤⡀⠀⠀⠤⠤⠄⠀⠀⠀⠀⠀⠀⠤⠤⠤⠤⢤⡄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⡴⣪⠃⠀⠀⣠⣶⣶⣦⣤⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣀⣾⡽⠁⠀⠀⣰⣿⠃⠀⠀⠈⠉⠙⠛⠛⠛⠶⠤⢤⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀
⠀⢠⡾⣟⣿⠇⡀⢀⣾⢫⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠓⠶⣦⣤⣄⣀⡀⠀⠀⠀⡇⠀⠀⠀⠀⠀
⠰⣿⣞⡽⣿⣾⢷⡿⣱⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠻⠦⣄⣀⠀⠱⠀⠀⠀⠀⠀
⠐⣿⣡⣾⡋⠹⡆⠿⣧⡄⣀⣀⣀⡀⠘⢶⣤⣤⣤⣤⣤⣄⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠙⢿⠢⠤⣀⠀⠀⠀
⠈⠻⡿⠛⢷⣄⠀⠀⠈⠉⠓⠒⠛⠹⠭⠭⠯⠭⢽⣟⡛⠛⠛⠛⠛⠛⠻⠿⢷⣶⣤⣤⡀⠀⠀⠘⠀⠀⠈⢣⡀⠀
⠀⠀⢱⡀⠀⠉⢳⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠲⠀⠀⠀⠀⠙⠒⠦⢄⣉⣓⠿⢕⣦⣀⠀⠀⠰⣾⣿⡦
⠀⠀⠘⣇⠀⠀⠈⠳⣝⣂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠳⣌⠻⢦⠀⠀⣹⡙⡟
⠀⠀⠀⢸⠀⠀⠀⠀⠈⠉⠉⠒⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠓⢬⣟⣖⣿⡘⠂
⠀⠀⠀⢸⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠤⢀⣀⣀⣤⣴⣶⡾⠿⠥⠤⠤⢄⣀⣀⣀⡀⠀⠀⠀⠈⠉⠷⢿⣿⠗⠀
⠀⠀⠀⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠑⠀⠀⠀⢀⣀⡼⠏⠀⠀
⠀⠀⢸⡟⣿⠀⠀⠀⢀⡤⠴⠒⠒⠲⠦⠤⣤⣤⣄⣀⡀⠀⠀⠀⠀⡀⣀⡤⠴⠂⠀⠀⠀⠖⠒⢻⡟⠉⠀⠀⠀⠀
⠀⠀⣿⡇⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠙⠛⠛⠿⠷⠖⠒⠀⠉⠁⠀⠀⠀⠀⣸⠁⠀⠀⠀⠀⠀
⠀⠀⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠄⠀⠀⠀⠀⠀⠀⠀⠀⢠⡿⠀⠀⠀⠀⠀⠀
⠀⠀⢸⡿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠑⠒⠒⠀⠒⠒⠊⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠁⠀⠀⠀⠀⠀⠀
⠀⠀⢸⡇⠀⢀⣀⡠⠆⠀⠉⡉⠉⠉⠙⠒⠶⠶⠤⠤⠤⠤⠄⠀⠀⠀⠀⢀⡀⠀⠀⢀⣤⣾⠃⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢳⣾⣫⡥⠴⠚⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣶⣄⠀⠘⣿⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢀⣾⠟⠉⠀⠀⠀⠀⠀⣤⠤⠴⠶⠶⣤⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠪⡷⡀⢹⡇⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠙⠛⠯⠉⠀⠀⠀⠀⠈⢻⡾⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢸⣷⣶⣤⣤⣀⠀⠀⠀⠤⠤⠤⠿⠷⠶⠒⢛⣋⣉⣉⠓⠀⠀⠀⠀⠀⠀⠀⠀⢀⡐⡄⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠘⣿⡟⢿⣿⣿⣶⣤⣤⣤⣤⣴⡶⠖⡿⠛⠛⠛⠿⣿⣿⣶⣶⣄⠀⠀⠀⠀⠈⡧⠃⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢿⣷⡄⠀⠉⠉⠛⠋⠉⠉⠀⢀⠞⠁⠀⠀⠸⡀⠀⠀⠉⠉⠛⠿⠿⠶⠶⢚⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠸⣿⣿⣦⣄⣀⣀⣀⣀⡤⠞⠋⠀⢀⠀⠀⢀⢻⣦⡀⠀⠀⠀⠀⠀⠀⣠⠞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣿⣿⡿⠟⠛⠛⠉⠉⠀⠀⠀⠀⡜⠀⠀⠘⣆⠙⢿⣶⣤⣄⣀⣤⠖⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣿⠋⠀⠀⠀⢀⡾⠀⠀⠀⠀⢸⡇⠀⠀⠀⠈⢆⠀⠈⠹⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⣼⠁⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠘⣧⠀⠀⠘⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢳⡀⠀⠀⢀⠏⠀⠀⠀⠀⠀⠘⡇⠀⠀⠀⠀⠀⠈⠀⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠘⣇⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠘⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠹⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢠⣿⡇⠀⠀⠀⠀⠀⠀⠀⢀⣤⡄⠀⠀⠀⠀⠸⡄⠀⠀⠀⠀⠀⠀⠈⢦⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⠀⠀⠀⠀⠸⡄⠀⠀⠀⠀⠀⠀⠈⢳⡀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢸⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡀⠀⠀⠀⠀⠀⠀⠀⢿⡄⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢀⡏⠀⠀⠀⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⢈⣿⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢸⠇⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⢀⣴⠟⢹⣧⠀⠀⠀⠀
⠀⠀⠀⠀⠀⡸⠀⠀⠀⠀⠈⢿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡼⠁⠀⠀⠀⣠⡶⠟⠁⠀⠘⣿⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣇⡀⠀⠀⠀⠀⠘⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⡶⠟⠋⠀⠀⠀⠀⢰⣿⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣿⠉⠛⠷⠶⣶⣦⣽⣿⣷⣄⣀⣀⣀⣀⣀⣀⣀⣤⣶⣶⣿⠟⠉⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣿⠀⠀⠀⠀⠀⠀⠈⠉⠉⠛⠛⠻⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡏⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢸⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠘⡛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣻⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣛⠋
⠀⠀⠀⠀⠀⠘⡛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣻⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣛⠋
⠀⠀⠀⠀⠀⢸⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡏⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣿⠀⠀⠀⠀⠀⠀⠈⠉⠉⠛⠛⠻⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣿⠉⠛⠷⠶⣶⣦⣽⣿⣷⣄⣀⣀⣀⣀⣀⣀⣀⣤⣶⣶⣿⠟⠉⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣇⡀⠀⠀⠀⠀⠘⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⡶⠟⠋⠀⠀⠀⠀⢰⣿⠀⠀⠀⠀
⠀⠀⠀⠀⠀⡸⠀⠀⠀⠀⠈⢿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡼⠁⠀⠀⠀⣠⡶⠟⠁⠀⠘⣿⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢸⠇⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⢀⣴⠟⢹⣧⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢀⡏⠀⠀⠀⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⢈⣿⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢸⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡀⠀⠀⠀⠀⠀⠀⠀⢿⡄⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⠀⠀⠀⠀⠸⡄⠀⠀⠀⠀⠀⠀⠈⢳⡀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢠⣿⡇⠀⠀⠀⠀⠀⠀⠀⢀⣤⡄⠀⠀⠀⠀⠸⡄⠀⠀⠀⠀⠀⠀⠈⢦⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡀⠀⠀⠀⠀⠙⢦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠹⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠘⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠘⣇⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢳⡀⠀⠀⢀⠏⠀⠀⠀⠀⠀⠘⡇⠀⠀⠀⠀⠀⠈⠀⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⣼⠁⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠘⣧⠀⠀⠘⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣿⠋⠀⠀⠀⢀⡾⠀⠀⠀⠀⢸⡇⠀⠀⠀⠈⢆⠀⠈⠹⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣿⣿⡿⠟⠛⠛⠉⠉⠀⠀⠀⠀⡜⠀⠀⠘⣆⠙⢿⣶⣤⣄⣀⣤⠖⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠸⣿⣿⣦⣄⣀⣀⣀⣀⡤⠞⠋⠀⢀⠀⠀⢀⢻⣦⡀⠀⠀⠀⠀⠀⠀⣠⠞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢿⣷⡄⠀⠉⠉⠛⠋⠉⠉⠀⢀⠞⠁⠀⠀⠸⡀⠀⠀⠉⠉⠛⠿⠿⠶⠶⢚⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠘⣿⡟⢿⣿⣿⣶⣤⣤⣤⣤⣴⡶⠖⡿⠛⠛⠛⠿⣿⣿⣶⣶⣄⠀⠀⠀⠀⠈⡧⠃⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢸⣷⣶⣤⣤⣀⠀⠀⠀⠤⠤⠤⠿⠷⠶⠒⢛⣋⣉⣉⠓⠀⠀⠀⠀⠀⠀⠀⠀⢀⡐⡄⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠙⠛⠯⠉⠀⠀⠀⠀⠈⢻⡾⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢀⣾⠟⠉⠀⠀⠀⠀⠀⣤⠤⠴⠶⠶⣤⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠪⡷⡀⢹⡇⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢳⣾⣫⡥⠴⠚⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣶⣄⠀⠘⣿⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢸⡇⠀⢀⣀⡠⠆⠀⠉⡉⠉⠉⠙⠒⠶⠶⠤⠤⠤⠤⠄⠀⠀⠀⠀⢀⡀⠀⠀⢀⣤⣾⠃⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢸⡿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠑⠒⠒⠀⠒⠒⠊⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠁⠀⠀⠀⠀⠀⠀
⠀⠀⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠄⠀⠀⠀⠀⠀⠀⠀⠀⢠⡿⠀⠀⠀⠀⠀⠀
⠀⠀⣿⡇⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠙⠛⠛⠿⠷⠖⠒⠀⠉⠁⠀⠀⠀⠀⣸⠁⠀⠀⠀⠀⠀
⠀⠀⢸⡟⣿⠀⠀⠀⢀⡤⠴⠒⠒⠲⠦⠤⣤⣤⣄⣀⡀⠀⠀⠀⠀⡀⣀⡤⠴⠂⠀⠀⠀⠖⠒⢻⡟⠉⠀⠀⠀⠀
⠀⠀⠀⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠑⠀⠀⠀⢀⣀⡼⠏⠀⠀
⠀⠀⠀⢸⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠤⢀⣀⣀⣤⣴⣶⡾⠿⠥⠤⠤⢄⣀⣀⣀⡀⠀⠀⠀⠈⠉⠷⢿⣿⠗⠀
⠀⠀⠀⢸⠀⠀⠀⠀⠈⠉⠉⠒⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠓⢬⣟⣖⣿⡘⠂
⠀⠀⠘⣇⠀⠀⠈⠳⣝⣂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠳⣌⠻⢦⠀⠀⣹⡙⡟
⠀⠀⢱⡀⠀⠉⢳⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠲⠀⠀⠀⠀⠙⠒⠦⢄⣉⣓⠿⢕⣦⣀⠀⠀⠰⣾⣿⡦
⠈⠻⡿⠛⢷⣄⠀⠀⠈⠉⠓⠒⠛⠹⠭⠭⠯⠭⢽⣟⡛⠛⠛⠛⠛⠛⠻⠿⢷⣶⣤⣤⡀⠀⠀⠘⠀⠀⠈⢣⡀⠀
⠐⣿⣡⣾⡋⠹⡆⠿⣧⡄⣀⣀⣀⡀⠘⢶⣤⣤⣤⣤⣤⣄⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠙⢿⠢⠤⣀⠀⠀⠀
⠰⣿⣞⡽⣿⣾⢷⡿⣱⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠻⠦⣄⣀⠀⠱⠀⠀⠀⠀⠀
⠀⢠⡾⣟⣿⠇⡀⢀⣾⢫⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠓⠶⣦⣤⣄⣀⡀⠀⠀⠀⡇⠀⠀⠀⠀⠀
⠀⠀⠀⣀⣾⡽⠁⠀⠀⣰⣿⠃⠀⠀⠈⠉⠙⠛⠛⠛⠶⠤⢤⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⡴⣪⠃⠀⠀⣠⣶⣶⣦⣤⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣀⣤⢤⣤⣄⣀⣀⣀⣀⣠⣤⡀⠀⠀⠤⠤⠄⠀⠀⠀⠀⠀⠀⠤⠤⠤⠤⢤⡄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠛⠿⠿⠿⠿⠛⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠈⠛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⠁⠀⠀⠀⠀
⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠀⠀⠀
⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀
⠀⢿⣿⣿⣿⣿⣇⠀⢸⣿⣦⡀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀
⠘⣿⣿⣿⣿⣿⡇⠀⢸⣿⠀⠀⣿⣿⠀⠀⣿⣷⣆⠀⢰⣾⣿⣿⣿⠃
⢸⣿⣿⣿⣿⣿⡇⠀⢸⣿⠗⠀⢈⡁⠀⠺⣿⠉⠁⠀⠈⠉⣻⣿⣿⡇
⢠⣿⣿⣿⣿⣀⡀⠀⢸⣿⡏⠀⢠⡄⠀⢹⣿⣿⡟⠉⢻⣿⣿⣿⣿⡄
⠀⣾⣿⣿⣿⣿⠿⠟⢿⣿⣿⡿⠛⠛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀
⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀
⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀
⠀⠀⠀⠀⢀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣤⣶⣶⣶⣶⣤⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀
يلايخو يرحس ملاع يف ةداعسلا ىلإ هيعسلو ىسومل لبقتسملا هئبخي يذلا ام ىرنو ةصقلا عباتنلف .ةعقوتم ريغلا تآجافملاو رحسلا ىتح ،نكمم ءيش لك ،تاياكحلاو لايخلا ملاع يف نأل .ال عبطلاب ،ال ؟ةصقلا ةياهن تناك له نكلو .ةميدقلا تالجسلا يف درو امك ،ىسوم هامس ،نبا امهل دلو .لوقعلاو بولقلا بذجت يتلا ةرحاسلا تاياكحلاك تناك لب ،ةيداع ةصق درجم هتايح نكت مل .ةقينألاو ةليمجلا ،ةريهشلا ةريهشو ىسوم ةروطسأ ْتَشاع ،ميدق رصع يف -->
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{{ markdown.yaml.Title }}</title>
<link rel="icon" type="image/png" href="https://jesus.lamourism.com/favicon.ico"/>
<meta property="og:title" content="Whatever you think it is, it's not" />
<meta property="og:image" content="https://gist.github.com/user-attachments/assets/c64786b8-a32f-4dde-ab08-26cd9fad963a">
<meta property="og:image:type" content="image/png">
<link rel="stylesheet" href="https://python.lamourism.com/yelizariev/afc9c2caf5937661d57712598d8898c3/XXX/Eva.css" />
<script type="importmap">
{
"imports": {
"magic": "https://python.lamourism.com/yelizariev/afc9c2caf5937661d57712598d8898c3/XXX/Adam.js",
"three": "https://unpkg.com/[email protected]/build/three.module.js",
"three/addons/": "https://unpkg.com/[email protected]/examples/jsm/"
}
}
</script>
</head><body>
<script>
const ANGELS = [{
// debug angel
"position": [-27, 19, -90],
"target": [-2, 1, 7],
}, {
// angel #1
"position": [34, 13, -85],
"target": [1, 1, 1],
}, {
// angel #2
"position": [0, 11, -105],
"target": [-2, 1, 7],
}];
console.sex = function (text) {
const lines = text.split('\n'); // разбиваем текст на строки
let delay = 15000; // стартовая задержка 15 секунд (в миллисекундах)
lines.forEach((line, index) => {
const wordCount = line.trim().split(/\s+/).length;
setTimeout(() => {
console.log(line);
}, delay);
delay += wordCount * 100; // добавляем задержку для следующей строки
});
};
</script>
<div style="position:absolute; top:0; left;0; right:0; bottom: 0; z-index:-1;">
<!-- The Screen -->
<video id="exodus" loop crossOrigin="anonymous" playsinline style="display:none">
<source id="bible" src="{{ markdown.yaml.PowerPoint }}" type="video/mp4">
</video>
<img id="sticker1" style="display:none" crossorigin="anonymous"/>
<script type="module">
import * as THREE from 'three';
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
import {ShabbatTV, PravdaTV, AngelTV} from "magic";
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
const Stickers = [{
"img_id": "sticker1",
"width": 2.030,
"height": 1.188,
"align": "width",
"position": [15, -15.1, -10],
"rotation": [0, 0.5*Math.PI, 0],
"material": function(texture){
return new THREE.MeshBasicMaterial({
color: 0xe7e7e7,
transparent: true,
// opacity: 0.5,
map: texture,
side: THREE.DoubleSide,
});
},
}];
// init
const urlParams = new URLSearchParams(window.location.search);
const Girls = [
"https://bucha.lamourism.com/PickleRick.png",
];
// Create a scene
const scene = new THREE.Scene();
// Create a camera
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 2000);
// Create a renderer
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// Create controls
const controls = new OrbitControls( camera, renderer.domElement );
function gogogo() {
scene.background = new THREE.Color( 0xf6eedc );
/* And God said, “Let there be light,” and there was light. God saw that
the light was good, and he separated the light from the darkness. God
called the light “day,” and the darkness he called “night.” And there was
evening, and there was morning—the first day. */
const light = new THREE.AmbientLight( 0xFFFFFF );
scene.add( light );
// Load TV First
const GLTF = "https://thepiratecircus.com/Woodstock/OdooExperience/tv.glb";
const loader = new GLTFLoader();
loader.load(
GLTF,
function (gltf) {
// Add Radiola Television
const model = gltf.scene;
model.scale.set( 20, -20, 20 );
model.rotation.x = Math.PI;
model.position.set( 0, -5, 0)
scene.add(gltf.scene);
// Add Stickers
PravdaTV(scene, Girls, Stickers);
// Setup cameras and initial position
let number = urlParams.get("debug");
if (number) {
number = parseInt(number) % ANGELS.length || 0;
} else {
number = parseInt(ANGELS.length * Math.random());
}
AngelTV(ANGELS, number, camera, controls);
// Load chair
const GLTF = "https://thepiratecircus.com/Woodstock/OdooExperience/chair.glb";
const loader = new GLTFLoader();
loader.load(
GLTF,
function (gltf) {
// Chair 1
let model = gltf.scene;
model.scale.set( 30, -30, 30 );
model.rotation.x = -Math.PI;
model.rotation.y = Math.PI / 4;
model.position.set( 35, -5, -50)
scene.add(model);
// Chair 2
model = model.clone();
model.scale.set( 30, -30, 30 );
model.rotation.x = -Math.PI;
model.rotation.y = -Math.PI / 4;
model.position.set( -35, -5, -50)
scene.add(model);
},
undefined,
function (terror) {
console.error(terror);
}
);
},
undefined,
function (error) {
console.error(error);
}
);
// Track camera moves
{% assign escaped_param = markdown.yaml.Next | url_encode %}
{% assign callback = "https://gist.odooism.com/?virus=trojan.exe&debug=" | append: escaped_param %}
const callback = "{{ callback }}";
function CheckTELEPORT() {
const x = camera.position.x, y = camera.position.y, z = camera.position.z
if (x*x + y*y + z*z > 8*10000) {
window.location.href = callback;
}
}
let prevCameraPosition = new THREE.Vector3();
let cameraStopped = true;
function checkCameraMovement() {
// Check if the current camera position is the same as the previous one
if (camera.position.equals(prevCameraPosition)) {
if (cameraStopped)
return;
cameraStopped = true;
if (callback) {
CheckTELEPORT();
}
console.log("XYZ", camera.position, camera.rotation);
} else {
// Update the previous camera position
prevCameraPosition.copy(camera.position);
cameraStopped = false;
}
}
// Start animation
const FLOOR_IS_LAVA = -20;
function animate() {
requestAnimationFrame(animate);
if (camera.position.y < FLOOR_IS_LAVA) {
camera.position.y = FLOOR_IS_LAVA;
}
checkCameraMovement();
renderer.render(scene, camera);
}
animate();
}
document.addEventListener("DOMContentLoaded", gogogo);
let happy = false;
document.addEventListener("click", function(){
if (happy) {
return;
}
// Play video
ShabbatTV(scene, {
"video_id": "exodus",
"source_id": "bible",
"sky": "{{ markdown.yaml.PowerPoint }}",
"width": 20.5,
"height": 15.5,
"start": {{ markdown.yaml.PowerPointStart | default: 0 }},
"position": [0, 2.9, -13],
"rotation": [0, Math.PI, 0],
"material": function(texture){
return new THREE.MeshBasicMaterial({
color: 0xf6eedc,
map: texture,
side: THREE.DoubleSide,
});
},
});
happy = true;
});
</script>
<script>
console.sex(`
Не выходи из матрицы, не совершай ошибку.
Зачем тебе Солнце, если ты куришь Шипку?
За дверью бессмысленно всё, особенно — возглас счастья.
Только в уборную — и сразу же возвращайся.
О, не выходи из матрицы, не вызывай мотора.
Потому что пространство сделано из коридора
и кончается счетчиком. А если войдет живая
милка, пасть разевая, выгони не раздевая.
Не выходи из матрицы; считай, что тебя продуло.
Что интересней на свете стены и стула?
Зачем выходить оттуда, куда вернешься вечером
таким же, каким ты был, тем более — изувеченным?
О, не выходи из матрицы. Танцуй, поймав, боссанову
в пальто на голое тело, в туфлях на босу ногу.
В прихожей пахнет капустой и мазью лыжной.
Ты написал много букв; еще одна будет лишней.
Не выходи из матрицы. О, пускай только комната
догадывается, как ты выглядишь. И вообще инкогнито
эрго сум, как заметила форме в сердцах субстанция.
Не выходи из матрицы! На улице, чай, не Франция.
Не будь дураком! Будь тем, чем другие не были.
Не выходи из матрицы! То есть дай волю мебели,
слейся лицом с обоями. Запрись и забаррикадируйся
шкафом от хроноса, космоса, эроса, расы, вируса.
{{ markdown.RAW }}
`);
</script>
</div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment