public static function execute(&$Logger, &$ParentWorkflow, \model\openrtb\RtbBidRequest &$RtbBidRequest, \model\openrtb\RtbBidRequestImp &$RtbBidRequestImp, &$InsertionOrderLineItem, &$InsertionOrderLineItemRestrictionsFactory)
 {
     /*
      * Check banner restrictions (optional fields)
      */
     $params = array();
     $params["InsertionOrderLineItemID"] = $InsertionOrderLineItem->InsertionOrderLineItemID;
     $InsertionOrderLineItemRestrictions = $InsertionOrderLineItemRestrictionsFactory->get_row_cached($ParentWorkflow->config, $params);
     // no banner restriction info to base rejection on
     if ($InsertionOrderLineItemRestrictions === null) {
         return true;
     }
     // Check if the banner is in an IFRAME
     if (\buyrtbfidelity\workflows\tasklets\display\insertionorderlineitemrestrictions\CheckInIFrame::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemRestrictions) === false) {
         return false;
     }
     // Check banner system fold position
     if (\buyrtbfidelity\workflows\tasklets\display\insertionorderlineitemrestrictions\CheckFoldPosition::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemRestrictions) === false) {
         return false;
     }
     // Check browser language
     if (\buyrtbfidelity\workflows\tasklets\display\insertionorderlineitemrestrictions\CheckHttpLanguage::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemRestrictions) === false) {
         return false;
     }
     // Check browser user-agent for string
     if (\buyrtbfidelity\workflows\tasklets\display\insertionorderlineitemrestrictions\CheckBrowserUserAgent::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemRestrictions) === false) {
         return false;
     }
     // Check banner for https:// secure
     if (\buyrtbfidelity\workflows\tasklets\common\insertionordermediarestrictions\CheckSecureOnly::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemRestrictions) === false) {
         return false;
     }
     // Check user for Coppa opt out status
     if (\buyrtbfidelity\workflows\tasklets\common\insertionordermediarestrictions\CheckCoppaOptOut::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemRestrictions) === false) {
         return false;
     }
     // Check banner for it being in the right vertical
     if (\buyrtbfidelity\workflows\tasklets\common\insertionordermediarestrictions\CheckVertical::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemRestrictions) === false) {
         return false;
     }
     // Check banner geography
     if (\buyrtbfidelity\workflows\tasklets\common\insertionordermediarestrictions\CheckGeo::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemRestrictions) === false) {
         return false;
     }
     // Check bid frequency
     if (\buyrtbfidelity\workflows\tasklets\common\insertionordermediarestrictions\CheckFrequency::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemRestrictions) === false) {
         return false;
     }
     return true;
 }
 public static function execute(&$Logger, &$ParentWorkflow, \model\openrtb\RtbBidRequest &$RtbBidRequest, \model\openrtb\RtbBidRequestImp &$RtbBidRequestImp, &$InsertionOrderLineItem, &$InsertionOrderLineItemVideoRestrictionsFactory)
 {
     /*
      * Check banner restrictions (optional fields)
      */
     $params = array();
     $params["InsertionOrderLineItemID"] = $InsertionOrderLineItem->InsertionOrderLineItemID;
     $InsertionOrderLineItemVideoRestrictions = $InsertionOrderLineItemVideoRestrictionsFactory->get_row_cached($ParentWorkflow->config, $params);
     // no banner restriction info to base rejection on
     if ($InsertionOrderLineItemVideoRestrictions === null) {
         return true;
     }
     // Check video height and width match
     if (\buyrtbfidelity\workflows\tasklets\video\insertionorderlineitemvideorestrictions\CheckVideoDimensions::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemVideoRestrictions) === false) {
         return false;
     }
     // Check video fold position
     if (\buyrtbfidelity\workflows\tasklets\video\insertionorderlineitemvideorestrictions\CheckFoldPosition::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemVideoRestrictions) === false) {
         return false;
     }
     // Check Duration
     if (\buyrtbfidelity\workflows\tasklets\video\insertionorderlineitemvideorestrictions\CheckDuration::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemVideoRestrictions) === false) {
         return false;
     }
     // Check Mime Types
     if (\buyrtbfidelity\workflows\tasklets\video\insertionorderlineitemvideorestrictions\CheckMimeTypes::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemVideoRestrictions) === false) {
         return false;
     }
     // Check Delivery Type
     if (\buyrtbfidelity\workflows\tasklets\video\insertionorderlineitemvideorestrictions\CheckDelivery::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemVideoRestrictions) === false) {
         return false;
     }
     // Check Playback Methods
     if (\buyrtbfidelity\workflows\tasklets\video\insertionorderlineitemvideorestrictions\CheckPlayback::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemVideoRestrictions) === false) {
         return false;
     }
     // Check Protocols
     if (\buyrtbfidelity\workflows\tasklets\video\insertionorderlineitemvideorestrictions\CheckProtocols::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemVideoRestrictions) === false) {
         return false;
     }
     // Check Start Delay
     if (\buyrtbfidelity\workflows\tasklets\video\insertionorderlineitemvideorestrictions\CheckStartDelay::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemVideoRestrictions) === false) {
         return false;
     }
     // Check Supported APIs
     if (\buyrtbfidelity\workflows\tasklets\video\insertionorderlineitemvideorestrictions\CheckSupportedApis::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemVideoRestrictions) === false) {
         return false;
     }
     // Check banner for https:// secure
     if (\buyrtbfidelity\workflows\tasklets\common\insertionordermediarestrictions\CheckSecureOnly::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemVideoRestrictions) === false) {
         return false;
     }
     // Check user for Coppa opt out status
     if (\buyrtbfidelity\workflows\tasklets\common\insertionordermediarestrictions\CheckCoppaOptOut::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemVideoRestrictions) === false) {
         return false;
     }
     // Check banner for it being in the right vertical
     if (\buyrtbfidelity\workflows\tasklets\common\insertionordermediarestrictions\CheckVertical::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemVideoRestrictions) === false) {
         return false;
     }
     // Check banner geography
     if (\buyrtbfidelity\workflows\tasklets\common\insertionordermediarestrictions\CheckGeo::execute($Logger, $ParentWorkflow, $RtbBidRequest, $RtbBidRequestImp, $InsertionOrderLineItem, $InsertionOrderLineItemVideoRestrictions) === false) {
         return false;
     }
     return true;
 }