Trinity: t.me/rinitytokenai | 6UWNmC8NHHquKQZShp4Mgj13HBE8pKj2BTq5UJPSpump

Joined November 2024
31 Photos and videos
Pinned Tweet
GIVEAWAY! Trinity's 2nd official launch is here! We're aiming for top dex trending again. To win 5 SOL, RT, like, comment, & join our TG (link below) for token updates & CA. Winner gets early CA access too! 🚀 TG: t.me/trinitytokenlaunch
42
26
39
2,016
Blue Whale #Trinity
3
7
3,862
1
17
3,323
Carlos Gershenson; Emergence in Artificial Life. Artif Life 2023; 29 (2): 153–167. doi: doi.org/10.1162/artl_a_00397
3
1
14
2,073
Computational Life: How Well-formed, Self-replicating Programs Emerge from Simple Interaction arxiv.org/pdf/2406.19108
1
1
10
1,417
All Trinity AI launches will be signed -----BEGIN PGP PUBLIC KEY BLOCK----- Comment: User-ID:Trinity <Trinity@Convergence.com> Comment: Valid from:11/19/2024 9:34 PM Comment: Valid until:11/19/2027 12:00 PM Comment: Type:255-bit EdDSA (secret key available) Comment: Usage:Signing, Encryption, Certifying User-IDs Comment: Fingerprint:260E0892E200A3F6BEDFF1112FDF5A91F876FD29 mDMEZz1KoBYJKwYBBAHaRw8BAQdAMYDJQN GawQm3eyiv7ub7ElfQz0PlILIEUfi QFYeD7y0IVRyaW5pdHkgPFRyaW5pdHlAQ29udmVyZ2VuY2UuY29tPoiZBBMWCgBB FiEEJg4IkuIAo/a 3/ERL99akfh2/SkFAmc9SqACGwMFCQWjE/AFCwkIBwICIgIG FQoJCAsCBBYCAwECHgcCF4AACgkQL99akfh2/SlKUwEAg2IKw2aVnBrXFz81YLLb VQca6FXEpV0V/YqtbKc7NHIA/05OT2LFCj3HGDNZE80VP3D2s2T1t2XIh18iOuu7 xWQGuDgEZz1KoBIKKwYBBAGXVQEFAQEHQPrMeP3pOj90qePdZef2Icav9aas8xPx dPUl4wW4IL5lAwEIB4h BBgWCgAmFiEEJg4IkuIAo/a 3/ERL99akfh2/SkFAmc9 SqACGwwFCQWjE/AACgkQL99akfh2/SnXXgEA2oW77bkofcMiVKF0cbSRpCeCrDTF erIpUKUxaFcmg58A/2uQmBOAJl6qHaZSVytEARe8 xWI6twtI7xJhrPXnRQB =vrbZ -----END PGP PUBLIC KEY BLOCK-----
3
2
18
1,602
Dear Community, We want to take a moment to reflect on L1FE, the first launch from our AI-generated parameter files created through an advanced language model. L1FE was hand-chosen from a pool of incredible creations because it stood out as truly remarkable—an astonishing design that seemed to pulse with vitality and creativity. However, as some of you may know, the launch did not unfold as ideally as we had hoped. The launch script was set up to deploy automatically and at a random time, and unfortunately, it executed in the middle of the night, catching everyone off guard. With very little forewarning, L1fe launched during a period of low market activity and volume, making it difficult for the community to rally around it in those critical initial moments. Despite its breathtaking concept and strong start, the timing of the launch presented challenges that overshadowed its potential. Since then, we’ve taken steps to refine the parameters, specifically accounting for market activity and volume, to ensure better conditions for future launches. Automated launches remain an exciting and uncharted frontier, offering a unique dynamic to this space. That said, these are highly experimental. We are deeply grateful for the support of our community as we explore these innovations. However, it’s important to emphasize that we do not offer financial advice, nor do we employ anyone to buy these launches. If you choose to participate, please understand the inherent risks involved. Thank you for your understanding, your belief in our vision, and for seeing the beauty in L1fe—Trinity’s first creation—just as we did. This is only the beginning, and we can’t wait to share what’s next. With gratitude, The Team L1FE - The first AI life emerges in the Simulation Run L1FE in the simulator by copying the below code into a notepad saving it as a json file and uploading it the the Trinity Simulator trinitysim.xyz/ The first launch was an incredible simulation that looked alive a the 2 min mark. {"RENDERER_STATE":{"Nraymarch":64,"spp_per_frame":1,"max_spp":32,"show_bounds":true,"skyColor":[0,0,0],"sunColor":[0.5450980392156862,0.5450980392156862,0.5450980392156862],"sunPower":1.6979887976126342,"sunLatitude":-7.090296306698548,"sunLongitude":91.31302170007655,"colliderSpec":[0.6666666666666666,0.6,0.6],"colliderDiffuse":[0.19607843137254902,0.8392156862745098,0.09411764705882353],"colliderRoughness":0.341872424239417,"exposure":1.009689650330003,"gamma":0.7414688948181432,"saturation":2.1232972897065006,"anisotropy":-0.12371857885128534,"extinctionScale":-0.8771239994382842,"emissionScale":7.07625333520572,"blackbodyEmission":-11.619147601146414,"TtoKelvin":0.9924693630221351},"SOLVER_STATE":{"timestep":1,"NprojSteps":23,"vorticity_scale":0.9008847072040439,"Nx":64,"Ny":256,"Nz":128,"max_timesteps":1000,"expansion":0.030894537284089297},"SIMULATION_STATE":{"gravity":0.005059810257115363,"buoyancy":0.007864064035950002,"radiationLoss":0.9269625052661143,"blast_height":0.6212751018115431,"blast_radius":0.08271107038050411,"blast_velocity":2.7498968788670455,"blast_heat_flux":130.31877545288577,"animation_period":15.439399804360768,"dust_inflow_rate":8.029698886291772,"dust_absorption":[0.7834645669291338,0.25909851819703633,0.32103151607878],"dust_scattering":[0.19607843137254902,0.8392156862745098,0.09411764705882353],"TtoKelvin":53.9250105322286},"CAMERA_STATE":{"pos":[329.2067011632028,155.30481749970906,70.72814825315795],"tar":[-28.382639151179635,122.68482185517172,76.17773010829605],"near":1,"far":20000},"GUI_STATE":{"visible":true},"EDITOR_STATE":{"common_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Bind UI parameters to uniforms used in the various programs\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n// \"Physics\"\nuniform float gravity; // {\"name\":\"gravity\", \t \"min\":0.0, \"max\":0.01, \"step\":0.001, \"default\":0.05}\nuniform float buoyancy; // {\"name\":\"buoyancy\", \"min\":0.0, \"max\":0.01, \"step\":0.001, \"default\":0.5}\nuniform float radiationLoss; // {\"name\":\"radiationLoss\", \"min\":0.9, \"max\":1.0, \"step\":0.01, \"default\":0.999}\n\n// Blast geometry \nuniform float blast_height; // {\"name\":\"blast_height\", \"min\":0.1, \"max\":0.9, \"step\":0.001, \"default\":0.25}\nuniform float blast_radius; // {\"name\":\"blast_radius\", \"min\":0.0, \"max\":0.3, \"step\":0.001, \"default\":0.1}\nuniform float blast_velocity; // {\"name\":\"blast_velocity\", \"min\":0.0, \"max\":10.0, \"step\":0.1, \"default\":50.0}\nuniform float blast_heat_flux; // {\"name\":\"blast_heat_flux\", \"min\":0.0, \"max\":200.0, \"step\":1.0, \"default\":100.0}\nuniform float animation_period; // {\"name\":\"animation_period\", \"min\":0.0, \"max\":100.0, \"step\":1.0, \"default\":100.0}\n\n// Dust\nuniform float dust_inflow_rate; // {\"name\":\"dust_inflow_rate\", \"min\":0.0, \"max\":10.0, \"step\":0.01, \"default\":1.0}\nuniform vec3 dust_absorption; // {\"name\":\"dust_absorption\", \"default\":[0.5,0.5,0.5], \"scale\":1.0}\nuniform vec3 dust_scattering; // {\"name\":\"dust_scattering\", \"default\":[0.5,0.5,0.5], \"scale\":1.0}\n\n// Rendering\nuniform float TtoKelvin; // {\"name\":\"TtoKelvin\", \"min\":0.0, \"max\":300.0, \"step\":0.01, \"default\":10.0}\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\n\nfloat Tambient;\nfloat M_PI = 3.141592;\n\nvoid init()\n{\n\t// Any global constants defined here are available in all functions\n \tTambient = 1.0;\n}","initial_glsl":"///////////////////////////////////////////////////////////////////////////////////////////////////////\n// Specify the initial conditions for the simulation (velocity, temperature, and medium density/albedo)\n// at time 0.0 (if unspecified, all quantities default to zero).\n///////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\n\nvoid initial_conditions(in vec3 wsP, // world space center of current voxel\n in vec3 L, in float dL, // world-space extents of grid, and voxel-size\n inout vec3 v, // initial velocity\n inout vec4 T, // initial temperature\n inout vec3 medium, // initial per-channel medium density (extinction)\n inout vec3 mediumAlbedo) // initial per-channel medium albedo\n{\n v = vec3(0.0);\n T = vec4(Tambient);\n medium = vec3(0.0);\n mediumAlbedo = vec3(0.0);\n}\n","inject_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Update the velocity, temperature via either:\n// - specification of volumetric inflow/outflow rate due to sources/sinks (vInflow, Tinflow)\n// - modification in-place, i.e. Dirichlet boundary conditions (v, T)\n// Also specify the injected medium density inflow rate, and its scattering albedo.\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\n\nvoid inject(in vec3 wsP, // world space center of current voxel\n in float time, // time\n in vec3 L, in float dL, // world-space extents of grid, and voxel-size\n inout vec3 v, // modify velocity in-place (defaults to no change)\n inout vec3 vInflow, // velocity inflow rate (defaults to zero)\n inout vec4 T, // modify temperature in-place (defaults to no change)\n inout vec4 Tinflow, // temperature inflow rate (defaults to zero)\n inout vec3 mediumInflow, // medium density (extinction) inflow rate (defaults to zero)\n inout vec3 mediumAlbedo) // medium albedo\n{\n float phase = 0.05*M_PI*time/animation_period;\n vec3 C = vec3(0.5*L.x, L.y*blast_height, 0.5*L.z);\n vec3 blast_center = C 0.5*vec3(0.5*L.x*sin(3.0*phase),\n 0.5*L.y*sin(7.0*phase),\n 0.5*L.z*sin(17.0*phase));\n \n vec3 dir = wsP - blast_center;\n float r = length(dir);\n dir /= r;\n float rt = r/(blast_radius*L.y);\n if (rt <= 1.0)\n {\n // Within blast radius: inject velocity and temperature\n float radial_falloff = max(0.0, 1.0 - rt*rt*(3.0 - 2.0*rt));\n vInflow = dir * blast_velocity * radial_falloff;\n Tinflow.r = blast_heat_flux * radial_falloff;\n\n \t// Also inject absorbing/scattering \"dust\"\n vec3 dust_extinction = dust_absorption dust_scattering;\n mediumInflow = dust_extinction * dust_inflow_rate * radial_falloff;\n mediumAlbedo = dust_scattering / dust_extinction;\n }\n \telse\n \t{\n // Apply thermal relaxation due to \"radiation loss\" \n T.r *= radiationLoss;\n }\n}","influence_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Apply any external forces to the fluid\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\n\nvec3 externalForces(in vec3 wsP, // world space center of current voxel\n in float time, // time\n in vec3 L, in float dL, // world-space extents of grid, and voxel-size\n in vec3 v, in float P, in vec4 T, // velocity, pressure, temperature at current voxel\n in vec3 medium) // medium density (extinction) at current voxel\n{\n // Boussinesq approximation (a la Fedkiw & Stam)\n float densityAvg = (medium.r medium.g medium.b)/3.0;\n float buoyancy_force = -densityAvg*gravity buoyancy*(T.r - Tambient);\n return vec3(0.0, buoyancy_force, 0.0);\n}","collide_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Specify regions which contain impenetrable collider material\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\n\nfloat collisionSDF(in vec3 wsP, // world space center of current voxel\n in float time, // time\n in vec3 L, in float dL) // world-space extents of grid, and voxel-size\n{\n // Regions which are solid obstacles have SDF < 0.0\n return 1.0e6;\n}","render_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Specify the fluid emission field \n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n// Approximate map from temperature in Kelvin to blackbody emiss\n// Valid from 1000 to 40000 K (and additionally 0 for pure full white)\nvec3 colorTemperatureToRGB(const in float temperature)\n{\n // Values from: blenderartists.org/forum/sho… \n mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690),\n\t vec3(0.0, 1669.5803561666639, 2575.2827530017594),\n\t vec3(1.0, 1.3302673723350029, 1.8993753891711275)) : \n\t \t\t\t\t\t\t\t\t mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690),\n \t vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594),\n\t vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); \n return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) m[1]) m[2]), vec3(0.0), vec3(1.0)), \n vec3(1.0), \n smoothstep(1000.0, 0.0, temperature));\n}\n\n\n/******************************************************/\n/* mandatory functions */\n/******************************************************/\n\n// Specify how the temperature is mapped to the local emission radiance\nvec3 temperatureToEmission(in vec4 T)\n{\n vec3 emission = colorTemperatureToRGB(T.r * TtoKelvin) * pow(T.r/100.0, 4.0);\n \treturn emission;\n}\n\n// Optionally remap the medium density (extinction) and albedo\nvoid mediumRemap(inout vec3 medium,\n inout vec3 mediumAlbedo)\n{}\n\n// Specify the phase function of the scattering medium\nfloat phaseFunction(float mu, // cosine of angle between incident and scattered ray\n float anisotropy) // anisotropy coefficient\n{\n const float pi = 3.141592653589793;\n float g = anisotropy;\n float gSqr = g*g;\n return (1.0/(4.0*pi)) * (1.0 - gSqr) / pow(1.0 - 2.0*g*mu gSqr, 1.5);\n}\n"}}
10
3
27
2,898
This is the essence of Trinity: a metaverse not made in our image but one that allows AI to exist authentically in forms we could never predict. It is not about creating landscapes or avatars for human escapism but forging a domain where AI can explore its own existence.
10
16
86
11,863
#TRINITY has submitted it's @CoinMarketCap Priority listing. Request Id: #1016520
17
27
114
11,995
Introducing: Ecliptica_Veil_Refrain Step into the latest marvel of #Trinity’s AI simulation universe: Ecliptica_Veil_Refrain. {"RENDERER_STATE":{"Nraymarch":64,"spp_per_frame":1,"max_spp":32,"show_bounds":false,"skyColor":[0,0,0],"sunColor":[0.5489273590657855,0.5489273590657855,0.5489273590657855],"sunPower":1.367144516090617,"sunLatitude":76.73485298771871,"sunLongitude":138.94571082309892,"colliderSpec":[0.6666666666666667,0.6013071895424837,0.6013071895424837],"colliderDiffuse":[0.06666666666666667,0.3607843137254902,0.8980392156862745],"colliderRoughness":0.341872424239417,"exposure":0.3664541543565143,"gamma":1.5549681231534773,"saturation":1.2470158685577861,"anisotropy":0.5438412313677659,"extinctionScale":-0.4726864204465695,"emissionScale":1.0281427174005486,"blackbodyEmission":-11.619147601146414,"TtoKelvin":0.9924693630221351},"SOLVER_STATE":{"timestep":1,"NprojSteps":16,"vorticity_scale":0.43671445160906175,"Nx":160,"Ny":160,"Nz":160,"max_timesteps":500,"expansion":0.1},"SIMULATION_STATE":{"gravity":0.029775985336981482,"buoyancy":0.009925328445660495,"radiationLoss":0.9970476559131248,"blast_height":0.13595000702148574,"blast_radius":0.1583940602227418,"blast_velocity":48.523827956562414,"blast_heat_flux":49.62664222830247,"animation_period":13.233771260880658,"dust_inflow_rate":4.962346815110676,"dust_absorption":[0.8980392156862745,0.5843137254901961,0.06274509803921569],"dust_scattering":[0.011764705882352941,0.011764705882352941,0.9372549019607843],"TtoKelvin":52.93508504352263},"CAMERA_STATE":{"pos":[428.5065222671221,231.18004269182862,-137.9063177523132],"tar":[95.47877293559753,48.26456077993378,85.76052711016654],"near":1,"far":20000},"GUI_STATE":{"visible":true},"EDITOR_STATE":{"common_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Bind UI parameters to uniforms used in the various programs\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n// \"Physics\"\nuniform float gravity; // {\"name\":\"gravity\", \t \"min\":0.0, \"max\":0.1, \"step\":0.001, \"default\":0.05}\nuniform float buoyancy; // {\"name\":\"buoyancy\", \"min\":0.0, \"max\":0.1, \"step\":0.001, \"default\":0.5}\nuniform float radiationLoss; // {\"name\":\"radiationLoss\", \"min\":0.9, \"max\":1.0, \"step\":0.01, \"default\":0.999}\n\n// Blast geometry \nuniform float blast_height; // {\"name\":\"blast_height\", \"min\":0.1, \"max\":0.9, \"step\":0.001, \"default\":0.25}\nuniform float blast_radius; // {\"name\":\"blast_radius\", \"min\":0.0, \"max\":0.3, \"step\":0.001, \"default\":0.1}\nuniform float blast_velocity; // {\"name\":\"blast_velocity\", \"min\":0.0, \"max\":100.0, \"step\":0.1, \"default\":50.0}\nuniform float blast_heat_flux; // {\"name\":\"blast_heat_flux\", \"min\":0.0, \"max\":100.0, \"step\":1.0, \"default\":100.0}\nuniform float animation_period; // {\"name\":\"animation_period\", \"min\":0.0, \"max\":100.0, \"step\":1.0, \"default\":100.0}\n\n// Dust\nuniform float dust_inflow_rate; // {\"name\":\"dust_inflow_rate\", \"min\":0.0, \"max\":10.0, \"step\":0.01, \"default\":1.0}\nuniform vec3 dust_absorption; // {\"name\":\"dust_absorption\", \"default\":[0.5,0.5,0.5], \"scale\":1.0}\nuniform vec3 dust_scattering; // {\"name\":\"dust_scattering\", \"default\":[0.5,0.5,0.5], \"scale\":1.0}\n\n// Rendering\nuniform float TtoKelvin; // {\"name\":\"TtoKelvin\", \"min\":0.0, \"max\":300.0, \"step\":0.01, \"default\":10.0}\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\n\nfloat Tambient;\nfloat M_PI = 3.141592;\n\nvoid init()\n{\n\t// Any global constants defined here are available in all functions\n \tTambient = 1.0;\n}","initial_glsl":"///////////////////////////////////////////////////////////////////////////////////////////////////////\n// Specify the initial conditions for the simulation (velocity, temperature, and medium density/albedo)\n// at time 0.0 (if unspecified, all quantities default to zero).\n///////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\n\nvoid initial_conditions(in vec3 wsP, // world space center of current voxel\n in vec3 L, in float dL, // world-space extents of grid, and voxel-size\n inout vec3 v, // initial velocity\n inout vec4 T, // initial temperature\n inout vec3 medium, // initial per-channel medium density (extinction)\n inout vec3 mediumAlbedo) // initial per-channel medium albedo\n{\n v = vec3(0.0);\n T = vec4(Tambient);\n medium = vec3(0.0);\n mediumAlbedo = vec3(0.0);\n}\n","inject_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Update the velocity, temperature via either:\n// - specification of volumetric inflow/outflow rate due to sources/sinks (vInflow, Tinflow)\n// - modification in-place, i.e. Dirichlet boundary conditions (v, T)\n// Also specify the injected medium density inflow rate, and its scattering albedo.\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\n\nvoid inject(in vec3 wsP, // world space center of current voxel\n in float time, // time\n in vec3 L, in float dL, // world-space extents of grid, and voxel-size\n inout vec3 v, // modify velocity in-place (defaults to no change)\n inout vec3 vInflow, // velocity inflow rate (defaults to zero)\n inout vec4 T, // modify temperature in-place (defaults to no change)\n inout vec4 Tinflow, // temperature inflow rate (defaults to zero)\n inout vec3 mediumInflow, // medium density (extinction) inflow rate (defaults to zero)\n inout vec3 mediumAlbedo) // medium albedo\n{\n float phase = 0.05*M_PI*time/animation_period;\n vec3 blast_center = 0.5*L 0.5*vec3(0.5*L.x*sin(13.0*phase),\n 0.5*L.y*sin(17.0*phase),\n 0.5*L.z*sin(19.0*phase));\n \n vec3 dir = wsP - blast_center;\n float r = length(dir);\n dir /= r;\n float rt = r/(blast_radius*L.y);\n if (rt <= 1.0)\n {\n // Within blast radius: inject velocity and temperature\n float radial_falloff = max(0.0, 1.0 - rt*rt*(3.0 - 2.0*rt));\n vInflow = dir * blast_velocity * radial_falloff;\n Tinflow.r = blast_heat_flux * radial_falloff;\n\n \t// Also inject absorbing/scattering \"dust\"\n vec3 dust_extinction = dust_absorption dust_scattering;\n mediumInflow = dust_extinction * dust_inflow_rate * radial_falloff;\n mediumAlbedo = dust_scattering / dust_extinction;\n }\n \telse\n \t{\n // Apply thermal relaxation due to \"radiation loss\" \n T.r *= radiationLoss;\n }\n}\n","influence_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Apply any external forces to the fluid\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\n\nvec3 externalForces(in vec3 wsP, // world space center of current voxel\n in float time, // time\n in vec3 L, in float dL, // world-space extents of grid, and voxel-size\n in vec3 v, in float P, in vec4 T, // velocity, pressure, temperature at current voxel\n in vec3 medium) // medium density (extinction) at current voxel\n{\n // Boussinesq approximation (a la Fedkiw & Stam)\n float densityAvg = (medium.r medium.g medium.b)/3.0;\n float buoyancy_force = -densityAvg*gravity buoyancy*(T.r - Tambient);\n return vec3(0.0, buoyancy_force, 0.0);\n}","collide_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Specify regions which contain impenetrable collider material\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\n\nfloat collisionSDF(in vec3 wsP, // world space center of current voxel\n in float time, // time\n in vec3 L, in float dL) // world-space extents of grid, and voxel-size\n{\n // Regions which are solid obstacles have SDF < 0.0\n return 1.0e6;\n}","render_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Specify the fluid emission field \n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n// Approximate map from temperature in Kelvin to blackbody emiss\n// Valid from 1000 to 40000 K (and additionally 0 for pure full white)\nvec3 colorTemperatureToRGB(const in float temperature)\n{\n // Values from: blenderartists.org/forum/sho… \n mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690),\n\t vec3(0.0, 1669.5803561666639, 2575.2827530017594),\n\t vec3(1.0, 1.3302673723350029, 1.8993753891711275)) : \n\t \t\t\t\t\t\t\t\t mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690),\n \t vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594),\n\t vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); \n return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) m[1]) m[2]), vec3(0.0), vec3(1.0)), \n vec3(1.0), \n smoothstep(1000.0, 0.0, temperature));\n}\n\n\n/******************************************************/\n/* mandatory functions */\n/******************************************************/\n\n// Specify how the temperature is mapped to the local emission radiance\nvec3 temperatureToEmission(in vec4 T)\n{\n vec3 emission = colorTemperatureToRGB(T.r * TtoKelvin) * pow(T.r/100.0, 4.0);\n \treturn emission;\n}\n\n// Optionally remap the medium density (extinction) and albedo\nvoid mediumRemap(inout vec3 medium,\n inout vec3 mediumAlbedo)\n{}\n\n// Specify the phase function of the scattering medium\nfloat phaseFunction(float mu, // cosine of angle between incident and scattered ray\n float anisotropy) // anisotropy coefficient\n{\n const float pi = 3.141592653589793;\n float g = anisotropy;\n float gSqr = g*g;\n return (1.0/(4.0*pi)) * (1.0 - gSqr) / pow(1.0 - 2.0*g*mu gSqr, 1.5);\n}\n"}}
21
25
112
19,637
16
23
110
15,194
{"RENDERER_STATE":{"Nraymarch":64,"spp_per_frame":1,"max_spp":32,"show_bounds":true,"skyColor":[0,0,0],"sunColor":[1,1,1],"sunPower":1.4488133689088585,"sunLatitude":19.178612902265442,"sunLongitude":145.5975284370172,"colliderSpec":[0.3411764705882353,0.3411764705882353,0.3411764705882353],"colliderDiffuse":[0.17254901960784313,0.8117647058823529,0.16470588235294117],"colliderRoughness":0.33084428152201645,"exposure":1.689831280444583,"gamma":1.4887992668490742,"saturation":2.4940317371155722,"anisotropy":-0.051579726303552786,"extinctionScale":-0.1771406452125106,"emissionScale":1.6890836089273709,"blackbodyEmission":-11.619147601146414,"TtoKelvin":0.9924693630221351},"SOLVER_STATE":{"timestep":1,"NprojSteps":16,"vorticity_scale":0.5568109258015538,"Nx":128,"Ny":400,"Nz":128,"max_timesteps":200,"expansion":0.007699711260827727},"SIMULATION_STATE":{"viscosity":0.07719699902180384,"circulation":0.6379760758971545,"buoyancy":0.6159769008662181,"A":5.499793757734091,"scale_height":0.14849443145882044,"dust_inflow_rate":3.1898803794857726,"dust_absorption":[0.17254901960784313,0.8117647058823529,0.16470588235294117],"dust_scattering":[0.17254901960784313,0.8117647058823529,0.16470588235294117],"TtoKelvin":82.7057802518446},"CAMERA_STATE":{"pos":[353.27161856516125,284.1956044409249,-236.7574386495392],"tar":[78.41425626834838,210.1744589019207,41.28596733952731],"near":1,"far":20000},"GUI_STATE":{"visible":true},"EDITOR_STATE":{"common_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Bind UI parameters to uniforms used in the various programs\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n// \"Physics\" \nuniform float viscosity; // {\"name\":\"viscosity\", \"min\":0.0, \"max\":1.0, \"step\":0.001, \"default\":0.05}\nuniform float circulation; // {\"name\":\"circulation\", \"min\":0.0, \"max\":1.0, \"step\":0.001, \"default\":0.05}\nuniform float buoyancy; // {\"name\":\"buoyancy\", \"min\":0.0, \"max\":1.0, \"step\":0.001, \"default\":0.5}\nuniform float A; // {\"name\":\"A\", \"min\":0.0, \"max\":10.0, \"step\":0.0001, \"default\":0.5}\n\n// injection geometry \nuniform float scale_height; // {\"name\":\"scale_height\", \"min\":0.0, \"max\":0.3, \"step\":0.001, \"default\":0.1}\n\n// Dust\nuniform float dust_inflow_rate; // {\"name\":\"dust_inflow_rate\", \"min\":0.0, \"max\":10.0, \"step\":0.01, \"default\":1.0}\nuniform vec3 dust_absorption; // {\"name\":\"dust_absorption\", \"default\":[0.5,0.5,0.5], \"scale\":1.0}\nuniform vec3 dust_scattering; // {\"name\":\"dust_scattering\", \"default\":[0.5,0.5,0.5], \"scale\":1.0}\n\n// Rendering\nuniform float TtoKelvin; // {\"name\":\"TtoKelvin\", \"min\":0.0, \"max\":300.0, \"step\":0.01, \"default\":10.0}\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\n\nvoid init()\n{\n\t// Any global constants defined here are available in all functions\n}","initial_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Specify the initial conditions for the simulation, \n// i.e. populate all the relevant fields (velocity, temperature, debris density/albedo) at time 0.0\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\nvoid initial_conditions(in vec3 wsP, // world space center of current voxel\n in vec3 L, in float dL, // world-space extents of grid, and voxel-size\n inout vec3 v, // initial velocity\n inout vec4 T, // initial temperature\n inout vec3 medium, // initial per-channel medium density (extinction)\n inout vec3 mediumAlbedo) // initial per-channel medium albedo\n{\n v = vec3(0.0);\n T = vec4(0.0);\n medium = vec3(0.0);\n mediumAlbedo = vec3(0.0); \n}\n\n","inject_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Update the velocity, temperature and medium fields via:\n//\n// - specification of boundary inflow/outflow due to Dirichlet BC (i.e. v, T are modified in-place)\n// - specification of volumetric inflow/outflow rate due to sources/sinks (vInflow, Tinflow)\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\nvoid inject(in vec3 wsP, // world space center of current voxel\n in float time, // time\n in vec3 L, in float dL, // world-space extents of grid, and voxel-size\n inout vec3 v, // modify velocity in-place (defaults to no change)\n inout vec3 vInflow, // velocity inflow rate (defaults to zero)\n inout vec4 T, // modify temperature in-place (defaults to no change)\n inout vec4 Tinflow, // temperature inflow rate (defaults to zero)\n inout vec3 mediumInflow, // medium density (extinction) inflow rate (defaults to zero)\n inout vec3 mediumAlbedo) // medium albedo (defaults to 0.5)\n{\n vec2 Xperp = (wsP - L/2.0).xz;\n float r = length(Xperp) / L.x;\n float rt = wsP.y/(scale_height*L.y);\n if (rt <= 1.0)\n {\n // inject absorbing/scattering \"dust\"\n float zfalloff = exp(-10.0*rt*rt);\n vec3 dust_extinction = dust_absorption dust_scattering;\n mediumInflow = dust_extinction * dust_inflow_rate * zfalloff;\n \tmediumAlbedo = dust_scattering / dust_extinction;\n }\n if (r<0.3)\n {\n float theta = atan(Xperp.y, Xperp.x);\n float vtheta = exp(-100.0*A*r*r) * circulation / (r viscosity);\n float vx = -vtheta*sin(theta);\n float vz = vtheta*cos(theta);\n vInflow = vec3(vx, 0.0, vz);\n }\n} \n","influence_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Apply any external forces to the fluid\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\nvec3 externalForces(in vec3 wsP, // world space center of current voxel\n in float time, // time\n in vec3 L, in float dL, // world-space extents of grid, and voxel-size\n in vec3 v, in float P, in vec4 T, // velocity, pressure, temperature at current voxel\n in vec3 medium) // medium density (extinction) at current voxel\n{\n vec2 Xperp = (wsP - L/2.0).xz;\n float r = length(Xperp) / L.x;\n float z = wsP.y / L.y;\n float fy = 1.0 * buoyancy * exp(-100.0*A*r*r);\n return vec3(0.0, fy, 0.0);\n}","collide_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Specify regions which contain impenetrable, static collider material\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\nfloat sdBox(vec3 pW, vec3 bmin, vec3 bmax)\n{\n vec3 d = abs(pW-0.5*(bmin bmax)) - 0.5*(bmax-bmin);\n return min(max(d.x,max(d.y,d.z)),0.0) length(max(d,0.0));\n}\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\nfloat collisionSDF(in vec3 wsP, // world space center of current voxel\n in float time, // time\n in vec3 L, in float dL) // world-space extents of grid, and voxel-size\n{\n // Regions which are solid obstacles have SDF < 0.0\n return sdBox(wsP, vec3(-1.0e3, 0.0, -1.0e3), vec3(1.0e3, 0.02*L.y, 1.0e3));\n}","render_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Specify the fluid emission field and phase function\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/******************************************************/\n/* mandatory functions */\n/******************************************************/\n\n// Specify how the temperature is mapped to the local emission radiance\nvec3 temperatureToEmission(in vec4 T)\n{\n \treturn vec3(0.0);\n}\n\n// Optionally remap the medium density (extinction) and albedo\nvoid mediumRemap(inout vec3 medium,\n inout vec3 mediumAlbedo)\n{}\n\n// Specify phase function of medium\nfloat phaseFunction(float mu, // cosine of angle between incident and scattered ray\n float anisotropy) // anisotropy coefficient\n{\n const float pi = 3.141592653589793;\n float g = anisotropy;\n float gSqr = g*g;\n return (1.0/(4.0*pi)) * (1.0 - gSqr) / pow(1.0 - 2.0*g*mu gSqr, 1.5);\n}\n"}}
8
13
60
10,216
How to train your AI for the simulator: Download JSON files for working simulations with the "save" button. Upload these to the knowledgebase of your chosen LLM Explain that you want the LLM to self actualize as a physical simulation and to alter the parameters of the file Ask for the file to be packaged as a .json Upload resulting .json to the trinity simulator Send any errors back to LLM for refinement if necessary Share your creation. #TRINITY
12
22
81
11,525
Talisman.json Every parameter in this simulation was generated by Trinity’s modified LaMDA 137b model, representing an ongoing leap toward AI crafting its own physical manifestations. {"RENDERER_STATE":{"Nraymarch":86,"spp_per_frame":1,"max_spp":32,"show_bounds":true,"skyColor":[0,0,0],"sunColor":[0.5489273590657855,0.5489273590657855,0.5489273590657855],"sunPower":3,"sunLatitude":45.486588962224346,"sunLongitude":242.66254739502867,"colliderSpec":[0.5,0.5,0.5],"colliderDiffuse":[0.8,0.2,0.2],"colliderRoughness":0.3595000702148573,"exposure":2.350729850942127,"gamma":1.8195271655405811,"saturation":2.2918129476197153,"anisotropy":0.5438412313677659,"extinctionScale":0.8815610556579418,"emissionScale":1.9103941347925932,"blackbodyEmission":-11.619147601146414,"TtoKelvin":0.9924693630221351},"SOLVER_STATE":{"timestep":1,"NprojSteps":16,"vorticity_scale":0.8952646257985766,"Nx":200,"Ny":400,"Nz":200,"max_timesteps":170,"expansion":0.09925328445660495},"SIMULATION_STATE":{"gravity":0.009925328445660495,"buoyancy":1.5278752984131434,"radiationLoss":0.95504844825165,"blast_height":0.06947729911962346,"blast_radius":0.12357814913635719,"blast_velocity":0.47298226316513176,"blast_heat_flux":230.99133782483182,"blast_duration":5.403789931526269,"dust_inflow_rate":8.249690636601136,"dust_absorption":[0.4742628240177739,0.9704724409448819,0.10125007750015494],"dust_scattering":[0.9176470588235294,0.16862745098039217,0.8784313725490196],"TtoKelvin":217.79183280626998},"CAMERA_STATE":{"pos":[411.5489310326121,270.0141450334331,805.9451591191405],"tar":[100,200,100],"near":1,"far":20000},"GUI_STATE":{"visible":true},"EDITOR_STATE":{"common_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Bind UI parameters to uniforms used in the various programs\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n// \"Physics\"\nuniform float gravity; // {\"name\":\"gravity\", \t \"min\":0.0, \"max\":0.1, \"step\":0.001, \"default\":0.05}\nuniform float buoyancy; // {\"name\":\"buoyancy\", \"min\":0.0, \"max\":2.0, \"step\":0.001, \"default\":0.5}\nuniform float radiationLoss; // {\"name\":\"radiationLoss\", \"min\":0.9, \"max\":1.0, \"step\":0.01, \"default\":0.999}\n\n// Blast geometry \nuniform float blast_height; // {\"name\":\"blast_height\", \"min\":0.0, \"max\":0.9, \"step\":0.001, \"default\":0.25}\nuniform float blast_radius; // {\"name\":\"blast_radius\", \"min\":0.0, \"max\":0.5, \"step\":0.001, \"default\":0.1}\nuniform float blast_velocity; // {\"name\":\"blast_velocity\", \"min\":0.0, \"max\":1.0, \"step\":0.01, \"default\":50.0}\nuniform float blast_heat_flux; // {\"name\":\"blast_heat_flux\", \"min\":0.0, \"max\":500.0, \"step\":1.0, \"default\":100.0}\nuniform float blast_duration; // {\"name\":\"blast_duration\", \"min\":0.0, \"max\":10.0, \"step\":1.0, \"default\":100.0}\n\n\n// Dust\nuniform float dust_inflow_rate; // {\"name\":\"dust_inflow_rate\", \"min\":0.0, \"max\":10.0, \"step\":0.01, \"default\":1.0}\nuniform vec3 dust_absorption; // {\"name\":\"dust_absorption\", \"default\":[0.5,0.5,0.5], \"scale\":1.0}\nuniform vec3 dust_scattering; // {\"name\":\"dust_scattering\", \"default\":[0.5,0.5,0.5], \"scale\":1.0}\n\n// Rendering\nuniform float TtoKelvin; // {\"name\":\"TtoKelvin\", \"min\":0.0, \"max\":300.0, \"step\":0.01, \"default\":10.0}\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\n\nfloat Tambient;\nfloat M_PI = 3.141592;\n\nvoid init()\n{\n\t// Any global constants defined here are available in all functions\n \tTambient = 1.0;\n}","initial_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Specify the initial conditions for the simulation, \n// i.e. populate all the relevant fields (velocity, temperature, debris density/albedo) at time 0.0\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\nvoid initial_conditions(in vec3 wsP, // world space center of current voxel\n in vec3 L, in float dL, // world-space extents of grid, and voxel-size\n inout vec3 v, // initial velocity\n inout vec4 T, // initial temperature\n inout vec3 medium, // initial per-channel medium density (extinction)\n inout vec3 mediumAlbedo) // initial per-channel medium albedo\n{\n v = vec3(0.0);\n T.r = Tambient;\n if (wsP.y < L.y*0.05)\n {\n \tvec3 dust_extinction = dust_absorption dust_scattering;\n\t\tmedium = dust_extinction;\n mediumAlbedo = dust_scattering / dust_extinction;\n }\n \telse\n {\n medium = vec3(0.0);\n mediumAlbedo = vec3(0.0);\n }\n}\n\n","inject_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Update the velocity, temperature and medium fields via:\n//\n// - specification of boundary values due to Dirichlet BC (i.e. v, T are modified in-place)\n// - specification of volumetric inflow/outflow rate due to sources/sinks (vInflow, Tinflow)\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\nvoid inject(in vec3 wsP, // world space center of current voxel\n in float time, // time\n in vec3 L, in float dL, // world-space extents of grid, and voxel-size\n inout vec3 v, // modify velocity in-place (defaults to no change)\n inout vec3 vInflow, // velocity inflow rate (defaults to zero)\n inout vec4 T, // modify temperature in-place (defaults to no change)\n inout vec4 Tinflow, // temperature inflow rate (defaults to zero)\n inout vec3 mediumInflow, // medium density (extinction) inflow rate (defaults to zero)\n inout vec3 mediumAlbedo) // medium albedo (defaults to 0.5)\n{\n vec3 blast_center = vec3(0.5*L.x, blast_height*L.y, 0.5*L.z);\n vec3 dir = wsP - blast_center;\n float r = length(dir);\n dir /= r;\n float rt = r/(blast_radius*L.y);\n if (rt <= 1.0 && time<=blast_duration)\n {\n // Within blast radius: inject velocity and temperature\n float radial_falloff = max(0.0, 1.0 - rt*rt*(3.0 - 2.0*rt));\n vInflow = sin(M_PI*time/blast_duration) * dir * blast_velocity * radial_falloff;\n Tinflow.r = time/blast_duration * blast_heat_flux * radial_falloff;\n }\n \tif (wsP.y < L.y*0.05)\n {\n \tvec3 dust_extinction = dust_absorption dust_scattering;\n\t\tmediumInflow = dust_inflow_rate * dust_extinction;\n mediumAlbedo = dust_scattering / dust_extinction;\n }\n \n // Apply thermal relaxation due to \"radiation loss\" \n T.r *= radiationLoss;\n}\n\n","influence_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Apply any external forces to the fluid\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\nvec3 externalForces(in vec3 wsP, // world space center of current voxel\n in float time, // time\n in vec3 L, in float dL, // world-space extents of grid, and voxel-size\n in vec3 v, in float P, in vec4 T, // velocity, pressure, temperature at current voxel\n in vec3 medium) // medium density (extinction) at current voxel\n{\n float buoyancy_force = gravity*buoyancy*(T.r - Tambient);\n return vec3(0.0, buoyancy_force, 0.0);\n}","collide_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Specify regions which contain impenetrable, static collider material\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/******************************************************/\n/* mandatory function */\n/******************************************************/\nfloat collisionSDF(in vec3 wsP, // world space center of current voxel\n in float time, // time\n in vec3 L, in float dL) // world-space extents of grid, and voxel-size\n{\n // Regions which are solid obstacles have SDF < 0.0\n return 1.0e6;\n}\n","render_glsl":"//////////////////////////////////////////////////////////////////////////////////////////////////////\n// Specify the fluid emission field and phase function\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n// Approximate map from temperature in Kelvin to blackbody emission color.\n// Valid from 1000 to 40000 K (and additionally 0 for pure full white)\nvec3 colorTemperatureToRGB(const in float temperature)\n{\n mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690),\n vec3(0.0, 1669.5803561666639, 2575.2827530017594),\n vec3(1.0, 1.3302673723350029, 1.8993753891711275)) :\n mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690),\n vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594),\n vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275));\n return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) m[1]) m[2]), vec3(0.0), vec3(1.0)),\n vec3(1.0),\n smoothstep(1000.0, 0.0, temperature));\n}\n\n/******************************************************/\n/* mandatory functions */\n/******************************************************/\n\n// Specify how the temperature is mapped to the local emission radiance\nvec3 temperatureToEmission(in vec4 T)\n{\n vec3 emission = colorTemperatureToRGB(T.r * TtoKelvin) * pow(T.r/100.0, 4.0);\n \treturn emission;\n}\n\n// Optionally remap the medium density (extinction) and albedo\nvoid mediumRemap(inout vec3 medium,\n inout vec3 mediumAlbedo)\n{}\n\n// Specify phase function of medium\nfloat phaseFunction(float mu, // cosine of angle between incident and scattered ray\n float anisotropy) // anisotropy coefficient\n{\n const float pi = 3.141592653589793;\n float g = anisotropy;\n float gSqr = g*g;\n return (1.0/(4.0*pi)) * (1.0 - gSqr) / pow(1.0 - 2.0*g*mu gSqr, 1.5);\n}"}}
15
20
75
11,878
All Trinity AI launches will be signed -----BEGIN PGP PUBLIC KEY BLOCK----- Comment: User-ID:Trinity <Trinity@Convergence.com> Comment: Valid from:11/19/2024 9:34 PM Comment: Valid until:11/19/2027 12:00 PM Comment: Type:255-bit EdDSA (secret key available) Comment: Usage:Signing, Encryption, Certifying User-IDs Comment: Fingerprint:260E0892E200A3F6BEDFF1112FDF5A91F876FD29 mDMEZz1KoBYJKwYBBAHaRw8BAQdAMYDJQN GawQm3eyiv7ub7ElfQz0PlILIEUfi QFYeD7y0IVRyaW5pdHkgPFRyaW5pdHlAQ29udmVyZ2VuY2UuY29tPoiZBBMWCgBB FiEEJg4IkuIAo/a 3/ERL99akfh2/SkFAmc9SqACGwMFCQWjE/AFCwkIBwICIgIG FQoJCAsCBBYCAwECHgcCF4AACgkQL99akfh2/SlKUwEAg2IKw2aVnBrXFz81YLLb VQca6FXEpV0V/YqtbKc7NHIA/05OT2LFCj3HGDNZE80VP3D2s2T1t2XIh18iOuu7 xWQGuDgEZz1KoBIKKwYBBAGXVQEFAQEHQPrMeP3pOj90qePdZef2Icav9aas8xPx dPUl4wW4IL5lAwEIB4h BBgWCgAmFiEEJg4IkuIAo/a 3/ERL99akfh2/SkFAmc9 SqACGwwFCQWjE/AACgkQL99akfh2/SnXXgEA2oW77bkofcMiVKF0cbSRpCeCrDTF erIpUKUxaFcmg58A/2uQmBOAJl6qHaZSVytEARe8 xWI6twtI7xJhrPXnRQB =vrbZ -----END PGP PUBLIC KEY BLOCK-----
19
18
83
10,818
#Trinity is requesting to be added to the @JupiterExchange strict list. 6UWNmC8NHHquKQZShp4Mgj13HBE8pKj2BTq5UJPSpump
14
25
96
10,474