ÿØÿÛ C 

ÿØÿÛ C 

<?php

namespace Faker\Provider\fr_CH;

class Person extends \Faker\Provider\fr_FR\Person
{
    /**
     * @see http://www.bfs.admin.ch/bfs/portal/de/index/themen/01/02/blank/dos/prenoms/02.html
     */
    protected static $firstNameMale = [
        'Adrian', 'Adrien', 'Alain', 'Albert', 'Alberto', 'Alessandro', 'Alex', 'Alexander', 'Alexandre', 'Alexis', 'Alfred', 'Ali', 'Andrea', 'AndrÃ©', 'Angelo', 'Anthony', 'Antoine', 'Antonio', 'AntÃ³nio', 'Arnaud', 'Arthur', 'AurÃ©lien', 'Axel',
        'Baptiste', 'Bastien', 'Benjamin', 'BenoÃ®t', 'Bernard', 'Bertrand', 'Bruno', 'Bryan',
        'Carlos', 'Charles', 'Christian', 'Christophe', 'Christopher', 'Claude', 'Claudio', 'Cyril', 'CÃ©dric',
        'Damien', 'Daniel', 'David', 'Denis', 'Didier', 'Diego', 'Diogo', 'Dominique', 'Dylan',
        'Emmanuel', 'Enzo', 'Eric', 'Etienne',
        'Fabien', 'Fabio', 'Fabrice', 'Fernando', 'Filipe', 'Florian', 'Francesco', 'Francis', 'Francisco', 'FranÃ§ois', 'FrÃ©dÃ©ric',
        'Gabriel', 'Georges', 'Gilbert', 'Gilles', 'Giovanni', 'Giuseppe', 'Gregory', 'GrÃ©goire', 'GrÃ©gory', 'Guillaume', 'Guy', 'GÃ©rald', 'GÃ©rard',
        'Hans', 'Henri', 'HervÃ©', 'Hugo',
        'Jacques', 'Jean', 'Jean-Claude', 'Jean-Daniel', 'Jean-FranÃ§ois', 'Jean-Jacques', 'Jean-Louis', 'Jean-Luc', 'Jean-Marc', 'Jean-Marie', 'Jean-Michel', 'Jean-Paul', 'Jean-Pierre', 'Joao', 'Joaquim', 'John', 'Jonas', 'Jonathan', 'Jorge', 'Jose', 'Joseph', 'JosÃ©', 'JoÃ£o', 'JoÃ«l', 'Juan', 'Julien', 'JÃ©rÃ©mie', 'JÃ©rÃ©my', 'JÃ©rÃ´me',
        'Kevin',
        'Laurent', 'Lionel', 'Loris', 'Louis', 'LoÃ¯c', 'Luc', 'Luca', 'Lucas', 'Lucien', 'Ludovic', 'Luis', 'LÃ©o',
        'Manuel', 'Marc', 'Marcel', 'Marco', 'Mario', 'Martin', 'Mathias', 'Mathieu', 'Matteo', 'Matthieu', 'Maurice', 'Max', 'Maxime', 'Michael', 'MichaÃ«l', 'Michel', 'Miguel', 'Mohamed',
        'Nathan', 'Nicolas', 'Noah', 'Nolan', 'Nuno',
        'Olivier',
        'Pascal', 'Patrice', 'Patrick', 'Paul', 'Paulo', 'Pedro', 'Peter', 'Philippe', 'Pierre', 'Pierre-Alain', 'Pierre-AndrÃ©',
        'Quentin',
        'Rafael', 'RaphaÃ«l', 'Raymond', 'RenÃ©', 'Ricardo', 'Richard', 'Robert', 'Roberto', 'Robin', 'Roger', 'Roland', 'Romain', 'Rui', 'RÃ©my',
        'Sacha', 'Salvatore', 'Samuel', 'Serge', 'Sergio', 'Simon', 'Steve', 'StÃ©phane', 'Sylvain', 'SÃ©bastien',
        'Thierry', 'Thomas', 'ThÃ©o', 'Tiago',
        'Valentin', 'Victor', 'Vincent', 'Vitor',
        'Walter', 'William', 'Willy',
        'Xavier',
        'Yann', 'Yannick', 'Yvan', 'Yves',
    ];

    /**
     * @see http://www.bfs.admin.ch/bfs/portal/de/index/themen/01/02/blank/dos/prenoms/02.html
     */
    protected static $firstNameFemale = [
        'AgnÃ¨s', 'Alexandra', 'Alice', 'Alicia', 'Aline', 'AmÃ©lie', 'Ana', 'AnaÃ¯s', 'Andrea', 'AndrÃ©e', 'Angela', 'Anita', 'Anna', 'Anne', 'Anne-Marie', 'Antoinette', 'Ariane', 'Arlette', 'Audrey', 'AurÃ©lie',
        'Barbara', 'Bernadette', 'Brigitte', 'BÃ©atrice',
        'Camille', 'Carine', 'Carla', 'Carmen', 'Carole', 'Caroline', 'Catherine', 'Chantal', 'Charlotte', 'ChloÃ©', 'Christelle', 'Christiane', 'Christine', 'Cindy', 'Claire', 'Clara', 'Claudia', 'Claudine', 'Colette', 'Coralie', 'Corinne', 'Cristina', 'CÃ©cile', 'CÃ©lia', 'CÃ©line',
        'Daniela', 'Danielle', 'DaniÃ¨le', 'Delphine', 'Denise', 'Diana', 'Dominique',
        'Edith', 'Elena', 'Eliane', 'Elisa', 'Elisabeth', 'Elodie', 'Elsa', 'Emilie', 'Emma', 'Erika', 'Estelle', 'Esther', 'Eva', 'Evelyne',
        'Fabienne', 'Fanny', 'Florence', 'Francine', 'FranÃ§oise',
        'Gabrielle', 'GeneviÃ¨ve', 'Georgette', 'Ginette', 'GisÃ¨le', 'GÃ©raldine',
        'Huguette', 'HÃ©lÃ¨ne',
        'InÃ¨s', 'IrÃ¨ne', 'Isabel', 'Isabelle',
        'Jacqueline', 'Janine', 'Jeanne', 'Jeannine', 'Jennifer', 'Jessica', 'Joana', 'Jocelyne', 'Josette', 'Josiane', 'JoÃ«lle', 'Julia', 'Julie', 'Juliette', 'Justine',
        'Karin', 'Karine', 'Katia',
        'Laetitia', 'Lara', 'Laura', 'Laure', 'Laurence', 'Liliane', 'Lisa', 'Louise', 'Lucia', 'Lucie', 'LÃ©a',
        'Madeleine', 'Magali', 'Manon', 'Manuela', 'Marguerite', 'Maria', 'Marianne', 'Marie', 'Marie-ThÃ©rÃ¨se', 'Marina', 'Marine', 'Marion', 'Marlyse', 'MarlÃ¨ne', 'Martine', 'Mathilde', 'Melissa', 'Micheline', 'Michelle', 'MichÃ¨le', 'Mireille', 'Monica', 'Monique', 'Morgane', 'Muriel', 'Myriam', 'MÃ©lanie',
        'Nadia', 'Nadine', 'Natacha', 'Nathalie', 'Nelly', 'Nicole', 'Nina', 'NoÃ©mie',
        'OcÃ©ane', 'Olga', 'Olivia',
        'Pascale', 'Patricia', 'Paula', 'Pauline', 'Pierrette',
        'Rachel', 'Raymonde', 'RenÃ©e', 'Rita', 'Rosa', 'Rose', 'Rose-Marie', 'Ruth',
        'Sabine', 'Sabrina', 'Sandra', 'Sandrine', 'Sara', 'Sarah', 'Silvia', 'Simone', 'Sofia', 'Sonia', 'Sophie', 'StÃ©phanie', 'Suzanne', 'Sylvia', 'Sylviane', 'Sylvie', 'SÃ©verine',
        'Tania', 'Tatiana', 'Teresa', 'ThÃ©rÃ¨se',
        'Valentine', 'ValÃ©rie', 'Vanessa', 'Victoria', 'Virginie', 'Viviane', 'VÃ©ronique',
        'Yolande', 'Yvette', 'Yvonne',
        'ZoÃ©',
    ];

    /**
     * @see http://blog.tagesanzeiger.ch/datenblog/index.php/6859
     */
    protected static $lastName = [
        'Aebischer', 'Aeby', 'Andrey', 'Aubert', 'Aubry',
        'Bachmann', 'Baechler', 'Baeriswyl', 'Barbey', 'Barras', 'Baumann', 'Baumgartner', 'Berger', 'Bernard', 'Berset', 'Bersier', 'Berthoud', 'Besson', 'Blanc', 'Blaser', 'Boillat', 'Bonvin', 'Bourquin', 'Bruchez', 'Brunner', 'BrÃ¼gger', 'Buchs', 'Bugnon', 'Burri', 'BÃ¼hler',
        'Castella', 'Cattin', 'Chappuis', 'Chapuis', 'Chassot', 'Chatelain', 'Chevalley', 'Chollet', 'Christen', 'Clerc', 'ClÃ©ment', 'Constantin', 'Crausaz',
        'Da Silva', 'Darbellay', 'Demierre', 'dos Santos', 'Droz', 'Dubois', 'Dubuis', 'Duc', 'DÃ©vaud',
        'Egger', 'Emery',
        'Fasel', 'Favre', 'Fellay', 'Fernandes', 'Fernandez', 'Ferreira', 'Fischer', 'Fleury', 'FlÃ¼ckiger', 'Fournier', 'FragniÃ¨re', 'Froidevaux',
        'Gaillard', 'Garcia', 'Gasser', 'Gay', 'Geiser', 'Genoud', 'Gerber', 'GilliÃ©ron', 'Girard', 'Girardin', 'Giroud', 'Glauser', 'Golay', 'Gonzalez', 'Graf', 'Grand', 'Grandjean', 'Gremaud', 'Grosjean', 'Gross', 'Guex', 'Guignard',
        'Hofer', 'Hofmann', 'Huber', 'Huguenin', 'HÃ©ritier',
        'Jaccard', 'Jacot', 'Jaquet', 'Jaquier', 'Jeanneret', 'Jordan', 'Jungo', 'Junod',
        'Kaufmann', 'Keller', 'Kohler', 'Kolly', 'Kunz',
        'Lachat', 'Lambert', 'Lehmann', 'Leuba', 'Leuenberger', 'Liechti', 'Lopez', 'LÃ¼thi',
        'Maeder', 'Magnin', 'Maillard', 'Maret', 'Marti', 'Martin', 'Martinez', 'Matthey', 'Maurer', 'Mauron', 'Mayor', 'Meier', 'Meyer', 'Meylan', 'Michaud', 'Michel', 'Monnet', 'Monney', 'Monnier', 'Morand', 'Morard', 'Morel', 'Moret', 'Moser', 'Muller', 'MÃ¼ller',
        'Neuhaus', 'Nguyen', 'Nicolet',
        'Oberson',
        'Pache', 'Pasche', 'Pasquier', 'Pereira', 'Perez', 'Perrenoud', 'Perret', 'Perrin', 'Perroud', 'Pfister', 'Piguet', 'Piller', 'Pilloud', 'Pittet', 'Pochon',
        'Racine', 'Rey', 'Reymond', 'Richard', 'Robert', 'Rochat', 'Rodrigues', 'Rodriguez', 'Roduit', 'Rosset', 'Rossier', 'Roth', 'Rouiller', 'Roulin', 'Roy', 'Ruffieux',
        'Savary', 'Schaller', 'Schmid', 'Schmidt', 'Schmutz', 'Schneider', 'Schwab', 'Seydoux', 'Simon', 'Stalder', 'Stauffer', 'Steiner', 'Studer', 'Suter',
        'Tissot',
        'Vaucher', 'Vonlanthen', 'Vuilleumier',
        'Waeber', 'Weber', 'Wenger', 'Widmer', 'Wyss',
        'Zbinden', 'Zimmermann',
    ];

    /**
     * Generates a valid random AVS13 (swiss social security) number
     *
     * This function will generate a valid random AVS13 number and return it
     * as a formatted string.
     *
     * @see https://www.zas.admin.ch/zas/fr/home/partenaires-et-institutions-/navs13.html
     *
     * @return string
     */
    public static function avs13()
    {
        $p = [
            756,
            self::numerify('####'),
            self::numerify('####'),
            self::numerify('#'),
        ];

        $checksum = \Faker\Calculator\Ean::checksum(implode('', $p));

        return sprintf('%s.%s.%s.%s%s', $p[0], $p[1], $p[2], $p[3], $checksum);
    }
}
