{
"breadcrumb": {
"home": "Accueil",
"current": "Architecture"
},
"hero": {
"badge": "đïž BASĂ SUR LES PRINCIPES DES SYSTĂMES VIVANTS",
"title": "Cinq principes architecturaux pour la sécurité de l'IA",
"subtitle": "La gouvernance Tractatus est intĂ©grĂ©e dans l'architecture de dĂ©ploiement, et non pas ajoutĂ©e. Cinq principes guident comment le cadre Ă©volue, maintient la cohĂ©rence et rĂ©siste au contournementârendant structurellement plus difficile (bien que pas impossible) le contournement par prompting.",
"challenge_label": "Le ProblĂšme:",
"challenge_text": "La formation comportementale peut ĂȘtre manipulĂ©e par des prompts habilement formulĂ©s. La gouvernance de l'IA basĂ©e uniquement sur le raisonnement interne est vulnĂ©rable aux jailbreaks.",
"approach_label": "Notre Approche:",
"approach_text": "Application architecturale opĂ©rant dans le chemin d'exĂ©cution critiqueâles services de gouvernance valident chaque action avant son exĂ©cution, indĂ©pendamment du raisonnement interne de l'IA.",
"cta_principles": "Voir les cinq principes",
"cta_docs": "Lire la Documentation"
},
"comparison": {
"heading": "Pourquoi l'Application Externe Peut Aider",
"behavioral_title": "Formation Comportementale (Constitutional AI)",
"structural_title": "Application Structurelle (Tractatus)",
"hypothesis_title": "L'HypothĂšse Centrale",
"hypothesis_text": "Les jailbreaks fonctionnent souvent en manipulant le raisonnement interne de l'IA. Les frontiĂšres Tractatus opĂšrent en externe de ce raisonnement â l'IA n'Ă©value pas directement les rĂšgles de gouvernance. Bien que non infaillible, cette sĂ©paration architecturale rend la manipulation beaucoup plus difficile.",
"behavioral_item1": "Vit Ă l'intĂ©rieur du modĂšle IA â accessible aux prompts adversariaux",
"behavioral_item2": "Se dégrade sous pression contextuelle et longues conversations",
"behavioral_item3": "Peut ĂȘtre manipulĂ© par des techniques de jailbreak (DAN, jeux de rĂŽle, hypothĂ©tiques)",
"behavioral_item4": "Dépend de la volonté de l'IA de suivre les orientations",
"behavioral_item5": "Aucune piste d'audit vérifiable indépendante de l'IA",
"structural_item1": "Vit Ă l'extĂ©rieur du modĂšle IA â non directement accessible aux prompts",
"structural_item2": "Les services externes visent une application cohérente quel que soit le contexte",
"structural_item3": "Plus difficile Ă contourner â les actions de l'IA passent d'abord par la couche de gouvernance",
"structural_item4": "Résistant architecturalement à la manipulation via l'état interne de l'IA",
"structural_item5": "Piste d'audit immuable stockée indépendamment de l'exécution de l'IA"
},
"principles": {
"heading": "Cinq principes architecturaux",
"subtitle": "Ces principes, adaptĂ©s des travaux de Christopher Alexander sur les systĂšmes vivants, guident comment Tractatus Ă©volue et maintient la cohĂ©rence. Ce ne sont pas de la documentationâce sont des critĂšres de conception appliquĂ©s architecturalement.",
"not_separateness": {
"title": "Non-séparation: Gouvernance dans le chemin critique",
"principle": "Gouvernance intégrée dans l'architecture de déploiement, non ajoutée",
"description": "Les services de gouvernance Tractatus opĂšrent dans le chemin d'exĂ©cution critiqueâchaque action passe par la validation avant l'exĂ©cution. Ce n'est pas une surveillance aprĂšs coup, c'est une application architecturale qui ne peut ĂȘtre contournĂ©e.",
"example_label": "Exemple: PreToolUse Hook",
"example": "Lorsque l'IA tente de modifier un fichier, le hook PreToolUse intercepte avant l'exĂ©cution. BoundaryEnforcer, CrossReferenceValidator et d'autres services valident l'action. Si un service bloque, la modification n'a jamais lieuâarchitecturalement impossible Ă contourner.",
"contrast": "Contraste: Les systÚmes de conformité ajoutés surveillent les actions aprÚs leur occurrence, créant une séparation entre gouvernance et exécution. Un agent IA pourrait théoriquement désactiver la surveillance ou exploiter les lacunes. Tractatus élimine cette séparation."
},
"deep_interlock": {
"title": "Interlock profond: Les services se renforcent mutuellement",
"principle": "Gouvernance coordonnée, pas de contrÎles isolés",
"description": "Les six services de gouvernance ne fonctionnent pas en vase closâils se coordonnent par validation mutuelle. Une pression contextuelle Ă©levĂ©e intensifie le contrĂŽle des frontiĂšres. La persistance des instructions affecte la validation croisĂ©e. Les sorties des services s'alimentent mutuellement, crĂ©ant de la rĂ©silience par la redondance.",
"example_label": "Exemple: L'incident 27027",
"example": "L'IA a tenté d'utiliser le port de base de données par défaut malgré une instruction de persistance HAUTE spécifiant le port 27027. InstructionPersistenceClassifier a signalé l'instruction. ContextPressureMonitor a détecté 53,5% de pression. CrossReferenceValidator a capturé le conflit. BoundaryEnforcer a bloqué l'action. Quatre services travaillant ensemble ont évité l'erreur.",
"benefit": "Pourquoi c'est important: Le contournement d'un seul service ne compromet pas la gouvernance. Un attaquant devrait contourner plusieurs services coordonnĂ©s simultanĂ©mentâexponentiellement plus difficile que de vaincre des contrĂŽles isolĂ©s."
},
"gradients": {
"title": "Dégradés non binaires: Réponses nuancées",
"principle": "Niveaux d'intensité, pas de commutateurs oui/non",
"description": "La gouvernance fonctionne sur des dĂ©gradĂ©s: NORMAL â ĂLEVĂ â HAUT â CRITIQUE. La pression contextuelle, l'impact sĂ©curitaire et la rigueur de validation Ă©voluent tous avec l'intensitĂ©. Cela reflĂšte comment les systĂšmes vivants s'adaptentârĂ©ponses graduĂ©es, pas de marche/arrĂȘt mĂ©canique.",
"example_label": "Exemple: Surveillance de la pression contextuelle",
"example": "Ă pression NORMALE (0-25%), les opĂ©rations routiniĂšres se dĂ©roulent sans problĂšme. Ă ĂLEVĂE (25-50%), la validation devient plus approfondie. Ă HAUTE (50-75%), la rĂ©vision humaine se dĂ©clenche plus frĂ©quemment. Ă CRITIQUE (>75%), le cadre recommande la fermeture de session. La rĂ©ponse graduĂ©e prĂ©vient Ă la fois la fatigue d'alerte et les Ă©checs catastrophiques.",
"contrast": "Contraste: Les systĂšmes binaires \"autorisĂ©/bloquĂ©\" crĂ©ent de la fragilitĂ©âsoit tout passe soit rien ne passe. Les dĂ©gradĂ©s permettent une adaptation naturelle aux niveaux de risque variables."
},
"structure_preserving": {
"title": "Préservation de la structure: Continuité d'audit",
"principle": "Les changements améliorent sans casser",
"description": "Les changements de cadre doivent prĂ©server la complĂ©tudeâles journaux d'audit restent interprĂ©tables, les dĂ©cisions restent valides, la mĂ©moire institutionnelle survit Ă l'Ă©volution. Les journaux de la version 4.2 sont lisibles dans la version 4.4. Les dĂ©cisions d'audit vieilles de six mois ont toujours du sens. Les transformations prĂ©servant la structure maintiennent la cohĂ©rence dans le temps.",
"example_label": "Exemple: Ajout de la détection de fade du cadre",
"example": "Lorsque inst_064 (détection de fade du cadre) a été ajouté, il a surveillé les six services sans changer leurs définitions de base. Les journaux d'audit préexistants sont restés valides. Le comportement des services a évolué, mais les décisions historiques sont restées interprétables. Amélioration sans fracture.",
"regulatory": "Avantage rĂ©glementaire: Les rĂ©gulateurs ont besoin de pistes d'audit stables. L'Ă©volution prĂ©servant la structure permet au cadre de s'adapter tout en maintenant la continuitĂ© de conformitĂ©âpas besoin de rĂ©interprĂ©ter les anciennes dĂ©cisions Ă chaque version."
},
"living_process": {
"title": "Processus de vie: Ăvolution basĂ©e sur les preuves",
"principle": "Croßt à partir d'échecs réels, pas de théorie",
"description": "Les changements du cadre Ă©mergent de la rĂ©alitĂ© observĂ©e, pas de plans prĂ©dĂ©terminĂ©s. Lorsque les services sont restĂ©s inutilisĂ©s, nous avons ajoutĂ© la dĂ©tection de fade. Lorsque la vĂ©rification sĂ©lective a rĂ©duit le bruit, nous avons fait Ă©voluer les critĂšres de dĂ©clenchement. L'expĂ©rience opĂ©rationnelle rĂ©elle anime l'Ă©volutionâaucune construction de solutions Ă des problĂšmes thĂ©oriques.",
"example_label": "Exemple: Mode sélectif de MetacognitiveVerifier",
"example": "Les journaux d'audit montraient que MetacognitiveVerifier s'activait sur des opĂ©rations triviales, crĂ©ant du bruit. PlutĂŽt que de thĂ©oriser sur les seuils, nous avons analysĂ© les vraies patterns de dĂ©clenchement. Le mode sĂ©lectif a Ă©mergĂ© des donnĂ©esâvĂ©rifier uniquement les opĂ©rations complexes (3+ modifications de fichiers, 5+ Ă©tapes sĂ©quentielles). La performance s'est amĂ©liorĂ©e sur la base des preuves, pas des suppositions.",
"contrast": "Contraste: Les systĂšmes sur-conçus rĂ©solvent des problĂšmes imaginĂ©s. Le processus vivant construit seulement ce que la rĂ©alitĂ© prouve nĂ©cessaireâlĂ©ger, efficace, ancrĂ© dans la vĂ©ritĂ© opĂ©rationnelle."
},
"together": {
"title": "Comment les cinq principes fonctionnent ensemble",
"description": "Ces principes ne sont pas indĂ©pendantsâils forment un motif imbriquĂ©. La non-sĂ©paration nĂ©cessite un interlock profond entre les services. Les dĂ©gradĂ©s permettent une adaptation naturelle. Le processus vivant pilote des changements qui doivent ĂȘtre prĂ©servant la structure pour maintenir la complĂ©tude.",
"flow_1": "Non-séparation (gouvernance dans le chemin critique)",
"flow_2": "Interlock profond (les services se coordonnent)",
"flow_3": "Dégradés (réponses nuancées)",
"flow_4": "Processus de vie (évolution basée sur les preuves)",
"flow_5": "Préservation de la structure (continuité d'audit)",
"result": "Complétude du systÚme"
}
},
"architecture_diagram": {
"title": "Architecture Agnostique de l'Exécution",
"subtitle": "Tractatus fonctionne avec tout systĂšme IA agentique â Claude Code, LangChain, AutoGPT, CrewAI ou agents personnalisĂ©s. La couche de gouvernance se situe entre votre agent et ses actions.",
"layer1_title": "1. Couche d'Exécution Agent",
"layer1_desc": "Votre agent IA (toute plateforme). GÚre la planification, le raisonnement, l'utilisation d'outils. Tractatus est agnostique à l'implémentation.",
"layer2_title": "2. Couche de Gouvernance",
"layer2_desc": "Six services externes appliquent les frontiĂšres, valident les actions, surveillent la pression. Architecturalement plus difficile Ă contourner pour l'IA.",
"layer3_title": "3. Stockage Persistant",
"layer3_desc": "Journaux d'audit immuables, rĂšgles de gouvernance, historique des instructions. IndĂ©pendant de l'exĂ©cution de l'IA â ne peut ĂȘtre modifiĂ© par des prompts."
},
"services": {
"heading": "Six Services de Gouvernance",
"subtitle": "Ces services mettent en pratique les cinq principes. Chaque service incarne la non-séparation (opérant dans le chemin critique), l'interlock profond (se coordonnant avec les autres) et les dégradés (réponses basées sur l'intensité).",
"boundary": {
"name": "BoundaryEnforcer",
"description": "EmpĂȘche l'IA de prendre des dĂ©cisions de valeurs (confidentialitĂ©, Ă©thique, direction stratĂ©gique). NĂ©cessite l'approbation humaine.",
"promise": "Promesse PrĂ©coce: FrontiĂšres de valeurs appliquĂ©es en externe â plus difficile Ă manipuler par prompting."
},
"instruction": {
"name": "InstructionPersistenceClassifier",
"description": "Stocke les instructions en externe avec des niveaux de persistance (HIGH/MEDIUM/LOW). Vise à réduire la dérive des directives.",
"promise": "Promesse PrĂ©coce: Instructions stockĂ©es en dehors de l'IA â plus rĂ©sistantes Ă la manipulation contextuelle."
},
"validator": {
"name": "CrossReferenceValidator",
"description": "Valide les actions de l'IA contre l'historique des instructions. Vise Ă empĂȘcher le biais de pattern d'outrepasser les directives explicites.",
"promise": "Promesse PrĂ©coce: VĂ©rification indĂ©pendante â les affirmations de l'IA sont vĂ©rifiĂ©es contre une source externe."
},
"pressure": {
"name": "ContextPressureMonitor",
"description": "Surveille la dégradation des performances de l'IA. Escalade lorsque la pression contextuelle menace la qualité.",
"promise": "Promesse Précoce: Les métriques objectives peuvent détecter les tentatives de manipulation tÎt."
},
"metacognitive": {
"name": "MetacognitiveVerifier",
"description": "Exige que l'IA pause et vérifie les opérations complexes avant l'exécution. Vérification de sécurité structurelle.",
"promise": "Promesse Précoce: Les portes architecturales visent à appliquer les étapes de vérification."
},
"deliberation": {
"name": "PluralisticDeliberationOrchestrator",
"description": "Facilite la délibération multi-parties prenantes pour les conflits de valeurs. L'IA fournit la facilitation, pas l'autorité.",
"promise": "Promesse PrĂ©coce: Jugement humain requis â escalade architecturalement appliquĂ©e pour les valeurs."
}
},
"interactive": {
"title": "Explorer l'Architecture de ManiĂšre Interactive",
"subtitle": "Cliquez sur n'importe quel nĆud de service ou le noyau central pour voir des informations dĂ©taillĂ©es sur le fonctionnement de la gouvernance.",
"tip_label": "Astuce:",
"tip_text": "Cliquez sur le \"T\" central pour voir comment tous les services fonctionnent ensemble",
"panel_default_title": "Explorer les Services de Gouvernance",
"panel_default_text": "Cliquez sur n'importe quel nĆud de service dans le diagramme (cercles colorĂ©s) ou le \"T\" central pour en savoir plus sur la façon dont Tractatus applique la sĂ©curitĂ© de l'IA."
},
"data_viz": {
"heading": "Framework en Action",
"subtitle": "Visualisations interactives démontrant comment les services de gouvernance Tractatus surveillent et coordonnent les opérations de l'IA."
},
"production": {
"heading": "Implémentation de Référence en Production",
"subtitle": "Tractatus est déployé en production en utilisant Claude Code comme runtime d'agent. Cela démontre la viabilité réelle du framework.",
"implementation_title": "Claude Code + Tractatus",
"implementation_intro": "Notre déploiement en production utilise Claude Code comme runtime d'agent avec le middleware de gouvernance Tractatus. Cette combinaison fournit:",
"implementation_results_intro": "Résultats du déploiement en production de 6 mois:",
"result1": "95% de persistance des instructions Ă travers les frontiĂšres de session",
"result2": "Zéro violation de frontiÚres de valeurs dans 127 scénarios de test",
"result3": "100% de taux de détection pour les échecs de biais de pattern",
"result4": "<10ms de surcharge de performance pour la couche de gouvernance",
"disclaimer": "*Déploiement à agent unique. Validation indépendante et réplication multi-organisationnelle nécessaires.",
"testing_title": "Tests en Conditions Réelles",
"testing_text1": "Ce n'est pas que de la théorie. Tractatus fonctionne en production, gérant de vraies charges de travail et détectant de vrais modÚles d'échec.",
"testing_text2": "Les premiers rĂ©sultats sont prometteurs â avec prĂ©vention d'incidents documentĂ©e â mais cela nĂ©cessite une validation indĂ©pendante et des tests beaucoup plus larges.",
"diagram_link": "Voir le Diagramme d'ImplĂ©mentation Claude Code â"
},
"limitations": {
"heading": "Limitations et Vérification de la Réalité",
"intro": "C'est un travail à un stade précoce. Bien que nous ayons vu des résultats prometteurs dans notre déploiement en production, Tractatus n'a pas été soumis à des tests adversariaux rigoureux ou à une évaluation d'équipe rouge.",
"quote": "Nous avons une réelle promesse, mais c'est encore au stade de développement précoce. Cela sonne comme si nous avions complÚtement résolu le problÚme, ce n'est pas le cas. Nous avons un long chemin à parcourir et il faudra un effort colossal des développeurs dans toute l'industrie pour dompter efficacement l'IA. Ce n'est qu'un début.",
"quote_attribution": "â Chef de Projet, Framework Tractatus",
"known_heading": "Limitations Connues:",
"limitation1": "Aucun test d'équipe rouge dédié: Nous ne savons pas dans quelle mesure ces frontiÚres résistent aux attaques adversariales déterminées.",
"limitation2": "Validation à petite échelle: Six mois d'utilisation en production sur un seul projet. Nécessite une réplication multi-organisationnelle.",
"limitation3": "Défis d'intégration: Rétrofit de la gouvernance dans les systÚmes existants nécessite un effort d'ingénierie significatif.",
"limitation4": "Performance à l'échelle inconnue: Tests limités aux déploiements à agent unique. Coordination multi-agents non testée.",
"limitation5": "Paysage de menaces évolutif: à mesure que les capacités de l'IA augmentent, de nouveaux modes d'échec émergeront que l'architecture actuelle peut ne pas aborder.",
"needs_heading": "Ce Dont Nous Avons Besoin:",
"need1": "Des chercheurs indépendants pour valider (ou réfuter) nos résultats",
"need2": "Ăvaluation d'Ă©quipe rouge pour trouver les faiblesses et les techniques de contournement",
"need3": "Déploiements pilotes multi-organisationnels dans différents domaines",
"need4": "Collaboration à l'échelle de l'industrie sur les normes et modÚles de gouvernance",
"need5": "Ătudes quantitatives mesurant la rĂ©duction des incidents et l'analyse coĂ»t-bĂ©nĂ©fice",
"conclusion": "Ce framework est un point de dĂ©part pour l'exploration, pas une solution finie. Dompter l'IA nĂ©cessitera un effort soutenu de l'ensemble de l'industrie â chercheurs, praticiens, rĂ©gulateurs et Ă©thiciens travaillant ensemble."
},
"cta": {
"heading": "Explorer une Approche Prometteuse pour la Sécurité de l'IA",
"subtitle": "Tractatus démontre comment l'application structurelle peut compléter la formation comportementale. Nous invitons les chercheurs et praticiens à évaluer, critiquer et construire sur ce travail.",
"btn_docs": "Lire la Documentation",
"btn_research": "Voir la Recherche",
"btn_implementation": "Guide d'Implémentation"
},
"diagram_services": {
"overview": {
"name": "Couche de Gouvernance Tractatus",
"shortName": "Aperçu",
"description": "Six services de gouvernance externes travaillant ensemble pour appliquer les limites de sécurité de l'IA en dehors du runtime de l'IA.",
"detail1": "Tous les services opĂšrent en externe Ă l'IA â rendant la manipulation plus difficile",
"detail2": "Le stockage des instructions et la validation travaillent ensemble pour prévenir l'effacement des directives",
"detail3": "L'application des frontiÚres et la délibération coordonnent les décisions de valeurs",
"detail4": "La surveillance de la pression ajuste les exigences de vérification de maniÚre dynamique",
"detail5": "Les portes métacognitives assurent que l'IA marque une pause avant les opérations à haut risque",
"detail6": "Chaque service adresse un mode de défaillance différent dans la sécurité de l'IA",
"promise": "Application architecturale externe structurellement plus difficile Ă contourner que la formation comportementale seule."
},
"boundary": {
"name": "BoundaryEnforcer",
"shortName": "FrontiĂšre",
"description": "EmpĂȘche l'IA de prendre des dĂ©cisions de valeurs (confidentialitĂ©, Ă©thique, direction stratĂ©gique). NĂ©cessite l'approbation humaine.",
"detail1": "Applique les limites Tractatus 12.1-12.7",
"detail2": "Les décisions de valeurs nécessitent architecturalement des humains",
"detail3": "EmpĂȘche la prise de dĂ©cision autonome de l'IA sur les questions Ă©thiques",
"detail4": "Application externe - plus difficile Ă contourner via prompting",
"promise": "FrontiĂšres de valeurs appliquĂ©es en externe â plus difficile Ă manipuler par prompting."
},
"instruction": {
"name": "InstructionPersistenceClassifier",
"shortName": "Instruction",
"description": "Stocke les instructions en externe avec des niveaux de persistance (HIGH/MEDIUM/LOW). Vise à réduire l'effacement des directives.",
"detail1": "Classification basée sur les quadrants (STR/OPS/TAC/SYS/STO)",
"detail2": "Ătiquetage de mĂ©tadonnĂ©es de persistance temporelle",
"detail3": "Modélisation d'horizon temporel (STRATEGIC, OPERATIONAL, TACTICAL)",
"detail4": "Stockage externe indépendant du runtime de l'IA",
"promise": "Instructions stockĂ©es en dehors de l'IA â plus rĂ©sistantes Ă la manipulation contextuelle."
},
"validator": {
"name": "CrossReferenceValidator",
"shortName": "Validateur",
"description": "Valide les actions de l'IA contre l'historique des instructions. Vise Ă empĂȘcher le biais de pattern de remplacer les directives explicites.",
"detail1": "Vérifie les affirmations de l'IA avec l'historique des instructions externe",
"detail2": "Détecte les remplacements basés sur les patterns des directives utilisateur explicites",
"detail3": "Couche de vérification indépendante",
"detail4": "Aide à prévenir la dérive des instructions",
"promise": "VĂ©rification indĂ©pendante â affirmations de l'IA vĂ©rifiĂ©es contre une source externe."
},
"pressure": {
"name": "ContextPressureMonitor",
"shortName": "Pression",
"description": "Surveille la dégradation des performances de l'IA. Escalade lorsque la pression contextuelle menace la qualité.",
"detail1": "Suit l'utilisation des tokens, la complexité, les taux d'erreur",
"detail2": "Détecte les conditions de fonctionnement dégradées",
"detail3": "Ajuste les exigences de vérification sous pression",
"detail4": "Métriques objectives pour le suivi de la qualité",
"promise": "Les métriques objectives peuvent détecter les tentatives de manipulation tÎt."
},
"metacognitive": {
"name": "MetacognitiveVerifier",
"shortName": "Métacognitif",
"description": "Exige que l'IA pause et vérifie les opérations complexes avant l'exécution. Vérification de sécurité structurelle.",
"detail1": "L'IA vĂ©rifie elle-mĂȘme l'alignement, la cohĂ©rence, la sĂ©curitĂ© avant l'exĂ©cution",
"detail2": "Portes structurelles de pause et vérification",
"detail3": "Vérification sélective (pas constante)",
"detail4": "Application architecturale des étapes de réflexion",
"promise": "Les portes architecturales visent à appliquer les étapes de vérification."
},
"deliberation": {
"name": "PluralisticDeliberationOrchestrator",
"shortName": "Délibération",
"description": "Facilite la dĂ©libĂ©ration multi-parties prenantes pour les conflits de valeurs oĂč aucune rĂ©ponse \"correcte\" unique n'existe.",
"detail1": "Coordination non hiérarchique pour les conflits de valeurs",
"detail2": "Représentation des perspectives des parties prenantes",
"detail3": "Construction de consensus pour les compromis éthiques",
"detail4": "Adresse le pluralisme des valeurs dans la sécurité de l'IA",
"promise": "Facilite la délibération à travers les perspectives des parties prenantes pour les conflits de valeurs."
}
},
"interactive_exploration": {
"badge": "đ EXPLORATION INTERACTIVE",
"heading": "Voir le framework en action",
"intro": "Explorez 3 942 décisions de gouvernance réelles issues du déploiement en production. Filtrez par service, niveau de pression et modÚles de coordination pour comprendre comment Deep Interlock fonctionne en pratique.",
"hf_cta": "đ€ Lancer l'explorateur interactif sur Hugging Face",
"researcher_cta": "Pour les chercheurs â",
"footer_note": "Licence Apache 2.0 ⹠Toutes les données anonymisées ⹠Aucune inscription requise"
}
}