* esim.saip.FsProfileElement: Add create_file() method
* esim.saip.File: Suppress encoding attributes that are like template
* esim.saip.File: Proper ARR conversion of template (into) to file (bytes)
* esim.saip.File: Re-compute file_size when changing body
* esim.saip: New methods for inserting ProfileElement into sequence
* [cosmetic] esim: Fix various typos in comments/messages/docs
* [cosmetic] esim.saip: Fix various typos in comments/docs/messages
* esim.saip: Fix computation of file content
* esim.saip: Compute number of records from efFileSize and record_len
* pySim.esim.saip: Treat "Readable and Updateable when deactivated" flag
* esim.saip: Fix parsing/generating fillPattern + repeatPattern
* pySim.ota.OtaDialectSms: Move SMS header construct up to class level
* pySim/ota: Don't modify input argument in OtaDialectSms.encode_cmd
* pySim.cat: Add more alredy-defined IEs to ProactiveCmd classes
* add contrib/saip-tool.py
* jenkins.sh: Include es9p_client in pylint
* pySim.tlv.COMPR_TLV_IE: Patch comprehension bit if derived class misses it
* pySim.cat: Make sure to always set comprehension bit in COMPR_TLV_IE
* pySim.tlv: Correctly parse COMPREHENSION-TLV without comprehension bit
* esim.saip: Add ProfileElementSequence.remove_naas_of_type
* construct: use Python's API for int<->bytes conversion
* contrib/jenkins.sh: install dependencies from requirements.txt
* contrib/jenkins.sh: execute this script with -x and -e
* Fix various mistakes around the CardADF <-> CardApplication dualism
* filesystem: fix various issues found by mypy
* filesystem: Avoid GPL header showing up in sphinx autodoc
* Use sphinx for generating documentation
* Add more documentation to the classes/methods