Ë
    ‚ÒËjµ\  ã                   óü  — d Z ddlZddlZej                  j	                  d«      ZdZdZdZdZ	dZ
d	Zd
ZdZd„ Zd„ ZdZdZdZdZdZedz   Zdddddddedf	ddddd d!d"edf	d#d$d%d&d'd(d)ed*f	d+d,ddd-d.d/ed0f	d1d2dd&d3d4d5edf	d6d7d%d8d9d:d;ed<f	d=d>dd?d@dAdBedCf	dDdEdddFdGd/edf	dHdIdJddKdLdMedf	dNdOdd&dPdQdRedSf	dTdUddVdWdXdYedf	dZd[d%dd\d]d^ed_f	d`dadd8dbdcddedef	dfdgddhdidjdkedf	dldmddndodpdqedrf	dsdtddudvdwdxedyf	gZdz„ Zed{k(  r e«        yy)|aŒ  Write job.json + sheet prompt for tank batch 2 (11 Oct 2026 ~17:30 CET): 16 well-known tanks, WWI to today, each
DESTRUCTIBLE (library contract tank-damage/v1: a healthy GLB whose bolt-on items are Part_ nodes + a second GLB with the
damaged twins, hit marks, thrown tracks, burst gun and burnt wreck).
usage: python3 tools/vehicles/make_jobs_tanks2.py   (order -> /tmp/tanks2-20261011/order.txt)é    Nz~/forge-build/forge-assetsz/tmp/tanks2-20261011zÓGAME WEIGHT overrides the budget above: every texture image at most 1024 px, ORM / occlusion maps at most 512 px; share baked texture sets between parts and use tiling materials + trim textures on big surfaces. zŸNo national insignia, crosses, stars, roundels, flags, unit badges, serial numbers or any text: games give these to their own factions. No manufacturer logos. aF  MOVING PARTS: never apply transforms to a moving node: each turret, gun, barrel, wheel and hatch keeps its object origin ON its own pivot (turret ring axis, gun trunnion, bore axis, wheel centre, hinge line). Check it in Blender before export: rotate each moving node 30 degrees in a test render; nothing may leave its place. z†Keep this directory clean: put any helper tools you install (node_modules, vendored three.js, browser checks) under /tmp, never here. a  Pace: deliver a first complete healthy GLB within about 30 minutes, the damage file by about 60 minutes, then use what is left of about 75 minutes to improve what the renders show is weakest. Use Cycles with the GPU (OptiX/CUDA) and modest samples for bakes and renders. z‰olive drab, NATO green, desert tan, field grey, winter white, dark green-black, sand, forest green, dark yellow, panzer grey, khaki brownzÊGun forward toward +Z, up = +Y, +X = the tank's LEFT side, centred on X = 0; origin (0,0,0) on the ground plane at the centre of the hull footprint. Tracks touch y = 0. Turret straight ahead, gun level.c                 ó   — d| › dt         › d�S )NaM  PAINT CONTRACT (how games get variants of one model): the main paint lives in ONE material named exactly "Paint". Its base colour TEXTURE holds only light neutral detail (near white, with grey grime, mud, dust, soot, rain streaks, panel lines, chipped edges baked in) and its baseColorFactor holds the paint colour; default factor = a  . A game changes that factor, so nothing else (rubber, metal, tracks, glass, lamps, weapons, interior) may use Paint. Matte military paint: no clearcoat. In nodes.json add "paints": six real paints for this model as linear RGB triples with names, the default first, chosen from: z‡; and render paints.png: a 3x2 grid of the same 3/4 view in those six paints (EEVEE or low-sample Cycles) to prove the recolour works. )ÚPAINTS)Údefaults    úN/home/claude-agent/forge-build/forge-assets/tools/vehicles/make_jobs_tanks2.pyÚpaintr      s1   € ðoàovÐnwð xCô DJÀ(ð KZðZð [ó    c                 ó   — d| z   dz   S )NzERIG. Separate named mesh nodes: Hull (everything fixed to the hull), a}   Track_L, Track_R (the track belts: their texture V coordinate runs ALONG the track, once round the loop, so a game scrolls or deforms it to animate; links modelled as geometry), every road wheel, sprocket, idler and return roller as its own node Wheel_L1..Wheel_Ln and Wheel_R1..Wheel_Rn (front to back, origin at its hub, spin about X). Crew hatches as their own nodes, origin on the hinge line, closed: Hatch_Commander, Hatch_Driver and Hatch_Loader where the type has them, with a dark crew space modelled just under each so an open hatch shows depth, not a hole to nowhere. Empty nodes (no mesh): Seat_Commander (head-out hatch point), Seat_Driver, Exhaust, Light_Head_L, Light_Head_R, Fx_Engine (centre of the engine deck: where a game puts fire and smoke), Fx_Ammo (inside the hull where the ammunition burns), Fx_Hatch (top of the commander hatch: flame jet). Lamps: material "Lamps". © )Úgunss    r   Úrigr   %   s   € ØSÐVZÑZð ^Qñ Qð Rr   a³  Turret (origin ON the turret ring's vertical axis, turns about Y), Gun (child of Turret: the mantlet, origin on the trunnion axis, elevates about X), Barrel (child of Gun: the tube forward of the mantlet, origin on the bore axis where it leaves the mantlet: a game slides it back along the bore for recoil), empty Muzzle (barrel tip, child of Barrel), MG (roof machine gun, child of Turret, origin at its pivot) where the type has one,ai  DESTRUCTIBLE TANK (library contract tank-damage/v1). Games show this tank healthy, hit, stripped of its panels, immobilised, gun knocked out, and as a burnt wreck, only by showing and hiding named nodes. So deliver TWO GLBs in the same frame, origin and scale. FILE A, __SLUG__.glb = the healthy tank with the rig above. In it every bolt-on item is its OWN mesh node named Part_<Name>, never merged into Hull or Turret, with its origin at its own centre (a game hides it, or throws it as debris): side skirt / armour plates one node per plate (Part_Skirt_L1.. front to back, Part_Skirt_R1..), fenders and mudguards (Part_Fender_FL, _FR, _RL, _RR), stowage boxes, tool sets, fuel drums or jerrycans, exhaust mufflers and shrouds, engine deck grilles, lamp guards, spare track links, tow cable, unditching beam, antennas, smoke launchers; turret items are children of Turret (Part_Turret_<Name>: bins, bustle rack, cupola ring, sights, extra plates). Use what this type really carries: at least 14 Part_ nodes, spread over all four sides and the turret, big enough that removing them clearly changes the silhouette. UNDER every Part the Hull / Turret surface is complete and detailed (mounting brackets, bolt bosses, weld seams, unfaded paint patch; behind skirts the return rollers and upper track run): hiding a Part must never show a hole, a missing face or empty space. FILE B, __SLUG__-damage.glb = ONLY the damage pieces (a game keeps them hidden until needed). Exactly four top-level nodes: (1) Hull_Damage, an empty at the origin, with children: Dmg_<Name> for at least 8 of the hull Parts (the SAME part in place but battle-damaged: bent, torn open, shot through with curled edges, half hanging, scorched; same origin as its Part, so a game swaps Part_X for Dmg_X); Scar_Hull_Front, Scar_Hull_L, Scar_Hull_R, Scar_Hull_Rear (hit marks for that armour face: 3 to 5 impacts each, real geometry hugging the armour 2 to 4 mm proud, no z-fighting: gouges of bright bare steel, ricochet furrows, one penetration hole with a petalled raised rim and a black inside, a soot fan around them); Track_L_Broken and Track_R_Broken (that track thrown: snapped at the front, the upper run fallen off the wheels, the loose end lying flat on the ground at y = 0 ahead of or behind the tank; a game shows it instead of Track_L / Track_R). (2) __TW___Damage, an empty exactly at the __TW__ origin, with children: Dmg_Turret_<Name> twins (at least 3), Scar_Turret_Front, Scar_Turret_L, Scar_Turret_R, Scar_Turret_Rear, and Gun_Broken (origin exactly at the Gun origin: the mantlet with the barrel burst and peeled open at mid length, or bent down; shown instead of Gun). (3) Wreck_Hull, at the origin: the whole hull knocked out and burnt out as ONE mesh, wheels and tracks included: paint burnt off to grey scale, rust and soot (material "Burnt", never Paint), engine deck ruptured upward, hatches blown open, several plates missing or hanging, rubber burnt off the road wheels, suspension sagged about 5 cm, tracks slack and one broken; the open turret ring well is modelled, with a dark burnt interior. (4) Wreck_Turret, origin exactly at the Turret origin (a game leaves it in place, sets it askew, or blows it off beside the hull): the burnt turret with its gun drooped to full depression and hatches open; its underside is closed, with the turret ring and basket stub modelled, because it may lie upside down. Build the damage from copies of your healthy meshes (deform, cut, boolean, decimate) so everything lines up. Budget of file B: at most 110k triangles (the wreck about 40 percent of the healthy count); materials Paint (same texture and factor as file A: the recolour must follow), Burnt, Scars (bare steel and soot), TrackSteel, Rubber; its textures at most 512 px except Paint. PROOF: render states.png, a 3x2 grid of the same 3/4 front view, built by importing BOTH exported GLBs into an empty scene: 1 healthy; 2 hit (every Scar_ node shown, six Parts swapped for their Dmg_ twins); 3 stripped (every Part_ hidden, no twins: the bare tank must still look finished); 4 immobilised (Track_L_Broken instead of Track_L, Gun_Broken instead of Gun); 5 wreck (only Wreck_Hull + Wreck_Turret); 6 wreck with Wreck_Turret blown off, lying beside the hull. LOOK at it with your image tool and fix what reads badly. In nodes.json add "damage": {"parts": [{"part", "twin" or null}], "scars": [...], "broken": {...}, "wreck": [...]} and list the nodes of both files. a  Video game vehicle design turnaround plate, photorealistic, on a plain light grey background. {desc} No national insignia, no crosses, no stars, no roundels, no flags, no text markings, no logos. Real size {size}. Layout: big orthographic side view across the top, front view, rear view and top view below, and a 3/4 front hero view; callouts naming the main parts and dimensions in metres; material swatches (matte paint, rubber, metal, track steel). Rich real-world construction detail, light believable field wear. No other text.a¦  Sponson_L and Sponson_R are part of Hull. NO turret on this type: Gun_L (the left sponson gun with its shield, origin at its pivot in the sponson, turns about Y and elevates about X; it points forward and slightly out at rest) and Gun_R, each with a child Barrel (origin on the bore axis at the shield: recoil) and an empty Muzzle_L / Muzzle_R at the tip; MG_1..MG_n for the ball-mounted machine guns (origin at the ball),aI  NO turret on this type: Gun (the nose 57 mm gun with its mount, origin at its pivot, turns about Y by 25 degrees each way and elevates about X), child Barrel (origin on the bore axis at the mount: recoil), empty Muzzle at the tip (child of Barrel); MG_1..MG_6 for the six machine guns in the sides and rear (origin at the pivot),z– Gun_Hull (the 75 mm howitzer low in the right of the hull front, origin on its trunnion, elevates about X only) with an empty Muzzle_Hull at its tip,zt34-85-tankzT-34-85-style tank (WWII)zera-ww2Úussra9  A World War II Soviet T-34-85 style medium tank: sloped welded hull, large cast three-man turret with an 85 mm gun, five big Christie road wheels per side with no return rollers, wide waffle-pattern tracks, cylindrical external fuel drums on the rear sides, hand rails for tank riders, a sawn log and a tow cable.zH8.15 m long with the gun forward (hull 6.10 m), 3.00 m wide, 2.72 m highz![0.10, 0.13, 0.07] (Soviet green)Ú zleopard2-tankzLeopard 2-style tankz
era-modernÚgermanya4  A modern German Leopard 2A6 style main battle tank: wedge-shaped add-on turret front armour (arrowhead), long 120 mm L/55 smoothbore gun with fume extractor, heavy front side skirts and lighter rear skirts, turret stowage bins and rear basket, smoke launchers on the turret sides, seven road wheels per side.zI10.97 m long with the gun forward (hull 7.72 m), 3.75 m wide, 3.03 m highz[0.09, 0.12, 0.07] (NATO green)zmark-iv-tankzMark IV-style tank (WWI)zera-ww1ÚukaI  A World War I British Mark IV "male" style heavy tank: tall rhomboid riveted hull with the tracks running all the way round it, a gun sponson on each side with a short 6-pounder gun behind a curved shield, a raised driver cab at the front, roof unditching rails with a wooden beam, exhaust on the roof, riveted plates everywhere.z78.05 m long, 4.11 m wide over the sponsons, 2.43 m highz [0.20, 0.17, 0.10] (khaki brown)a2  This type has no turret: its turret-side damage pieces hang under a top-level empty named Turret_Damage placed at the origin, and they are for the SPONSONS: Scar_Turret_L and Scar_Turret_R = hits on the left and right sponson, Scar_Turret_Front and Scar_Turret_Rear = hits on the driver cab and roof; Gun_Broken replaces Gun_L (origin exactly at the Gun_L origin). There is no Wreck_Turret: Wreck_Hull is the whole burnt tank, with one sponson torn open. The unditching rails, beam, sponson gun shields, roof hatch, exhaust and track spuds are good Part_ nodes. zpanzer-iv-tankzPanzer IV-style tank (WWII)a�  A World War II German Panzer IV Ausf. H style medium tank: boxy hull with a stepped front, eight small paired road wheels per side on leaf-spring bogies with four return rollers, long 75 mm gun with a double-baffle muzzle brake, thin spaced armour skirt plates (Schurzen) hung on rails along the hull sides and wrapped round the turret, commander cupola, spare track links on the nose.z]7.02 m long with the gun forward (hull 5.92 m), 3.33 m wide with the side skirts, 2.68 m highz [0.47, 0.42, 0.28] (dark yellow)z·The hull skirt plates (five or six per side) and the turret skirt segments are the star Part_ nodes of this type: one node per plate, hung on their rails; the rails stay on the hull. zchallenger2-tankzChallenger 2-style tankaO  A modern British Challenger 2 style main battle tank: long low hull, large flat-sided turret with a smooth rounded front, long 120 mm rifled gun with a thermal sleeve and fume extractor, six road wheels per side, heavy side skirts, turret stowage bins and baskets, two external fuel drums on the hull rear, commander's panoramic sight.zI11.55 m long with the gun forward (hull 8.33 m), 3.52 m wide, 2.49 m highz [0.42, 0.36, 0.24] (desert sand)zrenault-ft-tankz!Renault FT-style light tank (WWI)ÚfranceaB  A World War I French Renault FT style two-man light tank: narrow riveted hull, big spoked front idler wheels made of wood and steel, a small fully rotating riveted octagonal turret with a short 37 mm gun and a mushroom ventilator cupola, a curved tail skid at the rear for crossing trenches, rear engine with side louvres.z85.00 m long with the tail skid, 1.74 m wide, 2.14 m highz&[0.16, 0.19, 0.11] (French army green)z×Small tank: 60k to 110k triangles is enough for file A. The tail skid, engine louvre panels, tool boxes, track guards, turret rear door and the cupola cap are good Part_ nodes; at least 10 Parts on this small type. zmerkava-tankzMerkava 4-style tankÚisraela@  A modern Israeli Merkava Mk 4 style main battle tank: engine in the FRONT of the hull, very large flat wedge-shaped turret with sloped modular armour and a low profile, 120 mm gun, rear hull door, turret rear basket with hanging ball-and-chain curtain, heavy side skirts with a wavy lower edge, six road wheels per side.zH9.04 m long with the gun forward (hull 7.60 m), 3.72 m wide, 2.66 m highz[0.30, 0.29, 0.24] (grey sand)ztThe engine is at the front right: put Fx_Engine and Exhaust there. Rear_Door is a hatch node (origin on its hinge). zpanther-tankzPanther-style tank (WWII)ac  A World War II German Panther Ausf. G style medium tank: well-sloped glacis and hull sides, large interleaved road wheels, long 75 mm L/70 gun with a muzzle brake and a rounded mantlet, thin skirt plates along the hull sides above the tracks, stowage bins at the rear corners, twin exhaust pipes, commander cupola, tools and spare links on the hull sides.zH8.86 m long with the gun forward (hull 6.87 m), 3.42 m wide, 2.99 m highzt55-tankzT-55-style tank (Cold War)zera-coldwarag  A Cold War Soviet T-55 style medium tank: very low hull, round dome-shaped cast turret, 100 mm gun with a fume extractor near the muzzle, five large road wheels per side with a gap after the first and no return rollers, external fuel tanks on the right fender, snorkel tube and a log on the rear, infrared searchlight beside the gun, 12.7 mm roof machine gun.zH9.00 m long with the gun forward (hull 6.45 m), 3.27 m wide, 2.40 m highz![0.11, 0.14, 0.08] (Soviet green)zchurchill-tankz$Churchill-style infantry tank (WWII)a8  A World War II British Churchill Mk VII style infantry tank: very long hull with the tracks running over the top of the side panniers, eleven small road wheels per side, square side air intakes, a cast and welded squarish turret with a 75 mm gun, side escape doors in the panniers, track guards over the top run.z%7.44 m long, 3.25 m wide, 2.49 m highz![0.13, 0.15, 0.08] (bronze green)z›The track guard sections over the top run (three or four per side), the side air intake boxes and the pannier doors are the main Part_ nodes of this type. ztype99-tankzType 99A-style tankÚchinaa\  A modern Chinese Type 99A style main battle tank: long hull with six road wheels per side, angular welded turret with arrow-shaped add-on armour on the front and reactive armour blocks, 125 mm smoothbore gun with a thermal sleeve, turret rear stowage basket, rubber side skirts with armour blocks at the front, laser dazzler box on the turret roof.zI11.00 m long with the gun forward (hull 7.60 m), 3.70 m wide, 2.35 m highz[0.12, 0.15, 0.09] (dark green)za7v-tankzA7V-style tank (WWI)aB  A World War I German A7V style heavy tank: a tall riveted steel box on low tracks, sloped plates at the front and rear, a 57 mm gun in the nose, three machine gun ports along each side and two at the rear, a square raised commander cab with flaps on the roof centre, side access doors, exhaust pipes along the lower sides.z%7.34 m long, 3.07 m wide, 3.30 m highz[0.19, 0.22, 0.19] (field grey)aí  This type has no turret: its turret-side damage pieces hang under a top-level empty named Turret_Damage placed at the origin, and they are for the ROOF CAB: Scar_Turret_Front / _L / _R / _Rear = hits on the four sides of the commander cab; Gun_Broken replaces Gun. There is no Wreck_Turret: Wreck_Hull is the whole burnt tank with the roof cab blown open. The cab flaps, side doors, tow shackles, exhausts, lower side armour skirts over the running gear and roof grilles are good Part_ nodes. zchar-b1-tankzChar B1-style heavy tank (WWII)aj  A World War II French Char B1 bis style heavy tank: tall narrow riveted and cast hull with the tracks running round the full height of the sides, a short 75 mm howitzer low in the right of the hull front beside the driver, a small one-man cast turret with a 47 mm gun, big side radiator grille on the left, a side door on the right, large mudguards, a tail hook.z%6.37 m long, 2.50 m wide, 2.79 m highz![0.20, 0.24, 0.12] (French green)z�The mudguards over the tracks, the radiator louvre panel, side door, stowage boxes and the track-run armour plates are the main Part_ nodes. zk2-tankzK2 Black Panther-style tankzsouth-koreaai  A modern South Korean K2 Black Panther style main battle tank: compact angular hull, sharply faceted wedge turret with modular armour, long 120 mm L/55 gun with a muzzle reference sensor, six road wheels per side, side skirts with a sawtooth lower edge, turret-roof panoramic sights and a radar panel on each turret cheek, rear turret bustle for the autoloader.zI10.80 m long with the gun forward (hull 7.50 m), 3.60 m wide, 2.40 m highz![0.10, 0.13, 0.08] (forest green)zchi-ha-tankz Type 97 Chi-Ha-style tank (WWII)ÚjapanaW  A World War II Japanese Type 97 Chi-Ha style medium tank: small riveted hull, six road wheels per side on bell-crank suspension with three return rollers, an offset riveted turret with a short 57 mm gun, a rear-facing turret machine gun, a horseshoe radio rail antenna around the turret top, long mufflers with mesh guards on the rear fenders.z%5.52 m long, 2.33 m wide, 2.23 m highz [0.24, 0.21, 0.11] (khaki brown)z›Small tank: 60k to 110k triangles is enough for file A. The horseshoe rail antenna, muffler guards, fenders, tool boxes and the jack are good Part_ nodes. zt14-armata-tankzT-14 Armata-style tankÚrussiaa‚  A modern Russian T-14 Armata style main battle tank: long hull with seven road wheels per side and the three crew seated in the hull front, a tall slab-sided UNMANNED turret covered in thin faceted sheet-metal casing, 125 mm gun without a fume extractor, radar panels and active protection launch tubes at the turret base, slat armour cage around the rear engine bay, heavy side skirts.zI10.80 m long with the gun forward (hull 8.70 m), 3.50 m wide, 3.30 m highz"[0.13, 0.16, 0.10] (Russian green)zýThe unmanned turret has no crew hatches: Hatch_Commander and Hatch_Driver are on the hull front. The turret's thin outer casing panels and the rear slat armour sections are the star Part_ nodes: under the casing the real turret is a narrow steel block. c            
      óÐ  — g } t         D �]b  \	  }}}}}}}}}	|t        t        fv }
t        j	                  d|«      j	                  dd«      }t
        t        |«      z   t        |«      z   |z   |	z   t        z   t        z   t        z   t        z   }t        › d|› d�}t        j                  |d¬«       d|	v }t        d0i d	d
|› �“dd“d|dd dz   “d|“d|“ddg“d|“d|rdnd“dd“dd“dt         “d|“dd “d!d"“d#||g“d$|
rd%nd&“Ž}t#        j$                  |t'        |› d'�d(«      d¬)«       t'        |› d*�d(«      j)                  t*        j-                  ||¬+«      «       | j/                  |«       �Œe t        j                  t0        d¬«       t'        t0        › d,�d(«      j)                  d-j3                  | «      d-z   «       t5        t7        t         «      d.d/j3                  | «      «       y )1NÚ__SLUG__Ú__TW__ÚTurretz/jobs/z-v1T)Úexist_okz
Small tankÚidzvehicle.military-land.tank/Úversioné   Únameé   éÿÿÿÿz (the one on sheet.jpg)ÚtitleÚslugÚrefsz	sheet.jpgÚsizeÚtrisz60k to 110kz80k to 140kÚmatsé
   ÚeffortÚmediumÚframeÚnodesÚfamilyÚtanksÚdamageztank-damage/v1ÚtagsÚlayoutÚ
turretlessÚturretz	/job.jsonÚw)Úindentz/sheet_prompt.txt)Údescr$   z
/order.txtú
zjobs:ú r
   )ÚJÚSPONSONÚCASEMATEÚDAMAGEÚreplaceÚGAMEr   r   ÚNOMARKÚPIVOTSÚSCRATCHÚTIMEÚROOTÚosÚmakedirsÚdictÚFRAME_TÚjsonÚdumpÚopenÚwriteÚSHEETÚformatÚappendÚSCRÚjoinÚprintÚlen)Úorderr"   r!   ÚeraÚcountryr5   r$   r   r0   Úextrar1   Údmgr+   ÚjdÚsmallÚjs                   r   ÚmainrZ   °   s+  € Ø€EÜIJó ÑEˆˆe�S˜' 4¨¨w¸ÀØ¤¬Ð2Ð2ˆ
Ü�n‰n˜Z¨Ó.×6Ñ6°xÀÓJˆÜ”s˜6“{Ñ"¤U¨7£^Ñ3°cÑ9¸EÑAÄFÑJÌVÑSÔV]Ñ]Ô`dÑdˆÜˆv�V˜D˜6 Ð%ˆÜ
�‰�B Õ&Ø Ð%ˆÜò MÐ1°$°Ñ8ð MÁ!ð MÈ$ÈqÐQSÈ*ÐWpÒJpð MÑx}ð Mñ  EIð MØ"‘mðMÙ*.ðMÙFK±]ÐQ^øðMÙegðMÙpxðMõ AHðMáðMá%,ðMá5EðMàMPÐRYÉNðMás}Ñcoð  DLøðMˆô 	�	‰	�!”T˜R˜D 	Ð*¨CÓ0¸Õ;Ü�ˆtÐ$Ð% sÓ+×1Ñ1´%·,±,ÀDÈt°,Ó2TÔUØ�‰�TÖðô ‡K�K”˜dÕ#ÜŒCˆ5�
Ð	˜SÓ!×'Ñ'¨¯	©	°%Ó(8¸4Ñ(?Ô@Ü	Œ#Œa‹&�'˜3Ÿ8™8 E›?Õ+r   Ú__main__)Ú__doc__rG   rC   ÚpathÚ
expanduserrB   rN   r=   r>   r?   r@   rA   r   rF   r   r   ÚTURRETr;   rK   r9   r:   ÚTWO_GUNr8   rZ   Ú__name__r
   r   r   ú<module>rb      s%  ðña÷ Ø	‡w�w×ÑÐ6Ó7€Ø€ð	f€ð8€ðn€ð €ð	*€ð 
U€ðe€ò[ò	Rð`€ð*|€ðX
W€ðP€ðr€ð ð 9ñ 9€ð Ð,¨i¸ð ~ØLÐNqÐsyÐ{}ðð Ð)¨<¸ð yØMÐOpÐrxÐz|ð~ð Ð,¨i¸ð NØ;Ð=_Ðahð wðxð Ð1°9¸ið FØað  dFð  HNð |ð}ð Ð/°¸tð UØMÐOqÐsyÐ{}ðð Ð8¸)ÀXð GØ<Ð>fÐhnð \ð]ð Ð(¨,¸ð EØLÐNnÐpvØxðzð Ð-¨y¸)ð hØLÐNpÐrxÐz|ð~ð Ð*¨M¸6ð lØLÐNqÐsyÐ{}ðð Ð:¸IÀtð }Ø)Ð+NÐPVð `ðað Ð&¨°gð aØMÐOpÐrxÐz|ð~ð Ð$ i°ð GØ)Ð+LÈhð rðsð Ð3°YÀð oØ)Ð+NÐPWð RðSð Ð*¨L¸-ð nØMÐOrÐtzÐ|~ð@ð Ð3°YÀð \Ø)Ð+MÈvð `ðað Ð-¨|¸Xð GØMÐOsÐu{ð CðDðm:€òx,ð( ˆzÒÙ…Fð r   