data-anonymization-0.9.1

https://rubygems.org

data-anonymization

quick gemspec

.gem

.gem metadata (gemspec)

.gemspec

id: 1742632

number: 0.9.1

platform: ruby

spec_sha256: 91aedf4f2b31b0e5c9065a106268b8324ec7844348de475f41fba2f26391fb18

sha256: 8565051bee5b0af744c01856122cc7978d4c1eb7cf507ec335b1fade746d4cb7

created_at: 2025-01-29 15:41:31 UTC

updated_at: 2025-01-29 15:41:32 UTC

position: 0

version_data_entries_count: 145

uploaded_at: 2025-01-29 15:41:28 UTC

indexed: true

has_extensions: false

extensions: []

Gem size: 99.5 KB

Version Data Entries

Total: 145

Unpacked size: 532 KB

Full NameModeUIDGIDMtimeLinknameSizeSHA
examples/mongodb_blacklist_dsl.rb100644001.41 KB841204551d66e582b464d0ebdbf352058ddb73b22143738840c7b0f7c75d14c2
.coveralls.yml1006440045 Bytese94c34d318a8e31416d76c27966c4cad9ef09b7e1177c212203ec10814515aab
.documentup.json10064400215 Bytes71162fccb5d78fd265c0775df1ff2b1402dabda8135e1f074e12a6afc27d1c6a
.gitignore10064400303 Bytes0bc9775ddfe73b1871b38bd513b54c4f8934d96c31a9270c4ad772aaa0d2fc7c
.rspec1006440042 Bytes9dd90de58cb5d1f48457333f56c1d7b0e731aa82f6c90a4366a3b12107473ca8
.ruby-gemset1006440010 Bytes59f494cbde1bf1c36740f39253305481f55bbab0673af5a1159a14d49a5f491c
.ruby-version1006440011 Bytes6706507ec7c311437d851166dde6cf7178acbdcc307dde303057a9110f47be57
.travis.yml10064400149 Bytes6e04ee651b46bbe5b32fcecc1b515932b3b0c5ded86907ef945db2383f4245e0
Gemfile10064400193 Bytes69a8c04bc2433c013d53944d3cb9130a718c94b1fcb05edd1fcc6af3807953ad
LICENSE.txt100644001.04 KB02c99f3bca6407d854c0f312691ebd7b38e943d085936651f318121758eab33d
README.md1006440027.9 KB7d95f0706703ca3136030cdd6ad346cade2ce2de9fc5c4a2fba39d83228e0ba4
Rakefile10064400231 Bytes745948e74caeb53805424d89450c925e95865b5fd8c820056762cc88d8ba0adb
bin/datanon100755002.87 KB84215724d8f8fe121985deb407229c2502e0c552ceca015ad5fdc92a86d7808d
commands.txt10064400367 Bytes9e821e373d761c80eb3991ef1cdd38fdb49021f4dd463948775ed18c8365f02c
data-anonymization.gemspec100644001.28 KB1849a45faacc1c298e568da591a103d959b19858e18a08ad212d64bea46c5b5c
examples/blacklist_dsl.rb100644001.86 KBe46d64a2dccf495ddf63085c4e3863a6db5c24e4c4f9b2b9dac0918fc883e85c
examples/mongodb_whitelist_dsl.rb100644001.73 KBb6b841aef0886d10322dc3e9b83ecaf0e4184926a0795ae41325135bc77d0bd6
examples/whitelist_dsl.rb100644002.69 KB762340d28f2b071fa23fdebf62762612f0b2791b9ed4a9a0e09c56a2bb85cdab
examples/whitelist_dsl_threads.rb100644002.55 KBdd33f084d973736dcdc7316c576b5a9657b07be1ad855a4dbcc21b449cb9c43f
lib/core/database.rb100644001.91 KB6518f032235a5fea757f491094c880c589e51ddc7f3f867f6343da5fed0598aa
lib/core/dsl.rb10064400338 Bytes8ca1953b65ebfb1e5be1d3198499d00289bc264d807c8390df1198128ab6e5f1
lib/core/field.rb10064400413 Bytes59fc0dd11411005de87b14e501533846a1abd1b842f7250d85a66b6ed9555805
lib/core/fields_missing_strategy.rb10064400671 Bytes652dcaa00479999c362ff1a89c27c8f5cce09824e667cd83d79713f9c08ca388
lib/core/table_errors.rb10064400719 Bytes9437d9327e8851dcfe93090dca2c6588790c172560214ade5475300e30fa6ac8
lib/data-anonymization.rb10064400756 Bytes082a725535804bdd772afc2f165b76f69386eb99eb0cf824d40a1378bbef4a43
lib/parallel/table.rb10064400393 Byteseb37078add9e63fdc543be492da6343847c62087b74a73af128881ef53f4d666
lib/strategy/base.rb100644005.52 KB5fbbef5819291b4e9be182133757f3a977bc313b107494e0ffabfb0051dbd63f
lib/strategy/blacklist.rb10064400688 Bytes198409b47f070fa7598b2a37fb2675b52e85eea8ba1f2e94603e362694d065ca
lib/strategy/field/anonymize_array.rb10064400585 Bytes334fde6519e383e0565a7f41416fb409f8b9fa8943707490e42bf5a9c656baba
lib/strategy/field/anonymous.rb10064400242 Bytesdc3b7f8aded742c2ddce617955c2dbca0c17082049216efca0b82901f0e8c957
lib/strategy/field/contact/geojson_base.rb10064400516 Bytes157d9b63bb92bfaddf10591684a87b10c8420651b7a066155913d6059481976f
lib/strategy/field/contact/random_address.rb10064400893 Bytes8e35ecafceff673dc30b36a6d9666314c3a00a4879e73841b3fa103d6270e4ca
lib/strategy/field/contact/random_city.rb10064400891 Bytesb8bcf8bd272e69a21ececebc2a9cb6672afa7356244b88bc81c535818bbd09c6
lib/strategy/field/contact/random_phone_number.rb10064400330 Bytesc02ee074ce62d02ad7be19e0d20f8c2a0616886c31907b31caf60416f01bd1fe
lib/strategy/field/contact/random_province.rb10064400927 Bytes92d5ee7967ff270c6ca2cf16aaa811f4b551f92f246e9b69a4c26e0acc4d3f8e
lib/strategy/field/contact/random_zipcode.rb10064400918 Bytesfa743018847d6d6251b9ec4808e8f53fc07439433e2ce85be47de23d246628d6
lib/strategy/field/datetime/anonymize_date.rb100644001.72 KB2fb8d4160024660182ad3ce92650e8a58ffea7720e4f62e07ae3ccc841d6cb62
lib/strategy/field/datetime/anonymize_datetime.rb100644001.37 KBb08657ab4600e1be9c4aeb49bd090a59b67c7a1d1559aa3f5514351ddd24df7c
lib/strategy/field/datetime/anonymize_time.rb100644002.63 KBd9fa3196385e17b191913625846351101e9825797b845d48a66a93ca6fc5559b
lib/strategy/field/datetime/date_delta.rb10064400761 Bytes51bfeb2ab73f7095ce3fd54a11a534f7f7a78aa076183a32dfde303fa46e83c6
lib/strategy/field/datetime/date_time_delta.rb100644001.03 KBa8917580a3ced7d152c4c5369f3aceca7ad2a34490551278671b209432738a04
lib/strategy/field/datetime/time_delta.rb10064400517 Bytesfc72c0248ba5c9b2d79b5f8b45dffcec39f1b10af732eaee0902a431adeb8855
lib/strategy/field/default_anon.rb100644001.72 KB28d4c0c37342700c71f53dfc54b3f9b0991502a7dc3810ac25130bc36e89f2a7
lib/strategy/field/email/gmail_template.rb10064400604 Bytes5f3cc1a47275f9be26188c36cf69c6d9a07fa986eaefe878f4908d4770029907
lib/strategy/field/email/random_email.rb100644001004 Bytes702f290c1400dec6293c7ae375619cf2c560f694a1ab905448255a27e27c1f52
lib/strategy/field/email/random_mailinator_email.rb10064400534 Bytes25d14d2275644f3fd279722918f2f9d8e90d6ce142fdc395192e44c16711c9a8
lib/strategy/field/fields.rb100644001.87 KBbfe1be68a05b9820274975c53afda0cf60b8d99bd926096625865dabf483b720
lib/strategy/field/name/random_first_name.rb10064400982 Bytes22e511d1138be2bb608c8793024d0f3f1f11e3aa3aeee0d7458889bf3728e916
lib/strategy/field/name/random_full_name.rb100644001.1 KB9e2ec08383785b681c0847a9e38f78b1ca3ec0b082a383be759542592246e4ca
lib/strategy/field/name/random_last_name.rb10064400725 Bytesf256c494d99e0027b3b7e07fceeab39b19ae29bec8210f6c1691b14c41a17932
lib/strategy/field/name/random_user_name.rb10064400726 Bytesb419916db2a02b10e47697677c0d10d03d305843911aef5e7a78505a5b66e81b
lib/strategy/field/number/random_big_decimal_delta.rb10064400548 Bytes91462b105dadaa0651679ca224037f0a4ca211663f438c295e9b4a96c4d1137a
lib/strategy/field/number/random_float.rb10064400508 Bytesb8f5a6447547e59cf3058aca48ba19ba98c53a727ff5cb6f63112f5e7689303c
lib/strategy/field/number/random_float_delta.rb10064400503 Bytes2951fb93b763dcd50d81ce7c8e531e8e1276b36a546fba845c465f1766d5870d
lib/strategy/field/number/random_integer.rb10064400500 Bytes82e4c212389f6f624c764270c39b6a691b906928b325b28c6e4f99c67ee2f8a9
lib/strategy/field/number/random_integer_delta.rb10064400528 Bytes7e3b471f6053b771437cda5ff887b582e0993d5b11d341cd5be0522d5571ddc2
lib/strategy/field/random_boolean.rb10064400216 Bytescf1fe07a5606144a43ef5f9f0f82c043c505a79f44a90b50273635d2e507d5a4
lib/strategy/field/string/formatted_string_numbers.rb10064400719 Bytes8a24b0b68b35e4ccd07dfe9d8201e5e99a28d609a315b6e4b5f45d7c09e9c447
lib/strategy/field/string/lorem_ipsum.rb100644003.63 KB526bece58be36989928f7450212e2b8fefeea849fee704ccd15ef178e691a355
lib/strategy/field/string/random_formatted_string.rb100644001.11 KBdc131997a2414bb620f35b08db03c9c3b381b6f25039d80a764ad832163d7213
lib/strategy/field/string/random_string.rb10064400615 Bytes1567bbaaaef65cbedfb514cf57c0587c4991347af97531b4267ffd628e9bb55d
lib/strategy/field/string/random_url.rb10064400993 Bytesa94232761ff1128aedfb1c890a38e54c8907f3c74829787d7b9c83aef324888a
lib/strategy/field/string/select_from_database.rb100644001.2 KBd3419d47cf7b1485bdbd5023dba1c414378f973ba4de19c3a1f7718d74d5ca55
lib/strategy/field/string/select_from_file.rb10064400617 Bytes7de374e7d3144a86433385f2ccd933d45b3ae9ab774d78d4e9b7b2791d7c54f7
lib/strategy/field/string/select_from_list.rb10064400542 Bytes4a7bbb3f20142ae5730f7b97235de56a45de491adc36a0be8cba6ced033cdbaf
lib/strategy/field/string/string_template.rb10064400955 Bytese43b5d2ff8174920e65de94350bd66432cb86cf4683f4488e1e54a1cc281c0fa
lib/strategy/field/whitelist.rb10064400168 Bytesb2c867f76131f2ba9d970440b5c07972595cdfede5ffcb11e665afc52a016165
lib/strategy/mongodb/anonymize_field.rb100644001.33 KBe08f1195b2606da0036dcc0507b3adb64bfeb7e1adb54f0ebd9a793a3779751e
lib/strategy/mongodb/blacklist.rb10064400911 Bytesb9927daa28335073677bc5431bd7da28da9b1bcc6f1184089f94ec439a4795a9
lib/strategy/mongodb/whitelist.rb100644001.72 KB77ea54aebfb825ad5e3ca8dbbb8bed4488b6e2314a735a03c819a18de1728f59
lib/strategy/strategies.rb10064400367 Bytes00444c234511c321a0766095664731d4ee4367440d66f9f855fbe30c69aca277
lib/strategy/whitelist.rb10064400798 Bytes9feff656aad757988da20c4a9b4310dc51013332da10615a5aea955e4fa8fb63
lib/tasks/rake_tasks.rb10064400411 Bytes5f680a03e4dfa6afe8f54f8c8cf538bb220be0d521c197e334ec17a99ce25f40
lib/thor/helpers/mongodb_dsl_generator.rb100644002.05 KBa41cd9db56cb56b62a5c6a2dc86e4b04e5d0812121f193d3260ca7290e0d702c
lib/thor/helpers/rdbms_dsl_generator.rb10064400958 Bytes14158e79388c662df4ceb14f8c804509559779a551da97658a2a2e8639841a89
lib/thor/templates/mongodb_whitelist_template.erb10064400396 Bytesc07839e14fe1b2816b8bb66de28246fcb8da1a571ac45fd994eec2cb38ea5301
lib/thor/templates/whitelist_template.erb10064400742 Bytesc03ca0a4b56de13dd4646cc1a4d8505edb30d5de2328dca3576a24f24143da1a
lib/utils/database.rb100644001.43 KBdc77b440d3d1a24ff996295dade3ddeb0ecce0840c8df94251b3b0c77fa778a3
lib/utils/geojson_parser.rb10064400860 Bytesad571a7f6117287d29553510278f1945d316061f4f1bd0566ad76fb907f94b69
lib/utils/logging.rb10064400336 Bytese89de784ac53bfe4eaa5859ffd3a1d52fb013bba83f7c770a8e20d2345735e64
lib/utils/parallel_progress_bar.rb10064400474 Bytes86d3b9929048c9f5bb3158a05e418f06740d82b0b08c45dbbc8ca399323e49c1
lib/utils/progress_bar.rb100644001.71 KB7a7babb3ebff06dd4244763659a53074d4b3d3e2d0a57542fd129bcebe26c472
lib/utils/random_float.rb10064400204 Bytese645cc9e5108d87e15e9b6c16c3d4ec9805387938d986e30eee3f226b73e1c5e
lib/utils/random_int.rb10064400189 Bytesa94e3c3ab110e2d71af999e05923aacc3a3666d44609980c273d45dbd5eb3b14
lib/utils/random_string.rb10064400394 Bytes2ba48ced56e745398fe7dc9179119f92b833c9fa63d7786dc4ba05ff59873992
lib/utils/random_string_chars_only.rb10064400237 Bytes2ff925337d50902edf77e83fe794c1f9815f1bb561b1d76928e2d9c80d6694e6
lib/utils/resource.rb10064400317 Bytese11f29f3b470e348905715a479db892120a865b95ecd9ffef8d4a83c7d0a2cf9
lib/utils/template_helper.rb100644001.54 KB0aea4ccd41b9d1ebb5b50d426ba2d4dee4a8413d500c7a2fe2de29314fe189d5
lib/version.rb1006440049 Bytes3b0c42e04994691fa43a89753d967a7f6c808531db6d51dc886e686d13ebf520
resources/UK_addresses.geojson10064400185 KBea64529f223159c5c68173718e642dac92b2d570327a75f96cac40a8c2f6f24d
resources/US_addresses.geojson10064400178 KB2ac1018459662ede000d74fa8fa624b698703421494e5896b607392b95352bd8
resources/first_names.txt100644003.4 KB5746be1cca12e5bee920c5298b0847622a12b4a8b37129ef1fabc3fc48f103f5
resources/last_names.txt100644003.66 KB75d3c70c260ea4bfa5b6f5dae3617d6131f4068b66f6eb3bd69ecbfe64eb0116
spec/acceptance/mongodb_blacklist_spec.rb100644003.3 KBb47ffc6982f32e9ef338108d77535f85ddaa14c2d298b27e715f40818d9572ac
spec/acceptance/mongodb_whitelist_spec.rb100644003.78 KB0c2611fca12f7148e18f89f9e770352d066e6fa1533feba8a29149f24202e20e
spec/acceptance/rdbms_blacklist_spec.rb100644002.44 KB5a5beca861fdd799b911c7c2fcc5cca82d736ca3dc22b616fe180d19ef8eb384
spec/acceptance/rdbms_whitelist_spec.rb100644003.71 KB311488b322c0ac5e1ac630ff0545e780366571abd0079735e35841bfc25fc911
spec/acceptance/rdbms_whitelist_with_primary_key_spec.rb100644002.25 KB8942cb6e2e8e74febd2a75c37602438f11ae92061b1fc9038b201fd1701d47a3
spec/core/fields_missing_strategy_spec.rb10064400814 Bytesba961afdc47fad9c1130e35450fbc9dba6dc5417cdb6d061375e807c82e92ade
spec/resource/sample.geojson10064400585 Bytes9049fad46fc08af3635a5953c765d094fee8575f6ec2f3d17452f748e0270088
spec/spec_helper.rb10064400581 Bytesdbc50f6985d5a015b2ec459e950087cc29bd18fcbde1109ef3ebef0631366e0f
spec/strategy/field/contact/random_address_spec.rb10064400433 Bytescb06ce21f368d07a06d094576becd15c1b9f90c65bb8dc43bb9457ac5deab062
spec/strategy/field/contact/random_city_spec.rb10064400445 Bytes8bc1e75ade7649da0743bffe202c626afe2729a44241a00e71d4b614a5c8b586
spec/strategy/field/contact/random_phone_number_spec.rb10064400493 Bytes4b95ee46beeeda3117b195cfb7d20fb3760791b1a3b92a6167fb78970a06df41
spec/strategy/field/contact/random_province_spec.rb10064400485 Bytes95a9199b60c0eea732b2e89a49c2316de604ae705815b487dc865f1c04f42ac2
spec/strategy/field/contact/random_zipcode_spec.rb10064400471 Bytes71425e657395d44e9169246b5900ab845dc7c1f4cf8fbb403fde99f040f3d3a6
spec/strategy/field/datetime/anonymize_date_spec.rb10064400863 Bytes6a818be310e5ca43a9642e2b711679d4102a3efdad37c65e60ee26f3020697e2
spec/strategy/field/datetime/anonymize_datetime_spec.rb100644002 KB7bb6d0429fa888098e863e7b5f5a048d2f38da289dce2273aae6ff722b0d8715
spec/strategy/field/datetime/anonymize_time_spec.rb100644001.96 KBb67ad51ec8a65f8dd70e3c9824a6114047c81f09ecb31892f4875cbc4f8e8ff6
spec/strategy/field/datetime/date_delta_spec.rb10064400957 Bytes93b77b63aeae150b83d96449cc19971e51ec0fc2d0e06a2d8a80c7e9937d235b
spec/strategy/field/datetime/date_time_delta_spec.rb100644001.3 KBd3c6ee9a05b367352cceea02d8ee7a03cdd40632c83fe40e8e0e7e315544c775
spec/strategy/field/datetime/time_delta_spec.rb100644001.27 KBd83bbaaf528de5f64fe3199bbbac7868337458035b56032b9d70edb6f48ed54f
spec/strategy/field/default_anon_spec.rb100644001.55 KB2e0291ff0f078da1527656524df02ac81f8a972f8f9c692f01b2cfa6c4411ee5
spec/strategy/field/email/gmail_template_spec.rb10064400588 Bytes381a36207e008f923010f600fe64efb0c4b5e3a5b9ae17aeacf64607b58ae93d
spec/strategy/field/email/random_email_spec.rb10064400439 Bytes41902a7fe840170a6ec20326f4f6343b3dbb04b8dc55827f6e49de1bae00efab
spec/strategy/field/email/random_mailinator_email_spec.rb10064400488 Bytes772ad449eae4acc0fe9f039b96f9e9a2c291b83ddbd24822a0b694f438ea7029
spec/strategy/field/name/random_first_name_spec.rb10064400400 Bytes5c6f619be499ea62cab1e469dc0d66fa183e69f2a13d667082f2b7c2c083e96d
spec/strategy/field/name/random_full_name_spec.rb10064400927 Bytesd2329c7fa98179c30230850acd2ca785728a568fc57316a35fee8710e3f1f9ed
spec/strategy/field/name/random_last_name_spec.rb10064400394 Bytes13bf99dc9bcb4aaaf51314aa08f1cc66ae5937a8ee704d5703df601ab8a0a95e
spec/strategy/field/name/random_user_name_spec.rb10064400720 Bytes5e5f0f7e414dfddb29c2f172721c2ce5229d6e720563f1b4720363a21a1579e0
spec/strategy/field/number/random_big_decimal_delta_spec.rb10064400685 Bytes12d58c4c9e445697d349f8756ef040fc05787e2d925d074caa5cf7d50c736549
spec/strategy/field/number/random_float_delta_spec.rb10064400588 Bytesfa2396b26500438424166a486ee8ae0a36f4cefa89d6d619c6346438b14a9198
spec/strategy/field/number/random_float_spec.rb10064400594 Bytesb320f6042ae1860a7e1c8f02bc0e3e8928ed16c0a4659588e79d6858720f27fb
spec/strategy/field/number/random_integer_delta_spec.rb10064400619 Bytes3d10f800d8c121d38e2d7bd42f0faa6f5562b66b20863e3900267fcab2c87d7d
spec/strategy/field/number/random_integer_spec.rb10064400592 Bytesfa455798b4f2d288a27b22430f70f30bee455649037b447f86711319f16dd515
spec/strategy/field/random_boolean_spec.rb10064400454 Bytes4f2dcf97b301683019858adc41a2c130353e91d19a235903d369b8df6a6103b8
spec/strategy/field/string/formatted_string_numbers_spec.rb10064400506 Bytes4d23ec6a5a6147abc9d3fbf4186fab6f144b613ba378a6e850a36812a34719c0
spec/strategy/field/string/lorem_ipsum_spec.rb10064400712 Bytesc4f11b87670059a2f8b63bf3642613b601b3fd9602562235b9ebb67ffeb4e047
spec/strategy/field/string/random_formatted_string_spec.rb100644001.54 KBdfbbaffc6be6f0199793e9e77b82a335580375797af549c61367e87adb9ae877
spec/strategy/field/string/random_string_spec.rb10064400786 Bytes181a0eb82c68be1a05628b9cf9ac2fceebf5e056cbc81677c454be1a17a288c5
spec/strategy/field/string/random_url_spec.rb10064400651 Bytesaadcff66d70ac1cb30d2a3dcbc7a2c85e2d9a9d155e1523c1f3332b167b1e4fb
spec/strategy/field/string/select_from_database_spec.rb10064400549 Bytesb0ee2fcc4ecedfcc5702d0a0b5f7b673435230fc64fd16a3cb9f7446eeaa19c3
spec/strategy/field/string/select_from_file_spec.rb10064400747 Bytes5058124f0ab68e1d5694a304153c2417aa1cac1bc823a55fca84a99048ed82de
spec/strategy/field/string/select_from_list_spec.rb10064400858 Bytes2ac40b4569e175635244b1c0ebd731ea7e580120213fc497b62a918ded4c0688
spec/strategy/field/string/string_template_spec.rb10064400426 Bytes327a6ede7c63549b577fcbae96fe352173fb107a4c7874f82c0a2d6f54bdfc57
spec/strategy/field/whitelist_spec.rb10064400632 Bytes5f36f1e8df6ed49f4689dafa13becfd632a70125828478ba8025d454f3c285e4
spec/strategy/mongodb/anonymize_field_spec.rb100644002.85 KB607bd82f7801483b82882b68bfc74da06fee3d814cac68e3260096268b5f9e59
spec/support/customer_sample.rb100644002.41 KB92d52c5ea1f9fffae7e918ed80004344ff622176629b1bb7ca2b4e03a4eefe1d
spec/utils/database_spec.rb10064400791 Bytes723c075e67c818d5a67de9caf00ba5424a1fb085d29f225c5112897a2be6e90d
spec/utils/geojson_parser_spec.rb100644001.18 KBbc5f7606e96cb737688e57a8c54c6a5f6ba257b063d067fa964800ffcbce7f00
spec/utils/random_float_spec.rb10064400298 Bytes6b3550318dcc9328499693c2ba66a207a189e083e6e21fd91a770ed7b0123102
spec/utils/random_int_spec.rb10064400218 Bytes1de94425f489d195b04812d6716f5db445d57dffae04138484bc2eacabb30ab4
spec/utils/random_string_char_only_spec.rb10064400349 Bytesf9a0d7458609e64192444ca766a7e7a1a054f7d6b461d3175c6717586d5057fb
spec/utils/random_string_spec.rb10064400186 Bytese92ce3fb62a4a4333d2c0948f419537c938d167193a7c4708e6145fea8e9e8a5
spec/utils/template_helper_spec.rb10064400678 Bytes955ec65af1c13d0b11aefc9e35c8bd10dc4e95cb2d682f31ae4c21d979126985