Skip to content

Commit

Permalink
Corriger légèrement la segmentation et l'étiquettage (#6)
Browse files Browse the repository at this point in the history
* fix: corriger certains documents

* fix: corriger indices de convert

* fix: extraire plus de numeros

* fix: utiliser modele specific quand pas de structure

* chore: isort
  • Loading branch information
dhdaines authored Nov 20, 2023
1 parent 18dc2d2 commit 2859636
Show file tree
Hide file tree
Showing 12 changed files with 4,766 additions and 3,652 deletions.
2 changes: 1 addition & 1 deletion alexi/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def write_csv(
def convert_main(args: argparse.Namespace):
"""Convertir les PDF en CSV"""
if args.pages:
pages = [max(0, int(x) - 1) for x in args.pages.split(",")]
pages = [max(1, int(x)) for x in args.pages.split(",")]
else:
pages = None
conv = Converteur(args.pdf)
Expand Down
4 changes: 4 additions & 0 deletions alexi/analyse.py
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,10 @@ def __call__(
LOGGER.info("Numéro extrait du titre: %s", m.group(1))
numero = m.group(1)
titre = titre[: m.start(1)] + titre[m.end(1) :]
elif m := re.match(r".*(\b\d+-\d+-[A-Z]+$)", titre):
LOGGER.info("Numéro extrait du titre: %s", m.group(1))
numero = m.group(1)
titre = titre[: m.start(1)]
doc = Document(self.fileid, numero, titre)
doc.meta = self.metadata
# Group block-level text elements by page from segment tags
Expand Down
15 changes: 9 additions & 6 deletions alexi/extract.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
from alexi.label import DEFAULT_MODEL as DEFAULT_LABEL_MODEL
from alexi.label import Extracteur
from alexi.segment import DEFAULT_MODEL as DEFAULT_SEGMENT_MODEL
from alexi.segment import Segmenteur
from alexi.segment import DEFAULT_MODEL_NOSTRUCT, Segmenteur
from alexi.types import Bloc

LOGGER = logging.getLogger("extract")
Expand All @@ -40,9 +40,7 @@ def add_arguments(parser: argparse.ArgumentParser) -> argparse.ArgumentParser:
help="Ne pas utiliser le CSV de référence",
action="store_true",
)
parser.add_argument(
"--segment-model", help="Modele CRF", type=Path, default=DEFAULT_SEGMENT_MODEL
)
parser.add_argument("--segment-model", help="Modele CRF", type=Path)
parser.add_argument(
"--label-model", help="Modele CRF", type=Path, default=DEFAULT_LABEL_MODEL
)
Expand Down Expand Up @@ -390,7 +388,6 @@ def make_doc_tree(docs: list[Document], outdir: Path):


def main(args):
crf = None
extracteur = Extracteur()
args.outdir.mkdir(parents=True, exist_ok=True)
docs = []
Expand All @@ -408,7 +405,13 @@ def main(args):
LOGGER.info("Conversion, segmentation et classification de %s", path)
conv = Converteur(path)
feats = conv.extract_words()
if crf is None:
if args.segment_model is None:
if conv.tree is None:
LOGGER.warning("Structure logique absente: %s", path)
crf = Segmenteur(DEFAULT_MODEL_NOSTRUCT)
else:
crf = Segmenteur(DEFAULT_SEGMENT_MODEL)
else:
crf = Segmenteur(args.segment_model)
iob = list(extracteur(crf(feats)))

Expand Down
Binary file modified alexi/models/crf.joblib.gz
Binary file not shown.
Binary file modified alexi/models/crf.vl.joblib.gz
Binary file not shown.
Binary file modified alexi/models/crfseq.joblib.gz
Binary file not shown.
1 change: 1 addition & 0 deletions alexi/segment.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

FEATNAMES = [name for name in FIELDNAMES if name not in ("segment", "sequence")]
DEFAULT_MODEL = Path(__file__).parent / "models" / "crf.joblib.gz"
DEFAULT_MODEL_NOSTRUCT = Path(__file__).parent / "models" / "crf.vl.joblib.gz"
FeatureFunc = Callable[[int, dict], list[str]]


Expand Down
340 changes: 340 additions & 0 deletions data/train/construction_nostruct.csv

Large diffs are not rendered by default.

622 changes: 622 additions & 0 deletions data/train/zonage_annexes.csv

Large diffs are not rendered by default.

5,282 changes: 2,641 additions & 2,641 deletions data/train/zonage_sections.csv

Large diffs are not rendered by default.

144 changes: 144 additions & 0 deletions data/train/zonage_titre.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
sequence,segment,text,page,page_width,page_height,fontname,rgb,x0,x1,top,bottom,doctop,mcid,mctag,tagstack
B-Titre,B-Tete,Règlement,1,612,1008,BCDEEE+ArialNarrow,#777,85,117,36,45,36,,Artifact,
I-Titre,I-Tete,de,1,612,1008,BCDEEE+ArialNarrow,#777,119,126,36,45,36,,Artifact,
I-Titre,I-Tete,zonage,1,612,1008,BCDEEE+ArialNarrow,#777,128,149,36,45,36,,Artifact,
I-Titre,I-Tete,1314-2021-Z,1,612,1008,BCDEEE+ArialNarrow,#777,151,189,36,45,36,,Artifact,
O,I-Tete,Table,1,612,1008,BCDEEE+ArialNarrow,#777,471,488,36,45,36,,Artifact,
O,I-Tete,des,1,612,1008,BCDEEE+ArialNarrow,#777,490,500,36,45,36,,Artifact,
O,I-Tete,matières,1,612,1008,BCDEEE+ArialNarrow,#777,502,527,36,45,36,,Artifact,
O,B-Titre,Ville,1,612,1008,BCDGEE+Cambria-Bold,#000,239,269,306,320,306,2,Span,Document;Table;TR;TH;P
O,I-Titre,de,1,612,1008,BCDGEE+Cambria-Bold,#000,272,288,306,320,306,2,Span,Document;Table;TR;TH;P
O,I-Titre,Sainte-Adèle,1,612,1008,BCDGEE+Cambria-Bold,#000,291,372,306,320,306,2,Span,Document;Table;TR;TH;P
B-Titre,B-Titre,Règlement,1,612,1008,BCDHEE+Calibri-Bold,#000,145,307,475,511,475,8,Span,Document;Table;TR;TH;P
I-Titre,I-Titre,de,1,612,1008,BCDHEE+Calibri-Bold,#000,315,352,475,511,475,8,Span,Document;Table;TR;TH;P
I-Titre,I-Titre,zonage,1,612,1008,BCDHEE+Calibri-Bold,#000,360,466,475,511,475,8,Span,Document;Table;TR;TH;P
I-Titre,I-Titre,numéro,1,612,1008,BCDHEE+Calibri-Bold,#000,202,281,516,540,516,9,Span,Document;Table;TR;TH;P
I-Titre,I-Titre,1314-2021-Z,1,612,1008,BCDHEE+Calibri-Bold,#000,286,409,516,540,516,9,Span,Document;Table;TR;TH;P
O,B-Titre,Codification,1,612,1008,BCDHEE+Calibri-Bold,#000,150,220,566,580,566,11,Span,Document;Table;TR;TH;P
O,I-Titre,administrative,1,612,1008,BCDHEE+Calibri-Bold,#000,223,307,566,580,566,11,Span,Document;Table;TR;TH;P
O,I-Titre,:,1,612,1008,BCDHEE+Calibri-Bold,#000,311,314,566,580,566,11,Span,Document;Table;TR;TH;P
O,I-Titre,à,1,612,1008,BCDHEE+Calibri-Bold,#000,321,328,566,580,566,11,Span,Document;Table;TR;TH;P
O,I-Titre,jour,1,612,1008,BCDHEE+Calibri-Bold,#000,331,354,566,580,566,11,Span,Document;Table;TR;TH;P
O,I-Titre,–,1,612,1008,BCDIEE+Calibri-Bold,#000,357,364,566,580,566,11,Span,Document;Table;TR;TH;P
O,I-Titre,13,1,612,1008,BCDHEE+Calibri-Bold,#000,368,382,566,580,566,11,Span,Document;Table;TR;TH;P
O,I-Titre,octobre,1,612,1008,BCDHEE+Calibri-Bold,#000,385,430,566,580,566,11,Span,Document;Table;TR;TH;P
O,I-Titre,2023,1,612,1008,BCDHEE+Calibri-Bold,#000,434,462,566,580,566,11,Span,Document;Table;TR;TH;P
B-Titre,B-Tete,Règlement,433,612,1008,BCDEEE+ArialNarrow,#777,85,117,36,45,435544,,Artifact,
I-Titre,I-Tete,de,433,612,1008,BCDEEE+ArialNarrow,#777,119,126,36,45,435544,,Artifact,
I-Titre,I-Tete,zonage,433,612,1008,BCDEEE+ArialNarrow,#777,128,149,36,45,435544,,Artifact,
I-Titre,I-Tete,1314-2021-Z,433,612,1008,BCDEEE+ArialNarrow,#777,151,189,36,45,435544,,Artifact,
O,I-Tete,Entrée,433,612,1008,BCDEEE+ArialNarrow,#777,475,495,36,45,435544,,Artifact,
O,I-Tete,en,433,612,1008,BCDEEE+ArialNarrow,#777,497,504,36,45,435544,,Artifact,
O,I-Tete,vigueur,433,612,1008,BCDEEE+ArialNarrow,#777,506,527,36,45,435544,,Artifact,
O,B-Titre,ENTRÉE,433,612,1008,BCDKEE+ArialNarrow-Bold,#222,85,132,260,274,435767,0,Span,H2
O,I-Titre,EN,433,612,1008,BCDKEE+ArialNarrow-Bold,#222,135,151,260,274,435767,0,Span,H2
O,I-Titre,VIGUEUR,433,612,1008,BCDKEE+ArialNarrow-Bold,#222,154,206,260,274,435767,0,Span,H2
O,B-Alinea,Le,433,612,1008,BCDEEE+ArialNarrow,#000,113,123,299,309,435807,1,Span,L;L;L;L;L;L;LI;Lbl
O,I-Alinea,présent,433,612,1008,BCDEEE+ArialNarrow,#000,125,152,299,309,435807,1,Span,L;L;L;L;L;L;LI;Lbl
O,I-Alinea,règlement,433,612,1008,BCDEEE+ArialNarrow,#000,154,191,299,309,435807,1,Span,L;L;L;L;L;L;LI;Lbl
O,I-Alinea,entre,433,612,1008,BCDEEE+ArialNarrow,#000,193,212,299,309,435807,1,Span,L;L;L;L;L;L;LI;Lbl
O,I-Alinea,en,433,612,1008,BCDEEE+ArialNarrow,#000,214,223,299,309,435807,1,Span,L;L;L;L;L;L;LI;Lbl
O,I-Alinea,vigueur,433,612,1008,BCDEEE+ArialNarrow,#000,225,252,299,309,435807,1,Span,L;L;L;L;L;L;LI;Lbl
O,I-Alinea,conformément,433,612,1008,BCDEEE+ArialNarrow,#000,255,307,299,309,435807,1,Span,L;L;L;L;L;L;LI;Lbl
O,I-Alinea,à,433,612,1008,BCDEEE+ArialNarrow,#000,309,314,299,309,435807,1,Span,L;L;L;L;L;L;LI;Lbl
O,I-Alinea,la,433,612,1008,BCDEEE+ArialNarrow,#000,316,323,299,309,435807,1,Span,L;L;L;L;L;L;LI;Lbl
O,I-Alinea,loi.,433,612,1008,BCDEEE+ArialNarrow,#000,325,335,299,309,435807,1,Span,L;L;L;L;L;L;LI;Lbl
O,B-Alinea,Avis,433,612,1008,BCDEEE+ArialNarrow,#000,218,234,324,334,435832,3,Span,Table;TR;TH;P
O,I-Alinea,de,433,612,1008,BCDEEE+ArialNarrow,#000,236,245,324,334,435832,3,Span,Table;TR;TH;P
O,I-Alinea,motion,433,612,1008,BCDEEE+ArialNarrow,#000,247,272,324,334,435832,3,Span,Table;TR;TH;P
O,I-Alinea,17,433,612,1008,BCDEEE+ArialNarrow,#000,429,438,324,334,435832,4,Span,Table;TR;TH;P
O,I-Alinea,mai,433,612,1008,BCDEEE+ArialNarrow,#000,440,454,324,334,435832,4,Span,Table;TR;TH;P
O,I-Alinea,2021,433,612,1008,BCDEEE+ArialNarrow,#000,456,474,324,334,435832,4,Span,Table;TR;TH;P
O,B-Alinea,Adoption,433,612,1008,BCDEEE+ArialNarrow,#000,229,261,341,351,435849,5,Span,Table;TR;TH;P
O,I-Alinea,19,433,612,1008,BCDEEE+ArialNarrow,#000,426,435,341,351,435849,6,Span,Table;TR;TD;P
O,I-Alinea,juillet,433,612,1008,BCDEEE+ArialNarrow,#000,438,456,341,351,435849,6,Span,Table;TR;TD;P
O,I-Alinea,2021,433,612,1008,BCDEEE+ArialNarrow,#000,459,477,341,351,435849,6,Span,Table;TR;TD;P
O,B-Alinea,Entrée,433,612,1008,BCDEEE+ArialNarrow,#000,213,237,356,366,435864,7,Span,Table;TR;TH;P
O,I-Alinea,en,433,612,1008,BCDEEE+ArialNarrow,#000,239,248,356,366,435864,7,Span,Table;TR;TH;P
O,I-Alinea,vigueur,433,612,1008,BCDEEE+ArialNarrow,#000,250,277,356,366,435864,7,Span,Table;TR;TH;P
O,I-Alinea,23,433,612,1008,BCDEEE+ArialNarrow,#000,416,425,356,366,435864,8,Span,Table;TR;TD;P
O,I-Alinea,septembre,433,612,1008,BCDEEE+ArialNarrow,#000,428,466,356,366,435864,8,Span,Table;TR;TD;P
O,I-Alinea,2021,433,612,1008,BCDEEE+ArialNarrow,#000,469,487,356,366,435864,8,Span,Table;TR;TD;P
O,B-Alinea,Signé,433,612,1008,BCDEEE+ArialNarrow,#000,113,134,413,423,435921,12,Span,L;L;L;L;L;L;LI;Lbl
O,I-Alinea,à,433,612,1008,BCDEEE+ArialNarrow,#000,137,141,413,423,435921,12,Span,L;L;L;L;L;L;LI;Lbl
O,I-Alinea,"Sainte-Adèle,",433,612,1008,BCDEEE+ArialNarrow,#000,143,193,413,423,435921,12,Span,L;L;L;L;L;L;LI;Lbl
O,I-Alinea,ce,433,612,1008,BCDEEE+ArialNarrow,#000,195,203,413,423,435921,13,Span,L;L;L;L;L;L;LI;LBody
O,I-Alinea,20e,433,612,1008,BCDEEE+ArialNarrow,#000,206,218,413,423,435921,13,Span,L;L;L;L;L;L;LI;LBody
O,I-Alinea,jour,433,612,1008,BCDEEE+ArialNarrow,#000,220,234,413,423,435921,13,Span,L;L;L;L;L;L;LI;LBody
O,I-Alinea,du,433,612,1008,BCDEEE+ArialNarrow,#000,236,245,413,423,435921,13,Span,L;L;L;L;L;L;LI;LBody
O,I-Alinea,mois,433,612,1008,BCDEEE+ArialNarrow,#000,248,265,413,423,435921,13,Span,L;L;L;L;L;L;LI;LBody
O,I-Alinea,d’octobre,433,612,1008,BCDEEE+ArialNarrow,#000,267,301,413,423,435921,13,Span,L;L;L;L;L;L;LI;LBody
O,I-Alinea,de,433,612,1008,BCDMEE+ArialNarrow,#000,303,312,413,423,435921,13,Span,L;L;L;L;L;L;LI;LBody
O,I-Alinea,l’an,433,612,1008,BCDMEE+ArialNarrow,#000,315,327,413,423,435921,13,Span,L;L;L;L;L;L;LI;LBody
O,I-Alinea,2021.,433,612,1008,BCDMEE+ArialNarrow,#000,330,350,413,423,435921,13,Span,L;L;L;L;L;L;LI;LBody
O,B-Alinea,(s),433,612,1008,BCDEEE+ArialNarrow,#000,113,123,442,452,435950,14,Span,P
O,I-Alinea,Nadine,433,612,1008,BCDEEE+ArialNarrow,#000,125,151,442,452,435950,14,Span,P
O,I-Alinea,Brière,433,612,1008,BCDEEE+ArialNarrow,#000,153,175,442,452,435950,14,Span,P
O,I-Alinea,(s),433,612,1008,BCDEEE+ArialNarrow,#000,298,307,442,452,435950,14,Span,P
O,I-Alinea,Audrey,433,612,1008,BCDEEE+ArialNarrow,#000,310,336,442,452,435950,14,Span,P
O,I-Alinea,Senécal,433,612,1008,BCDEEE+ArialNarrow,#000,338,367,442,452,435950,14,Span,P
O,O,__________________________,433,612,1008,BCDEEE+ArialNarrow,#000,114,233,454,464,435962,15,Span,P
O,O,___________________________________,433,612,1008,BCDEEE+ArialNarrow,#000,298,457,454,464,435962,15,Span,P
O,B-Alinea,Nadine,433,612,1008,BCDEEE+ArialNarrow,#000,113,139,465,475,435973,16,Span,P
O,I-Alinea,Brière,433,612,1008,BCDEEE+ArialNarrow,#000,142,163,465,475,435973,16,Span,P
O,I-Alinea,Me,433,612,1008,BCDEEE+ArialNarrow,#000,298,309,465,475,435973,16,Span,P
O,I-Alinea,Audrey,433,612,1008,BCDEEE+ArialNarrow,#000,311,337,465,475,435973,16,Span,P
O,I-Alinea,Senécal,433,612,1008,BCDEEE+ArialNarrow,#000,339,369,465,475,435973,16,Span,P
O,B-Alinea,Mairesse,433,612,1008,BCDEEE+ArialNarrow,#000,113,147,477,487,435985,17,Span,P
O,I-Alinea,Greffière,433,612,1008,BCDEEE+ArialNarrow,#000,298,329,477,487,435985,17,Span,P
O,I-Alinea,et,433,612,1008,BCDEEE+ArialNarrow,#000,332,339,477,487,435985,17,Span,P
O,I-Alinea,directrice,433,612,1008,BCDEEE+ArialNarrow,#000,341,374,477,487,435985,17,Span,P
O,I-Alinea,des,433,612,1008,BCDEEE+ArialNarrow,#000,376,390,477,487,435985,17,Span,P
O,I-Alinea,services,433,612,1008,BCDEEE+ArialNarrow,#000,392,422,477,487,435985,17,Span,P
O,I-Alinea,juridiques,433,612,1008,BCDEEE+ArialNarrow,#000,424,459,477,487,435985,17,Span,P
O,O,**************************************************,433,612,1008,BCDEEE+ArialNarrow,#000,226,385,511,521,436019,20,Span,P
O,B-Titre,CERTIFICAT,433,612,1008,BCDKEE+ArialNarrow-Bold,#000,246,295,523,533,436031,21,Span,P
O,I-Titre,D’APPROBATION,433,612,1008,BCDNEE+ArialNarrow-Bold,#000,297,366,523,533,436031,21,Span,P
O,B-Titre,RÈGLEMENT,433,612,1008,BCDKEE+ArialNarrow-Bold,#000,235,286,552,562,436060,22,Span,P
B-Numero,I-Titre,1314-2021-Z,433,612,1008,BCDKEE+ArialNarrow-Bold,#000,288,335,552,562,436060,22,Span,P
O,I-Titre,de,433,612,1008,BCDKEE+ArialNarrow-Bold,#000,337,347,552,562,436060,22,Span,P
O,I-Titre,zonage,433,612,1008,BCDKEE+ArialNarrow-Bold,#000,349,378,552,562,436060,22,Span,P
O,B-Alinea,En,433,612,1008,BCDMEE+ArialNarrow,#000,113,123,575,585,436083,24,Span,P
O,I-Alinea,vertu,433,612,1008,BCDMEE+ArialNarrow,#000,126,144,575,585,436083,24,Span,P
O,I-Alinea,de,433,612,1008,BCDMEE+ArialNarrow,#000,146,155,575,585,436083,24,Span,P
O,I-Alinea,l’article,433,612,1008,BCDMEE+ArialNarrow,#000,158,183,575,585,436083,24,Span,P
O,I-Alinea,357,433,612,1008,BCDMEE+ArialNarrow,#000,185,199,575,585,436083,24,Span,P
O,I-Alinea,de,433,612,1008,BCDMEE+ArialNarrow,#000,201,210,575,585,436083,24,Span,P
O,I-Alinea,la,433,612,1008,BCDMEE+ArialNarrow,#000,213,219,575,585,436083,24,Span,P
O,I-Alinea,Loi,433,612,1008,BCDPEE+ArialNarrow-Italic,#000,221,232,575,585,436083,24,Span,P
O,I-Alinea,sur,433,612,1008,BCDPEE+ArialNarrow-Italic,#000,235,246,575,585,436083,24,Span,P
O,I-Alinea,les,433,612,1008,BCDPEE+ArialNarrow-Italic,#000,248,259,575,585,436083,24,Span,P
O,I-Alinea,cités,433,612,1008,BCDPEE+ArialNarrow-Italic,#000,261,278,575,585,436083,24,Span,P
O,I-Alinea,et,433,612,1008,BCDPEE+ArialNarrow-Italic,#000,280,287,575,585,436083,24,Span,P
O,I-Alinea,villes,433,612,1008,BCDPEE+ArialNarrow-Italic,#000,289,308,575,585,436083,24,Span,P
O,I-Alinea,:,433,612,1008,BCDEEE+ArialNarrow,#000,310,312,575,585,436083,24,Span,P
O,B-Alinea,«,433,612,1008,BCEBEE+ArialNarrow-BoldItalic,#000,113,118,599,609,436106,25,Span,P
B-Titre,I-Alinea,Règlement,433,612,1008,BCEBEE+ArialNarrow-BoldItalic,#000,120,162,599,609,436106,25,Span,P
I-Titre,I-Alinea,1314-2021-Z,433,612,1008,BCEBEE+ArialNarrow-BoldItalic,#000,164,212,599,609,436106,25,Span,P
I-Titre,I-Alinea,de,433,612,1008,BCEBEE+ArialNarrow-BoldItalic,#000,214,223,599,609,436106,25,Span,P
I-Titre,I-Alinea,zonage»,433,612,1008,BCEBEE+ArialNarrow-BoldItalic,#000,226,258,599,609,436106,25,Span,P
O,B-Alinea,Adoption,433,612,1008,BCDEEE+ArialNarrow,#000,229,261,624,634,436132,26,Span,Table;TR;TH;P
O,I-Alinea,19,433,612,1008,BCDEEE+ArialNarrow,#000,420,429,624,634,436132,27,Span,Table;TR;TH;P
O,I-Alinea,juillet,433,612,1008,BCDEEE+ArialNarrow,#000,431,450,624,634,436132,27,Span,Table;TR;TH;P
O,I-Alinea,2021,433,612,1008,BCDEEE+ArialNarrow,#000,452,470,624,634,436132,27,Span,Table;TR;TH;P
O,B-Alinea,(s),433,612,1008,BCDEEE+ArialNarrow,#000,113,123,657,667,436165,28,Span,P
O,I-Alinea,Nadine,433,612,1008,BCDEEE+ArialNarrow,#000,125,151,657,667,436165,28,Span,P
O,I-Alinea,Brière,433,612,1008,BCDEEE+ArialNarrow,#000,153,175,657,667,436165,28,Span,P
O,I-Alinea,(s),433,612,1008,BCDEEE+ArialNarrow,#000,298,307,657,667,436165,28,Span,P
O,I-Alinea,Audrey,433,612,1008,BCDEEE+ArialNarrow,#000,310,336,657,667,436165,28,Span,P
O,I-Alinea,Senécal,433,612,1008,BCDEEE+ArialNarrow,#000,338,367,657,667,436165,28,Span,P
O,O,__________________________,433,612,1008,BCDEEE+ArialNarrow,#000,114,233,668,678,436176,29,Span,P
O,O,___________________________________,433,612,1008,BCDEEE+ArialNarrow,#000,298,457,668,678,436176,29,Span,P
O,B-Alinea,Nadine,433,612,1008,BCDEEE+ArialNarrow,#000,113,139,680,690,436188,30,Span,P
O,I-Alinea,Brière,433,612,1008,BCDEEE+ArialNarrow,#000,142,163,680,690,436188,30,Span,P
O,I-Alinea,Me,433,612,1008,BCDEEE+ArialNarrow,#000,298,309,680,690,436188,30,Span,P
O,I-Alinea,Audrey,433,612,1008,BCDEEE+ArialNarrow,#000,311,337,680,690,436188,30,Span,P
O,I-Alinea,Senécal,433,612,1008,BCDEEE+ArialNarrow,#000,339,369,680,690,436188,30,Span,P
O,B-Alinea,Mairesse,433,612,1008,BCDEEE+ArialNarrow,#000,113,147,691,701,436199,31,Span,P
O,I-Alinea,Greffière,433,612,1008,BCDEEE+ArialNarrow,#000,298,329,691,701,436199,31,Span,P
O,I-Alinea,et,433,612,1008,BCDEEE+ArialNarrow,#000,332,339,691,701,436199,31,Span,P
O,I-Alinea,directrice,433,612,1008,BCDEEE+ArialNarrow,#000,341,374,691,701,436199,31,Span,P
O,I-Alinea,des,433,612,1008,BCDEEE+ArialNarrow,#000,376,390,691,701,436199,31,Span,P
O,I-Alinea,services,433,612,1008,BCDEEE+ArialNarrow,#000,392,422,691,701,436199,31,Span,P
O,I-Alinea,juridpiques,433,612,1008,BCDEEE+ArialNarrow,#000,424,464,691,701,436199,31,Span,P
O,B-Pied,433,433,612,1008,BCDEEE+ArialNarrow,#000,516,527,952,960,436460,,Artifact,
Loading

0 comments on commit 2859636

Please sign in to comment.