text:
import {Container, inject, transient, singleton, Lazy, All, Optional, Parent} from 'aurelia-dependency-injection';
import {Decorators, Metadata} from 'aurelia-metadata';

export var run = () => {
    describe('container', () => {
        describe('injection', () => {
            it('01: instantiates class without injected services', function () {
                var container = new Container();
                var app = container.get(App_01);

                expect(app).toEqual(jasmine.any(App_01));
            });

            it('02: uses static inject method (ES6)', function () {
                var container = new Container();
                var app = container.get(App_02);

                expect(app.logger).toEqual(jasmine.any(Logger_02));
            });

            it('03: uses static inject property (TypeScript,CoffeeScript,ES5)', function () {
                App_03.inject = [Logger_03];

                var container = new Container();
                var app = container.get(App_03);

                expect(app.logger).toEqual(jasmine.any(Logger_03));
            });
        });

        describe('registration', () => {
            it('04: asserts keys are defined', () => {
                var container = new Container();

                expect(() => container.get(null)).toThrow();
                expect(() => container.get(undefined)).toThrow();

                expect(() => container.get(null)).toThrow();
                expect(() => container.get(undefined)).toThrow();

                expect(() => container.registerInstance(null, {})).toThrow();
                expect(() => container.registerInstance(undefined, {})).toThrow();

                expect(() => container.registerSingleton(null)).toThrow();
                expect(() => container.registerSingleton(undefined)).toThrow();

                expect(() => container.registerTransient(null)).toThrow();
                expect(() => container.registerTransient(undefined)).toThrow();

                expect(() => container.autoRegister(null)).toThrow();
                expect(() => container.autoRegister(undefined)).toThrow();

                expect(() => container.autoRegisterAll([null])).toThrow();
                expect(() => container.autoRegisterAll([undefined])).toThrow();

                expect(() => container.registerHandler(null, null)).toThrow();
                expect(() => container.registerHandler(undefined, null)).toThrow();

                expect(() => container.hasHandler(null)).toThrow();
                expect(() => container.hasHandler(undefined)).toThrow();
            });

            it('05: automatically configures as singleton', () => {
                inject(Logger_05)(App1_05);
                inject(Logger_05)(App2_05);

                var container = new Container();
                var app1 = container.get(App1_05);
                var app2 = container.get(App2_05);

                expect(app1.logger).toBe(app2.logger);
            });

            it('06: configures singleton via api', () => {
                inject(Logger_06)(App1_06);
                inject(Logger_06)(App2_06);

                var container = new Container();
                container.registerSingleton(Logger_06, Logger_06);

                var app1 = container.get(App1_06);
                var app2 = container.get(App2_06);

                expect(app1.logger).toBe(app2.logger);
            });

            it('07: configures singleton via metadata method (ES6)', () => {
                var container = new Container();
                var app1 = container.get(App1_07);
                var app2 = container.get(App2_07);

                expect(app1.logger).toBe(app2.logger);
            });

            it('08: configures singleton via metadata property (ES5, AtScript, TypeScript, CoffeeScript)', () => {
                Logger_08.decorators = (<any>Decorators).singleton();

                var container = new Container();
                var app1 = container.get(App1_08);
                var app2 = container.get(App2_08);

                expect(app1.logger).toBe(app2.logger);
            });

            it('09: configures transient (non singleton) via api', () => {
                var container = new Container();
                container.registerTransient(Logger_09, Logger_09);

                var app1 = container.get(App1_09);
                var app2 = container.get(App2_09);

                expect(app1.logger).not.toBe(app2.logger);
            });

            it('10: configures transient (non singleton) via metadata method (ES6)', () => {
                var container = new Container();
                var app1 = container.get(App1_10);
                var app2 = container.get(App2_10);

                expect(app1.logger).not.toBe(app2.logger);
            });

            it('11: configures transient (non singleton) via metadata property (ES5, ES7, TypeScript, CoffeeScript)', () => {
                Logger_11.decorators = (<any>Decorators).transient();

                var container = new Container();
                var app1 = container.get(App1_11);
                var app2 = container.get(App2_11);

                expect(app1.logger).not.toBe(app2.logger);
            });

            it('12: configures instance via api', () => {
                var container = new Container();
                var instance = new Logger_12();
                container.registerInstance(Logger_12, instance);

                var app1 = container.get(App1_12);
                var app2 = container.get(App2_12);

                expect(app1.logger).toBe(instance);
                expect(app2.logger).toBe(instance);
            });

            it('13: configures custom via api', () => {
                var container = new Container();
                container.registerHandler(Logger_13, c => "something strange");

                var app1 = container.get(App1_13);
                var app2 = container.get(App2_13);

                expect(app1.logger).toEqual("something strange");
                expect(app2.logger).toEqual("something strange");
            });

            it('14: uses base metadata method (ES6) when derived does not specify', () => {
                var container = new Container();
                var app1 = container.get(App1_14);
                var app2 = container.get(App2_14);

                expect(app1.logger).not.toBe(app2.logger);
            });

            it('15: uses base metadata property (ES5, ES7, TypeScript, CoffeeScript) when derived does not specify', () => {
                var container = new Container();
                var app1 = container.get(App1_15);
                var app2 = container.get(App2_15);

                expect(app1.logger).not.toBe(app2.logger);
            });

            it('16: overrides base metadata method (ES6) with derived configuration', () => {
                var container = new Container();
                var app1 = container.get(App1_16);
                var app2 = container.get(App2_16);

                expect(app1.logger).not.toBe(app2.logger);
            });

            it('17: overrides base metadata property (ES5, ES7, TypeScript, CoffeeScript) with derived configuration', () => {
                Logger_17.decorators = (<any>Decorators).transient();

                var container = new Container();
                var app1 = container.get(App1);
                var app2 = container.get(App2_17);

                expect(app1.logger).not.toBe(app2.logger);
            });

            it('18: configures key as service when transient api only provided with key', () => {
                var container = new Container();
                container.registerTransient(Logger_18);

                var logger1 = container.get(Logger_18),
                    logger2 = container.get(Logger_18);

                expect(logger1).toEqual(jasmine.any(Logger_18));
                expect(logger2).toEqual(jasmine.any(Logger_18));
                expect(logger2).not.toBe(logger1);
            });

            it('19: configures key as service when singleton api only provided with key', () => {
                var container = new Container();
                container.registerSingleton(Logger_19);

                var logger1 = container.get(Logger_19),
                    logger2 = container.get(Logger_19);

                expect(logger1).toEqual(jasmine.any(Logger_19));
                expect(logger2).toEqual(jasmine.any(Logger_19));
                expect(logger2).toBe(logger1);
            });

            it('20: configures concrete singelton via api for abstract dependency', () => {
                var container = new Container();
                container.registerSingleton(LoggerBase_20, Logger_20);

                var app = container.get(App_20);

                expect(app.logger).toEqual(jasmine.any(Logger_20));
            });

            it('21: configures concrete transient via api for abstract dependency', () => {
                var container = new Container();
                container.registerTransient(LoggerBase_21, Logger_21);

                var app = container.get(App_21);

                expect(app.logger).toEqual(jasmine.any(Logger_21));
            });

            it('22: doesn\'t get hidden when a super class adds metadata which doesn\'t include the base registration type', () => {
                Reflect.defineMetadata('something', 'test', Logger_22);

                var container = new Container();
                var app1 = container.get(App1_22);
                var app2 = container.get(App2_22);

                expect(app1.logger).not.toBe(app2.logger);
            });

            describe('Custom resolvers', () => {
                describe('Lazy', () => {
                    it('23: provides a function which, when called, will return the instance', () => {
                        var container = new Container();
                        var app1 = container.get(App1_23);

                        var logger = app1.getLogger;

                        expect(logger()).toEqual(jasmine.any(Logger_23));
                    });
                });

                describe('All', () => {
                    it('24: resolves all matching dependencies as an array of instances', () => {
                        var container = new Container();
                        container.registerSingleton(LoggerBase_24, VerboseLogger_24);
                        container.registerTransient(LoggerBase_24, Logger_24);
                        var app = container.get(App_24);

                        expect(app.loggers).toEqual(jasmine.any(Array));
                        expect(app.loggers.length).toBe(2);
                        expect(app.loggers[0]).toEqual(jasmine.any(VerboseLogger_24));
                        expect(app.loggers[1]).toEqual(jasmine.any(Logger_24));
                    });
                });

                describe('Optional', () => {
                    it('25: injects the instance if its registered in the container', () => {

                        var container = new Container();
                        container.registerSingleton(Logger_25, Logger_25);
                        var app = container.get(App_25);

                        expect(app.logger).toEqual(jasmine.any(Logger_25));
                    });

                    it('26: injects null if key is not registered in the container', () => {
                        var container = new Container();
                        container.registerSingleton(VerboseLogger_26, Logger_26);
                        var app = container.get(App_26);

                        expect(app.logger).toBe(null);
                    });

                    it('27: injects null if key nor function is registered in the container', () => {
                        var container = new Container();
                        var app = container.get(App_27);

                        expect(app.logger).toBe(null);
                    });

                    it('28: doesn\'t check the parent container hierarchy when checkParent is false or default', () => {
                        var parentContainer = new Container();
                        parentContainer.registerSingleton(Logger_28, Logger_28);

                        var childContainer = parentContainer.createChild();
                        childContainer.registerSingleton(App_28, App_28);

                        var app = childContainer.get(App_28);

                        expect(app.logger).toBe(null);
                    });

                    it('29: checks the parent container hierarchy when checkParent is true', () => {
                        var parentContainer = new Container();
                        parentContainer.registerSingleton(Logger_29, Logger_29);

                        var childContainer = parentContainer.createChild();
                        childContainer.registerSingleton(App_29, App_29);

                        var app = childContainer.get(App_29);

                        expect(app.logger).toEqual(jasmine.any(Logger_29));
                    });
                });

                describe('Parent', () => {
                    it('30: bypasses the current container and injects instance from parent container', () => {
                        var parentContainer = new Container();
                        var parentInstance = new Logger_30();
                        parentContainer.registerInstance(Logger_30, parentInstance);

                        var childContainer = parentContainer.createChild();
                        var childInstance = new Logger_30();
                        childContainer.registerInstance(Logger_30, childInstance);
                        childContainer.registerSingleton(App_30, App_30);

                        var app = childContainer.get(App_30);

                        expect(app.logger).toBe(parentInstance);
                    });

                    it('31: returns null when no parent container exists', () => {
                        var container = new Container();
                        var instance = new Logger_31();
                        container.registerInstance(Logger_31, instance);

                        var app = container.get(App_31);

                        expect(app.logger).toBe(null);
                    });
                });
            });
        });
    });
}

// 01 ------------------------------------------------------------------
class App_01 { }

// 02 ------------------------------------------------------------------
class Logger_02 { }

class App_02 {
    static inject() { return [Logger_02]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 03 ------------------------------------------------------------------
class Logger_03 { }

class App_03 {
    static inject;
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 04 ------------------------------------------------------------------

// 05 ------------------------------------------------------------------
class Logger_05 { }

class App1_05 {
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

class App2_05 {
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 06 ------------------------------------------------------------------
class Logger_06 { }

class App1_06 {
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

class App2_06 {
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 07 ------------------------------------------------------------------
class Logger_07 {
    static decorators() { return (<any>Decorators).singleton(); };
}

class App1_07 {
    static inject() { return [Logger_07]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

class App2_07 {
    static inject() { return [Logger_07]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 08 ------------------------------------------------------------------
class Logger_08 {
    static decorators;
}

class App1_08 {
    static inject() { return [Logger_08]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

class App2_08 {
    static inject() { return [Logger_08]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 09 ------------------------------------------------------------------
class Logger_09 { }

class App1_09 {
    static inject() { return [Logger_09]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

class App2_09 {
    static inject() { return [Logger_09]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 10 ------------------------------------------------------------------
class Logger_10 {
    static decorators() { return (<any>Decorators).transient(); };
}

class App1_10 {
    static inject() { return [Logger_10]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

class App2_10 {
    static inject() { return [Logger_10]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 11 ------------------------------------------------------------------
class Logger_11 {
    static decorators;
}

class App1_11 {
    static inject() { return [Logger_11]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

class App2_11 {
    static inject() { return [Logger_11]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 12 ------------------------------------------------------------------
class Logger_12 { }

class App1_12 {
    static inject() { return [Logger_12]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

class App2_12 {
    static inject() { return [Logger_12]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 13 ------------------------------------------------------------------
class Logger_13 { }

class App1_13 {
    static inject() { return [Logger_13]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

class App2_13 {
    static inject() { return [Logger_13]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 14 ------------------------------------------------------------------
class LoggerBase_14 {
    static decorators() { return (<any>Decorators).transient(); };
}

class Logger_14 extends LoggerBase_14 {

}

class App1_14 {
    static inject() { return [Logger_14]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

class App2_14 {
    static inject() { return [Logger_14]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 15 ------------------------------------------------------------------
class LoggerBase_15 {
    static decorators;
}
LoggerBase_15.decorators = (<any>Decorators).transient();

class Logger_15 extends LoggerBase_15 { }

class App1_15 {
    static inject() { return [Logger_15]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

class App2_15 {
    static inject() { return [Logger_15]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 16 ------------------------------------------------------------------
class LoggerBase_16 {
    static decorators() { return (<any>Decorators).singleton(); };
}

class Logger_16 extends LoggerBase_16 {
    static decorators() { return (<any>Decorators).transient(); };
}

class App1_16 {
    static inject() { return [Logger_16]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

class App2_16 {
    static inject() { return [Logger_16]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 17 ------------------------------------------------------------------
class LoggerBase_17 {
    static decorators() { return (<any>Decorators).singleton(); };
}

class Logger_17 extends LoggerBase_17 { }

class App1 {
    static inject() { return [Logger_17]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

class App2_17 {
    static inject() { return [Logger_17]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 18 ------------------------------------------------------------------
class Logger_18 { }

// 19 ------------------------------------------------------------------
class Logger_19 { }

// 20 ------------------------------------------------------------------
class LoggerBase_20 { }
class Logger_20 extends LoggerBase_20 { }

class App_20 {
    static inject() { return [LoggerBase_20]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}
// 21 ------------------------------------------------------------------
class LoggerBase_21 { }
class Logger_21 extends LoggerBase_21 { }

class App_21 {
    static inject() { return [LoggerBase_21]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 22 ------------------------------------------------------------------
class LoggerBase_22 {
    static decorators() { return (<any>Decorators).transient(); };
}

class Logger_22 extends LoggerBase_22 {
}

class App1_22 {
    static inject() { return [Logger_22]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

class App2_22 {
    static inject() { return [Logger_22]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 23 ------------------------------------------------------------------
class Logger_23 { }

class App1_23 {
    static inject() { return [Lazy.of(Logger_23)]; };
    getLogger;
    constructor(getLogger) {
        this.getLogger = getLogger;
    }
}

// 24 ------------------------------------------------------------------
class LoggerBase_24 { }

class VerboseLogger_24 extends LoggerBase_24 { }

class Logger_24 extends LoggerBase_24 { }

class App_24 {
    static inject() { return [All.of(LoggerBase_24)]; };
    loggers;
    constructor(loggers) {
        this.loggers = loggers;
    }
}

// 25 ------------------------------------------------------------------
class Logger_25 { }

class App_25 {
    static inject() { return [Optional.of(Logger_25)]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 26 ------------------------------------------------------------------
class VerboseLogger_26 { }
class Logger_26 { }

class App_26 {
    static inject() { return [Optional.of(Logger_26)]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 27 ------------------------------------------------------------------
class VerboseLogger_27 { }
class Logger_27 { }

class App_27 {
    static inject() { return [Optional.of(Logger_27)]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 28 ------------------------------------------------------------------
class Logger_28 { }

class App_28 {
    static inject() { return [Optional.of(Logger_28)]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 29 ------------------------------------------------------------------
class Logger_29 { }

class App_29 {
    static inject() { return [Optional.of(Logger_29, true)]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 30 ------------------------------------------------------------------
class Logger_30 { }

class App_30 {
    static inject() { return [Parent.of(Logger_30)]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}

// 31 ------------------------------------------------------------------
class Logger_31 { }

class App_31 {
    static inject() { return [Parent.of(Logger_31)]; };
    logger;
    constructor(logger) {
        this.logger = logger;
    }
}


text:
Le motonautisme est une famille de sports de compétition consistant en des courses de bateaux propulsés par des moteurs.

Les principales disciplines du motonautisme sont la vitesse inshore, l'endurance et la vitesse offshore. Plus confidentielles, on citera également les courses de rallye et les courses de type dragster, sur des distances ultracourtes. Ces différentes disciplines sont couvertes par plusieurs fédérations internationales telles l'Union internationale motonautique (UIM), reconnue par le CIO, ou l'International Jet Sports Boating Association et l'American Power Boat Association. En Amérique du nord, une partie importante des courses au Canada et aux États-Unis est sous la gouverne de la Ligue des régates d'hydroplane (HRL) et des Régates de Valleyfield dont le siège est situé à Salaberry-de-Valleyfield au Québec.

Histoire
La première course de bateaux à moteur se tient en France sur le bassin d'Asnières-Courbevoie en 1898. Une course entre Calais et Douvres en Angleterre est ensuite organisée en 1903.

Plusieurs meetings internationaux ont lieu au début du  à Monaco, sur un parcours relativement abrité, mais avec la fiabilité croissante des mécaniques, un défi autrement plus ambitieux est lancé en  : rien moins que la traversée de la Méditerranée entre Alger et Toulon soit cinq cents nautiques (environ ). Cette épreuve est médiatisée et parrainée par le quotidien populaire à sensation le Matin.

Il y a sept concurrents au départ, escortés par autant de torpilleurs de la Marine nationale française, plus le croiseur Kléber, le temps clément sur la première étape Alger-Baléares se détériore très vite lors de la seconde, avec des vagues courtes et dures levées par la tramontane (une caractéristique de la Méditerranée).

Le dernier concurrent à abandonner est une concurrente :  Camille du Gast, une riche héritière parisienne, pionnière des sports mécaniques, repêchée de justesse par les matelots du Kléber. Son canot automobile de , pris en remorque finira par couler. Le jury de l'épreuve lui attribuera la victoire après deux mois de réflexion. On peut y voir l'acte de naissance de la course motonautique au large ou «  ».

Le motonautisme fut sport de démonstration lors des Jeux olympiques de 1900 puis fut inscrit au programme olympique pour l'édition 1908. Trois titres furent décernés à Londres, deux couronnèrent des Britanniques et le dernier un Français, dans la catégorie open.

En 1917, le premier moteur hors-bord est mis au point. Il favorise le développement du motonautisme.

Sous l'impulsion de l'Irlandais John Ward, l'Union internationale motonautique (UIM) est créée, à Bruxelles, en 1922. Elle tient à jour l'homologation des records de vitesse depuis 1928 et met en place des championnats du monde en 1938.

Toutefois, après la Première Guerre mondiale, l'évolution du sport motonautique diffère nettement suivant les différents pays et en particulier entre l'Europe et les États-Unis.

Un trait d'union commun aux deux rives de l'Atlantique sera cependant la très dangereuse quête du record absolu de vitesse sur l'eau qui causera la mort de beaucoup d'aspirants recordmen.

Les catégories de compétition reflètent alors les différences entre les industries locales, tant au niveau des coques que des moteurs ainsi que le statut de ce sport (amateur ou professionnel, exposition médiatique, engouement populaire) le tout lié au niveau de vie et  au développement industriel du pays concerné. Les progrès faits par les coques et les moteurs (notamment les moteurs d'avion) durant la guerre 14-18 vont se retrouver dans le domaine sportif.

Record mondial de vitesse sur l'eau

Après la guerre de 14-18, les moteurs d'avion en surplus se retrouvent nombreux sur le marché, notamment les V8 Hispano-Suiza (surnommés Hisso aux États-Unis où ils sont fabriqués sous licence par la firme Curtiss-Wright) qui propulsaient les avions SPAD de Guynemer et de Rickenbacker et surtout les moteurs V12 Liberty, produits en masse aux États-Unis par la firme Allison dans le cadre d'un programme d'État, et finalement peu utilisés pour cause d'armistice. Délivrant plus de  sans préparation ni gonflage ces moteurs vont être abondamment utilisés pour propulser des « racers » motonautiques lancés à la conquête du record mondial de vitesse sur l'eau.

Aux États-Unis, la course à la puissance est exacerbée par un facteur a priori totalement incongru: La prohibition antialcoolique (Loi Volstead). Les constructeurs de bateaux comme Chris-Craft, Gar Wood ou Hacker-Craft développent des rum-runners, canots automobiles surmotorisés évoluant sur les Grands Lacs, entre le Canada et Chicago, où les contrebandiers et la pègre font la loi. Dans ce contexte largement médiatisé par les journalistes, l'intérêt du public est attiré vers le motonautisme et les courses de bateaux ultra-rapides sont en partie nées de la contrebande (comme dans les années 1940 et 1950 les courses automobiles de stock-car naîtront du transport illégal d'alcool fabriqué à la ferme, ou Moonshine).

En Italie, l'engouement existe aussi mais pour d'autres raisons : les plus grandes victoires de la marine italienne ont été obtenues non par des gros navires, mais par de petites embarcations lance-torpilles ultra rapides et propulsées par des moteurs Isotta-Fraschini techniquement très avancés, les MAS, au cours d'actions surprise contre la flotte austro-hongroise. Le principal promoteur de ces actions a été l'amiral Costanzo Ciano (dont le fils Galeazzo épousera la fille aînée de Mussolini). Ces actions d'éclat ont été abondamment utilisées par la propagande, savamment orchestrée par un maître en la matière, Gabriele d'Annunzio, qui avait embarqué sur une MAS lors du raid de Bakar (et récupérera l'embarcation pour s'en servir comme yacht sur le lac de Garde). Les sports mécaniques (course automobile, motocycliste, motonautique ou encore les records aériens) ont une aura de modernité que la propagande du régime mussolinien va exploiter à fond durant les vingt années du fascisme.

En Angleterre, qui a créé, dès 1904, un trophée sportif motonautique entre nations (comme la Coupe de l'America pour la voile), la , le nautisme est populaire et la conquête du record de vitesse (où les Américains dominent nettement entre les deux guerres mondiales grâce à un circuit de compétitions structuré qui est gage d'innovations et grâce aussi à un champion d'exception, ) est quasiment une cause nationale en vertu de la vocation maritime du Royaume-Uni, alors grande puissance maritime et coloniale.

L'industrie britannique utilise le vecteur de la course et des records motonautiques pour promouvoir ses produits : Les canots de course sont propulsés par des moteurs d'avion Rolls-Royce (comme le fameux V12 Rolls-Royce R  éprouvé également dans le cadre de la coupe Schneider ou sur de monstrueuses automobiles de record terrestre, qui préfigure le moteur Merlin, utilisé sur les avions de chasse de la bataille d'Angleterre) ou les très exotiques moteurs Napier Lion, Sabre et Vulture, surpuissants mais très délicats à mettre au point.

Les coques sont souvent réalisées dans des chantiers qui ont la double vocation d'avionneurs (les années 1920 à 1940 sont l'âge d'or de l'hydraviation) et de constructeurs de vedettes rapides pour les domaines militaires et civils : Saunders Roe à Cowes, Vosper-Thornycroft, etc. Les pilotes sont des amateurs fortunés, comme Malcolm Campbell, Henry Seagrave ou encore John Cobb, prêts à risquer leur vie pour la gloire médiatique, mais aussi par patriotisme.

Les défis anglais dans le cadre du trophée Harmsworth, ou les assauts montés contre le record absolu de vitesse sont le fait d'équipes structurées autour de coureurs, financés par un club de mécènes et bénéficiant du soutien technique de l'industrie mécanique, navale et aéronautique, qui y trouve un banc d'essai intéressant pour des applications civiles et militaires.

On peut citer Henry Seagrave et ses  : le I, monomoteur (Napier Lion  en W) trop peu puissant, avec  en 1929, pour le record absolu.

Le II, propulsé par deux moteurs Rolls Ryce R, attelés sur une hélice unique aura une carrière aussi glorieuse que dramatique, chavirant sur le lac Windermere alors même que le record venait d'être battu (), tuant Henry Seagrave et blessant grièvement son mécanicien. Repêché, amélioré, et remis en service avec Kaye Don aux commandes, il sera en 1930 / 1931 le protagoniste d'un mano a mano épique avec Gar Wood, lui reprenant deux fois le titre avec un record à  sur le lac de Garde. À cette occasion, le volant tordu lors de l'accident mortel de Seagrave sera remis à D'Annunzio qui le consacrera « relique de la religion du courage » et l'exposera dans sa villa-musée du Vittoriale.

Le commanditaire, lord Wakefield, financera un troisième Miss England (deux moteurs Rolls Royce R cette fois équipés de turbo-compresseurs sophistiqués et attelés sur deux arbres d'hélice distincts) avec une carène à redan, façon hydravion, qui, toujours avec Kaye Don aux commandes, reprendra le record à  en  sur le Loch Lomond, pour le reperdre peu après, lorsque Gar Wood dégainera son « arme absolue », Le superlatif Miss America X,à quatre moteurs, capable de plus de .

D'autres pilotes britanniques notoires contesteront la suprématie du champion américain:

Hubert Scott Paine et son révolutionnaire  en aluminium sera à un cheveu de le battre lors de courses sur circuit en 1932, mais son canot monomoteur (un R.R. R poussé à ) capable de  était trop « juste » pour le record absolu. Il est aujourd'hui exposé au musée maritime de Greenwich.

Autre protagoniste britannique célèbre, Sir Malcolm Campbell, avec ses Bluebird K3, puis K4, des canots de course peints en bleu et décorés de l'oiseau magique de Maeterlinck reprit le record pour le Royaume-Uni en l'améliorant à quatre reprises après la retraite sportive de GarWood (record porté à  sur le lac de Coniston, battu en 1950 par le SloMoShun de l'américain Stanley Sayres).

Après la Seconde Guerre mondiale, son fils Donald devait continuer la tradition familiale, en le payant de sa vie, aux commandes du Bluebird K7 propulsé par un réacteur d'avion de chasse.

Les Italiens ont une très réelle culture du motonautisme de compétition, mais l'état de leur industrie est un vrai handicap.

L'ingénieur vénitien Attilio Bisio, dont le chantier SVAN a construit de rutilants bateaux-taxi pour la ville de Venise, puis des vedettes lance-torpilles MAS durant la Grande guerre en exploitant le potentiel des moteurs Isotta Fraschini, se lance dans une tentative parrainée par Gabriele d'Annunzio.

Le racer baptisé symboliquement Spalato (le nom italien de la ville croate de Split, revendiquée à cor et à cri par les nationalistes italiens) est d'un bon niveau (crédité d'un chrono de  en 1924) mais insuffisant pour battre le record.

Par la suite, la rivalité anglo-américaine et l'incapacité de l'industrie italienne de produire des moteurs équivalents à ceux de la concurrence (une lacune que l'aviation militaire italienne paiera durement une fois la Seconde Guerre Mondiale déclarée) écarteront les Italiens du tableau des records.

Cependant l'enthousiasme est bien là : à l'instigation de d'Annunzio, des épreuves «  » sont organisées sur le lac de Garde (la coppa dell' Oltranza, littéralement « coupe de l'outrance »).

Une course motonautique annuelle sur le Pô, entre Pavie et Venise attire les concurrents, foules et les médias (très encadrés à l'époque fasciste), c'est une sorte de rallye-raid sur un fleuve rapide et fantasque, comportant de nombreux pièges naturels (courants, troncs d'arbres immergés, bancs de sable, etc). On y voit souvent figurer, et gagner, des hydroglisseurs, mus par une hélice aérienne qui a l'avantage de ne rien risquer dans un choc avec un obstacle submergé.

À cette époque le record a d'ailleurs été brièvement détenu par un engin de ce type, construit par Farman, qui a atteint  sur la Seine, aux mains d'un pilote américain.

Signe des temps, les personnalités du régime s'y affichent et Vito Mussolini(neveu du dictateur et directeur du journal Popolo d'Italia) y pilote un hydroglisseur engagé par la milice fasciste (la MSVN).

Le « campionissimo » du motonautisme italien de l'Entre-deux-guerres est le comte Teofilo Rossi di Montelera, richissime héritier de la firme d'apéritifs Martini & Rossi.

En 1938, il réussit un coup d'éclat en remportant la très prestigieuse Gold Cup de APBA (cf. infra), à Détroit, aux États-Unis, battant les Américains à domicile, une victoire abondamment médiatisée par les actualités officielles luce avec son racer, très symboliquement baptisé Alagi (du nom d'une bataille livrée aux Éthiopiens par les troupes coloniales italiennes).

La firme Martini & Rossi conservera jusqu'aux années 1990 une tradition de sponsoring dans les épreuves motonautiques (notamment offshore) en souvenir de ce très réel champion, que seul le manque de matériel national compétitif a empêché de s'illustrer dans la course au record.

Côté américain, les courses sur circuit sont organisées par une fédération nationale, l'APBRA, avec différentes catégories de cylindrée, culminant avec la classe « Unlimited » (Sans restriction). Les bateaux de la catégorie Unlimited, utilisés pour des courses sur circuit sont des compétiteurs naturels pour le record absolu de vitesse nautique.

Le contexte d'un championnat organisé (L'APBA Gold Cup) et de l'émulation qui va avec, en fait un véritable laboratoire d'innovations, tant pour les dessins de coques et d'hélices que pour la préparation des moteurs.

L'industriel et inventeur Garfield Wood, qui a fait fortune en exploitant des inventions comme la benne basculante ou le camion-poubelle broyeur, est la figure de proue du motonautisme américain des années 1920 et 1930.

Pilote talentueux, constructeur de bateaux (dont certains sont vendus à des bootleggers), mécanicien-préparateur inventif et minutieux « Gar » Wood remporte sa première de ses cinq Gold Cup en 1917 et entre les courses, monte régulièrement des tentatives contre le record de vitesse aquatique ou des défis anglo-américains dans le cadre du trophée Harmsworth. Son approche dans la conquête du record est du type « force brute » : de la puissance, toujours plus de puissance.

Le Miss America II de 1920 (record à ) est déjà équipé de quatre moteurs V12 Liberty de  chacun et son dernier « racer » baptisé Miss america X (1933) (toujours en montage quadri-moteur, mais avec des mécaniques Packard plus évoluées) mesure treize mètres de long sur trois de large. Sa vitesse atteint un record à , substantielle progression sur seulement treize années, ponctuées de duels avec les engins de record britanniques, où le trophée changera de mains pas moins de dix fois.

Corollaire de cette explosion de performances, les accidents, parfois mortels, se multiplient, il faut dire que l'équipement personnel de sécurité des pilotes se résume à très peu de chose, une casquette de yachtman, bientôt remplacée par un bonnet et des lunettes d'aviateur, et un gilet de sauvetage léger passé par-dessus un bleu de mécanicien.

Dans les courses sur circuit, GarWood évite de trop utiliser le gouvernail vu le risque de chavirer. Courageux mais pas téméraire, il vire autour des bouées en différenciant le régime des deux arbres d'hélice.

Cependant Gar Wood ne s'interdit pas l'usage des raffinements nés du creuset de l'APBA gold cup: Les coques « archimédiques », à déplacement, de 1904 ont très vite cédé la place à des embarcations capables de déjauger et de « planer » à la surface de l'eau, puis, assez vite, les coques ont intégré des redans, utilisés en hydraviation pour favoriser le décollement des filets d'eau sur la carène et diminuer le freinage.

Le racer El Lagarto (« le lézard », en espagnol) appartenant à un des plus coriaces concurrents de Gar Wood, le californien George Reis, qui s'entraine sur le lac George est à cet égard un exemple intéressant: Né comme une coque classique de sport manufacturée par Hacker craft (autre grand fournisseur des contrebandiers d'alcool de Chicago) et une motorisation raisonnable de « seulement » , son pilote le fera modifier avec un gros V12 Packard, mais surtout en ajoutant de plus en plus de redans sous la carène et un système d'écopes réinjectant l'air aux endroits stratégiques pour améliorer la glisse de la coque.

Ce faisant, la coque dEl Lagarto devient de plus en plus rapide, mais aussi de plus en plus volage, décollant de l'eau avec de grands bonds et des éclaboussures d'écume, ce qui le fera baptiser par la presse sportive « The Leaping Lizzard of Lake George » (le lézard bondissant du lac George).

Après la retraite sportive de Gar Wood d'autres dessins apparaîtront comme les coques trois points qui ne touchent plus l'eau que par deux patins à l'avant et l'hélice à l'arrière, comme l'emblématique Slo-Mo-Shun IV (jeu de mots phonétique sur Slow-motion, mouvement au ralenti) des années 1950, records successifs à 258, puis , puis les configurations dites Picklefork (littéralement « fourchette à cornichons ») avec deux patins avant proéminents en avant du fuselage principal qui ne touche quasi plus l'eau, l'arrière étant porté par l'hélice qui travaille en super-cavitation, pratiquement hors de l'eau.

Slo-Mo-Shun IV sera le dernier « racer » polyvalent en courses sur circuit et en record absolu de vitesse. Le record ne sera plus battu ensuite que par des machines totalement spécialisées, bientôt propulsées par des turboréacteurs (jet boats).

Chant du cygne des classiques hydroplanes conventionnels, le superbe Laura III, de l'Italien Mario Verga, qui utilisait deux moteurs de compétition automobile Alfa-Romeo 159 (les mêmes que sur les Formule 1 de Fangio et Nino Farina) se catapulta en octobre 1954 dans une tentative sur le lac d'Iseo, tuant son pilote .

L'amélioration du record appartenait désormais aux  comme le Crusader de John Cobb, et surtout le très efficace et très médiatisé Bluebird K7 de Donald Campbell (tous deux finalement détruits avec décès du pilote lors de tentatives de record, respectivement sur le Loch Ness et sur le lac Coniston).

Constamment amélioré et remotorisé, le Bluebird K7 avait franchi la barre symbolique des  () fin  sur le lac de Coniston lorsqu'il décolla et tua son pilote à quelques centaines de mètres de la fin du parcours chronométré. Campbell, en liaison radio avec son équipe et les cadreurs de la BBC, commenta pour ainsi dire sa propre mort en direct. Son bateau, repêché trente ans plus tard a été reconstitué pièce à pièce et restauré par une équipe de passionnés locaux.

De l'autre côté de l'Atlantique aussi, plusieurs "jet boats" furent construits, notamment le malchanceux Tempo Alcoa , du musicien et champion motonautique canadien Guy Lombardo, construit en aluminium et bénéficiant du soutien technique des grands avionneurs américains. Après avoir connu un premier accident lors d'essais à haute vitesse dont le constructeur, Les Staudacher, se tira miraculeusement avec des blessures légères, le Tempo Alcoa, probablement fragilisé, se désintégrera lors d'essais ultérieurs avec un pilotage radiocommandé.

Autre  nord-américain célèbre ; le Hustler de Lee Taylor, qui battra le record de Campbell avec un « chrono » de  en 1967, non sans avoir connu au préalable une « sortie de piste » à , lors d'essais sur le Lac Havasu, au cours de laquelle Taylor fut grièvement blessé et son bateau copieusement endommagé.

Le danger atteignant des sommets avec ces engins qui ne demandent qu'à s'envoler et à retomber sur une eau rendue dure comme du béton à ces vitesses, les tentatives iront en s'espaçant à partir des années 1960, et le très audacieux australien Ken Warby qui a établi, en 1978, un record à  avec un engin de sa conception propulsé par un réacteur d'avion de chasse n'a pas été battu depuis cette date.

Lee Taylor, l'ancien recordman, avait tenté de reprendre son record avec Discovery II, un engin propulsé par...un moteur fusée à carburant liquide (peroxyde d'hydrogène concentré, comme sur le Messerschmitt Komet de la 2° G.M.) qui se désintégra littéralement en  sur le lac Tahoe (Californie) en tuant son pilote.

Compétition

Vitesse « inshore Formula 1 »

Se déroulant sur des lacs ou des rivières, les épreuves de Catamaran F1 constituent le haut-niveau du motonautisme de vitesse inshore, à l'image des Formule 1 en sport automobile. Le championnat du monde de F1 motonautique UIM a été créé en 1981.

Vitesse « offshore PowerBoat P1 »

La catégorie des PowerBoat P1 forme l'élite de cette discipline. Le championnat 2006 comptait six Grand Prix : Malte, Italie, Allemagne, Méditerranée (Italie), Grande-Bretagne et Portugal.

Drag boat racing
Les courses se tiennent sur un quart de mile, soit . Les vitesses atteintes sont de . La fédération couvrant ces épreuves essentiellement américaines est l'International Hot Boat Association.

De nombreuses courses de ce genre se tiennent dans le monde, notamment aux États-Unis.

Endurance
Parmi les épreuves d'endurance, il convient de citer les 24 heures motonautiques de Rouen qui se déroulent début mai, la ville de Rouen est la capitale du Motonautisme. Les  de Rouen compte pour le Championnat du Monde Endurance, ainsi que les 6 heures motonautiques de Paris aujourd'hui disparues.

Rallye motonautique
Parmi les épreuves de ce type, citons la Route des Gabares, qui se court sur des bateaux pneumatiques.

Au milieu des années 1980, l'organisateur du rallye Paris - Dakar, Thierry Sabine, avait organisé un rallye pour hors-bords sur le fleuve Niger, entre Niamey et Bamako. Il n'a connu que très peu d'éditions, faute de sponsors et de médiatisation.

Constructeurs de canot automobile
 Hacker-Craft
 Riva
 Chris-Craft
 Sea Ray

Pratique par pays

Japon
Le sport motonautique au Japon revêt des aspects très déroutants pour l'observateur occidental habitué à la confrontation des pilotes et à l'amélioration mécanique permanente des machines au sein du cadre réglementaire d'une jauge de course.

Au Japon, il existe des épreuves motonautiques appelées kyotei , disputées avec de minuscules hors-bords qui sont le plus semblables possibles (ce qu'en course de voiliers on qualifierait de monotypie). Les courses, disputées dans des stades nautiques artificiels pourvus de tribunes sont extrêmement serrées, la décision se faisant sur les dépassements aux bouées de virage.

Les pilotes, qu'on pourrait assimiler à des jockeys (ils portent des couleurs distinctives) sont des professionnels bien payés et souvent des femmes.

Comme il s'agit d'un des très rares sports japonais (avec les courses de chevaux et le keirin, ou course cycliste sur vélodrome) où les paris sont légaux, la Maffia japonaise (les tristement fameux yakuzas) a des intérêts dans l'organisation de ces courses, notamment pour y recycler de l'argent sale. Les très douteux politiciens anticommunistes (et anciens truands) Yoshio Kodama et Ryoichi Sasakawa ont été souvent cités comme principaux « tireurs de ficelles » de ces paris sportifs.

Accidents

Le , Didier Pironi et l'ensemble de son équipage constitué de Jean-Claude Guénard et du journaliste Bernard Giroux décèdent lors d'une course de offshore à bord du Colibri au large de l'île de Wight, au Royaume-Uni.

Le , Stefano Casiraghi, époux de Caroline de Monaco, se tue lors d'un accident de offshore au large de Saint-Jean-Cap-Ferrat.

Le , Jean-Marc Sanchez, seul Français à ce jour champion d'Europe et du monde de la catégorie reine classe 1 se tue à bord du Victory 1 écurie Victory Team (UEA) au Grand prix de Dubaï  lors du troisième tour,  avec Mohammad Al Mehairi, Jean-Marc Sanchez était alors en quête d'un deuxième sacre mondial à l'occasion des deux dernières courses de la saison. Didier Pironi fut le mentor de Jean-Marc Sanchez dans les années 1980, et Stefano Casiraghi était son ami.

Notes et références

Voir aussi

Article connexe
 Sport mécanique

Liens externes
 Site officiel de la Fédération française motonautique (FFM)
  Site officiel de l'Union internationale motonautique (UIM)
  Historique de l'Union internationale motonautique
 Cercle du Motonautisme Classique
 Portail sur le motonautisme

redpajama_set_name: RedPajamaWikipedia


text:
CIA agents, 21st century individuals, Torchwood team personnel, Individuals whose minds have been wiped by retcon
Esther Drummond
Central Intelligence Agency, Torchwood
Esther Drummond's mother
Sarah Drummond
Main actor:
Alexa Havins
Esther Drummond was a CIA analyst in the 21st century and a member of Torchwood upon its reformation in 2011. She was a good friend of fellow CIA agent, Rex Matheson. Esther sought to bring about the greater good, even at the cost of her own life. She did so by encouraging Rex and Jack to reverse the Miracle, after being shot.
She had an elder sister named Sarah, who had two children, Melanie, and Alice. (TV: Dead of Night) Their mother died in 2003. (TV: The Categories of Life)
Miracle Day Edit
After discovering the data which the Torchwood virus had removed from the CIA database, Esther decided to investigate, as she felt responsible for the injuries her colleague, Rex Matheson, had suffered.
Esther found information about the Torchwood Institute, Captain Jack Harkness, and Gwen Cooper, just as Jack Harkness found her. They jumped from a window to escape a suicide bomber. Jack Harkness told her all about Torchwood before drugging her with retcon. (TV: The New World)
However, Esther continued to research Torchwood, and discovered Rex's office was being thoroughly searched. She informed her superior about her continuing research and found her computer account deactivated and a substantial amount of money deposited to her bank account. Understanding she was about to be removed from the CIA, she barely escaped. Esther tried to tell Rex about their situation, but only contacted him just as he had landed and met his CIA colleagues. She met him, Jack Harkness and Gwen Cooper at the airport, and helped them escape after a brief run-in with Lyn Peterfield. (TV: Rendition)
Forced to go on the run with Rex, Esther joined Torchwood to form a new team. She helped Gwen learn American terms and food to avoid sticking out. Sneaking back into the C.I.A., they found the director's phone, which had been giving the orders to kill Torchwood's last members along with Rex and herself. She accompanied the team to a warehouse owned by PhiCorp. Inside were a large stockpile of painkillers. This led the team to believe that PhiCorp had foreknowledge of Miracle Day and might have had a hand in bringing it about. (TV: Dead of Night)
The team escaped to LA to infiltrate PhiCorp's facilities there. Esther decided to say goodbye to her sister. However, when Esther arrived at her sister's house, she found it boarded up, and Sarah refused to let Esther come inside or see her nieces. Esther called child services to report her sister. She went to meet the rest of Torchwood, but was followed by an assassin. The Torchwood team went to LA, where they began planning to infiltrate PhiCorp. Gwen and Jack broke into the building, followed by the assassin. Meanwhile, Esther called child services and found her sister's daughters had been removed. After the assassin threatened to kill Jack and hurt Gwen, Rex saved them, and shouted at Esther for endangering the mission. (TV: Escape to LA)
Investigating the camps Edit
After the new categories of life were introduced, and the overflow camps were reopened, Esther realised the modules were on the camps' plans but had been removed from the photos. The team decided to find out what was in them, so Esther got an office job in the camp, Rex was admitted into the camp for his injury, and new Torchwood member Dr Vera Juarez used her position on the medical panels to gain access. Inside the camp, Esther reassigned Rex to category one so that he would be moved to the module. Esther also saw Vera arriving at the camp, and Colin Maloney leave with her for a tour of the camp. When Esther worried that Vera had not returned, she phoned her, but the call failed. (TV: The Categories of Life)
When Colin Maloney returned, Esther asked him where Dr Juarez was. Colin claimed she had gone home, and had praised his leadership of the camp. Esther tried to eavesdrop on Colin speaking with Ralph Coltrane but heard nothing. Esther later overheard Colin being told Rex had been captured. She tried to follow Colin as he went to interrogate him. However, the camp had been put in lockdown mode, and Esther could not.
Later, Esther found Colin and Rex, ignoring the lockdown rules. Esther told Colin he had received a phone call and that she could watch the prisoner for him. When Colin asked who was on the phone, Esther said it was Dr Juarez. Unfortunately, Colin had murdered Dr Juarez. He knew Esther was lying. Rex shouted at Esther to run, but Colin attacked her. Esther strangled him to unconsciousness; Rex had to comfort her afterwards as she considered this to be her first kill, even though Rex reminded her there was no longer any such thing as killing. Esther took the keys out of Colin's pocket, but Colin was apparently still in either category two or three and attacked. Colin started to strangle Esther, but was shot by Ralph. Esther freed Rex, and the two of them escaped. (TV: The Middle Men)
Colasanto Edit
When they returned to their base, Esther tried to comfort Rex about Vera's death, and asked if he had tried to contact her family. Rex pointed out that he hardly knew Vera and asked Esther to drop the subject. Soon afterwards, Esther noticed that the eye-5 contact lenses had been activated. Esther looked through the text messages that had been sent to the lenses, and realised that Gwen's family had been kidnapped and that she had been forced to take Jack to the kidnappers. Esther and Rex followed Gwen and Jack until they arrived at their meeting place with Olivia Colasanto in addition to contacting Andy Davidson and asking him to help Gwen's family. Esther and Rex both pointed guns at Colasanto and her men, and forced them to surrender. However, they were persuaded to go with her anyway as she was taking them to the one man who knew the true nature of the miracle. (TV: Immortal Sins)
Olivia took them to Angelo Colasanto's house. Upon arriving there, Rex asked Esther to stay outside and to keep an open cell phone line. While everyone else went inside, Esther researched the families and was surprised to find that nobody existed with any of their last names. While she was waiting outside, Brian Friedkin arrived and pointed a gun at her. Fiedkin, along with several other CIA agents, brought Esther inside and arrested all members of the Torchwood team, and everyone who was working for the Colasanto family. Friedkin then took Rex out of the room, and before long the eye-5 system was activated to show Friedkin admitting that the families owned him. Allen Shapiro soon arrived and arrested Friedkin and everyone working with him, as well as Olivia Colasanto. Shapiro took over operations at the Colasanto house, and put the CIA in charge. Esther was then able to webchat with her CIA colleagues, and was informed by Charlotte Wills that her sister had been committed. Esther spoke to her sister on the phone, and found out that she was planning to transfer to category one. Esther tried to talk Sarah out of this, but she wouldn't listen, as she believed that her body no longer contained a soul. Esther decided that the best way to help her sister was to try to end the miracle. Shapiro became more interested in the Colasanto's when Angelo became the first person to die since Miracle Day. The CIA's priority then became to discover how Angelo had died. Esther then realised that there was something under the floor where Angelo's bed had been. After Gwen was deported, Jack admitted that it was a null field generator, which had cancelled out the morphic field that was preventing death. Jack persuaded Esther and Rex that it would be dangerous to allow the CIA to obtain the null field generator, and convinced them to help him escape. Esther was planning to stay with Rex and the CIA after they helped Jack escape, but Jack was shot so Esther was forced to go with him. Unfortunately, Esther had no idea how to help him. (TV: End of the Road)
Finding the Blessing Edit
Esther spent the next two months helping Jack recover, and the two eventually ended up in Scotland. Esther collected Jack's blood, as she assumed that it must be somehow relevant to the miracle. Eventually Gwen contacted the two and informed them that Oswald Danes was at her house, and wanted to speak to Jack. Esther and Jack went to Wales, and met with Oswald. Oswald informed them that he had stolen Jilly Kitzinger's laptop, and that she was working for a man named Harry Bosco. Esther laughed, and explained that Harry Bosco was a process rather than a person, and that Jilly's job was to mistranslate things for the families. Torchwood managed to find some of the reports that Jilly had mistranslated, but as none of them spoke Chinese, Esther sent them to Rex to have the CIA translate. Torchwood then determined that the Blessing was in Shanghai and Buenos Aires. Esther then went to Buenos Aires, where she met up with Rex. (TV: The Gathering)
Esther and Rex secretly switched Rex's blood for Jack's and called for army support. Rex's wound started to bother him due to the transfusion. Esther was climbing into a truck that was to take her and Rex to the Blessing, and handed the case with Jack's blood to a soldier. Esther then went to help Rex with his wound, and one of the soldiers blew up the truck. Esther and Rex pretended to have become category ones in the explosion to trick the Families, and proceeded to infiltrate the blessing. Unfortunately they were captured upon entering the Blessing.
Esther's funeral at the Chapel of the Gardens. (TV: The Blood Line)
The Family members at the Buenos Aires side of the Blessing took Rex and Esther to see the Blessing, where they were allowed to talk to Jack, Gwen and Oswald who were at the Shanghai end. Jack decided to reverse the Blessing by feeding it his mortal blood but was informed that his blood would have to be put into both ends of the Blessing.
Rex then revealed that he had Jack's blood in him and he and Jack decided to sacrifice themselves to end the Miracle. The leader of the Families in Buenos Aries, The Cousin, shot Esther to try to force them not to, as ending the Miracle would mean allowing her to die. However both men, encouraged by Gwen and Esther, decided to go ahead and successfully end the Miracle. Rex killed the leader and they were rescued by the army. However, while Rex survived, Esther did not. Unlike many people, Esther received a full funeral. (TV: The Blood Line)
Legacy Edit
When leaving Torchwood, Gwen mentioned how she loved Owen, Tosh, Ianto and Esther. (AUDIO: Herald of the Dawn)
Aliases and nicknames Edit
When used/given
Miss Translation Given by Gwen Cooper, following Esther's habit of highlighting language differences between UK English and American English. Dead of Night A possible play on "mistranslation".
Lorraine Used by Esther, pretending to be from PhiCorp's Human Resources department, in order to get Gwen into the building. Escape to LA
Useless Esther Given in jest by Jack, following in conversation in which Esther questioned Jack as to whether he thought that she was useless. The Categories of Life
During pre-production of Torchwood: Miracle Day, this character's name was reported as "Esther Katusi". This was due to the original profile of the character as a non-Caucasian; the casting of Alexa Havins resulted in the character being renamed. When Havins was announced on 6 January 2011, BBC publicity still referred to the character as Katusi. (DWM 427)
Torchwood team members
Jack Harkness • Gwen Cooper • Rex Matheson • Esther Drummond • Vera Juarez
Rhys Williams • Andy Davidson • Oswald Danes • Mary Cooper • Allen Shapiro
Retrieved from "https://tardis.fandom.com/wiki/Esther_Drummond?oldid=2748753"
CIA agents
21st century individuals
Torchwood team personnel
Individuals whose minds have been wiped by retcon

redpajama_set_name: RedPajamaCommonCrawl


text:
This Weekend's Events In Wilton Area
December 2, 2021 by patch.com Leave a Comment
Check out these events happening in the Wilton area this weekend.
Event News , Patch Staff
WILTON, CT — Looking for things to do in the Wilton area? Patch has you covered, we're showcasing several events and happenings taking place this week throughout Wilton. Here's a roundup of local events coming up in the area this weekend.
Have an event you would like to see it in the next roundup? You can add it to the calendar using this form . You can also spread the word in nearby communities by promoting your event. The cost is $1 per day per community.
Here are a few events happening this weekend throughout Wilton:
Featured Event: Solving the Medicare Puzzle/Medicare Myths Exposed
When: Thursday, December 2nd at 7:30 p.m.
Where: ZOOM_Solving the Medicare Puzzle
What: Tonight, December 2nd-7:30 PM Free ZOOM Class Class Hosted by Expert Medicare Plan Adviser Robert Remin (see contact info below to request Zoom Link-Please include Full Name and Email) The A,B,C's and D about Medicare not in the Government Handbook or in previous presentations… Learn More
Zooming Hanukkah Hoopla: Stories and Fun! (Zoom)
Where: Wilton Library
What: Event listing from Wilton Library: Thursday, December 2 from 4:15 PM to 5:00 PMJoin us on Zoom, alongside special guest Cantor Harriet Dunkerley from Temple B'nai Chaim, to learn all about the Festival of Lights. You will hear stories, sing songs, and and get the opportunity to s… Learn More
Architectural Review Bd/Village Dist Design Advisory Committee Meeting
Where: Town of Wilton
What: Event listing from Town of Wilton: Thursday and December 2 at 5:00 PMhttps://www.wiltonct.org/village-district-design-advisory-committee-architectural-review-board/events/50851 This event was originally posted on a public calendar and distributed by Burbio. Please confirm e… Learn More
The Long and Short of Healthcare in the U.S. (In-Person)
Board of Education Meeting – Wilton Public Schools
Where: Wilton Public Schools
Featured Event: Concert Brings Paul McCartney Music to Edmond Town Hall Theater Dec 3
When: Friday, December 3rd at 8:00 p.m.
Where: Edmond Town Hall Theater, 45 Main
What: Features McCartney Favorites Peppered with Beatles and Holiday Songs Sir Paul will perform at Edmond Town Hall Theater in Newtown on Friday, December 3, 2021 at 8 p.m. The band is dedicated to bringing audiences music from the expansive work of ex-Beatle and musical legend P… Learn More
Great Trains Holiday Show
When: Friday, December 3rd at 10:00 a.m.
Where: Wilton Historical Society
What: Great Trains Holiday show Opening Friday, November 26; Santa Visits on December 11! Trains, Trains – and More Trains! It's back! The much anticipated and greatly beloved Great Trains Holiday Show at the Wilton Historical Society opens the day after Thanksgiving, Friday, Novem… Learn More
What: Friday Dec. 3rd marks the return of the Wilton Chamber of Commerce's annual Holiday Stroll! Together with the Town of Wilton, Wilton Fire Department, Wilton Volunteers Ambulance Corps. (WVAC), Wilton Kiwanis Club and several retailers and businesses in the Town Center, all are… Learn More
Holiday Stroll-Gingerbread House Display
Music on the Hill presents: Sounds of the Season: Annual Holiday Concert
Where: Wilton Congregational Church
What: Music on the Hill's popular Sounds of the Season concert returns this year, featuring handbells, violin, and double bass. The Jubilate Ringers, with violin and double bass, will perform old and new seasonal favorites to delight audience members of all ages! Advance reservation… Learn More
Wilton Singers Presents "A December to Remember"
Where: Wepco
What: The Wilton Singers are back on the stage for an all-new holiday concert you won't soon forget! As we've come to expect from this acclaimed group, the Wilton Singers concert will cover a wide range of musical styles and genres. From a cappella songs made popular by Pentatonix a… Learn More
Featured Event: Church of the Assumption Christmas Boutique
When: Saturday, December 4th at 9:00 a.m.
What: Saturday, Dec. 4th 9am -2pm and Sunday, Dec. 5th 8am – 1:30pm Pre Owned Jewelry Theme Baskets Silent Auction, Attic Treasures, Bake Sale, A Visit From Santa and Much More! Admission, Coffee and cookies are free while you shop. Location Parish Hall (beneath the Church) 98 Riv… Learn More
Featured Event: The Whispering Tree and Ash & Eric Double Bill at Voices Cafe
When: Saturday, December 4th at 8:00 p.m.
Where: Voices Cafe
What: Voices Café presents a double bill with singer/songwriter folk musicians Ash & Eric (formerly The Promise of Hope) and The Whispering Tree. This performance will be live, as well as streamed. Doors open at 7:30pm, performance starts at 8:00pm. CLICK HERE to purchase tic… Learn More
When: Saturday, December 4th at 10:00 a.m.
Music on the Hill presents: Jingle all the Way!
What: Join Music on the Hill for this fun and festive performance of new and old a cappella music of the season, as well as carols and fun winter songs. Featuring the Holiday Chorus of Music on the Hill and festive handbell music. Kids and families can stop into the barn to make a j… Learn More
Featured Event: Jonah and the Whale: UU Children's Production Sunday 10 AM
When: Sunday, December 5th at 10:00 a.m.
Where: The Unitarian Church in Westport
What: The Children's Choir of the Unitarian Universalist congregation in Westport will be performing the musical "Jonah and the Whale" as the main part of the worship service Sunday, Dec. 5 at 10 AM, replacing the normal homily/sermon. All are welcome for this wonderful, fun retelli… Learn More
49th Annual Mark Twain Library Art Show
When: Sunday, December 5th at 1:00 p.m.
Where: Mark Twain Library
What: View the Virtual Gallery Here: https://mtlartshowgallery2021…. The beginning of the holiday season in Redding is marked by the Annual Mark Twain Library Juried Art Show. The Art Show is an annual fundraiser for the Library, now in its 49th year. Proceeds from this not-to-be-… Learn More
Handel's Messiah Sing-A-Long
Where: St. John's Lutheran Church
What: St. John's will be hosting a Messiah sing-along on Sunday, December 5, at 5:00 pm. Bring your Messiah scores and sing along from your seats or just sit back and enjoy the music that will set the holiday tone. The concert will end with the iconic Hallelujah Chorus. The event i… Learn More
V FB Wilton @ CIAC Football Semifinals
Where: Wilton High School Sports
When: Sunday, December 5th at 12:00 p.m.
A Special Concert Broadcast Featuring the Brubeck Brothers Quartet (Zoom)
When: Monday, December 6th at 10:00 a.m.
What: View Online Gallery Here: https://mtlartshowgallery2021…. The beginning of the holiday season in Redding is marked by the Annual Mark Twain Library Juried Art Show. The Art Show is an annual fundraiser for the Library, now in its 49th year. Proceeds from this not-to-be-misse… Learn More
Dave Brubeck's Time Out: A Conversation Between Author/Music Historian Stephen Crist and Musicologis…
When: Monday, December 6th at 6:30 p.m.
Board of Selectmen – Town of Wilton
Featured Event: Seven Acres Montessori Virtual Middle School Open House
When: Tuesday, December 7th at 7:00 p.m.
Where: 34 Whipple Road, Wilton, CT, 06897
What: Seven Acres Montessori Adolescent Program supports the development of children (ages 12-14) through project based, experiential learning in a supportive environment designed to meet the specific needs of each student. To learn more about this program's rigorous academic curric… Learn More
When: Tuesday, December 7th at 10:00 a.m.
What: View Virtual Gallery Here: https://mtlartshowgallery2021…. The beginning of the holiday season in Redding is marked by the Annual Mark Twain Library Juried Art Show. The Art Show is an annual fundraiser for the Library, now in its 49th year. Proceeds from this not-to-be-miss… Learn More
December Big Kids Story Time (In-Person)
V G IHOC Wilton v. Darien – Wilton High School Sports
Make it! Winter Craft Time for Adults (In-Person)
Historic District and Historic Properties
When: Wednesday, December 8th at 10:00 a.m.
What: Great Trains Holiday show Opening Friday, November 26; Santa Visits on December 11! Trains, Trains – and More Trains! It's back! The much anticipated and greatly beloved Great Trains Holiday Show at the Wilton Historical Society opens the day after Thanksgiving, Friday, Novemb… Learn More
Wilton Library Readers: The Depletion Prompts (Zoom) by David Means
When: Wednesday, December 8th at 12:00 p.m.
Check out more awesome local events, or add your own, on the Wilton Patch community calendar.
Editor's note: This article was automatically generated based on event information mainly provided by community members. Patch has not independently verified most of this information, always check with organizers to confirm posted events are proceeding as planned. Click on any event in the list for more details. You can also reach out to [email protected] with any questions or other feedback about this article.
Be respectful.
Be transparent.
Keep it local and relevant.
Reply to this article Reply
Kezar Pub among Bay Area sports bars struggling to stay open: 'Going day to day'
A nice Bay Area weekend, and then a little rain coming
Ricky Ricardo, owner of fabled Bay Area sports bar, dies
BART avoids station closures, weekend shutdowns but could lose up to 40% of staff
Bay Area parks brace for another month of perilous popularity — 'We're the only game in town'
S.F. remains in California's red tier, even as other Bay Area counties clamp down due to coronavirus surge
Cancel Thanksgiving or 'we could be paying the price by Christmas,' Bay Area leaders warn
Bay Area smashes record for Spare the Air alerts, and fire season is far from over
Pandemic Problems: I moved to the Bay Area right before the pandemic. How do I make new friends?
The third wave of coronavirus is washing over the Bay Area. How will we weather the storm?
Kamala Harris sends 'Happy Diwali' wishes as Bay Area's Indian families enjoy pared-down celebration
'Trick-or-treating is strongly discouraged,' Bay Area officials say as Halloween approaches
Spock's Beard: Don't Try This at Home: Live in Holland/The Making Of V $38.03 (check at Amazon) 4.2
Jim Shockey's Land of the Giants: 5 Moose Hunts in Remote Areas $5.99 (check at Amazon) 2.8
This Guy's In Love With u Mare $10.1 (check at Amazon) 0.0
In Concert - This Guy's in Love With (check at Amazon) 0.0
DIONNE WARWICK 45 RPM DREAM SWEET DREAM / THIS GIRL'S IN LOVE WITH YOU (check at Amazon) 0.0
This Guy's In Love With You $17.36 (check at Amazon) 0.0
this wheel's on fire / a kind of love-in 45 rpm single $4.15 (check at Amazon) 0.0
This Guy's In Love (check at Amazon) 0.0
this guy's in love with you 45 rpm single (check at Amazon) 0.0
Burt Bacharach : This Guitar's In Love With You (check at Amazon) 0.0
Time Alone Will Tell / This Guy's In Love With You (check at Amazon) 0.0
This Guy's In Love With You 7" 45 - A&M Records - 929 (check at Amazon) 0.0
This Girl's in Love With You (check at Amazon) 0.0
this guy's in love with you / cabaret 45 rpm single (check at Amazon) 0.0
This Guy's in Love With You / Cabaret (check at Amazon) 0.0
1960s This Guy's In Love With You/The Look Of Love Vinyl LP Record (check at Amazon) 0.0
This Guy's in Love With You / Rise (check at Amazon) 0.0
This Boy's in Love [Vinyl] (check at Amazon) 0.0
Summit S-670 74" Freestanding Stainless Steel Gas Grill with 769 sq. in. Cooking Area 6 Stainl (check at Amazon) 0.0
Lose 200 Lbs This Weekend: It's Time to Declutter Your Life $0.78 (check at Amazon) 0.0
That's Not in My American History Book: A Compilation of Little-Known Events and Forgotten Heroes (check at Amazon) 0.0
This Man's Journey: A Walk in the Life and Times (check at Amazon) 0.0
Gozie and Friends in: Gozie's Eventful Day $42.25 (check at Amazon) 0.0
What's Done In This House: Healing & Deliverance From Abuse (check at Amazon) 0.0
You Must Remember This: Life and Style in Hollywood's Golden Age (check at Amazon) 0.0
This Day in North American Indian History: Events in the History of North America's Native Peoples $49.17 (check at Amazon) 0.0
Trapped in Hitler's Hell: A Young Jewish Girl Discovers ThI Messiah's Faithfulness in The Midst Of The Holocaust: 3rd edition (check at Amazon) 0.0
A walker's guide to the Wilton area: A guidebook to selected open space lands in Wilton, Ridgefield, Redding, and New Canaan $4.75 (check at Amazon) 0.0
How Did It Come To This: America's Experience in the New World Order $19.95 (check at Amazon) 0.0
535 Wonderful Things You Can Do This Weekend: A Guide to the Annual Events in the Mid-Atlantic States $6.09 (check at Amazon) 3.0
This Weekend's Events In Wilton Area have 2373 words, post on patch.com at December 2, 2021. This is cached page on USA Posts. If you want remove this page, please contact us.
Filed Under: Community Corner Community Corner


Home/Finance/Business/Where Does Walmart Get the Audacity?
Where Does Walmart Get the Audacity?
Granted, Walmart is willing to sell anything as long as it does not get them in trouble with anyone at all. However, it takes quite a bit of audacity to start selling a weed Christmas tree just to take advantage of the green rush.
Other national retailers have dared to sell hemp-based CBD products, like Lucky Brands, while others such as Target are too nervous about the potential of facing federal repercussions. Selling marijuana props though is a blatant attempt to profit from the current popularity of marijuana.
Ornaments and bow are not included with this 7-foot faux Tannenbaum, which has a street, er, retail value of $250.
But hey! The shipping is free.
Perhaps, the fact that Walmart is selling a weed Christmas tree is a good thing for the marijuana legalization movement. It certainly shows that Walmart has received the message that America is more accepting of marijuana now. How do you feel about Walmart selling a weed Christmas tree?


Posted on March 26, 2019 by renner Posted in Uncategorized	.
If you run or work to get business that uses trucks, then understand how expensive it may be. You end up being buy insurance, find dependable drivers, purchase upkeep, buy parts, and pay for parking tickets. Adequate sunlight in your get really expensive, so anywhere a person cut some costs without sacrificing quality is great. 1 of the first places I look to my expenses is as simple buying affordable truck parts, especially cheap truck tires. It has been the easiest and fastest way I've found head costs under elimination.
If you're a novice to a business that needs trucks to operate, standard don't even realize you need to immediately start looking for ways to trim your expenses. You might imagine you've done all the research and found the best deals, but there continually be other ways of reducing your costs. When you realize this, you'll begin appear for for even more little and big ways to reduce their costs.
We all try to plan everything prior to. You take your pencil, notebook, it's essential to planning everything that will happen and might happen to make sure all of your bases are provided. But we're all human, and we will forget things whatever how well we plan. And even if you didn't forget anything, we know how things might go awry while doing everyday business.
That's just business. Things always seem to come up and will be the major always unexpected issues to deal with on a day-to-day basis. This means that it's really in order to have money stashed away to deal with unexpected issues. And the quickest way in order to do this is to decrease your expenses by getting things like cheap truck tires enable you to build your business's savings in a timely fashion.
There really isn't anything wrong with buying gently used trucks and truck equipment. But you shouldn't be too cheap. Is essential the equipment you are buying is durable and easy in order to operate. Furthermore, you additionally need to hire very capable drivers and people to service the equipment when it in time breaks down. By saving money on things like cheap truck tires, when you are able to obtain the best truck drivers and repair technicians in your area to maintain your equipment.
Sometimes I want to just take my trucks down towards local mechanic throughout the corner that fixes my family car, and cut my expenses in half. But that's not a legitimate smart way of cutting expenses. It's a wise decision to get things like cheap truck tires and gently used engine parts to save money, and hire the best mechanics to maintain your trucks. Your trucks will break down less often, that save you so much of money as long run.


I love the light in the fall. It promises surrender. It gives respite from the summer heat. It intensifies some colors, most especially the blue sky. When I lived in Austin I used to start looking for that subtle change in the sun's slant by mid to late August. If I could just see that, then I knew I had almost survived another summer.
My yoga instructor was talking about fall being a time of change and unbalance. Maybe. But I see the animals in my garden working more industriously than ever, as with a definite purpose. The hummingbirds are busy with the salvia and their feeder. The other birds are everywhere, visiting my garden and poking around for things. A Common Yellowthroat graced me with his presence yesterday. Not very common looking to me.
The bees are still at it as well. And the garden. Well parts of the garden are tired. The Sun Gold tomatoes and the basil are tired. But the grasses, ah, the grasses. I need to plan for more room for grasses. You can't beat a rising or setting sun shining on and through ornamental grasses.