يتم إعطاؤك مقتطف رمز يوفر وظيفة لمقارنة الفواصل الزمنية. تأخذ الدالة سلسلة فاصل زمني ووقتًا مرجعيًا كمدخلات وترجع نتيجة المقارنة.

يتم تنسيق سلسلة الفاصل الزمني كقيمة رقمية متبوعة بوحدة زمنية. يمكن أن تكون وحدة الوقت إما "يوم" أو "ساعة". على سبيل المثال، تمثل "3 أيام" فترة زمنية مدتها 3 أيام، وتمثل "5 ساعات" فترة زمنية مدتها 5 ساعات.

الوقت المرجعي هو كائن وقت وتاريخ يمثل نقطة زمنية محددة.

يقوم مقتطف الكود بتوزيع سلسلة الفاصل الزمني ويحسب طابعًا زمنيًا جديدًا عن طريق طرح الفاصل الزمني المحدد من الوقت المرجعي. ثم يتم إرجاع نتيجة المقارنة.

مهمتك هي تنفيذ دالة `compare_time_intervals(time_interval: str, for_time: datetime) -> datetime` التي تأخذ سلسلة فاصل زمني ووقتًا مرجعيًا كمدخلات وترجع الطابع الزمني الناتج بعد طرح الفاصل الزمني من الوقت المرجعي.

توقيع الوظيفة: **def Compare_time_intervals(time_interval: str, for_time: datetime) -> datetime**

**مدخل**
- سلسلة `time_interval` (1 <= len(time_interval) <= 20) تمثل الفاصل الزمني بالتنسيق `<قيمة رقمية> <unit>`، حيث `<قيمة رقمية>` هي عدد صحيح (1 <= قيمة) <= 10) و`<unit>` إما "يوم" أو "ساعة".
- كائن وقت وتاريخ `for_time` يمثل الوقت المرجعي.

**انتاج**
- كائن وقت وتاريخ يمثل الطابع الزمني الناتج بعد طرح الفاصل الزمني من الوقت المرجعي.

**ملحوظة**
- يجب أن يكون الطابع الزمني الناتج دائمًا وقتًا في الماضي بالنسبة إلى الوقت المرجعي.

مثال:
```
time_interval = "يومان"
for_time = datetime(2022, 1, 1, 12, 0, 0)
النتيجة = مقارنة_الوقت_الفاصل (time_interval، for_time)
طباعة (نتيجة) # الإخراج: التاريخ والوقت (2021، 12، 30، 12، 0، 0)
```
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}