mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-21 21:26:42 +02:00
- Add uload project with apps/web structure
- Reorganize from flat to monorepo structure
- Remove PocketBase binary and local data
- Update to pnpm and @uload/web namespace
- Add picture project to monorepo
- Remove embedded git repository
- Unify all package names to @{project}/{app} schema:
- @maerchenzauber/* (was @storyteller/*)
- @manacore/* (was manacore-*, manacore)
- @manadeck/* (was web, backend, manadeck)
- @memoro/* (was memoro-web, landing, memoro)
- @picture/* (already unified)
- @uload/web
- Add convenient dev scripts for all apps:
- pnpm dev:{project}:web
- pnpm dev:{project}:landing
- pnpm dev:{project}:mobile
- pnpm dev:{project}:backend
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
676 lines
16 KiB
Markdown
676 lines
16 KiB
Markdown
# Implementierungsplan: Marketing-Seite für uLoad
|
|
|
|
## Executive Summary
|
|
|
|
Dieser Bericht enthält einen detaillierten Plan zur Implementierung einer professionellen Marketing-Seite für uLoad. Es werden drei verschiedene Design-Konzepte vorgestellt, gefolgt von einer technischen Implementierungsstrategie und einem konkreten Zeitplan.
|
|
|
|
## 1. Projektanalyse
|
|
|
|
### Aktuelle Stärken
|
|
|
|
- **Funktionalität**: Robuste URL-Verkürzung mit QR-Codes
|
|
- **User Experience**: Klare Dashboard-Struktur
|
|
- **Personalisierung**: Öffentliche Profile mit Custom URLs
|
|
- **Design-System**: Konsistente Theme-Struktur mit Dark Mode
|
|
|
|
### Verbesserungspotenzial
|
|
|
|
- Keine dedizierte Marketing-Landing Page
|
|
- Homepage fokussiert direkt auf Tool statt auf Value Proposition
|
|
- Fehlende Social Proof und Use Cases
|
|
- Keine klare Preisstruktur kommuniziert
|
|
|
|
## 2. Design-Konzepte
|
|
|
|
### Konzept A: "Minimal & Professional"
|
|
|
|
#### Visuelle Identität
|
|
|
|
- **Farbschema**: Monochrom mit einem Akzent (Purple #7C3AED)
|
|
- **Typografie**: Inter für Headlines, System UI für Body
|
|
- **Layout**: Viel Whitespace, klare Hierarchie
|
|
- **Animationen**: Subtle Micro-Interactions
|
|
|
|
#### Struktur
|
|
|
|
```
|
|
Hero Section
|
|
├── Headline: "Short Links, Big Impact"
|
|
├── Subheadline: "Professional URL shortening with analytics"
|
|
├── CTA: "Start Free" + "View Demo"
|
|
└── Live Demo Widget (interaktiv)
|
|
|
|
Features Grid (3x2)
|
|
├── QR Codes
|
|
├── Analytics
|
|
├── Custom Domains
|
|
├── API Access
|
|
├── Team Collaboration
|
|
└── Password Protection
|
|
|
|
Stats Section
|
|
├── 10M+ Links Created
|
|
├── 99.9% Uptime
|
|
└── 50ms Average Response
|
|
|
|
Pricing Cards
|
|
├── Free Tier
|
|
├── Pro ($9/mo)
|
|
└── Enterprise (Custom)
|
|
|
|
Footer
|
|
└── Minimal with essentials
|
|
```
|
|
|
|
### Konzept B: "Modern SaaS"
|
|
|
|
#### Visuelle Identität
|
|
|
|
- **Farbschema**: Gradient-basiert (Purple zu Blue)
|
|
- **Typografie**: Poppins Headlines, Inter Body
|
|
- **Layout**: Card-basiert mit Glassmorphism
|
|
- **Animationen**: Parallax-Scrolling, Hover-Effects
|
|
|
|
#### Struktur
|
|
|
|
```
|
|
Hero Section
|
|
├── Animated Background (Gradient Mesh)
|
|
├── Headline: "The Smart Way to Share Links"
|
|
├── Feature Pills: [Analytics] [QR Codes] [Custom URLs]
|
|
├── Email Capture Form
|
|
└── Product Screenshot/Video
|
|
|
|
Problem-Solution Section
|
|
├── Pain Points (3 Cards)
|
|
└── Solution Showcase
|
|
|
|
Interactive Demo
|
|
├── Live URL Shortener
|
|
├── Real-time Analytics Preview
|
|
└── QR Code Generator
|
|
|
|
Use Cases Carousel
|
|
├── Marketing Teams
|
|
├── Content Creators
|
|
├── Small Businesses
|
|
├── Events & Conferences
|
|
└── Restaurants & Retail
|
|
|
|
Integrations
|
|
├── Zapier
|
|
├── Slack
|
|
├── WordPress
|
|
└── API Documentation
|
|
|
|
Social Proof
|
|
├── Customer Testimonials
|
|
├── Logo Cloud
|
|
└── Case Studies
|
|
|
|
Pricing Toggle
|
|
├── Monthly/Annual Switch
|
|
├── Feature Comparison Table
|
|
└── FAQ Accordion
|
|
```
|
|
|
|
### Konzept C: "Storytelling & Trust"
|
|
|
|
#### Visuelle Identität
|
|
|
|
- **Farbschema**: Warm & Inviting (Purple, Orange, Cream)
|
|
- **Typografie**: Playfair Display + Source Sans Pro
|
|
- **Layout**: Story-driven, Long-form
|
|
- **Animationen**: Scroll-triggered Animations
|
|
|
|
#### Struktur
|
|
|
|
```
|
|
Hero Section
|
|
├── Value Proposition: "Every Link Tells a Story"
|
|
├── Trust Indicators: GDPR, SSL, Uptime
|
|
├── Video Background (subtle)
|
|
└── Dual CTA: "Start Your Story" + "See Examples"
|
|
|
|
Story Section
|
|
├── Timeline Animation
|
|
├── Problem → Solution → Success
|
|
└── Interactive Elements
|
|
|
|
Features as Benefits
|
|
├── "Save Time" → Bulk Creation
|
|
├── "Look Professional" → Custom Domains
|
|
├── "Know Your Audience" → Analytics
|
|
└── "Stay Secure" → Password Protection
|
|
|
|
Customer Success Stories
|
|
├── Before/After Scenarios
|
|
├── ROI Calculator
|
|
└── Video Testimonials
|
|
|
|
How It Works
|
|
├── Step 1: Create Account
|
|
├── Step 2: Shorten URLs
|
|
├── Step 3: Share & Track
|
|
└── Interactive Tutorial
|
|
|
|
Trust & Security
|
|
├── Data Privacy Policy
|
|
├── Security Features
|
|
├── Compliance Badges
|
|
└── Support Availability
|
|
|
|
Comparison Table
|
|
├── uLoad vs Bitly
|
|
├── uLoad vs TinyURL
|
|
└── uLoad vs Custom Solution
|
|
|
|
Final CTA
|
|
├── Limited Offer Banner
|
|
├── Testimonial
|
|
└── Start Free Trial
|
|
```
|
|
|
|
## 3. Empfohlenes Design: Hybrid-Ansatz
|
|
|
|
Nach Analyse empfehle ich eine **Kombination aus Konzept A und B**:
|
|
|
|
### Finale Struktur
|
|
|
|
```yaml
|
|
Navigation:
|
|
- Logo
|
|
- Features (Dropdown)
|
|
- Pricing
|
|
- Resources (Docs, API, Blog)
|
|
- Login
|
|
- Start Free (CTA)
|
|
|
|
Hero Section:
|
|
Headline: "Short Links That Work Harder"
|
|
Subheadline: "Professional URL management with real-time analytics, QR codes, and custom domains"
|
|
Primary CTA: "Start Free - No Credit Card"
|
|
Secondary CTA: "Live Demo"
|
|
Visual: Interactive Demo Widget
|
|
Trust Badge: "10,000+ users trust uLoad"
|
|
|
|
Features Section:
|
|
Layout: Bento Grid
|
|
Items:
|
|
- Analytics Dashboard (Large Card)
|
|
- QR Code Generator (Medium Card)
|
|
- Custom Domains (Medium Card)
|
|
- API Access (Small Card)
|
|
- Team Features (Small Card)
|
|
- Password Protection (Small Card)
|
|
|
|
How It Works:
|
|
Style: Minimal Steps
|
|
1. Paste Your URL
|
|
2. Customize Settings
|
|
3. Share Anywhere
|
|
Interactive: Live Preview
|
|
|
|
Use Cases:
|
|
Layout: Tab Component
|
|
- Marketing Campaigns
|
|
- Event Management
|
|
- Restaurant Menus
|
|
- Social Media Bio Links
|
|
|
|
Pricing:
|
|
Style: Clean Cards
|
|
- Starter (Free)
|
|
- Professional ($9/mo)
|
|
- Business ($29/mo)
|
|
- Enterprise (Custom)
|
|
Toggle: Monthly/Annual
|
|
|
|
Social Proof:
|
|
- Stats Bar
|
|
- Logo Cloud
|
|
- Featured Testimonial
|
|
|
|
FAQ:
|
|
Style: Accordion
|
|
Categories:
|
|
- Getting Started
|
|
- Features
|
|
- Pricing
|
|
- Security
|
|
|
|
Footer:
|
|
- Product Links
|
|
- Company Info
|
|
- Legal
|
|
- Social Media
|
|
```
|
|
|
|
## 4. Technische Implementierung
|
|
|
|
### Phase 1: Setup & Struktur (Woche 1)
|
|
|
|
#### Dateistruktur
|
|
|
|
```
|
|
src/routes/
|
|
├── (marketing)/ # Marketing-Bereich
|
|
│ ├── +layout.svelte # Spezielles Layout
|
|
│ ├── +page.svelte # Landing Page
|
|
│ ├── +page.server.ts # SSR & Prerendering
|
|
│ ├── features/
|
|
│ │ └── +page.svelte
|
|
│ ├── pricing/
|
|
│ │ └── +page.svelte
|
|
│ ├── about/
|
|
│ │ └── +page.svelte
|
|
│ └── use-cases/
|
|
│ └── +page.svelte
|
|
├── (app)/ # Bestehende App
|
|
│ ├── +layout.svelte
|
|
│ ├── dashboard/
|
|
│ └── ...
|
|
└── (api)/ # API Routes
|
|
└── demo/
|
|
└── +server.ts
|
|
```
|
|
|
|
#### Layout-Komponenten
|
|
|
|
```svelte
|
|
<!-- src/routes/(marketing)/+layout.svelte -->
|
|
<script lang="ts">
|
|
import MarketingNav from '$lib/components/marketing/MarketingNav.svelte';
|
|
import MarketingFooter from '$lib/components/marketing/MarketingFooter.svelte';
|
|
import { page } from '$app/stores';
|
|
|
|
// Minimal JS für Marketing-Seiten
|
|
export const prerender = true;
|
|
export const ssr = true;
|
|
</script>
|
|
|
|
<MarketingNav />
|
|
<main>
|
|
<slot />
|
|
</main>
|
|
<MarketingFooter />
|
|
```
|
|
|
|
### Phase 2: Komponenten-Entwicklung (Woche 2)
|
|
|
|
#### Core Components
|
|
|
|
```typescript
|
|
// Komponenten-Bibliothek
|
|
src/lib/components/marketing/
|
|
├── Hero.svelte
|
|
├── FeatureGrid.svelte
|
|
├── PricingCards.svelte
|
|
├── Testimonials.svelte
|
|
├── FAQ.svelte
|
|
├── CTASection.svelte
|
|
├── StatsBar.svelte
|
|
├── LiveDemo.svelte
|
|
├── TrustBadges.svelte
|
|
└── UseCasesTabs.svelte
|
|
```
|
|
|
|
#### Hero Component Beispiel
|
|
|
|
```svelte
|
|
<!-- src/lib/components/marketing/Hero.svelte -->
|
|
<script lang="ts">
|
|
import { onMount } from 'svelte';
|
|
import LiveDemo from './LiveDemo.svelte';
|
|
|
|
let urlInput = $state('');
|
|
let shortUrl = $state('');
|
|
let isLoading = $state(false);
|
|
|
|
async function handleDemo() {
|
|
isLoading = true;
|
|
// Demo-Logik
|
|
shortUrl = `ulo.ad/${Math.random().toString(36).substr(2, 6)}`;
|
|
isLoading = false;
|
|
}
|
|
</script>
|
|
|
|
<section
|
|
class="relative overflow-hidden bg-gradient-to-br from-purple-50 to-blue-50 dark:from-gray-900 dark:to-purple-900"
|
|
>
|
|
<div class="mx-auto max-w-7xl px-4 py-24 sm:px-6 lg:px-8">
|
|
<div class="grid gap-12 lg:grid-cols-2 lg:gap-8">
|
|
<!-- Content -->
|
|
<div class="flex flex-col justify-center">
|
|
<h1 class="text-5xl font-bold tracking-tight text-gray-900 sm:text-6xl dark:text-white">
|
|
Short Links That
|
|
<span class="bg-gradient-to-r from-purple-600 to-blue-600 bg-clip-text text-transparent">
|
|
Work Harder
|
|
</span>
|
|
</h1>
|
|
<p class="mt-6 text-lg text-gray-600 dark:text-gray-300">
|
|
Professional URL management with real-time analytics, QR codes, and custom domains. Start
|
|
free, upgrade when you need more.
|
|
</p>
|
|
<div class="mt-8 flex flex-wrap gap-4">
|
|
<a href="/register" class="btn-primary"> Start Free - No Credit Card </a>
|
|
<button class="btn-secondary" onclick={() => scrollToDemo()}> See Live Demo </button>
|
|
</div>
|
|
<div class="mt-8 flex items-center gap-4">
|
|
<div class="flex -space-x-2">
|
|
{#each [1, 2, 3, 4, 5] as i}
|
|
<div
|
|
class="h-8 w-8 rounded-full bg-gradient-to-br from-purple-400 to-blue-400 ring-2 ring-white"
|
|
></div>
|
|
{/each}
|
|
</div>
|
|
<p class="text-sm text-gray-600 dark:text-gray-400">Join 10,000+ users who trust uLoad</p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Live Demo -->
|
|
<div class="relative">
|
|
<LiveDemo />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Background Decoration -->
|
|
<div
|
|
class="absolute -top-40 -right-40 h-80 w-80 rounded-full bg-purple-300 opacity-20 blur-3xl"
|
|
></div>
|
|
<div
|
|
class="absolute -bottom-40 -left-40 h-80 w-80 rounded-full bg-blue-300 opacity-20 blur-3xl"
|
|
></div>
|
|
</section>
|
|
```
|
|
|
|
### Phase 3: Performance-Optimierung (Woche 3)
|
|
|
|
#### Prerendering Setup
|
|
|
|
```typescript
|
|
// src/routes/(marketing)/+page.server.ts
|
|
export const prerender = true;
|
|
export const trailingSlash = 'always';
|
|
|
|
export async function load() {
|
|
// Statische Daten für SSG
|
|
return {
|
|
stats: {
|
|
totalLinks: '10M+',
|
|
uptime: '99.9%',
|
|
responseTime: '50ms'
|
|
},
|
|
testimonials: await getTestimonials(),
|
|
features: await getFeatures()
|
|
};
|
|
}
|
|
```
|
|
|
|
#### Lazy Loading
|
|
|
|
```svelte
|
|
<script>
|
|
import { onMount } from 'svelte';
|
|
|
|
let InteractiveDemo;
|
|
|
|
onMount(async () => {
|
|
// Lazy load heavy components
|
|
const module = await import('$lib/components/marketing/InteractiveDemo.svelte');
|
|
InteractiveDemo = module.default;
|
|
});
|
|
</script>
|
|
|
|
{#if InteractiveDemo}
|
|
<InteractiveDemo />
|
|
{:else}
|
|
<div class="skeleton-loader h-96"></div>
|
|
{/if}
|
|
```
|
|
|
|
### Phase 4: Content & SEO (Woche 4)
|
|
|
|
#### SEO Optimierung
|
|
|
|
```svelte
|
|
<!-- src/routes/(marketing)/+page.svelte -->
|
|
<svelte:head>
|
|
<title>uLoad - Professional URL Shortener with Analytics</title>
|
|
<meta
|
|
name="description"
|
|
content="Create short, branded links with real-time analytics, QR codes, and custom domains. Start free, no credit card required."
|
|
/>
|
|
|
|
<!-- Open Graph -->
|
|
<meta property="og:title" content="uLoad - Short Links That Work Harder" />
|
|
<meta property="og:description" content="Professional URL management platform" />
|
|
<meta property="og:image" content="https://ulo.ad/og-image.png" />
|
|
<meta property="og:url" content="https://ulo.ad" />
|
|
|
|
<!-- Twitter -->
|
|
<meta name="twitter:card" content="summary_large_image" />
|
|
<meta name="twitter:title" content="uLoad - Professional URL Shortener" />
|
|
|
|
<!-- Schema.org -->
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "SoftwareApplication",
|
|
"name": "uLoad",
|
|
"applicationCategory": "BusinessApplication",
|
|
"offers": {
|
|
"@type": "Offer",
|
|
"price": "0",
|
|
"priceCurrency": "EUR"
|
|
}
|
|
}
|
|
</script>
|
|
</svelte:head>
|
|
```
|
|
|
|
## 5. Implementierungs-Timeline
|
|
|
|
### Sprint 1: Foundation (Woche 1-2)
|
|
|
|
- [ ] Marketing-Layout erstellen
|
|
- [ ] Navigation & Footer
|
|
- [ ] Hero Section
|
|
- [ ] Basic Routing
|
|
- [ ] Prerendering Setup
|
|
|
|
### Sprint 2: Core Sections (Woche 3-4)
|
|
|
|
- [ ] Feature Grid
|
|
- [ ] Pricing Cards
|
|
- [ ] How It Works
|
|
- [ ] Use Cases Tabs
|
|
- [ ] Stats Bar
|
|
|
|
### Sprint 3: Interactive Elements (Woche 5-6)
|
|
|
|
- [ ] Live Demo Widget
|
|
- [ ] URL Shortener Preview
|
|
- [ ] QR Code Generator Demo
|
|
- [ ] Analytics Preview
|
|
- [ ] Pricing Calculator
|
|
|
|
### Sprint 4: Trust & Conversion (Woche 7-8)
|
|
|
|
- [ ] Testimonials Carousel
|
|
- [ ] FAQ Accordion
|
|
- [ ] Trust Badges
|
|
- [ ] Social Proof
|
|
- [ ] CTA Optimierung
|
|
|
|
### Sprint 5: Polish & Launch (Woche 9-10)
|
|
|
|
- [ ] Performance Testing
|
|
- [ ] SEO Audit
|
|
- [ ] A/B Testing Setup
|
|
- [ ] Analytics Integration
|
|
- [ ] Launch Vorbereitung
|
|
|
|
## 6. Technische Spezifikationen
|
|
|
|
### Performance-Ziele
|
|
|
|
- Lighthouse Score: > 95
|
|
- First Contentful Paint: < 1.0s
|
|
- Time to Interactive: < 2.5s
|
|
- Cumulative Layout Shift: < 0.1
|
|
- Bundle Size: < 150KB (Initial)
|
|
|
|
### Browser-Support
|
|
|
|
- Chrome 90+
|
|
- Firefox 88+
|
|
- Safari 14+
|
|
- Edge 90+
|
|
- Mobile: iOS 13+, Android 10+
|
|
|
|
### Responsive Breakpoints
|
|
|
|
```css
|
|
/* Tailwind Breakpoints */
|
|
sm: 640px /* Tablets */
|
|
md: 768px /* Small Laptops */
|
|
lg: 1024px /* Desktops */
|
|
xl: 1280px /* Large Screens */
|
|
2xl: 1536px /* Extra Large */
|
|
```
|
|
|
|
## 7. Content-Strategie
|
|
|
|
### Headlines & Copy
|
|
|
|
```yaml
|
|
Primary Headlines:
|
|
- 'Short Links That Work Harder'
|
|
- 'Every Click Tells a Story'
|
|
- 'Professional URLs, Personal Touch'
|
|
|
|
Value Props:
|
|
- 'Real-time analytics included'
|
|
- 'QR codes in one click'
|
|
- 'Your brand, your domain'
|
|
- 'GDPR compliant & secure'
|
|
|
|
CTAs:
|
|
Primary: 'Start Free - No Credit Card'
|
|
Secondary: 'See Live Demo'
|
|
Tertiary: 'View Pricing'
|
|
```
|
|
|
|
### Use Cases Content
|
|
|
|
1. **Marketing Teams**: Track campaign performance
|
|
2. **Restaurants**: Digital menus with QR codes
|
|
3. **Events**: Registration & check-in links
|
|
4. **Influencers**: Bio link management
|
|
5. **E-commerce**: Product link tracking
|
|
|
|
## 8. Testing & Optimierung
|
|
|
|
### A/B Tests
|
|
|
|
1. **Hero CTA**: Button vs. Form
|
|
2. **Pricing**: 3 vs. 4 Tiers
|
|
3. **Social Proof**: Stats vs. Testimonials
|
|
4. **Demo**: Embedded vs. Modal
|
|
5. **Navigation**: Sticky vs. Static
|
|
|
|
### Analytics Events
|
|
|
|
```typescript
|
|
// Tracking-Events
|
|
trackEvent('landing_page_view');
|
|
trackEvent('demo_interaction');
|
|
trackEvent('pricing_view');
|
|
trackEvent('cta_click', { location: 'hero' });
|
|
trackEvent('signup_intent');
|
|
```
|
|
|
|
## 9. Wartung & Updates
|
|
|
|
### Monatliche Tasks
|
|
|
|
- Content-Updates (Stats, Testimonials)
|
|
- Performance-Monitoring
|
|
- A/B Test Auswertung
|
|
- SEO-Optimierung
|
|
- Conversion-Analyse
|
|
|
|
### Quarterly Reviews
|
|
|
|
- Feature-Updates kommunizieren
|
|
- Pricing-Strategie überprüfen
|
|
- Competitor-Analyse
|
|
- Design-Refresh Evaluation
|
|
|
|
## 10. Erfolgsmetriken
|
|
|
|
### KPIs
|
|
|
|
1. **Conversion Rate**: Besucher → Registrierung (Ziel: 3-5%)
|
|
2. **Bounce Rate**: < 40%
|
|
3. **Time on Page**: > 2 Minuten
|
|
4. **Demo Interactions**: > 30% der Besucher
|
|
5. **Mobile Performance**: > 50% Mobile Traffic
|
|
|
|
### Tracking Setup
|
|
|
|
```javascript
|
|
// Google Analytics 4
|
|
gtag('config', 'GA_MEASUREMENT_ID', {
|
|
page_path: url.pathname,
|
|
custom_map: {
|
|
dimension1: 'user_type',
|
|
dimension2: 'referral_source'
|
|
}
|
|
});
|
|
|
|
// Conversion Tracking
|
|
gtag('event', 'conversion', {
|
|
send_to: 'AW-CONVERSION_ID/CONVERSION_LABEL',
|
|
value: 1.0,
|
|
currency: 'EUR'
|
|
});
|
|
```
|
|
|
|
## Fazit & Nächste Schritte
|
|
|
|
### Sofort-Maßnahmen (Diese Woche)
|
|
|
|
1. Marketing-Route-Struktur anlegen
|
|
2. Hero-Section Prototyp
|
|
3. Content-Sammlung beginnen
|
|
4. Design-System erweitern
|
|
|
|
### Prioritäten
|
|
|
|
1. **Must-Have**: Hero, Features, Pricing, CTA
|
|
2. **Should-Have**: Demo, Testimonials, FAQ
|
|
3. **Nice-to-Have**: Blog, Case Studies, Comparison
|
|
|
|
### Ressourcen-Bedarf
|
|
|
|
- **Design**: 40 Stunden
|
|
- **Development**: 80 Stunden
|
|
- **Content**: 20 Stunden
|
|
- **Testing**: 20 Stunden
|
|
- **Total**: ~160 Stunden (4 Wochen bei Vollzeit)
|
|
|
|
### Risiken & Mitigation
|
|
|
|
1. **Performance**: Prerendering & Code-Splitting
|
|
2. **SEO**: Structured Data & Meta-Tags
|
|
3. **Conversion**: A/B Testing & Analytics
|
|
4. **Maintenance**: Component-Library & Documentation
|
|
|
|
---
|
|
|
|
_Erstellt am: Januar 2025_
|
|
_Projekt: uLoad (ulo.ad)_
|
|
_Version: 1.0_
|