Release notes 0.20/fr

FreeCAD 0.20 a été publié le DD juin 2022, téléchargez le depuis la page Téléchargement. Cette page liste toutes les nouvelles fonctionnalités et les changements.

Les notes de versions plus anciennes de FreeCAD sont disponibles dans la Liste des fonctionnalités.

freecad.org
Nous sommes heureux que le projet KiCAD, par le biais de KiCAD services corp., nous ait sponsorisé le domaine freecad.org. Tous les sites Web de FreeCAD sont désormais disponibles sous freecadweb.org et freecad.org.

Suivi des bogues/problèmes
Le système de suivi des bogues de FreeCAD a été déplacé sur GitHub : https://github.com/FreeCAD/FreeCAD/issues.

Remarque : Seuls les rapports de bogue ayant fait l'objet d'une discussion préalable sur le forum seront pris en considération. Les rapports sans cela seront fermés.

Autres améliorations de l'interface utilisateur

 * Il est maintenant possible d'utiliser le séparateur décimal appartenant à la langue spécifiée pour l'interface de FreeCAD. Par exemple, sur un Windows allemand, lorsque vous définissez la langue de l'interface à English et que vous sélectionnez la nouvelle option Use selected language number format, le point sera utilisé comme séparateur décimal. Voir les Préférences. Pull request #6364 Remarque : Pour les simulations FEM, l'utilisation du point comme séparateur décimal est fortement recommandée pour obtenir des résultats corrects.
 * Deux nouveaux modes de navigation à la souris ont été ajoutés. L'un basé sur OpenSCAD, l'autre sur TinkerCAD. Discussion du forum OpenSCAD, Discussion du forum TinkerCAD, commit 1, commit 2, commit 3.
 * Il est maintenant possible de faire un panoramique de la vue du Graphique de dépendance avec la souris. Discussion du forum, pull request #4638.
 * Correction d'un problème où l'utilisation d'un stylet de tablette (par exemple, une tablette Wacom) était lente au point d'être complètement inutilisable. Discussion du forum, Pull request #4687.
 * Le système de coordonnées dans la vue 3D peut être redimensionné dans les préférences dans la section Affichage → Vue 3D. Pull request #5182
 * Un nouveau paramètre dans Préférences → Général permet de substituer le séparateur décimal du pavé numérique par le séparateur de la locale appropriée s'ils sont différents. Pull request #3256 Pull request #5150 Pull request 5203
 * Il est désormais possible de définir la touche comme une touche de raccourci autonome sans avoir à spécifier une nouvelle touche modificatrice. Pull request #5428

API
FreeCAD received many new Python API functions:

Nouvelles API en Python

 * ChFi2d_AnaFilletAlgoPy: An analytical algorithm for the calculation of fillets. commit f94ab3ec
 * ChFi2d_ChamferAPIPy: Algorithm that creates a chamfer between two linear edges. commit 30f8015e7


 * Circle2dPy::getCircleCenter : Récupérer le centre du cercle défini par trois points. commit 3dc91fa2


 * ComplexGeoDataPy::applyRotation : Applique une rotation supplémentaire au placement. commit 32592de8
 * ComplexGeoDataPy::applyTranslation : Applique une translation supplémentaire au placement. commit 32592de8
 * ComplexGeoDataPy::countSubElements : Retourne le nombre d'éléments d'un type. commit 32592de8
 * ComplexGeoDataPy::getElementTypes : Retourne une liste de types d'éléments. commit 32592de8
 * ComplexGeoDataPy::getFaces : Retourne un tuple de points et de triangles avec une précision donnée. commit 32592de8
 * ComplexGeoDataPy::getLines : Retourne un tuple de points et de lignes avec une précision donnée. commit 32592de8
 * ComplexGeoDataPy::getLinesFromSubelement : Retourne les sommets et les lignes d'un sous-élément. commit 32592de8
 * ComplexGeoDataPy::getPoints : Retourne un tuple de points et de normales avec une précision donnée. commit 32592de8
 * ComplexGeoDataPy::transformGeometry : Applique une transformation à la géométrie sous-jacente. commit 32592de8


 * ControlPy::showModelView : Affiche la vue du modèle. commit 033bf619


 * DocumentPy::clearDocument : Efface tout le document. commit 526dc1a0
 * DocumentPy::getFileName : Pour un document standard, retourne la propriété du nom du fichier. Pour un document temporaire, retourne son répertoire transitoire. commit 526dc1a0
 * DocumentPy::getProgramVersion : Récupère la version du programme avec lequel un fichier de projet a été créé. commit 526dc1a0
 * DocumentPy::isClosable : Vérifie si le document peut être fermé. commit 526dc1a0
 * DocumentPy::isSaved : Vérifie si le document est enregistré. commit 526dc1a0
 * DocumentPy::isTouched : Vérifie si un objet est dans l'état touché. commit 526dc1a0
 * DocumentPy::mustExecute : Vérifie si un objet doit être recalculé. commit 526dc1a0
 * DocumentPy::purgeTouched : Purge l'état touché de tous les objets. commit 526dc1a0
 * DocumentPy::setClosable : Définit un drapeau (flag) qui permet ou interdit de fermer un document. commit 526dc1a0


 * DrawPagePy::requestPaint : Peint une page TechDraw. commit 79f9fb68


 * HLRBRep_AlgoPy : Pour accéder à la suppression des lignes cachées de Part (HLR). commit 73a98671
 * HLRBRep_PolyAlgoPy : Pour accéder à la suppression des polylignes cachées de Part (HLR). commit ea85cf5e
 * HLRToShapePy : Pour accéder à la suppression des lignes cachées (HLR) de Part. commit 73a98671
 * PolyHLRToShapePy : Pour accéder à la suppression des polylignes cachées (HLR) de Part. commit ea85cf5e


 * MDIViewPy::printPdf : Imprime un PDF. commit c93031da
 * MDIViewPy::printPreview : Imprime un aperçu. commit c93031da
 * MDIViewPy::printView : Imprime une vue. commit c93031da
 * MDIViewPy::redoActions : Refait les actions. commit c93031da
 * MDIViewPy::undoActions : Annule les actions. commit c93031da


 * PrecisionPy : Pour accéder à la précision définie par le noyau d'OpenCascade. commit 20b86e55


 * PropertyContainerPy::setDocumentationOfProperty : Définit la chaîne de documentation d'une propriété dynamique de cette classe. commit 8cf3cf33
 * PropertyContainerPy::setGroupOfProperty : Fixe le nom du groupe d'une propriété dynamique. commit 8cf3cf33


 * PythonWorkbenchPy::reloadActive : Recharge l'atelier actif après avoir modifié les menus ou les barres d'outils. commit 0bbc253d


 * RotationPy::fromEuler : Définit les angles d'Euler d'une rotation ou obtient les angles d'Euler dans une séquence donnée pour une rotation. commit 951a0be9
 * RotationPy::toEulerAngles : Obtient les angles d'Euler dans une séquence donnée pour cette rotation... commit c1454dfb


 * SpreadsheetViewPy : Pour accéder aux feuilles de tableur. commit 6e713628


 * UnitsApi::sToNumber : Convertit une quantité ou un flottant en une chaîne de caractères. commit befbd95d


 * View3DInventorPy::getCornerCrossSize : Retourne la taille de la croix de l'axe du coin en cours d'utilisation. commit 9d15df29
 * View3DInventorPy::setPopupMenuEnabled : Active le menu popup. commit 9def811a
 * View3DInventorPy::isCornerCrossVisible : Retourne la visibilité de la croix de l'axe du coin. commit 9d15df29
 * View3DInventorPy::isPopupMenuEnabled : Retourne si le menu popup est activé. commit 9def811a
 * View3DInventorPy::projectPointToLine : Projette le point 2d donné sur une ligne. commit b6527a70
 * View3DInventorPy::setCornerCrossSize : Définit la taille de la croix de l'axe du coin. commit 9d15df29
 * View3DInventorPy::setCornerCrossVisible : Définit la visibilité de la croix de l'axe du coin. commit 9d15df29


 * ViewProviderSpreadsheetPy : Pour gérer les cellules des feuilles de tableur. commit 16bbe123 et commit 093f15dc

API modifiées

 * MeshObject::trim(base, normal) a été changé en MeshPy::trimByPlane(base, normal) : Découpe le maillage avec un plan donné. commit 837de28e

Atelier Draft

 * Une case à cocher a été ajoutée au panneau des tâches de nombreuses commandes de dessin. Le fait de la cocher permet de saisir des coordonnées dans le système de coordonnées global même si le plan de travail n'est pas aligné avec le plan XY global.


 * La commande Draft_Hatch.svg Draft Hachure a été introduite. Elle crée des hachures sur les faces d'un objet sélectionné à l'aide de motifs provenant de fichiers PAT d'AutoCAD.


 * La commande Draft_AddNamedGroup.svg Draft Nommer un groupe a été introduite. La commandeDraft_AddToGroup.svg Draft Déplacer vers un groupe a été étendue avec la même fonctionnalité.


 * Le travail sur la commande Draft_SetStyle.svg Draft Définir le style, toujours en cours dans FreeCAD version 0.19, a été terminé.


 * Une option d'édition par double-clic a été ajoutée pour Draft_Text.svg Draft Texte. Elle ouvre le même panneau de tâches d'édition que celui utilisé lors de la création d'un texte.


 * Pour Draft_Dimension.svg Draft Dimensions, la  pour les dimensions architecturales impériales a été introduite.


 * Les objets Draft_Shape2DView.svg Draft Vue 2D d'une forme ont maintenant une propriété . La définition de cette propriété à peut s'avérer utile si un document contient de nombreux objets Draft Vue 2D d'une forme ou s'ils sont complexes.


 * Il est maintenant possible d'inverser une Draft Polyligne via le menu contextuel Draft_Edit.svg Draft Éditer. Discussion du forum, Pull request #4811.

Autres améliorations de Draft

 * Correction de Draft Aimantation Grille lorsque le curseur se trouve sur une face. Discussion du forum. Git commit.


 * Les nouveaux Draft Textes sont désormais alignés sur le plan de travail, Pull request #5092.


 * La prise en charge de deux convertisseurs DWG a été ajoutée : LibreDWG et QCAD pro. Voir Préférences d'Import Export et FreeCAD et l'importation DWG pour plus d'informations.

Autres améliorations de FEM

 * Important: A partir de cette version, FreeCAD utilisera les unités SI (m, kg, s, K, A, mol, cd) pour écrire les fichiers d'entrée du solveur Elmer (case.sif et mesh.nodes). Ceci est indépendant du système d'unités utilisé par FreeCAD.
 * Important: A partir de cette version, l'échelle des résultats et de leurs filtres utilisera les unités SI (m, kg, s, K, A, mol, cd). Ainsi, le déplacement est donné en mètre, la contrainte en Pascal. Ceci s'applique à tous les systèmes d'unités dérivés du SI de FreeCAD.
 * Le maillage avec le solveur Calculix utilise désormais tous les cœurs du processeur. Pull request #6374
 * Le maillage avec Gmsh utilise désormais tous les cœurs du CPU. Pull request #6370
 * L'ordre des éléments des maillages Gmsh peut être modifié via la boîte de dialogue de maillage. Pull request #4660
 * Une nouvelle contrainte a été ajoutée : . Pull request #4738
 * Un nouveau solveur a été ajouté : . De nombreux commits.
 * Une nouvelle contrainte a été ajoutée : . Pull request #4982
 * Il est maintenant possible d'avoir des pipelines de résultats avec plusieurs filtres, où certains prennent d'autres filtres en entrée, d'autres prennent les résultats directement du pipeline. commit 708a300b
 * Les cartes de matériaux peuvent désormais contenir des valeurs de conductivité électrique. Pull request #4647
 * Cartes de matériaux ajoutées pour l'azote et l'argon. Pull request #4649
 * Ajout de la prise en charge des algorithmes de maillage "HXT" (3D) et "Packing Parallelograms" (2D) de Gmsh. Pull request #4654
 * Permettre de définir pour la propriété Optimisation d'ordre élevé de Gmsh un certain algorithme.Pull request #4705
 * Les matériaux solides non linéaires à durcissement simple peuvent désormais avoir un nombre arbitraire de limites d'élasticité. Pull request #5024
 * Ajout/suppression modale d'entités géométriques aux contraintes agissant aux limites. Pull request #5117
 * La plupart des dialogues de contraintes FEM se comportent désormais de manière uniforme et offrent les mêmes fonctionnalités de sélection des objets 3D. Pull request #5391

Exportation

 * DXF : Le bloc d'unité manquant a été ajouté au fichier header14.rub. Pull request #5793

Amélioration du support des éléments NASTRAN GRID
L'outil d'importation de Mesh supporte maintenant l'élément "GRID*" de haute précision. L'élément "GRID" de précision standard a également été amélioré et supporte maintenant les entrées numériques délimitées par des espaces ainsi que les entrées à largeur de champ fixe, conformément à la documentation du format NASTRAN95.

Autres améliorations de Mesh
Correction des faux négatifs lors des tests d'auto-intersection lorsque les facettes sont coplanaires : Pull request #5002.

Atelier OpenSCAD
L'interopérabilité avec OpenSCAD a été améliorée, en ajoutant le support de plusieurs opérations manquantes dans les versions précédentes (extrusion linéaire avec rotations, extrusions rotatives). Plusieurs opérations ont été modifiées pour fournir des équivalents d'objets FreeCAD améliorés, en particulier pour les extrusions torsadées. La génération de surfaces à partir de données discrètes a été modifiée pour donner des résultats plus proches de ceux d'OpenSCAD, plutôt que des surfaces cannelées.

De nouvelles options ont été ajoutées pour supporter l'exécution de FreeCAD, OpenSCAD, ou les deux, dans des environnements de bacs à sable tels que les AppImages et les paquets Snap : les données peuvent maintenant être transférées vers et depuis OpenSCAD via le mécanisme standard de répertoire temporaire, via un répertoire temporaire spécifié par l'utilisateur auquel les deux exécutables ont accès, ou, nouveauté d'OpenSCAD 2021.1, via un mécanisme de "stdout pipe", contournant entièrement les fichiers temporaires.

Ajouter un élément OpenSCAD - a maintenant des options supplémentaires Load - charger un fichier scad Save - sauvegarder un fichier scad Refresh - mise à jour de la vue FreeCAD Clear - effacer la saisie de texte

A new text box gives feedback about OpenSCAD errors.
 * }

Autres améliorations de Part

 * La boîte de dialogue pour éditer des Cylindres permet maintenant de spécifier un angle relatif à la normale du plan d'attache choisi. De cette façon, on peut créer des cylindres obliques. Pull request #4708
 * Les commandes suivantes prennent désormais en charge App::Links : Lissage, Balayage, Extrusion, Révolution, Inverser les formes, Miroir, Décalage 2D, Décalage 3D, Vérifier la géométrie, Surface réglée, Coupes, et Évidement. Pull request #6478

Autres améliorations de PartDesign

 * Avec la fonction Hélice, on peut désormais utiliser la normale de l'esquisse comme axe. Pull request #5199
 * La fonction Pignon permet désormais de créer également des pignons normalisés ISO. Discussion du forum Pull request #4478
 * Les fonctions Lissage et Balayage permettent désormais d'utiliser les faces du corps pour les sections. Pull request #5155
 * Il est désormais possible de sélectionner plusieurs faces avant d'ouvrir la boîte de dialogue de Protrusion ou Cavité. Dans ce cas, la première face sélectionnée sera utilisée pour déterminer la direction par défaut de la protrusion/cavité. commit d34a5616
 * Il est possible de décaler les Sous formes liées si elles sont basées sur des arêtes, des lignes ou des faces. Pull request #6338
 * Les Sous formes liées possède maintenant la propriété Refine comme tous les autres objets PartDesign. Pull request #6550
 * Dans les boîtes de dialogue de Chanfrein et de Congé, tous les bords d'un corps peuvent être sélectionnés via le menu contextuel en mode Ajout. Pull request #5269 Lorsque vous avez sélectionné un objet 3D avant de cliquer sur l'icône pour créer un congé ou un chanfrein, tous les bords de l'objet seront automatiquement sélectionnés. Pull request #5328
 * Les boîtes de dialogue de Chanfrein et Congé disposent désormais chacune d'une nouvelle case à cocher Utiliser tous les bords, qui est liée à la propriété Use All Edges de ces objets. Lorsque la case est cochée, la propriété est définie à True. Lorsqu'elle n'est pas cochée, la propriété est définie à False. Lorsque Use All Edges est True, il y a une protection contre le problème de dénomination topologique car alors tous les bords de l'objet de base sont utilisés, quel que soit le nombre de bords. Pull request #5340
 * La sélection du plan lors de l'ajout d'une nouvelle esquisse peut désormais se faire d'un simple clic dans la vue 3D. Pull request Discussion du forum
 * Lorsqu'un outil PartDesign est exécuté sans corps actif, FreeCAD propose désormais d'activer un corps ou d'en créer un nouveau. Pull request #4949
 * L'outil Définir les couleurs est désormais également disponible depuis l'atelier de PartDesign.

Atelier Path

 * La fonctionnalité Extensions a été ajoutée à l'opération Adaptatif. Pull request #4388
 * L'opération Hélice a été remaniée et la propriété Extra offset lui a été ajoutée. Pull request #5405
 * La vérification si le schéma en cours utilise les minutes pour l'expression de vitesse et l'avertissement approprié ont été ajoutés. Pull request #6357
 * Les filets externes ont été ajoutés à l'opération de fraisage de filets. Pull request #6485
 * La stabilité de la gravure sur les esquisses a été améliorée. Pull request #6394
 * La visibilité des objets Parcours a été rendue plus naturelle. Pull request #4911

Module Plot

 * FreeCAD fournit maintenant le module Plot par défaut, de sorte que tout autre module/atelier peut créer des tracés sans nécessiter d'outils externes Pull request #4971.

Autres améliorations de Sketcher

 * Prise en charge de l'Ajustement remanié. Pull Request Discussion du forum <-- Besoin de copies d'écran
 * Le comportement de l'outil Sketcher_CreateSlot.svg Rainure a changé. Les rainures peuvent maintenant être créées en définissant le centre des deux demi-cercles. Pull request #4843 Discussion du forum
 * L'automatisation de la visibilité permet d'ouvrir Sketcher dans une Vue en section lors de l'entrée en mode édition. Pull request #4742 Discussion du forum
 * L'automatisation de la visibilité permet de forcer la caméra en Vue orthographique lorsqu'on rentre dans le mode édition. Pull request #4778 Discussion du forum.
 * Option permettant d'afficher le nom de la contrainte dimensionnelle et d'utiliser un format personnalisé pour celui-ci. Pull request Discussion du forum
 * Lors de l'esquisse d'un arc à 3 points avec Autoconstraint activé, une contrainte tangente est proposée pour les 3 points lors du survol d'une ligne/courbe. Pull request #4945 Discussion du forum.
 * Les contraintes de rayon/diamètre sont affichées en utilisant une rotation angulaire pour faciliter la visualisation. L'angle et le caractère aléatoire optionnel sont réglables par l'utilisateur grâce aux paramètres documentés dans le Réglage fin. Pull request #4934 Discussion du forum
 * Il est maintenant possible de fixer l'angle de la direction lors de l'utilisation de l'outil Réseau rectangulaire. commitc9eaa239 Discussion du forum
 * Il est maintenant possible de fixer l'angle de la direction lors de l'utilisation des outils Clone, Copier et Déplacer. commit Discussion du forum
 * En cliquant avec le bouton droit de la souris sur une esquisse dans l'arborescence, vous obtiendrez désormais une entrée de menu contextuel "Éditeur de pièce jointe" qui ouvre la boîte de dialogue d'Ancrage pour modifier la pièce jointe. commit c3511ba2f0
 * La sélection des contraintes est désactivée lors de l'utilisation d'un outil de géométrie ou de contrainte. Elle peut également être désactivée manuellement à tout moment en appuyant sur la touche . Pull request #5398 Discussion du forum
 * Un filtre d'affichage polyvalent a été ajouté dans le panneau de tâches de Sketcher pour faciliter la gestion de la visibilité des contraintes Discussion du forum.
 * Il est désormais possible de définir le degré d'une B-Spline (Pull request #6463) et d'annuler le dernier point de contrôle défini (Pull request #6476) au moment de la création.

Autres améliorations de Spreadsheet

 * Importation XLSX (utilisée par Std Importer) : Ajout du support des fonctions Partie entière par défaut (floor) et Partie entière supérieure (ceil). Pull request #5015.
 * Liaison de cellules : demande à un ensemble de cellules d'afficher le contenu d'un autre ensemble de cellules. Fait partie de Pull request #2862.
 * Amélioration de la navigation en utilisant les touches et.
 * Amélioration de l'interface pour couper et coller des blocs de cellules.

Autres améliorations de TechDraw

 * Il est désormais possible de Copier et Déplacer des Vues entre de pages.
 * Lorsqu'il y a plusieurs Pages et que l'on veut ajouter une Vue, un Groupe de projections etc., il y a maintenant un dialogue pour demander à quelle page la vue doit être ajoutée. Pull request #5309.
 * Un nouveau spécificateur de format %w a été ajouté pour afficher le nombre donné de chiffres après le point et supprimer les zéros de à la fin. Pull request #5401.
 * Le nouveau spécificateur de format %w est maintenant la valeur par défaut. La préférence de spécification de format a été déplacée de l'onglet Avancé à l'onglet Dimension. Pull request #6504.
 * Des hachures diagonales inversées ont été ajoutées pour l'outil Hachures géométriques. Pull request #6429.
 * Il existe une nouvelle option pour afficher une grille dans une page. Plusieurs préférences connexes ont été introduites. Pull request #6465.
 * L'affichage des unités dans les dimensions a été corrigé conformément aux normes. Le symbole du degré est toujours présent pour la valeur de la dimension et les tolérances, les autres unités n'apparaissent que si ShowUnits est défini. L'unité apparaît immédiatement après la valeur de la dimension sauf s'il y a une tolérance, alors elle apparaît après la tolérance. Pull request #6581

Web
Qt WebEngine est maintenant considéré comme l'option par défaut au lieu de Qt WebKit.

Ateliers externes
ce sont les nouveaux ateliers créés dans ce cycle de développement ou les anciens ateliers qui ont reçu des mises à jour. Voir les Ateliers externes pour plus d'ateliers pouvant être installés et couvrant une grande variété de sujets. Si vous souhaitez voir votre atelier ajouté, rejoignez le forum et présentez votre code.

A2plus
Plusieurs fonctions permettant de visualiser, d'inspecter et de modifier les contraintes existantes ont été ajoutées. Il est désormais possible de mettre en évidence les contraintes à l'aide d'une étiquette, de supprimer temporairement une contrainte ou d'exécuter le solveur uniquement pour une contrainte particulière.

Pour plus d'informations, voir la description du traitement des contraintes.

FCGear
L'atelier FCGear a reçu quelques améliorations :


 * Pour les engrenages à développante, le diamètre extérieur (ou pointe) et le diamètre de la racine sont exposés en tant que propriétés (détails).
 * Les objets engrenages sont maintenant attachables. (détails)
 * Les objets engrenages peuvent désormais être utilisés comme des fonctions additives dans les corps de PartDesign (détails).
 * La création d'objets engrenages apparaît désormais dans la pile d'annulation (détails)

Plot

 * Le module Plot a été supprimé de l'atelier car il est désormais fourni par FreeCAD.

Ship
L'Atelier Ship est de nouveau opérationnel !


 * Un nouvel outil pour calculer le tirant d'eau et l'angle d'assiette a été ajouté.
 * Un nouvel outil pour calculer les opérateurs d'amplitude de réponse a été ajouté en plus de capytaine.

Compilation
Depuis cette version, FreeCAD ne peut être compilé qu'avec Qt 5 et Python 3.

Pour compiler FreeCAD sous Windows, il existe différents Libpacks (bibliothèques pré-emballées) disponibles :
 * Libpack pour Windows avec Qt xx, OCC yy et Python zz

Systèmes d'exploitation pris en charge :
 * Windows 7, 8 et 10
 * Linux Ubuntu Bionic Beaver (18.04) et Focal Fossa (20.04)
 * MacOS version minimale 10.12 Sierra

Windows 32 bits
Depuis FreeCAD 0.19, nous ne supportons plus officiellement Windows 32 bits. Il pourrait fonctionner mais aucun support n'est donné pour ces systèmes.

Bureau distant sous Windows
Selon les capacités graphiques OpenGL d'un ordinateur, il se peut que l'on rencontre un plantage lors de l'exécution de FreeCAD via le bureau à distance. Pour résoudre ce problème, mettez à jour votre pilote OpenGL. Si cela ne vous aide pas :
 * Téléchargez cette bibliothèque OpenGL pour Windows 64 bits et extrayez-la.
 * Renommez le fichier DLL en opengl32sw.dll et copiez-le dans le sous-dossier bin du dossier d'installation de FreeCAD (écrasez la DLL existante).